您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 供电企业FOXPRO工资数据的共享
供电企业FOXPRO工资数据的共享张铁峰苑津莎刘建新(华北电力大学,河北保定071003)摘要:在电力企业信息化的过程中,由于信息技术发展及信息化实践的阶段性等原因,使得财务率先实现计算机管理,而财务软件由FoxPro制作的为多,近年来随着电力企业信息化在各个方面深入展开,迫切要求实现财务数据的共享。本文详细介绍了FoxPro工资数据共享的实现,对信息系统的集成与过渡运行具有参考价值。关键词:信息共享;ORACLE;FOXPRO;工资;引言FOXPRO作为较早的单机版数据库开发软件,以其灵活实用的优点获得了广泛的应用。但随着信息技术发展及信息化在各个方面深入展开,WEB技术的应用,数据共享的要求愈加迫切,大型共享数据库管理系统如Oracle、SqlServer等开始占主导地位。在电力企业信息化的过程中,由于信息化实践的阶段性及当时技术背景等历史原因,使得财务率先实现计算机管理,而财务软件由FoxPro制作的为多。随着企业级信息系统的建立,大多数情况下财务软件作为企业的核心不被替代,但财务数据的共享要求日益迫切,资产负债表、损益表、产品销售利润表等各种财务报表及员工工资表都需要实现共享。其中FoxPro工资数据的共享有些困难,下面就其存在的难题及解决方法作一介绍。1工资数据共享的困难在信息系统集成的过程中,为了实现工资数据的安全共享,一般将其迁入企业的大型共享数据库中。FoxPro工资数据共享的困难在于工资表没有固定的数据库结构,工资项目的增减也很灵活,其中还存有相当一部分中间计算字段或其他无用信息,在得不到原系统开发人员的帮助情况下,只有专职财务人员才能从数据库中挑选出有用的字段,而且由于每月一个工资数据文件,于是挑选的工作每月都要做。每月一个FoxPro数据库结构的工资表要实现向大型共享数据库的迁移并实现其集中是件困难的事,需要解决两个问题:第一,将每月工资数据存储在一个数据库表中。第二,正确存储每月要显示的工资表表头。2解决办法在实践中,本文采用以下方法实现向Oracle迁移FoxPro工资数据,实现归一化处理。首先,建立Oracle数据库表“工资数据表”(存放工资数据)、“工资表头表”(存放工资表头即工资各项名称)、“工资项显示属性表”(存放工资表各项是否显示,实际使用可用列宽度代替,宽度为0的项不显示),由于FoxPro工资表字段每月可不一样,多少和次序不定,因而以上Oracle三个表(以下简称三表)的字段需建的足够多(如已知月份字段数的二倍),为了方便起见,下面用中文进行Oracle数据库表的字段说明。对“工资数据表”建字段“职工编号”、“姓名”、“项1”、“项2”···“项99”、“年”、“月”其中“职工编号”、“姓名”为字符型,其他为数字型。对“工资表头表”建字段“职工编号”、“姓名”、“项1”、“项2”···“项99”、“年”、“月”,其中“年”、“月”为数字型,其他为字符型。对“工资项显示属性表”建字段“职工编号”、“姓名”、“项1”、“项2”···“项99”、“年”、“月”,全部为数字型。第二,将需要传输的某月FoxPro工资数据通过PowerBuilder的数据窗口读入Oracle数据库表“工资数据表”,将表头(FoxPro表对应的中文列名)写入“工资表头表”,初始化“工资项显示属性表”的各字段为一定值(比如250PowerBuilder单位,实际传时多出的字段置0即宽度为0不显示)。具体实现中首先建立数据传输窗口如图1,该窗口放四个按钮,三个数据窗口如图示:图1数据传输窗口其中,“表头表”对应的数据窗口为“工资表头表”的数据窗口对象。设“FoxPro”对应FoxPro工资表某月数据文件gz.dbf,传输时动态建立数据窗口对象。“oracle”对应Oracle的“工资数据表”的数据窗口对象。“查询本月”按钮可查本月FoxPro工资表是否已传输(“oracle”数据窗口有记录为已传输,否则未传)。“传输工资”按钮可将本月FoxPro工资表数据读出并放入“oracle”数据窗口,然后存入Oracle的“工资数据表”,还将本月FoxPro工资表表头放入“表头表”数据窗口供修改保存,同时给Oracle的“工资项显示属性表”对应月份置与显示相关的信息。篇幅所限,列关键步骤如下:①连接FoxPro数据库②从FoxPro工资表数据读出到“FoxPro”数据窗口。③连接Oracle数据库④如已传过,则删除Oracle三表的传输月数据。⑤初始化传输月“工资项显示属性表”各字段值为0(主要目的是置多余字段为不可视)。⑥将FoxPro表信息写入Oracle对应三表。读取“FoxPro”数据窗口数据,写入“oracle”数据窗口时要注意“FoxPro”数据窗口各列的数据类型(发现经常有除“职工编号”、“姓名”外多余的字符型字段出现,而其内容为数字),这时需要在程序中作数据类型的转换。读取“FoxPro”数据窗口的列标题时,发现象“职工编号”、“姓名”之类意义明显的字段,在FoxPro工资表中却常用拼音缩写代替。因此在处理“工资表头”时对此类常用特殊列特殊处理,使其在“工资表头表”中存为中文名称。⑦程序自动提交写入Oracle三表的信息。“保存”按钮可将核对修改从FoxPro工资表读出的表头后放入“表头表”保存。第三,对传入Oracle的工资表进行“定制”,即将光标放置于需隐藏的列,通过“隐藏所在列”按钮实现过滤掉无用的字段(由专职财务人员操作,实际是在“工资项显示属性表”中将该月的该列字段置0),剩下需要的字段,然后将信息存储,此界面如图2。图2工资表定制界面第四,根据Oracle三个表的信息即可制作WEB查询或客户机/服务器查询,实现工资表信息共享。3权限的处理一般来说,FoxPro工资表的传输需在财务计算机本地进行,工资表的定制可在本地也可在其他联网的计算机上,但有口令的限制。4结论程序在客户端Win98/FoxPro2.5,服务器端Win2000/Oracle8.0下用PowerBuilder6.5调试通过,并在电力信息化实践中已获应用,并取得了良好效果。但所提供的解决方法还得针对具体问题具体分析,作为一种解决问题的思路,希望对信息系统的集成与过渡运行实践能有帮助。参考文献[1]沃得工作室.PowerBuilder6.0应用开发指南.北京:人民邮电出版社,1998作者简介张铁峰(1974-),男,华北电力大学电气工程学院博士生,研究方向为信息分析与处理。苑津莎,华北电力大学博士生导师,研究方向为信号分析与信息处理、电磁场理论及其应用。刘建新,华北电力大学博士生导师,研究方向为信号分析与信息处理、电磁场理论及其应用。作者张铁峰联系方式:河北保定华北电力大学35号信箱071003TEL:0312-752234913731053150E-MAIL:zhang_tiefeng@126.com
本文标题:供电企业FOXPRO工资数据的共享
链接地址:https://www.777doc.com/doc-1014708 .html