二维码

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

Twilight发表于 2014-11-21 18:00Twilight 最后回复于 2014-11-21 18:00 [复制链接] 4401 0

项目中经常需要检查手工输入的时间或日期的合法性,可以调用标准函数 'DATE_CHECK_PLAUSIBILITY' 或'TIME_CHECK_PLAUSIBILITY'检查日期和时间值是否合法。
用法如下:
  1. CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
  2. EXPORTING
  3. date = v_date
  4. EXCEPTIONS
  5. plausibility_check_failed = 1
  6. OTHERS = 2.
  7. IF sy-subrc NE 0. "如果返回非0,则日期不合法
  8. .
  9. .
  10. ENDIF.
复制代码

  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.
复制代码
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表