Feldinhalt an variables Struktutrfeld übergeben

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

Feldinhalt an variables Struktutrfeld übergeben

Beitrag von schwar01 (ForumUser / 20 / 0 / 0 ) »
Hallo Leute,

kann mir jemand erklären wie ich ein Wert aus einer gefüllten internen Tabelle an ein variables Feld mittels ASSIGN zuweisen kann. das Problem besteht darin, dass die einzelnen Felder der variablen Struktur nicht direkt ansprechbar sind, wie z.B.move itab-matnr to <fs_tabline>-matnr.

Vielen Dank im Voraus.

Gruß

Andreas

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


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

schau Dir dazu mal die beiden Varianten des Befehls ASSIGN COMPONENT an.
Außerdem gibt es z.B. beim LOOP die Möglichkeit mit WHERE (feldname) EQ ... zu arbeiten.
Gruß
Ereglam


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

Beitrag von Steffi221185 (Specialist / 132 / 0 / 0 ) »
also wie genau willst du das denn haben?

ich hab das z.b. einmal so gelöst:

Code: Alles auswählen.

Data:  l_obj_struct TYPE REF TO cl_abap_structdescr.
  FIELD-SYMBOLS <l_wrk_compdescr> TYPE abap_compdescr.
  FIELD-SYMBOLS <l_wa_data> TYPE ANY.
  FIELD-SYMBOLS <l_it_data> TYPE ANY TABLE.
  FIELD-SYMBOLS <help> TYPE ANY.

LOOP AT <l_it_data> ASSIGNING <l_wa_data>.
  * Struktur des Arbeitsbereiches ermitteln
     l_obj_struct ?= cl_abap_typedescr=>describe_by_data( <l_wa_data> ).

      IF sy-subrc <> 0.
*    RAISE structure_not_found.
      ENDIF.

* Die einzelnen Felder zu einem String zusammenfügen
      LOOP AT l_obj_struct->components ASSIGNING <l_wrk_compdescr>.
        ASSIGN COMPONENT sy-tabix  OF STRUCTURE <l_wa_data> TO <help>.
*     Überprüfen was für ein Feldtyp geschrieben wird
        IF <l_wrk_compdescr>-type_kind = 'C'.
          CONCATENATE '''' <help> '''' INTO <help>.
        ENDIF.
*     Inhalt des Arbeitsbereiches in einen String schreiben
        IF sy-tabix = 1.
          MOVE <help> TO l_str_inhalt.
        ELSE.
          CONCATENATE l_str_inhalt <help> INTO l_str_inhalt
          SEPARATED BY ','.
        ENDIF.
      ENDLOOP.
endloop.
also hab das ganze in nen arbeitsbereich geschrieben und dann die spalten einzeln ausgelesen. Hoffe das hilft dir weiter.

Gruß Steffi

ASSIGN TABLE FIELD tabline-stlnr TO <fs_field>.

Beitrag von schwar01 (ForumUser / 20 / 0 / 0 ) »
Hallo,

vielen Dank für Eure Antworten. Ich denke die ganze Zeit nur, das müßte doch noch einfacher gehen.
Wie kann ich das gefüllte Feldsymbol <fs_field> dem Feld ´tabline-feld001' zuweisen. Das Feld müßte allerdings, und das ist der Kackpuckt als Variable angesprochen werden.

ASSIGN TABLE FIELD tabline-stlnr TO <fs_field>.

Gruß

Andreas

Beitrag von Andreas G (Specialist / 175 / 0 / 0 ) »
Hi.

Ich mach das auch so ähnlich wies die Steffi schon gepostet hat:

Code: Alles auswählen.

LOOP AT <my_table> ASSIGNING <struct>.
  LOOP AT itab_fieldcatalog INTO gs_fieldcatalog.
   ASSIGN COMPONENT gs_fieldcatalog-fieldname OF STRUCTURE <struct>
                    TO <feld>.
    IF gs_fieldcatalog-fieldname = 'MATNR'.
      MOVE gs_test-matnr TO <feld>.
    ENDIF.
    IF gs_fieldcatalog-fieldname = 'VBELN'.
      MOVE gs_test-vbeln TO <feld>.
    ENDIF.
    ...
  ENDLOOP.
ENDLOOP.
So kannst du wirklich auf ein bestimmtes Feld in der dynamisch erstellten Strucktur (in diesem Fall Tabelle) zugreifen. Bei dir entfällt dann halt der erste Loop.


mfg Andi
Hauptsoch: HAUPTSOCH!

Danke Andi

Beitrag von schwar01 (ForumUser / 20 / 0 / 0 ) »
Hallo Andi,

super, vielen Dank.

Hilft mir weiter.

Gruß

Andreas

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2027
Views
Feldinhalt an Funktionsbaustein übergeben
von an4kh4 » 18.09.2007 11:08 • Verfasst in ABAP® für Anfänger
3
Antw.
867
Views
Feldinhalt an bestehenden Feldinhalt anhängen
von PatrickHei » 17.11.2020 09:56 • Verfasst in ABAP® für Anfänger
4
Antw.
1939
Views
Variables Feld einlesen und in ein Datumsformat konvertieren
von achangie » 21.03.2006 12:35 • Verfasst in Basis
8
Antw.
2670
Views
Sapscript Feldinhalt ####
von Thomas17 » 20.05.2014 11:03 • Verfasst in ABAP® Core
8
Antw.
4640
Views
Dynpro 100 Feldinhalt übertragen
von AndreFIAE2014 » 05.12.2016 15:27 • Verfasst in Dialogprogrammierung

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 2 Stunden von black_adept gelöst 27 / 3961
IT0024 Qualifikationen CP-ID
vor 3 Stunden von ArjenR 1 / 38
Trennen Strasse und Hausnummer
vor 4 Stunden von ewx 17 / 10842

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

Dialog-Container mit Toolbar/Status
vor 2 Stunden von black_adept gelöst 27 / 3961
IT0024 Qualifikationen CP-ID
vor 3 Stunden von ArjenR 1 / 38
Trennen Strasse und Hausnummer
vor 4 Stunden von ewx 17 / 10842

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
vor 3 Stunden von ArjenR 1 / 38
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2973
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9560