巧用存储过程提取整理数据实现模板导入AO,本文主要内容关键词为:巧用论文,存储过程论文,模板论文,数据论文,AO论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
方正春元财务软件是一种网络版财务管理软件,其后台数据库为SQLserVef2000。由于AO中没有提供与该软件对应的财务数据备份数据转换模板,审计人员只有采用数据库数据采集转换数据。根据数据库数据采集转换数据方法的要求先需找到科目表、余额表、凭证表。笔者将数据库备份还原到审计人员的SQL server 2000后,对表和字段进行了认真分析,发现全县所有行政事业单位的财务账都记入到dwzw2008这个数据库中,Book_set表记录单位代码和对应的单位名称,set_code字段作为单位代码关联字段,其他库表结构复杂。如何根据需要快速地从众多的单位数据中提取和整理当前实施的审计项目账套电子数据,成为一个关键问题。通过实践,笔者成功地运用了SQL server 2000中的存储过程来提取整理数据,简单的操作破解了该种财务管理软件数据导入的难题,而且实现了AO模板导入。本文将该种方法和操作步骤予以介绍,愿与同行共勉,为开展计货机辅助审计做出有益的探索。
第一步,根据数据库数据采集转换数据方法的要求找到科目表、余额表,凭证表和相应的字段
通过select*from t9blc-manager语句对表字典进行查询找出科目表accountant_subject、余额表remain,凭证主表为voucher,凭证明细表为voucher_detail。再通过select*from field manager语句对字段管理表进行查询找到需要的字段,科目表中所需字段set_code(单位代码)、IN_CODE(科目编码),DISP_NAME(科目名称)。余额表中所需set_code(单位代码),AS_CODE(科目编码),BALANCE(期初余额)。凭证主表所需字段SET_Code(单位代码),VOUCHER_ID(凭证关联号),SET_YEAR(凭证年份),V_NONTH(凭证月份),V_DAY(凭证日),VOUCHER_N0(凭证号),BILLS(附件数)。凭证明细表所需字段sct_code(单位代码),AS_CODE(科目编码),VOUCHER ID(凭证关联号),SUMMARY(摘要),DEB_MONEY(借方发生额),CRE_MONEY(贷方发生额)。
第二步,根据数据库数据采集转换数据方法的所需要素,通过查询语句生成新的科目表A_kmb、余额表A_kmyeb,凭证主表为A_pzhzhb,凭证明细表为A_Pzhmxb。(生成的新表前建议加上A字母,在添加表时表按字母顺序排列,便于查找)
①科目表A_kmb的生成语句:SCleCt SCt_code,IN_CODE,DISL_NAME int0 A_kmo from dbo.ACCOUNTANT_SUBJECT
②余额表A_kmyeb的生成语句:
SClCCt SCt_COde,AS_CODE,BALANCE,fx=caSe when left。(AS_CODE,1):1 or lef,t(AS_CODE,1)=5 then
‘借’elSc‘贷’end into A-kmyeb from dbo.REMAIN。
根据科目编码记账借贷方向增加余额方向(FX)列。
③凭证主表A_pzhzhb生成语句:SET_Code,VOUCHER_ED,SET_YEAR,V_MONTH,VOUCHER_NO,V_DAY,BILLS into A pzhzhb from voucher
④凭证明细表A_Pzhmxb生成语句:Sclcetset_codc,AS_CODE,VOUCHER_ID,SUMMARY,DEB_MONEY,CRE_MON EY int0 A_Pzhmxb from dbo.VOUCHER_DETAII
第三步,创建一个用于输入单位代码的带输入参数的存储过程,过程名为tb_p_data_exec,输入参数V_set_code。
存储过程工作原理为先清空A_kmb、A_kmyeb、A_pzhzhb、A_pzhmxb表中的数据,再将所需单位查询的数据插入到A_kmb、A_kmyeb、A pzhzhb、A_pzhmxb中。
创建存储过程语句为:creEATE PROCEDURE[dbo]。[tb_p_data_exec]
(@y_SCt_Code VarChar(20))
AS
BE(;IN
——1清空临时表数据
dClCtC frOm A_kmb;
delCtC frOm A_kmyeb;
dCleIC frOm_A_pzhzhb;
dClCtC frOm A_pzhmxb;
——2A_kmb表数据处理
insert into A_kmb
select set_code,IN_CODE,DISP_NAME from dbo.ACCOUNTANT_SUBJECT where set_code=@v_set_code;
——3A_kmyeb表数据处理
insert into A_kmyeb
select set_code,AS_CODE,BALANCE,fx=case when left(AS_CODE,i)=1 or left(AS_CODE,1)=5 then '借' else‘贷’end from dbo.REMAIN where se t code=@v s e t_code;
——4A_pzhmxb表数据处理insertinto A_pzhmxb select set_code,AS_CODE,VOUCHER_ID,SUMMARY,DEB MONEY,CRE_MONEY from dbo.VOUCHER_DETAIL where set_code=@v-set-code;
——5A_pzhzhb表数据处理
insert into A_pzhzhb
select SET_Code,VOUCHER_ID,SET_YEAR,V_MONTH,VOUCHER NO,V DAY,BILLS from voucher
where Se t_code=@v_set_code;commit
END
第四步:利用数据库数据采集转换数据方法将新生成的科目表A_kmb、余额表A_kmyeb,凭证主表为A_pzhzhb,凭证明细表为A_Pzhmxb导入AO生成方正春元导入模板。
存储过程的创建和模板制作完成后,对某个单位实施审计时,导入数据只需要在查询分析器里先通过select*fromdbo.BOOK-SET查询语句找到对应的单位代码将其复制,然后打开存储过程tb_p_data excc将其粘贴到“值”对话框中点击“执行”,该单位的数据提取整理一步完成。导入AO时就只需使用“模板管理”菜单的“使用模板采集转换”就可实现数据的导入。