劉洪霞
摘 要 針對礦業公司目前應用的SAP R/3系統,簡單闡述了ABAP的概念,并對調度日報程序的設計、開發過程要點以及應用效果進行了介紹。
【關鍵詞】SAP ABAP 開發過程
SAP R/3是一個基于客戶/服務機結構和開放系統的、集成的企業資源計劃系統(ERP)軟件,其功能涵蓋企業的生產、銷售、物料、財務等各個方面。礦業公司從2010年6月引入ERP系統以來,實施了生產計劃、銷售與分銷、物料管理、財務管理等四個主要模塊,形成了一套完整的供產銷管理系統。礦業公司各礦山在地域分布上比較分散,生產數據統計工作量大、及時性差、信息不全面,造成調度指揮難度大,任務重。為公司總調能及時、準確、全面地掌握各礦山的生產數據信息,合理組織生產,實現精細化管理,決定應用SAP的二次開發工具-ABAP語言開發公司生產調度日報。
1 ABAP簡介
ABAP是一種高級企業應用編程語言(Advanced Business Application Programming),是集成在SAP基礎平臺系統中的一種開發語言,用來進行二次開發。為客戶提供定制化開發,以滿足個性化需求。ABAP/4是第四代支持結構化程序設計的語言。它合并了所有通常的控制結構和模塊化概念。它適合生成報表,支持對數據庫的操作。
2 調度日報程序的設計
生產調度日報主要涉及生產消耗、生產完成、生產質檢、設備運行、銷售質檢等數據信息。日報所需數據由三級MES系統按日或按班上傳提供,在四級SAP ABAP開發平臺進行程序編寫,從后臺數據庫提取數據,傳給已經上載到SAP系統的EXCEL模版,執行生成總調日報功能自動生成EXCEL格式的報表。主要實現數據維護,數據匯總,數據上傳,日報生成,數據上傳核對查詢,日報日志查詢等功能。
2.1 數據維護功能
在三、四級均有數據維護功能的開發,實際業務中須由公司總部人員維護的在四級實現,須由礦上業務人員維護的在三級實現。實現數據的新增,修改,刪除。
2.2 數據匯總功能
在三級把按班計量的基礎數據匯總成日數據,如碎礦處理量,粗碎設備開車時間等。
2.3 數據上傳功能
三級MES與SAP之間的通訊接口采用交換數據的集成中間件平臺(XI),MES直接將SOAP消息發送至接口的簡單對象傳輸協議入口,XI進行相應數據格式和內容轉換,然后使用ABAP Proxy將數據發送至SAP,SAP處理數據后將結果通過另一個ABAP Proxy接口傳給XI,XI通過SOAP返回結果接口將數據傳送到MES的對象傳輸協議入口,從而實現三四級之間的數據通訊。
數據匯總完成后,按項目編號通過三四級之間的XI接口上傳至四級SAP系統數據庫表,并能返回上傳信息,重新上傳能實現數據覆蓋。
2.4 日報生成功能
在SAP系統輸入給定的事務代碼,填入日期后,生成當日的報表。
2.5 數據上傳核對查詢功能
根據記帳日期,項目編號,上傳日期等選擇條件,進行已上傳數據的核對。
3 調度日報程序的開發
3.1 SAP數據庫表的使用及建立
根據實際開發需求,除了使用到一些系統原有的數據庫表,還自己創建了幾個數據庫表表。
(1)ZTPP_SCRB:存儲三級按項目編號上傳的數據。
(2)AUFK:訂單主數據表。
(3)MSEG:物料表。
(4)MKPF:物料憑證。
(5)AFKO:訂單表頭數據。
(6)ZTZD_SCRBLOG:總調日報日志表。
3.2 程序開發過程
在代碼編寫中首先聲明用到的數據表,定義數據和內表。
TABLES:ZTPP_SCRB,AUFK,MSEG.
DATA:BEGIN OF ZPP02_ITB_PPSBYX OCCURS 0,
G_PRJ_NO(4) TYPE C ,"項目編號
BUDAT LIKE ZTPP_SCRB-BUDAT, "記賬日期
WERKS LIKE ZTPP_SCRB-PLANT, "工廠
ENTRY_QNT LIKE ZTPP_SCRB-ENTRY_QNT,"數量
END OF ZPP02_ITB_PPSBYX.
接著定義選擇屏幕,以便查詢者輸入查詢條件。
selection-screen begin of block block1 with frame title text-001.
parameters:s_scrq like ZTPP_SCRB-BUDAT OBLIGATORY. "生產日期
selection-screen end of block block1.
然后編寫數據查詢代碼,最后定義輸出屏幕,這里用EXCEL輸出查詢到的數據。
3.3 開發過程中的幾個要點
(1)主程序包含六個include程序,include1中聲明公共變量,實現多人協作開發,互不干擾,并且子程序能使代碼更易于維護。
(2)給不同的業務項目分配各自唯一的項目號,四級只使用“PRJ_NO項目編號”這一個字段存儲上傳的所有項目號,這樣可以避免設置過多字段導致程序代碼繁瑣。
(3)EXCEL模版的設置。EXCEL模板用事務代碼SMW0上傳至SAP。在一個EXCEL工作簿中創建六個工作表。第一個是日報表,其余五個工作表對應程序中五個include程序分別命名,用來存放從SAP數據庫中提取到的數據。物料號,工廠編號,系列編號,項目編號等信息寫在固定的單元格里,以便在日報表做公式鏈接時使用。由于日報數據龐大,多個工作表的使用,利于問題的查找解決。
4 結語
生產調度日報的開發使用,改變了以前調度員手工制作報表的現狀,提高了排產和調度的效率,保證公司決策部門及時準確掌握生產數據信息,具有很好的性價比。為公司帶來了良好的管理績效,可以在其他礦山企業推廣使用。
參考文獻
[1]張官軍.基于SAP平臺的ABAP二次開發的實證研究[J].鋁加工,2008(04):53-54.
[2]張文崗等.ERP/MES中鋼材銷售調度運輸系統的開發及應用[J].鐵道貨運,2011(01):21-22.
作者單位
河鋼集團礦業公司 河北省唐山市 063000