SAP ABAP判断日期是否合法

优选:

DATA:lv_date TYPE sy-datum.
lv_date = '2020-10-'.
CALL METHOD cl_isu_date_check=>date_check_plausibility
  EXPORTING
    x_date                    = lv_date
  EXCEPTIONS
    plausibility_check_failed = 1
    OTHERS                    = 2.
IF sy-subrc = 0.
  WRITE: / 'Yes'.
ELSE.
  WRITE: / 'No'.
ENDIF.

1、下面函数是检查日期的合法性的函数

CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
EXPORTING
date = v_date
EXCEPTIONS
plausibility_check_failed = 1
OTHERS = 2.
IF sy-subrc NE 0. "如果返回非0,则日期不合法

ENDIF. 

2、下面函数是检查时间合法性的函数

CALL FUNCTION 'TIME_CHECK_PLAUSIBILITY'
EXPORTING
time = v_time
EXCEPTIONS
plausibility_check_failed = 1
OTHERS = 2.
IF sy-subrc NE 0. "如果返回非0,则时间不合法

ENDIF.

 

注意:以上两个函数,输入参数如果不是日期或时间类型的话,会dump,比如随便输“abcdef”

也可以用下面类型转换的方法来判断

DATA: LV_DATE TYPE SY-DATUM,
      LV_C(8).

LV_C = 'abcd‘.
LV_DATE = LV_C.

IF LV_DATE = 0.
  WRITE: LV_DATE,'错误'.
ELSE.
  WRITE: LV_DATE,'正确'.
ENDIF.

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值