...
Blok kódu |
---|
language | esl |
---|
theme | Confluence |
---|
|
%EDA_SetFunctionRec(
INT/TEXT in _vector,
INT in _funcType,
TEXT in _funcBody,
REC in _params,
INT out _errorCode
); |
Parametre
| Parameter | Dátový typ | Typ | Popis |
---|
1 | vector | INT/TEXT | IN | ID / kód vektora. |
2 | funcType | INT | IN | Typ výpočtu (podporený len 1 - na požiadanie). |
3 | funcBody | TEXT | IN | Predpis funkcie v EDA-L. |
4 | params | REC | IN | Štruktúra voliteľných parametrov. |
5 | errorCode | INT | OUT | Návratová hodnota. |
Obsah štruktúry voliteľných parametrov verzie 1:
| Parameter | Dátový typ | Default | Popis |
---|
1 | structVersion | INT |
|
| Verzia štruktúry - 1. |
2 | period | INT |
| |
| Nepodporené |
4 | desc | TEXT | bez popisu | Popis k funkcii. |
5 | pod | TIME |
|
| Nepodporené |
7 | userName | TEXT | "" (nezapisuje logovaciu informáciu) | Login užívateľa, ktorý vykonal zmenu (voliteľný). |
8 | deletePrecalculated | BOOL | TRUE | Príznak, či sa majú predpočítané dáta zmazať alebo ponechať. |
9 | | INT/TEXT | "" (nenastavené) | Identifikátor (id/kód) verzie, do ktorej sa má vykonať zápis. |
10 | Kotva |
---|
| forceversiontime |
---|
| forceversiontime |
---|
| forceVersionTime | BOOL | @FALSE (časová pečiatka sa generuje - aktuálny čas) | Pre zapisované dáta vynúti použitie časovej pečiatky z parametra version. |
11 | precalcRq | BOOL | @FALSE | Príznak vynucujúci predpočítanosť vektora pri jeho načítaní. |
12 | cacheId | INT | 0 (default read cache) | Identifikátor cache. |
13 | checkFunction | BOOL | @FALSE | Príznak, či sa pred uložením funkcie, má vykonať aj jej syntaktická kontrola. Systém v tomto prípade neumožní uložiť predpis s chybami. |
14 | batchId | INT |
|
| Identifikátor dávky, do ktorej sa má príkaz vložiť. |
15 | userLog | TEXT |
|
Príklad použitia
Blok kódu |
---|
| BEGIN
INT _vectorId = 1000000
TEXT _vectorName = "vector.test"
INT _errorCode
TEXT _funcBody
TEXT _CRLF = %Chr(13) + %Chr(10)
RECORD NOALIAS (SD.EDA_CreateVector_Params_V1) _createParams
RECORD NOALIAS (SD.EDA_SetFunction_Params_V1) _funcParams
; vytvori vypocitany vektor
_createParams[1]^structVersion := 1
_createParams[1]^periodBeginTime := %TimeFromItems(2015, 1, 1, 0, 0, 0, 0)
_createParams[1]^periodStepBase := 1
_createParams[1]^periodStepCount := 3600
CALL %EDA_CreateVectorRec(_vectorName, _vectorId, _vectorName, 13, _createParams, _errorCode)
IF _errorCode != 0 THEN
RETURN
ENDIF
; nastavi vektoru predpis
_funcBody := "VEKTOR _v;" + |
|
%Chr(10) _CRLF
_funcBody := _funcBody + "INT _i;" + |
|
%Chr(10)_CRLF
_funcBody := _funcBody + "%CreateVektor(_v, _BT, _ET, _STEP);" + |
|
%Chr(10)_CRLF
_funcBody := _funcBody + "FOR _i = 1 TO %ValuesNr(_v) LOOP" + |
|
%Chr(10)_CRLF
_funcBody := _funcBody + " _v[_i] := _i;" + |
|
%Chr(10)_CRLF
_funcBody := _funcBody + "END LOOP;" + |
|
%Chr(10)_CRLF
_funcBody := _funcBody + "RETURN _v;"
_funcParams[1]^structVersion := 1
CALL %EDA_SetFunctionRec(_vectorId, 1, _funcBody, _funcParams, _errorCode)
IF _errorCode != 0 THEN
RETURN
ENDIF
END |
|
...