Ist neues Datenobjekt
Die Verhaltensweise Ist neues Datenobjekt untersucht die Elementdaten des ausführenden Elements, um festzustellen, ob diese sich auf eine "neue" - also bisher ungespeicherte - Instanz einer Entität beziehen. Als Entität kommt ein Geschäftsobjekt (s. Sendungen, Bestellungen, Manifeste, Allgemeines Geschäftsobjekt), eine Position eines Geschäftsobjekts, ein Konfigurationsobjekt oder ein Stammdatenobjekt in Frage.
Oft stehen innerhalb eines Formulars mehrere Entitäten unterschiedlicher Typen in einer hierarchischen Beziehung. Ein Geschäftsobjekt kann Positionen enthalten und verweist über typisierte Attribute häufig auf Adressen oder Firmenkonten, die wiederum Adressen verwenden. Ausgehend vom ausführenden Element berücksichtigt die Verhaltensweise Ist neues Datenobjekt immer auf die nächstgelegene übergeordnete Entität.
Für Erfassungsmasken besteht mindestens der Bezug zu der Entität, die die Formulardaten bereitstellt. Portale und Dashboards weisen dagegen per Definition keine Bindung zu einer Entität auf, können aber Daten von Entitäten beinhalten, etwa wenn eine Erfassungsmaske eingebettet ist (s. Formulare einbetten (Sub-Formulare)) oder per Elementdaten setzen Daten einer Entität für einen Element Container gesetzt wurden.
Nur wenn das ausführende Element sämtliche der folgenden Bedingungen erfüllt, werden die Aktionen bei "falsch" ausgeführt, da dann ein Datenobjekt ermittelt wurde, das "nicht neu" erscheint:
Die Elementdaten stehen in direktem oder indirekten Zusammenhang mit einer Entität.
Die identifizierte Entität weist im Feld ID (id) einen von 0 abweichenden Long-Wert auf.
►HINWEIS◄ Ob die Entität tatsächlich serverseitig existiert, ist nicht Gegenstand der Prüfung. Es werden nur die beim Client vorliegenden Formulardaten ausgewertet.
Umgekehrt werden die Aktionen bei "wahr" ausgeführt, wenn eine dieser Bedingungen nicht erfüllt ist, also entweder kein Bezug zu einer Entität besteht (z. B. in einem Portal) oder eine Entität ermittelt wurde, der noch keine ID (id) zugewiesen ist (Standardwert 0).
Die Verhaltensweise erwartet keine Eingabedaten ($input) und gibt diese ggf. direkt an die jeweiligen Aktionen weiter.
Beispiel
Innerhalb derselben Erfassungsmaske für Sendungen soll die Verhaltensweise Ist neues Datenobjekt zur Demonstration mit zwei unterschiedliche Entitäten eingesetzt werden:
Auf Kopfebene ("Sendung") soll sichergestellt sein, dass die erforderlichen Kopfdaten (Pflichtfelder) ausgefüllt und gespeichert wurden, bevor Positionsdaten bearbeitet werden können.
Beim Editieren von Positionen sollen seit dem letzten Speichern der Sendung hinzugefügte Positionen durch ein geeignetes Symbol (
) gekennzeichnet werden.
Laufzeit-Beispiele:
Bei der Neuanlage einer Sendung erscheinen für die Positionen zunächst nur ein inaktiv gesetzter "Platzhalter".
Sind die Kopfdaten ausgefüllt, erreicht man durch "Speichern" Zugriff auf die Positionen (s. unten) und der Hinweis im Label verschwindet:
Speichert man die Sendung nach dem Erfassen der ersten Position, verschwindet das Symbol (
) für die erste Zeile und man kann die gespeicherte von einer neu hinzugefügten Position unterscheiden:
Konfiguration:
|
Für das Formular-Element wird ein Verhalten konfiguriert, wie links abgebildet:
|
|
Das links abgebildete Verhalten wurde für das Textfeld "Positions Nr." (s. o.) im Wiederholendes Element-Container für die "Positionen" konfiguriert. Damit stellt die jeweilige Sendungsposition die ausschlaggebende Entität für die Verhaltensweise dar:
►ANMERKUNG◄ Ob eine bereits gespeicherte Position geändert wurde ist dabei nicht ersichtlich. |