Abap BAPI“合同创建错误”;输入物料编号或科目分配类别“;

Abap BAPI“合同创建错误”;输入物料编号或科目分配类别“;,abap,bapi,Abap,Bapi,我正在使用BAPI_CONTRACT_CREATE上传ME31K中的合同订单 出于测试目的,我保留了SE37中与上述BAPI相关的所有参数 但系统显示错误,即使物料代码和所有其他字段都保存在各自的字段中 请查看所附的屏幕截图以供参考。我的2美分,因为这种错误在许多BAPI函数中都很常见 BAPI函数的参数经常加倍,例如一个命名为ITEM,另一个命名为相应的,并以X作为后缀(ITEMX)。此附加参数具有完全相同的字段,具有相同的名称,但长度为一个字符,可以取值为“”或“X” “X”表示必须更改项中

我正在使用BAPI_CONTRACT_CREATE上传ME31K中的合同订单

出于测试目的,我保留了SE37中与上述BAPI相关的所有参数

但系统显示错误,即使物料代码和所有其他字段都保存在各自的字段中


请查看所附的屏幕截图以供参考。

我的2美分,因为这种错误在许多BAPI函数中都很常见

BAPI函数的参数经常加倍,例如一个命名为
ITEM
,另一个命名为相应的,并以
X
作为后缀(
ITEMX
)。此附加参数具有完全相同的字段,具有相同的名称,但长度为一个字符,可以取值为“
”或“
X

X
”表示必须更改
项中的相应字段。在用于更改现有对象、强制将字段更改为空值的BAPI中,可以更好地理解这些双重参数的意义。值为空的字段表示“无更改”

示例代码:

DATA: items   TYPE TABLE OF BAPIMEOUTITEM,
      items_x TYPE TABLE OF BAPIMEOUTITEMX.

items = VALUE #(
   ( item_no = '00010' material = 'MAT01' )
   ( item_no = '00020' material = 'MAT02' ) ).
items_x = VALUE #(
   ( item_no = '00010' material = 'X' )
   ( item_no = '00020' material = 'X' ) ).
...
CALL FUNCTION 'BAPI_CONTRACT_CREATE'
  TABLES
    item   = items
    itemx  = items_x
...

我的2美分,因为这种错误在许多BAPI函数中很常见

BAPI函数的参数经常加倍,例如一个命名为
ITEM
,另一个命名为相应的,并以
X
作为后缀(
ITEMX
)。此附加参数具有完全相同的字段,具有相同的名称,但长度为一个字符,可以取值为“
”或“
X

X
”表示必须更改
项中的相应字段。在用于更改现有对象、强制将字段更改为空值的BAPI中,可以更好地理解这些双重参数的意义。值为空的字段表示“无更改”

示例代码:

DATA: items   TYPE TABLE OF BAPIMEOUTITEM,
      items_x TYPE TABLE OF BAPIMEOUTITEMX.

items = VALUE #(
   ( item_no = '00010' material = 'MAT01' )
   ( item_no = '00020' material = 'MAT02' ) ).
items_x = VALUE #(
   ( item_no = '00010' material = 'X' )
   ( item_no = '00020' material = 'X' ) ).
...
CALL FUNCTION 'BAPI_CONTRACT_CREATE'
  TABLES
    item   = items
    itemx  = items_x
...