SELECT fieldname AS … INTO CORRESPONDING FIELDS

Ein kleiner Trick für Zwischendurch: Häufig ist es erwünscht, dass man den Inhalt eines Datenbankfeldes gleichzeitig in mehrere andere Felder einlesen möchte. Paradebeispiel für diese Anforderung dürfte der dynamische Aufbau eines ALV-Feldkataloges sein um die Bezeichnung eines dynamischen Elementes in die Felder SCRTEXT_S, SCRTEXT_M und SCRTEXT_L zu setzen.

delete-exercise-515757_640

Normalerweise wird man so etwas finden:

SELECT bezei FROM xyz INTO ls_fieldcat-scrtext_l WHERE ...
ls_fieldcat-scrtext_s = ls_fieldcat-scrtext_l.
ls_fieldcat-scrtext_m = ls_fieldcat-scrtext_l.

Mithilfe des AS-Zusatzes funktioniert das ohne Hilfszuweisungen:

SELECT bezei AS scrtext_l 
       bezei AS scrtext_m
       bezei AS scrtext_s
  FROM xyz 
  INTO CORRESPONDING FIELDS OF gs_xyz WHERE ...

Voila. Nicht weniger Code, aber eleganter.

Enno Wulff
Letzte Artikel von Enno Wulff (Alle anzeigen)