【转自http://www.cnblogs.com/VerySky/articles/2226862.html】
通过 Function Module 将外部日期转换为内部日期
所属 Function Group : SCON
所属 Package : SZP
结果:date_input: 2009-1-16 date_output: 2009-01-16
————
注意:
1、在R3 4.71 使用时会提示:函数模块 CONVERT_DATE_INPUT 已过时 – 无法使用
2、如果外部日期包含除当前用户日期分割符以外的非数字字符,则报错 WRONG_FORMAT_IN_INPUT ,相关源代码:
*—START
DATE_CHAR-SEP = DATE_SEP.
IF INPUT CN DATE_CHAR.
MESSAGE S012 WITH DATE_SEP RAISING WRONG_FORMAT_IN_INPUT.
ENDIF.
*—END
3、无法处理长度大于10或小于5的外部日期,相关源代码:
*—START
LENGTH = STRLEN( INPUT ).
IF LENGTH GT 10
OR LENGTH LT 5.
MESSAGE S001 WITH DATE_MASK RAISING WRONG_FORMAT_IN_INPUT.
ENDIF.
*—END
4、如果外部日期不包含日期分隔符,且外部日期长度不等于6位或8位时,报错 WRONG_FORMAT_IN_INPUT
*—START
IF INPUT CS DATE_SEP.
SW_SEP = ‘X’.
ELSE.
SW_SEP = SPACE.
IF LENGTH NE 6 " Jahr auffuellen
AND LENGTH NE 8.
MESSAGE S001 WITH DATE_MASK RAISING WRONG_FORMAT_IN_INPUT.
ENDIF.
ENDIF.