Lade...
 

CX_TRANSACTION::Successors

CX_TRANSACTION::Successors

Beschreibung:

Diese Funktion liefert eine Collection aller Nachfolger zurück. Die Vorgängerkette wird INTEGER-Elemente weit untersucht. Wenn den INTEGER- Parameter erreicht wurde oder es gibt keine weitere Nachfolger wird das Element in die Rückgabe- Kollektion hinzugefügt (bei INTEGER=0 wird eine Kollektion mit dem aufrufendem Element (this) zurückgeliefert.  

Code-Beispiel:
Define(UpdateReceivedQuantity)
      Var(tmpItem, tmpReceived)
      -> tmpItem
      0 -> tmpReceived
      tmpItem Get(Successors(99)) Dup if iterate
      {
        Dup Get(TopTransaction()) Drop
        Dup Get(successors) Dup if Cardinality ifnot
        {
          Dup Get(TopTransaction()) Type CX_RECEIVING = if
            Copy(delivered.quantity)
          else
            Copy(quantity)
          Dup if
          {
            tmpReceived if { tmpReceived + }
            -> tmpReceived
          } else Drop
        }
      }
      tmpReceived if
        { tmpReceived tmpItem Put(received.quantity) }
      else
        { tmpItem DeleteSlot(received.quantity) }
      DropAll tmpItem
    ;    

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_TRANSACTION Eine Transaktion
  Top-1 INTEGER Elementen- Anzahl
Stack(Out) Top COLLECTION Nachfolger

Funktionsaufruf: Call(Successors)