程序SAPLMEPO (ME21n)中的CONVT_NO_NUMBER运行时错误



当我创建一个包含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

看起来数据类型为index (char 1),但当PO项index = 9时,则index = 10(调试模式下实际值为*),因此发生异常。

我该如何解决这个问题?

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

您假设indxC(1)是正确的,因为您(或代码的作者)没有指定类型。将行改为

DATA indx TYPE i.

相关内容

  • 没有找到相关文章

最新更新