Akcia DELETEARCHDATA


FunkciaZmazanie archívnych hodnôt z časového intervalu.
Deklarácia
DELETEARCHDATA archIdent, timeFromIdent_TmA, timeToIdent_TmA [, statusIdent_Int]

alebo

DELETEARCHDATA archIdent, timeFromIdent_TmA, timeToIdent_TmA, [statusIdent_Int], bRecalcStat
Parametre
archIdentinOdkaz na jednu (archívnu) hodnotu, stĺpec, alebo riadok štruktúrovanej archívnej premennej (viď Poznámka).
timeFromIdent_TmAinIdentifikátor typu AbsTime - začiatok intervalu.
timeToIdent_TmAinIdentifikátor typu AbsTime - koniec intervalu.
statusIdent_IntoutNepovinný parameter - úspešnosť zmazania.
bRecalcStatinIdentifikátor typu Boolean.
Prepočet závislých štatistických archívov. Ak parameter nie je uvedený, závislé štatistické archívy sa neprepočítajú.
PopisAkcia zmaže archívne hodnoty pre archívny objekt archIdent z časového intervalu od timeFromIdent_TmA do timeToIdent_TmA. Pre hodnoty parametrov musí platiť: timeFromIdent_TmA <= timeToIdent_TmA (chyba ERR_RANGE_ERROR). Nepovinný parameter statusIdent_Int predstavuje návratový kód a môže nadobúdať jednu z nasledujúcich hodnôt:
  • _ERR_TRANS_ABORT
  • _ERR_TRANS_ERROR
  • _ERR_TRANS_IGNORED
  • _ERR_NO_ERROR
Ak nie je uvedený, akcia generuje požiadavku na zmazanie a vykonávanie skriptu. Nie je možné testovať úspešnosť akcie.

Zmazané hodnoty nie sú označené ako zmazané (na rozdiel od zmazania v procese D2000 HI - príznak DELETED), ale sú fyzicky zmazané z archívnej databázy.
Poznámka 1
Parameter archIdent
- nekontroluje sa, či sa pracuje s archívnym objektom - stačí odkaz na objekt
- môže odkazovať aj na časť (riadok alebo stĺpec) alebo na celý štruktúrovaný archívny objekt

Príklad:
  • H.ColArchiv - odkaz na celý štruktúrovaný archívny objekt
  • H.ColArchiv[2] - odkaz na všetky hodnoty štruktúrovaného archívneho objektu v riadku 2
  • H.ColArchiv^ColName - odkaz na všetky hodnoty štruktúrovaného archívneho objektu v stĺpci ColName
Poznámka 2Pokiaľ je zadaný parameter statusIdent_Int, akcia DELETEARCHDATA je ukončená vtedy, keď sú zmazané všetky požadované hodnoty. Aj keď je parameter bRecalcStat uvedený a má hodnotu @TRUE, akcia nečaká na skončenie prepočtu závislých štatistických archívov.
Príklad 1
 TIME _timeFrom
  TIME _timeTo
  INT _status

 _timeTo := %StrToTime("10:00:00 31-12-1999")
 _timeFrom := %StrToTime("09:00:00 31-12-1999")
 DELETEARCHDATA H.ArchObj, _timeFrom, _timeTo, _status

 IF _status = _ERR_NO_ERROR THEN
   ; dáta sú zmazané
 ELSE
   ; nastala nejaká chyba
 ENDIF 
Príklad 2
 TIME _timeFrom
  TIME _timeTo
  INT _status

 _timeTo := %StrToTime("10:00:00 31-12-1999")
 _timeFrom := %StrToTime("09:00:00 31-12-1999")
 
  ; Mazanie + prepočet závislých štatistických archívov - synchrónne

 DELETEARCHDATA H.ArchObj, _timeFrom, _timeTo, _status, @TRUE

 IF _status = _ERR_NO_ERROR THEN
   ; dáta sú zmazané
 ELSE
   ; nastala nejaká chyba
 ENDIF
 
 ; Mazanie + prepočet závislých štatistických archívov - asynchrónne
 
 DELETEARCHDATA H.ArchObj, _timeFrom, _timeTo,  @TRUE

Súvisiace stránky:

Napíšte komentár