AbraScript
AbraScript je konzolová aplikácia, ktorá umožňuje spúšťať skripty napísané pre ABRA Gen priamo z prostredia Windows.

Využíva pri tom priamo skriptovacieho enginu ABRA Gen (to znamená, že sú k dispozícii Nx funkcie, business objekty atď). Je možné s jej pomocou previesť balíčky skriptov napísané v ABRA Gen do editovateľných .pas súborov a naopak (vrátane zakódovania/odkódovania), kompilovať skripty do XML jednotky, ktorá je voliteľne chránená heslom a spustiteľná v AbraScriptu inej inštalácie.
AbraScript.exe help
Syntax skriptov je rovnaká ako v prípade skriptov v module Skriptovanie, teda PascalScript. Pri spustení AbraScriptu je dôležité poradie parametrov, cesta ku skriptu/knižnici oddeľuje nepovinné parametre AbraScriptu (inštrukcie na spustenie/kompiláciu/extrakciu, východiskové je spustenie) naľavo od nepovinných parametrov spúšťaného skriptu napravo:
AbraScript.exe [parametre AbraScriptu]skript[parametre odovzdané spúšťanému skriptu]


Vypíše string odovzdaný parametrom AMessage do konzoly.

Skript = súbor.pas obsahujúci procedúru
Main(AObjSpace: TNxCustomObjectSpace; AParams: array of string);
ktorá je vyvolaná pri spustení skriptu. Prvým parametrom sa jej odovzdá ObjectSpace, druhým parametrom následne pole argumentov, ktoré je možné odovzdať pri spúšťaní.

Spúšťanie skriptov vyzerá nasledovne:
AbraScript.exe test.pas argument1 argument2
Vzhľadom k tomu, že je potrebné pracovať s ObjectSpace, môže byť potrebné sa prihlásiť (ako východiskový je použitý Supervisor a prázdne heslo):
AbraScript.exe –u Supervisor –p p@ssW0rd test.pas argument1 argument2
Spúšťanie prekompilovaných (a zabalených) skriptov pomocou -o do XML prebieha rovnako:
AbraScript.exe test.xml argument1 argument2

Výber sa vykonáva špecifikáciou parametra -c, za ktorým nasleduje názov pripojenia (v tomto prípade Dáta):
AbraScript.exe –c Data test.pas argument1 argument2

Pri umiestnení balíčkov mimo zložku obsahujúcu projekt (štruktúra viď časť Rozbalenie balíčka) je možnosť využiť špecifikácie alternatívneho umiestnenia balíčkov (skript x.pas mám na Ploche, potrebné balíčky v C:\projekty):
AbraScript.exe -a C:\projekty x.pas parametr1 parametr2
Táto voľba funguje jednak pri spúšťaní, tak aj pri kompilácii.

Na spúšťanie skriptov uložených v db slúži parameter -l (malé L), namiesto cesty k súboru so skriptom potom uvádzame názov knižnice, ktorá obsahuje procedúru Main, v tvare balíček.knižnica, teda pokiaľ by sme mali balíček test obsahujúci knižnicu Lib1:
AbraScript.exe -l "test.Lib1" parametr1 parametr2

AbraScript umožňuje spúšťať ľubovoľné funkcie/výrazy nad zvoleným skriptom. V tomto režime sa skript načíta bez vyvolania Main, spustený je len výraz odovzdaný parametrom -e. Je možné využiť zástupné reťazce {AOBJECTSPACE} a {APARAMS} pre pole parametrov skriptu, resp. ObjectSpace - zástupné reťazce sú nahradené názvami globálnych premenných s patričnými hodnotami.
Nasleduje príklad vyvolania procedúry moje_fce s parametrom ObjectSpace a aktuálnym časom, ktorá je súčasťou knižnice Lib1 balíčka test uloženom v databáze (parameter -l).
AbraScript.exe -l -e "moje_fce({OBJECTSPACE}, Now);" "test.Lib1"

Vzhľadom ku kompatibilite XML exportu s ABRA exportom bola zvolená nasledujúca štruktúra, kde zložka test označuje názov balíčka a názvy súborov názvy knižníc.
Príklad teda predstavuje balíček test obsahujúci knižnice test a Lib1:
\test\test.pas
\test\Lib1.pas

Predchádzajúci príklad zodpovedá balíčku v ABRA Gen s názvom test, obsahujúcemu knižnice test a Lib1. Ten by tiež v ABRA Gen vznikol po importe súboru moj_skript.xml vytvoreného pomocou:
AbraScript.exe –o moj_skript.xml test.pas
za predpokladu, že test.pas využíva knižnicu Lib1:
uses ‘Lib1‘;
Pri vytváraní balíčka je balíček vo výslednom XML nazvaný podľa názvu východiskového súboru, teda pokiaľ je vstupným súborom test.pas, balíček sa po importe do systému ABRA Gen bude volať test. Názov balíčka je možné zmeniť pomocou parametra -n:
AbraScript.exe –o moj_skript.xml -n TestPkg test.pas
Takto by bol po importe do systému ABRA Gen zmenený názov balíčka na TestPkg. XML je možné zakódovať (zaheslovať) tak, ako to robí systém ABRA Gen, pomocou parametra –s:
AbraScript.exe –o moj_skript.xml –s p@ssW0rd test.pas

test.xml exportovaného zo systému ABRA Gen do zložky C:\projekty, pomocou parametra –d:
AbraScript.exe –d C:\projekty test.xml
Klauzula uses funguje rovnako ako v systéme ABRA Gen, len je potrebné dodržať štruktúru projektů. Tzn. balíček = zložka, knižnica = soubor.pas, aby AbraScript správne dohľadal zahrňovaný balíček, je nutné mať zahrňovaný balíček v rovnakej zložke ako balíček zahrňujúci (alebo nastaviť parameter -a, viď Alternatívne umiestnenie knižníc):
C:\balicky\test\test.pas
C:\balicky\test\Lib1.pas
C:\balicky\TestPackage\XYZ.pas

Pokiaľ je zadané bezpečnostné heslo pre prístup k administračným nástrojom, je potrebné ho pri spustení zadať, a to pomocou parametra -r, inak nie je možné vykonávať akékoľvek akcie:
AbraScript.exe -r p@ssW0rd test.pas