Lade...
 

CX_TRANSACTION::PredecessorsByCondition

CX_TRANSACTION::PredecessorsByCondition

Beschreibung:

Diese Funktion wird rekursiv für alle Objekte der "predecessors" Liste (predecessors ist ein Slot vom Typ collection) aufgerufen und sammelt alle die Vorgängerobjekte auf, für die die als Parameter übergebene Bedingung erfüllt (=TRUE) ist. Wird kein entsprechender Vorgängerbeleg gefunden, liefert die Funktion eine leere Collection zurück.

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:
// Hole alle Vorgängerbelege, die Teil eines Kundenauftrages sind, Modi 0 und 1 aktiviert
compoundTxnObject Get(PredecessorsByCondition("type(TopTransaction())=CX_SALES_ORDER",3))    
Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_TRANSACTION Das aufrufende Transaktionsobjekt
  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 predecessors-Collection durchsuchen, nicht die der Vorgängerbelege (kein rekursiver Aufruf!)
3 (Integer 8) = das aufrufende Transaktionsobjekt wird ignoriert, auch wenn es die Bedingung erfüllen sollte
  Top-2 STRING Bedingung in Form eines booleschen Ausdrucks
Stack(Out) Top COLLECTION Liste der Vorgängerbeleg-Objekte, für die jeweils die Bedingung erfüllt ist
Funktionsaufruf: Call(PredecessorsByCondition)
Qualitätssicherung: Bedingte Vorgänger-, Nachfolgebelege