ABAP CHAR类型在输出或字段合并时自动去除前导零的问题

比如CHAR类型的X1字段,值给的时001,结果在WRITE的时候就会出来1,在CONCATENATE 'ABC' X1 INOT X2的时候,X2也会变成ABC1。

特别的是在MESSAGE X1的时候,X1还时001

我们就说不特别的情况,这个问题出现的时候,

可以定义一个STRING的过度字段X3,然后将X1的值通过等于或者MOVE的方式给到X3,然后再WRITE或者CONCATENATE就不会出现这个问题了

程序处理逻辑中添加或去除前导零的方法

*加上p_X1的前导零

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = p_X1
    IMPORTING
      output = p_Y1.

*去除p_X2的前导零

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
      input  = p_X2
    IMPORTING
     output = p_Y2.

原文地址:https://www.cnblogs.com/jingqing/p/13365313.html