1. 发货过账
BAPI : BAPI_OUTB_DELIVERY_CONFIRM_DEC
代码样例:
CLEAR:ls_header_data.
ls_header_data-deliv_numb = i_vbeln.
ls_header_control-deliv_numb = i_vbeln.
ls_header_control-post_gi_flg = 'X'.
ls_header_control-volume_flg = 'X'.
lv_delivery = i_vbeln.
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CONFIRM_DEC'
EXPORTING
header_data = ls_header_data
header_control = ls_header_control
delivery = lv_delivery
TABLES
return = lt_return.
READ TABLE lt_return INTO ls_return WITH KEY type = 'E'.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
CLEAR: lv_text.
SELECT SINGLE text FROM t100 INTO lv_text
WHERE arbgb = ls_return-id AND msgnr = ls_return-number AND sprsl = sy-langu .
e_msg = lv_text.
e_code = 'E'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
e_msg = '过账成功'.
e_code = 'S'.
ENDIF.
2. 发货过账取消
BAPI: WS_REVERSE_GOODS_ISSUE
代码样例:
DATA: ls_emkpf TYPE emkpf,
lt_mesg TYPE TABLE OF mesg,
ls_mesg TYPE mesg.
i_vbeln = '810000001'.
CALL FUNCTION 'WS_REVERSE_GOODS_ISSUE'
EXPORTING
i_vbeln = i_vbeln
i_budat = sy-datum
i_tcode = 'VL09'
i_vbtyp = 'J'
IMPORTING
es_emkpf = ls_emkpf
TABLES
t_mesg = lt_mesg
EXCEPTIONS
error_reverse_goods_issue = 1
error_message = 99
OTHERS = 2.
IF ls_emkpf IS NOT INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
else.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.