Status mit ConditionState dynamisch setzen
Mit einem XSL-Mapping können Sie abhängig von verarbeiteten Daten zusätzlich Ausführ-Statuswerte als Processing Instruction erzeugen, die innerhalb des Technical Processes von einem Condition
-Baustein ausgewertet werden. Je nach Status können Sie so entsprechend definierte Verzweigungen ausführen lassen.
Leeres XSL-Mapping in einem Technical Process vor einem
Condition
-Baustein positionieren.Processing Instruction(s) im XSL-Mapping nach folgendem Muster definieren:
HTML/XML<xsl:processing-instruction name="ConditionState">value</xsl:processing-instruction>
value
durch einen Wert z.B. aus dem verarbeiteten XML-Dokument ersetzen.
Beispiel:<xsl:value-of select="data"/>
Hinweis
Zulässige Statuswerte ganze Zahlen (Integer) sowie negative Zahlen (z. B.
-1
) für einen Fehlerstatus; siehe Statuswerte für Prozesse und Prozess-SchritteNicht zulässig sind folgende Status-Nummern, da diese systemintern reserviert sind:
-999
(Fehlerstatus der Engine)-998
(Prozess wurde aus Lizenzgründen nicht ausgeführt)999
(Status-ID für noch nicht ausgeführte Prozessbausteine)998
(wird vom Save Point-Mechanismus verwendet und bewirkt die sofortige Beendigung des gesamten Prozesses)997
(bewirkt die sofortige Beendigung des gesamten Technical Processes)
Empfehlung: Verwenden Sie für benutzerdefinierte Statuswerte Zahlen größer als
1000
, um mögliche Überschneidungen mit anderen Statuswerten zu vermeiden.Sicherstellen, dass das XSL-Mapping ein Wurzel-Element generiert, damit das XSL-Mapping ausgeführt und ein gültiges XML-Dokument erzeugt werden kann.
Das XSL-Mapping gibt nun Processing Instructions nach dem Muster<?ConditionState value ?>
aus.Im nachfolgenden
Condition
-Baustein für jede Verzweigung einen Status definieren, siehe Bedingungen erstellen und verwenden.Wenn Sie im weiteren Verlauf des Prozesses erneut ConditionStates erzeugen: die vorherigen Processing Instructions zunächst aus dem Input-XML-Dokument z.B. per
<xsl:copy-of>
entfernen, um unerwartetes Verhalten bei der Prozessausführung zu vermeiden.
Problemlösung: Das XSL-Mapping lässt sich nicht ausführen?
Möglicherweise ist der verarbeitete Wert einer der unzulässigen Statuswerte -999
, -998
, 999
, 998
, 997
oder ist eine Zeichenkette. Oder das vom XSL-Mapping erzeugte XML-Dokument enthält kein Wurzel-Element.
Verwenden Sie nur zulässige Statuswerte (siehe oben).
Fügen Sie z. B. ein leeres Element
<root/>
nach den ConditionState-Definitionen ins XSL-Mapping ein.