中国银行(中行)交易明细重复问题处理思路及方案
1 问题描述
中国银行交易明细重复,一般是两条交易明细,两条的对方账号信息不一样。其他信息是一样的。
2 问题分析
这类问题一般是因为打了银企平台2024年1月的补丁,该补丁修复了一个问题,中行会将代理账号放在交易明细的对方账号中,这样就会导致对方账户信息取数不准。甚至有些交易明细的对方账户信息是空的。该参数在银企平台可以设置,如下图。该参数不能随意切换,否则会造成交易明细重复!!!
3 解决方法
此类问题解决起来比较麻烦,以下方式只适用于上述情况的中行交易明细重复,遇到该问题建议提单由总部处理:
该问题处理的核心逻辑是,将唯一主键id更新到已入账的交易明细中,再删除重复的交易明细:
1、先开启中行配置项“交易明细是否使用银行标识码做唯一性区分”,选为“是”
2、在银企平台查询交易明细中,勾选参数:立刻获取银行所有明细,查询重复时间段的交易明细(如果已有交易明细重复的数据,重复交易明细的唯一标识bank_only_id至少有一条会为null),此动作会触发第一步修改的参数,给交易明细赋予唯一码bank_only_id
3、执行数据库语句处理重复数据,此步骤需要修改脚本中的起始日期和终止日期,起始日期一般是出现重复交易明细的时间,终止日期一般是现在的时间。特别注意,起始日期之前的数据不要再进行联机查询或者在银企平台重新获取交易明细,否则之前的交易明细也会重复,处理起来就没完没了了!!!:
以银企数据库为sql server为例:
--1 备份需要处理的数据
select * into backupxxx from (select b.* from t_ebg_detailinfo a inner join t_ebg_detailinfo b on a.bank_version_id=b.bank_version_id and a.debit_amount=b.debit_amount and a.credit_amount=b.credit_amount and a.currency=b.currency and a.trans_date=b.trans_date and a.explanation=b.explanation and a.balance=b.balance and a.acc_no=b.acc_no and a.third_bank_name=b.third_bank_name where a.bank_version_id='BOC_NET' and a.trans_date>='起始日期' and a.trans_date<'终止日期' and a.bank_only_id is null) a where a.bank_only_id is not null
--2 删除已备份的数据
delete a from t_ebg_detailinfo a inner join backup0409 b on a.id=b.id
--3 将删除的数据的bank_only_id更新到未删除的数据中
update a set a.bank_only_id=b.bank_only_id from t_ebg_detailinfo a inner join backupxxx b on a.bank_version_id=b.bank_version_id and a.debit_amount=b.debit_amount
and a.credit_amount=b.credit_amount and a.currency=b.currency and a.trans_date=b.trans_date and a.explanation=b.explanation and
a.balance=b.balance and a.acc_no=b.acc_no and a.third_bank_name=b.third_bank_name
where a.bank_version_id='BOC_NET' and a.trans_date>='起始日期' and a.trans_date<'终止日期' and a.bank_only_id is null
4、银企平台删除了重复交易明细后,在eas将所有未入账的交易明细删除,重新联机获取交易明细。问题解决
5、此外,2024年1月补丁,可能会出现对方账号显示不全的问题,需要更新到2024年1月后的补丁
中国银行(中行)交易明细重复问题处理思路及方案
本文2024-09-22 20:19:55发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-112932.html