SAP交貨單過賬自動生成采購訂單、采購訂單自動收貨入庫(轉)


原文地址:http://blog.sina.com.cn/s/blog_ad5dbd0201010qtt.html

公司間需要買賣操作,由於發貨和收貨都是同一批人在操作,為了減少業務人員的工作量,提高工作效率,特實現以上功能

  1、增強實現:增強點為交貨單過賬成功時觸發,在提交前觸發,如果遇到不可預知問題,可能造成數據不一致,所以在過賬成功后觸發,效果更好。

  2、BADI增強:DELIVERY_PUBLISH:數據庫更新期間交貨數據的公告,采用方法:PUBLISH_AFTER_SAVE

  3、功能實現:由於該增強沒有參數,所以問題的關鍵是業務數據的獲取,采用以下方法獲取,其他功能就大家自己具體去實現了,這里只是把關鍵的地方粘貼出來:

  FIELD-SYMBOLS : <V_VBELN> TYPE LIKP-VBELN.
  FIELD-SYMBOLS : <V_LFART> TYPE LIKP-LFART.
  FIELD-SYMBOLS : <V_LFDAT> TYPE LIKP-LFDAT.
  FIELD-SYMBOLS : <V_VKBUR> TYPE LIKP-VKBUR.
  FIELD-SYMBOLS : <V_MBLNR> TYPE EMKPF-MBLNR.
  DATA : V_VAL TYPE STRING VALUE '(SAPMV50A)LIKP-VBELN'.
  DATA : V_VAL1 TYPE STRING VALUE '(SAPMV50A)LIKP-LFART'.

  DATA : V_VAL2 TYPE STRING VALUE '(SAPMV50A)LIKP-WADAT_IST'.
  DATA : V_VAL3 TYPE STRING VALUE '(SAPMV50A)emkpf-MBLNR'.
  DATA : V_VAL4 TYPE STRING VALUE '(SAPMV50A)LIKP-VKBUR'.
  CLEAR:C_VBELN,C_LFART,C_BUDAT,C_MBLNR,C_YEAR,C_JZRQ,
        C_CPZH,C_WERKS,C_LGORT.
  DATA:I_LOG TYPE TABLE OF ZMDLOG,
       W_LOG TYPE ZMDLOG.
*********獲取交貨類型
  ASSIGN (V_VAL1) TO <V_LFART>.
  MOVE <V_LFART> TO C_LFART.
*********獲取物料憑證
  ASSIGN (V_VAL3) TO <V_MBLNR>.
  MOVE <V_MBLNR> TO C_MBLNR.
*********獲取交貨單號
  ASSIGN (V_VAL) TO <V_VBELN>.
  MOVE <V_VBELN> TO C_VBELN.
*********銷售辦公室
  ASSIGN (V_VAL4) TO <V_VKBUR>.
  MOVE <V_VKBUR> TO C_VKBUR.

  4、采購訂單自動生產使用BAPI:BAPI_PO_CREATE1

  5、采購收貨使用BAPI:BAPI_GOODSMVT_CREATE

  6、當需要交貨單沖銷時,增強點為交貨過賬沖銷前,要先保證采購收貨沖銷成功並刪除采購訂單,才能執行過賬沖銷,這樣才能保證數據的連續性,采購入庫沖銷的BAPI:BAPI_GOODSMVT_CANCEL

  注意:當交貨過賬成功,采購訂單沒有生產時,我們要撲捉異常,同時沖銷交貨單這樣才能保證數據的一致性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM