Code: Alles auswählen.
data:
lt_table type tt_table, "= deine Ausgabetabelle
ls_summe type line of tt_table.
Field-symbols:
<ls_line> type line of tt_table.
LOOP AT lt_table ASSIGNING <ls_line>.
ADD <ls_line>-field1 TO ls_summe-field1. "= Für jedes zu berechnende Feld
ENDLOOP.
APPEND ls_summe TO lt_table.
* Für die Prozentwerte am Ende nochmal durch die Tabelle gehen
LOOP AT lt_table ASSIGNING <ls_line>.
<ls_line>-percen1 = 100 / ls_summe-field1 * <ls_line>-field1.
ENDLOOP.
Code: Alles auswählen.
gs_data-zsd_wmeng = ls_vbap-awahr / 100 * ls_vbap-klmeng.
gs_data-zsd_fak = p_brutto / p_wag. "die beiden Werte werden in der Selektion eingegeben um einen Faktor zu errechnen
gs_data-zsd_fmeng = gs_data-zsd_fak * gs_data-zsd_wmeng.
* gs_data-ZSD_PROZ = Summe von: gs_data-zsd_fmeng / gs_data-zsd_fak.
APPEND gs_data TO gt_data.
Code: Alles auswählen.
field-symbols:
<ls_data> type zsd_esfc_roh.
* Hier kommt der Befüllungscode rein
CLEAR gs_data. "Missbrauch als Summenzeile
LOOP AT gt_data ASSIGNING <ls_data>.
ADD <ls_line>-field1 TO gs_data-field1. "= Für jedes zu berechnende Feld
ENDLOOP.
APPEND gs_data TO gt_data. "Summenzeile anhängen
LOOP AT gt_data ASSIGNING <ls_data>.
<ls_data>-percen1 = 100 / gs_data-field1 * <ls_data>-field1. "= Für jedes zu summierende Feld
ENDLOOP.
Code: Alles auswählen.
LOOP AT lt_vbap INTO ls_vbap.
READ TABLE lt_vbep INTO ls_vbep
WITH KEY vbeln = ls_vbap-vbeln
BINARY SEARCH.
READ TABLE lt_vbuk INTO ls_vbuk
WITH KEY vbeln = ls_vbap-vbeln
BINARY SEARCH.
READ TABLE lt_vbak INTO ls_vbak
WITH KEY vbeln = ls_vbap-vbeln
BINARY SEARCH.
READ TABLE lt_vbup INTO ls_vbup
WITH KEY vbeln = ls_vbap-vbeln
BINARY SEARCH.
READ TABLE lt_makt INTO ls_makt
WITH KEY matnr = ls_vbap-matnr
BINARY SEARCH.
READ TABLE lt_mara INTO ls_mara
WITH KEY matnr = ls_vbap-matnr
BINARY SEARCH.
*folgende gs_data- Felder sind gleichzeitig alle Felder meiner Struktur:
gs_data-posnr = ls_vbap-posnr.
gs_data-mfrpn = ls_mara-mfrpn.
gs_data-awahr = ls_vbap-awahr.
gs_data-edatu = ls_vbep-edatu.
gs_data-vbtyp = ls_vbak-vbtyp.
gs_data-vbeln = ls_vbap-vbeln.
gs_data-matnr = ls_vbap-matnr.
gs_data-maktx = ls_makt-maktx.
gs_data-edatu = ls_vbep-edatu.
gs_data-zsd_wmeng = ls_vbap-awahr / 100 * ls_vbap-klmeng.
gs_data-zsd_fak = p_brutto / p_wag.
gs_data-zsd_fmeng = gs_data-zsd_fak * gs_data-zsd_wmeng. "von diesem Feld wird die Summe benötigt
* gs_data-ZSD_PROZ = gs_data-zsd_fmeng / Summe von: gs_data-zsd_fmeng
APPEND gs_data TO gt_data.
CLEAR ls_vbap.
CLEAR ls_vbep.
CLEAR ls_vbup.
CLEAR ls_vbuk.
CLEAR ls_vbak.
CLEAR ls_mara.
CLEAR ls_makt.
ENDLOOP.