Hallo zusammen, evtl kann mir ja hier jemand helfen.
Also folgendes ich habe eine interne Tabelle mit der Struktur:
MONTH / VBELN /LABNK/ WMENG(kumuliert auf Monatsbasis)
und eine dynamische Tabelle die zur Laufzeit generiert wird je nachdem welchen Betrachtungszeitraum der Anwender eingibt im Selektionsbildschirm, nur um das zu verdeutlichen sagen wir mal 3 Monate Betrachtungszeitraum:
VBELN / LABNK/ 2016_11 / 2016_12 / 2017_1
Daten in der ITAB sehen so aus :
MONTH / VBELN /LABNK/ WMENG
2017_1 xxxxxx 0 100
2017_1 xxxxxx 1 50
2017_2 xxxxxx 0 200
2017_2 xxxxxx 1 100
Ich habe bisher folgenenden Code:
FIELD-SYMBOLS: <vbeln> TYPE vbeln,
<labnk> TYPE labnk.
CREATE DATA wa_dyn_table LIKE LINE OF <t_dyn_table>.
ASSIGN wa_dyn_table->* TO <wa_dyn_table>.
LOOP AT gt_res INTO wa_res.
LOOP AT <t_dyn_table> ASSIGNING <wa_dyn_table> WHERE (('VBELN = wa_res-vbeln') AND ('LABNK = wa_res-LABNK')) * wird zwar hier richtig dargestellt, aber IN SAP krieg ich da eine Fehlermeldung.
* LOOP AT <t_dyn_table> ASSIGNING <wa_dyn_table> WHERE ('LABNK = wa_res-LABNK').
* EXIT.
* ENDLOOP.
EXIT.
ENDLOOP.
CLEAR <wa_dyn_table>.
ASSIGN COMPONENT 'VBELN' OF STRUCTURE <wa_dyn_table> TO <vbeln>.
IF sy-subrc = 0.
<vbeln> = wa_res-vbeln.
ENDIF.
ASSIGN COMPONENT 'LABNK' OF STRUCTURE <wa_dyn_table> TO <labnk>.
IF sy-subrc = 0.
<labnk> = wa_res-labnk.
ENDIF.
spaltenname = ( wa_res-zmonth ).
ASSIGN COMPONENT spaltenname OF STRUCTURE <wa_dyn_table> TO <w_field>.
IF sy-subrc = 0.
ADD wa_res-wmeng TO <w_field>.
ENDIF.
APPEND <wa_dyn_table> TO <t_dyn_table>.
ENDLOOP.
Mein Problem ist jetzt nur, dass er mir die erste Lieferabrufnummer löscht und das Feld leer lässt und vor allem anstelle von 2 Zeilen siehe Beispieldaten oben 4 Zeilen macht, ich denke da stimmt irgendwas mit meinen Loops nicht oder der Zuweisung. Evtl hat da ja jemand einen Rat um das noch zu verdeutlichen die aktuelle Ausgabe sieht man in diesem Screenshot, hier macht er 30 Zeilen anstelle von 5, weil auch in der ITAB 30 Zeilen sind habe es schon über
versucht, aber führte auch nicht zum gewünschten Erfolg: