外向交货取消发货bapi: WS_REVERSE_GOODS_ISSUE
外向交货单删除批次拆分行:BAPI_OUTB_DELIVERY_CHANGE
但是两个bapi同时使用时,会报错VL 216,解决方法如下:
代码如下:
REPORT zvl09_test.
TABLES:likp.
DATA:et_mesg TYPE TABLE OF mesg,
es_emkpf TYPE emkpf,
lv_vbtyp TYPE likp-vbtyp.
PARAMETERS:p_vbeln LIKE likp-vbeln.
CLEAR lv_vbtyp.
SELECT SINGLE
vbtyp
INTO lv_vbtyp
FROM likp
WHERE likp~vbeln = p_vbeln.
* VL09外向交货取消发货
CALL FUNCTION 'WS_REVERSE_GOODS_ISSUE'
EXPORTING
i_vbeln = input-vbeln
i_budat = p_budat
i_tcode = 'VL09'
i_vbtyp = lv_vbtyp
IMPORTING
es_emkpf = es_emkpf
TABLES
t_mesg = et_mesg
EXCEPTIONS
error_reverse_goods_issue = 1
OTHERS = 2.
IF o_es_emkpf-mblnr <> ''.
COMMIT WORK AND WAIT.
* 外向交货单删除批次拆分行:BAPI_OUTB_DELIVERY_CHANGE
* 此处注意:一定要用DESTINATION 'NONE'
CALL FUNCTION 'ZFUNC_DELIVERY_BATCH_CHANGE' DESTINATION 'NONE'
EXPORTING
i_vbeln = p_vbeln.
ELSE.
ROLLBACK WORK.
ENDIF.
ZFUNC_DELIVERY_BATCH_CHANGE 函数代码如下:
FUNCTION zfunc_delivery_batch_change.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_VBELN) TYPE VBELN
*"----------------------------------------------------------------------
DATA: ls_header_data TYPE bapiobdlvhdrchg,
ls_header_control TYPE bapiobdlvhdrctrlchg,
lt_batch_item TYPE STANDARD TABLE OF bapiobdlvitemchg,
ls_batch_item TYPE bapiobdlvitemchg,
lt_batch_control TYPE STANDARD TABLE OF bapiobdlvitemctrlchg,
ls_batch_control TYPE bapiobdlvitemctrlchg,
techn_control LIKE bapidlvcontrol, "TECHN_CONTROL
lt_lips TYPE STANDARD TABLE OF lips WITH HEADER LINE,
ls_lips TYPE lips,
lt_lips_split TYPE STANDARD TABLE OF lips,
ls_lips_split TYPE lips,
lt_return_tab TYPE TABLE OF bapiret2,
ls_return_tab TYPE &n
134





被折叠的 条评论
为什么被折叠?



