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.
2032
Views
Feldinhalt an Funktionsbaustein übergeben
von an4kh4 » 18.09.2007 11:08 • Verfasst in ABAP® für Anfänger
3
Antw.
868
Views
Feldinhalt an bestehenden Feldinhalt anhängen
von PatrickHei » 17.11.2020 09:56 • Verfasst in ABAP® für Anfänger
4
Antw.
1940
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.
4641
Views
Dynpro 100 Feldinhalt übertragen
von AndreFIAE2014 » 05.12.2016 15:27 • Verfasst in Dialogprogrammierung

Aktuelle Forenbeiträge

Regex in where
vor 5 Stunden von tar 8 / 183
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

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

Regex in where
vor 5 Stunden von tar 8 / 183
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822