Dynamisch Holen Sie sich die Struktur einer dynamischen Tabelle
Möchte ich dynamisch Holen Sie sich die Struktur einer dynamischen Tabelle. Immer der Tabelle ist kein problem, aber ich blieb immer der Struktur der Tabelle.
DATA: lo_dynamic_table TYPE REF TO data.
FIELD-SYMBOLS: <lt_table_structure> TYPE table,
<ls_table_structure> TYPE any.
CREATE DATA lo_dynamic_table TYPE TABLE OF (lv_my_string_of_table).
ASSIGN lo_dynamic_table->* TO <lt_table_structure>.
//some code assigning the structure
Nun möchte ich diesen Befehl ausführen:
SELECT SINGLE * FROM (lv_my_string_of_table) INTO <ls_table_structure> WHERE (lv_dynamid_where_field).
Wenn es irgendeine andere Lösung, werde ich in Ordnung.
- Und was genau ist dein problem?
- Nein, habe ich nicht, denn ich möchte zur Abfrage einer Tabelle und nicht in eine itab.
- Und es funktioniert nicht, weil
<ls_table_structure>
ist nicht belegt. - Hoppla, du hast völlig richtig.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nehmen Sie den Einsatz von RTT.
Runtime type services
Mit diesem Rahmen können Sie sich den gewünschten Typ während der Laufzeit.
http://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=42965
Die gewünschte Klasse zu sein, CL_ABAP_TABLEDESCR oder sogar CL_ABAP_DATADESCR.
Werden Sie die Arbeit für Sie tun.
Wie es scheint, sind Sie immer eine ddic-Tabelle Namen und wollen, wählen Sie dynamisch Daten aus der Tabellenname in eine generische interne Tabellen.
So, wenn Sie sich bereits eine schöne ddic-Namen, dann die Verwendung von RTT ist noch einfacher.
Da haben Sie die ddic-Namen.
In der Regel gibt es auch viele Funktionsbausteine ( meist in der namespace-Präfix "RPY_*" ).
Dort werden Sie sicherlich einen finden, der bestimmt, welches die Struktur einer Tabelle, ob es enthält enthält, und so weiter.
Aber, versuchen Sie typedescriptors zunächst möchte ich beginnen mit cl_abap_tabledescr=>get_table_line_type.
Dieser code war für meinen Fall:
Fügte ich code für eine dynamische Hash-Tabelle mit dynamischen Schlüsseln.
Beachten Sie auch links.
https://help.sap.com/doc/saphelp_nw70/7.0.31/en-US/79/c55497b3dc11d5993800508b6b8b11/content.htm?no_cache=true
https://archive.sap.com/discussions/thread/92739