Ansicht
Dokumentation
ABAP/4 Dictionary: Neuerungen bezüglich Fremdschlüssel ( RELNBC_DS_30A_FKEY )
ABAP Short Reference ABAP Short ReferenceDiese Dokumentation steht unter dem Copyright der SAP AG.
Kurztext
ABAP/4 Dictionary: Neuerungen bezüglich Fremdschlüssel
Beschreibung
Bezüglich Fremdschlüssel gibt es die folgenden Änderungen:
1. Änderungen bei der Pflege der semantischen Eigenschaften von
Fremdschlüsseldefinitionen
2. Fremdschlüssel zu includierten Feldern
3. Schlüsselerweiterung von Prüftabellen
4. Eintragen von anderen Wertetabellen in Domänen
-
Änderungen bei der Pflege der semantischen Eigenschaften von
Fremdschlüsseldefinitionen
- Bei der Pflege von Fremdschlüsseldefinitionen sind die folgenden Anpassungen durchgeführt worden:
-
Keine Unterscheidung in semantische Fremdschlüssel und in Dynprofremdschlüssel
Ab Release 3.0 ist dieses Unterscheidungskriterium nicht mehr vorgesehen. Die semantischen Fremdschlüssel hatten die Eigenschaft, daß die Attribute Kardinalität und Abhängigkeitsgrad gepflegt werden mußten. Jetzt ist die Angabe dieser semantischen Eigenschaften bei allen Fremdschlüsseln optional, es sei denn, die Angabe ist für die Aktivierung von Aggregaten wie Helpviews oder Customizing Views notwendig. -
Angabe der Kardinalität in der üblichen (n : m) - Notation
n kann die Werte 1 oder C annehmen.
m kann die Werte 1, C, N oder CN annehmen, wobei die Bedeutung wie bei der bisherigen einstelligen Kardinalität ist.
Die Kardinalität (n : m) beschreibt die Fremdschlüsselbeziehung in Hinblick auf die Anzahl der möglichen beteiligten abhängigen Sätze (Sätze der Fremdschlüsseltabelle) bzw. referierten Sätze (Sätze der Prüftabelle).
n = 1 : Zu jedem abhängigen Satz gibt es genau einen Satz der
Prüftabelle.
Beim Anlegen eines abhängigen Satzes muß in die
Fremdschlüsselfelder ein Eintrag gemacht werden, der
im Primärschlüssel der Prüftabelle vorkommt.
Der Eintrag kann nicht gelöscht werden.
n = C : Es kann Sätze in der Fremdschlüsseltabelle geben, die
keinen Satz der Prüftabelle referieren.
Beim Anlegen eines abhängigen Satzes kann in die Fremd-
schlüsselfelder ein Eintrag gemacht werden, muß jedoch
nicht.
Dies schließt auch die Möglichkeit ein, einen bestehenden
Eintrag zu löschen, ohne daß der abhängige Satz selbst
gelöscht wird.
m = 1 : Zu jedem Satz der Prüftabelle gibt es genau einen
abhängigen Satz.
m = C : Zu jedem Satz der Prüftabelle gibt es höchstens einen
abhängigen Satz.
m = N : Zu jedem Satz der Prüftabelle gibt es mindestens einen
abhängigen Satz.
m = CN: Zu jedem Satz der Prüftabelle gibt es beliebig viele
abhängige Sätze. -
Angabe der Art der Fremdschlüsselfelder
Durch die Angabe der Art der Fremdschlüsselfelder werden die semantische Eigenschaften der Fremdschlüsselbeziehung in Hinblick darauf näher beschrieben, ob die Fremdschlüsselfelder für die Fremdschlüsseltabelle identifizierend sind.
Die Angabe der semantischen Eigenschaften der Fremdschlüsselbeziehungen ist optional, daher gibt es bei der Art auch die Option 'nicht spezifiziert'.
Darüberhinaus können die folgenden Arten angegeben werden:
Keine Schlüsselfelder oder Schlüsselfeldkandidaten:
Die Fremdschlüsselfelder sind nicht identifizierend für die Fremdschlüsseltabelle. Daraus folgt, daß Einträge in den Fremdschlüsselfeldern geändert werden können.
Schlüsselfelder oder Schlüsselfeldkandidaten:
Schlüsselfelder oder Schlüsselfeldkandidaten haben die Eigenschaft, daß sie zu der Menge der identifizierenden Felder der Tabelle gehören. Die Definition einer Tabelle verlangt einen eindeutigen Primärschlüssel, hier kurz Schlüssel genannt. Es kann aber sein, daß in einer Tabelle mehrere Schlüsselkandidaten vorliegen, die allesamt die Eigenschaft besitzen, daß sie identifizierend für diese Tabelle sind. Nur einer ist als der eigentliche Schlüssel ausgezeichnet. In Schlüsselfeldern vorhandene Einträge können nicht geändert werden.
Schlüsselfelder einer Texttabelle:
Diese Art ist ein Spezialfall der Eigenschaft, daß die Fremdschlüsselfelder Schlüsselfelder sind. Es gilt zusätzlich die Bedingung, daß die abhängige Tabelle eine sprachabhängige Texttabelle zur referierten Tabelle ist. Der Schlüssel der Texttabelle setzt sich aus dem Schlüssel der referierten Tabelle und einem Sprachenschlüssel zusammen.
-
Abbildung des bisherigen Abhängigkeitgrades und der einstelligen
Kardinalität auf die Art und Kardinalität in (n:m)-Notation (Rel. 3.0)
Bis einschließlich Release 2.2 wurden die semantischen Eigenschaften der Fremdschlüssel durch die Angaben des Abhängigkeitsgrades und einer einstelligen Kardinalität spezifiziert.
Die zu 3.0 gemachten Änderungen sind aufwärtskompatibel, d.h. alle bisher erfaßten Informationen zu Fremdschlüsseln sind auf die neuen Definitionen abbildbar.
Die bisherige einstellige Kardinalität (bis Rel. 2.2) hat die Bedeutung der rechten Seite der Kardinalität in der (n : m) - Notation (Rel. 3.0).
Der Abhängigkeitsgrad (Rel. 2.2) konnte die Werte ID (identifizierender Fremdschlüssel), TEXT (Fremdschlüssel zu einer Texttabelle), OBL (obligatorischer Fremdschlüssel) und OPT (optionaler Fremdschlüssel) annehmen.
Die folgende Matrix gibt die Abbildung zwischen dem bis 2.2 benutzten Abhängigkeitsgrad und der ab 3.0 verwendeten Art des Fremdschlüsselfelder und linken Seite der Kardinalität (n) wieder.
----------------------------------------------------------------------
(bis 2.2) || (3.0)
Abhängigkeitsgrad || Art der Fremdschlüsselfelder | n
----------------------------------------------------------------------
ID || Schlüsselfelder/-kandidaten | 1
TEXT || Schlüsselder einer Texttabelle | 1
OBL || keine Schlüsselfelder/-kandidaten | 1
OPT || keine Schlüsselfelder/-kandidaten | C ----------------------------------------------------------------------
- Fremdschlüssel zu includierten Feldern
- Beim Includieren einer Unterstruktur in eine Tabelle werden auch die Fremdschlüssel der Unterstruktur an die Tabelle vererbt.
- Für das Verhalten bei Änderungen an der Unterstruktur kann ab Release 3.0A unter zwei Möglichkeiten gewählt werden:
- Die Vererbung zur Unterstruktur bleibt erhalten. Änderungen in der Unterstruktur werden beim Aktivieren an die includierende Tabelle weitergegeben.
- Die Vererbung wird gelöst. Der Fremdschlüssel verhält sich wie ein Fremdschlüssel zu nicht includierten Feldern. Änderungen an der Unterstruktur wirken sich (bezüglich der Fremdschlüssel) nicht mehr auf die includierende Tabelle aus.
- Fremdschlüssel zu Customizing-Includes und Append-Strukturen können nicht von der Vererbung gelöst werden. Die Fremdschlüssel müssen in diesen Fällen in den Unterstrukturen gepflegt werden, damit keine Modifikation der includierenden Tabelle erfolgt.
- Schlüsselerweiterung bei Prüftabellen
-
Auch bei Prüftabellen, die in Fremdschlüsselbeziehungen benutzt werden, kann jetzt eine
Schlüsselerweiterung durchgeführt werden. Es können neue Schlüsselfelder an den bisherigen Schlüssel angehängt werden.
Bei der Aktivierung der Prüftabelle werden die beteiligten Fremdschlüssel als generisch bezüglich des neuen Schlüsselfeldes definiert. Anhand des Aktivierungsprotokolls kann man feststellen, welche Fremdschlüssel automatisch als partiell angepaßt wurden. Bei Bedarf können diese Fremdschlüssel dann in der Dictionary Pflegetransaktion umdefiniert werden.
- Eintragen einer anderen Wertetabelle bei einer Domäne
-
Wird einer Domäne eine neue Wertetabelle zugeordnet, dann werden bei der Aktivierung der Domäne
nicht mehr wie bisher alle betroffenen Fremdschlüssel automatisch gelöscht. Diese Fremdschlüssel
bleiben erhalten. Es wird aber im Aktivierungsprotokoll protokolliert, welche betroffenen Fremdschlüssel
möglicherweise inkonsistent sind. Diese können dann nach Bedarf angepaßt oder gelöscht werden.
Damit ist das Verfahren vereinfacht, eine Wertetabelle einzuführen, die Prüftabelle der bisherigen Wertetabelle ist, wobei die bisherigen Fremdschlüssel erhalten bleiben sollen. Es gibt eine transitive Fremdschlüsselbeziehung zwischen diesen Fremdschlüsseltabellen auf die neue Wertetabelle der Domäne. Die Fremdschlüsselbeziehung zwischen der alten und der neuen Wertetabelle muß in diesem Fall selbstverständlich angelegt werden.
Einfluß auf den Datenbestand im Fehlerfall
Soft-/Hardwarevoraussetzungen
Besonderheiten bei der Installation
Auswirkungen auf die Systemverwaltung
Auswirkungen auf das Customizing
Auswirkungen auf Batch-Input
Änderungen an der Oberfläche
Änderungen in der Vorgehensweise
Aktionen zum Beheben von Fehlern am Datenbestand
Abhängige Funktionen
Planungen
Weitere Hinweise
ABAP Short Reference PERFORM Short Reference
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 11295 Date: 20240523 Time: 180136 sap01-206 ( 158 ms )