【转自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. UltraISO 9.6.5.3237

    注册信息: 用户名:Guanjiu 注册码:A06C-83A7-701D-6CFC

  2. CLR 完全介绍

    From: http://msdn.microsoft.com/zh-cn/magazine/cc164193.aspx http://msdn.microsoft.com/en-us/magazin ...

  3. Android开源--PullToRefresh

    开源地址: https://github.com/chrisbanes/Android-PullToRefresh 简单介绍:PullToRefresh是一款支持ListView,GridView,V ...

  4. hibernate之6.one2many单向

    表结构: 实体类图: CRUD: Student: package com.demo.model; import java.io.UnsupportedEncodingException; impor ...

  5. LeetCode226 InvertBinaryTree Java题解

    题目: Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 解答: 遍历每个节点  直接交换他们的 ...

  6. Atitit.软件硕士  博士课程 一览表 attilax 总结

    Atitit.软件硕士  博士课程 一览表 attilax 总结 1. Attilax聚焦的领域1 2. 研究生硕士博士课程汇总表1 3. 博士课程3 4. Attilax额外的4 5. 参考4 1. ...

  7. 基于 ZooKeeper 搭建 Hadoop 高可用集群

    一.高可用简介 二.集群规划 三.前置条件 四.集群配置 五.启动集群 六.查看集群 七.集群的二次启动 一.高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS ...

  8. 交换两个变量的值不使用第三个变量(Java)

    关于这个问题网上有好多答案,最近有人说这是个奇葩问题 个人测试了一把,如果是普通的数字的话,基本上没有问题 public static void main(String[] args) { int a ...

  9. openresty 定时器

    [1]nginx定时器应用 (1)文件目录结构 (2)nginx.conf配置 lua_package_path "/usr/local/lib/ubcsrvd/lualib/?.lua;; ...

  10. jmeter java 请求 payload

    1.注册页面抓包看见内容如下: POST http://test.nnzhp.cn/bbs/forum.php?mod=post&action=edit&extra=&edit ...