Dynamische Spalte einer Struktur

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Dynamische Spalte einer Struktur

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
Zur Situationbeschreibung:
Ich habe eine Variable string die innerhalb einer schleife einmal den Spaltennamen und danach den Spalteninhalt zugewiesen bekommt.
nun möchte ich den Inhalt der einzelnen Spalten in eine interne Tabelle abspeichern.

das problem ist, dass der inhalt ja in die Kopfzeile/interne Tabelle gespeichert werden soll und ich nicht weiß wie ich diese ansprechen kann...

ich hatte mir folgendes überlegt:
1. wenn die variable string den spaltennamen enthält :
strukturname + spaltenname:
concatenate 'wa_xml_data-' string into gv_struc.

2. wenn die variable string dann den Inhalt der entsprechenden spalte enthält weiß ich den wert zu: gv_struc = string

leider erkennt er die gv_struc nicht als Kopfzeile (z. B: wa_xml_data-object), sondern als einfache Variable...

wie schaffe ich es nun, das er den inhalt gv_struc 's als kopfzeile ansieht und die daten abspeichert?

mfg olli und thx im voraus

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


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

dazu setzt Du GV_STRUC in Klammern. Allerdings musst Du dann erst noch mit ASSIGN ein Feldsymbol erzeugen, das dann den 'Zeiger' auf Dein Feld enthält.

Code: Alles auswählen.

FIELD-SYMBOLS: <gv_feld> TYPE ANY.
...
*2. 
ASSIGN (gv_struc) TO <gv_feld>.
<gv_feld> = string.
oder

Code: Alles auswählen.

FIELD-SYMBOLS: <gv_feld> TYPE ANY.
* 1. Durchlauf: string enthält Feldnamen
UNASSIGN <gv_feld>.
ASSIGN COMPONENT string OF STRUCTURE wa_xml_data TO <gv_feld>.
*2. Durchlauf: string enthält Wert
IF <gv_feld> IS ASSIGNED.
  <gv_feld> = string.
ENDIF.
Gruß
Ereglam


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

Beitrag von dawns (ForumUser / 99 / 0 / 0 ) »
super, echt klasse! ^^
joar das mit dem feldsymbol und dem assign, das hab ich vorhin auch die ganse zeit vergeblich versucht...

hab mich für deine erste variante entschieden, funkts 1 A! danke, auch für die schnelle antwort, klasse :D
wenn mans sieht isses gans einfach... aber erstmal drauf kommen :P

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4363
Views
Eine Spalte aus der Struktur löschen
von nordlender » 30.06.2011 10:02 • Verfasst in ABAP® für Anfänger
3
Antw.
4907
Views
Dynamische Struktur
von PeterPaletti » 13.07.2015 16:05 • Verfasst in ABAP® für Anfänger
4
Antw.
4118
Views
dynamische Struktur abgrasen
von sapdepp » 27.06.2016 12:24 • Verfasst in ABAP Objects®
4
Antw.
3006
Views
CL_SALV_TABLE - Dynamische Struktur
von zer0 » 12.03.2013 11:44 • Verfasst in ABAP Objects®
4
Antw.
3981
Views
Dynamische Struktur bei Feldsymbol
von BesenWesen » 10.08.2006 09:54 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Kundeneigenes Feld in Query
vor 2 Tagen von wreichelt 4 / 313
Simple Transformation XML=>ABAP Datentypen Problem
vor einer Woche von IHe gelöst 5 / 2556
Zu wenig Speicherplatz? Parameteranpassung?
vor einer Woche von IHe 3 / 9064

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

Kundeneigenes Feld in Query
vor 2 Tagen von wreichelt 4 / 313
Simple Transformation XML=>ABAP Datentypen Problem
vor einer Woche von IHe gelöst 5 / 2556
Zu wenig Speicherplatz? Parameteranpassung?
vor einer Woche von IHe 3 / 9064

Unbeantwortete Forenbeiträge

GUIXT Tabellen in Container ansprechen
letzen Monat von Denaris 1 / 34421
Speichern Popup in MM42 verhindern
letzen Monat von Noodl 1 / 34783
Meine Inbox
letzen Monat von Rabea1103 1 / 50355