EDA_SetProcessParam

EDA_SetProcessParam

EDA_SetProcessParams

Funkcia slúži na nastavenie alebo zrušenie hodnôt pomenovaných parametrov databázového "kontextu" procesu EDA klient. Funkcia pracuje analogicky k ESL akcii DB_SET_PROCESS_PARAMS.

Deklarácia

%EDA_SetProcessParams(
  REC in _params,
  INT out _errorCode
 );

Parametre

 

Parameter

Dátový typ

Typ

Popis

1

params

REC

IN

Dvojstĺpcová štruktúrovaná premenná:
paramName : TEXT (maximálne 64 znakov)
paramValue : TEXT (maximálne 64 znakov)

2

errorCode

INT

OUT

Návratový kód.

Hodnota paramName definuje názov parametra. Hodnota paramValue definuje hodnotu parametra. Prípustné kombinácie hodnôt a ich interpretáciu znázorňuje nasledovná tabuľka.

Vplyv na výsledok

paramName

paramValue

Vloží alebo aktualizuje hodnotu parametra

zadané

zadané

Zruší parameter

zadané

(neplatná hodnota)

Ignoruje (nie je súčasťou požiadavky na zmenu)

(neplatná hodnota)

zadané

Ignoruje (nie je súčasťou požiadavky na zmenu)

(neplatná hodnota)

(neplatná hodnota)

Upozornenie: Ak nastane situácia, že názvy parametrov sa pri jednom volaní akcie opakujú, tak dochádza k nedefinovanému správaniu!

Kontext je jednoznačne priradený procesu EDA klient (monolitická edadll.dll alebo edaclient.dll) a predstavuje skupinu jednoznačne pomenovaných parametrov, pričom každý parameter má svoju hodnotu.
Obsah kontextu je automaticky vkladaný do databázovej tabuľky D2000_PROCESS_PARAMS (stĺpce PARAM_NAME a PARAM_VALUE) a je viditeľný len pre proces, ktorému kontext patrí. V prípade, že tabuľka neexistuje, je automaticky vytvorená.

Príklad

; príklad overí výsledok funkcie EDA_SetProcessParams prečítaním tabuľky D2000_PROCESS_PARAMS RECORD NOALIAS (SD.ProcessParams) _params RECORD NOALIAS (SD.Arr_Real) _values TEXT _functionBody ; predpis EDA funkcie INT _retCode ; návratová hodnota _params[1]^PARAM_NAME := "test_param" _params[1]^PARAM_VALUE := "text_value" CALL %EDA_SetProcessParams(_params, _retCode) _functionBody := "VEKTOR _v;" _functionBody := _functionBody + "_v := %LoadData(""SELECT CURRENT_DATE, Count(*) FROM D2000_PROCESS_PARAMS"");" _functionBody := _functionBody + "RETURN _v;" CALL %EDA_CalcFunction(10, 0, _functionBody, SysTime, SysTime, 0, _values, 1, 3, 1, 0, _retCode) IF _retCode = _ERR_NO_ERROR THEN ; štruktúra _values je naplnená, obsahuje jeden riadok ELSE ; chyba ENDIF