Načíta hodnoty z neuloženého vypočítaného vektora v danom intervale.

Funkcia kombinuje všetky EDA_CalcFunction* procedúry zabalením parametrov do jednoriadkovej štruktúry.

Deklarácia

%EDA_CalcFunctionRec(
   INT  in _VectorType,
   TEXT in _func,
   TIME in _bt,
   TIME in _et,
   INT  in _TimeStep,
   REC  in _params,
   REC  out _values,
   INT  in _column,
   INT  out _errorCode
 );

Parametre

  Parameter Dátový typ Typ Popis
1 vectorType INT IN Typ vektora. (900=1, 3600=2, 86400=3, POPIS=4, INTERVAL=5, V_900=6, V_3600=7, V_86400=8, ZMENA=9, V_ZMENA=10)
2 func TEXT IN Predpis funkcie v EDA-L.
3 bt TIME IN Začiatok obdobia pre načítanie hodnôt.
4 et TIME IN Koniec obdobia pre načítanie hodnôt.
5 TimeStep INT IN Časový krok pre načítanie hodnôt - STEP_EX.
6 params REC IN Štruktúra voliteľných parametrov.
7 values REC OUT Hodnoty - štruktúra REALov.
8 column INT IN Poradové číslo stĺpca, do ktorého sa zapíšu výsledky.
9 errorCode INT OUT Návratová hodnota.

Obsah štruktúry voliteľných parametrov verzie 1:

  Parameter Dátový typ Prednastavená hodnota Popis 
1 structVersion INT Verzia štruktúry - 1.
2 cacheId INT 0 (default read cache) Identifikátor cache.
3 valueType INT 3 Typ hodnoty.
4 isIntegral BOOL FALSE Príznak, či ide o integrálne hodnoty.
5 timeZone INT -1 (časová zóna EDA databázy) Časová zóna vektora.
6 dayOffset INT 0 Day offset.
7 fakeTimeZone INT -1 (časové pásmo procesu) Emulácia časovej zóny pre vstupné/výstupné časové hodnoty.
8 roundType INT 1 (absolútna presnosť) Typ zaokrúhľovania (absolútna presnosť = 1, Zaokr. matematické = 2, Celá časť - hore = 3, Celá časť - dole = 4).
9 decimalPlaces INT 0 Počet desatinných miest pre zaokrúhľovanie.
10 version INT/TEXT invalid (nenastavené) Identifikátor (id/kód) verzie, do ktorej sa má vykonať zápis.
11 userName TEXT(32)   Meno užívateľa pre kontrolu práv.
12 checkFlags INT 0 Bitová maska príznakov hodnôt, ktoré sú sledované. V prípade, že je na výstupe vektora zistený nastavený príznak, je generované upozornenie. Zoznam vygenerovaných upozornení je možné získať funkciou EDA_GetWarningTraceRoot.
13 envName TEXT "" Názov EDA prostredia, ktoré sa použije pre výpočet.
14 paramBlockId INT   Identifikátor bloku parametrov (odkaz na EDA_CreateParameterBlock).

V systéme by sa mala nachádzať už predpripravená štruktúra SD.EDA_CalcFunction_V1.


Príklad použitia

 BEGIN
  INT _errorCode
  TEXT _funcBody
  RECORD NOALIAS  (SD.EDA_Arr_Obj) _data
  RECORD NOALIAS  (SD.EDA_CalcFunction_Params_V1) _calcParams
 
  _funcBody := "VEKTOR _v; INT _i;" + %Chr(10)
  _funcBody := _funcBody + "%CreateVektor(_v, " + %IToStr(_count) + ");" + %Chr(10)
  _funcBody := _funcBody + "FOR _i = 1 TO %ValuesNr(_v) LOOP" + %Chr(10)
  _funcBody := _funcBody + " _v[_i] := _i;" + %Chr(10)
  _funcBody := _funcBody + " %SetItemTime(_v, _i, _BT + 60 * (_i - 1));" + %Chr(10)
  _funcBody := _funcBody + "END LOOP;" + %Chr(10)
  _funcBody := _funcBody + "RETURN _v;"
  _calcParams[1]^structVersion := 1
  CALL %EDA_CalcFunctionRec(10, _funcBody, _bt, _et, 0, _calcParams, _data, 1, _errorCode)
  IF _errorCode != 0 THEN
    RETURN
  ENDIF
 END 
Napíšte komentár