用友R91 For Oracle财务数据导入AO2011攻略,本文主要内容关键词为:用友论文,财务数据论文,攻略论文,Oracle论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
对于基层审计人员来说,数据整理导入不好处理。一是因为大部分审计人员是数据库知识的门外汉,二是因为基层财政局的财务软件经常更新,难以应对。现在笔者结合工作实际,就如何把用友R9I For Oracle财务数据导入AO2011谈几点看法。 第一步是从Oracle数据库中把需要的被审计单位的财务数据导出。通常的做法是在电脑上安装PL/SQL,然后连接财政局服务器,把需要的数据采集出来。现在为了规避审计风险,不再直接连接财政局服务器,而是让财政局工作人员把提取好的数据直接拷贝给我们,如下图:

我们所要做的就是把这七个文件最终整理成满足导入AO2011条件的三张表,也就是凭证表、余额表、科目表。 第二步是整理七张表。要想知道如何整理,首先我们先要了解这七张表具体的作用。通过观察,所需要的凭证表、余额表、科目表都有,但在余额表中,同一科目有很多年初余额,如下图:

而AO2011所要求的余额表中的一个科目代码只能唯一对应一个年初余额,这样就要求我们必须生成新的科目代码来满足条件。所有重复出现的科目代码都有辅助代码,先整理余额表。例如上图中的104科目就有FZDM0和FZDM3两个辅助科目,那么新科目代码就是KMDM+FZDM0+FZDM3。然后把所有重复的科目代码找出来汇总分类,需注意的是添加两级以上辅助代码的,要把上级科目代码提取出来。参考语句如下:select xkmdm=case when a.KMDM in(104,203)and LEN(fzdm0)=1 and len(fzdm3)=1 then a kmdm+'0'+FZDM0+'00'+fzdm3 when a.KMDM in (104,203)and LEN(fzdm0)=1 and len(fzdm3)=2 then a.kmdm+'0'+FZDM0+'0'+fzdm3 when a.KMDM in (104,203)and LEN(fzdm0)=1 and len(fzdm3)=3 then a.kmdm+'0'+FZDM0+fzdm3 when a.KMDM in (104,203)and LEN(fzdm0)=2 and len(fzdm3)=1 then a.kmdm+FZDM0+'00'+fzdm3 when a.KMDM in (104,2003)and LEN(fzdm0)=2 and len(fzdm3)=2 then a.kmdm+FZDM0+'0'+fzdm3 when a.KMDM in (104,203)and LEN(fzdm0)=2 and len(fzdm3)=3 then a kmdm+FZDM0+fzdm3 when a.KMDM in(10602,10601,10603,10699) then a.kmdm+a.fzdm1 when a.KMDM in(107,11501,11502,302,103,105)and len(a.fzdm0)=1 then a.kmdm+'0'+a.fzdm0 when a.KMDM in(107,11501,11502,302,103,105)and len(a.fzdm0)=2 then a.kmdm+a.fzdm0 when a.KMDM in(40101,40102,404,407,502)and len(z.fzdm0)=1 then a.KMDM+'0'+a.FZDM0+'0'+a.FZDM1+a.fzdm4 when a.KMDM in(40101,40102,404,407,502)and len(a.fzdm0)=2 then a.KMDM+a.FZDM0+'0'+a.FZDM1+a.fzdm4 when a.kmdm =501 and len(a.fzdm0)=1 then a.KMDM+'0'+a.FZDM0+'0'+a.FZDM1+a.fzdm5 when a.kmdm =501 and len(a.fzdm0)=2 then a.KMDM+a.FZDM0+'0'+a.FZDM1+a.fzdm5 else a.kmdm ,xkmmc=case when a.KMDM in(104,203)then kmmc+'/'+bmmc+'/'+dwmc when a.KMDM in(10602,10603,10601,10699)then KMMC+'/'+xmmc when a.KMDM in(103,105,107,11501,11502,302)then KMMC+'/'+BMMC when a.kmdm in(40101,40102,407,404,502)then kmmc+'/'+BMMC+'/'+XMMC+'/'+g.FZMC when a.kmdm =501 then kmmc+'/'+BMMC+'/'+XMMC+'/'+b.FZMC else kmmc ,kmdm2=case when a.KMDM in(104,203,40101,40102,404,407,502,501)and len(a.fzdm0)=1 then a.KMDM+'0'+a.FZDM0 when a.KMDM in(104,203,40101,40102,404,407,502,501)and len(a.fzdm0)=2 then a.KMDM+a.FZDM0 else a.KMDM ,kmmc2=case when a.KMDM in(104,203,40101,40102,404,407,502,501)then kmmc+'/'+bmmc else KMMC ,kmdm3=case when a.KMDM in(40101,40102,404,407,502,501)and len(a.fzdm0)=1 then a.KMDM+'0'+a.FZDM0+'0'+a.FZDM1 when a KMDM in(40101,40102,404,407,502,501)and len(a.fzdm0)=2then a.KMDM+a.FZDM0+'0'+a.FZD M1 else a.kmdm ,kmmc3=case when a.KMDM in(40101,40102,404,407,502,501)then kmmc+'/'+bmmc+'/+XMMC else KMMC ,ncj,ncd into yeb from dbo.余额表a left join dbo.辅助项资料b on a.FZDM5 =b.FZDM left join dbo.科目信息c on a.KMDM=c.KMDM left join dbo.科室资料d on a.fzdm3=d.DWDM left join dbo.项目资料e on a.fzdm1 =e.XMDM left join dbo.部门信息fona.fdm0 =f.BMDM left join dbo.辅助项资料g on a.FZDM4=g.FZDM 整理后结果如下:

为了保持和原凭证表中的科目代码保持一致,凭证库中的科目代码也要更新,然后整理凭证表,参考语句如下:select nian=left(kjqj,4) ,yue=case when right(kjqj,2)=13then 12 else right(kjqj,2)end ,ri=case when right(kjqj,2)=13then 31 else 1 end ,PZH,FLH,zy ,xkmdm =case when KMDM in(104,203)and LEN(bmdm)=2 then kmdm+bmdm+WLDM when KMDM IN (104,203)and LEN (bmdm)=1 then kmdm+'0'+bmdm+WLDM when KMDM in(10603,10602)then kmdm+xmdm when KMDM in(107,11501,11502,302)and len(bmdm)=1 then kmdm+'0'+bmdm when KMDM in(107,11501,11502,302)and len(bmdm)=2 then kmdm+bmdm when kmdm in(40101,40102,407)and len(BMDM)=1 then KMDM+'0'+BMDM+'0'+XMDM+fzdm4 when kmdm in(40101,40102,407)and len(BMDM)=2 then KMDM+BMDM+'0’+XMDM+fzdm4 when kmdm =501 and len(BMD M)=1 then KMDM+'0'+BMDM+'0'+XMDM+fzdm5 when kmdm =501 and len(BMDM)=2 then KMDM+BMDM+’0’+XMDM+fzdm5 else a.kmdm ,JDBZ,je into pzb from dbo.凭证内容 结果如下:

最后整理科目表,要把新生成的科目代码添加进科目表中,生成新的科目表,参考语句如下: select *into kmb from dbo.科目信息 union select distinct xkmdm,xkmmc from yeb union select distinct kmdm2,kmmc2 from yeb union select distinct kmdm3,kmmc3 from yeb 至此,所需要的三张表已经全部整理完毕,但还有最为关键的一步——验证数据的正确性。一是验证凭证表和余额表中的所有科目代码都在科目表中。参考语句: select*from pzb where xkmdm not in(select kmdm from kmb) select *ftom yeb where xkmdm not in(select kmdm from kmb) 没有结果说明正确。 二是验证余额表中的借贷方年初余额是否一致。参考语句: select SUM(ncj)-SUM(ncd)from yeb 结果为0说明正确。 三是验证凭证表借贷方发生额是否一致。参考语句: select sum(case when JDBZ='借'then je else 0 end)- sum(case when JDBZ='贷'then je else 0 end) from pzb 结果为0说明正确。 下面的步骤就要在AO2011中完成了。建立项目之类的就不需赘述了,导入三张表之后,全部用辅助导入,按部就班就可以了。重点是科目编码的设置,如图:

要把新生成的科目代码按制定的规则分层。还有一个重点就是科目余额调整,如图:

添加了下级科目,要把所有的下级科目汇总,这样余额才能一致,这里需要手动修改。导入完成后,如果余额和发生额都一致,即大功告成。
标签:select论文;
ORACLE财务数据与朋友R91的AO2011简介_select论文
下载Doc文档