Lade...
 

CX_TRANSACTION::SuccessorsByCondition

CX_TRANSACTION::SuccessorsByCondition

Beschreibung:

Diese Funktion untersucht rekursiv die Nachfolger- Kette (Collection predecessors), wann die Bedingung (STRING) erfüllt (=TRUE) ist; gibt alle passenden Nachfolger. Bei INTEGER = 1 werden auch Sub-Transaktionen in den Suchvorgang involviert.

Erfüllt bereits das aufrufende Transaktionsobjekt die Bedingung, ist diese in der Collection enthalten, sofern nicht das Bit 3 des Modus Parameters gesetzt wurde. Der Modus Parameter steuert auch die - erweiterte - Durchsuchung der Transaktionsobjekte der spezialisierten Typen CX_COMPOUND_TXN und CX_ALLOCATION_TXN.

Hinweis: Um nachzuvollziehen, welche Objekte wie durchsucht werden, kann der Logger cx.model.txn in den Modus TRACE geschaltet werden. Die einzelnen Schritte werden dann in der Log-Datei angegeben.

Code-Beispiel:
Item(T("Preisvergleich", "Compare prices")) [ SELECT: GetObject(, ListBox) Dup if { Get(SuccessorsByCondition("type(TopTransaction())=CX_PURCHASE_INQUIRY")) Dup if SendMsg(LIST_PURCHASE_INQUIRY_ITEM) else Drop } else Drop ]
Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_TRANSACTION Eine Transaktion
  Top-1 INTEGER Modus (Bitmuster)
0 (Integer 1) = bei Belegen des Typs CX_COMPOUND_TXN werden zusätzlich auch
      die Belege in der subTransactions collection durchsucht
1 (Integer 2) = bei Belegen des Typs CX_ALLOCATION_TXN wird zusätzlich auch der
      TopTransaction() Beleg durchsucht
2 (Integer 4) = nur die eigene successors-Collection durchsuchen, nicht die der Nachfolgebelege (kein rekursiver Aufruf!)
3 (Integer 8) = das aufrufende Transaktionsobjekt wird ignoriert, auch wenn es die Bedingung erfüllen sollte
  Top-2 STRING Formel
Stack(Out) Top COLLECTION Nachfolger
Funktionsaufruf: Call(SuccessorsByCondition)
Qualitätssicherung: Bedingte Vorgänger-, Nachfolgebelege