财会电算化-用友U8备份文件

只想当个好男人 会计实务
精选回答

用友财务软件是目前国内财务领域中使用得最广泛的一种,审计署下发的AO软件中,就可以直接导入用友多个版本的数据,给审计人员带来极大的方便。但有时审计人员会面对几十甚至上百个账套,如果逐个处理,未免费时费力。本文针对用友8.51的一个备份文件作一点分析,对其中各关键步骤给出一个程序处理的办法,最后给出一个解决用友8.51备份文件批量导入的流程。一点粗浅想法,抛砖引玉,同时也希望能给大家一点启示。

二、分析过程

用友8.51在备份的时候,一般会产生两个文件:UFDATA.BA_和UfErpYer.Lst.其中UfErpYer.Lst比较小,不到1K,而UFDATA.BA_通常比较大。由此,我们判断,财务数据应该在UFDATA.BA_中。

我们用UltraEdit软件打开UfErpYer.Lst文件,发现它其实就是一个文本文件,保存着备份相关的一些信息,如软件版本、备份日期、账套年度、文件路径等。而打开UFDATA.BA_文件时,我们发现是一堆乱码,甚至找不到常见的一些文件头的信息。因此我们初步判断它有可能是压缩过的文件。而且,从常理讲,考虑到磁盘空间的问题,数据文件备份的时候通常也会压缩处理。

尝试用WinRar打开UFDATA.BA_,成功。解压后,得到一个文件:UFDATA.文件没有后缀名,因此我们还是先用UltraEdit打开。在文件头部,我们看到有“TAPE”、“Microsoft SQL Server”等字样,因此我们初步判断它跟SQL Server有关。

根据以上思路,我们反过来比较,查看SQL Server数据库的各种文件的头部,看是否有与UFDATA 文件头相似的文件。SQL Server数据库中,与数据相关的文件,我们平时接触比较多的主要有数据文件和备份设备文件。新建一个空的数据库,用UltraEdit查看它的数据文件的头部,未发现相关字样,而创建一个备份设备后,查看该文件的头部,正好跟UFDATA文件的头部是一样的。因此我们初步判定UFDATA文件为SQL Server数据库的备份设备文件。并且,我们知道TAPE是磁带的意思,而SQL Server中跟磁带相关的通常与数据库的备份有关系。

接下来我们就分析UFDATA文件中的内容。打开SQL Server的企业管理器,新建一个备份设备,并将文件名指定我我们解压后得到的UFDATA文件。确定后,查看新建立备份设备的内容,发现它其实是一个(或多个)数据库的完全备份。将它还原后,我们可以看到,这是用友的一个账套数据库。

对一个本地的数据库,我们就可以根据自己的需要,进行相关的查询和操作了。到此为止,我们其实已经完成了将一个用友U8.51的备份文件转换成我们可操作数据库的过程。但如果仅仅如此,那么本文其实是没有什么意义的,因为这个步骤我们可以很容易地利用AO软件来实现。

在实际工作中,我们遇到的往往不是单个的账套。由于很多企业有很多独立核算的分公司,并且每个公司每年都要建一套账,因此,我们面对的往往是十几个、几十个账套,有时甚至会面对上百个账套,而AO中又没有提供批量导入的办法,如果一个一个导入的话效率太低。基于这种情况,本文就利用上述分析的结果,给出一个解决的办法,能让我们批量导入用友的备份数据。

三、解决办法

要实现批量导入,必须编写程序,实现上述分析过程中的解压、添加备份设备、还原数据库、抽取数据等步骤。我们首先对每一个关键步骤给出相应的解决办法,最后再给出一个总体的流程。

文件解压;利用Win32的API:ShellExecuteEx,调用WinRar将压缩文件解压到指定的临时文件夹下,并得到解压程序的句柄(前提是已经安装了WinRar软件)。其中要用到SHELLEXECUTEINFO这个结构,用来指定WinRar的路径以及相应的解压参数。具体可以查阅Win32 API帮助。

添加设备;利用SQL Server 2000的存储过程sp_addumpdevice添加设备文件。

还原数据库;利用SQL Server 2000的命令Restore DATABASE,从设备中的备份还原数据库。另外,查看备份文设备中的备份数据库信息可以使用命令:RESTORE HEADERONLY.

删除备份设备;可以使用存储过程:sp_dropdevice.详细信息可以查阅SQL Server 2000的帮助文档。

接下来我们就给出批量导入用友8.51备份文件的主要流程:

定义SHELLEXECUTEINFO类型的变量:SI

指定SI的相关参数:动作为“Open”、文件为WinRar的执行文件(指定长文件名)

对每个备份文件UFDATA.BA_,循环处理(循环1)

得到文件路径和文件名,以及某些账套信息(公司、年份等等)

指定SI的参数为:x sFile *.* sTemp

(注:sFile为备份文件的长文件名,sTemp为一个临时文件夹)

调用:ShellExecuteEx SI

获取SI的状态直到它执行完毕

在数据库服务器上执行:sp_addumpdevice disk,U8Back,physical_name

(注:U8Back为我们为设备取的名,physical_name为解压后得到的UFDATA文件的长文件名)

执行:RESTORE HEADERONLY From U8Back,得到设备中的备份列表记录集

(注:一条记录对应于一个备份)

对备份列表记录集的每条记录,循环处理(循环2)

根据列表记录集中的内容,得到数据库的某些信息(如账套年份)

Restore DATABASE UF8 From U8Back with File=file_number,Move Ufmodel

To DataFile,MOVE Ufmodel_LOG TO LogFile, replace

(注:file_number为从备份列表记录集中得到的要还原的备份集编号,DataFile与LogFile分别为还原后数据文件与日志文件的长文件名)

抽取数据库中相应的数据

(注:如果把多个账套数据合并到一起,需要根据前面得到的账套信息将数据进行区分,例如:将各表加入账套的年份、公司、地区等字段或是能区分各账套的一个关键字字段进行区分)

结束循环1

在数据库服务器上执行:sp_dropdevice U8Back,删除设备

结束循环2

善后工作,如删除临时文件等

四、结束语

本文是作者的一次实际经历的总结。在一次企业审计中,审计人员拿到了一百六十多个备份文件,并且任务要求将这些账套中的有关数据进行合并,以便分析。最后我们以本文所述办法进行处理,代码写完后,用了不到一个晚上的时间,就将所有账套处理完成。

岁月之沉淀 2022-11-25 13:48:38

相关推荐

如何选择调酒培训机构呢?

有人说:爱上一个调酒师,就是爱上一个不回家的人;有这样一群人,我总说他们做着世界上较孤独的工作,犹如猫头鹰,夜幕降临才是他们工作的开始,黎明破晓之时,才能回到自己的小窝。他们是属于夜晚的,灯红酒绿下是他们的舞台...
展开详情

大连高中辅导班哪里靠谱

人的智力周期的高潮期,头脑清楚,逻辑思维能力强,学习效率高,低潮期反应较迟缓,临界期就更差。在一天中,人的智力也是存在周期的。对一般人来说,上去8-10小时和下午3-6时是效率最高的时间,中午1小时左右和黄昏最...
展开详情

太原初中一对一课外辅导培训班

太原初中一对一课外辅导培训班?学习笔记一定要记。在小学时,有的孩子可能会被老师夸说,这孩子很聪明,所以,没有记笔记的习惯,但是,好记性不如烂笔头,古人说的话是很有道理的,况且,多科交叉学习,如果不记笔记,要不知...
展开详情

声乐培训:五个“高音要诀”,轻松突破高音!

一、咽部力量合理用咽喉的调整,是歌唱中很重要的技术。歌唱中,全部拉紧咽壁演唱,声音会过硬过亮,缺少歌唱性;用少了咽音的力量,声音会空洞,没有支点和拉力的感觉。如果能够根据歌曲不同力度的需要,适当运用咽壁力量,在...
展开详情

机构简介

博思嘉业企业管理咨询有限公司中国境内培训的主要运营商、服务商,一直致力于为客户提供优质的培训服务。我们先后为超过10000多家的企业提供过会员、公开课以及企业内部培训服务.我们公司位于首都北京最繁华的金融、商业...
展开详情

精选推荐更多>

鸿鹄之志岂燕雀能知是什么意思

鸿鹄之志岂燕雀能知,即“燕雀安知鸿鹄之志”,意思是:燕雀怎么能知道鸿鹄的远大志向,比喻平凡的人不知道英雄人物的志向。
出自《史记·陈涉世家》,又见《庄子·内篇·逍遥游》,原文是:陈涉少时,尝与人佣耕,辍耕之垄上,怅恨久之,曰:“苟富贵,勿相忘。”佣者笑而应曰:“若为佣耕,何富贵也?”陈涉叹息曰:“嗟乎,燕雀安知鸿鹄之志哉!”
翻译:陈涉年轻的时候,曾经同别人一起被雇佣耕地。(有一天)陈涉停止耕作走到田畔高地上(休息),因失望而愤慨叹息了很久,说:“如果(有朝一日我们谁)富贵了,可不要忘记老朋友啊。”雇工们笑着回答说:“你是个被雇佣耕地的人,哪来的富贵呢?”陈涉长叹一声说:“唉,燕雀怎么知道鸿鹄的志向呢!”
使用示例:
1、《吕氏春秋·士容》:“夫骥骜之气,鸿鹄之志,有谕乎人心者诚也。” 
2、唐·卢肇《鸜鹆舞赋》:“况乃意绰步蹲,然后知鸿鹄之志,不与俗态而同尘。”
3、元·郑光祖《王粲登楼》第一折:“大丈夫仗鸿鹄之志,据英杰之才。”亦省作“鸿鹄志”。
4、《北史·张定和张奫等传论》:“当其郁抑未遇,亦安知有鸿鹄志哉!” 
5、宋·陆游《庵中杂书》诗:“辍耕垄上鸿鹄志,长啸山中鸾凤音。”
6、郁达夫《己未秋应外交官试被斥仓卒东行返国不知当在何日》诗:“燕雀岂知鸿鹄志,凤凰终惜羽毛伤!” 

言有物而行有恒是什么意思

言有物而行有恒(yán yǒu wù ér xíng yǒu héng)是一个文化术语,说话要言之有物,做事要持之以恒。“言有物”即说话或写文章要有实际根据和内容,语言、文字要与实际情况相符,不能想当然,不能假大空;“行有恒”即做任何事情都应该有恒心、有原则,说到做到,专心一意,坚持到底,不朝三暮四或半途而废。此术语实际所包含的是一种务真求实的科学态度和专一持守的诚信精神。
出处:《易经·象下》:“君子以言有物而行有恒。”
象,易经用语,是《易经》中非常重要的一个用语。《三易》之一(另有观点:认为易经即三易,而非易经),是传统经典之一,相传系周文王姬昌所作,内容包括《经》和《传》两个部分。《经》主要是六十四卦和三百八十四爻,卦和爻各有说明(卦辞、爻辞),作为算卦之用。《传》包含解释卦辞和爻辞的七种文辞共十篇,统称《十翼》,相传为孔子所撰。
春秋时期,官学开始逐渐演变为民间私学。易学前后相因,递变发展,百家之学兴,易学乃随之发生分化。自孔子赞易以后,《易经》被儒门奉为儒门圣典,六经之首。儒门之外,有两支易学与儒门易并列发展:一为旧势力仍存在的筮术易;另一为老子的道家易,易学开始分为三支。

举目见日不见长安表达了什么

“举目见日,不见长安”表达了对长安的怀念,对前朝的眷恋。出自南朝·宋·刘义庆《世说新语》:“明日,集群臣宴会,告以此意,便重问之。乃答曰:‘日近。’元帝失色,曰:‘尔何故异昨日之言邪?’答曰:‘举目见日,不见长安。’”
译文:第二天,召集群臣宴饮,就把明帝这个意思告诉大家,并且再重问他一遍,不料明帝却回答说:“太阳近。”元帝惊愕失色,问他:“你为什么和昨天说的不一样呢?”明帝回答说:“现在抬起头就能看见太阳,可是看不见长安。
《世说新语》是南朝宋文学家刘义庆撰写(一说刘义庆组织门客编写)的文言志人小说集,是魏晋轶事小说的集大成之作,是魏晋南北朝时期“笔记小说”的代表作。其内容主要是记载东汉后期到魏晋间一些名士的言行与轶事。通行本6卷36篇。有梁刘孝标注本。

小学体测项目有哪些

小学一、二年级体测项目有身高体重、肺活量、50米跑、坐位体前屈、1分钟跳绳。小学三、四年级体测项目比一、二年级体测项目多了1分钟仰卧起坐。小学五、六年级体测项目比三、四年级多了50米×8往返跑。
身高体重:测量身高、体重可以判断人的生长发育和体型。
肺活量:指一次尽力吸气后,再尽力呼出的气体总量,它是一次呼吸的最大通气量,在一定意义上可反映呼吸机能的潜在能力。
50米跑:是一个能体现快速跑能力和反应能力的体育项目。
坐位体前屈:它的测试目的是测量在静止状态下的躯干、腰、髋等关节可能达到的活动幅度,主要反映这些部位的关节、韧带和肌肉的伸展性和弹性及身体柔韧素质的发展水平。
1分钟跳绳:目的在于训练下肢耐力和协调性。
1分钟仰卧起坐:用于测量腹部肌肉的力量,及一个人的体力、耐力。
50米×8往返跑:是有效反映学生灵敏及耐力素质发展水平的常用指标。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200