Ansicht
Dokumentation

ABAP/4 Dictionary: Neuerungen bezüglich Fremdschlüssel ( RELNBC_DS_30A_FKEY )

ABAP/4 Dictionary: Neuerungen bezüglich Fremdschlüssel ( RELNBC_DS_30A_FKEY )

ABAP Short Reference   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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

  1. Änderungen bei der Pflege der semantischen Eigenschaften von
    Fremdschlüsseldefinitionen
Bei der Pflege von Fremdschlüsseldefinitionen sind die folgenden Anpassungen durchgeführt worden:
  1. 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.
  2. 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.
  3. 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 ----------------------------------------------------------------------
  1. 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:
  1. Die Vererbung zur Unterstruktur bleibt erhalten. Änderungen in der Unterstruktur werden beim Aktivieren an die includierende Tabelle weitergegeben.
  2. 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.
  1. 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.
  1. 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 )