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 / 279 / 43 / 41 ) »
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.
9873
Views
Felder einer Tabelle auslesen
von cut1 » 03.06.2008 11:39 • Verfasst in ABAP Objects®
3
Antw.
1297
Views
ALV - Felder zu Variante auslesen
von bapimueller » 26.09.2024 16:58 • Verfasst in ABAP® Core
3
Antw.
3731
Views
Felder der Q-Struktur in HR auslesen.
von danielA. » 03.01.2007 16:08 • Verfasst in ABAP® Core
1
Antw.
1800
Views
kundeneigene Felder auslesen mit BAPI_MATERIAL_GETALL
von Szel » 25.09.2013 17:05 • Verfasst in ABAP® Core
9
Antw.
3789
Views
Von der Wichtigkeit des Default Komponentennamen....
von ralf.wenzel » 06.09.2017 11:47 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 8 Stunden von msfox 18 / 10945
Dialog-Container mit Toolbar/Status
vor 10 Stunden von black_adept gelöst 27 / 4045
IT0024 Qualifikationen CP-ID
vor 12 Stunden von ArjenR 1 / 87

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

Trennen Strasse und Hausnummer
vor 8 Stunden von msfox 18 / 10945
Dialog-Container mit Toolbar/Status
vor 10 Stunden von black_adept gelöst 27 / 4045
IT0024 Qualifikationen CP-ID
vor 12 Stunden von ArjenR 1 / 87

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 12 Stunden von ArjenR 1 / 87
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 3018
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9611