BAPI_PO_CREATE1创建采购订单

这段代码演示了如何使用BAPI_PO_CREATE1函数创建SAP采购订单,包括设置采购订单头信息、物品信息和日程安排,并处理返回信息。
 data:lt_poheader like table of bapimepoheader with header line,
     lt_poheaderx like table of bapimepoheaderx with header line,
     lt_poitem like table of bapimepoitem with header line,
     lt_poitemx like table of bapimepoitemx with header line,
     lt_poschedule like table of bapimeposchedule with header line,
     lt_poschedulx like table of bapimeposchedulx with header line,
     l_exppurchaseorder like bapimepoheader-po_number,
     lt_return like table of bapiret2 with header line.
lt_poheader-comp_code = '1000'.
lt_poheader-doc_type = 'NB'.
lt_poheader-creat_date = sy-datum.
lt_poheader-vendor = '0000040000'.
lt_poheader-langu = sy-langu.
lt_poheader-purch_org = '1000'.
lt_poheader-pur_group = '002'.
lt_poheader-doc_date = sy-datum.

lt_poheaderx-comp_code = 'X'.
lt_poheaderx-doc_type = 'X'.
lt_poheaderx-creat_date = 'X'.
lt_poheaderx-vendor = 'X'.
lt_poheaderx-langu = 'X'.
lt_poheaderx-purch_org = 'X'.
lt_poheaderx-pur_group = 'X'.
lt_poheaderx-doc_date = 'X'.

clear lt_poitem.
lt_poitem-po_item = '0010'.
lt_poitem-material = 'BB88888842'.
lt_poitem-plant = 'A100'.
lt_poitem-stge_loc = '3005'.
lt_poitem-quantity = '1'.
lt_poitem-ret_item   = 'X'.
append lt_poitem.

clear lt_poitemx.
lt_poitemx-po_item = lt_poitem-po_item.
lt_poitemx-material = 'X'.
lt_poitemx-plant = 'X'.
lt_poitemx-stge_loc = 'X'.
lt_poitemx-quantity = 'X'.
lt_poitemx-ret_item = 'X'.
append lt_poitemx.

clear lt_poschedule.
lt_poschedule-po_item = '0010'.
lt_poschedule-sched_line = '0001'.
lt_poschedule-del_datcat_ext = 'D'.
lt_poschedule-delivery_date = sy-datum.
lt_poschedule-quantity = '1'.
append lt_poschedule.

clear lt_poschedulx.
lt_poschedulx-po_item = lt_poschedule-po_item.
lt_poschedulx-sched_line = 'X'.
lt_poschedulx-del_datcat_ext = 'X'.
lt_poschedulx-delivery_date = 'X'.
lt_poschedulx-quantity = 'X'.
append lt_poschedulx.

call function 'BAPI_PO_CREATE1'
  EXPORTING
    poheader         = lt_poheader
    poheaderx        = lt_poheaderx
  IMPORTING
    exppurchaseorder = l_exppurchaseorder
  TABLES
    poitem           = lt_poitem
    poitemx          = lt_poitemx
    poschedule       = lt_poschedule
    poschedulex      = lt_poschedulx
    return           = lt_return.
read table lt_return with key type 'E'.
if sy-subrc <> 0.
  call function 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait 'X'.
endif.
write:/ l_exppurchaseorder.
loop at lt_return.
  write:/ lt_return-message.
endloop.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值