在选择屏幕输入时间范围时候,需要对这个范围进行就检查,比如输入时间不能超过七天。
SELECT-OPTIONS :
s_datum FOR sy-datum,
INITIALIZATION.
PERFORM F_CHECK_DATUM.
form F_CHECK_DATUM.
DATA:lv_date TYPE i.
CLEAR:lv_date.
lv_date = s_datum-high - s_datum-low.
IF lv_date >= '7'.
MESSAGE '时间。&。。。' WITH lv_date DISPLAY LIKE 'E'.
(type S display E 才不会跳到初始界面)
LEAVE LIST-PROCESSING.
ENDIF.
endform.
这里的消息特别说明一下:
如果是输入时间超过7天,报错应该停在选择屏幕,而不是跳出屏幕,
用户还得再重新输入SE38跑。
应该得效果:
写法:
MESSAGE S001 WITH lv_date DISPLAY LIKE ‘E’.
LEAVE LIST-PROCESSING.
直接E001,本程序会弹出错误对话框,导致程序强制终止。直接跳到SAP初始界面
而S类型,程序会继续往下走,只不过显示方式是E类型。