Über den XmlInfo-Typnamen wird zum einen das Einstiegsobjekt identifiziert, zum anderen aber auch der Name der XmlInfo-Ausgabe-Konfigurationsdatei, die den Aufbau der XML oder CSV Ausgabe bestimmt. Bei einigen Typen (z.B. DataObject) kann durch Übergabe eines weiteren Parameters der Name der XmlInfo-Ausgabe-Konfigurationsdatei explizit bestimmt werden.
Wird als Name der XmlInfo-Konfiguration nur ein einfacher Name verwendet, wird die Konfiguration unter dem Begriff "{NAME}_xmlinfo.xml" über die Path-Variable "FRMCFGPATH" gesucht.
Alternativ kann aber auch (z.B. über den Parameter "XmlInfoType" des XmlInfo-Typs "DataObject") ein vollständiger Dateiname einer XmlInfo-Ausgabe-Konfiguration vereinbart werden.
Als Beispiel für eine XmlInfo-Ausgabe-Konfiguration dient die Datei "config.basis/Beispiel_f092_xmlinfo.xml". In dieser sind aktiv einige zur Verfügung stehende Techniken demonstriert.
Im Nachfolgenden finden Sie eine Erläuterung der einzelnen Abschnitte und Möglichkeiten:
<?xml version="1.0" encoding="utf-8" ?>
Die Kopfzeile dient der Identifikation der verwendeten XML-Version.
<XmlDefinition Version="1.05" >
Kopfzeile einer XmlInfo-Ausgabe-Konfiguration. Die Version definiert die verwendete XmlInfo-Versionsnummer. Zur Zeit muss hier "1.05" angegeben werden.
<AusgabeDefinition Name="Beispiel_f092" >
Die "AusgabeDefinition" leitet die XML-Ausgabe ein. Der angegebene "Name" definiert den Namen des Xml-Root-Knoten des ausgegebenen Xml-Dokumentes.
Pro Xml-Definition gibt es genau eine AusgabeDefinition.
<Class Name="GetInfoHelper" />
Der Ausgabedefinition, sowie jeder ReObj und jeder RefObjList-Definition muss genau eine Class-Definition folgen.
Die Class-Definition legt fest, welche SOG ERP-Datenklasse der nachfolgenden Beschreibung zu Grunde liegt. Sollte zur Laufzeit keine Übereinstimmung mit dieser Anweisung, und der tatsächlich genutzten Datenklasse herrschen, bricht XmlInfo mit einer Fehlermeldung ab. Sind an einer Stelle unterschiedliche SOG ERP-Datenklassen möglich, kann hier eine Komma separierte Liste von Klassennamen angegeben werden. Die beschriebenen "Feld" Eigenschaften, "RefObj" und "RefObjList" Konfigurationen müssen dann für alle Datenklassen passen und definiert sein. Dies kann im Allgemeinen dann verwendet werden, wenn Datenklassen über Vererbung abgeleitet wurden.
Erfolgt der Einstieg in die XmlInfo-Systematik über eine Liste von Objekten, wird immer ein Hilfsobjekt der Datenklassen "GetInfoHelper" erzeugt, das selbst nur eine "RefObjList" Namens "Liste" bereit stellt, in der dann die eigentlichen Einstiegsobjekte zu finden sind.
Die "Class" Definition legt außerdem den internen "Namen" des verarbeiteten Objektes fest. Wird keine abweichende Definition vorgenommen, gilt der erste angegebene Klassenname als Objektname. Abweichend kann mit Hilfe des Attributes "ObjName" ein eigener Objektname vereinbart werden.
Der Objektname kann in Werte-Definitionen verwendet werden, um direkt Werte aus einem so benannten Objekt als Ergebnis oder Parameter verwenden zu können.
<Feld NameIntern="m_auftr" NameExtern="Auftrag" />
Ausgabe eines Datenwertes.
Mögliche Parameter:
Legt fest, welcher Datenwert aus dem Datenobjekt gelesen werden soll.
Verwenden Sie einen Konstanten Ausdruck, um einen Konstanten Wert zu liefern. Beispiel: 1 => Liefert die Zahl "1" 'abc' => Liefert den Text "abc".
Weiter Möglichkeiten siehe Die Werteermittlung.
Definiert den Feldname der XmlAusgabe. Wird ein leerer Name angegeben, so wird der berechnete Ausdruck nicht in der XmlAusgabe erscheinen. Dies kann verwendet werden, wenn z.B. nur ein benanntes Objekt festgelegt werden soll (Siehe ObjName).
Wird die Ausgabe von Datentypen eingeschaltet, ermittelt GetInfo den Feld-Datentyp automatisch. Mit TypExtern kann man den ermittelten Wert übersteuern, und einen eigenen Datentyp angeben.
Anzahl Nachkommastellen. Hier kann für nachgelagerte Verarbeitungen mitgegeben werden, mit wie vielen Nachkommastellen gearbeitet werden soll (z.B. Export im OpenOffice-Format).
Hier kann für nachgelagerte Verarbeitungen mitgegeben werden, ob die Aufbereitung dieses Datenwertes mit tausender-Trennpunkten erfolgen soll (z.B. Export im OpenOffice-Format).
Ist per Option die Ausgabe von Datentypen pro Datenfeld eingeschaltet, kann mit dieser Angabe die Ausgabe für ein einzelnes Datenfeld abgeschaltet werden.
Sorgt dafür, dass das "Type" Attribut als "TYPE" in Großbuchstaben ausgegeben wird.
Sorgt dafür, dass der Inhalt des Type-Attributes in Großbuchstaben konvertiert wird.
Legt fest, dass der
Legt fest, das der Ausgabewert in Großbuchstaben konvertiert wird.
Legt einen Initialwert-Wert fest, falls das Datenfeld keinen Inhalt hat.
Legt die Formatierung der Ausgabe fest. Die möglichen Formatierungen entnehmen Sie der unten stehenden Tabelle.
Legt fest, in welcher Culture die Ausgabe formatiert werden soll. Standard für XML-Ausgaben ist "eng". Das heißt zur Trennung von Decimalstellen wird das Zeichen Punkt verwendet. Geben Sie hier "ger" an, um eine Aufbereitung des Datenwertes in deutsche Ländervariante zu erhalten (Dezimal-Trennzeichen: Komma)
Legt eine zusätzlich-Culture-spezifische Formatierung der Ausgabedaten fest. Damit können z.B. Dezimalfelder mit Festkommadarstellung ausgegeben werden, oder Datumsfelder gezielt aufbereitet werden.
Beispiel: "N2" formatiert einen Decimal-Wert mit Tausender-Trennpunkten und genau 2 Nachkommastellen.
Legt den Namen einer Scriptfunktion zur Wertermittlung fest. Siehe "Scriptverarbeitung".
Legt fest, dass an Stelle des Datenwertes ein Referenzwert aus einer Auswahlliste dargestellt werden soll. Ist die Option "ValueMode" nicht angegeben, wird ValueMode auf "Referenzwert" gesetzt.
Definiert die Sprache der Referenzwert-Auflösung. Initialwert: Aktuelle Benutzersprache. Der hier angegebene Wert wird über die Werteermittlung aufgelöst.
Schalter der steuert, ob Referenzwerte zu einer Zeile zussamengefasst werden, oder mehrzeilig ausgegeben werden. Initialwert: false
Legt fest, wie die Darstellung eines Referenzwertes erfolgen soll. Mögliche Angaben sind: Wert, Referenzwert, ReferenzwertWert, WertReferenzwert.
Legt fest, wie der Feldname bei der Ausgabe in eine CSV-Datei lauten soll.
Das Ergebnis des über "NameIntern" berechnetet Ausdrucks wird einem benannten Objekt zugewiesen. Sie können sich später mittels "#obj:Name" auf dieses Ergebnis beziehen.
Sorgt dafür, dass der aktuelle Datenwert über den SOG ERP (VACOS)-Übersetzungsmechanismus in die Zielsprache übersetzt wird (hier: eng).
Wird hier "true" angegeben, wird der Inhalt von "NameIntern" als "ObjectExpression" interpretiert. Damit können einfache Berechnungen, Umwandlungen, Formatierungen und Funktionsaufrufe verwendet werden.
Hier können Sie den Namen eines Objektes angeben, dass der ObjectExpression als Quellobjekt dienen soll. Verwenden Sie ObjectExpressionSrcField="ObjectRetriever" um Zugriff auf zuvor benannte Objekte zu erhalten.
Wenn dieser Wert auf true gesetzt wird, wird versucht über den Feldwert ein Bild aufzulösen. Dieses Bild wird dann unter Base64-Kodierung als Text ausgegeben.
Wenn PrintImage auf true gesetzt ist, kann hier eine Bildbreite angegeben werden, auf die das Bild hoch- oder herunterskalliert wird.
Wenn PrintImage auf true gesetzt ist, kann hier eine Bildhöhe angegeben werden, auf die das Bild hoch- oder herunterskalliert wird.
Mögliche Formate der Format-Angabe einer Feld-Definition
Setzen den Variablentyp auf "date".
Erwartet einen numerischen Wert im Format "jjjjmmtt". Liefert einen String im Format "jjjj-mm-tt".
Setzen den Variablentyp auf "date".
Erwartet einen numerischen Wert im Format "jjjjmmtt". Liefert einen String im Format "jjjjmmtt".
Setzen den Variablentyp auf "time".
Erwartet einen numerischen Wert im Format "hhmm". Liefert einen String im Format "hhmm".
Setzen den Variablentyp auf "time".
Erwartet einen numerischen Wert im Format "hhmmss". Liefert einen String im Format "hhmmss".
Setzen den Variablentyp auf "time".
Liefert einen Zeitpunkt in Form eines 14-Stelligen Strings JJJJMMTTHHMMSS.
Setzt den Variablentyp auf "string".
Wandelt eine Liste mit Elementen in einen String, in dem alle Elemnte der Liste durch Komma getrennt sind.
Wandelt ein Enum in den zugrunde liegenden Typ.
Wandelt einen SOG FlowDocument-String in HTML. #flowdoc, #html
Wandelt einen SOG FlowDocument-String in Simple-HTML. Dabei werden möglichst wenige Formatierungsanweisungen in das Html geschrieben.
Ist das Attribut PrintImage auf true gesetzt, kann über dieses Feld das Ausgabeformat des Bildes gesteuert werden.
Zulässige Werte sind bmp, gif, ico, jpg, jpeg, tif, tiff und wmf.