Generische Select Order-By-Klausel
Aus SAP-Wiki
(Weitergeleitet von Genersche Order-By-Klausel)
Zur Navigation springenZur Suche springen
Siehe Schlüsselbefehl Select.
Siehe Dynamische/Generische Programmierung.
Siehe Kategorie: Dynamische/Generische Programmierung.
Hier ist die Order-By-Sortierung einer Tabelle erst zur Laufzeit bekannt. Die Felder werden mit einem Parameter P_ORDER im Selektionsbildschirm abgefragt und mit "(gt_order)" dem Select-Statement übergeben.
Um einen Laufzeitfehler zu vermeiden, wenn es in der Tabelle die Felder nicht gibt, wird mit einem Try-Endtry-Befehl eine Fehlerbehandlung durchgeführt.
PARAMETERS: p_order(70) type c. DATA: oerror TYPE REF TO cx_root, txterror TYPE string, gt_order type table of string, gt_sflight type table of sflight. append p_order to gt_order. TRY. SELECT carrid INTO CORRESPONDING FIELDS OF TABLE gt_sflight from sflight order by (gt_order). CATCH cx_sy_dynamic_osql_semantics INTO oerror. txterror = oerror->get_text( ). MESSAGE i531(0u) WITH txterror. ENDTRY.
Literatur
- ABAP Best Practices, S. 101-105