張娟娟
(飛馬智科信息技術股份有限公司 安徽馬鞍山 243000)
稅收是國家公共財政最主要的收入形式和來源,安徽省千戶集團包括了年納稅額超過3 億元以上的原千戶集團和年納稅額超過1億元的新擴圍集團。由于千戶集團財務系統的多樣性和復雜性,稅務局數據工具企業端軟件無法提供適應所有企業的模板,因而納稅人需依照自行導出數據接口標準的要求,按相關說明在數據庫中或財務軟件中自行導出各類數據表格。之后,使用稅務局數據工具企業端軟件中提供的數據檢查打包功能,對企業數據導出數據的完整性和準確性進行檢查,檢查通過生成的“*.dcw”格式文件完成企業電子賬套數據的采集。
SAP系統是集成了財務管理、成本管理、物料管理、銷售管理、生產管理、質量管理模塊的一款ERP軟件。為了完成數據的采集工作,需要在SAP 中開發出滿足千戶集團涉稅數據格式的報表。
SAP系統開發流程圖如圖1。

圖1 SAP系統開發流程圖
(1)提出需求
報表的開發需要最終用戶提出,按照需求文檔格式要求撰寫需求文檔,目的能夠使開發人員以及業務顧問清楚明白需求的實現內容,包括了屏幕選擇字段、取數邏輯以及輸出格式等。
(2)需求審定
最終用戶將需求文檔提交至業務顧問,由業務顧問進行審核,主要審核是否與已有功能重復以及需求內容是否完整、通俗易懂之后將需求文檔提交開發顧問。
(3)需求分析與開發工作安排
開發顧問收集經由前兩個步驟完成的需求文檔,對此需求在開發工作中的工作量進行大體的評估與技術可行性方面的分析,并將開發需求分配開發人員。
(4)程序開發
開發人員接受到開發需求,首先對需求文檔進行理解,業務上不清楚的詢問最終用戶或者應用顧問;在程序開發代碼編寫過程中開發顧問對開發人員的疑問進行解答與指導。開發人員開發完畢后及時撰寫技術文檔。
(5)程序驗收
開發人員完成開發后,首先進行程序的自測,通過后經最終用戶驗收;程序驗收環節是也是至關重要的一環,驗收標準以滿足需求文檔所提出的要求為準。
(6)程序維護
程序運維分為驗收前維護和驗收后維護兩部分。對于驗收前不符合需求文檔的交由開發人員修改直至滿足需求;驗收后如果在需求方面有變動,必須從步驟(1)開始新的流程。
本文主要以稅務局出具的千戶集團數據采集文件為需求文檔,以此為例介紹SAP 系統二次開發報表的步驟,SAP報表開發流程涉及找尋數據表、選擇屏幕界面、創建請求號、程序開發、上傳請求到測試系統測試、測試無誤后上傳生產系統等操作。
依據千戶集團數據采集文件的要求,需要SAP系統技術人員對財務系統的數據庫部署情況和財務系統數據表有很好的了解,開發出滿足“電子帳接口規范”內容的賬套表、科目表、期初余額表、憑證表等,以供馬鋼稅務科人員將數據導出,最終將數據導入到稅務局數據工具企業端軟件中,完成數據采集工作。
本文以賬套表為例,賬套[1]是財務系統的一個概念,描述了這套財務數據對應的核算主體信息和數據所屬年度信息。賬套表數據內容只需生成一條記錄,內容要求即為報表開發后的最終展示的數據字段見表1所示。

表1 賬套表
(1)找尋數據表
SAP 系統尋找數據表也是一個比較復雜的課題,只有找到數據字段對應的系統表才能夠進行以下步驟,因此找尋系統表是關鍵的一環。此處以公司代碼字段為例進行簡單的介紹,首先找到SAP 中任何一個涉及到公司代碼字段的界面,如圖2所示。在該字段上按F1 鍵,結果見圖3,點擊技術信息后,顯示圖4,即為公司代碼字段所在SAP 的系統表名。依據此種方法依次找到賬套表涉及的系統表有T004T、T001。

圖2 任何一個包含公司代碼字段的界面

圖3 公司代碼字段F1按鍵后顯示圖

圖4 公司代碼所在表或視圖
(2)創建屏幕選擇字段
技術開發人員通過給出一個查詢界面,使用戶能夠通過輸入不同的條件查詢到不同公司的賬套表數據。界面上的屏幕選擇字段是依據最終報表展示的內容而選定的字段。此報表中屏幕選擇字段包括了賬套編碼、會計年度、公司代碼信息。其中賬套編碼和會計年度字段給定的單選輸入框(也可選擇);公司代碼字段給定的是多選框。
賬套編碼、會計年度單選框代碼[2][3]實現如下:

公司代碼多選框代碼實現如下:

最終選擇界面圖見圖5。

圖5 賬套表屏幕選擇界面
(3)代碼開發
在報表開發中不可避免的涉及向數據庫表中取數據,需要預先定義一個內表存放從數據表中獲得的數據。依據屏幕輸入的選擇條件從數據庫中取數,代碼如下:

在滿足內表的前提下,繼續對在數據表T004T取數據。

將取得的多個內表整理輸出部分代碼如下,最后調用函數REUSE_ALV_GRID_DISPLAY,ALV輸出。

(4)代碼上傳、測試及發布
SAP 系統一般會有開發機、測試機以及生產機系統;程序在開發機中開發完成后要通事務代碼SE09 將請求號釋放,再通過STMS 進行請求號上傳到測試機進行測試,直至測試準確后發送到生產系統供中最終用戶使用。
(5)數據導出
通過事務代碼進入所開發的賬套表中以SAP系統中CACN為例執行結果,截圖見圖6。導出操作方式如圖7 所示,導出結果后,將數據另存為“*.dcw”格式文件完成企業電子賬套數據的采集。

圖6 賬套表執行結果

圖7 數據導出操作圖
通過對滿足千戶集團數據采集接口規范的報表開發,實現了用戶對賬套表、憑證表、科目表、期初余額表數據的導出,為以后每年的千戶集團數據采集的實現奠定了技術基礎,同時也避免了數據整理繁瑣的工作。
本文以千戶集團數據采集的實現為契機,完整詳細的闡述了SAP 系統程序從提出需求、需求審核、程序開發、程序驗收、程序運維等環節講述了二次開發的流程,其中重點描述了程序開發的一般步驟,包括了尋找數據表、設置屏幕選擇界面、代碼開發、代碼上傳、測試、發布及數據導出。