在实际操作中, 当用户有输入了错误的日期和数字时,ALV有自动检查机制, 效果如下:
但是如何知道ALV检查的结果呢? 有错的数据还是没有? 很多情况下我们还是去LOOP内表逐步去检查每个FIELD的值. 终于找到一个简单的办法, 代码如下:
DATA: lv_valid. " flag of alv valid check
CALL METHOD go_alv->check_changed_data
IMPORTING
e_valid = lv_valid
CHANGING
c_refresh = pw_selfield-refresh.
当错误数据时, LV_VALID为'X', 反之为空.