T代码创建PO ME21N:程序SAPLMEPO的运行时错误CONVT_NO_NUMBER包括MM06EF0B_BUCHEN

时间:2015-08-06 04:08:40

标签: sap abap

当我创建包含10个(或更高)项目的采购订单时,发生运行时错误。以下是错误消息。

Category:          ABAP Programming Error
Runtime Errors: CONVT_NO_NUMBER
ABAP Program: SAPLMEPO
Include              MM06EF0B_BUCHEN
Application Component MM-PUR

发生了一个异常,详情如下所述。

此异常无法在当前语句的上下文中捕获。异常的原因是:尝试将值“*”解释为数字。由于这个值违反了正确显示数字的规则,这是不可能的。

以下是发生异常的代码:

DATA indx.
     indx = 1.
* Need to merge KNT and XEKKN
* algorithm is: if knt is old, use knt. Else use the equivalent from xekkn
     LOOP AT knt.
       IF knt-updkz EQ oldpos.
         MOVE-CORRESPONDING knt TO lt_ekkn.
       ELSE.
        READ TABLE xekkn INDEX indx.
         MOVE-CORRESPONDING xekkn to lt_ekkn.
         indx = indx + 1.
       ENDIF.
       APPEND lt_ekkn.
     ENDLOOP.                    "v 2068862

似乎是indx(char 1)的数据类型,但是当PO项索引= 9时,则index = 10(实际值在调试模式下为*),因此发生异常。

我该如何解决这个问题?

我也在这里发布此问题:https://scn.sap.com/message/16146617

1 个答案:

答案 0 :(得分:1)

由于您(或代码的作者)未指定类型,因此您认为indxC(1)是正确的。将行更改为

DATA indx TYPE i.

应该解决问题。