Generische Select Tabellennamen

Aus SAP-Wiki
(Weitergeleitet von Generische Tabellennamen)
Wechseln zu: Navigation, Suche

Hier sind die Tabellennamen erst zur Laufzeit bekannt. Der Tabellenname wird mit einem Parameter P_TAB im Selektionsbildschirm abgefragt und mit (p_tab) dem Select-Statement übergeben. Um einen Laufzeitfehler zu vermeiden, wenn es in der Tabelle das Feld ADRNR nicht gibt oder die Tabelle nicht existiert, wird mit einem Try-Endtry-Befehl eine Fehlerbehandlung durchgeführt.

PARAMETERS: p_tab(30) type c.

DATA: oerror TYPE REF TO cx_root,
      lv_txterror TYPE string.

TRY.
    SELECT adrnr
      INTO CORRESPONDING FIELDS OF TABLE p_ct_itab
      FROM (p_tab).

  "Klasse cx_sy_dynamic_osql_semantics ist für das Abfangen von Fehlern bei dynamischen Open SQL-Anweisungen zuständig
  "und gibt entsprechende Fehlermeldungen zurück, z. B. "Ausnahme: Die Datenbanktabelle 'VBAKK' ist unbekannt."
  CATCH cx_sy_dynamic_osql_semantics INTO oerror.
    lv_txterror = oerror->get_text( ).
    MESSAGE i531(0u) WITH lv_txterror.
ENDTRY.

Literatur