npsobj insertvalue systemexecute

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>