点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我需要进行验证,例如,如果用户输入了应该在错误表中捕获的将来日期。 下面是我的代码。
SPAN {font-family:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S31 {font-style:italic; 颜色:#808080; } .L0S32 {color:#3399FF; } .L0S33 {color:#4DA619; } .L0S52 {color:#0000FF; } .L0S55 {color:#800080; }
SPAN {font-family:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S52 {color:#0000FF; } .L0S55 {color:#800080; } .L0S70 {color:#808080; }
参数:类似于SY-DATUM的日期。
数据:lv_date类型为sy-datum的数据。
lv_date = p_date +1。
如果p_date> lv_date。
MESSAGE'您输入了将来的日期'类型'E'。
否则。
MESSAGE'您输入了正确的日期'类型' 我是。
ENDIF。
正如 Raymond Giuseppi 所述,问题非常明显:它将1加到变量上,并将结果与 原始变量。 当Y = X +1时,条件IF Y> X将始终为真。 此代码不会验证日期是否是将来的日期,这实际上是没有意义的。
要确定日期是否将来,您需要首先确定"未来"的定义是什么。 您想将哪个时区和哪个日期用作比较基准? 当条件明确时,您可以简单地比较两个日期字段。
在调试中运行它以查看您做错了什么。 以及为什么要在变量名中使用L(如果它显然不是本地变量)?
再次阅读源代码,错误很明显; 您是否知道存在SY-DATLO或SY-DATUM等系统字段?
一周热门 更多>