Select Tabellenalias "as"

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Schlüsselbefehl Select.

Es spart etwas Schreibaufwand in einem Inner-Join, wenn man für die verknüpften Tabellen einen Platzhalter angibt.

<tabellenname> as <aliasname>

Beispiel Alias-Nutzung

Hier wird die Tabelle VBAK mit "h" (Header) und die Tabelle VBAP mit "i" (Item) stellvertretend angesprochen.

select
  h~vbeln,
  i~posnr,
  i~matnr
  into table @data(lt_vbeln)
  from vbak as h
  inner join vbap as i
    on i~vbeln = h~vbeln.

Alias bei Namenskonflikten von Tabellen

  • Manchmal benötigt man Aliasse, wenn man in einem Select eine Tabelle für verschiedene Abfragen anspricht.
  • Zum Beispiel die Partnertabellen VBPA enthält die Partnerdaten zu einem Vertriebsbeleg für verschiedene Partnerrollen und manchmal möchte man die Daten zu mehreren Partnerrollen in einem Select einlesen.
  • Hier wird ein Alias für die Tabelle VBPA mit dem Namen "ag" (Auftraggeber) vergeben und einen mit dem Namen "we" (Warenempfänger).
Select
 vbak~vbeln 
 ag~kunnr
 we~kunnr
  From vbak
  Inner join vbpa as ag
    on ag~vbeln = vbak~vbeln
    and ag~posnr = 0
    and ag~parvw = 'AG'
  inner join vbpa as we
   On we~vbeln = vbak~vbeln
     And we~posnr = 0
     And we~parvw = 'WE'
  Where vbak~vbeln = iv_vbeln

Abwägung Aliasnutzung

  • Man sollte jedoch nicht übertreiben bei der Verwendung der Aliasse. Es kann einen Select schwerer lesbar machen, wenn die Alias nicht intuitiv erfassbar sind.
  • Bei kurzen vierstelligen Tabellennamen wie "vbak", "likp", "ekko" etc. sollte man meiner Meinung nach auf Aliase verzichten. Es ist nicht das Ziel möglichst wenig Buchstaben im Code zu schreiben, sondern einen schnell erfassbaren verständlichen Code.
  • Aliassee sind praktisch, wenn ein (kundeneigener) Tabellenname sehr lang ist und man mit einem Alias einen kurze schnell erfassbare Ersetzung findet. Das spart Schreibarbeit und erleichtert auch die bündige Formatierung des Codes.
  • Wenn man Aliasse verwendet, sollte man auf eine intuitiv schnell erfassbare Ersetzung achten. Z. B. für die Tabellen "VBAK" und VBAP" die Aliase "K" (Kopf) und "P" (Position) oder "H" (Header) und "I" (Item).