Seitenhistorie
Inhalt |
---|
|
Definition
Der Unterschied zwischen einem normalen Businessobjekt und einem virtuellen Businessobjekt ist, dass die Daten eines virtuellen BOs auf eine View basieren.
Voraussetzung für die Anlage eines virtuellen BOs ist also eine View. Zur Anlage einer View
siehe Datenbankobjekte
Konfiguration
Die View, die für das virtuelle BO verwendet werden soll, muss dabei mindestens folgende Spalten enthalten (exakte Bezeichnung einhalten !):
Codeblock |
---|
INTIDintid, -- Datensatzidentifizierer STRCREATEDstrcreated, -- Ersteller als String DATCREATEDdatcreated, -- Erstellungsdatum STRCHANGEDstrchanged, -- Änderer als String DATCHANGEDdatchanged, -- Änderungsdatum INTVERSIONintversion -- Datensatzversion |
Sofern auf die Daten des virutellen virtuellen BOs referenziert werden soll, muss die Spalte INTID "intid" ein eindeutiger Wert sein.
Dynamische Businessobjekte werden in absehbarer Zeit aufgegeben bzw. nicht mehr weiterentwickelt, hier die bessere Alternative Virtuelle Businessobjekte erklärt:
Beispiel:
View erzeugen:
Menüaufruf: (Konfiguration) - (Datenbank) - (Datenbankobjekt)
Hier erstellt man ein Datenbankobjekt des Typs VIEW.
Menüaufruf: (Konfiguration) - (Datenbank) - (Datenbankobjekt - Quelltext.)
Wichtig: Damit Nuclos erkennt, dass es sich um eine View handelt müssen die Felder intid, strcreated, strchanged, datcreated, datchanged und intversion vorhanden sein.
Ausserdem muss die Intid eindeutig sein.
Referenzfelder müssen ein INTID vorangestellt haben.
Businessobjekt für View anlegen:
in Schritt 2. Allgemeine Eigenschaften kann man unter Erweiterte Einstellungen das Virtuelle Businessobjekt auswählen, die man vorher angelegt hat.
Falls man in der View Referenzfelder auf andere Businessobjekte erstellt hat muss man diese unter "4.Attribute bearbeiten" mit dem jeweiligen referenzierten Businessobjekt verbinden.
Bei Werten, die als Referenz auf einen anderen Datensatz eingerichtet werden sollen, muss der Spaltenname mit "intid_str" beginnen.
Die Datentypen werden von Nuclos automatisch ermittelt. Sollte es da zu komischen Werten kommen, hilft ein expliziter cast. Beispiel: Ein durch eine DB-Funktion berechnetes Attribut liefert eigentlich "numeric(12,2)" zurück, aber Nuclos macht daraus "numeric(131089, 0)".
Dann hilft ein cast des Ergebnisses "db_funktion(intid)::numeric(9,2)" direkt in der View.
Warnung | ||
---|---|---|
| ||
Die Bezeichnung der Attribute in der Datenquelle und im Businessobject sind case sensitiv und müssen gleich sein. Um Fehler zu vermeiden, sollten die Spaltennamen alle klein geschrieben sein und dürfen keine Sonderzeichen enthalten, es sollten also keine Hochkommata erforderlich sein
Die Spaltennamen dürfen außerdem nicht mehr als 30 Zeichen haben. |
Virtuelles BO anlegen
Im Businessobjekt ein neues BO anlegen.
Im Schritt 2 (Allgemeine Eigenschaften) wird der Button Erweiterte Eigenschaften einblenden betätigt und es klappt der Bereich für die Konfiguration des virutellen BOs hoch.
- Virtuelles Businessobjekt: Auswahl der View, die im obigen Schritt vorbereitet wurde. Steht die View nicht zur Auswahl, so ist diese evtl. nicht gültig oder enthält Fehler
- Id Factory für VE (optional): hier kann eine Datenbankfunktion gewählt werden, wenn Daten über das virutelle BO in eine Tabelle geschrieben werden sollen. Das BO wird dann automatisch in den Änderungsmodus gesetzt und der Haken unter "Ist das Businessobjekt änderbar?" automatisch aktiviert.
- Tabellenname: dieses Feld wird bei virtuellen BOs leer gelassen, da statt einer Tabelle eine View die Grundlage darstellt
Im nächsten Schritt des BO-Wizard sind nun automatisch alle Attribute aufgelistet, die in der View als Datenspalten angegeben wurden. Nun können nachräglich der Anzeigename bzw. die Beschreibung verändert werden.
Bei Referenzfeldern muss noch die Information zum referenzierenden BO eingetragen werden.
Virtuelles BO ändern
Soll ein virtuelles BO geändert weden, so muss zunächst die View in Datenbankobjekte angepasst und gespeichert werden. Anschließend muss der Businessobjekt für dieses Objekt neu durchlaufen und ebenfalls angepasst werden
.