用友NC各版本升级常见问题
问题描述:
有未处理完毕的资金调拨单,不能升级
解决方案:
使用下面的语句进行原因查找原因
Select pk_transfer, transferstatus from fts_transfer where transferstatus not in(3,4) and nvl(dr,0)=0
发现有233条记录存在
解决步骤:
1.登录福建高速公路资金结算中心
2.资金管理->资金结算->银行业务->资金调拨单,把未做完的业务做完
问题描述:
1001公司 项目类型 有个项目类型叫供应商
解决办法:
修改这个叫供应商的项目类型的名称,即可
问题描述:
查看后台日志,找到出错信息
[http-10.0.1.55-666-Processor23] 10.0.8.88 1708 2009/05/22 12:16:20 [accountmanage] ERROR - ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
IBM AIX RISC System/6000 Error: 2: No such file or directory
java.sql.SQLException: ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
解决办法:
这是数据库服务出问题了,最简单的办法就是重启oracle服务。
问题描述:
数据断开了
1. 查看后台日志:
[http-807-Processor25] 192.168.18.28 2562 2009/04/18 16:46:38 [accountmanage] ERROR - When send the result to client error occured
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error
解决办法:
重启oracle服务
问题描述:
原因:
1)iufo升级失败
2)iufo数据没有配正确。
3)update iufo_unitprop set sys_tag=0 where column_name='level_code'
问题描述:
解决办法:
运行select * from fts_calendarlog where (closer is null or downer is null) and nvl(dr,0)=0
发现没有日结和关机
把图片上面的未处理业务处理掉。
问题描述:
解决办法:
打上补丁nc5.02_uapcheck.zip
步骤:
1.在NC5.02代码上打上uap-bd的检查补丁
2.升级帐套
3.在二次开发工具结点下,会出现基本档案升级检查节点,
4.通过此节点检查结算单位、内部客商是否合法。
5.对于非法数据可以直接在此界面修改。
问题描述:
错误提示:ORA-00932: 数据类型不一致: 应为 CLOB, 但却获得 BLOB
解决办法:
alter table ntb_sd_cellmodel drop column cellformat
alter table ntb_sd_cellmodel add cellformat VARCHAR2(200)
select * from ntb_sd_cellmodel
commit;
问题描述:
NC正常的升级处理逻辑是:原账户档案中账户标志为“银行外部”的公司级档案,其“银行帐号”字段与原开户银行档案升级后的创建主体为公司的银行账户多对一的,即,多个账户档案(Ha,Hb,Hc…)对应同一银行帐号(H)的à 分两步:
(1)原多个账户档案所对应的银行账号(H)升级为一个银行账号;
(2)分别按多对一的关系将每个账户档案(Ha,Hb,Hc…)升级为多个对应同一“银行帐号”(H)的不同的管理账户档案,账户编码=账户编码、账户名称=账户名称、对应主账号=银行帐号H。
但客户升级前的实际应用情况是,客户账户档案上的银行帐号是随意选取的,这种情况以后对资金上线也留下了隐患。客户是以账户档案的编码和名称作为依据的, 虽然引用了同一个银行账户,但实际与账户是不符,这样就造成了升级后所有引用了相同银行帐号的账户“开户银行为一个”“管理账户为多个”。这样的数据经过 脚本检查有136个管理账户对应32个开户银行。
解决办法:
UAP的调整脚本
1.开户银行与账户档案一对多关系:
create table bd_temp as select pk_bankaccbas from bd_bankaccbas
where pk_bankaccbas in
(select pk_accid from bd_accid where pk_accbank is not null and accflag=1 and pk_corp <>'0001' and pk_accbank in
(select b.pk_accbank from bd_accbank a inner join bd_accid b on
a.pk_accbank=b.pk_accbank where b.pk_corp<>'0001'
group by b.pk_accbank having count(*)>1));
insert into bd_bankaccauth (pk_bankaccauth,pk_bankaccbas,pk_corp,QUERYPOWERFLAG,ISAUTHEDUSEPOWER,USEPOWERFLAG,ts,dr)
select pk_bankaccbas,pk_bankaccbas,pk_corp,'Y','Y','Y','2009-05-31 23:24:45',0
from bd_bankaccbas where pk_bankaccbas in (select pk_bankaccbas from bd_temp);
update bd_bankaccbas set mainaccount=null,account=accountcode,ownercorp=pk_corp
where pk_bankaccbas in (select pk_bankaccbas from bd_temp);
drop table bd_temp;
2.开户银行与账户档案一对一关系:
create table bd_temp as
(select accidcode,accidname,pk_accbank from bd_accid where pk_accbank is not null and accflag=1 and pk_corp <>'0001' and pk_accbank in
(select b.pk_accbank from bd_accbank a inner join bd_accid b on a.pk_accbank=b.pk_accbank where b.pk_corp<>'0001'
group by b.pk_accbank having count(*)=1));
update bd_bankaccbas set account=(select accidcode from bd_temp where bd_bankaccbas.pk_bankaccbas=pk_accbank),
accountcode=(select accidcode from bd_temp where bd_bankaccbas.pk_bankaccbas=pk_accbank),
accountname=(select accidname from bd_temp where bd_bankaccbas.pk_bankaccbas=pk_accbank)
where pk_bankaccbas in (select pk_accbank from bd_temp);
drop table bd_temp;
3.客户的错误数据,开户银行既当作自有账号用又当作交易账号用
第一步,先把升级后的客商银行账户改为银行账户
update bd_bankaccbas set accclass=2 where pk_bankaccbas in
(select pk_accbank from bd_accbank where netbankflag=1 and pk_accbank in
(select pk_accbank from bd_custbank where pk_cubasdoc in
(select pk_cubasdoc from bd_cubasdoc where custprop=0))
第二步:去集团给相应的公司授查询权
第三步:
update gl_freevalue set checkvalue =
(select pk_accbank from bd_accbank where pk_accbank in (select pk_accbank from bd_accid where pk_accid = checkvalue) )
where checkvalue in (select pk_accid from bd_accid)
commit;