Identifikátor typu Int -
návratový kód - úspešnosť zápisu (nepovinný parameter).
bRecalcStat_Bool
in
Identifikátor typu Bool -
povolenie / zakázanie prepočtu súvisiacich štatistických archívnych objektov (nepovinný parameter).
Popis
Akcia zapíše pole hodnôt do archívu pre archívny objekt daný parametrom archIdent. Pole hodnôt predstavuje
stĺpec na ktorý sa odkazuje parameter locVarColValueIdent_Rec. Čas, pre ktorý sú jednotlivé hodnoty do archívu zapísané,
je daný časom vzniku hodnôt. Ak nie je uvedený identifikátor retIdent_Int, akcia nečaká na potvrdenie zápisu. Ak je identifikátor
uvedený, nadobúda niektorú z nasledujúcich hodnôt:
_ERR_TRANS_ABORT
_ERR_TRANS_ERROR
_ERR_TRANS_IGNORED
_ERR_NO_ERROR
Poznámka
Ak nie je uvedený identifikátor retIdent_Int, skript nemá žiadnu spätnú väzbu pre zistenie úspešnosti zápisu.
Čas trvania akcie je krátky, lebo ide len o požiadavku, ktorá je odoslaná do systému.
Ak je identifikátor retIdent_Int uvedený, skript čaká na fyzický zápis hodnôt do archívnej databázy aj na ukončenie prepočtu
súvisiacich štatistických archívnych objektov.
Dôsledok:
Ak použijem akciu zápisu do archívu bez čakania a následne budem túto hodnotu čítať, prečítaná hodnota takmer určite nebude tá,
ktorú som v predchádzajúcej akcii zapisoval.
Prepočet súvisiacich štatistických objektov je možné zakázať, ak uvedieme
nepovinný parameter bRecalcStat_Bool s hodnotou @FALSE.
Príklad
Zápis hodnoty do archívu:
RECORD (SD.ArchDemo) _data
INT _value
INT _idx
TIME _bt
INT _retCode
_bt := %StrToTime("8:01:00 16-10-2003")
REDIM _data[60]
; naplním nejaké dáta
_idx := 1
_value := 100
DO_LOOP
EXIT_LOOP _idx > _data\DIM
_data[_idx]^value := _value TIME _bt
_idx := _idx + 1
_value := _value + 1
_bt := %AddTime(_bt, 1)
END_LOOP
; zápis
INSERTARCHARR H.ArchObj, _data^value, _retCode
; test úspešnosti akcie
IF _retCode # _ERR_NO_ERROR THEN
; chyba pri zápise
ENDIF