Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Makro-Editor für benutzerdefinierte Makrofunktionen

Für die Definition und testweise Ausführung von benutzerdefinierten Makrofunktionen in JavaScript-Syntax ist ein separater Makro-Editor verfügbar. Dieser Makro-Editor ist ähnlich aufgebaut wie der Makro-Editor für interne Makrofunktionen.

Der Makro-Editor für benutzerdefinierte Makrofunktionen ist unterteilt in die Bereiche Code, Test und Ergebnis.

Der Bereich Code dient zur Definition einer eigenen Makrofunktion. Hierfür ist ein Eingabebereich verfügbar, in dem der JavaScript-Programmcode der Makrofunktion bearbeitet werden kann. Der Eingabebereich unterstützt die Anzeige von Zeilennummern, Syntaxhervorhebung und Code-Faltung.

Im Eingabebereich muss nur der Programmcode innerhalb des Funktionsrumpfes angegeben werden. Der Funktionskopf, inklusive der geschweiften Klammern um den Code-Block, wird zur Laufzeit vom Programm generiert (siehe Eigenschaft CustomJsMacro.Macro[].Code).

In dem Bereich Test kann die JavaScript-Funktion testweise ausgeführt werden.

Wenn die JavaScript-Funktion Aufrufparameter enthält (definiert in CustomJsMacro.Macro[].Params), können für diese Parameter Testwerte angegeben werden. Die Angabe von mehreren Testwerten erfolgt kommasepariert. Dabei muss die Syntax eines Literals (konstanten Wertes) oder Arrays des internen Makrointerpreters verwendet werden. Die Umwandlung in den äquivalenten JavaScript-Datentyp erfolgt durch das Programm selbst.

Alternativ können Variablen als Parameterwert in der Form @Variablenname angegeben werden. Wenn die Variable eine Feldvariable ist, muss der aktuelle Wert dieser Feldvariable in der Tabelle für die Feldinhalte des Testdokuments festgelegt werden. Die Testwerte aller weiteren Felder, auf die direkt im Programmcode des Makros zugegriffen wird, sollten ebenfalls dort hinterlegt werden. Wenn keine Werte hinterlegt sind, behalten die Felder implizit die Standardwerte. Ein Zugriff auf alle Felder und weitere Eigenschaften des Test-Dokuments erfolgt im Code über das Objekt doc. Dieses Objekt ist global verfügbar und sorgt dafür, dass das Test-Dokument an die JavaScript-Umgebung übergeben wird (siehe Benutzerdefinierte Makrofunktionen).

Für den schreibenden Zugriff auf Dokumentenfelder müssen dieses Felder vorab bekanntgegeben werden. Innerhalb der JavaScript-Umgebung können Felder nicht dynamisch zum Testdokument hinzugefügt werden (außer neue Tabellenzeilen). Kopfdatenfelder können im Testdokument definiert werden. Für tabellarische Felder ist eine solche Definition jedoch nicht ausreichend. Aus diesem Grund sollte eine Szenariokonfiguration und ein Feldkatalog ausgewählt werden. Das Testdokument wird dann vollständig mit den Feldern und den Initialwerten dieser Felder vorbelegt.

In dem Bereich Ergebnis wird das Ergebnis der ausgeführten Makrofunktion angezeigt.

Das Ausführungsergebnis kann ein möglicher Rückgabewert sein oder, im Fall eines Dokumentmakros, die geänderten Feldinhalte des Testdokuments. Zusätzlich werden Log-Ausgaben angezeigt, die über die global verfügbare Methode log() optional aus dem eigenen Programmcode heraus erzeugt wurden. Diese Log-Ausgaben können während der Entwicklungszeit genutzt werden, um Debug-Informationen zur Fehleranalyse zu erhalten.