一、引言
用友財務(wù)軟件是目前國內(nèi)財務(wù)領(lǐng)域中使用得最廣泛的一種,審計署下發(fā)的AO軟件中,就可以直接導(dǎo)入用友多個版本的數(shù)據(jù),給審計人員帶來極大的方便。但有時審計人員會面對幾十甚至上百個賬套,如果逐個處理,未免費時費力。本文針對用友8.51的一個備份文件作一點分析,對其中各關(guān)鍵步驟給出一個程序處理的辦法,最后給出一個解決用友8.51備份文件批量導(dǎo)入的流程。一點粗淺想法,拋磚引玉,同時也希望能給大家一點啟示。
二、分析過程
用友8.51在備份的時候,一般會產(chǎn)生兩個文件:UFDATA.BA_和UfErpYer.Lst.其中UfErpYer.Lst比較小,不到1K,而UFDATA.BA_通常比較大。由此,我們判斷,財務(wù)數(shù)據(jù)應(yīng)該在UFDATA.BA_中。
我們用UltraEdit軟件打開UfErpYer.Lst文件,發(fā)現(xiàn)它其實就是一個文本文件,保存著備份相關(guān)的一些信息,如軟件版本、備份日期、賬套年度、文件路徑等。而打開UFDATA.BA_文件時,我們發(fā)現(xiàn)是一堆亂碼,甚至找不到常見的一些文件頭的信息。因此我們初步判斷它有可能是壓縮過的文件。而且,從常理講,考慮到磁盤空間的問題,數(shù)據(jù)文件備份的時候通常也會壓縮處理。
嘗試用WinRar打開UFDATA.BA_,成功。解壓后,得到一個文件:UFDATA.文件沒有后綴名,因此我們還是先用UltraEdit打開。在文件頭部,我們看到有“TAPE”、“Microsoft SQL Server”等字樣,因此我們初步判斷它跟SQL Server有關(guān)。
根據(jù)以上思路,我們反過來比較,查看SQL Server數(shù)據(jù)庫的各種文件的頭部,看是否有與UFDATA 文件頭相似的文件。SQL Server數(shù)據(jù)庫中,與數(shù)據(jù)相關(guān)的文件,我們平時接觸比較多的主要有數(shù)據(jù)文件和備份設(shè)備文件。新建一個空的數(shù)據(jù)庫,用UltraEdit查看它的數(shù)據(jù)文件的頭部,未發(fā)現(xiàn)相關(guān)字樣,而創(chuàng)建一個備份設(shè)備后,查看該文件的頭部,正好跟UFDATA文件的頭部是一樣的。因此我們初步判定UFDATA文件為SQL Server數(shù)據(jù)庫的備份設(shè)備文件。并且,我們知道TAPE是磁帶的意思,而SQL Server中跟磁帶相關(guān)的通常與數(shù)據(jù)庫的備份有關(guān)系。
接下來我們就分析UFDATA文件中的內(nèi)容。打開SQL Server的企業(yè)管理器,新建一個備份設(shè)備,并將文件名指定我我們解壓后得到的UFDATA文件。確定后,查看新建立備份設(shè)備的內(nèi)容,發(fā)現(xiàn)它其實是一個(或多個)數(shù)據(jù)庫的完全備份。將它還原后,我們可以看到,這是用友的一個賬套數(shù)據(jù)庫。
對一個本地的數(shù)據(jù)庫,我們就可以根據(jù)自己的需要,進行相關(guān)的查詢和操作了。到此為止,我們其實已經(jīng)完成了將一個用友U8.51的備份文件轉(zhuǎn)換成我們可操作數(shù)據(jù)庫的過程。但如果僅僅如此,那么本文其實是沒有什么意義的,因為這個步驟我們可以很容易地利用AO軟件來實現(xiàn)。
在實際工作中,我們遇到的往往不是單個的賬套。由于很多企業(yè)有很多獨立核算的分公司,并且每個公司每年都要建一套賬,因此,我們面對的往往是十幾個、幾十個賬套,有時甚至?xí)鎸ι习賯賬套,而AO中又沒有提供批量導(dǎo)入的辦法,如果一個一個導(dǎo)入的話效率太低。基于這種情況,本文就利用上述分析的結(jié)果,給出一個解決的辦法,能讓我們批量導(dǎo)入用友的備份數(shù)據(jù)。
責(zé)任編輯:初曉微茫
- 上一篇文章: 用友U8記賬憑證修改方法匯總
- 下一篇文章: 用友:如何生成現(xiàn)金流量表