当我创建包含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
答案 0 :(得分:1)
由于您(或代码的作者)未指定类型,因此您认为indx
是C(1)
是正确的。将行更改为
DATA indx TYPE i.
应该解决问题。