ABAP校验时间日期格式

ABAP标准校验日期函数:

CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
  EXPORTING
    date                      = -hsdat
  EXCEPTIONS
    plausibility_check_failed = 1
    OTHERS                    = 2.
IF sy-subrc NE 0.
  MESSAGE '日期格式错误' TYPE 'E'.
ENDIF.

通过一种简单的方法可校验时间日期格式是否正确:
1.判断是否有特殊符号
2.判断是否为8位

*&---------------------------------------------------------------------*
*& Report  Z_ZHANGM_006
*&
*&---------------------------------------------------------------------*
*&日期格式校验
*&
*&---------------------------------------------------------------------*

REPORT z_zhangm_006.

DATA: v_date TYPE d,
      t_len TYPE i,
      v_c(10) TYPE c.
****************************
* check date
****************************
v_c = '2008112012'.  "这里传入日期
v_date = v_c.
t_len = strlen( v_c ).
IF v_date = 0 or t_len <> 8.
  WRITE: / v_c , ' is a Wrong date!'.
  WRITE: / t_len.
  MESSAGE '日期输入格式有误,请检查上传数据!' TYPE 'I'.
  LEAVE PROGRAM.
ELSE.
  WRITE: / v_c , ' is a OK date.'.
ENDIF.

非日期格式返回:
ABAP校验时间日期格式_第1张图片
正确日期返回:
ABAP校验时间日期格式_第2张图片

你可能感兴趣的:(SAP学习,ABAP校验时间日期格式)