npsobj_insertvalue_systemexecute ::= <npsobj insertvalue = "systemexecute" name = "name" > content </npsobj>
Mit dieser Anweisung lässt sich während des Exports einer Datei ein berechneter Wert in die erzeugte Ausgabedatei einfügen. Die Anweisung wird häufig dazu verwendet, Feldwerte der exportierten Datei (beispielsweise ein Datum) umzuformatieren oder mehrere Feldwerte miteinander zu verrechnen.
Hierzu wird die über name
referenzierte
Tcl-Prozedur mit zwei Argumenten aufgerufen, der betreffenden Datei-
oder Link-ID sowie dem ausgewerteten content
. Der
Rückgabewert der Prozedur wird anstelle der NPSOBJ-Anweisung in die
Ausgabedatei eingefügt.
name
wird als der Alias eines Prozedurnamens
aufgefasst, der im Systemkonfigurationseintrag
export.tclSystemExecuteCommands
hinterlegt ist. Kann der Alias in tclSystemExecuteCommands
nicht
gefunden werden, so wird kein Tcl-Befehl ausgeführt, sondern das
NPSOBJ-Element wird durch die Zeichenkette Error: Execution of
'name' not allowed
ersetzt.
Wenn Sie die Template Engine einsetzen, so beachten Sie bitte, dass die beim Export auszuführenden Prozeduren auch auf dem Live-Server verfügbar sein müssen.
Der folgende Code ruft die Funktion mit dem Alias
command_alias
auf. Ihr werden als Argumente die ID der zu
exportierenden Datei sowie der Wert des kundenspezifischen Attributs
attr_name
übergeben. Anschließend wird der Code durch den
Rückgabewert der Funktion ersetzt.
<npsobj insertvalue="systemexecute" name="command_alias"> <npsobj insertvalue="var" name="attr_name" /> </npsobj>