摘 要:河北中煙NC-ERP系統的快速實施,需要對從屬廠家提取大量數據,整合后導入到NC-ERP系統。然而,因數據提取工作量過大,實際實施困難。我利用多年的編程經驗,在對本廠備件數據進行分析歸類,通過編程實現編碼,導出本廠備件數據,再導入到中煙公司NC-ERP中,從而較好解決了這一難題,為項目快速實施打下堅實的基礎。
關鍵詞:煙草;備件;數據快速導入;編程方案
中圖分類號:F270.7 文獻標識碼:A 文章編號:1006-4117(2011)09-0359-01
NC-ERP是河北中煙公司實行信息化的重要項目,實施所需要采集的數據信息系統包含原料、輔料、備件、銷售管理四大子系統。為實現本廠備件導出數據并編碼,我寫了一序列程序,從而從技術上實現了本廠備件數據快速導入導出,10分鐘內快速導出本廠3萬多種備件,同時為備件進行編碼。
一、NC-ERP備件存貨導出導入的程序開發思路
河北中煙NC-ERP實施,需要提取下面廠家的數據信息,且數據信息系統是建立在原料、輔料、備件、銷售管理四大子系統的基礎上。如果逐一手工提取,工作量過大,耗時長,將直接導致NC-ERP實施困難。那么,怎么才能解決廠的數據快速導出?經過反復研究本廠ERP備件數據,對分類進行剝離,保存到excel中,通過編寫程序,就可以導出數據,并導入到NC-ERP中,就可以實現。可見,這一程序的開發應用,滿足了公司NC-ERP數據信息系統對于數據快速導入的需要。程序開發的原則:
一是基于解決NC-ERP備件存貨數據快速導出導入的應用問題。在本廠ERP中,涉及三萬多種備件。一個大類包含若干個子類,子類又包含子類。手工導入的困難顯而易見。通過幾層分類,把分類信息保存到excel表格中,通過編程實現分類讀取其目錄下的備件,并進行編碼,保存到excel表格,再將數據導入到中煙公司NC-ERP中,就能解決這一應用問題。
二是解決公司ERP數據快速導入的代碼開發工具。應用問題解決所用的代碼系統,是用eclipse工具來開發的。所運用的基本工具為jxl.jar這個包。實際上,jxl.jar的功能基本上可以滿足提取的數據進行數據整合工作的需要。由于jxl.jar通過java操作excel表格的工具類庫,支持Excel 95-2000的所有版本,生成Excel 2000標準格式,支持字體、數字、日期操作,支持圖像和圖表等等,功能已能滿足代碼開發過程中所有的需要。
三是解決數據快速導入的基本編程思路。應用程序的開發目的在于將下面廠家數據快速導出并導入NC-ERP,解決公司ERP的數據完善問題。我們根據本廠ERP所有數據分類特征,提取備件信息,即可以通過這一應用程序的實際運行來得到,從而直接導出到excel表格中。即通過對ERP所有分類信息進行編碼,再依賴jxl.jar來編寫程序開發代碼,通過運行這一應用程序,就能得到導出數據。再將導出數據導入公司NC-ERP中。
二、NC-ERP備件存貨導出導入實現的基本步驟
這里以河北保定煙廠的備件系統數據提取為例,來說明這一應用程序實現的基本步驟。
第一步:確定代碼編寫規則。由于涉及到要提取的信息實際種類繁多,要提取的關于備件的各類信息,備件數量就高達三萬多。手工操作分類,機械提取,幾乎不可能。而數據無法導入到公司NC-ERP中,顯然,就無法解決公司ERP的快速實施問題。采用層層分類法,根據分類結構,由一個類信息導出另一個類信息。如保定煙廠的備件信息:先分為三個大類,即專用件、通用件,其它五金、工具及雜件。而每一個專用件的子結構中,又可以繼續分類,即確定下一級子結構。這樣確定分類規則后,對應于每一個子結構,就可以對相對應的備件數據進行編碼。在這里規定為一般是16位,不能超過16位。具體分類及編碼如下:
0401這是大分類,表示專用件;04010301這里的01表示專用件分類 ;0401030101是下面的分類,再然后是6位的流水號。
第二步:根據編寫程序獲取數據導出。實現公司NC-ERP數據快速導入,技術關鍵在于獲取導出數據。主要工作就是通過對保定煙廠ERP數據分類結構,寫出程序。再運行程序,根據導入數據,導出關鍵數據并分配編碼存到excel中。應用JxlRead功能就能完成,即通過java的excel操作包jxl.jar,讀取表格中的分類來獲取存貨的id,名字,單位,規格型號等等。通過這一操作,就能導出以上信息的數據表格。只需要根據上面的操作原理,利用所開發的應用程序,就能獲得數據導出,并分配編碼存到excel中。就能減少工作量。
第三步,完成數據分配編碼。根據上一步導出的表格,讀取并按編碼規則進行編碼。經歷這一步,從下面廠家提取的數據,運行程序后,就相當于進行了一次數據整合,得到導出數據,然后把EXECL自動轉為XML再導入中煙NC-ERP中。從而實現河北中煙NC-ERP數據完善。
三、代碼系統開發示例
為擴大這一程序的應用功能,我們基于jxl.jar這個包開發了一系列程序,作為代碼開發的基本jar包,來解決公司ERP的快速導入應用程序編寫問題,并針對ERP所有分類數據的實際應用,開發了相對應的程序。從而滿足了快速導出導入需求,具體代碼開示例發如下:
import jxl.write.*;
import java.io.*;
import jxl.*;
import jxl.read.*;
public class JxlUpdate {
Workbook wb = Workbook.getWorkbook(new File(filePath));
WritableSheet wsheet0 = wwb.getSheet(0);
int i=13,j=6;
for (int k=0;k { String temp=String.valueOf(i); i++; //System.out.println(temp); int len=j-temp.length(); String a=\"0\"; for (int l=0;l a=a+\"0\"; wsheet0.addCell(new Label(0, k, a+temp));} 作者單位:河北白沙煙草有限責任公司保定卷煙廠