Lade...
 

CX_TRANSACTION::PostStateByUniqueID

CX_TRANSACTION::PostStateByUniqueID

Beschreibung:

Liefert den erreichbaren Zielzustand für den verbundenen Workflow mit der übergebenen ID (aus ConnectStateMonitor). Diese Methode verändert genau wie WorkflowRoute nicht den Statusmonitor, mit dem die Transaktion aktuell verknüpft ist. Im Gegensatz zu WorkflowRoute wird der Nachfolgezustand hierbei jedoch nicht darüber bestimmt, dass die Transaktion vom Startzustand aus durch das Netz geschaltet wird, stattdessen wird lediglich geprüft, ob die Transaktion aus dem aktuellen Zustand weiterschaltbar ist und falls ein anderer Zustand erreicht werden kann, dann wird dieser zurückgegeben. In der Hinsicht ist diese Methode nur bedingt geeignet, um zu prüfen, ob sich der Zustand einer Transaktion geändert hat. Dies wäre nur dann eine zuverlässige Prüfung, wenn es keinen Unterschied macht, ob die Transaktion vom Startzustand oder vom aktuellen Zustand aus durchgeschaltet wird.

Sollte kein neuer Zustand erreichbar sein, dann wird der aktuelle Zustand zurückgegeben und falls es für die angegebene Workflow-ID keinen verbunden Zustandsmonitor-Wrapper gibt, dann wird NULL zurückgegeben.

 

Code-Beispiel:
// Check whether the state has changed
txn Get(PostStateByUniqueID("TASK"))   // -> next state
txn Get(StateMonitor("TASK"))          // -> current state
@ ifnot { "State has changed" Attention(,INFO) }
else { "State unchanged" Attention(,INFO) }
Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_TRANSACTION Eine Transaktion
  Top-1 STRING Workflow-ID (unqiueID des Wrappers aus monitors)
Stack(Out) Top CX_STATE_MONITOR Der erreichte Zielzustand
Funktionsaufruf: Call(PostStateByUniqueID)