Date: Fri, 29 Mar 2024 06:49:33 +0100 (CET) Message-ID: <1218110924.111496.1711691373418@srvdoc.doc.ipesoft.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_111495_1106100896.1711691373418" ------=_Part_111495_1106100896.1711691373418 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Skript je tvoren=C3=BD postupnos=C5=A5ou akci=C3=AD, ktor=C3=A9 sa po ak=
tiv=C3=A1cii vykonaj=C3=BA. Akcie sa zapisuj=C3=BA v prostred=C3=AD editora=
akci=C3=AD.
=C4=8Casti z=C3=A1pisu uveden=C3=A9 v hranat=C3=BDch z=C3=A1tvork=C3=A1ch =
[ ] s=C3=BA nepovinn=C3=A9. Znak | (t.j. =
ALEBO) vyjadruje mo=C5=BEnos=C5=A5 alternat=C3=ADvneho z=C3=A1pisu.
Zoznam jednotliv=C3=BDch typov akci=C3=AD. Nasleduj=C3=BAci zoznam popis=
uje z=C3=A1kladn=C3=BA mno=C5=BEinu akci=C3=AD, ktor=C3=A9 s=C3=BA pr=C3=AD=
stupn=C3=A9 v obidvoch aplik=C3=A1ci=C3=A1ch skriptu (objekt typu Event, Akt=C3=ADvna sch=C3=A9ma).
Akcie mo=C5=BEno rozdeli=C5=A5 do t=C3=BDchto z=C3=A1kladn=C3=BDch kateg=
=C3=B3ri=C3=AD (typov):
Pozn=C3=A1mka: V syst=C3=A9me D2000 je mo=C5=BEn=C3=A9 = implementova=C5=A5 aplika=C4=8Dn=C3=BA funkcionalitu pou=C5=BEit=C3=ADm jaz= yka JAVA. Ekvivalenty k ESL akci=C3=A1m s=C3=BA uveden=C3=A9 v samostatnej = on-line dokument=C3=A1cii, ktor=C3=A1 sa nach=C3=A1dza v podadres=C3=A1ri <= strong>Help p= rogramov=C3=A9ho adres=C3=A1ra syst=C3=A9mu D2000.
Prira=C4=8Fovacie akcie umo=C5=BE=C5=88uj=C3=BA meni=C5=A5 hodnoty a odk= azy na objekty:
Pre pr=C3=A1cu s tabu=C4=BEkou datab=C3=A1zy s=C3=BA ur=C4=8Den=C3=A9 sk=
upiny akci=C3=AD, ktor=C3=A9 pou=C5=BE=C3=ADvaj=C3=BA r=C3=B4zne sp=C3=B4so=
by pr=C3=ADstupu k d=C3=A1tam.
Ak pri pr=C3=A1ci s datab=C3=A1zou nastane chyba, =C4=8D=C3=ADseln=C3=BD k=
=C3=B3d ktor=C3=BD ju bli=C5=BE=C5=A1ie popisuje je mo=C5=BEn=C3=A9 z=C3=AD=
ska=C5=A5 volan=C3=ADm funkcie %GetLastExtErrorCode. Podrobnej=C5=A1ie inform=C3=A1cie o chybe=
je mo=C5=BEn=C3=A9 z=C3=ADska=C5=A5 funkciou %GetLastExtErrorMsg.
Prv=C3=BD sp=C3=B4sob vyu=C5=BE=C3=ADva existenciu k=C4=BE=C3=BA=C4=8Da alebo podmienku WHERE. Pod=C4=BEa sp=
=C3=B4sobu z=C3=A1pisu akcie umo=C5=BE=C5=88uje z=C3=A1pis/=C4=8D=C3=ADtani=
e jedn=C3=A9ho alebo viacer=C3=BDch riadkov.
Pr=C3=ADklad pr=C3= =A1ce s tabu=C4=BEkou (akcie DB_...)
Druh=C3=BD sp=C3=B4sob pracuje pomocou str=C3=A1nkovania, pri=C4=8Dom ve= =C4=BEkos=C5=A5 str=C3=A1nky (po=C4=8Det riadkov v tabu=C4=BEke) je volite= =C4=BEn=C3=BD.
Pr=C3=ADklad pr=C3= =A1ce s tabu=C4=BEkou (akcie PG_ ...)
Tret=C3=AD sp=C3=B4sob je modifik=C3=A1cia prv=C3=A9ho. Modifik=C3=A1cia spo=C4=8D=C3=ADva v = tom, =C5=BEe pr=C3=A1ca s tabu=C4=BEkou nevy=C5=BEaduje akcie typu CONN= ECT a DISCONNECT.
Posledn=C3=BD sp=C3=B4sob umo=C5=BE=C5=88uje vyu=C5=BEi=C5=A5 cel=C3=BA = =C5=A1k=C3=A1lu SQL pr=C3=ADkazov pri pr=C3=A1ci s datab= =C3=A1zou.
=C4=8C=C3=ADtanie datab=C3=A1zy prostredn=C3=ADctvom pr=C3=ADkazu
Pr=C3=ADklad pr=C3= =A1ce s datab=C3=A1zou (akcie SQL_ ...)
Pre riadenie transa= k=C4=8Dn=C3=A9ho spracovania pr=C3=ADkazov (v zmysle datab=C3=A1zovej t= ransak=C4=8Dnosti) je mo=C5=BEn=C3=A9 pou=C5=BEi=C5=A5 nasledovn=C3=A9 akci= e:
Pr=C3=ADklad transa= k=C4=8Dnej pr=C3=A1ce s datab=C3=A1zou
Vyn=C3=BAtenie obnovy (refresh) zobrazen=C3=BDch d=C3=A1t v poh=C4=BEado= ch u=C5=BE=C3=ADvate=C4=BEa v procese D2000 HI (napr=C3=ADklad zobrazova=C4=8D typu Browser) je mo=C5=BE= n=C3=A9 vyvola=C5=A5 akciou:
Zaregistrovanie proced=C3=BAry, ktor=C3=A1 sa zavol=C3=A1 po
je mo=C5=BEn=C3=A9 akciou:
Prenos handle na da= tab=C3=A1zov=C3=A9 spojenie medzi be=C5=BEiacimi ESL skriptami
Hodnota premennej (vo v=C3=A4=C4=8D=C5=A1ine pr=C3=ADpadov) pol=C3=AD=C4= =8Dka lok=C3=A1lnej =C5=A1trukt=C3=BArovanej premennej je pri z=C3=A1pise d= o datab=C3=A1zy konvertovan=C3=A1 tak, =C5=BEe ak je platn=C3=A1, je zap=C3=ADsan=C3=A1 norm=C3=A1lnym sp=C3=B4sobom. Ak je n= eplatn=C3=A1 je do datab=C3=A1zy vlo=C5=BEen=C3=A1 NULL hodnota. P= ri type TEXT toto pravidlo funguje rovnako, okrem datab=C3= =A1zy ORACLE, kde je pr=C3=A1zdny text reprezentovan=C3=BD datab=C3=A1zovou= hodnotou NULL rovnako ako neplatn=C3=A1 hodnota.
Po pre=C4=8D=C3=ADtan=C3=AD hodnoty z datab=C3=A1zy (ktor=C3=A1 je r=C3= =B4zna od NULL) prebehne konverzia hodnoty na po=C5=BEadovan=C3=BD typ, kto= r=C3=BD je dan=C3=BD typom premennej, do ktorej je umiestnen=C3=BD v=C3=BDs= ledok =C4=8D=C3=ADtania. V pr=C3=ADpade =C3=BAspe=C5=A1nej konverzie je v= =C3=BDsledn=C3=A1 hodnota platn=C3=A1. Pri =C4=8D=C3=ADtan=C3=AD NULL hodno= ty je v=C3=BDsledn=C3=A1 hodnota neplatn=C3=A1. Pri type TEXT je NULL hodnota v datab=C3=A1ze konvertovan=C3=A1 na platn=C3=BD pr=C3= =A1zdny textov=C3=BD re=C5=A5azec. Jedin=C3=A1 v=C3=BDnimka je =C4=8D=C3=AD= tanie prostredn=C3=ADctvom akcie DB= _READ/DBS_READ na platforme ORACLE OCI, kedy je NULL hodnota konvertova= n=C3=A1 na neplatn=C3=BA hodnotu.
Tabu=C4=BEka zn=C3=A1zor=C5=88uje v=C3=BDsledok z=C3=A1pisu a =C4=8D=C3= =ADtania textovej hodnoty v z=C3=A1vislosti na datab=C3=A1zovej platformy.<= /p>
DBS_INSERT - z=C3=A1pis textovej hodnoty do datab=C3=A1=
zy (D2Value -> DBValue).
PG_READ, BrowserRead - =C4=
=8D=C3=ADtanie textovej hodnoty z datab=C3=A1zy akciou PG_READ alebo do zobrazova=C4=8Da Browser (d=C3=A1ta zverejnen=C3=A9 =
cez OnFetchDone) (DBValue -=
> D2Value).
DB_READ - =C4=8D=C3=ADtanie textovej hod=
noty prostredn=C3=ADctvom akcie DB_=
READ (DBValue -> D2Value).
Datab=C3=A1za | 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=C3=BA akcie, ktor=C3=A9 ovplyv=C5=88uj=C3=BA tok riaden= ia (poradie vykon=C3=A1vania akci=C3=AD) v skripte.
Nasledovn=C3=A9 akcie umo=C5=BE=C5=88uj=C3=BA implementova=C5=A5 v skrip= te dial=C3=B3g s oper=C3=A1torom, alebo ovl=C3=A1da=C5=A5 sch=C3=A9my na pr= acovnej konzole oper=C3=A1tora. Tu je vhodn=C3=A9 pou=C5=BEi=C5=A5 preddefi= novan=C3=BA lok=C3=A1lnu premenn=C3=BA _FROM_HIP. Ak je skript spu= sten=C3=BD zo sch=C3=A9my (pripojen=C3=BD grafick=C3=BD objekt na ovl=C3=A1danie), je automat= icky t=C3=A1to lok=C3=A1lna premenn=C3=A1 asociovan=C3=A1 s procesom, z kto= r=C3=A9ho bol skript od=C5=A1tartovan=C3=BD. Toto umo=C5=BE=C5=88uje adresn= e pracova=C5=A5 s t=C3=BDmto procesom:
Akcie GETACCESS a RELEASEACCESS umo=C5=BE=C5=88uj=C3=BA navz=C3=A1jom sy= nchronizova=C5=A5 vykon=C3=A1vanie akci=C3=AD v:
Poskytuj=C3=BA ur=C4=8Dit=C3=BA formu komunik=C3=A1cie medzi skriptami.<= /p>
=C4=8C=C3=ADtanie/zapisovanie d=C3=A1t z/do arch=C3=ADvu, mazanie d=C3= =A1t v arch=C3=ADve.
Ovl=C3=A1danie syst=C3=A9mov=C3=BDch alebo procesn=C3=BDch alarmov.
Pri pr=C3=A1ci s rozsiahlymi lok=C3=A1lnymi =C5=A1trukt=C3=BArami je ob= =C4=8Das potrebn=C3=A9 =C5=A1trukt=C3=BAru utriedi=C5=A5, vlo=C5=BEi=C5=A5 = alebo zmaza=C5=A5 riadok, alebo vyh=C4=BEada=C5=A5 riadok. ESL toto umo=C5= =BE=C5=88uje, ale tieto oper=C3=A1cie si vy=C5=BEaduj=C3=BA prechod celej = =C5=A1trukt=C3=BAry cyklom. Toto m=C3=B4=C5=BEe by=C5=A5 =C4=8Dasovo n=C3= =A1ro=C4=8Dn=C3=A9. ESL preto definuje nasleduj=C3=BAce akcie, ktor=C3=A9 u= veden=C3=A9 =C4=8Dinnosti vykon=C3=A1vaj=C3=BA optim=C3=A1lnej=C5=A1ie:
Akcie umo=C5=BE=C5=88uj=C3=BA pr=C3=A1cu so skladom hodn=C3=B4t, tzv. d=C3=A1tov=C3=BDm ko= ntajnerom (intern=C3=A1 d=C3=A1tov=C3=A1 =C5=A1trukt=C3=BAra).
Akcie CNT_GETNR, CNT_CNVTOARRAY a
Pole zanik=C3=A1 zmazan=C3=ADm alebo vlo=C5=BEen=C3=ADm hodnoty do kontajn=
era.
Vznik kontajnera zabezpe=C4=8Duj=C3=BA akcie CNT_CREATE=
- vo=C4=BEne pou=C5=BEite=C4=BEn=C3=BD kontajner, alebo GETARCHARR=
_TO_CNT. Druh=C3=BD typ kontajnera je plnen=C3=BD str=C3=A1nkami, =
ktor=C3=A9 obsahuj=C3=BA d=C3=A1ta pre=C4=8D=C3=ADtan=C3=A9 z arch=C3=ADvu.=
Takto koncipovan=C3=BD pr=C3=ADstup do arch=C3=ADvu je efekt=C3=ADvnej=C5=
=A1=C3=AD (spotreba pam=C3=A4te a =C4=8Diasto=C4=8Dne r=C3=BDchlos=C5=A5) a=
ko pou=C5=BEitie akcie GETARCHARR. Pre kontajner vytvoren=C3=BD akciou GETA=
RCHARR_TO_CNT s=C3=BA pou=C5=BEite=C4=BEn=C3=A9 len akcie CNT_GETNR, CNT_FI=
ND a CNT_DESTROY (pr=C3=
=ADklad).
Prenos d=C3=A1tov= =C3=BDch kontajnerov medzi be=C5=BEiacimi ESL skriptami
Akcie umo=C5=BE=C5=88uj=C3=BA nastavenie pr=C3=ADstupov=C3=BDch pr=C3=A1= v po=C4=8Das behu syst=C3=A9mu.
Akcie pre pr=C3=A1cu so zoznamami objektov umo=C5=BE=C5=88uj=C3=BA:
Po vytvoren=C3=AD zoznamu s=C3=BA ihne=C4=8F spr=C3=ADstupnen=C3=A9 d=C3=
=A1ta na prvej str=C3=A1nke.
Taktie=C5=BE prechod na prv=C3=BA, predo=C5=A1l=C3=BA, nasleduj=C3=BAcu, p=
osledn=C3=BA alebo poradov=C3=BDm =C4=8D=C3=ADslom zadan=C3=BA str=C3=A1nku=
spr=C3=ADstup=C5=88uje d=C3=A1ta danej str=C3=A1nky.
Ka=C5=BEd=C3=BD z=C3=A1znam v zozname objektov predstavuje jednozna=C4=8Dn=
=C3=BD identifik=C3=A1tor objektu, n=C3=A1zov objektu, popis objektu, typ o=
bjektu, po=C4=8Det riadkov a po=C4=8Det st=C4=BApcov.
Pr=C3=ADklad pr= =C3=A1ce so zoznamami objektov (akcie LST_...).