Feldname aus untypisierte Tabelle bestimmen.

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

Feldname aus untypisierte Tabelle bestimmen.

Beitrag von leon (ForumUser / 3 / 3 / 0 ) »
Hallo zusammen,

in einer methode bekomme ich eine untypisierte Tabelle (TYPE ANY TABLE) übergeben.
Ein Feld 'views' dieser Tabelle ist wiederum eine Strukur mit den Feldern feld1,feld2, feld3.
Diese Felder müssen in eine interne Tabelle geschrieben werden.
feldname
feld1
feld2
feld3

Code: Alles auswählen.

DATA:
     lt_data      TYPE ztt_tabelle,
    ls_data      TYPE LINE OF ztt_tabelle.

  FIELD-SYMBOLS:
     <s_data>       TYPE ANY,
     <f1>           TYPE ANY,
     <f2>           TYPE ANY.

  LOOP AT i_cust_data ASSIGNING <s_data>.  " i_cust_data untypsiert!!
    ASSIGN COMPONENT 'VIEWS' OF STRUCTURE <s_data> TO <f1>.

    DO.
      ASSIGN COMPONENT sy-index OF STRUCTURE <f1> TO <f2>. " in <f2> stehen jetzt nacheinander die werte für   feld1, feld2, feld2 ... 
      IF sy-subrc <> 0.
        EXIT.
      ENDIF.
     
" ???  aus <f2> möchte ich jetzt den Feldnamen bestimmen zb. 'feld1' und den feldnamen in die tabelle lt_data einfügen.

    ENDDO.

  ENDLOOP.

feldname aus der struktur und feldname der internen tabelle sind gleich!

Danke im vorraus ...
leon

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


Re: Feldname aus untypisierte Tabelle bestimmen.

Beitrag von black_adept (Top Expert / 4093 / 128 / 940 ) »
Hallo Leon,

schau dir mal die Klasse CL_ABAP_STRUCTDESCR an. In der Dokumentation für diese Klasse steht auch ein Beispielcoding wie du an die Feldnamen einer Struktur kommst.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
leon

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Feldname aus untypisierte Tabelle bestimmen.

Beitrag von leon (ForumUser / 3 / 3 / 0 ) »
super, vielen Dank.

Genau das was ich gebraucht habe!

Viele Grüße
leon

Re: Feldname aus untypisierte Tabelle bestimmen.

Beitrag von a-dead-trousers (Top Expert / 4397 / 223 / 1182 ) »
hi!

Der Vollständigkeit halber:
Zweite (veraltete) Möglichkeit wäre noch DESCRIBE FIELD mit dem Zusatz COMPONENTS zu verwenden.
--> Für Systeme die CL_ABAP_*DESCR noch nicht verwenden (auch RTTI genannt)

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
leon

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Feldname aus untypisierte Tabelle bestimmen.

Beitrag von black_adept (Top Expert / 4093 / 128 / 940 ) »
@adt

Describe field mit dem Zusatz "components" liefert dir aber nicht die Feldnamen zurück, sondern nur die Anzahl der Felder in der Struktur.

Du meinst sicher die Version describe field ... into ...
Aber die ist
a) nur für den internen Gebrauch lt. Doku ( also kein wirklicher Hinderungsgrund das zu verwenden)
b) liefert die Feldnamen in einer sehr gewöhnungsbedürftigen Weise zurück.
Versuch mal eine Struktur mit einem Fed mit sehr langem Feldnamen ( 30 Stellen ) zu erstellen und das dann zu beschreiben.

Das ist auch der Grund warum ich froh war als endlich die RTTI-Klassen aufgetaucht sind und ich mich nicht mehr mit diesen Krücken behelfen musste.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Feldname aus untypisierte Tabelle bestimmen.

Beitrag von a-dead-trousers (Top Expert / 4397 / 223 / 1182 ) »
@black_adept

Hey, ich bin Verfechter der RTTI von der ersten Stunde an ;) Hab nur der Vollständikeit halber den "alten" Ansatz aufzeigen wollen.
Jetzt wo ich mir den DESCRIBE genauer angesehen hab, ist mir klar, dass das mit dem COMPONENTS ganz falsch war. :oops:
Ich hab wirklich den INTO gemeint, aber mit einer Namenslänge von 15 Zeichen ist das eigentlich auch unbrauchbar. :cry:

RTTI forever! 8)

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
leon

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

10
Antw.
2171
Views
Feldname ermitteln
von ralf.wenzel » 17.06.2021 12:12 • Verfasst in ABAP Objects®
5
Antw.
3534
Views
ASSIGN und Feldname
von tomflo » 12.01.2005 14:53 • Verfasst in ABAP® Core
5
Antw.
3401
Views
Feldname in Variable für Where-Klausel ...
von andis » 02.02.2005 12:55 • Verfasst in ABAP® für Anfänger
2
Antw.
1266
Views
Feldname einer DB-TAB in View ändern
von der_neuling » 09.10.2018 08:11 • Verfasst in ABAP® für Anfänger
2
Antw.
6488
Views
Feldname in Variable - Wert zuweisen
von MarkusW » 13.12.2007 15:38 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 9 Stunden von msfox 18 / 10974
Dialog-Container mit Toolbar/Status
vor 12 Stunden von black_adept gelöst 27 / 4093
IT0024 Qualifikationen CP-ID
vor 13 Stunden von ArjenR 1 / 99

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 9 Stunden von msfox 18 / 10974
Dialog-Container mit Toolbar/Status
vor 12 Stunden von black_adept gelöst 27 / 4093
IT0024 Qualifikationen CP-ID
vor 13 Stunden von ArjenR 1 / 99

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 13 Stunden von ArjenR 1 / 99
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 3033
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9624