ABAP开发出入库报表,选择屏幕问题

2024-12-02 19:16:05
推荐回答(1个)
回答1:

一、时间输入框把年月分开成两个框。
如果一定要放在一起,可以使用自定义字段
p_date1 type char6;
或者定义选择字段
p_date1 like sy-datum+0(6) "字段参照系统日期(8位,YYYYMMDD)的前6位(YYYYMM)
这种方式要在程序代码内校验用户输入的日期格式是否合法。(例如用户输入201713)
不合法的日期要提示报错。
二、校验出库时间与入库时间,可以直接比较数据大小。
假设出库时间是p_date2,入库时间是p_date1:
IF p_date2 < p_date1.
message '' type 'S' display like 'E'.
CLEAR:XXX ...."清空已经存储的内表或字段数据,按需要,可不写。

LEAVE LIST-PROCESSING.
ENDIF.
这段代码可以放在程序选择屏幕之后,事件AT SELECTION-SCREEN.中
例如:
AT SELECTION-SCREEN.
PERFORM frm_check_input.
......
FORM frm_check_input.

IF p_date2 message '' type 'S' display like 'E'.
CLEAR:XXX ....

LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM.