荊兵林,段曉宇,任艷麗
安陽鋼鐵股份有限公司,河南 安陽 455004
面對銷售市場激烈的競爭形式,如何快速預測鋼材市場變化,合理安排生產,創造更大的經濟效益,是企業生存和發展的首要任務。隨著安鋼信息化的上線和管理工作的逐步推進,各單位對信息化重要性的認識也在逐步提高。為了更大的發揮信息化的作用,借助信息化手段來實現對價格的把握,為企業領導提供決策依據,因此需要在已有信息化軟件SAP中批量獲取鋼材的最新銷售價格,便于進行價格分析和預測。
銷售結構是銷售訂單的類型、客戶、銷售地區、裝運方式、機組、品種、牌號等數據的組合。時點價格計算系統的目標是當公司銷售價格隨市場變動時,從SAP系統的SD模塊中獲得任意一段時期的銷售結構,及時計算出價格調整后的時點平均價格,并可分機組、品種、牌號、規格等分類統計。
整個系統實現分SAP后臺配置和前臺開發兩部分。時點價格計算中的定價價格條件通過SAP系統后臺配置實現。系統后臺根據銷售訂單產品的規格定義了基本價格,同時還在后臺利用公式配置了銷項稅、中轉運費、手工調價、整車運補、價格批量優惠客戶、代墊運費、區域加價等配置項,在基本價格的基礎上根據訂單的實際特性最終確定產品的銷售價格。
時點價格計算為與SAP系統實現無縫對接,前臺開發部分采用SAP R/3 平臺,ABAP/4開發語言。由于計算涉及到的數據量大,綜合考慮SAP服務器的性能,分成以下幾個模塊1:
1)計算銷售結構:根據用戶輸入的時間范圍,以SAP系統中實際開票數據為基準,按照客戶、鋼材品種、鋼材規格等條件計算出該期間范圍內銷售的鋼材數量;
2)計算定價日期價格:根據用戶輸入的日期,結合后臺配置的定價條件的起效日期,按既定的銷售結構,由SAP自動計算出這個結構內細化到每個規格的最新銷售單價;
3)顯示計算結果:對每個機組分品種、牌號、規格統計出鋼材的數量和提貨金額,通過加權算出該品種的平均價格后輸出到屏幕;
4)模擬創建銷售訂單:因為在計算銷售訂單結構時,需要用到訂單特性,為提高效率,達到與原銷售訂單相同的結構,系統是參照原銷售訂單在SAP系統中模擬創建的。在此過程中由于訂單數據量龐大采用了SAP先進的BDC技術;
5)預測:根據用戶輸入的時間范圍計算出的價格和模擬的銷售訂單結構,可以很清楚的看到未來的一段時間內的某種結構的銷售收益,從而根據生產能力最大限度的生產利潤空間大的產品,使公司獲得最大收益。
時點價格計算不僅使用了SAP系統的標準數據庫表信息,還在SAP系統中創建了自定義數據表。在SAP系統中通過用戶交互界面定義自定義數據表后,由SAP系統自動實現與后臺ORACLE數據的連接。主要涉及到的自定義數據表有ZSDJG_XSJG(存放銷售結構數據)、ZKOMV(存放銷售訂單最新價格)和ZSDJG_PROCESS(等待處理數據)。自定義數據表信息見附表2。
為了進一步檢測和提升時點價格計算系統的穩定性和可靠性,在SAP生產系統的實際環境下跟蹤發現,在計算銷售結構數據時所花費的時間并不長,但在計算定價日期價格時,由于系統按銷售訂單順序計算的,并且訂單數量龐大(每月3000個左右),因此全部銷售訂單價格計算完成所花費時間達到20小時以上,若按此速度計算更大范圍內的銷售結構將會使得系統性能嚴重下降,無法滿足業務部門提出的要求。
為了獲取與原銷售訂單相同的銷售結構,系統參照原銷售訂單在SAP系統中模擬創建大量的銷售訂單。通過優化模擬創建銷售訂單的過程,系統采用將單個順序進程拆分為多個相同功能的并行進程。系統把所需模擬創建的訂單數據單獨存放到一個數據表,然后讓多個相同功能的并行運行進程計算價格時都從這個數據表中讀取數據,又把“計算定價日期價格”功能中增加一次取N個訂單的選項,每次取完訂單后就把這些訂單做上標記,表示這個任務已經被某個進程處理。
經改進優化后反復測試,讓系統同時運行8個并行進程,每個進程處理50個訂單,在不影響服務器中的其它作業運行的情況下,完成讀取4000個銷售訂單并取到最新價格的情況下僅需花費2個小時,效率提高了90%,為領導決策爭取了時間,基本滿足了用戶的要求。

表2 自定義數據表



[1]J.A.Hernandez, J.r.s.Elchiguerra, E.r.Bueno, et al著.周旋,譯.SAP R/3 技術與實現[M].北京:機械出版社,2001.
[2]黃佳.SAP 程序設計[M].北京:機械出版社,2005.