Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 3 Nächste Version anzeigen »

Definition eines Arbeitsschrittes (Objektgenerierung)

Menüaufruf: (Administration) - (Stammdaten) - (Sonstige) - (Arbeitsschritt)

Arbeitsschritte dienen dazu, aus einem Entitätsobjekt ein anderes, fachlich damit zusammenhängendes Entitätsobjekt zu erzeugen, Daten aus dem Quellobjekt in das Zielobjekt zu übertragen und Quell- und Zielobjekt miteinander zu verknüpfen.

[Bearbeiten] Reiter: Arbeitsschritt

Die Daten auf diesem Reiter dienen dazu, den Arbeitsschritt im System zu verankern und dabei zu bestimmen, wo und wann er angezeigt und ausgeführt werden soll. Es muss ein eindeutiger Name angegeben werden. Die Beschriftung legt den Text fest, der später in der Combobox Arbeitsschritt in der Detailmaske des Datensatzes angezeigt wird; falls Nur intern verwenden ausgewählt ist, wird dieser Arbeitsschritt nicht in der Combobox angezeigt, sondern kann nur von Regeln angestoßen werden.

Im Feld Quellentität wird die Entität ausgewählt, für das dieser Arbeitsschritt angestossen werden soll. Im Unterformular kann der Arbeitsschritt jetzt noch für gewisse Status bzw. Aktionen erlaubt werden oder nicht: unter Status wird der Status eingetragen, Bemerkung ist frei für eigene Notizen und unter Aktion kann auch noch die Aktion gesetzt werden. Nur wenn der Datensatz sich in diesem Zustand befindet, ist die Combobox für den Benutzer sichtbar.

Unter Zielentität wird angegeben, welcher Objekttyp hervorgehen soll und unter Aktion lässt sich auch hier die Aktion einschränken. Das neue Objekt wird mit der ausgewählten Aktion erzeugt. Die Bemerkung ist frei für eigene Notizen.

Sowohl die Quellentität als auch die Zielentität sind nur auswählbar, wenn sie über ein Statusmodell verfügen.

Die Parameterentität ermöglicht es, zusätzliche Felder aus dieser Parameterentität zu übernehmen. Ist eine Parameterentität angegeben, wird der Anwender bei Ausführung des Arbeitsschrittes aufgefordert, einen Datensatz aus dieser Parameterentität auszuwählen. Dieser wird dann per Definition entsprechend herangezogen.

Module objektgenerierung 1.gif

[Bearbeiten] Reiter: Zu übernehmende Attribute

In diesem Unterformular werden alle Attribute zur Auswahl angeboten, die in den Layouts sowohl von Quell- als auch Zielobjekt vorhanden sind. Der entsprechende Wert wird beim Ausführen des Arbeitsschrittes von dem Quellobjekt in das Zielobjekt kopiert.

Im Zielattribut werden jeweils nur Attribute mit Datentypen angeboten, die mit dem Datentyp des Quellattributs übereinstimmen.

Soll das Quellattribut aus der Parameterentität stammen, muss in der Spalte Quellobjekttyp zunächst 'parameter' ausgewählt werden. Im Quellattribut werden dann alle Felder der Parameterentität vorgeschlagen. Lässt man dieses Feld leer, so werden die Felder des eigentlichen Quellobjektes vorgeschlagen.

Module objektgenerierung 2.gif

[Bearbeiten] Reiter: Zu übernehmende Unterformulare

Auf dieser Reiterkarte werden die Unterformular-Entitäten sowohl vom Quell- als auch vom Zielobjekt zur Auswahl angeboten. Es werden alle Spalten übernommen, deren Feldnamen in beiden Entitäten identisch sind. Soll das Quellattribut aus der Parameterentität stammen, muss in der Spalte Quellobjekttyp zunächst 'parameter' ausgewählt werden. Im Quellattribut werden dann alle Felder der Parameterentität vorgeschlagen. Lässt man dieses Feld leer, so werden die Felder des eigentlichen Quellobjektes vorgeschlagen.

Module objektgenerierung 3.gif

[Bearbeiten] Reiter: Auszuführende Regeln

Es gibt Fälle, in denen es nicht ausreicht einfach ein Attribut oder Unterformular zu kopieren; z.B. wenn einzelne Felder aus einem Unterformular in Attribute oder umgekehrt kopiert oder Werte berechnet oder aus anderen Objekten ermittelt werden müssen.

Dafür können an einen Arbeitsschritt Geschäftsregeln angehängt werden, die eben diese Operationen durchführen. Mittels der Schaltflächen mit den Pfeilen nach oben und unten lässt sich die Reihenfolge der Ausführung der Regeln festlegen.

Tipp.pngTipp: Markieren Sie den Namen der Regel mit "OG" für Objektgenerierung, damit sie von anderen Regeln schnell unterscheidbar sind.

In der Regel gilt das Serverobjekt immer für das neu zu erzeugende Objekt (Zielobjekt).

Module objektgenerierung 4.gif

[Bearbeiten] Ids von Quell- /Ziel- oder Parameterentitätobjekten setzen

Anwendungsfall: Im Zielobjekt befindet sich ein ID-Feld (Combobox oder LOV), dass eine Referenz zum Quellobjekt darstellen soll.

Aus technischen Gründen ist es (noch) nicht möglich, diese ID automatisch vom Arbeitsschritt eintragen zu lassen. Das setzen dieser ID kann aber über eine Regel durchgeführt werden. Nachfolgend einige Codebeispiele für die einzelnen Fälle.

ID von Quellobjekt setzen

// Id des Quellobjektes
Integer probandId = server.getSourceObjectContainerCVO().getGenericObject().getId();
// Wert eines Feldes im Quellobjekt
String probandName = (String)server.getAttribute(probandId, "name").getValue();
 
//Id in Zielobjekt in dafür vorgesehenes ID Feld eintragen
server.setField("Kandidat", "proband", probandId, probandName);


ID von Parameterentität setzen -> Parameterentität besitzt ein Statusmodell !

// Id der Parameterentität
Integer kandidantenlisteId = server.getParameterObjectContainerCVO().getGenericObject().getId();   
// Wert eines Feldes in der Parameterentität
String kandidatenliste = (String)server.getAttribute(kandidantenlisteId, "namederliste").getValue();
 
//Id in Zielobjekt in dafür vorgesehenes ID Feld eintragen
server.setField("Kandidat", "kandidatenliste", kandidantenlisteId, kandidatenliste);


ID von Parameterentität setzen -> Parameterentität besitzt KEIN Statusmodell !

// Id der Parameterentität
Integer kandidantenlisteId = (Integer)server.getParameterObjectContainerCVO().getMasterData().getId();
// Wert eines Feldes in der Parameterentität
String kandidatenliste = (String)server.getFieldValue("Kandidatenliste", kandidantenlisteId, "namederliste");
 
//Id in Zielobjekt in dafür vorgesehenes ID Feld eintragen
server.setField("Kandidat", "kandidatenliste", kandidantenlisteId, kandidatenliste);

 

[Bearbeiten] Objektgenerierung starten / ausführen

Im Detaildatensatz des entsprechenden Entitätsobjekts steht im definierten Status eine Combobox Arbeitsschritt zur Verfügung.

Auslösen von Arbeitsschritten für mehrere Datensätze: In der Listenauswahl alle auszulösenden Datensätze markieren und mit rechter Maustauste Dropdown Menu aufrufen. Der Befehl Arbeitschritte steht zur Verfügung und wird für jeden Datensatz ausgeführt.

Module objektgenerierung 5.gif

Nach Betätigung wird ein Objekt vom Typ des definierten Zielobjektes erzeugt. Die definierten Attribute und Unterformulardaten werden dabei übernommen und die definierten Regeln ausgeführt. Das Objekt wird, sofern alle Pflichtfelder durch die Übernahme gefüllt wurden, gleich gespeichert. Sind nicht alle Pflichtfelder gefüllt, so erscheint eine Hinweismeldung das nachzuholen. Das Objekt muss anschließend gespeichert werden.

[Bearbeiten] Objektbeziehungen / Relationen

Durch den Arbeitsschritt wird automatisch eine Beziehung (Nachfolgebeziehung) zwischen den Objekten hergestellt.

Um diese Beziehungen sichtbar zu machen, muss in Enitätenwizard das Flag für das Anzeigen von Relationen gesetzt werden (Zeige Relationen). Nur wenn dieses Flag gesetzt ist, können die Objektbeziehungen in der Baumnavigation dargestellt werden.

Module objektgenerierung 6.gif

  • Keine Stichwörter