劉天宇+李金新
摘 要: 為了方便讓業(yè)務人員進行簡單的操作實現(xiàn)業(yè)務系統(tǒng)與財務系統(tǒng)間數(shù)據(jù)轉化,減少復雜操作步驟,提高工作效率。采用在Web前端開放一個任務觸發(fā)器,同時配置簡單、少量的數(shù)據(jù)提取條件,讓后臺數(shù)據(jù)接口程序根據(jù)已知條件從共同中間庫完成數(shù)據(jù)提取。同時利用數(shù)據(jù)持久化,JNDI(命名目錄服務)等技術完成數(shù)據(jù)導入,最終成功實現(xiàn)了從業(yè)務數(shù)據(jù)到生成會計憑證的需求。進而探索了一條通過中間庫實現(xiàn)跨系統(tǒng)數(shù)據(jù)轉化的新思路,使得兩個系統(tǒng)充分發(fā)揮了各自的優(yōu)勢,最大程度地服務于企業(yè)。
關鍵詞: ERP系統(tǒng); 數(shù)據(jù)接口; 會計憑證; J2EE
中圖分類號: TN919?34; TP315 文獻標識碼: A 文章編號: 1004?373X(2014)22?0075?03
Design and implementation of generation of financial documents from outside business data imported into NC
LIU Tian?yu, LI Jin?xin
(College of Electronic Information, Hangzhou Dianzi Unversity, Hangzhou 310018, China)
Abstract: In order to realize data conversion from business system to the financial system, reduce the complex operation steps, and improve the work efficiency for the business person, a task trigger is opened at the Web front?end and a small amount of condition configuration are added to let the data interface program extract data from a common intermediate database according to the known conditions, and utilize the data persistence and JNDI to complete data import. With the above steps, the requirement about generating the accounting documents was achieved successfully. A new way to realize the conversion of the data from other system was obtained with this method, which can make a full use of two systems advantages to give an excellent service to enterprises to the full extent.
Keywords: ERP system; data interface; accounting document; J2EE
0 引 言
NC(New Century)是用友軟件集團ERP軟件產(chǎn)品,是面向集團的世界級高端企業(yè)管理軟件。目前NC基于8 000家集團企業(yè)客戶的實力,使其在同類產(chǎn)品市場占有率已經(jīng)達到亞太第一。NC采用J2EE架構,包含7大核心模塊,以及一個開放的集團級開發(fā)平臺UAP,利用最新的互聯(lián)網(wǎng)技術、云計算技術、移動應用技術等,形成了集團管控8大領域15大行業(yè)68個細分行業(yè)的解決方案[1]。本文將闡述利用Java語言,進行客戶化接口程序開發(fā),完成從外系統(tǒng)取出業(yè)務數(shù)據(jù),導入NC財務模塊生成會計憑證的過程。
1 數(shù)據(jù)對接總流程介紹
1.1 接口設計意義
會計憑證是整個公司經(jīng)營的重要反映,是實現(xiàn)各項經(jīng)營指標具體化、成本控制可視化的數(shù)據(jù)基礎,必須能充分反映出公司各項經(jīng)營指標,為決策分析、方案制定和運營管理提供基礎財務數(shù)據(jù)[2?3]。保證數(shù)據(jù)信息安全、可持久化的前提下,設計一個可擴展的、高效率的數(shù)據(jù)接口,不僅可以提高企業(yè)財務的工作效率,還充分發(fā)現(xiàn)各自系統(tǒng)的優(yōu)勢[4]。
1.2 流程介紹
由于兩個系統(tǒng)的框架不同,對外封閉,以及數(shù)據(jù)格式不統(tǒng)一等因素。本文提出一種將業(yè)務數(shù)據(jù)轉移到公共的中間庫中,然后開發(fā)接口從中間表中取出數(shù)據(jù),最終導入NC財務模塊的辦法。系統(tǒng)流程示意圖如圖[5?6]。
圖1 系統(tǒng)流程示意圖
2 開發(fā)程序設計
基于J2EE架構的NC在表示層是面向Web的服務。故在NC中注冊的任務觸發(fā)器直接在Web前端面向財務業(yè)務人員,配置待提取數(shù)據(jù)的篩選條件,讓后臺程序去完成后續(xù)包括生成憑證的全部過程,最終在Web頁面上返回執(zhí)行結果。任務觸發(fā)器操作以及后臺數(shù)據(jù)接口實現(xiàn)流程圖如圖2所示。
圖2 任務觸發(fā)器以及數(shù)據(jù)接口實現(xiàn)流程圖
上述過程主要分為3個階段:前期配置階段、數(shù)據(jù)加工處理階段、數(shù)據(jù)分類保存階段。
(1) 前期配置階段:主要工作有中間表元數(shù)據(jù)定義,中間件服務啟動,數(shù)據(jù)庫實例連接。中間表元數(shù)據(jù)定義是將中間表的主子表定義為2個事務性的JavaBean,即2個VO類。表中的每個字段為JavaBean中一個私有屬性,外界通過訪問器訪問。如:
public class YBNCBillHVO extends VauleObject{
private String vaccount;
public String getVaccount() {
return vaccount;}
public void setVaccount(String vaccount) {
this.vaccount = vaccount;}
為了數(shù)據(jù)可持久化,VO類需要實現(xiàn)java.lang.Cloneab和java.io.Serializable這兩個接口,同時采用DAO的設計模式,核心DAO類是對JDBC的封裝和改進,完成對數(shù)據(jù)庫增、刪、改、查等操作的同時,對業(yè)務層提供了一個面向?qū)ο蟮慕涌?,使得開發(fā)人員將更多的時間去實現(xiàn)業(yè)務邏輯上,并且在以后的維護上帶來了極大的便利[7]。
中間件服務使用Tomcat,利用JDBC連接池與兩系統(tǒng)數(shù)據(jù)庫連接。JDBC是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。
(2) 數(shù)據(jù)加工處理階段:主要工作包括數(shù)據(jù)處理以及調(diào)用接口傳入后臺實現(xiàn)類。數(shù)據(jù)處理包括數(shù)據(jù)提取、轉換、加工三步驟。數(shù)據(jù)提取的實現(xiàn)是使用DAO類的查詢方法,返回VO類數(shù)組。數(shù)據(jù)轉換是通過將中間表數(shù)據(jù)一一映射到NC內(nèi)部臨時表中。數(shù)據(jù)加工是通過定義一個對外公開的遠程接口,其接口包含一個加工的方法。定義一個這樣的接口是為了方便以后的擴展和維護[8]。但是接口的實現(xiàn)類是部署在服務器上,如果從客戶端訪問該接口的實現(xiàn)方法時,需要用到目錄服務技術JNDI,并且要在XML配置文件中聲明[9]。部分代碼如下:
nc.itf.hzyb.IDapMsgVOConverter IdapMsgVO =
(IDapMsgVOConverter)NCLocator.getInstance().lookup(IDapMsgVOConverter.class.
getName());
DapMsgVO[] msgvos = IdapMsgVO.convert((MidBillVO[]) bills);
XML配置信息如下:
remote=true表示遠程組件,singleton=true表示單例模式,tx=NONE表示非事務性公共組件。
調(diào)用內(nèi)部接口將數(shù)據(jù)導入核心實現(xiàn)類。同樣用JNDI尋求服務將處理好的數(shù)據(jù)交給后臺核心處理類。數(shù)據(jù)參數(shù)一個是對應中間表VO類數(shù)組,一個是帶有會計憑證信息的VO類數(shù)組。
(3) 數(shù)據(jù)分類保存階段:主要工作包括憑證模板匹配,會計科目分類,數(shù)據(jù)保存[9]。憑證模板匹配和會計科目分類過程,都是NC根據(jù)VO數(shù)組中各屬性的值去匹配系統(tǒng)內(nèi)部基礎數(shù)據(jù)表中的主鍵值的過程。數(shù)據(jù)保存工作是調(diào)用JDBC完成數(shù)據(jù)批量導入。
3 性能測試
系統(tǒng)硬件環(huán)境為Windows XP,Tomcat 6.0,Oracle11g,軟件環(huán)境為NC5.6,IE 9。圖3為數(shù)據(jù)接口程序完成以后結果回顯圖。這里返回的結果是會計實時憑證,當前錄入人選擇需要組合的實時憑證進行編號,點擊生成,進入會計憑證界面(圖4),審核確認以后,點擊保存,即可生成會計憑證。先生成實時憑證為了降低出錯率,控制財務風險。
圖3 生成實時憑證結果回顯
圖4 會計憑證界面
4 結 語
在本次ERP系統(tǒng)的實施中,通過客戶化接口程序的開發(fā),實現(xiàn)了外部系統(tǒng)數(shù)據(jù)導入,完成了生成會計憑證的需求,提高了企業(yè)財務的工作效率。本文重點介紹了系統(tǒng)整體流程以及開發(fā)程序涉及到JDBC、數(shù)據(jù)持久化、JNDI等接口技術的使用方法,了解這些技術的使用對實現(xiàn)跨系統(tǒng)數(shù)據(jù)集成有著重要的意義和參考價值[10]。
參考文獻
[1] 占慧蓮,張子健.用友NC財務管理系統(tǒng)的操作要點[J].中國管理信息化,2010,13(12):3?5.
[2] 蒲勇.中國人壽業(yè)務系統(tǒng)與SAP ERP數(shù)據(jù)接口系統(tǒng)的設計與數(shù)據(jù)分析[D].成都:電子科技大學,2013.
[3] 高娟.淺談高校會計憑證檔案信息化管理[J].教育探索,2013(16):148?149.
[4] 黎勝利,張文波,蒲亞軍.Oracle ERP財務模塊與金算盤財務軟件接口問題的研究[J].現(xiàn)代電子技術,2013,36(2):48?50.
[5] 張曉鵬.淺談計算機軟件數(shù)據(jù)接口的幾種實現(xiàn)思路和應用[J].科技情報開發(fā)與經(jīng)濟,2010,20(18):127?128.
[6] 李劍波,蔡偉周.綜合監(jiān)控系統(tǒng)的數(shù)據(jù)接口開發(fā)與應用[J].機電工程技術,2012,41(9):39?41.
[7] 孫曉菲.關于一種ERP系統(tǒng)數(shù)據(jù)持久化結構的設計[J].微電子學與計算機,2013(4):115?118.
[8] 簡玲.基于Web的企業(yè)財務信息管理系統(tǒng)的設計和實現(xiàn)[D].成都:電子科技大學,2012.
[9] 用友軟件股份有限公司.NC財務會計平臺技術紅皮書[M].北京:用友軟件股份有限公司,2009.
[10] 關宇平.SAPR/3系統(tǒng)客戶化接口程序的開發(fā)方及實現(xiàn)[J].計算機系統(tǒng)應用,2007(2):47?50.
public class YBNCBillHVO extends VauleObject{
private String vaccount;
public String getVaccount() {
return vaccount;}
public void setVaccount(String vaccount) {
this.vaccount = vaccount;}
為了數(shù)據(jù)可持久化,VO類需要實現(xiàn)java.lang.Cloneab和java.io.Serializable這兩個接口,同時采用DAO的設計模式,核心DAO類是對JDBC的封裝和改進,完成對數(shù)據(jù)庫增、刪、改、查等操作的同時,對業(yè)務層提供了一個面向?qū)ο蟮慕涌?,使得開發(fā)人員將更多的時間去實現(xiàn)業(yè)務邏輯上,并且在以后的維護上帶來了極大的便利[7]。
中間件服務使用Tomcat,利用JDBC連接池與兩系統(tǒng)數(shù)據(jù)庫連接。JDBC是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。
(2) 數(shù)據(jù)加工處理階段:主要工作包括數(shù)據(jù)處理以及調(diào)用接口傳入后臺實現(xiàn)類。數(shù)據(jù)處理包括數(shù)據(jù)提取、轉換、加工三步驟。數(shù)據(jù)提取的實現(xiàn)是使用DAO類的查詢方法,返回VO類數(shù)組。數(shù)據(jù)轉換是通過將中間表數(shù)據(jù)一一映射到NC內(nèi)部臨時表中。數(shù)據(jù)加工是通過定義一個對外公開的遠程接口,其接口包含一個加工的方法。定義一個這樣的接口是為了方便以后的擴展和維護[8]。但是接口的實現(xiàn)類是部署在服務器上,如果從客戶端訪問該接口的實現(xiàn)方法時,需要用到目錄服務技術JNDI,并且要在XML配置文件中聲明[9]。部分代碼如下:
nc.itf.hzyb.IDapMsgVOConverter IdapMsgVO =
(IDapMsgVOConverter)NCLocator.getInstance().lookup(IDapMsgVOConverter.class.
getName());
DapMsgVO[] msgvos = IdapMsgVO.convert((MidBillVO[]) bills);
XML配置信息如下:
remote=true表示遠程組件,singleton=true表示單例模式,tx=NONE表示非事務性公共組件。
調(diào)用內(nèi)部接口將數(shù)據(jù)導入核心實現(xiàn)類。同樣用JNDI尋求服務將處理好的數(shù)據(jù)交給后臺核心處理類。數(shù)據(jù)參數(shù)一個是對應中間表VO類數(shù)組,一個是帶有會計憑證信息的VO類數(shù)組。
(3) 數(shù)據(jù)分類保存階段:主要工作包括憑證模板匹配,會計科目分類,數(shù)據(jù)保存[9]。憑證模板匹配和會計科目分類過程,都是NC根據(jù)VO數(shù)組中各屬性的值去匹配系統(tǒng)內(nèi)部基礎數(shù)據(jù)表中的主鍵值的過程。數(shù)據(jù)保存工作是調(diào)用JDBC完成數(shù)據(jù)批量導入。
3 性能測試
系統(tǒng)硬件環(huán)境為Windows XP,Tomcat 6.0,Oracle11g,軟件環(huán)境為NC5.6,IE 9。圖3為數(shù)據(jù)接口程序完成以后結果回顯圖。這里返回的結果是會計實時憑證,當前錄入人選擇需要組合的實時憑證進行編號,點擊生成,進入會計憑證界面(圖4),審核確認以后,點擊保存,即可生成會計憑證。先生成實時憑證為了降低出錯率,控制財務風險。
圖3 生成實時憑證結果回顯
圖4 會計憑證界面
4 結 語
在本次ERP系統(tǒng)的實施中,通過客戶化接口程序的開發(fā),實現(xiàn)了外部系統(tǒng)數(shù)據(jù)導入,完成了生成會計憑證的需求,提高了企業(yè)財務的工作效率。本文重點介紹了系統(tǒng)整體流程以及開發(fā)程序涉及到JDBC、數(shù)據(jù)持久化、JNDI等接口技術的使用方法,了解這些技術的使用對實現(xiàn)跨系統(tǒng)數(shù)據(jù)集成有著重要的意義和參考價值[10]。
參考文獻
[1] 占慧蓮,張子健.用友NC財務管理系統(tǒng)的操作要點[J].中國管理信息化,2010,13(12):3?5.
[2] 蒲勇.中國人壽業(yè)務系統(tǒng)與SAP ERP數(shù)據(jù)接口系統(tǒng)的設計與數(shù)據(jù)分析[D].成都:電子科技大學,2013.
[3] 高娟.淺談高校會計憑證檔案信息化管理[J].教育探索,2013(16):148?149.
[4] 黎勝利,張文波,蒲亞軍.Oracle ERP財務模塊與金算盤財務軟件接口問題的研究[J].現(xiàn)代電子技術,2013,36(2):48?50.
[5] 張曉鵬.淺談計算機軟件數(shù)據(jù)接口的幾種實現(xiàn)思路和應用[J].科技情報開發(fā)與經(jīng)濟,2010,20(18):127?128.
[6] 李劍波,蔡偉周.綜合監(jiān)控系統(tǒng)的數(shù)據(jù)接口開發(fā)與應用[J].機電工程技術,2012,41(9):39?41.
[7] 孫曉菲.關于一種ERP系統(tǒng)數(shù)據(jù)持久化結構的設計[J].微電子學與計算機,2013(4):115?118.
[8] 簡玲.基于Web的企業(yè)財務信息管理系統(tǒng)的設計和實現(xiàn)[D].成都:電子科技大學,2012.
[9] 用友軟件股份有限公司.NC財務會計平臺技術紅皮書[M].北京:用友軟件股份有限公司,2009.
[10] 關宇平.SAPR/3系統(tǒng)客戶化接口程序的開發(fā)方及實現(xiàn)[J].計算機系統(tǒng)應用,2007(2):47?50.
public class YBNCBillHVO extends VauleObject{
private String vaccount;
public String getVaccount() {
return vaccount;}
public void setVaccount(String vaccount) {
this.vaccount = vaccount;}
為了數(shù)據(jù)可持久化,VO類需要實現(xiàn)java.lang.Cloneab和java.io.Serializable這兩個接口,同時采用DAO的設計模式,核心DAO類是對JDBC的封裝和改進,完成對數(shù)據(jù)庫增、刪、改、查等操作的同時,對業(yè)務層提供了一個面向?qū)ο蟮慕涌冢沟瞄_發(fā)人員將更多的時間去實現(xiàn)業(yè)務邏輯上,并且在以后的維護上帶來了極大的便利[7]。
中間件服務使用Tomcat,利用JDBC連接池與兩系統(tǒng)數(shù)據(jù)庫連接。JDBC是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。
(2) 數(shù)據(jù)加工處理階段:主要工作包括數(shù)據(jù)處理以及調(diào)用接口傳入后臺實現(xiàn)類。數(shù)據(jù)處理包括數(shù)據(jù)提取、轉換、加工三步驟。數(shù)據(jù)提取的實現(xiàn)是使用DAO類的查詢方法,返回VO類數(shù)組。數(shù)據(jù)轉換是通過將中間表數(shù)據(jù)一一映射到NC內(nèi)部臨時表中。數(shù)據(jù)加工是通過定義一個對外公開的遠程接口,其接口包含一個加工的方法。定義一個這樣的接口是為了方便以后的擴展和維護[8]。但是接口的實現(xiàn)類是部署在服務器上,如果從客戶端訪問該接口的實現(xiàn)方法時,需要用到目錄服務技術JNDI,并且要在XML配置文件中聲明[9]。部分代碼如下:
nc.itf.hzyb.IDapMsgVOConverter IdapMsgVO =
(IDapMsgVOConverter)NCLocator.getInstance().lookup(IDapMsgVOConverter.class.
getName());
DapMsgVO[] msgvos = IdapMsgVO.convert((MidBillVO[]) bills);
XML配置信息如下:
remote=true表示遠程組件,singleton=true表示單例模式,tx=NONE表示非事務性公共組件。
調(diào)用內(nèi)部接口將數(shù)據(jù)導入核心實現(xiàn)類。同樣用JNDI尋求服務將處理好的數(shù)據(jù)交給后臺核心處理類。數(shù)據(jù)參數(shù)一個是對應中間表VO類數(shù)組,一個是帶有會計憑證信息的VO類數(shù)組。
(3) 數(shù)據(jù)分類保存階段:主要工作包括憑證模板匹配,會計科目分類,數(shù)據(jù)保存[9]。憑證模板匹配和會計科目分類過程,都是NC根據(jù)VO數(shù)組中各屬性的值去匹配系統(tǒng)內(nèi)部基礎數(shù)據(jù)表中的主鍵值的過程。數(shù)據(jù)保存工作是調(diào)用JDBC完成數(shù)據(jù)批量導入。
3 性能測試
系統(tǒng)硬件環(huán)境為Windows XP,Tomcat 6.0,Oracle11g,軟件環(huán)境為NC5.6,IE 9。圖3為數(shù)據(jù)接口程序完成以后結果回顯圖。這里返回的結果是會計實時憑證,當前錄入人選擇需要組合的實時憑證進行編號,點擊生成,進入會計憑證界面(圖4),審核確認以后,點擊保存,即可生成會計憑證。先生成實時憑證為了降低出錯率,控制財務風險。
圖3 生成實時憑證結果回顯
圖4 會計憑證界面
4 結 語
在本次ERP系統(tǒng)的實施中,通過客戶化接口程序的開發(fā),實現(xiàn)了外部系統(tǒng)數(shù)據(jù)導入,完成了生成會計憑證的需求,提高了企業(yè)財務的工作效率。本文重點介紹了系統(tǒng)整體流程以及開發(fā)程序涉及到JDBC、數(shù)據(jù)持久化、JNDI等接口技術的使用方法,了解這些技術的使用對實現(xiàn)跨系統(tǒng)數(shù)據(jù)集成有著重要的意義和參考價值[10]。
參考文獻
[1] 占慧蓮,張子健.用友NC財務管理系統(tǒng)的操作要點[J].中國管理信息化,2010,13(12):3?5.
[2] 蒲勇.中國人壽業(yè)務系統(tǒng)與SAP ERP數(shù)據(jù)接口系統(tǒng)的設計與數(shù)據(jù)分析[D].成都:電子科技大學,2013.
[3] 高娟.淺談高校會計憑證檔案信息化管理[J].教育探索,2013(16):148?149.
[4] 黎勝利,張文波,蒲亞軍.Oracle ERP財務模塊與金算盤財務軟件接口問題的研究[J].現(xiàn)代電子技術,2013,36(2):48?50.
[5] 張曉鵬.淺談計算機軟件數(shù)據(jù)接口的幾種實現(xiàn)思路和應用[J].科技情報開發(fā)與經(jīng)濟,2010,20(18):127?128.
[6] 李劍波,蔡偉周.綜合監(jiān)控系統(tǒng)的數(shù)據(jù)接口開發(fā)與應用[J].機電工程技術,2012,41(9):39?41.
[7] 孫曉菲.關于一種ERP系統(tǒng)數(shù)據(jù)持久化結構的設計[J].微電子學與計算機,2013(4):115?118.
[8] 簡玲.基于Web的企業(yè)財務信息管理系統(tǒng)的設計和實現(xiàn)[D].成都:電子科技大學,2012.
[9] 用友軟件股份有限公司.NC財務會計平臺技術紅皮書[M].北京:用友軟件股份有限公司,2009.
[10] 關宇平.SAPR/3系統(tǒng)客戶化接口程序的開發(fā)方及實現(xiàn)[J].計算機系統(tǒng)應用,2007(2):47?50.