CONVERSION_EXIT_ALPHA_INPUT

一般各种订单编号什么的前缀都必须加上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里如图:

image

再双击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.

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值