SAP ABAP 使用类方法获取字符串长度

文章描述了一个在ABAP编程中遇到的问题,即当变量w_vbkd1-bstkd_e的长度超过10位时,会导致程序出错。为了解决这个问题,作者采用了条件判断和ABAP类cl_abap_list_utilities的方法来动态获取字符串长度。如果长度小于或等于10位,才调用转换函数CONVERSION_EXIT_ALPHA_INPUT进行处理,以避免Dump的发生。
摘要由CSDN通过智能技术生成

问题:
由于w_vbkd1-bstkd_e和w_vbkd-vbeln的声明长度不同,当w_vbkd1-bstkd_e长度大于10位时,导致程序dump,因此,解决方法是加一个if判断,使用类方法来获取字符串的长度:
lv_len = cl_abap_list_utilities=>dynamic_output_length( w_vbkd1-bstkd_e ).

"当w_vbkd1-bstkd_e长度大于10位时,不进行加前导0,不然会dump 20230418
      data:lv_len type i.
      lv_len = cl_abap_list_utilities=>dynamic_output_length( w_vbkd1-bstkd_e ).
      if lv_len <= 10.
        call function 'CONVERSION_EXIT_ALPHA_INPUT'
          exporting
            input  = w_vbkd1-bstkd_e
          importing
            output = w_vbkd-vbeln.
      endif.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值