我有我的内部表it_mseg.在此表中,有一个名为的字段amnt.
it_mseg如果字段amnt大于等于10,我想检查每一行.如果是,我想从内部表中删除它.
因此,最后,当我使用ALV-Grid显示表时,只amnt显示字段值低于10 的行.
我知道这是以某种方式完成的Loop at it_mseg,但我无法做到正确.
编辑:我想用循环来做,所以我可以做一些比GE 10更复杂的事情.
您可以使用LOOP来完成它,但使用DELETE更简单:
DELETE it_mseg WHERE amnt GT 10.
Run Code Online (Sandbox Code Playgroud)
如果您仍想使用LOOP(因为您想检查/更改内部表中的其他内容):
LOOP AT it_mseg
ASSIGNING FIELD-SYMBOL(<ls_mseg>).
DATA(lv_tabix) = sy-tabix. "save sy-tabix for later use
... "do somthing else
IF <ls_mseg>-amnt GT 10.
DELETE it_mseg INDEX lv_tabix.
ENDIF.
... "do something else
ENDLOOP.
Run Code Online (Sandbox Code Playgroud)