Fremdschlüsselbeziehung definieren

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

In einer Tabelle oder View kann man eine Fremdschlüsselbeziehung definieren. In einem SAP-System lassen sich die kundeneigenen Tabellen und Views frei mit Fremdschlüsselbeziehungen versehen.

Warum Fremdschlüsselbeziehungen definieren

  • Die Fremdschlüssel beschränken die Werte, die in einem Feld eingetragen werden können. Es lassen sich so Fehleingaben verringern, da Werte nicht eingetragen werden können, die nicht in der Prüftabelle vorhanden sind. Voraussetzung die Checkbox „Prüfung erwünscht“ ist aktiviert.
  • Bei der Anlage eines Tabellenpflegeviews basierend auf der Tabelle/View und bei der anschließenden Pflege der Werte können nur Werte der Prüftabelle eingetragen werden.
  • Bei der Selektion über SE16, bzw. SE16N ist es allerdings trotzdem möglich über Werte zu selektieren, die nicht in der Prüftabelle stehen. Das macht auch Sinn, da sonst bei Löschen von Werten in der Prüftabelle nicht mehr über diese Werte selektiert werden könnte, wenn nur Selektionen über die Werte der Prüftabelle möglich wären.

Tabelle

PflegeviewJoin1.jpg

  • Nun markiert man Mandantenfeld und den Key und klickt auf Fremdschluessel1.JPG (Fremdschlüssel).

Anlage Fremdschlüsselbeziehung

  • Diese Felder lassen sich in diesem Fall mit der Tabelle T005 verknüpfen mit der Art "Schlüsselfelder/-Kandidaten".
  • Mit der Checkbox „Prüfung erwünscht“ ist es nicht mehr möglich im Dialog einen Wert einzutragen, der nicht in der Prüftabelle vorhanden ist. Was jedoch immer noch geht, ist per Programmupdate einen unbekannten Wert in das Feld zu schreiben, da im Coding die Prüfung nicht durchlaufen wird.

PflegeviewJoin2.jpg

Ausgabe Fehlernachricht mit selbst gewählter T100-Nachricht

Im Feld "MsgNr" und "AGeb" kann auch eine passende Nachricht angegeben werden, die bei der Fehlerprüfung erscheinen soll.

Fremdschluessel2.JPG

Es sollte zunächst nach einer passenden Standardnachricht gesucht werden. Hier wird meist die Übersetzung in die Anmeldesprachen vom SAP-System gewährleistet sein. Sollte keine passende Standardnachricht existieren, kann man selber eine Nachricht anlegen in der Transaktion SE91 (Nachrichtenpflege) und sie dann auch gleich übersetzen.

In der Transaktion SE16N wurde (im anderen Kontext) nach einer geeigneten Nachricht gesucht.

Fremdschluessel3.JPG

Anlage Fremdschlüsselbeziehung inklusive Festwertfeld

Es kann auch eine Fremdschlüsselbeziehung angegeben werden, wenn zur Prüftabelle ein weiteres Schlüsselfeld gehört.

Fremdschluessel5.JPG


Hier ist zum Feld "BSART" die Prüftabelle T161, wobei zusätzlich zum Feld "BSART" auch das Feld "BSTYP" zum Key der Prüftabelle gehört. Für das Feld "BSTYP" wird hier nun die Konstante "F" (Bestellungen) übergeben. Wenn alle Werte vom Key "BSTYP" gültig sein sollten, würde man keine Konstante eingeben, sondern die Checkbox "Generic" aktivieren.

Fremdschluessel6.JPG

Web-Links