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 !):
intid, -- Datensatzidentifizierer strcreated, -- Ersteller als String datcreated, -- Erstellungsdatum strchanged, -- Änderer als String datchanged, -- Änderungsdatum intversion -- Datensatzversion
Sofern auf die Daten des virtuellen BOs referenziert werden soll, muss die Spalte "intid" ein eindeutiger Wert sein.
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.
Wichtige Hinweise für die Benennung der Spalten
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
- Datum
- "Datum (Ist)"
- Qualitätsmerkmal
- datum
- datum_ist
- qualitaetsmerkmal
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.
Zum Speichern der Inhalte muss dem virtuellen BO eine ID-Factory (Sequence) hinterlegt werden, und es muss eine UPDATE RULE eingerichtet werden, die das tatsächliche Update auf der/n zugrundeliegende(n) Tabelle/n ausführt. Sollen in dem virtuellen BO auch Datensätze über Nuclos angelegt (bzw. gelöscht) 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.