内容发布更新时间 : 2024/11/5 5:40:41星期一 下面是文章的全部内容请认真阅读。
浅谈用友安易R9i财务软件数据导入AO的方法
浅谈用友安易R9i财务软件数据导入AO的方法
从2008年起,我区财政结算中心核算系统升级为用友安易R9i财务软件,与之前使用的用友安易R9财务软件相比,其后台数据库也由SQL-server升级为Oracle9i。由于目前审计署金审网站尚无相关财务软件数据转换模版可供下载,为我局日常工作中使用AO2008软件(以下简称AO)开展审计项目的数据采集工作带来了一定困难。在对用友安易R9i财务软件的Oracle9i数据库结构进行分析后,我们认为可以通过先对该软件数据库中部分表格逐一处理,再使用现有的财务软件数据模版进行转换的方式,解决用友安易R9i财务软件数据导入AO的问题。经过多次测试,目前该项工作已能够准确开展。现以一在我区财政结算中心进行集中核算的单位为例,就如何采集用友安易R9i财务软件的Oracle9i数据库数据进行探讨。 一、数据分析
用友安易R9i财务软件的Oracle9i数据库中表格众多,其中我们审计工作需要的表格包括:凭证表、科目信息表、科目余额表和支出类别表。在查看数据字典并与我区财政结算中心相关人员、用友软件公司工程师沟通后,我局审计人员确定了需要的表格分别为:账套信息表GL_GL_ZTCS_BAK、凭证主表GL_GL_PZML、凭证明细表GL_GL_PZNR、科目信息表GL_GL_KMXX、科目余额表GL_GL_YEB以及支出类别总表GL_GL_FZLB、支出类别明细表GL_GL_FZXZL。 二、数据采集
确定了相应的目标后,需要解决的就是数据的采集问题。用友安易R9i财务软件的后台数据库为Oracle9i版本,其数据库备份文件为“.DMP”格式。数据采集的标准方法,可以通过在电脑上安装同一版本的Oracle数据库软件,对数据库备份文件进行恢复后再对相应表格进行操作。但由于我局办公电脑配制较低,一旦安装Oracle数据库软件后容易导致电脑资源耗尽而发生无休止的重新启动,因此经过测试后发现该方法不可行。我们根据现有的办公条件不断进行深入研究,通过使用实际数据的穿行测试逐步摸索出一种切实可行的数据采集方法。其原理为利用Oracle数据库软件的前台查询功能导出需要的表格,保存为Excel格式,然后再通过Access数据库和SQL-server数据库对相应的Excel表格进行数据处理。 (一)根据数据字典确定相关的表格,并对其中的字段记录数据的含义及关联进行了解。如:账套信息表GL_GL_ZTCS_BAK中的HSDWDM字段记录的为单位代码、ZTBH字段记录的为账套编号,可以与科目信息表GL_GL_KMXX中的GSDM字段、ZTH字段进行关联。 (二)由于用友安易R9i财务软件Oracle数据中表格记录的往往是全部核算单位、全部会计期间的数据,因此需要进一步根据相关表格中字段记录数据的含义,确定被审计单位的相关信息。如:该单位在用友安易R9i财务软件中的单位代码为“601008”,账套编号为“132”,被审计会计期间为“2008年”。
(三)利用Oracle数据库软件的前台查询功能,编写SQL语句,将相关表格信息导
出为Excel格式的文件并保存在审计人员的移动存储设备中。如:以获取该单位2008年科目信息表中相关数据为例,可以使用SQL语句“select * from GL_GL_KMXX where GSDM like ‘601008’ and ZTH like ‘132’ and KJQJ like‘2008’”。 三、分析整理
由于取得是数据资料为Excel格式的文件,审计人员可以根据个人习惯,使用Access数据库软件或SQL-server数据库软件对数据进行进一步分析整理。鉴于在数据导入时计划使用的拆分模版为Access数据库格式,为与大家进行广泛的分享,本文将运用SQL-server数据库软件进行数据分析整理的操作。
(一)使用SQL-server数据库软件的“DTS导入/导出向导”功能,将以上获取的凭证主表GL_GL_PZML、凭证明细表GL_GL_PZNR、科目信息表GL_GL_KMXX、科目余额表GL_GL_YEB以及支出类别明细表GL_GL_FZXZL准确导入SQL-server数据库,将各表分别命名为dbo.pzml、dbo.pznr、dbo.kmxx、dbo.yeb和dbo.fzxzl。数据导入过程中需注意对部分字段的类型转换,如:科目余额表GL_GL_YEB在导入时,需将NCJ、NCD等字段转换为numeric类型,其精度和小数位数可根据核算要求进行设定。
(二)对导入的各表格数据进行检验,保证导入的表格之间钩稽关系基本准确并且排除不相关数据存在的可能。如:
1、检验dbo.pzml表和dbo.pznr表中金额的钩稽关系是否正确。可以使用SQL语句“select sum(pzje) from dbo.pzml”、“select sum(je)/2 from dbo.pznr”分别计算结果并进行核对。
2、检查各表中导入的数据是否存在不相关信息。如对dbo.pznr进行检查,可以使用SQL语句“select * from dbo.pznr where gsdm not like '601008' or zth not like '132' or kjqj not like '2008%'”。
(三)由于在数据导入AO时计划使用“用友8.X Access备份”拆分模版,因此需对部分表格进行处理,构建部分新字段。
1、在dbo.yeb表中构建新字段“年初余额”,并保存为dbo.yeb1表。可以使用SQL语句“select *, 年初余额 = ncj - ncd into yeb1 from dbo.yeb”。
2、针对dbo.yeb1表中“年初余额”字段进行分析,构建新字段“年初余额方向”,并对“年初余额”字段数据进行对应调整,保存为dbo.yeb2表。可以使用SQL语句“select *, 年初余额方向 = case when 年初余额 > 0 then '借' else '贷' end, 年初新余额 = case when 年初余额 > 0 then 年初余额 else (-1) * 年初余额 end into yeb2 from dbo.yeb1 where 年初余额 <> 0”。
3、根据dbo.pzml表和dbo.pznr表中信息,构建新字段“凭证日期”、“期间”,并保存为PZB表。可以使用SQL语句“select dbo.pzml.PZH, dbo.pznr.FLH, 凭证日期 = left(dbo.pzml.PZRQ,4) + '-' + substring(dbo.pzml.PZRQ,5,2) + '-' + substring(dbo.pzml.PZRQ,7,2), dbo.pznr.KMDM, dbo.pznr.ZY, dbo.pznr.JDBZ, dbo.pznr.JE, dbo.pznr.FZSM5, dbo.pznr.FZDM4, dbo.pznr.FZDM5, 期间 =
cast(right(dbo.pzml.KJQJ,2) as numeric(2,0)) into PZB from dbo.pzml join dbo.pznr
on dbo.pzml.kjqj = dbo.pznr.kjqj and dbo.pzml.pzh = dbo.pznr.pzh”。
4、针对“用友8.X Access备份”拆分模版的要求,对上步生成的dbo. PZB表进行处理,将根据其“借贷方向加金额”的表述形式,转变为“借方金额、贷方金额”的表述形式,进一步生成PZB2表。可以使用SQL语句“select *, 借方金额 = case when JDBZ like '借' then JE else 0 end, 贷方金额 = case when JDBZ like '贷' then JE else 0 end into PZB2 from dbo.PZB”。 四、数据导入
根据前期的对数据的分析整理,确定需要的数据表为:dbo.kmxx、dbo.fzxzl、dbo.yeb2和dbo.PZB2。
(一)由于最终需使用“用友8.X Access备份”拆分模版来完成AO数据采集的工作,因此需将以上表导入Access数据库。为避免人为造成的信息错误,建议采用ODBC联机导入的方式进行操作。
1、在“控制面板/管理工具/数据源ODBC”中建立用户数据源,命名为“浅谈用友安易R9i财务软件数据导入AO的方法”。
2、新建一Access数据库文件,命名为“浅谈用友安易R9i财务软件数据导入AO的方法.mdb”,使用“ODBC Databases”导入SQL-server“浅谈用友安易R9i财务软件数据导入AO的方法”数据库中dbo.kmxx、dbo.fzxzl、dbo.yeb2和dbo.PZB2表格。 (二)从审计署金审网站下载“用友8.X Access备份”拆分模版,根据“浅谈用友安易R9i财务软件数据导入AO的方法.mdb”文件中数据信息逐一对应完成其中code表、customer表、GL_accsum表和GL_accvouch表的相关内容。由于Access数据库中的表格不支持如Excel 表格般的自由粘贴操作,因此部分数据的填列需要借助SQL语句。如:GL_accsum表中iperiod列全部为“1”,可以在Access数据库中使用SQL查询语句“update GL_accsum set iperiod = '1'”执行操作。
(三)使用AO中“采集转换”功能将上步完成的“用友8.X Access备份”拆分模版导入。
1、进入AO中相关审计项目,在“审计分析/电子数据管理”界面中根据实际情况建立电子账簿“浅谈用友安易R9i财务软件数据导入AO的方法”,保存在资料树的“审计分析数据”中。
2、在“采集转换/财务数据/财务软件备份数据/采集数据”界面,选择上步建立的电子账簿,双击打开“采集财务软件备份盘数据”界面。
3、“转换模板”选择“[30]用友8.X Access备份”,选择相应的数据源存放物理位置及会计年度,点击“开始”进行数据采集。
4、数据采集进度结束后,需查看“会计期间定义”、“科目方向调整”和“科目余额调整”选项卡,确保无异常情况,最后选择“账表重建”。至此,用友安易R9i财务软件数据已全部导入AO中。 nbsp; 五、数据核对
数据导入AO完成后,需对操作的准确性进行判断。可从AO 的“审计分析/账表分析/报表