Referenzen
Allgemeines
Mit Referenzen kann eine direkte Verbindung zu Daten aus anderen Datengruppen hergestellt werden. Die Daten können auch aus einer anderen Applikation stammen. Bei einer Änderung der Daten in der Applikation und Datengruppe, in der die Referenz eingerichtet ist, werden die Originaldaten der referenzierten Datengruppe aktualisiert. Der Bezug wird über die Datensatz-ID des referenzierten Datensatzes hergestellt. Alle Ansichts- und Eingabeelemente, 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.
|
Eine Referenz kann über das
Kontextmenü einer Datengruppe neu angelegt werden.
Referenzen auf Fremddatenquellen
Im folgenden Beispiel wird eine Applikation, in der Kundendaten mit Aufträgen, Auftragspositionen und Produkten verwaltet werden, per Fremddatenzugriff in einer Ziel-Applikation abgebildet. Die Datenstruktur ist in beiden Applikationen identisch. Die Datengruppe
Position wird in beiden Applikationen als Referenz auf die Datengruppe
Produkte konfiguriert.
Quell-Applikation
Ziel-Applikation
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 Feld
fklid ist als
Foreign Key eingestellt. Es enthält die ID des Elterndatensatzes aus der Fremddatengruppe
Kunden.
Klicken Sie auf
Foreign Key, um ein Feld als
Fremdschlüssel-Feld zu definieren. 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 Feld
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.
|
In den Eigenschaften der Fremddatengruppe
Position wird die Referenz auf die Fremddatengruppe
Produkt eingestellt.
In den Eigenschaften der Referenz wird die Beziehung definiert.
Das Feld
ref_product ist in diesem Beispiel als
Foreign Key für die Beziehung zur Fremddatengruppe
Produkte hinterlegt und entspricht dem Datenfeld, das die ID des Produktes enthält. Bei jeder Anlage einer Position wird so automatisch auch die ID des Produktes in diesem Referenzfeld gespeichert.
Im Eigenschaftendialog einer Beziehung, den Sie mit Klick auf
Bearbeiten erreichen, wird das Referenz-Datenfeld zugeordnet.
Mit der Option
Datenfeld kann hier ein Datenfeld aus der zu referenzierenden Datengruppe ausgewählt werden, dessen eindeutiger Wert als
Foreign Key für die Identifikation des entsprechenden Datensatzes benutzt wird. Wenn Sie z.B. eine Datengruppe referenzieren, die Artikel enthält, so könnte hier die Artikelnummer ausgewählt werden.
Mit der Option
Benutzer kann hier auch ein Feld aus der Benutzerverwaltung als
Foreign Key eingesetzt werden. Mit der Option
Statischer Wert kann ein fester Wert, mit
Session-Variable der Wert einer Session-Variablen verwendet werden.
 |
Fremddatengruppen, die aus der Intrexx-Standardverbindung stammen, können auch auf alle Standard-Datengruppen referenzieren. Bei der Integration von Fremddatentabellen ist das Einbinden von
- mehrfachen Primärschlüssels
- mehrfachen Foreign Keys
- gemischten Primary und Foreign Keys
nicht möglich.
|