CONVERT_DATE_INPUT
【转自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的更多相关文章
- [SAP ABAP开发技术总结]日期函数
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
随机推荐
- UltraISO 9.6.5.3237
注册信息: 用户名:Guanjiu 注册码:A06C-83A7-701D-6CFC
- CLR 完全介绍
From: http://msdn.microsoft.com/zh-cn/magazine/cc164193.aspx http://msdn.microsoft.com/en-us/magazin ...
- Android开源--PullToRefresh
开源地址: https://github.com/chrisbanes/Android-PullToRefresh 简单介绍:PullToRefresh是一款支持ListView,GridView,V ...
- hibernate之6.one2many单向
表结构: 实体类图: CRUD: Student: package com.demo.model; import java.io.UnsupportedEncodingException; impor ...
- LeetCode226 InvertBinaryTree Java题解
题目: Invert a binary tree. 4 / \ 2 7 / \ / \ 1 3 6 9 to 4 / \ 7 2 / \ / \ 9 6 3 1 解答: 遍历每个节点 直接交换他们的 ...
- Atitit.软件硕士 博士课程 一览表 attilax 总结
Atitit.软件硕士 博士课程 一览表 attilax 总结 1. Attilax聚焦的领域1 2. 研究生硕士博士课程汇总表1 3. 博士课程3 4. Attilax额外的4 5. 参考4 1. ...
- 基于 ZooKeeper 搭建 Hadoop 高可用集群
一.高可用简介 二.集群规划 三.前置条件 四.集群配置 五.启动集群 六.查看集群 七.集群的二次启动 一.高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS ...
- 交换两个变量的值不使用第三个变量(Java)
关于这个问题网上有好多答案,最近有人说这是个奇葩问题 个人测试了一把,如果是普通的数字的话,基本上没有问题 public static void main(String[] args) { int a ...
- openresty 定时器
[1]nginx定时器应用 (1)文件目录结构 (2)nginx.conf配置 lua_package_path "/usr/local/lib/ubcsrvd/lualib/?.lua;; ...
- jmeter java 请求 payload
1.注册页面抓包看见内容如下: POST http://test.nnzhp.cn/bbs/forum.php?mod=post&action=edit&extra=&edit ...