项目中用到了STO:BAPI_OUTB_DELIVERY_CREATE_STO 创建交货单,但是创建的交货单缺失了库位信息,使得后续VLPOD进行不下去,报VL604错误。
解决方案,库位给加上。
DATA: lt_header_data LIKE TABLE OF bapiobdlvhdrchg WITH HEADER LINE. "delivery header
DATA: lt_header_control LIKE TABLE OF bapiobdlvhdrctrlchg WITH HEADER LINE. "delivery header control
DATA: i_delivery_no LIKE bapiobdlvhdrchg-deliv_numb. "deliver number
DATA: lt_techn_control LIKE bapidlvcontrol. "lt_techn_control
DATA: lt_item_data LIKE bapiobdlvitemchg OCCURS 0 WITH HEADER LINE. "lt_item_data delivery item
DATA: lt_item_control LIKE bapiobdlvitemctrlchg OCCURS 0 WITH HEADER LINE. "item_control
DATA: lt_item_data_spl LIKE /spe/bapiobdlvitemchg OCCURS 0 WITH HEADER LINE.
DATA: lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE,
ls_return TYPE bapiret2.
lt_header_data-deliv_numb = '0700000078'.
lt_header_control-deliv_numb = '0700000078'.
i_delivery_no = '0700000078'.
lt_item_data-deliv_numb = '0700000078'.
lt_item_data-deliv_item = '000001'.
lt_item_data-hieraritem = '000001'.
lt_item_data-usehieritm = 1.
lt_item_data-base_uom = 'EA'.
lt_item_data-sales_unit = 'EA'.
lt_item_data-fact_unit_denom = 1.
lt_item_data-fact_unit_nom = 1.
append lt_item_data.
lt_item_control-deliv_numb = '0700000078'.
lt_item_control-deliv_item = '000001'.
lt_item_control-chg_delqty = 'X'.
append lt_item_control.
lt_item_data_spl-deliv_numb = '0700000078'.
lt_item_data_spl-deliv_item = '000001'.
lt_item_data_spl-stge_loc = '3101'.
APPEND lt_item_data_spl.
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
EXPORTING
header_data = lt_header_data
header_control = lt_header_control
delivery = i_delivery_no
TABLES
item_data = lt_item_data
item_control = lt_item_control
item_data_spl = lt_item_data_spl
return = lt_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
参考:https://jingyan.baidu.com/article/4b52d702dfb37efc5c774ba9.html