本發(fā)明涉及企業(yè)信息化管理技術(shù)領(lǐng)域,具體地說,是一種基于sap系統(tǒng)的excel嵌套報表數(shù)據(jù)處理方法。
背景技術(shù):
在sap中實現(xiàn)中國房地產(chǎn)行業(yè)的運營管理,涉及多個業(yè)務(wù)模塊的數(shù)據(jù)匯總分析和報表展示。對前端業(yè)務(wù)數(shù)據(jù)抽取、加工、運算,快速生成核心考核數(shù)據(jù)形成核心考核指標(biāo)統(tǒng)計報表,使運營核心數(shù)據(jù)能夠直觀的準(zhǔn)確的展示在管理者面前,對于管理決策者工作效率的提供具有促進(jìn)作用。
使用doi(digitalobjectuniqueidentifier,數(shù)字對象唯一標(biāo)識符)技術(shù)實現(xiàn)excel在sap(systemsapplicationsandproductsindataprocessing,企業(yè)管理解決方案軟件)系統(tǒng)中的嵌套,通過vba(visualbasic的一種宏語言)擴展報表功能,豐富報表展現(xiàn)形式,可提高報表功能的多樣化和靈活性。
sapdms文檔服務(wù)器:sap系統(tǒng)中管理各種文檔,以便在需要時能進(jìn)行檢索、查詢、組合和輸出的文檔服務(wù)工具。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對現(xiàn)有技術(shù)中的不足,提供一種能夠在sap系統(tǒng)中實現(xiàn)數(shù)據(jù)的展現(xiàn)、維護(hù)、測算、導(dǎo)出、導(dǎo)入、打印、打包匯總等功能的基于sap系統(tǒng)的excel嵌套報表數(shù)據(jù)處理方法。
為實現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案是:一種基于sap系統(tǒng)的excel嵌套報表數(shù)據(jù)處理方法,包括以下步驟:
步驟01,在sap系統(tǒng)中進(jìn)行excel模板定義,將定義完成的excel模板上傳到sap系統(tǒng)的事務(wù)代碼oaor里面;
步驟02,通過調(diào)用doi的類調(diào)出excel模板,準(zhǔn)備向excel中寫入數(shù)據(jù);
步驟03,doi通過輸出配置事務(wù)代碼,配置數(shù)據(jù)表與excel模板各個列之間的對應(yīng)關(guān)系;
步驟04,開啟報表運行程序,從前端業(yè)務(wù)模塊讀取基礎(chǔ)數(shù)據(jù),實現(xiàn)excel數(shù)據(jù)抽??;
步驟05,按照管理需要逐個對excel中單個報表內(nèi)的基礎(chǔ)數(shù)據(jù)進(jìn)行運算分析得到分析結(jié)果,并將單個報表依次下載到sap系統(tǒng)的臨時目錄;
步驟06,通過vba(visualbasicforapplications)宏來實現(xiàn)上述臨時目錄中單個報表的合并,生成打包文件并保存在sapdms文檔服務(wù)器上;
步驟07,調(diào)用客戶化的doi處理函數(shù)讀取sapdms文檔服務(wù)器上的文件,實現(xiàn)excel報表在sap系統(tǒng)前臺展示。
進(jìn)一步地,將步驟02、步驟03、步驟04、步驟05、步驟06和步驟07過程進(jìn)行封裝,通過客戶化的doi處理函數(shù)zdoi_excel_gen來調(diào)用上述封裝過程實現(xiàn)向excel中寫入數(shù)據(jù)。
進(jìn)一步地,步驟01中所述excel模板定義包括對excel單元格之間的測算公式進(jìn)行設(shè)定。
進(jìn)一步地,所述步驟03配置數(shù)據(jù)表與excel模板各個列之間的對應(yīng)關(guān)系的同時,對excel模板的各個列進(jìn)行定義。
進(jìn)一步地,步驟04中所述報表運行程序包括定義各個報表讀取數(shù)據(jù)的先后順序,和對讀取數(shù)據(jù)后的報表進(jìn)行編制和提交的過程。
進(jìn)一步地,所述報表編制和提交遵循以下原則:根據(jù)報表讀取數(shù)據(jù)的順序,先讀取數(shù)據(jù)的報表為前置基礎(chǔ)報表,排列其后的報表為后續(xù)報表,前置基礎(chǔ)報表尚未編制,后續(xù)報表不允許編制;前置基礎(chǔ)報表尚未提交,后續(xù)報表不允許提交;前置基礎(chǔ)報表如需調(diào)整,必須先撤回后續(xù)報表;前置基礎(chǔ)報表提交后,可以撤回。
進(jìn)一步地,所述報表標(biāo)題下方增加前置基礎(chǔ)報表狀態(tài)行,列示前置基礎(chǔ)報表的狀態(tài),前置基礎(chǔ)報表撤回時提醒后續(xù)報表,重復(fù)提交不提醒,只更新狀態(tài)。
本發(fā)明優(yōu)點在于:
1、本發(fā)明基于sap應(yīng)用系統(tǒng),使用doi技術(shù)實現(xiàn)excel嵌套,使用vba擴展報表功能,以豐富報表展現(xiàn)形式,實現(xiàn)報表靈活編制、調(diào)整、打印、數(shù)據(jù)打包、存儲的功能,使展現(xiàn)形式靈活多變,提高用戶體驗性。
2、本發(fā)明通過定義excel模板,同時定位excel中每個單元格對應(yīng)的字段,將數(shù)據(jù)庫表中的數(shù)據(jù)通過excel準(zhǔn)確呈現(xiàn),同時可以通過excel對sap系統(tǒng)的數(shù)據(jù)進(jìn)行分析處理和匯總導(dǎo)出,從而實現(xiàn)對多項目、多區(qū)域的excel套表打包匯總,方便進(jìn)行數(shù)據(jù)封存。
附圖說明
為能更清楚理解本發(fā)明的目的、特點和優(yōu)點,以下將結(jié)合附圖對本發(fā)明的較佳實施例進(jìn)行詳細(xì)描述,其中:
圖1為本發(fā)明方法的實施流程示意圖。
具體實施方式
本發(fā)明一種基于sap系統(tǒng)的excel嵌套報表數(shù)據(jù)處理方法,通過在sap中嵌套運營excel管理報表,在sap系統(tǒng)中實現(xiàn)數(shù)據(jù)的展現(xiàn)、維護(hù)、測算、導(dǎo)出、導(dǎo)入、打印、打包匯總等過程。具體的參照附圖1所示,包括以下步驟:
步驟01,在sap系統(tǒng)中進(jìn)行excel模板定義:定義excel中每個單元格對應(yīng)的字段屬性、直接在excel單元格內(nèi)進(jìn)行數(shù)據(jù)編制、對excel單元格之間的測算公式進(jìn)行定義。通過定義excel中每個單元格對應(yīng)的字段屬性,可以直接調(diào)取數(shù)據(jù)庫中的數(shù)據(jù);直接在excel單元格內(nèi)進(jìn)行數(shù)據(jù)編制,所編制的數(shù)據(jù)為新增數(shù)據(jù)信息,需要同時在數(shù)據(jù)庫中進(jìn)行同步更新。單元格之間的測算公式的定義包括增值稅、土地增值稅、所得稅、利潤貢獻(xiàn)額、利潤率的測算公式,通過單元格之間的測算公式對單元格數(shù)據(jù)進(jìn)行測算,測算結(jié)果數(shù)據(jù)也將作為基礎(chǔ)數(shù)據(jù)在excel中實現(xiàn)打包匯總和導(dǎo)出。定義完成的excel模板上傳到事務(wù)代碼oaor里面預(yù)備使用。
步驟02,通過調(diào)用doi的類調(diào)出excel模板,準(zhǔn)備向excel中寫入數(shù)據(jù);
步驟03,doi通過輸出配置事務(wù)代碼:zdoicfg,配置數(shù)據(jù)表與excel模板各個列之間的對應(yīng)關(guān)系,同時對excel模板的各個列進(jìn)行定義。配置數(shù)據(jù)表對應(yīng)的字段、數(shù)據(jù)表中每一個按鈕對應(yīng)的功能等。定義各個列的編輯、隱藏、合并等屬性,包括:可編輯、非編輯+讀取、僅讀取、隱藏列(即該列為隱藏列)、列合并(合并多個列字段,并用同一個字段進(jìn)行概述)等。
步驟04,開啟報表運行程序,從前端業(yè)務(wù)模塊讀取基礎(chǔ)數(shù)據(jù),實現(xiàn)excel數(shù)據(jù)抽取。
為保證excel抽取的來自不同業(yè)務(wù)模塊的數(shù)據(jù)各條線之間保持一致,開啟報表程序時,對excel中各個報表的先后順序進(jìn)行了定義,根據(jù)先后順序?qū)Ω鲌蟊磉M(jìn)行數(shù)據(jù)編制和提交。報表編制和提交遵循以下原則:根據(jù)報表讀取數(shù)據(jù)的順序,先讀取數(shù)據(jù)的報表為前置基礎(chǔ)報表,排列其后的報表為后續(xù)報表,前置基礎(chǔ)報表尚未編制,后續(xù)報表不允許編制;前置基礎(chǔ)報表尚未提交,后續(xù)報表不允許提交;前置報表如需調(diào)整,必須先撤回后續(xù)報表;前置報表提交后,可以撤回。excel數(shù)據(jù)抽取發(fā)現(xiàn)數(shù)據(jù)有誤(例如讀取數(shù)據(jù)與字段屬性不一致、重復(fù)提交等),可對已提交的報表予以撤回。前置報表的撤回分為以下幾種情形:
a.后續(xù)報表沒有開始工作(還未進(jìn)行報表數(shù)據(jù)錄入準(zhǔn)備提交),前置報表可以直接撤回;
b.后續(xù)報表開始工作(開始讀取數(shù)據(jù)),前置報表點擊撤回時,彈出對話框:“是否確定撤回?撤回會影響后續(xù)工作”,確認(rèn)撤回,后續(xù)報表收到對話框提醒:“前置報表已經(jīng)撤回,請注意相關(guān)引用數(shù)據(jù)調(diào)整”;
c.如果后續(xù)報表發(fā)現(xiàn)前置報表的數(shù)據(jù)有問題,可與前置報表線下溝通(即excel導(dǎo)出數(shù)據(jù)后,進(jìn)行線下數(shù)據(jù)操作),由前置報表撤回。
各個報表在進(jìn)行數(shù)據(jù)讀取、錄入和提交的過程中,報表標(biāo)題下方增加前置報表狀態(tài)行,列示前置報表的狀態(tài)(狀態(tài)信息包括:未提交、已撤回、已提交)。當(dāng)前置報表進(jìn)行撤回操作時,后續(xù)報表會得到提醒。前置報表撤回后有進(jìn)行重復(fù)提交的,不會提醒后續(xù)報表,只更新前置報表狀態(tài)(由已撤回狀態(tài)更新完已提交狀態(tài))。
步驟05,按照管理需要逐個對excel中單個報表內(nèi)的基礎(chǔ)數(shù)據(jù)進(jìn)行運算分析得到分析結(jié)果,并將單個報表依次下載到sap系統(tǒng)的臨時目錄;
步驟06,通過vba宏來實現(xiàn)上述臨時目錄中單個報表的合并,生成打包文件并保存在sapdms文檔服務(wù)器上;
步驟07,調(diào)用客戶化的doi處理函數(shù)讀取sapdms文檔服務(wù)器上的文件,實現(xiàn)excel報表在sap系統(tǒng)前臺展示。
為了盡量減小數(shù)據(jù)抽取、數(shù)據(jù)分析和數(shù)據(jù)導(dǎo)出過程中出現(xiàn)的誤差,優(yōu)選地,本發(fā)明方法將步驟02、步驟03、步驟04、步驟05、步驟06和步驟07過程進(jìn)行封裝,通過客戶化的doi處理函數(shù)zdoi_excel_gen來調(diào)用上述封裝過程。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明方法的前提下,還可以做出若干改進(jìn)和補充,這些改進(jìn)和補充也應(yīng)視為本發(fā)明的保護(hù)范圍。