Felder bzw. Komponentennamen einer Tabelle auslesen

Getting started ... Alles für einen gelungenen Start.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Felder bzw. Komponentennamen einer Tabelle auslesen

Beitrag von pohlmann-schwarza (ForumUser / 91 / 0 / 0 ) »
Hallo Leute,

ich möchte die Felder einer beliebigen Tabelle in einem eigenem Programm auslesen und diese anschließend in eine interne Tabelle schreiben.

Leider finde ich keine Möglichkeit die Felder (Komponentennamen) auszulesen.

Bin momentan soweit das ich auf eine beliebige Tabelle mittels Feldsymbol zugreifen kann.

Viele Grüße
Michael

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von TakerOne (Specialist / 102 / 0 / 3 ) »
Hi,
hier ein Beispiel:

Code: Alles auswählen.

REPORT zdz_test_struct NO STANDARD PAGE HEADING LINE-SIZE 80.


TYPES:
  BEGIN OF my_struct,
    comp_a TYPE i,
    comp_b TYPE char10,
  END OF my_struct.

DATA:
  my_data   TYPE        my_struct,
  descr_ref TYPE REF TO cl_abap_structdescr.

FIELD-SYMBOLS:
  <comp_wa>              TYPE abap_compdescr,
  <comp_abap_parmdescr>  TYPE abap_parmdescr.

START-OF-SELECTION.
  descr_ref ?= cl_abap_typedescr=>describe_by_data( my_data ).

  WRITE: / 'Typename     :', descr_ref->absolute_name.
  WRITE: / 'Kind         :', descr_ref->type_kind.
  WRITE: / 'Length       :', descr_ref->length.
  WRITE: / 'Decimals     :', descr_ref->decimals.
  WRITE: / 'Struct Kind  :', descr_ref->struct_kind.
  WRITE: / 'Components'.
  WRITE: / 'Name              Kind   Length   Decimals'.

  LOOP AT descr_ref->components ASSIGNING <comp_wa>.
    WRITE: /
             <comp_wa>-name,
             <comp_wa>-type_kind,
             <comp_wa>-length,
             <comp_wa>-decimals.
  ENDLOOP.
Ich bin eigentlich ein sehr netter Mensch.
Wenn ich Freunde hätte, könnten diese es bestätigen. :-)

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Michael,

dazu gibt es eine ganze Reihe Möglichkeiten.
Je moderner das Release desto besser kann man die RTTI-Klassen (RunTimeTypeInformation) CL_ABAP_*DESCR verwenden. In Deinem Fall wäre es CL_ABAP_STRUCTDESCR.
Alternativ kann man bei DDIC-Objekten auch den FUBA DDIF_NAMETAB_GET benutzen.

PS:
zu langsam... :-(
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von pohlmann-schwarza (ForumUser / 91 / 0 / 0 ) »
Es funktioniert! Bin begeistert.
Danke, für eure Hilfe.

Viele Grüße
Michael

Beitrag von pohlmann-schwarza (ForumUser / 91 / 0 / 0 ) »
Hallo, ich hab nochmal zwei Fragen zu der Lösung.

Warum muss descr_ref vom TYPE cl_abap_structdescr sein?
Später wird es doch auf cl_abap_typedescr dereferenziert.

Auch verstehe ich nicht warum das Feldsymbol <comp_wa> vom TYPE abap_compdescr ist?

Was ist das für ein Typ? Im Dictionary ist er nicht bekannt. Trotzdem kommt keine Fehlermeldung.


Viel Grüße
Michael

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Warum ????? :roll:

Tja, ähm ...

Achwas, sei einfach froh, daß es SO funktioniert!! :D

Gruß
babap

Beitrag von ST22 (Specialist / 278 / 41 / 40 ) »
guck dir mal in der SE11 die Typgruppe ABAP an, dann findest du, was du suchst...

Gruß

ST22

Seite 1 von 1

Vergleichbare Themen

4
Antw.
9700
Views
Felder einer Tabelle auslesen
von cut1 » 03.06.2008 11:39 • Verfasst in ABAP Objects®
2
Antw.
89
Views
ALV - Felder zu Variante auslesen
von bapimueller » Gestern 16:58 • Verfasst in ABAP® Core
3
Antw.
3573
Views
Felder der Q-Struktur in HR auslesen.
von danielA. » 03.01.2007 16:08 • Verfasst in ABAP® Core
1
Antw.
1652
Views
kundeneigene Felder auslesen mit BAPI_MATERIAL_GETALL
von Szel » 25.09.2013 17:05 • Verfasst in ABAP® Core
9
Antw.
3715
Views
Von der Wichtigkeit des Default Komponentennamen....
von ralf.wenzel » 06.09.2017 11:47 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

ALV - Felder zu Variante auslesen
vor 5 Stunden von whaslbeck 3 / 89
Hilfe bei SWEC/SWE2
vor 12 Stunden von retsch 1 / 84

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

ALV - Felder zu Variante auslesen
vor 5 Stunden von whaslbeck 3 / 89
Hilfe bei SWEC/SWE2
vor 12 Stunden von retsch 1 / 84

Unbeantwortete Forenbeiträge

Hilfe bei SWEC/SWE2
vor 12 Stunden von retsch 1 / 84