Buchungseintrag aus Sendung erzeugen
Siehe auch: Zeitfenstermanagement (Ereignisse)
Ereignisaktion - Kurzfassung
Zweck: Erzeugt ausgehend von einer Sendung eine Zeitfensterbuchung, der optional statische Werte für spezifische Felder und Attributwerte aus der Sendung zugewiesen werden können.
Die Ereignisaktion Buchungseintrag aus Sendung erzeugen soll ausgehend von einer Entität vom Typ "Sendung" (s. Sendungen) eine Entität vom Typ "Zeitfensterbuchung" erzeugen.
Die zu erstellende Zeitfensterbuchung kann dabei über statische Zuweisungen für Auswahlfelder nach spezifischen Kriterien für das Zeitfenstermanagement klassifiziert werden.
Das Zeitfenstermanagement-Modul stellt eigene Dynamische Aufzählungen (Verpackungstyp (ZFMT), Fahrzeugtyp, Warentyp, Transporttyp) bereit, in denen benutzerdefinierte Werte für diese Klassifikation hinterlegt werden können.
Außerdem können über den Tab-Reiter Kopierattribute die Werte von ausgewählten typisierten Attributen von der Sendung auf die neu angelegte Zeitfensterbuchung übertragen werden.
►HINWEIS◄ Das "Kopieren" funktioniert nur für Attributtypen, die für die Entität "Zeitfensterbuchung" auch unterstützt werden (s. Auflistung unter Zeitfensterbuchung-Masken). Weitere Einschränkungen beschreibt der Abschnitt "Konfiguration".
Die Ereignisaktion Buchungseintrag aus Sendung erzeugen wird typischerweise einer Ereignisbehandlung ausgeführt, die auf den Auslöser "Erzeuge Buchungseintrag aus Sendung" (s. Zeitfenstermanagement (Ereignisse)) reagiert. Dieses Ereignis wird durch den Ribbonmakro-Befehl "Zeitfensterbuchung / Erzeugen" (s. Verfügbare Befehle) ausgelöst, der den folgenden Workflow für die Anlage einer Zeitfensterbuchung zu einer bestehenden Sendung vorsieht:
Eine Einfachauswahl innerhalb einer Übersicht oder die geöffnete Erfassungsmaske identifiziert genau eine Sendung für die eine Zeitfensterbuchung erzeugt werden soll.
Der Befehl "Zeitfensterbuchung / Erzeugen" wird innerhalb eines Ribbonmakros (als per Klick auf einen Ribbon-Button) ausgeführt und löst das Ereignis "Erzeuge Buchungseintrag aus Sendung" aus.
Eine Ereignisbehandlung reagiert auf das Ereignis "Erzeuge Buchungseintrag aus Sendung" und führt die Ereignisaktion Buchungseintrag aus Sendung erzeugen aus.
Sofern die Ereignisaktion erfolgreich eine Zeitfensterbuchung erzeugen kann, wird mit den volatilen Daten der neuen Zeitfensterbuchung eine Buchungsübersicht geöffnet.
Der Benutzer kann die angelegte Zeitfensterbuchung dort bearbeiten und per "Speichern" erstellen oder verwerfen.
Die eigentliche "Buchung", also das Einplanen der erzeugten Zeitfensterbuchung an einem Termin für eine konkrete Ladestelle erfolgt in einem separaten Schritt innerhalb der Buchungsübersicht.
Konfiguration
Die Ereignisaktion Buchungseintrag aus Sendung erzeugen erwartet eine Entität vom Typ "Sendung" (s. Sendungen), für die eine andere Entität vom Typ "Zeitfensterbuchung" erzeugt werden soll.
Im typischen Einsatzfall (s. o.) der Ereignisaktion liegt die Sendung als Bezugsobjekt und Eingabewert der umgebenden Ereignisbehandlung vor.
Allerdings greift die Ereignisaktion nicht direkt auf das Bezugsobjekt (in der Variable entity) zu. Vielmehr erwartet sie eine Liste von Sendungen als Wert der Variablen shipments.
Die Variable shipments enthält im typischen Einsatzfall genau ein Element, nämlich die Sendung, die auch als Bezugsobjekt anliegt.
Die Vorbelegung der Variablen shipments ist aber nur gewährleistet, wenn die Ereignisbehandlung durch das Ereignis "Erzeuge Buchungseintrag aus Sendung" (s. Zeitfenstermanagement (Ereignisse)) ausgelöst wurde.
Sofern die Ereignisaktion unabhängig vom Ereignis "Erzeuge Buchungseintrag aus Sendung" eingesetzt werden soll, kann der Variable shipments auch anderweitig eine existierende Sendung als Element einer Liste zugewiesen werden.
Dann muss aber auch die Variable header mit einem (leeren) Liste-Objekt initialisiert Dieser Liste fügt die Ereignisaktion (im Erfolgsfall) die neu erzeugte Zeitfensterbuchung-Instanz hinzu.
Die Variable header ermöglicht bei Bedarf auch "Nachbearbeitungen" oder das Speichern der erzeugten Entität (per Änderungen später speichern).
Sind die Variablen shipments und header im Kontext der Ereignisaktion Buchungseintrag aus Sendung erzeugen nicht "geeignet" vorbereitet, kommt es zur Laufzeit zu einem Fehler mit Rollback.
Der Tab-Reiter Buchungseintrag aus Sendung erzeugen enthält je ein Auswahlfeld für die spezifischen Dynamischen Aufzählungen, die das Zeitfenstermanagement-Modul für die Klassifikation von Zeitfensterbuchungen vorsieht. Jedem Parameter entspricht ein Feld im Datenmodell der "Zeitfensterbuchung", für das optional eine statische Zuweisung festgelegt werden kann: |
|
|
Parameter / Aufzählung / Feld |
Feldname (intern) |
|
packageType |
||
typeOfVehicle |
||
kindOfGoods |
||
modeOfTransport |
||
Im zweiten Tab-Reiter Kopierattribute ermöglicht ein Wiederholendes Element optional die Konfiguration von mehreren Wertauflösern für Attribute deren Wert von der Sendung auf die neue Zeitfensterbuchung kopiert werden soll. ►WICHTIG◄ Ungeeignete Konfigurationen für Kopierattribute führen zur Laufzeit zu einem Fehler mit Rollback. Dabei sind folgende Regeln zu beachten:
|
Über die Symbole |
Beispiel
Das Zeitfenstermanagement wird für das Scheduling von Annahmeprozessen für "Giftmüll" an diskreten (Ent-)Ladestellen in einem Entsorgungsbetrieb eingesetzt. Für geplante Sendungen mit dem Sendungstyp "Giftmüll-Entsorgung" soll dabei per Knopfdruck eine "Zeitfensterbuchung" angelegt werden können. Aus den so angelegten Zeitfensterbuchungen ergibt sich ein "Arbeitsvorrat", aus dem der für die Entladung zuständige Disponent eine Belegungsplanung für die Ladestellen zusammenstellt. Für diese Feinplanung relevante Merkmale der Sendung sollen automatisch für die Zeitfensterbuchung übernommen werden.
Laufzeitbeispiel:
Rechts ist eine Erfassungsmaske für Sendungen mit dem Sendungstyp "Giftmüll-Entsorgung" mit den folgenden Merkmalen dargestellt:
Soweit für die Entladung relevant, sollen diese Informationen auch in einer "Zeitfensterbuchung" ersichtlich sein. Aus der Sicht des Disponenten sollen diese Daten in der Buchungsübersicht wie unten gezeigt erscheinen: |
|
|
Konfiguration:
Die folgende Konfiguration bezieht sich grundsätzlich auf das typische Einsatzszenario, nämlich eine Auslösung der Ereignisbehandlung über den Ribbonmakro-Befehl "Zeitfensterbuchung / Erzeugen" (s. Verfügbare Befehle).
Im Aktionsteil der Ereignisbehandlung werden allerdings auch Gestaltungsmöglichkeiten aufgezeigt, die nicht Bestandteil der typischen Vorgehensweise sind.
Eine Ereignisbehandlung für das Auslösende Ereignis "Erzeuge Buchungseintrag aus Sendung" (s. Zeitfenstermanagement (Ereignisse) wird angelegt und wie folgt konfiguriert:
Die Aktionen bei bestandener Regel werden hier zunächst im Überblick gezeigt und in den folgenden Abschnitten detaillierter beleuchtet:
|
|
Die Ereignisaktion Buchungseintrag aus Sendung erzeugen wird wie rechts abgebildet konfiguriert:
►ANMERKUNG◄ Der Verpackungstyp wird hier nicht statisch gesetzt. In der Nachbehandlung der Zeitfensterbuchung könnte eine Zuordnung für das Feld ausgehend von Daten der Sendung erfolgt. Allerdings ist das nicht erforderlich. Im zweiten Tab-Reiter Kopierattribute wurden wird hier der Typisiertes-Attribut (Wertauflöser) vier Mal eingesetzt, um Attribute der Sendung als Kopierattribute zu spezifizieren:
Zur Laufzeit bewirkt diese Konfiguration, dass in den Daten der neuen Zeitfensterbuchung entsprechende Typisierte Attribute angelegt werden, sofern die Sendung entsprechende Daten enthält. ►ANMERKUNG◄ Ob in der Buchungsübersicht Elemente für die Anzeige entsprechender Details enthalten sind (s. Zeitfensterbuchung-Masken) spielt für die Anlage der Attribute keine Rolle. Entscheidend ist aber, dass nur Attributtypen verwendet werden, die für die Entität "Zeitfensterbuchung" grundsätzlich unterstützt werden. Im vorliegenden Beispiel sind vor diesem Hintergrund einerseits die "Referenzattribute" der Sendung problematisch, da dieser Attributtyp in Zeitfensterbuchungen grundsätzlich nicht anwendbar ist. Andererseits kann das plurale Textattribut "Container No" nicht mit der Standard-Methodik kopiert werden. |
Tab-Reiter Kopierattribute:
|
Da nicht immer alle Daten aus der Sendung mit der Standardmethodik in die neu erzeugte Zeitfensterbuchung überführt werden können, werden hier einige Optionen für eine spezfische "Nachbehandlung" der Entität aufgezeigt:
|
|
►ANMERKUNG◄ In einer Erfassungmaske für "Giftmüll"-Sendungen kann dann ein Element für das Verknüpfte-Entitäts-Attribut eingebunden werden, in dem nicht nur die Referenz auf die Zeitfensterbuchung, sondern z. B. auch deren Arbeitsstatus ersichtlich ist:
Über einen Button (ganz recht oben) kann im Beispiel außerdem noch die Buchungsübersicht mit den Daten der referenzierten Zeitfensterbuchung geöffnet werden.