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 | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_TRANSACTION | Eine Transaktion |
Top-1 | INTEGER | Elementen- Anzahl | |
Stack(Out) | Top | COLLECTION | Nachfolger |
Funktionsaufruf: Call(Successors)