BAPI_PO_CREATE1
时间: 2024-03-29 20:33:02 浏览: 165
BAPI_PO_CREATE.zip_bapi_po_create help
5星 · 资源好评率100%
BAPI_PO_CREATE1是一个针对事务码ME21N的函数模块,用于创建采购订单。它接受抬头和行项目作为输入参数,并根据这些参数创建采购订单[^2]。
在使用BAPI_PO_CREATE1时,需要注意以下几点:
1. 抬头数据:需要提供采购订单的抬头信息,例如供应商、采购组织、采购组等。
2. 行项目数据:需要提供采购订单的行项目信息,例如物料号、数量、价格等。
3. lt_poitem-ematerial字段:在同一个BAPI COMMIT中多次调用BAPI_PO_CREATE1时,需要赋值该字段。如果不赋值,系统会自动将其值设置为lt_poitem-material的值,并在后续调用中记忆该值。如果不正确地赋值该字段,可能会导致后续的BAPI调用报错[^1]。
下面是一个使用BAPI_PO_CREATE1创建采购订单的示例代码:
```python
import pyrfc
# 创建RFC连接
conn = pyrfc.Connection(user='username', passwd='password', ashost='host', sysnr='00', client='client')
# 准备抬头数据
header_data = {
'COMP_CODE': '0001',
'DOC_TYPE': 'NB',
'VENDOR': '10000001',
# 其他抬头字段...
}
# 准备行项目数据
item_data = [
{
'PO_ITEM': '00010',
'MATERIAL': 'MATERIAL1',
'QUANTITY': 10,
# 其他行项目字段...
},
{
'PO_ITEM': '00020',
'MATERIAL': 'MATERIAL2',
'QUANTITY': 20,
# 其他行项目字段...
},
# 其他行项目...
]
# 调用BAPI_PO_CREATE1创建采购订单
result = conn.call('BAPI_PO_CREATE1', POHEADER=header_data, POITEM=item_data)
# 检查返回结果
if result['RETURN'][0]['TYPE'] == 'E':
print('创建采购订单失败:', result['RETURN'][0]['MESSAGE'])
else:
print('创建采购订单成功:', result['RETURN'][0]['MESSAGE'])
# 关闭RFC连接
conn.close()
```
请注意,上述示例代码中的参数值需要根据实际情况进行替换。另外,还需要安装pyrfc库来进行RFC连接的操作。
阅读全文