Lade...
 

CX_TRANSACTION::PredecessorsOfTopType

CX_TRANSACTION::PredecessorsOfTopType

Beschreibung:

Dieser Funktion gibt alle Vorgänger zurück, deren TopTransaction zu einer bestimmten Klasse gehört. Diese Klasse kann über den ersten STRING-Parameter angegeben werden. Der erste INTEGER-Parameter steuert ob auch Vorgänger berücksichtigt werden sollen, deren TopTransaction von einer Klasse sind, die von der angegebenen Klasse abgeleitet sind. Der zweite INTEGER-Parameter steuert, wie weit die Vorgängerkette maximal verfolgt wird.

Die folgenden zwei Aufrufe entsprechen sich im Wesentlichen in ihrer Semantik:

Get(PredecessorsOfTopType("CX_SALES_ORDER", FALSE, 0xFFFFFFFF))

Get(PredecessorsByCondition("type(TopTransaction())=CX_SALES_ORDER", 1))

PredecessorsOfTopType durchsucht also auch die subTransactions (siehe Modus 0 für PredecessorsByCondition), fügt aber keine TopTransactions selbst hinzu.

Siehe auch: SuccessorsOfTopType

Code-Beispiel:
Define(AdjustPredecessorsTop)
      CreateTransCollection -> tmp
      // Save unique tops of predecessors
      iterate
      {
        // 0xFFFFFFFF soll ein möglichst großer Wert sein
        Get(PredecessorsOfTopType("CX_COMPOUND_TXN", TRUE, 0xFFFFFFFF)) Dup if iterate
        {
          Get(TopTransaction()) Dup Type case
            CX_SALES_ORDER: tmp Insert
            default:        Drop
          endCase
        }
        else Drop
      }
      0 0 FALSE TRUE tmp SendMsg(CALCULATE_ORDER)
    ;    
Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_TRANSACTION Eine Transaktion
  Top-1 INTEGER Bis zu welcher Tiefe die Objekte aufgesammelt werden
  Top-2 INTEGER TRUE oder FALSE, ob auch Objekte von abgeleitetem Typ aufgesammelt werden
  Top-3 STRING Klassenname der aufzusammelnden Objekte
Stack(Out) Top COLLECTION Vorgänger 
Funktionsaufruf: Call(PredecessorsOfTopType)