对于基层审计人员来说,数据整理导入不好处理。一是因为大部分审计人员是数据库知识的门外汉,二是因为基层财政局的财务软件经常更新,难以应对。现在笔者结合工作实际,就如何把用友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