Akcia READLOG


Funkcia
Zabezpečí načítanie záznamov z monitorovacej databázy na základe zadaných vstupných parametrov.
Deklarácia
 READLOG name, descript, person, oldValue, newValue, comment, priorities, types, bt, et, forObject, logdata, maxrows, retCode [, refToLG1, ...]
Parametre
nameinIdentifikátor typu String -reprezentuje podmienku pre načítanie záznamov. Načíta len záznamy, ktorých atribút "Meno" vyhovuje maske zadanej v parametri name.
Ak je vstupná hodnota neplatná, táto podmienka sa ignoruje.
descriptinIdentifikátor typu String - reprezentuje podmienku pre načítanie záznamov. Načíta len záznamy, ktorých atribút "Popis" vyhovuje maske zadanej v parametri descript.
Ak je vstupná hodnota neplatná, táto podmienka sa ignoruje.
personinIdentifikátor typu String - reprezentuje podmienku pre načítanie záznamov. Načíta len záznamy, ktorých atribút "Užívateľ" vyhovuje maske zadanej v parametri person.
Ak je vstupná hodnota neplatná, táto podmienka sa ignoruje.
oldValueinIdentifikátor typu String - reprezentuje podmienku pre načítanie záznamov. Načíta len záznamy, ktorých atribút "Stará hodnota" vyhovuje maske zadanej v parametri oldValue.
Ak je vstupná hodnota neplatná, táto podmienka sa ignoruje. 
newValueinIdentifikátor typu String - reprezentuje podmienku pre načítanie záznamov. Načíta len záznamy, ktorých atribút "Nová hodnota" vyhovuje maske zadanej v parametri newValue.
Ak je vstupná hodnota neplatná, táto podmienka sa ignoruje.
commentinIdentifikátor typu String - reprezentuje podmienku pre načítanie záznamov. Načíta len záznamy, ktorých atribút "Príčina udalosti" vyhovuje maske zadanej v parametri comment.
Ak je vstupná hodnota neplatná, táto podmienka sa ignoruje.
prioritiesinIdentifikátor typu Int - reprezentuje podmienku pre načítanie záznamov. Načíta len záznamy, ktorých atribút "Priorita" vyhovuje aspoň jednému typu priority zakódovanej do parametra priorites prostredníctvom súčtu hodnôt preddefinovaných premenných _LOG_PRTY_*.
Ak je vstupná hodnota neplatná, táto podmienka sa ignoruje, inak musí byť hodnota rôzna od 0.
typesinIdentifikátor typu Int - reprezentuje podmienku pre načítanie záznamov. Načíta len záznamy, ktorých atribút "Typ udalosti" vyhovuje aspoň jednému typu udalosti zakódovanému do parametra types prostredníctvom súčtu hodnôt preddefinovaných premenných _LOGF_*.
Ak je vstupná hodnota neplatná, táto podmienka sa ignoruje, inak musí byť hodnota rôzna od 0.
bt, etinIdentifikátory typu AbsTime - definujú časový interval pre výber záznamov (ak bt > et, akcia generuje chybu _ERR_RANGE_ERROR).
forObjectinOdkaz na objekt - ak je aktuálna hodnota parametra neasociovaný alias, parameter sa neberie do úvahy. Ak parameter obsahuje odkaz na reálny objekt v systéme, budú prečítané záznamy týkajúce sa len zadaného objektu, parametre name, descript, person, oldValue, newValue, comment, priorites, types a [, retToLG1, ...] budú ignorované (chovanie je obdobné ako pri nastavovaní parametrov monitorovania).  
logdataoutIdentifikátor celej lokálnej štruktúry - štruktúra však musí obsahovať práve 9 stĺpcov.

Typy a význam jednotlivých stĺpcov:

NAME Text
LOG_TIMEAboslútny čas
TYPCeločíselný
PERSONText
DESCRIPTText
OLD_VALUEText
NEW_VALUEText
COMMENTText
PRIORITYCeločíselný
maxrowsinIdentifikátor typu Int - maximálny počet riadkov, ktoré budú zapísané do logdata.
retCodeoutIdentifikátor typu Int - výsledok akcie (viď. preddefinované lokálne premenné)
_ERR_TRANS_IGNORED - v prípade tejto chyby je podrobnejší textový popis v preddefinovanej lokálnej premennej
_ERR_MSG _ERR_NO_ERROR - akcia skončila bez chyby
_ERR_MORE_DATA - akcia skončila s upozornením (nie je to chyba), že v monitorovacej databáze je viac záznamov ako bolo nastavené parametrom maxrows (alebo počet riadkov na zápis do logdata prekročil systémové obmedzenie).
[, refToLG1, ...]inOdkazy na objekty typu logická skupina, alebo neasociovaný alias (akcia SET AS) - variabilný počet parametrov (maximálne však 15 logických skupín) zužujúcich výber logov na zápis do logdata na základe priradenia do logických skupín (cez OR), ak ide o nepriradený alias, akcia ho ignoruje a nevyhlási chybu.
Príklad
 RECORD NOALIAS (SD.LogData) _data
 INT _retCode
 
 TEXT _name
 TEXT _descript
 TEXT _person
 TEXT _oldValue
 TEXT _newValue
 TEXT _comment
 INT _priorities
 INT _types
 
 TEXT _errMsg
 
 TIME _bt
 TIME _et
 ALIAS _forObject
 INT _maxRows
 
 
_name :="System*" 
 _descript := 1 ;nastaví na INVALID => nefiltruje sa
 _person := 1 ;nastaví na INVALID => nefiltruje sa
 _oldValue := 1  ;nastaví na INVALID => nefiltruje sa
 _newValue :=""
 _comment := 1 ;nastaví na INVALID => nefiltruje sa
 _priorities := _LOG_PRTY_INFO + _LOG_PRTY_WARNING + _LOG_PRTY_ALARM
 _types :="" ;nastaví na INVALID => nefiltruje sa
 _et := SysTime
 _bt := %SubTime(_et, 3600)
 _maxRows := 10000
 
 READLOG _name, _descript, _person, _oldValue, _newValue, _comment, _priorities, _types, _bt, _et, _forObject, _data, _maxRows, _retCode
 
_errMsg := _ERR_MSG  ;text chyby, ak _retCode = _ERR_TRANS_IGNORED

Súvisiace stránky:

Napíšte komentár