使用group by不能使用指针
LOOP AT lt_menge1 INTO DATA(ls_menge1)
GROUP BY ( matnr = ls_menge1-matnr
werks = ls_menge1-werks
charg = ls_menge1-charg )
ASCENDING ASSIGNING FIELD-SYMBOL(<key>).
CLEAR:lv_smengel,ls_menge1_1.
LOOP AT GROUP <key> ASSIGNING FIELD-SYMBOL(<fs_key>).
ls_menge1_1-matnr = <fs_key>-matnr.
ls_menge1_1-werks = <fs_key>-werks.
ls_menge1_1-charg = <fs_key>-charg.
lv_smengel = lv_smengel + <fs_key>-menge.
APPEND ls_menge1_1 TO lt_menge1_1.
ENDLOOP.
ls_menge1_1-menge = lv_smengel.
MODIFY lt_menge1_1 FROM ls_menge1_1 TRANSPORTING menge WHERE matnr = ls_menge1_1-matnr
AND werks = ls_menge1_1-werks
AND charg = ls_menge1_1-charg.
ENDLOOP.