交货单的发货在SAP Gui 过账 是在TCODE:VL02N进行的
在ABAP调用bapi有很多种方式 下面介绍:BAPI_OUTB_DELIVERY_CONFIRM_DEC
** VL02N BAPI变量
DATA: i_header_data TYPE bapiobdlvhdrcon,
i_header_control TYPE bapiobdlvhdrctrlcon,
lt_header_deadlines TYPE TABLE OF bapidlvdeadln WITH HEADER LINE.
i_header_data-deliv_numb = lw_vbuk-vbeln. " 交货单单号
i_header_control-deliv_numb = lw_vbuk-vbeln. " 交货单单号
i_header_control-post_gi_flg = 'X'. " 自动过帐货物移动
i_header_control-deliv_date_flg = 'X'. " 确认交货日期
"不需要指定过账日期的直接 可以不要这个参数
lt_header_deadlines-timetype = 'WSHDRWADTI'. "实际过账日期标识
lt_header_deadlines-timestamp_utc = lv_pstng_date."需求要自定义过账日期 默认当天
APPEND lt_header_deadlines.
"置空分配状态(可能出现重复过账的情况)
UPDATE likp SET vlstk = space WHERE vbeln = lw_vbuk-vbeln.
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CONFIRM_DEC'
EXPORTING
header_data = i_header_data
header_control = i_header_control
delivery = lw_vbuk-vbeln
TABLES
header_deadlines = lt_header_deadlines
return = lt_return.
READ TABLE lt_return INTO lw_return WITH KEY type = 'E'.
IF sy-subrc <> 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.