Danke Fieldsymbols sind mir durchaus geläufig ... ich meinte eigentlich die Klammern die weiter oben zum Einsatz kamenAkatash hat geschrieben:Hallo hausi,
ich geh mal von aus Du meinst die <>. Falls ja das kann ich Dir eklären das kommt nicht aus einer anderen Sprache sondern sind Feldsymbole in ABAP und das kommt daher, dasss ich zur Laufzeit eine dynamische Tabelle generiere, welche durch die Benutzereingaben des Anwenders definiert wird.
Code: Alles auswählen.
loop at <t_dyn_table> assigning <wa_dyn_table> where (('VBELN = wa_res-vbeln') AND ('LABNK = wa_res-LABNK'))
Code: Alles auswählen.
spaltenname = ( <ls_group_res>-zmonth ).
Code: Alles auswählen.
sort gt_res by VBELN LABNK.
loop at gt_res assigning <ls_res>.
AT NEW labnk.
APPEND INITIAL LINE TO <t_dyn_table> ASSIGNING <wa_dyn_table>.
ASSIGN COMPONENT 'VBELN' OF STRUCTURE <wa_dyn_table> TO <vbeln>.
<vbeln> = <ls_res>-vbeln.
ASSIGN COMPONENT 'LABNK' OF STRUCTURE <wa_dyn_table> TO <labnk>.
<labnk> = <ls_res>-labnk.
ENDAT.
spaltenname = ( <ls_res>-zmonth ).
ASSIGN COMPONENT spaltenname OF STRUCTURE <wa_dyn_table> TO <w_field>.
IF sy-subrc = 0.
ADD <ls_res>-wmeng TO <w_field>.
ENDIF.
endloop.
Code: Alles auswählen.
data: ls_group like line of gt_res.
sort gt_res by VBELN LABNK.
clear ls_group.
loop at gt_res assigning <ls_res>.
if ls_group-VBELN ne <ls_res>-vbeln or ls_group-labnk ne <ls_res>-LABNK.
APPEND INITIAL LINE TO <t_dyn_table> ASSIGNING <wa_dyn_table>.
ASSIGN COMPONENT 'VBELN' OF STRUCTURE <wa_dyn_table> TO <vbeln>.
<vbeln> = <ls_res>-vbeln.
ASSIGN COMPONENT 'LABNK' OF STRUCTURE <wa_dyn_table> TO <labnk>.
<labnk> = <ls_res>-labnk.
* Felder für die Gruppenbildung merken
ls_group-VBELN = <ls_res>-vbeln.
ls_group-labnk = <ls_res>-LABNK.
ENDIF.
spaltenname = ( <ls_res>-zmonth ).
ASSIGN COMPONENT spaltenname OF STRUCTURE <wa_dyn_table> TO <w_field>.
IF sy-subrc = 0.
ADD <ls_res>-wmeng TO <w_field>.
ENDIF.
endloop.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Akatash
Code: Alles auswählen.
data: begin of relevant_fields, " Struktur mit bekannten Feldern
labnk type labnk,
vbeln type vbeln,
end of relevant_fields.
sort gt_res by VBELN LABNK.
loop at gt_res assigning <ls_res>.
AT NEW labnk.
APPEND INITIAL LINE TO <t_dyn_table> ASSIGNING <wa_dyn_table>.
* von hier wirds anders
MOVE-CORRESPONDING <ls_res> to relevant_fields.
MOVE-CORRESPONDING relevant_fields to <wa_dyn_table>
* bis hier
ENDAT.
spaltenname = ( <ls_res>-zmonth ).
ASSIGN COMPONENT spaltenname OF STRUCTURE <wa_dyn_table> TO <w_field>.
IF sy-subrc = 0.
ADD <ls_res>-wmeng TO <w_field>.
ENDIF.
endloop.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Akatash