Zeilen von einer generischen Tabelle in eine interne Tabelle schreiben

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

Zeilen von einer generischen Tabelle in eine interne Tabelle schreiben

Beitrag von BecomingAnAbapGuru (ForumUser / 76 / 29 / 1 ) »
Hallo,

Ich habe eine generische Tabelle. Die Daten der Tabelle sollen jetzt in eine andere Tabelle gespeichert werden.
FIELD-SYMBOLS:
<mt_result> TYPE STANDARD TABLE.
ASSIGN mr_result->* TO <mt_result>. * hier sind die Daten aktuell
Die Daten möchte ich jetzt in einem LOOP ändern und in eine andere interne Tabelle speichern.
Das bekomme ich gerade nicht hin, weil die Struktur <mt_result> ja erst zur Laufzeit bekannt ist.

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


Re: Zeilen von einer generischen Tabelle in eine interne Tabelle schreiben

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
du musst mit ASSIGN arbeiten.
Wenn die Felder in der Zieltabelle den gleichen Namen haben, kannst du mit CORRESPONDING die Werte in die neue Tabelle/ Arbeitsbereich übertragen.
Ansonsten musst du jedes Feld einzeln mit ASSIGN COMPONENT zuweisen.

Re: Zeilen von einer generischen Tabelle in eine interne Tabelle schreiben

Beitrag von BecomingAnAbapGuru (ForumUser / 76 / 29 / 1 ) »
ewx hat geschrieben:
29.03.2022 10:35
du musst mit ASSIGN arbeiten.
Wenn die Felder in der Zieltabelle den gleichen Namen haben, kannst du mit CORRESPONDING die Werte in die neue Tabelle/ Arbeitsbereich übertragen.
Ansonsten musst du jedes Feld einzeln mit ASSIGN COMPONENT zuweisen.

FIELD-SYMBOLS:
<mt_result> TYPE STANDARD TABLE,
<ft_result_temp> TYPE STANDARD TABLE.
ASSIGN mr_result->* TO <mt_result>. * hier sind die Daten aktuell und diese möchte ich in eine andere Tabelle speichern
LOOP AT <mt_result> ASSIGNING FIELD-SYMBOL(<fs_result>).
ASSIGN COMPONENT 'VBELN' OF STRUCTURE <fs_result> TO FIELD-SYMBOL(<fs_value>).
IF <fs_value> = .... .
APPEND <fs_result> TO <ft_result_temp>. <--- das funktioniert nicht, ich weiß nicht, worauf ich ft_result_temp assignen soll
ENDIF.

ENDLOOP.
<ft_result_temp> soll die selbe Struktur haben wie mr_result->*, NUR ohne Inhalt

Re: Zeilen von einer generischen Tabelle in eine interne Tabelle schreiben

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
was willst du denn überhaupt erreichen?
was soll am Ende mit den kopierten Einträgen passieren?

Re: Zeilen von einer generischen Tabelle in eine interne Tabelle schreiben

Beitrag von BecomingAnAbapGuru (ForumUser / 76 / 29 / 1 ) »
ok es hab es irgendwie hinbekommen, danke

Re: Zeilen von einer generischen Tabelle in eine interne Tabelle schreiben

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »

Code: Alles auswählen.

DATA clients TYPE TABLE OF t000 WITH DEFAULT KEY.
DATA client TYPE t000.
SELECT * FROM t000 INTO TABLE clients.


DATA copy_ref TYPE REF TO data.
FIELD-SYMBOLS <copy_tab> TYPE table.

DATA(copy_str_descr) = CAST cl_abap_structdescr( cl_abap_structdescr=>describe_by_data( client ) ).

TRY.
    DATA(copy_tab_descr) = cl_abap_tabledescr=>create(  p_line_type  = copy_str_descr ).
    CREATE DATA copy_ref TYPE HANDLE copy_tab_descr.
    ASSIGN copy_ref->* TO <copy_tab>.

    LOOP AT clients INTO client WHERE mandt = sy-mandt.
      APPEND client TO <copy_tab>.
    ENDLOOP.

    cl_demo_output=>display_data( <copy_tab> ).
  CATCH cx_sy_table_creation INTO DATA(error).
    MESSAGE error TYPE 'I'.
ENDTRY.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
172
Views
2
Antw.
6869
Views
in interne Tabelle schreiben
von anki_86 » 25.06.2007 08:53 • Verfasst in ABAP® für Anfänger
4
Antw.
2422
Views
Interne Tabelle in Excel schreiben
von mamba » 12.12.2006 15:36 • Verfasst in ABAP® Core
19
Antw.
3668
Views
XString in interne tabelle schreiben.
von L0w-RiDer » 06.11.2018 14:09 • Verfasst in ABAP® für Anfänger
10
Antw.
4709
Views
Interne Tabelle mit Zeilen füllen
von Sonne1234 » 18.12.2019 16:30 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag



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

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.