Eine Referenz kann über das Hauptmenü Neu / Referenzen angelegt werden,
wenn eine Datengruppe in der
Applikationsstruktur markiert ist.
Mit Klick auf "Referenz hinzufügen" wird ein
Dialog
geöffnet, in dem eine Applikation und Datengruppe ausgewählt werden kann, deren Daten in der aktuellen
Applikation verwendet werden sollen. Auch andere Datengruppen aus der aktuellen Applikation können hier
ausgewählt und verwendet werden. Klicken Sie anschließend auf "Weiter".
In diesem Dialog können nun die Datenfelder ausgewählt werden, deren Daten in der aktuellen Applikation
angezeigt werden sollen. Klicken Sie auf "Fertigstellen". Die Referenz ist nun erstellt.
Nun kann z.B. auf einer Eingabeseite
eine Auswahlliste mit der Referenz verbunden werden.
Dazu wählen Sie einfach auf dem Reiter Einträge
die Option "Werte aus Referenzen" aus. Als Anzeigewert kann dann das gewünschte Datenfeld aus der Referenz
(hier z.B. der volle Name eines Benutzers) eingestellt werden. Wird nun auf der Eingabeseite im Browser ein
neuer Datensatz erfasst, werden in der Auswahlliste alle entsprechenden Werte aus dem referenzierten Datenfeld
angezeigt und können ausgewählt werden. Die Daten in der Liste sind dabei immer aktuell, weil alle Änderungen
in der referenzierten Datengruppe bei der Anlage eines neuen Datensatzes (dem Laden der Eingabeseite)
aktualisiert angezeigt werden. Änderungen in der referenzierten Datengruppe werden auch in den Datensätzen
aktualisiert, die bereits angelegt sind.
Der Bezug wird über die Datensatz-ID des referenzierten Datensatzes hergestellt. Alle
Elemente, die mit Referenzfeldern verbunden sind,
werden beim Speichern eines Datensatzes automatisch mit den Werten der Referenzdatengruppe gefüllt.
Beachten Sie bitte, dass Sie zwar Eingabeelemente anlegen können,
die Referenzdaten anzeigen, die Werte, die vom Benutzer in diese Elemente
eingegeben werden, jedoch nicht gespeichert werden. Wird die referenzierte
Applikation oder die referenzierte Datengruppe geändert, so wird das interne
Bezugsfeld neu generiert. Eingetragene Datensatz-IDs für die vorherige referenzierte
Datengruppe gehen dabei verloren. Solange ein Datensatz referenziert ist, kann er geändert,
aber nicht gelöscht werden.
2. Referenzen auf Fremddatenquellen
Im diesem Beispiel wird eine Applikation, in der Kundendaten mit Aufträgen, Auftragspositionen
und Produkten verwaltet werden, mit Fremddatengruppen
in einer Ziel-Applikation abgebildet. Wie Sie Verbindungen zu Fremddaten einrichten können, erfahren Sie
hier. Informationen zur Einbindung
externer Daten in Applikationen finden Sie hier.
Die Datenstruktur in diesem Beispiel ist in beiden Applikationen identisch. In der Datengruppe "Position"
ist in beiden Applikationen eine Referenz auf die Datengruppe "Produkte" eingerichtet.
Um die Beziehung von untergeordneten Datengruppen
zu Elterndatengruppen per Fremddatenzugriff abzubilden, muss der Foreign Key
in der untergeordneten Datengruppe definiert werden.
Hier sehen Sie den Eigenschaftendialog
der Fremddatengruppe "Auftrag". Das Datenfeld "fklid" ist als
Foreign Key eingestellt. Es enthält
die ID des Elterndatensatzes aus der Fremddatengruppe "Kunden". Mit Klick auf
"Foreign Key" kann ein Datenfeld als Fremdschlüssel
definiert werden. Das Feld, das als Foreign Key eingesetzt wird,
muss einen Wert enthalten, mit dem ein Elterndatensatz eindeutig identifiziert werden kann, wie z.B. eine Kundennummer.
Hier sehen Sie den Eigenschaftendialog der Fremddatengruppe "Position". Das Datenfeld "fklid" ist als
Foreign Key eingestellt. Es enthält die ID des Elterndatensatzes aus
der Fremddatengruppe "Auftrag".
Das Datenfeld, das in der Quellanwendung als Foreign Key für
die Referenzierung des Datensatzes aus der Datengruppe "Produkte"
eingesetzt wird, darf hier in der Datenfeld-Liste nicht aufgenommen werden.
Im Eigenschaftendialog der Fremddatengruppe "Position" wird auf dem
Reiter Referenzen die
Fremddatengruppe "Produkt" referenziert. Klicken Sie auf "Referenz bearbeiten" und
wechseln Sie dann auf den Reiter Beziehungen.
Hier ist das Feld "ref_product" als Foreign Key
für die Beziehung zur Fremddatengruppe "Produkte" eingetragen. Dieses Datenfeld enthält die ID des Produktes.
Bei jeder Anlage einer Position wird so automatisch auch die ID des Produktes in diesem Referenzfeld gespeichert.
Wenn Sie eine Referenz neu anlegen, kann hier mit Klick auf "Zuordnung treffen" ein
Dialog geöffnet werden, in dem
mit der Option "Datenfeld" ein Referenz-Datenfeld ausgewählt werden kann. Dessen eindeutiger Wert wird dann als
Foreign Key für die Identifikation des entsprechenden Datensatzes benutzt.
Weitere Informationen zu diesem Dialog finden Sie hier.
Fremddatengruppen, die aus der Portaldatenbank-Verbindung IxSysDb
stammen, können auch auf alle Standard-Datengruppen referenzieren. Bei der Integration von Fremddatentabellen ist das
Einbinden von