您的位置:首页 > 其它

CONVERSION_EXIT_ALPHA_INPUT

2009-04-12 22:25 190 查看
一般各种订单编号什么的前缀都必须加上000才能进行比较判断,这还可以自己手动加0.今天碰到一个问题要用delete删除自建表,主键就是一个char类型的,前缀也必须加0,但是第一个加了0,后面的就不会自动加了。代码如下:
itb-ZSDDNNO = '000000000023'.
do 150 TIMES.
     add 1 to itb-ZSDDNNO.
     DELETE ZMMTJHD FROM itb.
ENDDO.
怎么办了?只有用函数CONVERSION_EXIT_ALPHA_INPUT了,比如在表vbak中就可以找到它,双击字段vbeln直到domin里如图:



再双击converse routine就可以看到这个函数了。关于它的功能如下:
功能:
给输入的数字编号添加前置 0,以便让查询程序正确处理。多数用在财务科目的查询,对于各种凭证编号和物料号,如果查询无法获得所需结果,也可以考虑尝试用此函数进行转换。
输入参数:
INPUT:不限制类型,必须输入。原始编号。
输出参数:
OUTPUT:不限制类型。计算出的结果。
测试结果:
如果 INPUT 输入为纯数字(就是只有 0~9 之间的字符),结果就是前置很多 0 的数字。
如果 INPUT 输入不为纯数字(就是包含 0~9 之外的字符),结果就跟输入值一样。
那么删除自建表内容的代码可以这么写了:
itb-ZSDDNNO = '000000000023'.
    do 150 TIMES.
  add 1 to itb-ZSDDNNO.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
  EXPORTING
      INPUT         = itb-ZSDDNNO
IMPORTING
       OUTPUT        = itb-ZSDDNNO
          .
       DELETE ZMMTJHD FROM itb.
ENDDO.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: