Syntax
npsobj_insertvalue_systemexecute ::=
<npsobj insertvalue = "systemexecute" name = "name" >
content
</npsobj>
Aufgabe
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.
Beispiel
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>