ABAP 日期格式转换

将XXXX-XX-XX或XXXX/XX/XX或XXXX.XX.XX转换XXXXXXXX格式
在这里插入图片描述

*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(L_PDATU) TYPE  CHAR20
*"  EXPORTING
*"     VALUE(E_PDATU) TYPE  CHAR20
*"----------------------------------------------------------------------


  DATA : l_y(4)  TYPE c,
         l_m(2)  TYPE c,
         l_d(2)  TYPE c,
         l_t(10) TYPE c,
         l_n     TYPE i.

  l_t = l_pdatu+5(5) .
  l_y = l_pdatu+0(4) .

  CASE l_pdatu+4(1).
    WHEN '/'.
      SEARCH l_t FOR '/'.
    WHEN '-'.
      SEARCH l_t FOR '-'.
    WHEN '.'.
      CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
        EXPORTING
          date_external            = l_pdatu
        IMPORTING
          date_internal            = e_pdatu
        EXCEPTIONS
          date_external_is_invalid = 1
          OTHERS                   = 2.
      EXIT.
    WHEN OTHERS.
  ENDCASE.

  IF sy-fdpos = 2 .
    l_m = l_pdatu+5(2) .
    l_d = l_pdatu+8(2) .
  ENDIF .
  IF sy-fdpos = 1 .
    l_m = l_pdatu+5(1) .
    l_d = l_pdatu+7(2) .
  ENDIF .
  l_n = l_m .
  IF l_n < 10 AND l_m+0(1) NE '0'.
    CONCATENATE '0' l_m INTO l_m .
  ENDIF .
  l_n = l_d .
  IF l_n < 10 AND l_d+0(1) NE '0'.
    CONCATENATE '0' l_d INTO l_d .
  ENDIF .
  CONCATENATE l_y l_m l_d INTO e_pdatu .
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值