【转自http://www.cnblogs.com/VerySky/articles/2226862.html】

通过 Function Module 将外部日期转换为内部日期
所属 Function Group : SCON
所属 Package : SZP

DATA:date_input TYPE c LENGTH 10 VALUE ’2009-1-16′,
      date_output TYPE sy-datum.
CALL FUNCTION ‘CONVERT_DATE_INPUT’
  EXPORTING
    input                     = date_input
    plausibility_check        = ‘X’
  IMPORTING
    output                    = date_output "output前是否检查数据合理性
  EXCEPTIONS
    plausibility_check_failed = 1
    wrong_format_in_input     = 2
    OTHERS                    = 3.
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
WRITE:’date_input:’,date_input,’date_output:’,date_output.

结果: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.

CONVERT_DATE_INPUT的更多相关文章

  1. [SAP ABAP开发技术总结]日期函数

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

随机推荐

  1. Linux Oracle数据库的安装

    // 注释 # root用户 $oracle用户 1. 关闭安全措施    # chkconfig iptables off // 永久关闭防火墙 # serviceiptables stop // ...

  2. POJ 2375 Cow Ski Area (强连通分量)

    题目地址:POJ 2375 对每一个点向与之相邻并h小于该点的点加有向边. 然后强连通缩点.问题就转化成了最少加几条边使得图为强连通图,取入度为0和出度为0的点数的较大者就可以.注意,当强连通分量仅仅 ...

  3. 键盘上所有键位的ascii值

    上次用的时候一直找,这次找到了,收藏起来. 0x1 鼠标左键 0x2 鼠标右键 0x3 CANCEL 键 0x4 鼠标中键 0x8 BACKSPACE 键 0x9 TAB 键 0xC CLEAR 键 ...

  4. iOS将数组中的内容分拼接成字符串

    NSString *string = [array componentsJoinedByString:@","];--分隔符

  5. win7不休眠方式设置

    方式1:命令行下以管理员方式执行:powercfg -h off 方式2:右键个性化-->屏幕保护程序-->更改电源设置--->更改计算机睡眠时间--->是计算机进入睡眠状态选 ...

  6. eclipse上的git命令使用浅析,搭建Maven项目

    eclipse上的git命令使用浅析 2016-03-31 14:44   关于eclipse上git的安装和建立代码仓库的文章比较多,但作为一个初识git的人更希望了解每个命令的作用. 当项目连接到 ...

  7. 结合jquery的前后端加密解密 适用于WebApi的SQL注入过滤器 Web.config中customErrors异常信息配置 ife2018 零基础学院 day 4 ife2018 零基础学院 day 3 ife 零基础学院 day 2 ife 零基础学院 day 1 - 我为什么想学前端

    在一个正常的项目中,登录注册的密码是密文传输到后台服务端的,也就是说,首先前端js对密码做处理,随后再传递到服务端,服务端解密再加密传出到数据库里面.Dotnet已经提供了RSA算法的加解密类库,我们 ...

  8. Python--多进程--01

    multiprocess import multiprocessing import time def worker_1(interval): print(' i am worker1') n=5 w ...

  9. Python Numpy 数组的初始化和基本操作

    一.基础: Numpy的主要数据类型是ndarray,即多维数组.它有以下几个属性: ndarray.ndim:数组的维数 ndarray.shape:数组每一维的大小 ndarray.size:数组 ...

  10. TC2安装方法

    电驴下载TC2英文原版安装文件,3 Disk,安装方法记录如下: cmd.exe chcp 437 挂载安装文件夹1到A盘 subst a: d:\c\Disk1 另开一个cmd,转到A盘,输入ins ...