您的位置:首页 > 其它

发货过账(vl02n)bapi 及冲销

2009-10-28 15:16 567 查看
*&---------------------------------------------------------------------*
*& Report YMM_TEST_FOR_FHGZ *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

REPORT ymm_test_for_fhgz .
"库位我们采用UPDATE或者BDC先修改

DATA:tab_mess TYPE TABLE OF bdcmsgcoll WITH HEADER LINE.
REFRESH tab_mess.CLEAR tab_mess.
DATA: bapi_z03cdogi_delivery LIKE bapiobdlvhdrcon-deliv_numb ,
bapi_z03cdogi_header_data LIKE bapiobdlvhdrcon OCCURS 0 WITH HEADER LINE ,
bapi_z03cdogi_header_control LIKE bapiobdlvhdrctrlcon OCCURS 0 WITH HEADER LINE,
bapi_z03cdogi_item_data LIKE bapiobdlvitemcon OCCURS 0 WITH HEADER LINE,
bapi_z03cdogi_item_control LIKE bapiobdlvitemctrlcon OCCURS 0 WITH HEADER LINE ,
bapi_z03cdogi_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE .

*---------------------
DATA: i_vbkok LIKE vbkok OCCURS 0 WITH HEADER LINE,
i_vbpok_tab LIKE vbpok OCCURS 0 WITH HEADER LINE,
i_prott LIKE prott OCCURS 0 WITH HEADER LINE.
i_vbkok-vbeln_vl = '0080116891'. "<- Delivery number
i_vbkok-wabuc = 'X'. " <- Automatic PGI
i_vbkok-wadat_ist = '20090920'.
APPEND i_vbkok.
*
* I_VBPOK_TAB-VBELN_VL = '0080116895'. "<- Delivery number
* I_VBPOK_TAB-POSNR_VL = '10'.
* I_VBPOK_TAB-VBELN = P_VBELN .
* I_VBPOK_TAB-POSNN = LIPS-POSNR.
* I_VBPOK_TAB-MATNR = LIPS-MATNR. "Material Number
* I_VBPOK_TAB-WERKS = '3000'. "LIPS-WERKS.
* I_VBPOK_TAB-LGORT = 'ATPR'. "'FU01'."'ATPR'.
* GV_14 = LIPS-LFIMG .
* CONDENSE GV_14.
* I_VBPOK_TAB-PIKMG = GV_14 .

* APPEND I_VBPOK_TAB.

CALL FUNCTION 'WS_DELIVERY_UPDATE'
EXPORTING
vbkok_wa = i_vbkok
commit = 'X'
delivery = '0080116891'
update_picking = 'X'
TABLES
vbpok_tab = i_vbpok_tab
prot = i_prott
EXCEPTIONS
error_message = 1
OTHERS = 2.
BREAK-POINT.

*-----------------

CLEAR: bapi_z03cdogi_delivery , bapi_z03cdogi_header_data , bapi_z03cdogi_header_control , bapi_z03cdogi_item_data ,bapi_z03cdogi_item_control , bapi_z03cdogi_return .
REFRESH: bapi_z03cdogi_header_data , bapi_z03cdogi_header_control , bapi_z03cdogi_item_data , bapi_z03cdogi_item_control , bapi_z03cdogi_return .

bapi_z03cdogi_delivery = '0080116891' .

bapi_z03cdogi_header_data-deliv_numb = '0080116891'.
APPEND bapi_z03cdogi_header_data.

bapi_z03cdogi_header_control-deliv_numb = '0080116891'.
bapi_z03cdogi_header_control-post_gi_flg = 'X'.
APPEND bapi_z03cdogi_header_control.

bapi_z03cdogi_item_data-deliv_numb = '0080116895'.
bapi_z03cdogi_item_data-deliv_item = '00010'.
bapi_z03cdogi_item_data-HIERARITEM = '90001' .
bapi_z03cdogi_item_data-dlv_qty = 40.
bapi_z03cdogi_item_data-sales_unit = 'Z37'.
bapi_z03cdogi_item_data-fact_unit_nom = 1. " 此处应从MARM取转换关系
bapi_z03cdogi_item_data-fact_unit_denom = 1." 此处应从MARM取转换关系
* BAPI_Z03CDOGI_ITEM_DATA-BATCH = PGI_TAB-UMCHA.
*PGI_TAB-CHARG
bapi_z03cdogi_item_data-batch = '0000000054'.

APPEND bapi_z03cdogi_item_data.

bapi_z03cdogi_item_data-deliv_numb = '0080116895'.
bapi_z03cdogi_item_data-deliv_item = '00010'.
bapi_z03cdogi_item_data-HIERARITEM = '90002' .
bapi_z03cdogi_item_data-dlv_qty = 60.
bapi_z03cdogi_item_data-sales_unit = 'Z37'.
bapi_z03cdogi_item_data-fact_unit_nom = 1. " 此处应从MARM取转换关系
bapi_z03cdogi_item_data-fact_unit_denom = 1." 此处应从MARM取转换关系
* BAPI_Z03CDOGI_ITEM_DATA-BATCH = PGI_TAB-UMCHA.
*PGI_TAB-CHARG
bapi_z03cdogi_item_data-batch = '0000000401'.
APPEND bapi_z03cdogi_item_data.

bapi_z03cdogi_item_data-deliv_numb = '0080116895'.
bapi_z03cdogi_item_data-deliv_item = '00020'.
bapi_z03cdogi_item_data-dlv_qty = 50.
bapi_z03cdogi_item_data-sales_unit = 'Z37'.
bapi_z03cdogi_item_data-fact_unit_nom = 1. " 此处应从MARM取转换关系
bapi_z03cdogi_item_data-fact_unit_denom = 1." 此处应从MARM取转换关系
* BAPI_Z03CDOGI_ITEM_DATA-BATCH = PGI_TAB-UMCHA.
*PGI_TAB-CHARG
bapi_z03cdogi_item_data-batch = '0000000054'.
APPEND bapi_z03cdogi_item_data.

bapi_z03cdogi_item_control-deliv_numb = '0080116891'.
bapi_z03cdogi_item_control-deliv_item = '00010'.
bapi_z03cdogi_item_control-chg_delqty = 'X'.
APPEND bapi_z03cdogi_item_control.

bapi_z03cdogi_item_control-deliv_numb = '0080116891'.
bapi_z03cdogi_item_control-deliv_item = '00020'.
bapi_z03cdogi_item_control-chg_delqty = 'X'.
APPEND bapi_z03cdogi_item_control.

CALL FUNCTION 'BAPI_OUTB_DELIVERY_CONFIRM_DEC'
EXPORTING
delivery = bapi_z03cdogi_delivery
header_data = bapi_z03cdogi_header_data
header_control = bapi_z03cdogi_header_control
TABLES
item_data = bapi_z03cdogi_item_data
item_control = bapi_z03cdogi_item_control
return = bapi_z03cdogi_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = bapi_z03cdogi_return.
"清除LIKP-VLSTK 不然无法冲销
UPDATE likp SET vlstk = '' anzpk = '0' WHERE vbeln = '0080116891'." 处理分配状态(分散仓库处理)标志 便于vl09 gj 2006.3.24
COMMIT WORK.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: