发货过账仅仅需要发货单号即可
FORM DELIVERY USING P_VBELN TYPE VBELN.
DATA:G_LIKP LIKE LIKP.
DATA:G_LIPS LIKE LIPS.
DATA GV_14(14) TYPE C.
DATA: BEGIN OF I_VBKOK OCCURS 11.
INCLUDE STRUCTURE VBKOK.
DATA: END OF I_VBKOK.
DATA: BEGIN OF I_VBPOK_TAB OCCURS 12.
INCLUDE STRUCTURE VBPOK.
DATA: END OF I_VBPOK_TAB.
SELECT SINGLE * INTO G_LIKP FROM LIKP
WHERE VBELN = P_VBELN.
I_VBKOK-VBELN_VL = P_VBELN. "DELIVERY NUMBER
I_VBKOK-WABUC = 'X'. "AUTOMATIC PGI
I_VBKOK-WADAT_IST = G_LIKP-BLDAT.
APPEND I_VBKOK.
SELECT * INTO G_LIPS FROM LIPS
WHERE VBELN = P_VBELN.
I_VBPOK_TAB-VBELN_VL = P_VBELN. "DELIVERY NUMBER
I_VBPOK_TAB-POSNR_VL = G_LIPS-POSNR.
I_VBPOK_TAB-VBELN = P_VBELN.
I_VBPOK_TAB-POSNN = G_LIPS-POSNR.
I_VBPOK_TAB-MATNR = G_LIPS-MATNR.
GV_14 = G_LIPS-LFIMG.
CONDENSE GV_14.
I_VBPOK_TAB-PIKMG = GV_14 .
APPEND I_VBPOK_TAB.
ENDSELECT.
CALL FUNCTION 'WS_DELIVERY_UPDATE'
EXPORTING
VBKOK_WA = I_VBKOK
COMMIT = 'X'
DELIVERY = P_VBELN
UPDATE_PICKING = 'X'
TABLES
VBPOK_TAB = I_VBPOK_TAB
EXCEPTIONS
ERROR_MESSAGE = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
WRITE:/ '发货过账失败!'.
ELSE.
WRITE:/ '发货过账成功!'.
ENDIF.
*---仅发货过账:
report.
* Data Define
data: i_vbkok type vbkok.
data: begin of i_vbpok_tab occurs 12.
include structure vbpok.
data: end of i_vbpok_tab.
data: p_vbeln type vbeln value '0080002730'.
*---交货抬头数据
i_vbkok-vbeln_vl = p_vbeln. "Delivery number
i_vbkok-wabuc = 'X'. "Automatic PGI
i_vbkok-wadat_ist = '20110223'.
*---发货过账
call function 'WS_DELIVERY_UPDATE'
exporting
vbkok_wa = i_vbkok
commit = 'X'
delivery = p_vbeln
update_picking = 'X'
exceptions
error_message = 1
others = 2.
if sy-subrc <> 0.
write:/ '发货过账失败!'.
endif.