交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)
生活随笔
收集整理的這篇文章主要介紹了
交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*&---------------------------------------------------------------------*
*&?Report??ZVL02N_CHARGE
*&
*&---------------------------------------------------------------------*
*&??先調用?BAPI_OUTB_DELIVERY_CHANGE?對批次進行拆分(前提是?要拆分的?外向交貨單?行項目?批次為?空)
*&??然后?調用?WS_DELIVERY_UPDATE?更新?交貨數量和揀配數量
*&---------------------------------------------------------------------*
REPORT ?ZVL02N_CHARGE.
DATA ?:?HEADER_DATA? LIKE ?BAPIOBDLVHDRCHG.? "Delivery?header
DATA ?:?HEADER_CONTROL? LIKE ?BAPIOBDLVHDRCTRLCHG.? "delivery?header?control
DATA ?:?I_DELIVERY_NO? LIKE ?BAPIOBDLVHDRCHG-DELIV_NUMB.? "deliver?number
DATA ?:?TECHN_CONTROL? LIKE ?BAPIDLVCONTROL.? "TECHN_CONTROL
DATA ?:?ITEM_DATA? LIKE ?BAPIOBDLVITEMCHG? OCCURS ? 0 ? WITH ? HEADER ? LINE .? "ITEM_DATA?delivery?item
DATA ?:?ITEM_CONTROL? LIKE ?BAPIOBDLVITEMCTRLCHG? OCCURS ? 0 ? WITH ? HEADER ? LINE .? "ITEM_CONTROL
DATA ?:? RETURN ? LIKE ?BAPIRET2? OCCURS ? 0 ? WITH ? HEADER ? LINE .? "Return
*Set?Delivery?Header?data
I_DELIVERY_NO?=? '0080249529' .
HEADER_DATA-DELIV_NUMB?=?I_DELIVERY_NO.
TECHN_CONTROL-UPD_IND?=? 'U' .
HEADER_CONTROL-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_DATA-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_DATA-DELIV_ITEM?=? '900001' .
ITEM_DATA-HIERARITEM?=? '40' .???????????? "The?batch?split?record?below?delivery?item?hierary
ITEM_DATA-USEHIERITM?=? '1' .
ITEM_DATA-MATERIAL?=? 'W065B0X030601002' .
ITEM_DATA-BATCH?=? 'BCFA2907' .
ITEM_DATA-DLV_QTY?=? 4 .
*ITEM_DATA-DLV_QTY_IMUNIT?=?1000.
ITEM_DATA-FACT_UNIT_NOM?=? 1 .
ITEM_DATA-FACT_UNIT_DENOM?=? 1 .
APPEND ?ITEM_DATA.
CLEAR ?ITEM_DATA.
ITEM_DATA-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_DATA-DELIV_ITEM?=? '900002' .??????? "The?batch?split?record?below?delivery?item?hierary
ITEM_DATA-HIERARITEM?=? '40' .
ITEM_DATA-USEHIERITM?=? '1' .
ITEM_DATA-MATERIAL?=? 'W065B0X030601002' .
ITEM_DATA-BATCH?=? 'BCFC1802' .
ITEM_DATA-DLV_QTY?=? 4 .
ITEM_DATA-FACT_UNIT_NOM?=? 1 .
ITEM_DATA-FACT_UNIT_DENOM?=? 1 .
APPEND ?ITEM_DATA.
CLEAR ?ITEM_DATA.
ITEM_CONTROL-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_CONTROL-DELIV_ITEM?=? '40' .
ITEM_CONTROL-CHG_DELQTY?=? 'X' .
APPEND ?ITEM_CONTROL.
CLEAR ?ITEM_CONTROL.
ITEM_CONTROL-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_CONTROL-DELIV_ITEM?=? '900001' .
ITEM_CONTROL-CHG_DELQTY?=? 'X' .
APPEND ?ITEM_CONTROL.
CLEAR ?ITEM_CONTROL.
ITEM_CONTROL-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_CONTROL-DELIV_ITEM?=? '900002' .
ITEM_CONTROL-CHG_DELQTY?=? 'X' .
APPEND ?ITEM_CONTROL.
CLEAR ?ITEM_CONTROL.
CALL ? FUNCTION ? 'BAPI_OUTB_DELIVERY_CHANGE'
?? EXPORTING
????HEADER_DATA????=?HEADER_DATA
????HEADER_CONTROL?=?HEADER_CONTROL
????DELIVERY???????=?I_DELIVERY_NO
????TECHN_CONTROL??=?TECHN_CONTROL
?? TABLES
????ITEM_DATA??????=?ITEM_DATA
????ITEM_CONTROL???=?ITEM_CONTROL
???? RETURN ?????????=? RETURN .
IF ?SY-SUBRC? EQ ? 0 .
?? CALL ? FUNCTION ? 'BAPI_TRANSACTION_COMMIT'
???? EXPORTING
?????? WAIT ?=? 'X' .
ENDIF .
DATA ?:?I_VBKOK? LIKE ?VBKOK.? "Delivery?header
DATA ?:?I_VBPOK? LIKE ?VBPOK?? OCCURS ? 0 ? WITH ? HEADER ? LINE .? "Delivery?Picking
DATA ?:?V_ERROR.
I_VBKOK-VBELN_VL?=? '0080000066' .
I_VBKOK-WABUC?=? 'X' .? "Post?Good?Issue?Automatic
I_VBPOK-VBELN_VL?=?I_VBKOK-VBELN_VL.? "Delivery?NO
I_VBPOK-POSNR_VL?=? '900001' .? "Delivery?Item
I_VBPOK-VBELN?=? '1000000325' .? "Sales?Order????????????"You?must?assign?Sales?order?&?Item?number
I_VBPOK-POSNN?=? '10' .??????? "Sales?Order?item
I_VBPOK-MATNR?=? 'WY-F-001' .
I_VBPOK-CHARG?=?? '0000000001' .
I_VBPOK-LFIMG?=? 5 .????? "Actual?quantity?delivered?(in?sales?units)
I_VBPOK-LGMNG?=? 5 .????? "Actual?quantity?delivered?in?stockkeeping?units
APPEND ?I_VBPOK.
I_VBPOK-VBELN_VL?=?I_VBKOK-VBELN_VL.? "Delivery?NO
I_VBPOK-POSNR_VL?=? '900002' .? "Delivery?Item
I_VBPOK-VBELN?=? '1000000325' .? "Sales?Order
I_VBPOK-POSNN?=? '10' .??????? "Sales?Order?item
I_VBPOK-MATNR?=? 'WY-F-001' .
I_VBPOK-CHARG?=?? '0000000002' .
I_VBPOK-LFIMG?=? 5 .????? "Actual?quantity?delivered?(in?sales?units)
I_VBPOK-LGMNG?=? 5 .????? "Actual?quantity?delivered?in?stockkeeping?units
APPEND ?I_VBPOK.
CALL ? FUNCTION ? 'WS_DELIVERY_UPDATE'
?? EXPORTING
????VBKOK_WA??????????????????=?I_VBKOK
????DELIVERY??????????????????=?I_VBKOK-VBELN_VL
????UPDATE_PICKING????????????=? 'X' ????????? "Update?Picking?data
?? IMPORTING
????EF_ERROR_IN_GOODS_ISSUE_0?=?V_ERROR
?? TABLES
????VBPOK_TAB?????????????????=?I_VBPOK.
IF ?SY-SUBRC? EQ ? 0 .
?? CALL ? FUNCTION ? 'BAPI_TRANSACTION_COMMIT' .
endif .
*&?Report??ZVL02N_CHARGE
*&
*&---------------------------------------------------------------------*
*&??先調用?BAPI_OUTB_DELIVERY_CHANGE?對批次進行拆分(前提是?要拆分的?外向交貨單?行項目?批次為?空)
*&??然后?調用?WS_DELIVERY_UPDATE?更新?交貨數量和揀配數量
*&---------------------------------------------------------------------*
REPORT ?ZVL02N_CHARGE.
DATA ?:?HEADER_DATA? LIKE ?BAPIOBDLVHDRCHG.? "Delivery?header
DATA ?:?HEADER_CONTROL? LIKE ?BAPIOBDLVHDRCTRLCHG.? "delivery?header?control
DATA ?:?I_DELIVERY_NO? LIKE ?BAPIOBDLVHDRCHG-DELIV_NUMB.? "deliver?number
DATA ?:?TECHN_CONTROL? LIKE ?BAPIDLVCONTROL.? "TECHN_CONTROL
DATA ?:?ITEM_DATA? LIKE ?BAPIOBDLVITEMCHG? OCCURS ? 0 ? WITH ? HEADER ? LINE .? "ITEM_DATA?delivery?item
DATA ?:?ITEM_CONTROL? LIKE ?BAPIOBDLVITEMCTRLCHG? OCCURS ? 0 ? WITH ? HEADER ? LINE .? "ITEM_CONTROL
DATA ?:? RETURN ? LIKE ?BAPIRET2? OCCURS ? 0 ? WITH ? HEADER ? LINE .? "Return
*Set?Delivery?Header?data
I_DELIVERY_NO?=? '0080249529' .
HEADER_DATA-DELIV_NUMB?=?I_DELIVERY_NO.
TECHN_CONTROL-UPD_IND?=? 'U' .
HEADER_CONTROL-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_DATA-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_DATA-DELIV_ITEM?=? '900001' .
ITEM_DATA-HIERARITEM?=? '40' .???????????? "The?batch?split?record?below?delivery?item?hierary
ITEM_DATA-USEHIERITM?=? '1' .
ITEM_DATA-MATERIAL?=? 'W065B0X030601002' .
ITEM_DATA-BATCH?=? 'BCFA2907' .
ITEM_DATA-DLV_QTY?=? 4 .
*ITEM_DATA-DLV_QTY_IMUNIT?=?1000.
ITEM_DATA-FACT_UNIT_NOM?=? 1 .
ITEM_DATA-FACT_UNIT_DENOM?=? 1 .
APPEND ?ITEM_DATA.
CLEAR ?ITEM_DATA.
ITEM_DATA-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_DATA-DELIV_ITEM?=? '900002' .??????? "The?batch?split?record?below?delivery?item?hierary
ITEM_DATA-HIERARITEM?=? '40' .
ITEM_DATA-USEHIERITM?=? '1' .
ITEM_DATA-MATERIAL?=? 'W065B0X030601002' .
ITEM_DATA-BATCH?=? 'BCFC1802' .
ITEM_DATA-DLV_QTY?=? 4 .
ITEM_DATA-FACT_UNIT_NOM?=? 1 .
ITEM_DATA-FACT_UNIT_DENOM?=? 1 .
APPEND ?ITEM_DATA.
CLEAR ?ITEM_DATA.
ITEM_CONTROL-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_CONTROL-DELIV_ITEM?=? '40' .
ITEM_CONTROL-CHG_DELQTY?=? 'X' .
APPEND ?ITEM_CONTROL.
CLEAR ?ITEM_CONTROL.
ITEM_CONTROL-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_CONTROL-DELIV_ITEM?=? '900001' .
ITEM_CONTROL-CHG_DELQTY?=? 'X' .
APPEND ?ITEM_CONTROL.
CLEAR ?ITEM_CONTROL.
ITEM_CONTROL-DELIV_NUMB?=?I_DELIVERY_NO.
ITEM_CONTROL-DELIV_ITEM?=? '900002' .
ITEM_CONTROL-CHG_DELQTY?=? 'X' .
APPEND ?ITEM_CONTROL.
CLEAR ?ITEM_CONTROL.
CALL ? FUNCTION ? 'BAPI_OUTB_DELIVERY_CHANGE'
?? EXPORTING
????HEADER_DATA????=?HEADER_DATA
????HEADER_CONTROL?=?HEADER_CONTROL
????DELIVERY???????=?I_DELIVERY_NO
????TECHN_CONTROL??=?TECHN_CONTROL
?? TABLES
????ITEM_DATA??????=?ITEM_DATA
????ITEM_CONTROL???=?ITEM_CONTROL
???? RETURN ?????????=? RETURN .
IF ?SY-SUBRC? EQ ? 0 .
?? CALL ? FUNCTION ? 'BAPI_TRANSACTION_COMMIT'
???? EXPORTING
?????? WAIT ?=? 'X' .
ENDIF .
DATA ?:?I_VBKOK? LIKE ?VBKOK.? "Delivery?header
DATA ?:?I_VBPOK? LIKE ?VBPOK?? OCCURS ? 0 ? WITH ? HEADER ? LINE .? "Delivery?Picking
DATA ?:?V_ERROR.
I_VBKOK-VBELN_VL?=? '0080000066' .
I_VBKOK-WABUC?=? 'X' .? "Post?Good?Issue?Automatic
I_VBPOK-VBELN_VL?=?I_VBKOK-VBELN_VL.? "Delivery?NO
I_VBPOK-POSNR_VL?=? '900001' .? "Delivery?Item
I_VBPOK-VBELN?=? '1000000325' .? "Sales?Order????????????"You?must?assign?Sales?order?&?Item?number
I_VBPOK-POSNN?=? '10' .??????? "Sales?Order?item
I_VBPOK-MATNR?=? 'WY-F-001' .
I_VBPOK-CHARG?=?? '0000000001' .
I_VBPOK-LFIMG?=? 5 .????? "Actual?quantity?delivered?(in?sales?units)
I_VBPOK-LGMNG?=? 5 .????? "Actual?quantity?delivered?in?stockkeeping?units
APPEND ?I_VBPOK.
I_VBPOK-VBELN_VL?=?I_VBKOK-VBELN_VL.? "Delivery?NO
I_VBPOK-POSNR_VL?=? '900002' .? "Delivery?Item
I_VBPOK-VBELN?=? '1000000325' .? "Sales?Order
I_VBPOK-POSNN?=? '10' .??????? "Sales?Order?item
I_VBPOK-MATNR?=? 'WY-F-001' .
I_VBPOK-CHARG?=?? '0000000002' .
I_VBPOK-LFIMG?=? 5 .????? "Actual?quantity?delivered?(in?sales?units)
I_VBPOK-LGMNG?=? 5 .????? "Actual?quantity?delivered?in?stockkeeping?units
APPEND ?I_VBPOK.
CALL ? FUNCTION ? 'WS_DELIVERY_UPDATE'
?? EXPORTING
????VBKOK_WA??????????????????=?I_VBKOK
????DELIVERY??????????????????=?I_VBKOK-VBELN_VL
????UPDATE_PICKING????????????=? 'X' ????????? "Update?Picking?data
?? IMPORTING
????EF_ERROR_IN_GOODS_ISSUE_0?=?V_ERROR
?? TABLES
????VBPOK_TAB?????????????????=?I_VBPOK.
IF ?SY-SUBRC? EQ ? 0 .
?? CALL ? FUNCTION ? 'BAPI_TRANSACTION_COMMIT' .
endif .
總結
以上是生活随笔為你收集整理的交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计划行类别分配操作
- 下一篇: 采购订单审批/取消审批程序(BAPI_P