Ansicht
Dokumentation

DDUT_FORKEY_CHECK - DD: Fremdschluesselpruefung von Werten in Einzelfeldern

DDUT_FORKEY_CHECK - DD: Fremdschluesselpruefung von Werten in Einzelfeldern

ABAP Short Reference   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Der Data Dictionary Funktionsbaustein DDUT_FORKEY_CHECK prüft Daten einer Tabelle auf Konsistenz bzgl. der Fremdschlüsseldefinitionen der Tabelle. Der Funktionsbaustein simuliert die Fremdschlüsselprüfungen, die normalerweise auf den Screens durch den DYNP durchgeführt werden.

Eingaben:

TABNAME: Name der Fremdschlüsseltabelle

FIELDNAME: Name des Prüffeldes (Optional: falls kein Feldname angegeben wird, werden alle Fremdschlüssel von TABNAME geprüft)

VALUE_LIST: Werteliste: die Werte von Feldern der Fremdschlüsseltabelle. Diese Werteliste muß dieselbe Struktur der Fremdschlüsseltabelle haben (zusatz bei strukturübergreifenden Fremdschlüsseln, siehe Parameter ADAPTED_FIELDVALUES)

CLIENT_SPECIFIED: optionale Flag, ob Mandant spezifiziert ist (ansonsten wird wie beim DYNP als Wert des Mandantenfeldes der Systemmandant zugrundegelegt)

ADAPTED_FIELDS: veraltet, ab Basis-Release 5.0 durch ADAPTED_FIELDVALUES ersetzt. Für die Ausnahmefälle der strukturübergreifenden Fremdschlüsseldefinitionen, d.h. wenn nicht alle Fremdschlüsselfelder aus der Fremdschlüsseltabelle sind. In ADAPTED_FIELDS werden die Angaben Tabellenname - Feldname - ggf. Datentyp/Länge des Feldes von strukturübergreifenden Fremdschlüsseln, die nicht zu der Fremdschlüssetabelle gehören, eingegeben. Die Datentyp/Längenangabe ist nur notwendig, wenn das Fremdschlüsselfeld nicht zu einer DD Tabelle/Struktur gehört, sondern aus einer ABAP-Workarea stammt (ist nur die Länge, aber kein Datentyp spezifiziert, wird CHAR zugrundegelegt). Die zugehörigen Werte müssen an die VALUE_LIST angehängt werden, und zwar in der in ADAPTED_FIELDS angegebenen Reihenfolge und in den dort angegebenen Formaten.

ADAPTED_FIELDVALUES: Werteübergabe für die Ausnahmefälle der strukturübergreifenden Fremdschlüsseldefinitionen, d.h. wenn nicht alle Fremdschlüsselfelder aus der Fremdschlüsseltabelle sind. In ADAPTED_FIELDVALUES werden die Angaben Tabellenname - Feldname - Referenz auf den zugehörigen Wert des Feldes von strukturübergreifenden Fremdschlüsseln, die nicht zu der Fremdschlüssetabelle gehören, eingegeben.

ACCEPT_INITIAL: Flag, ob ein Initialwert im Prüffeld (s. Begriffe) akzeptiert werden soll. Falls ACCEPT_INITIAL = 'X', gilt folgendes: Ist das Prüffeld mit einem Initialwert belegt (z.B. ein CHAR-Feld mit SPACE), dann wird kein Fehler geliefert, wenn die entsprechenden Einträge nicht in der Prüftabelle sind. Dieses entspricht dem Verhalten der Fremdschlüsselprüfung auf den Dynpros. Der Default für ACCEPT_INITIAL ist jedoch SPACE, d.h. ein Initialwert im Prüffeld wird geprüft.

ACCEPT_ALL_INITIAL: Flag, ob Initialwerte in den Fremdschlüsselfeldern akzeptiert werden sollen. Falls ACCEPT_ALL_INITIAL = 'X', gilt folgendes: Sind Fremdschlüsselfelder mit Initialwerten belegt (z.B. CHAR-Felder mit SPACE), dann wird kein Fehler geliefert, wenn die entsprechenden Einträge nicht in der Prüftabelle sind. Der Default für ACCEPT_ALL_INITIAL ist jedoch SPACE, d.h. auch Initialwerte in den Fremdschlüsselfeldern werden geprüft.

Ausgaben:

COND_TAB: Zeilen der WHERE-Bedingungen (mit Feldname und Prüftabelle)

FAILURE_TAB: Ausgabe der Felder, für die die Fremdschlüsselprüfungen negativ waren, samt der Messages, die dafür vom DYNP ausgegeben werden. Die Messages sind im DD bei der Fremdschlüsseldefinition erfaßt worden. Für den Default-Fall wird die Message 00 058 ausgegeben. Wird die Tabelle FAILURE_TAB beim Aufruf des Bausteins nicht angegeben, dann wird nur die COND_TAB gefüllt, aber es finden keine Prüfungen statt.

Begriffe:

Prüftabelle: diejenige Tabelle, gegen deren Schlüsselfelder verprobt wird (auch referierte Tabelle genannt).

Fremdschlüsseltabelle: diejenige Tabelle, deren Einträge konsistent gegen die Schlüsselfelder der Prüftabelle sein müssen (ebenfalls als abhängige Tabelle bezeichnet).

Fremschlüsselfelder: diejenigen Felder der Fremdschlüsseltabelle, die den Schlüsselfeldern der Prüftabelle entsprechen.

Prüffeld: das ausgezeichnete Feld der Fremdschlüsselfelder, bei dem die Fremdschlüsselbeziehung definiert ist und auf dem die Prüfungen stattfinden.

Beispiel

Aufrufbeispiel:

...
DATA:
wa_sflight TYPE sflight,
cond_tab LIKE ddwherecnd OCCURS 0 WITH HEADER LINE,
failure_tab LIKE ddfkeyrc OCCURS 0 WITH HEADER LINE.

wa_sflight-carrid = 'LH'.
wa_sflight-connid = '0400'.
...

CALL FUNCTION 'DDUT_FORKEY_CHECK'
EXPORTING
tabname = 'SFLIGHT' "Fremdschlüsseltabelle
fieldname = 'CONNID' "Prüffeld
value_list = wa_sflight "Werteliste
TABLES
cond_tab = cond_tab
failure_tab = failure_tab
EXCEPTIONS
forkey_not_defined = 1
table_not_active = 2
field_unknown = 3
OTHERS = 4.
...

Hinweise

Weiterführende Informationen





Parameter

ACCEPT_ALL_INITIAL
ACCEPT_INITIAL
ADAPTED_FIELDS
ADAPTED_FIELDVALUES
CLIENT_SPECIFIED
COND_TAB
FAILURE_TAB
FIELDNAME
TABNAME
VALUE_LIST

Ausnahmen

FIELD_UNKNOWN
FORKEY_NOT_DEFINED
TABLE_NOT_ACTIVE

Funktionsgruppe

SDFC

CPI1466 during Backup   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6466 Date: 20240523 Time: 135716     sap01-206 ( 137 ms )