ABAP开发出入库报表,选择屏幕问题
小弟是ABAP小白一名,有一题不会,SAP中有系统自带MARD表,怎么将其中的年份和月份字段放在一起,还有就是怎么检查出库时间大于入库时间,我的意思是如果出库时间小于入库...
小弟是ABAP小白一名,有一题不会,SAP中有系统自带MARD表,怎么将其中的年份和月份字段放在一起,还有就是怎么检查出库时间大于入库时间,我的意思是如果出库时间小于入库时间,选择屏幕run的时候会提示错误,不会产生ALV 表格
展开
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 <p_date1.
message '' type 'S' display like 'E'.
CLEAR:XXX ....
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM.
如果一定要放在一起,可以使用自定义字段
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 <p_date1.
message '' type 'S' display like 'E'.
CLEAR:XXX ....
LEAVE LIST-PROCESSING.
ENDIF.
ENDFORM.
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询