ABAP 7.40添加了line_exists( ... )谓词函数来分析内表。但是有什么方法可以检查特定列是否为初始值或与目标值不同的行是否存在?
例如,如何检查具有初始材料列的行(例如此表中的第三行)?
Document Country Material
9001287 US 198572111
9001296 FR 160023941
9001297 EG
9001299 DK 873001102
Run Code Online (Sandbox Code Playgroud)
line_exists( lt_itab[ Country = 'DK' ] )我可以用和来检查丹麦语条目line_exists( lt_itab[ Material = '' ] )是否有效,但既不被接受<>,也不被接受。NE例如,似乎也没有办法检查该国家/地区不是“FR”的线路?
如果没有办法做到这一点line_exists,那么最简洁的替代方法是什么?
LOOP是一种检查方式,不知道还有没有更好的:
LOOP AT itab
TRANSPORTING NO FIELDS
WHERE country NE 'FR'.
EXIT.
ENDLOOP.
IF sy-subrc EQ 0.
" line exists
ELSE.
" line does not exist
ENDIF.
Run Code Online (Sandbox Code Playgroud)