Definiton


Menüaufruf: (Konfiguration) - (Objektgenerator)

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

 


Reiter: Objektgenerator

Die Daten auf diesem Reiter dienen dazu, den Objektgenerator im System zu verankern und dabei zu bestimmen, wo und wann er angezeigt und ausgeführt werden soll.

  • Name: interner, eindeutiger Name des Objektgenerators
  • Beschriftung: die für den Benutzer angezeigte Bezeichnung zum Ausführen des Objektgenerators
  • In Einzelverarbeitung verbergen: wenn aktiviert, wird der Objektgenerator nicht in der Dropdownliste für die Ausführung angeboten. Diese Einstellung macht z.B. dann Sinn, wenn man auf dem Layout einen Button für den OG bevorzugt.
  • In Stapelverarbeitung verbergen: wenn aktiviert, kann der Objektgenerator in der Sammelbearbeitung nicht ausgeführt werden. Er steht für den Anwender nicht zur Verfügung.
  • Gruppierung nach zu übernehmenden Attributen durchführen: wenn der Objektgenerator auf mehrere Datensätze angewandt wird, wird nur ein Zieldatensatz je Gruppe (erzeugt über "group by") generiert. Die Werte der zu übernehmenden Felder werden mittels der angegebenen Gruppierungsfunktionen aggregiert.
  • Zielobjekt mit Quellobjekt verknüpfen: wenn das Ziel-BO ein Referenzfeld auf das Quell-BO besitzt, wird diese Referenz zwischen generiertem Objekt und Quellobjekt hergestellt.
  • Generiertes Objekt bei Fehler nicht öffnen: wenn bei der Ausführung des Objektgenerators (also beim Ausführen einer Regel oder beim etwaigen Speichern) ein Fehler auftritt, wird das generierte Objekt nicht geöffnet (unabhängig vom Flag "Objekt anzeigen")
  • Generiertes Objekt nicht speichern: das generierte Objekt wird im Anschluss nicht gespeichert. Eventuell vorhandene GenerateRules werden ausgeführt, GenerateAfterRules nicht.
  • Objekt anzeigen: das generierte Objekt wird in einem neuen Tab angezeigt
  • Im Overlay öffnen: das generierte Objekt wird nicht in einem neuen Reiter angezeigt, sondern erscheint als Overlay über dem Quellobjekt. Diese Einstellung macht vor allem dann Sinn, wenn sie mit dem Dialog Modus angewendet wird
  • Dialog Modus: mit diesem Feature kann ein Objektgenerator als "Zwischendialog" genutzt werden, wenn z.B. für eine bestimmte Aktion vom Anwender noch komplexere Eingaben erforderlich sind, diese aber nur zur Weiterverarbeitung des Quellobjektes dienen. Wenn aktiviert, bietet das generierte Objekt statt dem Speicherbutton einen Ok und Abbrechen Button an. Beim Klick auf OK wird der Datensatz intern gespeichert und die dahinterliegende Speicherregeln kann die entprechende Logik umsetzen.
    Beispiel für Richclient und Webclient:
  • Quellobjekt aktualisieren: der Quelldatensatz wird nach der Generierung neugeladen um eventuelle Änderungen anzuzeigen
  • Generierung ohne Rückfrage: die Generierung wird ohne Bestätigung ausgeführt

Quellmodul: hier wird das Businessobjekt ausgewähl, in dem der Objektgenerator auswählbar sein soll. Also das Quellobjekt. Dieses kann noch weiter nach Mandant, Status und Aktion eingeschränkt werden. Wird die Liste für Status und Aktion leer gelassen, gilt der Objektgenerator für alle Status und Aktionen.

Zielmodul: hier wird das Ziel Businessobjekt angegeben, das ebenfalls noch auf Mandant oder Aktion verfeinert werden kann.

Das Parameterbusinessobjekt ermöglicht es, zusätzliche Felder aus diesem Parameterbusinessobjekt zu übernehmen. Ist ein Parameterbusinessobjekt angegeben, wird der Anwender bei Ausführung des Objektgeneratores aufgefordert, einen Datensatz aus diesem Parameterbusinessobjekt auszuwählen. Dieser wird dann per Definition entsprechend herangezogen.


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 Objektgeneratores 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 dem Parameterbusinessobjekt stammen, muss in der Spalte Quellobjekttyp zunächst 'parameter' ausgewählt werden. Im Quellattribut werden dann alle Felder des Parameterbusinessobjekts vorgeschlagen. Lässt man dieses Feld leer, so werden die Felder des eigentlichen Quellobjektes vorgeschlagen.

In der Spalte Gruppierungsfunktion kann bei Auswahl von "Gruppierung nach zu übernehmenden Attributen durchführen" die Funktion angegeben werden anhand derer die Quellattributwerte zusammengefasst werden (group by, sum, min, max).

Reiter: Zu übernehmende Unterformulare

Auf dieser Reiterkarte werden die Unterformular-Businessobjekte sowohl vom Quell- als auch vom Zielobjekt zur Auswahl angeboten. Die zu übernehmenden Spalten können im unteren abhängigen Unterformular angegeben werden. Eine Gruppierung ist ebenso wie im Hauptobjekt möglich.

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



 

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 Objektgenerator 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.

Details zum Umgang mit der Regel-API im Fall der Objektgenerierung finden sich in Event - Objektgenerierung.


Objektgenerierung starten / ausführen

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



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


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 (solange "Generiertes Objekt nicht speichern" nicht gesetzt ist). Sind nicht alle Pflichtfelder gefüllt, so erscheint eine Hinweismeldung das nachzuholen (solange "Generiertes Objekt nicht speichern" nicht gesetzt ist). Das Objekt muss anschließend gespeichert werden.


  • Keine Stichwörter