SAP系統增強介紹【業務加載項BAdI】


SAP系統增強介紹【業務加載項BAdI】

1.1    業務加載項BAdI

BAdI全稱Business AddIn,是基於面向對象模式的增強技術,SAP僅定義接口並在標准程序中調用接口中的方法,但這些方法中不含任何代碼,通過創建繼承該接口的類來實現方法中的處理邏輯,在標准程序運行時系統實例化類並執行相應方法中的邏輯。

BAdI分為兩種類型,典型BAdI和新BAdI,其在標准程序中實例化執行時所使用的ABAP語句不一樣,典型BAdI通過全局類CL_EXITHANDLER的靜態方法GET_INSTANCE實例化,並使用關鍵字CALL METHOD執行實例中的方法,而新BAdI通過關鍵字GET BADI和CALL BADI進行實例化和方法調用。主要差異在於新BAdI可以由ABAP編譯器檢查語法錯誤,並且可以通過“使用位置列表”功能查詢該BAdI在哪些程序中被調用。

下面以典型BAdI“BADI_FIAA_DOCLINES“為例介紹增強實施過程,通過該BAdI可以在資產折舊時基於成本中心類型(生產、銷售、管理等)切換過賬的折舊費科目。

查看BAdI接口定義

SAP菜單à工具àABAP工作台à實用程序à業務插件àSE18 – 定義

FI系統增強介紹【06業務加載項BAdI】

圖 12 ‑28

雙擊方法CHANGE_DOCUMENT可進入該方法的定義畫面,查看輸入和輸出參數等。

FI系統增強介紹【06業務加載項BAdI】

圖 12 ‑29

為該接口創建實施類

SAP菜單à工具àABAP工作台à實用程序à業務插件àSE19 – 實施

FI系統增強介紹【06業務加載項BAdI】

圖 12 ‑30

點擊確認 按鈕,在實施類中編寫增強代碼如 圖 12‑31 。

FI系統增強介紹【06業務加載項BAdI】

圖 12 ‑ 31

驗證增強結果

執行事務碼AFAB運行折舊,生成會計憑證如 圖 12‑32 。

FI系統增強介紹【06業務加載項BAdI】

圖 12 ‑ 32


免責聲明!

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



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