程序 SAPLMEPO (ME21n) 中的运行时错误 CONVT_NO_NUMBER
Runtime Error CONVT_NO_NUMBER in program SAPLMEPO (ME21n)
当我创建包含 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 item index = 9时,index = 10 (调试模式下实际值为*),所以出现异常
我该如何解决这个问题?
我也post这个问题在这里:https://scn.sap.com/message/16146617
您假设 indx
是 C(1)
是正确的,因为您(或代码的作者)没有指定类型。将行更改为
DATA indx TYPE i.
应该可以解决问题。
当我创建包含 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 item index = 9时,index = 10 (调试模式下实际值为*),所以出现异常
我该如何解决这个问题?
我也post这个问题在这里:https://scn.sap.com/message/16146617
您假设 indx
是 C(1)
是正确的,因为您(或代码的作者)没有指定类型。将行更改为
DATA indx TYPE i.
应该可以解决问题。