Globale und System-Parameter wiederverwenden
Globale und System-Parameter können in der Project Parameter Configuration *.param
wiederverwendet werden.
Wann ist die Wiederverwendung von globalen und System-Parametern sinnvoll?
Die Wiederverwendung ist sinnvoll, damit Parameter nicht immer wieder neu definiert werden müssen, sondern bestehende Parameter wiederverwendet werden können, z. B. in Mappings oder als Parameter bzw. Component-Parameter an einem Adapter.
Hinweis
Um Namenskonflikte zu vermeiden, muss der Name von Parametern und Parameter-Gruppen innerhalb einer Ebene (auf Rootlevel und bei verschachtelten Gruppen) eindeutig sein.
Hinweis
Folgendes ist bei der Wiederverwendung von Parametern in der Project Parameter Configuration *.param
zu beachten:
- Constants dürfen nur in anderen Constants wiederverwendet werden
- globale, System- oder Projekt-Parameter dürfen in Variables wiederverwendet werden
- Parameter dürfen keine Zyklen enthalten (z. B. Variable b verwendet den Wert von Variable a und Variable a verwendet den Wert von Variable b)
- Nur Parameter vom Typ String können wiederverwendet werden
Möglicher Anwendungsfall
Im File System Adapter kann ein Pfad über Component-Parameter gesetzt werden. Hier kann auf einen Zielordner mit Dateinamen verwiesen werden.
Hinweis
Anstelle eines Component-Parameters kann auch eine andere Art der Parametrierung gewählt werden (z. B. Parameter direkt am Adapter setzen, siehe auch Möglichkeiten der Parametrierung).
Beispiel-Prozess
In diesem Prozess wird jeweils eine Datei in einen Zielordner geschrieben. Der Zielordner und der Dateiname werden über Component-Parameter am File System Adapter definiert. In den Component-Parametern werden globale, System- und Projekt-Parameter wiederverwendet.
Component-Parameter am File System Adapter Write Calculation on FS:
%WORKING_DIR_ABOSLUTE%/%CURRENT_PROJECT%/%filePrefix%_%NOW%.txt
Component-Parameter am File System Adapter Write Invoice on FS:
%fileRootPath%/%CURRENT_PROJECT%/%timestampedFile%
Im Projekt-Parameter %fileRootPath%
werden der Projekt-Parameter (Constant) %X4tempfileDirectory%
und der System-Parameter %CURRENT_PROJECT%
wiederverwendet.
Im Projekt-Parameter %timestampedFile%
werden die Projekt-Parameter %filePrefix%
und %textfileEnding%
sowie der System-Parameter %NOW%
wiederverwendet.
Beispiel der XML-Struktur mit wiederverwendeten Parametern in der Project Parameter Configuration *.param
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Parameters xmlns="http://softproject.de/parameter/1.0">
<Enums />
<Group name="FileSystem">
<ConstantParameter name="X4tempfileDirectory" type="String">
<Description>This parameter is a constant in a group in this param file.</Description>
<Value>%X4tempfileDirectory%\X4</Value>
</ConstantParameter>
</Group>
<ConstantParameter name="tmpDirectory" type="String">
<Description>This parameter is a constant on root level of this param file.</Description>
<Value>C:\Temp</Value>
</ConstantParameter>
<ConstantParameter name="filePrefix" type="String">
<Description>This parameter is a constant on root level of this param file.</Description>
<Value>FILE</Value>
</ConstantParameter>
<ConstantParameter name="textfileEnding" type="String">
<Description>This parameter is a constant on root level of this param file.</Description>
<Value>.txt</Value>
</ConstantParameter>
<VariableParameter name="fileRootPath" type="String">
<Description>The parameter %fileRootPath% contains the constant parameter %X4tempfileDirectory% and the system parameter %CURRENT_PROJECT%.</Description>
<Value>%FileSystem.X4tempfileDirectory%/%CURRENT_PROJECT%</Value>
</VariableParameter>
<VariableParameter name="timestampedFile" type="String">
<Description>The parameter %timestampedFile% contains the system parameter %NOW% the variable parameters %filePrefix% and %textfileEnding%.</Description>
<Value>%filePrefix%_%NOW%%textfileEnding%</Value>
</VariableParameter>
</Parameters>