问题:
由于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.