ABAP检查日期and时间合法性的函数

来源:互联网 发布:重庆oppo公司知乎 编辑:程序博客网 时间:2024/06/06 14:41
项目中经常需要检查手工输入的时间或日期的合法性,可以调用标准函数 'DATE_CHECK_PLAUSIBILITY' 或'TIME_CHECK_PLAUSIBILITY'检查日期和时间值是否合法。
用法如下:
  1. CALL FUNCTION 'TIME_CHECK_PLAUSIBILITY'
  2. EXPORTING
  3. time = v_time
  4. EXCEPTIONS
  5. plausibility_check_failed = 1
  6. OTHERS = 2.

  7. IF sy-subrc NE 0. "如果返回非0,则时间不合法
  8. .
  9. .
  10. ENDIF.
复制代码

注意:以上两个函数,如果输入参数不是日期或时间类型,那么程序会dump,如输入“SAPCLUB”
可用下面简单的方式来判断:
  1. DATA: LV_DATE TYPE SY-DATUM,
  2.       LV_C(8).

  3. LV_C = 'SAPCLUB'.
  4. LV_DATE = LV_C.

  5. IF LV_DATE = 0.
  6.   WRITE: LV_DATE,'错误'.
  7. ELSE.
  8.   WRITE: LV_DATE,'正确'.
  9. ENDIF.
复制代码