DynSQLEditor.exe
Defaultně dodávaný exe soubor. Jedná se o nástroj určený pro editaci dynamických SQL dotazů.Tento nástroj je určen především servisním konzultantům servisní sítě výrobce a správcům systému. Pomocí něho mohou v případě požadavků klientů definovat uživatelské SQL dotazy (např. v případě, že definují uživatelské reporty, ve kterých potřebují z databáze načíst taková data, která se pomocí dodávaných DynSQL nenačítají apod.)
Běžný uživatel tento nástroj ke své práci nebude potřebovat. Jelikož se jedná o nástroj, který při neznalém použití může mít destruktivní následky, stejně jako je tomu u některých dalších nástrojů, je možno přístup do některých jeho funkcí chránit bezpečnostním heslem.
Dynamické SQL jsou v centrální repozitoři. Tato část repozitoře je součástí zálohy dat.
Následný popis slouží jen pro základní orientaci v nástroji, kterou možná budete potřebovat, pokud se rozhodnete definovat některé vlastní tiskové sestavy. Není vyčerpávajícím popisem nástroje, jelikož tento není určen uživatelům pro běžnou práci.
Definici DynSQL tvoří:
- Dynamický SQL příkaz - skládá se minimálně z:
- Datových zdrojů - definice jednotlivých Datových zdrojů a jejich vazeb (např. typu hlavička - řádky)
- Podmínek - definice struktury podmínek (pro omezování)
- Klíčů - definice struktury podmínek (pro třídění)
- vazby na objekt Controller - objekt implementující specifické chování editoru podmínek
- Místo v programu - umožňují spojit určité místo v kódu programu a DynSQL definici
- Reportovací skupina - sdružuje Místa v programu do skupin, jejichž nabídka se zobrazuje ve speciální agendě reportů
- DynSQL Šablona - šablony pro opakované použití definic podmínek
Údaje jsou rozděleny do subzáložek:
Záložka Dynamické SQL - seznam nadefinovaných datových zdrojů a všechny údaje o nich.
Záložka Místa v programu - seznam a údaje existujících míst v programu pro spojení DynSQL definice s určitým místem v kódu programu.
Záložka Report. skupiny - seznam a údaje reportingových skupin pro agendy reportů.
Záložka Šablony - seznam a údaje existujících nadefinovaných šablon pro opakované použití definic podmínek.
Na všech záložkách je možné si zobrazené záznamy filtrovat podle toho, zda jde o záznamy dodávané výrobcem či definované uživatelem. K tomu slouží omezovací panel v horní části záložky:
- Všechny
- Jen uživatelské
- Jen systémové
Tato filtrace je synchronizovaná pro všechny další záložky, takže stačí přepnout filtr pouze na jedné z nich.
Datové zdroje, datasety, podmínky, rozšířené fieldy a klíče pro řazení mají mj. vlastnost Lokalizace. Pokud je vyplněna (CZ, SK...), bude daný objekt k dispozici pouze v patřičné národní verzi.
Zdrojový definiční soubor (*.txt) obsahuje všechny definice, tj. s položkou lokalizace prázdnou, nebo CZ, SK, ..... Do repozitoře se však uloží jen ty části (DynSQL, datasetů, podmínek, program. bodů rep. skupin atd. ), které mají lokalizaci buď prázdnou nebo souhlasnou s lokalizací verze.
Od výrobce uživatelé dostávají pouze DynSQL atd., které mají nastavenou lokalizaci jazyka příslušné národní verze, a dále ty, které mají prázdnou lokalizaci.
Pro uživatele nemá položka význam a nechá ji prázdnou. Položka má význam pro výrobce pro tvorbu více národních DynSQL atd. ve zdrojovém formátu txt.
Definice SQL dotazů vyžaduje hlubokou znalost systému!!! Neodborným zásahem do stávajících definic si můžete způsobit vážné problémy.
Nástroj umožňuje práci z příkazové řádky i prostřednictvím grafického rozhraní. Ve kterém režimu se aplikace spustí závisí na použitých parametrech příkazové řádky. Možnosti:
DynSQLEditor.exeSpuštění aplikace bez parametrů vyvolá interaktivní grafický režim.
DynSQLEditor.exe <název_souboru>Spuštění aplikace s jediným parametrem, kterým je název existujícího souboru, vyvolá interaktivní grafický režim a otevření obsahu specifikovaného souboru (předpokládá se, že obsahuje DynSQL definice).
DynSQLEditor.exe /?Spuštění aplikace s parametrem /? zobrazí informační dialogové okno se seznamem podporovaných parametrů, po jehož zavření se aplikace ukončí.
DynSQLEditor.exe <název_souboru> [/s<heslo>/x<soubor>|/y<soubor>|/r|/d|/n|/u<soubor>]Spuštění aplikace s jinými parametry (seznam viz DynSQLEditor.exe /?) vyvolá řádkový režim.
DynSQLEditor.exe <název_souboru> [/s<heslo>/x<soubor>|/y<soubor>|/r|/d|/n|/u<soubor>]Spuštění aplikace s jinými parametry (seznam viz DynSQLEditor.exe /?) vyvolá řádkový režim.
Pokud je pro danou instalaci zadáno bezpečnostní heslo a v řádkovém režimu je požadováno provedení operace, která bezpečnostní heslo vyžaduje, je zapotřebí v příkazové řádce heslo specifikovat (parametrem /S), jinak aplikace vypíše chybu a ukončí se.
DynSQLEditor.exe d:\repo.txt /r
DynSQLEditor - command line tool ABRA Gen [18.13.03 release cs-CZ] Export dat repozitoře ---------------------- Parametr: /r Soubor: d:\repo.txt Okno Zabezpečení přístupu (TNxPasswordDialog) nelze modálně zobrazit CHYBA: Exit Code 1
V levé části záložky je zobrazen seznam všech nadefinovaných DynSQL. Pod seznamem SQL příkazů se pro aktuální SQL příkaz zobrazuje ID příkazu, Název příkazu, Controller, určení lokalizace a informace o tom, zda jde o příkaz Systémový. Systémové SQL příkazy jsou dodávány výrobcem a nelze je editovat ani mazat a je omezeno i jejich prohlížení.
Seznam SQL příkazů lze třídit dle názvu nebo ID (nastavení třídění přes lokální nabídku menu).
Podrobný popis dodávaných dynamických SQL dotazů viz popis Struktur a definic GenDoc.chm.
Funkce, které jsou k dispozici:
V pravé části jsou údaje rozděleny do subzáložek:
Výklad pojmu viz Reportingová skupina, ProgPoint, DynSQL, dataset - výklad.
Subzáložka Datasety má opět 2 základní části:
Ke každému DynSQL se v této části okna zobrazují (resp. definují) datové zdroje příkazu, tzv. datasety. Každý SQL příkaz má minimálně jeden dataset s názvem MAIN, může však mít i další datasety. Ke každému datasetu se v pravé části okna zobrazuje jeho Název, Popiska a konkrétní definice příslušného SQL dotazu:
SQL "Faktury vydané" má několik datasetů (hlavička, řádky, účetní deník, zálohy, šarže,...), zobrazená syntaxe SQLdotazu patří k aktuálnímu datasetu Rows
Pod definicí SQL dotazu pak informace o určení lokalizace a o nadřízeném datasetu. Např. pro řádky faktury (dataset ROWS) je nadřízeným datasetem MAIN, pro šarže/sériová čísla zadávaná v řádcích faktury (dataset BATCHES) je pak nadřízeným datasetem dataset ROWS :
Zadání nadřízeného datasetu. Příklad, kdy dataset ROWS z předchozího obrázku má nadřízený dataset MAIN
Poznámky k vlastnímu psaní dotazů:
Pokud je v rámci SQL příkazu třeba provádět řazení za položku obsaženou v několika spojených selectech (UNION ALL), je třeba takovou položku definovat zvlášť, např. jako datovou položku zdroje dat (čímž se stane jednoznačnou součástí výčtu, který je v definici zastoupen klíčovým slovem {FIELDS}).
Dataset s názvem MAIN musí být obsažen v každém příkazu. V opačném případě skončí pokus o jeho použití chybou (například v tiskové sestavě).
V této části okna jsou pak k aktuálnímu zdroji dat - datasetu (z předchozí části okna) uvedeny datové položky zdroje dat. Tyto datové položky pak budou mj. k dispozici jako datové položky objektu např. při vkládání položek z databáze do tiskových sestav, v editoru výrazů v definici tiskových sestav apod.
Datovými položkami datasetu jsou:
- všechny položky definované přes aliasy přímo z tabulek připojených v SQL příkazu
- další rozšířené položky
Položky definované přes aliasy
Obsahuje seznam aliasů pro položky definované přes aliasy na odpovídající objekty pro tabulku, ze které se vybírá, a pro tabulky připojené v definici SQL pomocí příkazu "JOIN". Objasníme na příkladu:
Pokud máme SQL dotaz definován takto:
SELECT {FIELDS} FROM IssuedInvoices A
LEFT JOIN Firms F ON F.ID=A.Firm_ID
....atd.
a chceme mít k dispozici položky firem, na které se odkazují hlavičky faktur vydaných, pak musíme mít v seznamu datových položek objektu nadefinován alias na odpovídající objekt, tedy v našem případě Alias F ↔TNxFirm.
Příklad aliasu na objekt TNxStoreCard v datasetu MAIN v SQL příkazu Skladové šarže
Každý alias má mj. definován prefix a popis. Prefix slouží ke konstrukci jména položky z připojené tabulky a popisek pak ke konstrukci jejího názvu zobrazovaného např. v seznamu datových položek objektu. Objasníme na příkladu:
Mějme SQL dotaz z předchozího příkladu a alias na TNxFirm, s prefixem "Firm" a popiskou "Firmy". Bussines objekt firem Firm obsahuje mj. např. položku Name - Název firmy, která má label Název. Nadefinovaný alias mj. způsobí, že v seznamu nabízených datových položek objektu bude k dispozici položka "Firm_Name" s popisem "Firma - Název".
Každý alias (s výjimkou aliasu A, který odpovídá hlavní tabulce datasetu) musí mít zadanou hodnotu prefixu. Při použití v tiskových sestavách se pak položky připojených tabulek zadávají buď s tímto prefixem (např. MAIN.Currency_Code) nebo přes vlastní ID (např. MAIN.Currency_ID.Code).
Pro každý alias lze též definovat JOIN klauzuli a v SQL příkazu pak jen použít element {JOIN}. Pro element {JOIN} platí: Relace mezi JOIN klauzulemi pracuje rekurzivně a to tak, aby JOIN fragment, jehož alias je použit v jiném JOIN fragmentu, byl umístěn před tímto JOIN fragmentem.
A ServiceAssemblyForms
DQ DocQueues - JOIN DocQueues DQ ON DQ.ID=SDC.DocQueue_ID
SDC ServiceDocuments - JOIN ServiceDocuments SDC ON SDC.ID=A.ServiceDocument_ID
vytvoří:
SELECT ....
From ServiceAssemblyForms
JOIN ServiceDocuments SDC ON SDC.ID=A.ServiceDocument_ID
JOIN DocQueues DQ ON DQ.ID=SDC.DocQueue_ID
Viz význam aliasu A pro použití uživatelsky definovatelných položek pro omezování dat v popisu položky Používat pro omezení výběrů dat.
Rozšířené položky
Kromě položek čerpaných z objektových položek připojených tabulek přes aliasy lze nadefinovat libovolné další položky v části Rozšířené fieldy:
Seznam nadefinovaných rozšířených položek v datasetu MAIN v SQL příkazu Faktury vydané
K aktuální rozšířené položce se zobrazuje (resp. definuje) její SQL výraz, SQL název položky (alias), Popiska pro zobrazení, Velikost, Datový typ a Packed CLSID:
Příklad definice aktuální rozšířené položky z předchozího obrázku
Každá rozšířená položka má mj. definován alias a popisku pro zobrazení. Alias je pak jméno dané položky a popisek její název zobrazovaný např. v seznamu datových položek objektu. Objasníme na příkladu:
Mějme SQL dotaz z předchozího příkladu a rozšířenou položku s aliasem "DepositAmount" a popiskou "Zaplaceno na zálohách". Pak v seznamu nabízených datových položek objektu bude k dispozici mj. položka "DepositAmount" s popisem "Zaplaceno na zálohách".
Dále je k dispozici položka pro určení lokalizace.
Zde se zobrazují (resp. definují) podmínky, podle kterých lze daný SQL dotaz podmínkovat, tj. data filtrovat (nadefinované podmínky jsou pak k dispozici jako prvky, podle nichž lze v dané agendě omezovat (typicky v záložkách Omezení)).
V pravé části je pak zobrazena definice dané podmínky. Aby nebylo nutné definice podmínek vypisovat opakovaně pro každou zvlášť, může mít podmínka odkaz na šablonu, kde je podmínka definována. Dále jsou definovány vlastnosti podmínky, např. zda lze vybírat jednu hodnotu, či více označených, zde je pro podmínku dostupné vyhledávání včetně nevyplněných apod. Dále je k dispozici položka pro určení lokalizace. V dolní části subzáložky Podmínky se pak tato zobrazuje jako Fragment SQL příkazu.
Subzáložky obsahující SQL fragment jsou zvýrazněny hvězdičkou:
Příklad zvýraznění záložek hvězdičkou
Na subzáložce Speciální parametry se uvádí parametry pro použití dané podmínky. K některým parametrům:
- pro nastavení omezení za chráněné objekty - SecurityWithNull, SecurityMask, ObjectSecurityMask nebo SecurityMask, DynSQLSecurityMask nebo SecurityMask - Viz popis viz kap. Definovatelné položky - záložka Detail - datový typ Znaky - číselníková položka a její parametry.
- pro negování podmínek - ForceSupportNegation - typu Boolean. V případě, že bude parametr v podmínce uveden, bude negování podmínky povoleno/zakázáno bez ohledu na generická pravidla. Viz popis Inverze výběru.
- pro nastavení povinně zadávané podmínky - AlwaysUsed
- pro označení podmínky jen pro určitou lokalizaci - ForLocalization
- pro malá/velká písmena, divoké znaky - ConvertWildChars, IgnoreCase
- pro rozšířenou syntaxi hledání -
- FulltextAllow=True - zobrazí zatržítko umožňující zadat u obyčejné text. podmínky, aby se zpracovala dále uvedeným způsobem
- FulltextOn=True - výše zmíněné zatržítko rovnou zatrhne
- FulltextEscapeChar=/ - escape znak, potlačuje ve fulltext syntaxi význam speciálních znaků (defaultně není žádný)
- FulltextPhraseChar=" - cokoliv uzavřené v těchto znacích se ve fulltext syntaxi bere jako běžný nedělitelný text (defaultně jsou ")
Pokud je fulltext možnost aktivní, pak se podmínka zadaná uživatelem rozdělí na jednotlivé výrazy a každý výraz zvlášť je vložen do WHERE fragmentu této podmínky (na místo parametru {:VALUE}), a jednotlivé takto získané části jsou spojeny operátory které uživatel použil mezi výrazy (viz níže).
fragment: <<A.Subject>> like {:VALUE}
uživatelem zadaná podmínka: kočka OR pes
výsledek: (<<A.Subject>> like 'kočka' OR <<A.Subject>> like 'pes')
Pokud z nějakého důvodu není žádoucí opakovat celý WHERE fragment, opakující část se uzavře mezi značky /*FULLTEXT*/:
fragment: něco na začátku /*FULLTEXT*/<<A.Subject>> like {:VALUE} /*FULLTEXT*/ a něco na konci
uživatelem zadaná podmínka: kočka OR pes
výsledek: něco na začátku (<<A.Subject>> like 'kočka' OR <<A.Subject>> like 'pes') a něco na konci
Podmínky je možné z jednoho dynamického SQL příkazu do druhého kopírovat (Ctrl+C, Ctrl+V). Podporováno je i označení, zkopírování a vložení více záznamů v jednom kroku.
Nadefinované klíče lze pak použít k nastavení třídění u jednotlivých agend, tj.:
- u dokladových agend pro třídění v záložkách Seznam (viz možnost zvolit si třídění na záložkách Omezení resp. Seznam (viz seznam klíčů ke třídění v seznamech dokladových agend)), nebo pro nastavení třídění v agendách typu "Reporty..." (viz např. Reporty nákupu, ...), kde je v kroku typu "Zadání omezení..." obdobný prvek pro nastavení Třídění jako na záložkách Omezení dokladových agend) případně pro nastavení vlastního třídění přímo v tiskové sestavě (viz klíče nabízené ke třídění v položce Vlastní třídění v definici tisk. sestavy)
- u číselníkových agend pro nastavení třídění v agendách typu "Reporty..." (viz např. Reporty ceníků, ...) případně pro nastavení vlastního třídění přímo v tiskové sestavě
U číselníků se klíče definované zde nevyužívají pro třídění v záložkách Seznam, jelikož se s číselníky pracuje jiným způsobem. Více viz Načítání dat do paměti, SQL dotazy, třídění a Třídění v číselnících.
Každý klíč má kromě svého identifikátoru, Popisky, odkazu na Šablonu a položky pro určení lokalizace definován zdroj dat.
Je-li zatrženo "Skrytý", pak se daný klíč nenabízí v dané agendě mezi ostatními klíči k výběru třídění. Pokud DynSQL dané agendy neobsahuje žádné klíče pro třídění nebo jsou všechny skryté, pak se možnost volby třídění v dané agendě ani nenabízí. Viz např. DynSQL pro agendu Účetní deník - souvztažně versus absence třídění v záložce Omezení v Účetním deníku - souvztažně.
Je-li zatrženo "Vybírat pouze jeden klíč", pak bude možný výběr pouze jednoho z nadefinovaných klíčů a výběr klíčů pro třídění v daném místě programu se bude nabízet formou skrytého seznamu (viz Třídění s výběrem pouze jednoho klíče). Viz např. třídění v záložce Omezení v Účetních žádostech.
Příklad klíčů nadefinovaných v datasetu MAIN v SQL příkazu Ceníky-vybrané ceny. V závorce jsou uvedeny zdroje dat jednotlivých klíčů)
Výklad pojmu viz Reportingová skupina, ProgPoint, DynSQL, dataset - výklad.
Záložka má dvě části:
Seznam míst v programu dodávaných výrobcem. Každé programové místo pak může mít přiřazeno jeden nebo více dynamických SQL. Pod seznamem programových míst se pro aktuální programové místo zobrazuje ID místa, Název místa, určení lokalizace a informace o tom, zda jde o progr. místo Systémové. Systémové jsou dodávány výrobcem a nelze je editovat ani mazat.
Seznam programových míst lze třídit dle názvu nebo ID (nastavení třídění přes lokální nabídku menu).
Podrobný popis dodávaných programových míst viz popis Struktur a definic GenDoc.chm.
Funkce, které jsou k dispozici:
Název | Doplňující popis: |
---|---|
Nový | Dostupná přes funkční tlačítko Nový nebo z lokální nabídky menu. Zadání nového programového místa. Uživatelsky přidaná programová místa má význam přiřazovat jedině do reportingových skupin (dodávaných výrobcem nebo uživatelsky definovaných) - jinak by nebyly nikde v ABRA Gen uživateli k dispozici. |
Kopie | Dostupná přes funkční tlačítko Kopie nebo z lokální nabídky menu. Zkopíruje aktuální. |
Vymazat | Dostupná přes funkční tlačítko Vymazat nebo z lokální nabídky menu. Mazat nelze systémové. |
Ke každému programovému místu se v této části okna zobrazují přiřazené dynamické SQL z části Dynamické SQL. Každé programové místo může mít i více dynamických SQL. Grafickými značkami S a U je odlišeno, zda vazba na SQL je systémová nebo uživatelská (přidána uživatelem). Programová místa se využívají pro definici tiskových sestav pro dané místo programu (definice sestavy má vazbu na dynamický zdroj dat (DynSQL), který je přiřazen k danému programovému místu). Tedy v definici vlastností každé tiskové sestavy se vybírá, ze zdrojů dat (DynSQL), které jsou k danému programovému místu přiřazeny a které pak budou zdrojem dat pro danou tisk. sestavu.
Příklad definice vazeb programového místa na dynamické SQL
Funkce, které jsou k dispozici:
Výklad pojmu viz Reportingová skupina, ProgPoint, DynSQL, dataset - výklad.
Záložka má dvě části:
Seznam reportingových skupin dodávaných výrobcem. Slouží pro sdružení programových míst (v programu pak agendy typu Reporty, např. fakturační reporty, skladové reporty apod.). Pod seznamem reportingových skupin se pro aktuální report. skupinu zobrazuje ID skupiny, Název skupiny, určení lokalizace a informace o tom, zda jde o reportingovou skupinu Systémovou. Systémové jsou dodávány výrobcem a nelze je editovat ani mazat.
Seznam reportingových skupin lze třídit dle názvu nebo ID (nastavení třídění přes lokální nabídku menu).
Podrobný popis dodávaných reportingových skupin viz popis Struktur a definic GenDoc.chm.
Funkce, které jsou k dispozici:
Název | Doplňující popis: |
---|---|
Nový | Dostupná přes funkční tlačítko Nový nebo z lokální nabídky menu. Zadání nové reportingové skupiny. Uživatelsky přidané reportingové skupiny jsou k dispozici jedině v agendě Reporty. |
Kopie | Dostupná přes funkční tlačítko Kopie nebo z lokální nabídky menu. Zkopíruje aktuální. |
Vymazat | Dostupná přes funkční tlačítko Vymazat nebo z lokální nabídky menu. Mazat nelze systémové. |
Ke každé reportingové skupině se v této části okna zobrazují přiřazená programová místa z části Programová místa. Každá reportingová skupina může mít i více přiřazených programových míst. Grafickými značkami S a U je odlišeno, zda vazba na programové místo je systémová nebo uživatelská (přidána uživatelem).
Příklad definice vazeb reportingové skupiny na programová místa
Funkce, které jsou k dispozici:
Název | Doplňující popis: |
---|---|
Přidat | Dostupná přes funkční tlačítko Přidat nebo z lokální nabídky menu. Umožní přidat vazbu na programové místo. |
Odebrat | Dostupná přes funkční tlačítko Odebrat nebo z lokální nabídky menu. Zruší vazbu na programové místo. Zrušit nelze systémové vazby. |
Vybrané funkce, které jsou v DynSQL dále k dispozici:
Název | Doplňující popis: |
---|---|
Otevřít |
Akce pro načtení uložení definic DynSQL ze souboru zadaného jména. Po načtení ze souboru se kontroluje, zda jsou k dispozici všechny používané šablony. Pokud ne, je uživateli oznámeno, že budou tyto šablony načteny z repozitoře. Pokud se to nepovede, nebo nebudou k dispozici, je program ukončen. |
Uložit
Uložit jako |
Akce pro uložení definic DynSQL do souboru zadaného jména. |
Exportovat do repozitoře vše/ uživatelské |
Akce, které exportují data do repozitoře. Uživatel si vybírá, zda se exportuje vše nebo jen uživatelské definice. Oba dva typy exportu se chovají jako aditivní export. Tedy exportovat tak, že se nejdříve data z repozitoře smažou a pak se teprve exportují, není v uživatelském rozhraní podporováno. Je to ale i nadále podporováno příkazovou řádkou. Po spuštění funkce program nejdříve kontroluje, zda pro danou instalaci již bylo zadáno bezpečnostní heslo. Heslo je společné pro všechny chráněné nástroje a zadává se vždy po nové instalaci resp. po instalaci update. Pokud heslo dosud v dané instalaci nebylo zadáno v rámci spuštění některého z chráněných nástrojů, program na tuto skutečnost upozorní a nabídne možnost jej zadat. Zadání hesla není povinné, ale v každém případě jej doporučujeme využívat. Můžete tak předejít nežádoucím manipulacím např. ze strany neznalé osoby, které mohou pro váš systém mít i značně destruktivní následky. Pokud bezpečnostní heslo pro spouštění nástrojů bylo v rámci spuštění některého z chráněných nástrojů v dané instalaci již zadáno, zobrazí se přihlašovací dialog do nástrojů, v němž se uživatel musí přihlásit zadáním bezpečnostního hesla. Po stisku OK se ověřuje jeho správnost. Nebylo-li heslo zadáno správně, program umožní uživateli opětovné zadání jména a hesla (např. pro případ překlepu). Pokud ani opakovaně není heslo zadáno správně, program danou funkci nevyvolá. Bylo-li přihlášení úspěšné, systém pokračuje požadovaným exportem. |
Importovat z repozitoře vše/ uživatelské |
Akce, které importují data z repozitoře. Uživatel si vybírá, zda importuje vše nebo jen uživatelské definice, nebo jen šablony. První dva typy importů nejdříve vyčistí aktuální definice a pak z repozitoře nahrají požadované definice. Poslední typ importu pouze načítá definice šablon. Po importu z repozitoře se kontroluje, zda jsou k dispozici všechny používané šablony. Pokud ne, je uživateli oznámeno, že budou tyto šablony načteny z repozitoře. Pokud se to nepovede, nebo nebudou k dispozici, je program ukončen. |
XDL Export |
Aby bylo možné připravit zákazníkovi vlastní uživatelské definice DynSQL dle jeho požadavků a poté mu je naráz dodat, se vším, co k nim patří (včetně vazeb do ProgPointu, ...), je k dispozici tato funkce. Umožňuje vyhrát nesystémové vazby bez systémových definic (např. ProgPointů), na které se vazba odkazuje. (Způsob uložení vazeb mezi DynSQL a ProgPointem a mezi ProgPointem a RepGroup dovoluje nastavit, zda se jedná o systémovou nebo nesystémovou vazbu). Vyexportuje všechny uživatelské definice DynSQL, ProgPointů, RepGroup, Šablon podmínek, vazeb (DynSQL-ProgPoint) a vazeb (ProgPoint-RepGroup). Struktura exportovaných dat je jiná než při obyčejném uložení. Formát souboru je XML, ale přípona je .xdl (Xml DynsqL). Dále viz příklad použití a volání pomocí commandlinového příkazu (volání DynSQLEditoru s parametry). |
XDL Import |
Naimportuje (doplní) do DynSQLEditoru všechny uživatelské definice DynSQL, ProgPointů, RepGroup, Šablon podmínek, vazeb (DynSQL-ProgPoint) a vazeb (ProgPoint-RepGroup) ze souboru. Import aktualizuje stávající obsah DynSQLEditoru. Dále viz příklad použití a volání pomocí commandlinového příkazu (volání DynSQLEditoru s parametry). |
Nechť implementátor systému potřebuje u klienta udělat nějaké uživatelské definice DynSQL a nedělá je na místě nebo počítá s tím, že stejné definice použije i u jiných klientů a potřebuje je přenést do jiné instalace. Navíc nechť chce v definici DynSQL používat šablon pro podmínky. Postup by mohl být např. následující:
- Spustí DynSQLEditor.
- Nejdříve si naimportuje do DynSQLeditoru obsah repozitoře (vše) dané instalace. Tj. provede "Importovat vše".
- Vytvoří vlastní funkční definice DynSQL (včetně využívání systémových šablon, zařazování uživatelských DynSQL do systémových ProgPointů, ...) dle požadavků klienta.
- Výsledek práce uloží do souboru .xdl pomocí funkce "XDL Export".
- Soubor .xdl předá (odnese) ke klientovi
- U klienta spustí DynSQLEditor a do prázdného DynSQLEditoru naimportuje obsah repozitoře. Tj. provede "Importovat vše".
- Naimportuje připravené definice. Tj. provede funkci "XDL Import" z doneseného souboru.
- Provede export (všeho) do repozitoře. Tj. provede "Exportovat vše"
Toto řešení podporuje ukládání a načítání uživatelských vazeb mezi definicí DynSQL a ProgPointy a mezi ProgPointy a Reportingovými skupinami.
Volání DynSQLEditoru s parametry
Kroky 6) až 8) z předchozího příkladu je možno zautomatizovat zavoláním DynSQLEditoru s parametry. K dispozici je řádkový parametr /u nebo -u, za nímž musí následovat název souboru typu .xdl.
start /w DynSQLEditor.exe - -u C:\nexus\pokus.xdl
První (samostatná) pomlčka je nutná, protože DynSQLEditor vždy očekává jako první parametr název souboru, ze kterého si má načíst obsah.
Pokud je uveden název souboru, který neexistuje, neprovede se žádné výchozí načtení ze souboru.
Samotná operace tedy provede:
- Import z repozitoře (všeho)
- Import XDL souboru ze zadaného souboru
- Export do repozitoře (všeho)