eEvoXmlGUI.exe

Die eEvoXmlGUI.exe wird standardmäßig mit eEvolution®-ABizI ausgeliefert. Dieses Tool wurde für das Schreiben von Abfragen für den Export entwickelt. Hier kann eine individuelle Export-Abfrage ohne das manuelle Starten der ABizI formuliert werden. Weitere Informationen zum eEvoXML-Format erhalten Sie unter dem dazugehörigen Thema "Das eEvoXML-Format".     

Treten bei der Ausführung eines Templates in eEvoXmlGUI.exe Fehler auf, so werden diese im unteren Ausgabebereich sofort angezeigt, ohne dass das Programm abstürzt. Es ist daher empfehlenswert, Exporte zuerst in dieser Entwicklungsumgebung zu testen, um etwaige Fehler bei der Ausführung des ABizI-Exportes zu vermeiden.

Für einen Export mit eEvoXML wird ein Template benötigt, welches identisch zum Ausgabeformat ist. Innerhalb eines solchen Templates kann man ein spezielles Attribut mit Namen "APSQL" einfügen, was einem die Möglichkeit bietet eine SQL-Abfrage in diese XML-Datei einzufügen.

Beispiel:

<demo>

<itemAPSQL="select * fromlizenz" >

</item>

</demo>

Achtung:

eEvoXML ist casesensitiv!

Dabei muss nicht zwingend der Begriff "Item" verwendet werden, stattdessen kann auch ein anderer Begriff verwendet werden. "Item" (bzw. das von Ihnen verwendete Äquivalent) bezeichnet einen Ergebnissatz der folgenden SQL-Abfrage. Jeder Ergebnissatz wird einem "Item" zugeordnet. Möchte man mehrere verschiedene SQL-Abfragen einbauen muss man auch verschiedene "Items" benennen.

 

Beispiel:

<demo>

<itemaAPSQL="selectmodulid, version as abcfromlizenz">

</itema>

<itemAPSQL="select * fromlizenz" >

</item>

</demo>

 

Ein weiteres Tag trägt den Namen "APTYPE" wird für einfache Fälle verwendet. Das Anfügen von APTYPE="node" hinter das APSQL-Statement erzeugt für jede Datenbankspalte automatisch einen Unterknoten.

 

Beispiel:

<demo>

<itemAPSQL="select * fromlizenz" APTYPE="node">

</item>

</demo>

 

ACHTUNG:

Das Passwort wird in eEvoXmlGUI.exe nicht verschlüsselt!

 

Damit ein bestimmtes Item/Itema abgerufen werden kann muss das abzurufende Item in ':gesetzt werden. Damit kann auf ein zuvor gesetztes Item referenziert werden. Ein Template mit mehreren SQL-Abfragen kann folgendermaßen aussehen:

Beispiel

<demo>

<itemaAPSQL="selectmodulid, version as abcfromlizenz">

<xyz>:modulid:</xyz>

<abc>:abc:</abc>

<subitemAPSQL="select*fromversionseevowhere Id = :modulid:">

<modulname > :modul: </modulname>

</subitem>

</itema>

<itemAPSQL="select * fromlizenz" APTYPE="node">

</item>

</demo>

 

Bei xyz handelt es sich wieder um ein "Item" in diesem Fall referenziertxyz mit :modulid: direkt auf die im darüberstehenden SQL-Statement itema abgefragten Modulid. Analog dazu referenziertabc auf die Version, die bereits im SQL-Statement auf abcreferenziert wurde. An dieser Stelle wird nun auf die Referenzierung der Referenzierung zugegriffen.

 

Ein in eEvoXmlGUI.exe erstelltes Template kann auch gespeichert werden. Allerdings wird dabei nicht nur die Abfrage selbst, sondern immer das komplette Projekt gespeichert. Es gibt ebenfalls die Möglichkeit ein vbScript in   eEvoXmlGUI.exe zu integrieren, dafür dient das AttributAPSCRIPT. Skripte können dazu verwendet werden zusätzliche Funktionen in einen Export einzubauen. Da der Einbau nicht auf ein Skript pro Abfrage beschränkt ist, lassen sich beliebig viele Skripte, deren Schreibweise sich an vbScripten orientiert, in ein Template einfügen.

 

Beispiel:

<demoAPSCRIPT='

function HelloWorld(param1)

HelloWorld = "Hello" &amp; param1

endfunction'>

<itemaAPSQL="selectmodulid, version as abcfromlizenz">

<xyz>:modulid:</xyz>

<abc>:abc:</abc>

<subitemAPSQL="select*fromversionseevowhere Id = :modulid:">

<modulname > :modul: </modulname>

</subitem>

<Hello>:HelloWorld(APXML.Item("modulid")):</Hello>  

</item>

<itemAPSQL="select * fromlizenz" APTYPE="node">

</item>

</demo>

Bei (APXML.Item("modulid")) handelt es sich um eine alternative Schreibweise für die Referenzierung auf eine Spalte. Dabei kann man diese zwei alternativen Schreibweisen auch ineinander verschachteln, wie das im obigen Beispiel der Fall ist. Die Ausführung des Programms wird davon nicht beeinträchtigt.

Hinweis

'&' (kaufmännisches und) bezeichnet das Verketten von Zeichenfolgen zweier Ausdrücke  

Achtung:

Da es sich hier um XML-Templates handelt, müssen Sonderzeichen im ASCII-Code geschrieben werden, ansonsten kommt eine Fehlermeldung.

 

Wie beim Import besteht auch beim Export die Möglichkeit ein XSLT-Stylesheet in Form einer xsl-Datei einzubauen. Dadurch wird die Transformation einer XML-Datei in eine anderes.

Hinweis

XSLT-Stylesheets sind kleine Programme, die auf der XSL Transformation (XSLT) Programmiersprache basieren. Mit ihrer Hilfe kann ein Mapping d.h. die Umwandlung eines XML-Dokumentes in ein anderes Format realisiert werden. Es können dabei sowohl Textdateien, als auch Binärdateien erstellt werden, unter anderem ist es möglicheinXML-Dokument in ein PDF, CSV oder eine RDF-Datei umzuwandeln.   

XSLT wird hierbei zur Definition von Umwandlungsregeln verwendet und wird als ein Teil der Extensible StylesheetLanguage (XSL) angesehen.     

 

Auch an die eEvoXML-Templates können Parameter übergeben werden. Diese Parameter tragen die Bezeichnung APXMLxxx, xxx steht dabei für die Kennziffer, anhanddessen ein Parameter eindeutig identifiziert werden kann. In der Tabelle Parameter am linken Bildschirmrand des Dialoges sind alle für das Template benötigten Parameter aufgeführt, es können auch weitere Parameter hinzugefügt werden. Der erste Parameter mit der Kennziffer 0 steht immer an oberster Stelle der Tabelle, die Kennziffern der darauf folgenden Parameter sind jeweils um 1 erhöht. Diese Tabelle dient in erster Linie dazu den einzelnen Parametern spezifische Werte zuordnen zu können.

 

Hinweis:

Der Wert der Tabelle kann beliebig oft geändert werden. Er hat keine Auswirkungen auf die Programmierung im Template, nur auf die Ausführung, da dem entsprechenden Parameter dann ein anderer Wert zugewiesen wird.

 

Beispiel:

Mit dem kleinen Template <abc>:APXML0:</abc> soll einfach nur der Wert des Parameters APXML0 ausgegeben werden.

Im Anschluss wurde links in der Tabelle Parameter die Bezeichnung APXML0 durch Hallo ersetzt, ausserdem wurden mit APXML3, APXML4, APML5 und APXML6 drei weitere Parameter hinzugefügt. Bei der anschließenden Ausführung des Templates, wird jetzt anstelle von APXML0 der Wert ausgegeben, der in der Tabelle Parameter für APXML0 angegeben wurde, Hallo.  

Es lassen sich ohne Schwierigkeiten weitere Parameter zu den drei standardmäßig beim Start der eEvoXmlGUI.exe angegebenen Parameter hinzufügen. Die interne Bezeichnung eines Parameters setzt sich dabei aus dem Präfix APXML und der Position, an der er in der Tabelle zu finden ist.

Beispiel:

Befindet sich der Parameter an dritter Stelle in der Tabelle Parameter, so ist seine interne Bezeichnung, mit der er im Template aufgerufen werden kann APXML2, da in der Tabelle mit 0 begonnen wird zu zählen.

 

Hinweis:

Diese Parameter können auch in der ABizI selbst verwendet werden. Dafür muss in der XML-Steuerung ein Eintrag gemacht werden, im Anschluss können die dort hinterlegten Werte als APXML-Parameter übergeben werden. 

 

Die ersten 10 APXML-Parameter sind praktisch nur Platzhalter, man kann sie auch gut für die AP-Init/-Deinit-Funktion verwendet. Ab der Kennziffer 1, also APXML11 handelt es sich um die Felder, die in der  XML-Steuerungstabelle vorhanden sind, sowie die Datenbankinformationen. Die einzelnen Zuordnungen dieser Felder sind unter Übergabe von Parametern an die APXML-Abfrage dokumentiert.  

Beispiel: 

<customerAPSQL="select name1 fromkundewherekndnr =:APXML28:">:name1:</customer>

 

In eEvoXML gibt es die Möglichkeit ein Flag zu setzen. Dafür muss hinter dem SQL-Statement ein weiteres Statemet mit APSET hinzugefügt werden. APSET wird dabei so oft ausgeführt, wie es einen Ergebnissatz gibt und bietet auch die Möglichkeit, sollte es vorangestellt werden im voraus zu überprüfen, ob etwas schon exportiert wurde.

Beispiel:

<demo>

<itemaAPSQL="selectmodulid, version as abcfromlizenzwheremodulid &gt;0">

<itemAPSET ="updatelizenzset :modulid: = :modulid:">

</item>

</itema>

</demo>

 

Wichtig:

Fehler in der XML-Datei führen i.d.R. zum kompletten Absturz der ABizI. Daher ist es empfehlenswert die Templates mit diesem Tool zuvor zu testen.

 

Mit der eEvoXMLGUI können relativ komplexe Szenarien zusammengebaut werden. Aus diesem Grund sind einige Schalter in Form von Metainformationen enthalten. Diese ermöglichen es die Codierung des Outputformates festzulegen, z.B. im UFT 16-Format und den BOM (BiteOrderMarker) wegzulassen, da insbesondere die letzte Eigenschaft gegebenenfalls Probleme verursachen kann.

 

Verwandte Themen

Das eEvoXml-Format