发货过账(vl02n)bapi 及冲销

2 篇文章 0 订阅

*&---------------------------------------------------------------------*
*& 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.

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值