前言
物料号(MATNR)、凭证号(VBELN)、客户(KUNNR)、供应商(LIFNR)、利润中心(PRCTR)、成本中心(KOSTL)、总账科目(SAKNR)、资产编号(ANLN1)、次级资产编号(ANLN2)、资产分类(ANLKL)等字段,通常在输入SAP需要加前导零,或者在从SAP输出需要去掉前导零.
方法一:
*加上前导零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = L_IN
IMPORTING
output = L_OUT.
*去除前导零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = L_IN
IMPORTING
output = L_OUT.
方法二:
除了调用函数,可以直接加前导零,或去掉前导零。
ALPHA = IN 加前导零
DATA(L_OUT) = |{ L_IN ALPHA = IN }|.
ALPHA = OUT 去掉前导零
DATA(L_OUT) = |{ L_IN ALPHA = OUT }|.
附加
提问:是否可以在查询语句中去掉前导零?
例如,查询物料
1.直接查询,查出的数据带有前导零。
SELECT MATNR FROM MARA
2. 采用LTRIM函数,删掉左边的字符串。
SELECT LTRIM( MATNR,'0' ) FROM MARA
但是,这个关键字LTRIM/RTRIM 低版本不识别,在接口函数或ALV报表程序中不能识别和直接使用,如果只查询SQL数据库可以使用。