年结常见问题及方案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1年结、升级常见问题及解决方案制作/演讲人:U8支持25号工程师时间:2020年1月2日2主要内容年结问题1升级问题2加密问题3相关事项43年结问题年结前准备1年结问题FAQ24年结前准备•年结系统环境搭建•数据逻辑正确性检测•数据结构正确性检测5年结系统环境搭建•年结前,请在新旧年度账中打过DBhotfix(861的升级数据不能打),并且打上最新的SPHotfix及系统管理补丁。•对于85X系列的年结时,请一定要打上最新的USGXLJZ.dll和U8CarryOver.dll。其中U8CarryOver.dll(2005-01-28)在852版本中出过一版,用以解决年结效率问题,但以前此文件并未同步至其他版本,现经研发部同仁确认可以在85X系列中通用,可从852的补丁包中获得该文件。6数据逻辑正确性检测•851A、852、860SP三个版本可以使用“年结前检查工具”进行数据的业务逻辑检测,该工具基本可将数据逻辑上存在的问题检测出来,我们可以参照检测结果,自行通过脚本修复数据。7数据结构正确性检测I•年结前,请使用集团支持部发放的“年结检测工具”,该工具可以检测出数据库表、视图、存储过程等与模板库是否一致,可以将自己增加的触发器、缺少的视图、字段等检测出来,从而快速将数据库结构恢复为正常状态。(这个工具是检测数据库结构的,与今年给出的工具不同,今年的是检测数据正确与否的。)8数据结构正确性检测II•年结前,对于大数据量的账套,请先重建所有用户表索引,可以提高年结的效率。(重建表索引的工具,集团已经通过工具光盘发放至分公司。或通过DBCCDBREINDEX(‘TableName’)自己将大数据量表重建索引,如Rdrecord/s、Dispatchlist/s等等)•年结前,请一定将用户自己增加的触发器删除,否则有可能对年结效率产生很大影响。检测工具可由上述工具光盘中获得。9年结问题FAQ•建立新年度账时……•结转上年数据时……10建立新年度账I•852版本建年度账,提示“bExitMsg字段无效”?–【分析】由于在上年账套中GL_VoucherOption表中多了该字段,该字段用来描述在对凭证操作时,系统异常中断时,正在操作的操作员的编码,如demo等–【解决】通过企业管理器,在上年数据库中删除该字段。或执行如下脚本:AltertableGL_VoucherOptionDropColumnbExitMsg11建立新年度账II•普及版建年度账时失败,提示“传输网上银行信息(NBNewAcc.dll)失败”–【分析】数据库表NB_PayAccountInfo缺少字段,并且补丁未更新–【解决】可通过如下语句更改数据表:添加字段:ALTERTABLEdbo.NB_PayAccountInfoADDcaccnamevarchar(60)NULL;或者下载最新的NBNewAcc.dll(2005-12-28)12建立新年度账III•建立年度账时提示找不到路径–【分析】因为在ufsystem库中的ua_account表中的账套路径字段cAcc_Path,和实际的账套路径不一致。多数问题发生在低版本产品中(Access库),修改了该字段。–【解决】在数据库中,将路径改为实际的路径即可。13建立新年度账IV•建立年度账过程中,或是结转过程中,出现提示“XX列名无效”的错误–【分析】多数是因为数据表缺少该字段,或缺少使用到该字段的视图、存储过程等。通过前面所说的检测工具也可以检测出来。或者可以通过如下语句,查找到缺少的内容,查看数据表结构即可。(转下页)14建立新年度账IV•建立年度账过程中,或是结转过程中,出现提示“XX列名无效”的错误–(接上页)【解决】查找语句如下:selecta.namefrom演示账套..sysobjectsajoin演示账套..syscolumnsbona.id=b.idwhereb.name='提示缺少的字段'anda.namenotin(selecta.namefrom用户账套..sysobjectsajoin用户账套..syscolumnsbona.id=b.idwhereb.name='提示缺少的字段')–找到后,由演示账套将缺少的内容导入或添加即可。15结转上年数据-序•在结转上年数据前,建议大家在上年数据中,通过一些常用的脚本和工具,最大程度确保上年数据的正确性和完备性。–先进先出记价方式的,请酌情使用(85X系列中)851系统管理补丁中的“调ia_valuationass.sql”的脚本修正辅助记价表的错误;–个别记价法的记价方式,请使用85X各版本系统管理中的“个别记价法年结脚本.sql”;–使用“重算存货总账”工具,修复、重算存货明细账和总账;16结转上年数据I•年度结转的时候提示“不能登陆到服务器:口令不正确”–【分析】这个问题和asuser密码不正确有关。由于85X系列曾经出过补丁解决操作员账号密码的加密问题,而asuser是系统内置的用户(注:用于结转、查询某些账表、系统生成单据),故其密码会被修改,导致该问题产生。–【解决】(转下页)17结转上年数据I•年度结转的时候提示“不能登陆到服务器:口令不正确”–(接上页)【解决】如果是U851A及以前的版本可以用下面语句修改:updateufsystem..ua_usersetcpassword='asuser'wherecuser_id='asuser'如果是852的版本,由于使用密码加密的方法,可以用下面语句:updateufsystem..ua_usersetcpassword=‘DCKNCAAB@HLIKELF’wherecuser_id=‘asuser’或在系统管理中,将某个操作员密码设为“asuser”,然后在企业管理器中,将该字段内容复制粘贴在asuser的密码中18结转上年数据II•结转过程中出现提示“数据发生意外错误”–【分析】该错误提示非常简单,但越简单的提示,问题越难以定位。以近段时间处理的问题看,多数情况是Rdrecords表中bGSP字段出现异常。如果存货非GSP管理,该字段应为NULL,错误情况下为0。–【解决】可用如下语句修正:updaterdrecordssetbgsp=nullwherebgsp=019结转上年数据III•860SP版本的年度结转时遇到这样的报错信息:对象名MaterialAppealVouch无效–【分析】正如在前面提到的,对于对象名无效的问题,是因为数据库结构不完整。本例中是因为缺少表MaterialAppealVouch,而该表是通过补丁程序发放的。因此,打全补丁是至关重要的。–【解决】对两个年度的帐套除使用hotfix文件外还要使用库存管理模块补丁包中的补丁20结转上年数据III•结转时提示:系统产品被非法删除不能结转上年数据!–【分析】该现象多发生于:2005年不建立年度账,继续做2006年业务单据;或建立年度账后,先不结转,2006年做新业务,随后再结转财务数据。这种情况有可能出现基础档案上下年对不上的情况,需要做相应的删除或增加。–【解决】(转下页)21结转上年数据III•结转时提示:系统产品被非法删除不能结转上年数据!–(接上页)【解决】查看各基础档案信息是否存在上下年不同步现象。可参照如下脚本(列示部分内容,其他类同):--查看客户档案上下年是否同步SELECTcCusCodeFROMUFDATA_100_2005..customerWHEREcCusCodeNOTIN(SELECTcCusCodeFROMcustomer)Go--查看存货档案上下年是否同步SELECTcInvCodeFROMUFDATA_100_2005..inventoryWHEREcInvCodeNOTIN(SELECTcInvCodeFROMinventory)Go22结转上年数据IV•在12月期末处理时,提示“尚有暂估报销单据未进行结算成本处理”,而在结算成本处理时,或者选出单据却不能进行暂估处理,或者就根本没有单据被过滤出来?–【分析】这个问题在年结时比较普遍。实际上,并非年结的问题,是12月末的业务处理问题,但如果该步骤不能顺利进行,则无法继续年结。那么造成该现象的原因是什么呢?(转下页)23结转上年数据IV•在12月期末处理时,提示“尚有暂估报销单据未进行结算成本处理”,而在结算成本处理时,或者选出单据却不能进行暂估处理,或者就根本没有单据被过滤出来?–【原因】造成该现象的原因多为采购结算单子表bAccount字段有误:已经结算过的入库单,并且做过结算成本处理后,在采购结算表中,baccount字段应为1,但数据中存在部分记录该字段为0,调整的方法是通过联查Ia_subsidiary表的bflag字段的状态,进行修改。如果该字段为0,则可能是暂估成本处理后,做过恢复记账再记账操作,此时该入库单不再被认为是暂估。如果该字段为1和2,并且成对出现(红蓝回冲单),则表示该单据已经暂估处理过。总之,这两种情况需要修改pursettlevouchs表的bAccount字段。24结转上年数据IV•在12月期末处理时,提示“尚有暂估报销单据未进行结算成本处理”,而在结算成本处理时,或者选出单据却不能进行暂估处理,或者就根本没有单据被过滤出来?–【解决】查询结果及更新语句1)查看bflag状态的语句如下:selectbflag,*fromia_subsidiaryajoin(selectrdrecords.*fromrdrecordjoinrdrecordsonrdrecord.id=rdrecords.idwhererdrecords.autoidin(selectpursettlevouchs.irdsidfrom((rdrecordinnerjoinrdrecordsonrdrecord.id=rdrecords.id)leftjoinpursettlevouchsonrdrecords.autoid=pursettlevouchs.irdsid)where(notrdrecord.caccounterisnull)andpursettlevouchs.bAccount=0andisnull(rdrecords.iquantity,0)=isnull(rdrecords.isquantity,0)))bona.id=b.autoid2)更新pursettlevouchs表的bAccount字段的语句如下:updatepursettlevouchssetbAccount=1from((rdrecordinnerjoinrdrecordsonrdrecord.id=rdrecords.id)leftjoinpursettlevouchsonrdrecords.autoid=pursettlevouchs.irdsid)where(notrdrecord.caccounterisnull)andpursettlevouchs.bAccount=0andisnull(rdrecords.iquantity,0)=isnull(rdrecords.isquantity,0)25结转上年数据V•结转过程中至存货核算时,提示结转失败,无更详细描述–【分析】这种情况比较复杂,可能出现的问题基本都在数据本身逻辑性的错误,因此不易判断。这里给出两个可能的错误情况,供参考。–【原因1】存货明细账中的数据记录不正确,如存在Inventory表中没有的存货在Ia_Subsidiary、Ia_Summary、CurrentStoct等相关表中有记录。需要清除该记录–【解决1】使用脚本清除记录(列示部分,其余类同);或将档案补充完整。deletefromia_subsidiarywherecinvcodenotin(selectcinvcodefrominventory)26结转上年数据V•结转过程中至存货核算时,提示结转失败,无更详细描述–【原因2】对于使用先进先出记价方式的数据,有可能计价辅助数据表中数据有误,比如造成某

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功