发货过账(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.
*& 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.
相关文章推荐
- 冲销已过账外向交货单BAPI:WS_REVE…
- 外向交货单发货过账BAPI:BAPI_OUT…
- ABAP中,利用函数WS_DELIVERY_UPDATE进行VL02N发货过账时获取凭证号(mblnr)
- SAP-BAPI-将指定的交货单发货过账(指定账期和出货仓位)
- 交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)
- 外向交货单发货过账BAPI:WS_DELIV…
- 交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)
- BAPI_ACC_DOCUMENT_POST 过账固定资产凭证
- WS_DELIVERY_UPDATE 修改数量、过账日期并发货过账
- 函数使用三:采购过账BAPI_GOODSMVT_CREATE
- WS_DELIVERY_UPDATE 修改数量、过账日期并发货过账
- BAPI----冲销外向交货
- SAP凭证冲销BAPI用法
- SAP凭证冲销BAPI用法
- 成品入库过账bapi
- SAP FI 会计凭证过账bapi BAPI_ACC_DOCUMENT_POST
- 【转载】ABAP MIGO 冲销 BAPI_GOODSMVT_CANCEL 源代码
- VL02N 修改想外交货的表头数据的BAPI 'BAPI_OUTB_DELIVERY_CHANGE'
- vl02n发货序列号查询
- FICO常用过账的两个BAPI使用