4.2.3.1 Spezielle Makros
Für die XML-gerechte Formatierung der aus infra:NET zu übergebenden Feldinhalte stehen folgende Makros zur Verfügung:
ISO2HTML(Text)
Da einige Sonderzeichen (darunter auch alle Umlaute) des ISO-Zeichensatzes für XML ungültig sind, müssen diese umgewandelt werden. Durch das Makro ISO2HTML wird diese Umwandlung vorgenommen. Außerdem erkennt ISO2HTML numerische Werte und formatiert diese ebenfalls so, dass genesisWorld diese verarbeiten kann.
Inzwischen existiert ein Automatismus, der alle per LBUF aus einem infra-Datensatz exportierte Zeichenketten automatisch mit dem ISO2HTML-Makro konvertiert. Das Makro ISO2HTML ist nur der Vollständigkeit halber (oder für Spezialfälle) beschrieben.
Beispiel:
Strasse=’ISO2HTML(LBUF(41,DDp(41,13),DDl(41,13)))’
XMLDATE(Datum)
Dieses Makro bringt ein infra-Datum in eine für genesisWorld gültige Form. Das interne infra-Datumsformat kann von genesisWorld nicht verarbeitet werden.
Beispiel:
OpDat='XMLDATE(LBUF(41,DDp(41,100),DDl(41,100)))'
EXPORTMAP(Tabelle,Text)
Dieses Makro verwendet die angegebene Abbildungstabelle um den übergebenen Text entsprechend der Tabelle abzubilden. Abbildungstabellen können in INI-Dateien gespeichert werden, die über den Eintrag „MAP“ in der Datei infratransceiver.ini dem zu exportierenden Datentyp (Kunde, Lieferant, Ansprechpartner, etc.) zugeordnet werden. Jede Abbildungstabelle ist eine Sektion in dieser Datei. Der Name der Sektion wird gebildet aus „ExportMap_“ und der im EXPORTMAP-Makro angegebenen Tabelle.
Der Einfachheit halber sollte als „Tabelle“ immer der Name des abzubildenden infra-Feldes verwendet werden.
Beispiel:
Land='ISO2HTML(EXPORTMAP(Land,LBUF(41,DDp(41,14),DDl(41,14))))'
Über das EXPORTMAP-Makro wird auf die Abbildungstabelle „Land“ verwiesen. Diese könnte wie folgt in der Datei GwMapAddress.ini definiert sein:
[ExportMap_Land]
D:Deutschland
F:Frankreich
CH:Schweiz
Wird durch LBUF(41,DDp(41,14),DDl(41,14)) aus der infra-Datenbank „CH“ gelesen, liefert das EXPORTMAP-Makro in diesem Fall „Schweiz“ als Ergebnis. „Schweiz“ wird also an genesisWorld übergeben.