李雪芹 張小軍 張嘯
(安陽鋼鐵股份有限公司)
Sm artForm s在安鋼 SAP系統中的開發與應用
李雪芹 張小軍 張嘯
(安陽鋼鐵股份有限公司)
介紹了 ERP SAP中 Sm art Forms功能以及使用方法;以安鋼 ERP中銷售公司銷售訂單為例,詳細闡述如何利用 Sm art Forms進行開發的細節、具體應用及實施效果。
Sm art FormS銷售訂單
安陽鋼鐵股份有限公司信息化一期項目已于2008年8月正式投入使用。四級 ERP系統使用的是SAP鋼鐵版軟件。在SAP實施過程中,不同的業務單位提出了不同的格式化文檔。如銷售公司銷售訂單文檔,要求制作完訂單后,將訂單內容套打到事先已印刷好的格式化銷售訂單文檔中。SAP系統中要實現上述功能,必須使用Smart Forms進行版面設計、開發。
Sm art Form s主要應用于商業用途或對外的格式報表設計,具有字體控制、排版、圖像文件輸出等版式設計功能,能有效提高批量處理的效率,將數據篩選、整理過程和數據在 Form中的應用處理及格式化過程加以分離。Sm art Form s有 FormStyle(體例)、Form Builder(版式)兩種工具。前者主要用段落格式和字符格式來實現段落和字符格式、段落和字符的顏色、下劃線、字體、字號等設定;后者主要用窗口繪制器、文字編輯器、樹型對象導航、表格創建器、節點屬性維護等來實現頁面、窗口、數據和文字等具體元素定位輸出。使用 Sm art Form s開發的步驟為:提取數據庫中應用數據;定義 Form格式及相關數據接口;將數據傳輸至 Form,并批量輸出。
以安鋼銷售公司銷售訂單為例,介紹設計、開發的方法及技術實現。該銷售訂單具有嚴格和復雜的設計格式,大致有六部分組成:銷售訂單抬頭、銷售訂單行項目、銷售訂單產品共同屬性、銷售訂單客戶、合同要求、備注。其中最重要的輸出區域銷售訂單行項目又分為行項目基本情況(見表1)和客戶特殊要求兩部分,在 Sm art Forms中通過一個控制頁面的循環下嵌套兩個分別輸出行項目基本情況和客戶特殊要求的兩個循環來實現。而別的輸出區域通過窗口下模板節點定位輸出。下面為具體開發細節。

表1 銷售訂單行項目基本情況
2.1 創建ABAP程序,提取數據庫中應用數據
創建ABAP程序和主要輸出區域字段機組、品名、規格、寬、長、張/卷、牌號、技術條件、數量、客戶特殊需求為結構的數據庫表。程序中定義以數據庫表為參照的內表,從數據庫表VBAP(銷售憑證行項目)、VBAK(銷售憑證抬頭)和物料銷售屬性特征值中提取所需數據存入內表。其它固定輸出數據從數據庫表VBKD(銷售憑證業務數據)、CABN(特征)、CAWN(特性值)、CAWNT(值文本)等提取存入各自定義好的變量中。這些提取好數據的變量和內表等待 Form設計好后,調用函數通過接口把數據傳輸到 Form中輸出顯示。
2.2 創建 Sm art Form s,設計、開發格式化文檔及相關數據接口
1)創建 FormStyle(體例),定義 For m設計中需要用到的段落格式左對齊 B9、右對齊 R2、居中 JZ和字符格式 S9(字體為9號字)。在事務代碼 SPAD下,定義銷售訂單頁格式 ZDD(300mm×203mm),設備類型 ZSAPSD,設備名稱 ZSDXSDD。
2)創建 Form Builder(版式),定義全局設置。在樹型對象導航區下全局設置有三項功能設置:表格屬性、表格接口、全局定義。首先在表格屬性右邊的節點屬性區域下選定需要輸出的頁格式;字符每英寸數;行每英寸數;本 Form中引用的體例。其次在表格接口屬性區輸入將從程序中傳來輸出顯示的45個數據信息 (接口重要參數見表2)。第三在全局定義屬性區定義在 Form中要使用的內表或變量。內表應與程序中內表參照同一個數據庫表。

表2 接口重要參數
3)Form Builder(版式)邏輯結構設計。銷售訂單輸出區域分為訂單抬頭、訂單行項目及特殊要求、訂單客戶、物料共同屬性、合同要求、備注六部分。因為首頁與后續頁的格式不變,所以在樹型對象導航區中頁和窗口屬性區域一般屬性中還選擇后續頁為 FIRST_PAGEG。FIRST_PAGEG頁下的MA IN窗口主要用來動態輸出訂單行項目和特殊要求信息,其他窗口用來輸出訂單客戶、訂單抬頭、物料共同屬性等不隨頁面變化的固定數據。
首先,在MA IN主窗口創建一個輸出行數在運行時可動態調整的動態表格節點 TABLE1,其屬性區域定位輸出包含機組、品名、規格、長、寬、張/卷、牌號、技術條件、數量字段信息的 TYPE1行和定位輸出包含客戶特殊要求信息的 TYPE2行。并在動態表格節點%TABLE1下的主要區域創建一個循環節點LOOP1用來控制訂單頁面。
其次,在循環節點LOOP1下創建兩個循環節點LOOP2和LOOP3。在LOOP2屬性區域下填入需要輸出訂單行項目數據信息的內表和行類型 TYPE1。在LOOP3屬性區域下填入需要輸出客戶特殊要求數據信息的內表和行類型 TYPE2。分別在各行下的各列中創建文本節點,并插入要輸出的內表字段名。此處需創建兩個程序命令行來控制三個循環。
第三,訂單上其它固定輸出信息,在其特定位置分別創建窗口。以客戶信息為例,在窗口 W INDOW1下創建輸出行列數為四行一列的固定的模板節點 TEM PLATE1,在其下文本節點中插入要輸出的客戶名稱、客戶銀行賬號等具體客戶信息,并在輸出選項中填入要該變量所在行列數。
4)Form格式布局設定。FIRST_PAGE頁按銷售訂單格式被分為1個主窗口和多個非主窗口。在Form各窗口的屬性區域輸出選項中可輸入該窗口具體的左邊距、上邊距、寬、高數值,從而固定窗口輸出位置。在窗口內動態表格節點和模板節點可設定具體的行高列長,從而把窗口內的輸出數據按照設計好的位置固定輸出。
2.3 數據傳輸至 Form,并批量輸出。
在抽取數據的程序中定義輸出設備名等打印參數,調用函數 SSF_FUNCT ION_MODULE_NAM E和FM_NAM E,把提取的數據通過 For m中定義好的接口參數表傳輸給 For m版式,按設計好的版面格式和定義好的邏輯結構批量顯示輸出。
Sm art Form s定制的銷售訂單打印經過一年多的使用,整體運行安全、穩定、可靠;頁面格式美觀、整齊;套打功能節省了打印時間且滿足客戶對格式文檔的個性化的需求。由于 Sm art Fo rm s良好的字體控制、排版、圖像文件輸出等版式設計、開發功能,能夠満足復雜的各種格式化文檔的需求,而且很好的完成了銷售訂單復雜的打印格式要求,因此成為安鋼 SAP系統開發中交貨單、結算清單等各種單據打印的首選工具,得到了廣泛的應用。
Sm art Form s較之 SAP其他輸出格式工具更獨立,使用起來更為方便,更能滿足用戶各種個性化格式輸出要求,且可在 Fo rm創建的同時生成功能模塊,從而為 For m和ABAP程序提供更為強大的參數接口,其輸出功能也更為強大,受到開發人員的推崇。
[1]黃佳.SAP程序設計.北京:機械工業出版社2007:428.
[2]韋納.赫特萊夫,克里斯托弗.瓦赫特.SAPSMART FORM S.北京:東方出版社,2008:152.
DEVELO PM ENT AND APPL I CAT I ON O F SM ART FORMSIN ANYANG STEEL’S SAP
L i Xueqin Zhang X iao jun Zhang X iao (Anyang Iron&Steel Strock Co.,L td)
The paper introduced the function and app lication of Sm art FormSin ERP SAP.Regarding sales orders as an examp le,it also described in detail how to use Sm art FormSto develop and the specific app lication and effection.
Sm art Fo rmSSalesO rder
2009—8—7