Verknüpft
Das Ereignis "Verknüpft" wird beim Klick auf den Button "Verknüpfe Positionen" (s. Bild) ausgelöst, der in Erfassungsmasken für Geschäftsobjekte in einem "Verknüpfte Position"-Element auf einer beliebigen Positionsebene verwendet werden kann.
Die Verknüpfung wird tatsächlich unabhängig von der Verwendung des Buttons hergestellt, indem im "Verknüpfte Position"-Element eine Auswahl für die "Verknüpfte Position" in einem "Verknüpften Geschäftsobjekt" (im Bild: Sendung) getroffen und diese zweiteilige Referenz mit den Daten des bearbeiteten Geschäftsobjekts gespeichert wird. Im folgenden sehr einfachen Beispiel verweisen drei Positionen einer Sendung auf eine bestimmte Position (Nr. 1) in einer anderen Sendung (Nr. 3001).
Der Button "Verknüpfe Positionen", der im Beispiel in jeder Position erscheint, kann optional verwendet werden, um über das Ereignis "Verknüpft" spezifische Aktionen anzustoßen.
Als Datenkontext stehen für das Ereignis einerseits die Daten des Geschäftsobjekts bereit. Andererseits werden zwei Variablen mit Informationen aus der Position belegt, von der aus der Button betätigt wurde:
Variablenname |
Datentyp |
Inhalt |
Bezug zu den Beispieldaten (s. u.) |
lineItemId |
Long |
die von Lobster Data Platform / Orchestration intern zugewiesene systemweit eindeutige ID der Position |
< lineItem id="2651" ... > |
lineItemIndex |
String |
der automatisch vergebene Wert für die Positions Nr. |
<lineItem id="2651" ... lineItemId="1" ... > |
Beispiel
Der nachfoglende Auszug aus der XML-Struktur für die Positionen (lineItems) einer Sendung soll verdeutlichen, welche Eigenschaften aus den Datenmodell den Variablen zugeordnet werden und wie die Verknüpfung in die Datenstruktur der Position eingebettet ist.
<lineItems>
[...] <lineItem id="2651" [...] lineItemId="1" parentLineItemId=""> <attributes> <shp:ShipmentLineItemLinkedLineItem id="501" [...]> <value linkedBtoId="3001" linkedBtoType="shp:Shipment" linkedLineItemId="2452" linkedLineItemType="shp:ShipmentLineItem" type="INTERSHIP"/> </shp:ShipmentLineItemLinkedLineItem> </attributes> </lineItem></lineItems>
►ACHTUNG◄ Die Zuordnung der Variablennamen kann verwirren, weil der Variablen lineItemId nicht der Wert der Eigenschaft lineItemId (Positions Nr.) zugeordnet wird, sondern die id des lineItems . Innerhalb der Verknüpfung verweist die Eigenschaft linkedLineItemId auf die id der verknüpften Position und nicht auf deren lineItemId (Positions Nr.). Die Unterscheidung zwischen "ID" und "Positions Nr." ist wichtig, weil sich der Wert der "Positions Nr." spontan ändern kann, wenn Positionen gelöscht oder hinzugefügt werden. Dagegen bleibt die "ID" einer Position vom Erstellen bis zum Löschen der Position stabil.