Tool zum Parsen von dynamischen Ausdrücken

Allgemein

Der Template Checker ist ein eigenständiges Tool zur Auswertung von dynamischen Funktionen durch den (in gleicher Weise in der B2B verwendeten) Context-Parsers.

Insbesondere zur Untersuchung und zum Testen von dynamischen Ausdrücke im Rahmen von Customizing-Einstellungen in der B2B eignet sich der Template Checker.

Einstellungen und Funktionen

Der Template Checker besteht aus einem Tabellen-Feld zur Eingabe von dynamischen Funktionen, einem Feld, das hochgeladene Nachrichten anzeigt, zwei Tabellen-Feldern zum Hinzufügen von MessageContext-Variablen und Extensions, sowie einem Ausgabefeld.

Dynamische Funktionen werden in der B2B verwendet um (Teile aus) Edifact-Nachrichten, Extensions oder Variablen aus dem MessageContext auslesen und zu verarbeiten. Sie treten häufig als Werte von Parametern von Actions, Services etc auf. Die Parser-Rückgabe eines solchen Ausdrucks lässt sich mit dem Template Checker einfach bestimmen.

Dynamische Ausdrücke

Es gibt verschiedene Arten von dynamischen Funktionen, die (teilweise) in der Dokumentation beschrieben sind. Ihre Syntax sieht dabei immer wie folgt aus:

${functionName(functionParameter*s)}

Diese können in den Zeilen der Funktionen-Tabelle eingetragen oder nach Markierung via copy/paste hinzugefügt werden. Desweiteren besteht die Möglichkeit Funktionen (durch Zeilenumbruch separiert) aus einem Textdokument in die Tabelle hochzuladen: Load own Functions-Button Der Button Add all default Functions fügt ein Reihe von Beispielfunktionen hinzu.

Der Button Remove selected Funktions entfernt alle selektierten Zeilen aus der Tabelle der Funktionen. Die Funktionenliste wird automatisch erweitert, sobald die letzte Zeile beschrieben ist.

Es findet eine Syntaxkontrolle der dynamischen Funktionen statt. Diese beschränkt sich bisher noch auf die Anzahl öffnender und schließender Klammern jeden Typs. Ist die Funktion auf diese Weise sytaktisch inkorrekt, wird ihr Zelle rot markiert. Die Funktion wird zum Parsen ebenfalls ignoriert.

Edifact-Nachrichten

Zur Untersuchung von Funktionen, die Informationen aus eine Edifact-Nachricht lesen, können Edifacts über Load Edifact file einzelnd als Textdokumente hinzugefügt werden. Diese werden dann mit ihrem Dateinamen im Edifact-Feld angegeben. Der Benutzer kann sich durch Doppelklick auf den Namen oder über den Button Show selected Edifact message die Nachricht in einem seperaten Fenster (im gebrochenen Format) angezeigen lassen.

Message-Context Variablen

Der Template Checker ermöglicht auch die Angabe von Message-Context Variablen zur Analyse von dynamischen Funktionen. Die beim Parsen verwendeten Variablen können in der Message-Context Tabelle eingetragen werden:

Bei Klick auf eine Zelle der Typen-Spalte öffnet sich ein ComboBox mit Autocomplete-Funktion häufig verwendeter Variablen. Es muss aber nicht notwendigerweise eine Variable aus dieser Auswahl verwendet werden. In der rechten Spalte kann der Wert dieser Variable eingetragen werden. Über den Button Remove selected Message Context lassen sich alle selektierten Variablen wieder aus der Liste entfernen.

Extensions

Im Template Checker kann ebenfalls mithilfe der Funktion ${loadExtensionProperty(...)} oder kurz ${elp(...)} Extensions ausgelesen werden. Die Verwendung anderer Funktionen zum Lesen aus Extensions ist bisher noch nicht möglich. Die beim Parsen verwendeten Extension können in der dazugehörigen Tabelle eingesehen und wie folgt eingetragen werden:

Bei Klick auf eine Zelle der Typen-Spalte öffnet sich ein ComboBox mit Autocomplete-Funktion häufig verwendeter Extensions. Es muss aber nicht notwendigerweise ein Name aus dieser Auswahl verwendet werden. Bei Klick auf die rechte Spalte öffnet sich ein Textfeld-Fenster, in dem die Extension eingefügt und bearbeitet werden kann. Über den Button Remove selected Extension lässt sich die selektierte Extension wieder aus der Liste entfernen.

Ausgabe und Parser

Das Ausgabefeld dient vor allem dazu den Rückgabewert von (durch den Context-Parser) analysierten dynamischen Funktionen anzuzeigen. Bei Klick auf den Parse selected Function(s)-Button werden alle (sytaktisch korrekten) selektierten Funktionen unter Verwendung der selektierten Edifact-Nachricht und aller angegebenen Extensions sowie Message-Context Variablen von Context-Parser ausgewertet. Vor jedem Rückgabewert wird nochmal die Edifact sowie die analysierte Funktion angegeben.

Gibt der Parser ein leeres Ergebnis zurück, so kann dies auch daran liegen, dass nicht alle im dynamischen Ausdruck benötigten Message-Context Variablen im Template Checker definiert wurden!

View Me   Edit Me