文/王智杰,五礦礦業控股有限公司信息中心
五礦礦業于2011年到2012年五礦集團V5三期信息化工程期間實施SAP項目,系統使用期間,隨著業務的發展變化,組織架構的調整,以及物資集中采購管理的實施,需要對安徽開發礦業公司采購申請的審批流程進行優化,以達到對物資需求的精準管控。
SAP作為一個配置系統,在很多情況下不能滿足公司的特定業務,在這種情況下,增強的開發就必不可少了。所謂增強就是在S AP標準功能滿足不了客戶需求的條件下,根據企業實際需求編寫客戶化邏輯代碼。
SAP的用戶出口發展至今有四代。第一代是基于源碼的增強。第二代是基于函數模塊的增強Exit,用SMOD和CMOD維護。第三代是基于面向對象概念的增強BADI。這種增強是用SE18和SE19來實現的。第四代是新BADI。
隨著業務的發展變化,組織架構的調整,安礦需采礦部機動科、選礦部機動科、生產生活服務中心三個部門分別審批各自的采購申請,這是一級審批。再由物資公司經營科進行二級審批。但由于S AP系統運行MRP生成的采購申請,會根據同一物料號,同一日期將預留合并為一個采購申請。因此,通過標準MRP無法實現采購申請與預留的一一對應。
3.2.1 實施原理
通過對需求的分析,系統增強的調試,最終決定在MRP實施增強。干預標準MRP運行,將標準MRP合并的采購申請按照預留進行拆分。同時在采購申請頁面增加增強字段“預留號”、“預留行”和“成本中心”,到達采購申請和預留一一對應的關系,并與成本中心進行對應。至此,實現了采購申請與成本中心的對應,達到了采礦部機動科、選礦部機動科、生產生活服務中心三個部門分別審批各自的采購申請的需求。
3.2.2 MRP增強
1)將預留信息的明細放到內表i_mdrs中。內表i_mdrs記錄了40 91工廠下的所有預留信息,為了后期更改預留的需求日期和拆分采購申請時用。實施名稱:ZMD_CHANGE_MRP_DATA,方法:CON SIDER_RESB。
2)將所有已經生成的采購申請放到內表i_eban中。內表i_eban記錄了所有4091工廠下固定的采購申請信息。因為每次運行標準M RP的時候,標準MRP都會把同一工廠下,同一物料,同一日期的已生成的采購申請進行合并,合并為一個采購申請。因此需要把系統里已經生成但是沒有產生采購訂單的采購申請進行記錄。實施名稱:ZMD_CHANGE_MRP_DATA,方法:CHANGE_MDPSX_EBAN。
3)修改4091工廠下所有預留的需求日期為同一天,比如改為下月25號。這樣運行標準MRP會只生成一個采購申請,便于對采購申請進行拆分。實施名稱:ZMD_CHANGE_MRP_DATA,方法:C HANGE_MDPSX_MDRS。
4)拆分采購申請。運行MRP自動產生采購申請,通過前面的控制,此時系統只產生一個采購申請。然后根據內表i_mdrs中的預留的數量,拆分采購申請的數量,生成多個采購申請。實施名稱:ZMD_PURREQ_CHANGE,方法:CHANGE_BEFORE_SAVE_MRP。創建采購申請調用的BAPI為“BAPI_PR_CREATE”。
5)偽裝BAPI創建的采購申請為MRP自動生成的采購申請。系統中調用BAPI創建生成的采購申請,跟標準MRP生成的采購申請中ESTKZ字段的值是不同的。然而調BAPI生成的采購申請不會參與標準MRP的運行。為了讓手動創建的采購申請參與MRP的運行,需要將ESTKZ字段的設置為“B”,即運行標準MRP創建的采購申請。實施名稱:ZMD_PURREQ_POST,方法:POST_AFTER_SAVE。
3.2.3 采購申請增強
1)采購申請界面增加增強字段。采購申請頁面增加“預留”“行項目”“成本中心”增強字段,將采購申請與預留對應,保證一個采購申請對應一個預留。同時,又將采購申請劃分到不同的成本中心下,以實現不同的成本中心,只能審批自己成本中心下的采購申請。
2)對于刪除的采購申請,要同時關閉對應的預留。用戶在刪除采購申請的時候,需要做增強控制,將PS產生的預留除外,關閉此采購申請對應的預留。實施:ZME_PROCESS_REQ_CUST,方法:POST。刪除和修改預留調用的BAPI為“BAPI_RESERVATION_CH ANGE”。
本應用中通過MRP增強、采購申請增強等的實施,解決了采購申請與預留、采購申請與成本中心的對應問題。最終實現了同一工廠下,不同成本中心分別審批各自成本中心下的采購申請,以達到對物資需求的精準管控。