...
Skript je tvorený postupnosťou akcií, ktoré sa po aktivácii vykonajú. Akcie sa zapisujú v prostredí editora akcií.
Časti zápisu uvedené v hranatých zátvorkách [ ] sú nepovinné. Znak | (t.j. ALEBO) vyjadruje možnosť alternatívneho zápisu.
...
- priraďovacie akcie
- akcie pre prístup k databáze
- akcie pre obsluhu chybových stavov
- riadiace akcie
- akcie pre komunikáciu s operátorom
- akcie pre prácu s archívom
- akcie pre synchronizovanie vykonávania akcií skriptov
- riadenie alarmov
- akcie pre prácu so štruktúrami
- akcie pre prácu s dátovými kontajnermi
- akcie pre riadenie prístupových práv
- akcie pre prácu so zoznamami objektov
- ostatné akcie
Poznámka: V systéme D2000 je možné implementovať aplikačnú funkcionalitu použitím jazyka JAVA. Ekvivalenty k ESL akciám sú uvedené v samostatnej on-line dokumentácii, ktorá sa nachádza v podadresári Help programového adresára systému D2000.
...
Posledný spôsob umožňuje využiť celú škálu SQL príkazov pri práci s databázou.
...
Čítanie databázy prostredníctvom príkazu SELECT.
...
Hodnota premennej (vo väčšine prípadov) políčka lokálnej štruktúrovanej premennej je pri zápise do databázy konvertovaná tak, že ak je platná, je zapísaná normálnym spôsobom. Ak je neplatná je do databázy vložená NULL hodnota. Pri type TEXT toto pravidlo funguje rovnako, okrem databázy ORACLE, kde je prázdny text reprezentovaný databázovou hodnotou NULL rovnako ako neplatná hodnota.
...
Po prečítaní hodnoty z databázy (ktorá je rôzna od NULL) prebehne konverzia hodnoty na požadovaný typ, ktorý je daný typom premennej, do ktorej je umiestnený výsledok čítania. V prípade úspešnej konverzie je výsledná hodnota platná. Pri čítaní NULL hodnoty je výsledná hodnota neplatná. Pri type TEXT je NULL hodnota v databáze konvertovaná na platný prázdny textový reťazec. Jediná výnimka je čítanie prostredníctvom akcie DB_READ/DBS_READ na platforme ORACLE OCI, kedy je NULL hodnota konvertovaná na neplatnú hodnotu.
Tabuľka znázorňuje výsledok zápisu a čítania textovej hodnoty v závislosti na databázovej platformy.
DBS_INSERT - zápis textovej hodnoty do databázy (D2Value -> DBValue).
PG_READ, BrowserRead - čítanie textovej hodnoty z databázy akciou PG_READ alebo do zobrazovača Browser (dáta zverejnené cez OnFetchDone) (DBValue -> D2Value).
DB_READ - čítanie textovej hodnoty prostredníctvom akcie DB_READ (DBValue -> D2Value).
Databáza | DBS_INSERT | PG_READ, BrowserRead | DB_READ |
---|---|---|---|
Sybase 12/PostgreSQL | "Text" -> "Text | "Text" -> "Text | "Text" -> "Text |
dbmanager.exe | "" -> "" | "" -> "" | "" -> "" |
Invalid->NULL | NULL->"" | NULL->"" | |
ORACLE OCI | "Text" -> "Text | "Text" ->"Text | "Text" -> "Text |
dbmanager_ora.exe | "" -> NULL | ||
Invalid->NULL | NULL->"" | NULL->Invalid | |
ORACLE ODBC | "Text" -> "Text | "Text" -> "Text | "Text" -> "Text |
dbmanager.exe | "" -> NULL | ||
Invalid->NULL | NULL->"" | NULL->"" |
...
- BEGIN
- CALL - lokálne volanie procedúr
- CALL - vzdialené volanie procedúr
- CALL - volanie Public procedúr
- DELAY
- DO_LOOP, EXIT_LOOP, END_LOOP
- ENABLE
- END
- END procedure
- EVENT
- GOSUB
- GOTO
- IF GOTO
- IF THEN [ELSE] ENDIF
- IMPLEMENTATION
- ON DB_CHANGE
- ON GOTO
- ON CHANGE
- OnExternalEvent
- PRAGMA
- PROCEDURE
- RETURN
- Riadiace funkcie (bez návratovej hodnoty)
- WAIT
...
Nasledovné akcie umožňujú implementovať v skripte dialóg s operátorom, alebo ovládať schémy na pracovnej konzole operátora. Tu je vhodné použiť preddefinovanú lokálnu premennú _FROM_HIP. Ak je skript spustený zo schémy (pripojený grafický objekt na ovládanie), je automaticky táto lokálna premenná asociovaná s procesom, z ktorého bol skript odštartovaný. Toto umožňuje adresne pracovať s týmto procesom:
...
Kotva | ||||
---|---|---|---|---|
|
...
- CALCARCHEXPR CALCARCHEXPR
- CALCARCHEXPRCALCONDEMANDSTATCONDEMANDSTAT
- CALCSTATFUNC
- CALCSTATFUNCARR
- DELETEARCHDATA
- GETARCHARR
- GETARCHARR_TO_CNT
- GETARCHCOL
- GETARCHROW
- GETARCHSTRUCT
- GETARCHVAL
- INSERTARCHARR
- UPDATEARCHVAL
...
Akcie umožňujú prácu so skladom hodnôt, tzv. dátovým kontajnerom (interná dátová štruktúra).
- CNT_CNVTOARRAY
- CNT_CREATE
- CNT_DEBUG
- CNT_DELETE
- CNT_DESTROY
- CNT_FIND
- CNT_GETITEM
- CNT_GETKEY
- CNT_GETNR
- CNT_INSERT
Akcie CNT_GETNR, CNT_CNVTOARRAY a CNT_GETITEM umožňujú prezeranie hodnôt z kontajnera pomocou indexu. Akcia CNT_CNVTOARRAY interne vytvorí pole, v ktorom sú všetky hodnoty usporiadané podľa kľúča vzostupne. Index je poradové číslo hodnoty v rámci poľa.
Pole zaniká zmazaním alebo vložením hodnoty do kontajnera.
Vznik kontajnera zabezpečujú akcie CNT_CREATE - voľne použiteľný kontajner, alebo GETARCHARR_TO_CNT. Druhý typ kontajnera je plnený stránkami, ktoré obsahujú dáta prečítané z archívu.
Takto koncipovaný prístup do archívu je efektívnejší (spotreba pamäte a čiastočne rýchlosť) ako použitie akcie GETARCHARR. Pre kontajner vytvorený akciou GETARCHARR_TO_CNT sú použiteľné len akcie CNT_GETNR, CNT_FIND a CNT_DESTROY (príklad).
...