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.
Zoznam jednotlivých typov akcií. Nasledujúci zoznam popisuje základnú množinu akcií, ktoré sú prístupné v obidvoch aplikáciách skriptu (objekt typu Event, Aktívna schéma).
Akcie možno rozdeliť do týchto základných kategórií (typov):
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.
Priraďovacie akcie umožňujú meniť hodnoty a odkazy na objekty:
Pre prácu s tabuľkou databázy sú určené skupiny akcií, ktoré používajú rôzne spôsoby prístupu k dátam.
Ak pri práci s databázou nastane chyba, číselný kód ktorý ju bližšie popisuje je možné získať volaním funkcie %GetLastExtErrorCode. Podrobnejšie informácie o chybe je možné získať funkciou %GetLastExtErrorMsg.
Prvý spôsob využíva existenciu kľúča alebo podmienku WHERE. Podľa spôsobu zápisu akcie umožňuje zápis/čítanie jedného alebo viacerých riadkov.
Príklad práce s tabuľkou (akcie DB_...)
Druhý spôsob pracuje pomocou stránkovania, pričom veľkosť stránky (počet riadkov v tabuľke) je voliteľný.
Príklad práce s tabuľkou (akcie PG_ ...)
Tretí spôsob je modifikácia prvého. Modifikácia spočíva v tom, že práca s tabuľkou nevyžaduje akcie typu CONNECT a DISCONNECT.
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.
Príklad práce s databázou (akcie SQL_ ...)
Pre riadenie transakčného spracovania príkazov (v zmysle databázovej transakčnosti) je možné použiť nasledovné akcie:
Príklad transakčnej práce s databázou
Vynútenie obnovy (refresh) zobrazených dát v pohľadoch užívateľa v procese D2000 HI (napríklad zobrazovač typu Browser) je možné vyvolať akciou:
Zaregistrovanie procedúry, ktorá sa zavolá po
je možné akciou:
Prenos handle na databázové spojenie medzi bežiacimi ESL skriptami
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->"" |
Riadiace akcie sú akcie, ktoré ovplyvňujú tok riadenia (poradie vykonávania akcií) v skripte.
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:
Akcie GETACCESS a RELEASEACCESS umožňujú navzájom synchronizovať vykonávanie akcií v:
Poskytujú určitú formu komunikácie medzi skriptami.
Ovládanie systémových alebo procesných alarmov.
Pri práci s rozsiahlymi lokálnymi štruktúrami je občas potrebné štruktúru utriediť, vložiť alebo zmazať riadok, alebo vyhľadať riadok. ESL toto umožňuje, ale tieto operácie si vyžadujú prechod celej štruktúry cyklom. Toto môže byť časovo náročné. ESL preto definuje nasledujúce akcie, ktoré uvedené činnosti vykonávajú optimálnejšie:
Akcie umožňujú prácu so skladom hodnôt, tzv. dátovým kontajnerom (interná dátová štruktúra).
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).
Prenos dátových kontajnerov medzi bežiacimi ESL skriptami
Akcie umožňujú nastavenie prístupových práv počas behu systému.
Akcie pre prácu so zoznamami objektov umožňujú:
Po vytvorení zoznamu sú ihneď sprístupnené dáta na prvej stránke.
Taktiež prechod na prvú, predošlú, nasledujúcu, poslednú alebo poradovým číslom zadanú stránku sprístupňuje dáta danej stránky.
Každý záznam v zozname objektov predstavuje jednoznačný identifikátor objektu, názov objektu, popis objektu, typ objektu, počet riadkov a počet stĺpcov.
Príklad práce so zoznamami objektov (akcie LST_...).