UPDATEARCHVAL

UPDATEARCHVAL

Akcia UPDATEARCHVAL


Funkcia

Zmena alebo zápis hodnoty do archívu.

Deklarácia

UPDATEARCHVAL valueIdent, archIdent [,[retIdent_Int], bRecalcStat_Bool]

Parametre

valueIdent

in

Identifikátor hodnoty zapisovanej do archívu.

archIdent

in

Odkaz na jednu (archívnu) hodnotu - (nie je kontrolované, či sa pracuje s archívnym objektom - stačí odkaz na objekt).

retIdent_Int

out

Identifikátor typu Int - návratový kód - úspešnosť zápisu (nepovinný parameter).

bRecalcStat_Bool

in

Identifikátor typu Bool - prepočet súvisiacich štatistických archívnych objektov (nepovinný parameter). Možné hodnoty:

  • @TRUE - povolenie prepočtu (prednastavená hodnota)

  • @FALSE - zakázanie prepočtu

Popis

Akcia zmení (alebo zapíše novú) hodnotu do archívu pre archívny objekt archIdent. Hodnota je daná parametrom valueIdent. Čas, pre ktorý bude hodnota do archívu zapísaná, je daný časom vzniku hodnoty valueIdent. Ak nie je uvedený identifikátor retIdent_Int, akcia nečaká na potvrdenie zápisu. Ak identifikátor je uvedený, nadobúda niektorú z nasledujúcich hodnôt:

  • _ERR_TRANS_ABORT

  • _ERR_TRANS_ERROR

  • _ERR_TRANS_IGNORED

  • _ERR_NO_ERROR

Poznámka

Ak identifikátor retIdent_Int nie je uvedený, 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 hodnoty do archívnej databázy.

Dôsledok:
Ak je použitá akciu zápisu do archívu bez čakania a následne sa bude táto hodnota čítať, prečítaná hodnota takmer určite nebude tá, ktorú bola v predchádzajúcej akcii zapisovaná.

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:

 

REAL _archVal TIME _archTime INT _retCode ; čas archivácie _archTime := %StrToTime("12:0:0 1-12-2000") ; príprava hodnoty spolu s časom _archVal := 1 TIME _archTime ; zápis do archívu UPDATEARCHVAL _archVal, H.Int, _retCode ; test úspešnosti akcie IF _retCode # _ERR_NO_ERROR THEN ; chyba pri zápise ENDIF

Súvisiace stránky:

Akcie v skriptoch