我有我的内部表 it_mseg . 在此表中,有一个名为 amnt 的字段 .
it_mseg
amnt
我想检查 it_mseg 中的每一行,如果字段 amnt 大于等于10.如果是,我想从内部表中删除它 .
因此,最后,当我使用ALV-Grid显示表时,仅显示字段 amnt 的值等于10的行 .
我知道这是以某种方式完成的 Loop at it_mseg ,但我无法做到正确 .
Loop at it_mseg
编辑:我想用循环来做,所以我可以做一些比GE 10更复杂的事情 .
您可以使用LOOP来完成它,但使用DELETE更简单:
DELETE it_mseg WHERE amnt GT 10.
如果您仍想使用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.
1 回答
您可以使用LOOP来完成它,但使用DELETE更简单:
如果您仍想使用LOOP(因为您想检查/更改内部表中的其他内容):