中国××银行外汇清算系统详细设计说明书一、系统概述●编写目的编写本说明书是为了明确外汇清算系统的设计方案,以及系统代码设计时应遵循的框架、规程和要求等,并作为外汇清算系统开发和维护的参考文档。
本说明书的读者对象为项目管理者、项目设计开发者和项目验收者。
项目背景●项目背景●本项目系统全称:《中国××银行外汇清算系统》;●本项目任务提出者:中国××银行总行;●本项目开发者:XX电脑;●本项目最终用户:中国××银行总行外汇清算业务员;●本项目目标: 完成符合《中国××银行外汇清算需求书》的要求,解决××银行全行外汇业务信息发出和接收进行分拣及帐务处理。
二、系统环境系统运行环境硬件为每个使用外汇清算系统的人员一台工作站,若干台工作站连接到并共享一台服务器:●工作站(P200以上CPU 、32M以上存、网卡),中文Windows95/98/NT/2000;安装Delphi BDE SYBASE CLIENT等;●服务器NT或UNIX服务器(P3/450以上CPU 、128M以上存、网卡),安装SYBASESERVER 11.5或更高版本。
●数据库名称:SWIFTDB●前台运行文件名称:MSClearing.exe●应用程序服务器运行文件名称:MSAppServer.exe三、参考文档●《中国××银行外汇清算需求书》●《中国××银行外汇清算系统总体设计说明书》●《中国银行SWIFT实用手册》(第二版)●《SWIFT Standars September2000 edition》MSClearing.exe MSClearing.exe四、网络结构五、数据库设计●数据库各表结构描述(暂定,以附件的为准)USERAUTH用户权限表说明:用户权限的设置流程同用户资料表,若要修改用户权限,用户资料表的相应用户记录的状态标记、复核授权标记要相应置位数据库存储过程描述备注存储过程名称 传入参数 传出参数 功能说明相关数据库表 备注Sp_CheckRepeat 天数,默认为 30 天 无 将总行新制作的电文、分行发给总行的电文与指定天数的有效电文进行比 较,对每笔新电文设置重复标记SWIFTPUB存储过程名称 传入参数 传出参数 功能说明 相关数据库表 备注Sp_AutoTick 无 无 电文自动撮合 SWIFTPUB存储过程名称 传入参数 传出参数 功能说明 相关数据库表 备注Sp_AutoCloseDibit 无 无 电文自动勾对(汇出汇款) SWIFTPUB存储过程名称 传入参数 传出参数 功能说明 相关数据库表 备注Sp_AutoCloseCredit 无 无 电文自动勾对(汇入汇款) SWIFTPUB存储过程名称 传入参数 传出参数 功能说明相关数据库表 备注Sp_Backup 无 无 将总行新制作的电文、分行发给总行的电文与指定天数的有效电文进行比 较,对每笔新电文设置重复标记 SWIFTPUB六、 功能模块设计本系统设计的功能模块主要按照《中国××银行外汇清算需求书》中要求完成的功能进行结构化分类,以后的代码编写将按照结构化编程模式将功能模块逐一实现。
模块代码模块名称ReadOutSwift读行外收文、分拣ReadInSwift读行发文SwiftMake电文制作SendToAlliance SendToBranch电文发送到 SWIFT 系统 电文发送到分行UserServ用户资料管理UserAuth用户权限管理TranCode交易代码管理ErrorCode错误代码管理BackupTable主表数据传历史TickSwift电文撮合CloseDebitSwift CloseCreditSwift BanlanceServ汇出汇款核销(MT950/940 借记核销) 汇入汇款核销(MT950/940 贷记核销) 余额管理BanlanceServ1 BanlanceServ2 BanlanceServ3950/940 余额核对 950/940 余额与清算系统余额的核对 与核心系统的对帐ValueDateServ起息日管理BranchFundServ 分行存放总行备付金管理TransGrant业务授权控制ProgTip备忘录管理DailyTrans日常事务管理MenuContr菜单管理AccoProc帐务处理CheckMoney检查分行实付头寸是否超过总可付头寸CheckAccoBank 检查是否我行境外行CheckRepeat检查电文是否重发QueryServ查询模块ReportServ统计模块模块代码 模块名称 功能描述 实现方案ReadOutSwift读行外收文、分拣 从 SWIFT 系统中读入行外的来电,作为业务处理的原始依据 1、系统定时自动从指定磁盘路径读入外部电文文件 2、对读入的电文文件进行分析,提前电文类型、发报行、收报行、业务编号、货币、金额、起息日等数据,写入数据库,并设置相应状相关数据库表名 相关存储过程态标记 3、可重复读入,但系统根据电文的顺序号判断电文是否已经读入 SWIFTPUB 无模块代码 模块名称 功能描述 实现方案相关数据库表名 相关存储过程ReadInSwift 读行发文 从分行电文接口中读入分行发给总行的电文,作为业务处理的原始依 据,并转发发往行外的电文到 SWIFT 系统 1、 系统定时自动接口读入分行电文 2、 对读入的电文文件进行分析,提前电文类型、发报行、收报行、业务编号、货币、金额、起息日等数据,写入数据库,并设置相应状 态标记 3、 对系统判断为可能重复的电文,给出提示并由操作员确定 SWIFTPUBSp_CheckRepeat模块代码 模块名称 功能描述实现方案相关数据库表名 相关存储过程SwiftMake 电文制作 根据电文类型,制作符合 SWIFT 系统格式的电文,用于发送到 SWIFT 系统和生产部电文发送给分行 1、根据电文类型显示电文录入界面 2、对录入资料进行完整性、合法行检查 3、保存 SWIFTPUB 无模块代码 模块名称 功能描述实现方案相关数据库表名 相关存储过程SendToAlliance 发送电文到 Alliance 1.将收到的分行国际结算系统发往行外的电文通过 SWIFT 系统发送到行外 2.将系统制作生成的待发往行外的电文通过 SWIFT 系统发送到行外 写电文到 PC-CONNECT 机器上的指定磁盘目录,由 PC-CONNECT 处 理发送SWIFTPUB 无模块代码 模块名称 功能描述实现方案 相关数据库表名SendToBranch 发送电文到分行国际结算系统 1.将行外发给分行的电文转发给分行国际结算系统 2.将系统生产的待发送给分行的部电文发送给分行国际结算系统 3.将无法处理的分行电文退回 发送电文到分行电文接口SWIFTPUB相关存储过程无模块代码 模块名称 功能描述实现方案相关数据库表名 相关存储过程UserServ 用户资料管理 1、显示用户资料列表 2、用户资料维护 3、用户权限维护 用户资料保存在数据表 USERINFO 中,USERINFO 与 USERAUTH 的 关系是一对多的主从关系 USERINFO,USERAUTH 无模块代码 模块名称 功能描述 实现方案相关数据库表名 相关存储过程AuthServ 权限控制 权限控制,控制某个用户可做的交易 用户提交一项交易前,先调用该模块,根据用户号和交易代码,在数 据表 USERAUTH 中查找用户是否有该项交易的权限 USERINFO、USERAUTH、TRANCODE 无模块代码 模块名称 功能描述实现方案 相关数据库表名 相关存储过程TranCode 交易代码管理 1、显示交易代码列表,供查询 2、交易代码用于用户权限检查,每一个用户可使用的交易与交易代码关联 在系统定义交易代码常量,每种交易代码对应一项交易TRANCODE 无模块代码 模块名称 功能描述实现方案 相关数据库表名 相关存储过程ErrorCode 错误代码管理 1、显示错误代码列表供查询 2、根据错误代码,返回错误信息ERRCODE 无模块代码BackupTable模块名称 功能描述实现方案 相关数据库表名 相关存储过程电文转历史数据 在系统运行一段长时间后,电文交易主库的记录数量太大,影响查询 速度,可考虑把某一时间段前的记录倒入历史表中,统计查询应将历 史库考虑在 建立与主表结构相同的历史表,每隔一段时间将指定天数以前的已处 理完成记录倒入历史库,并从主表中删除 SWIFTPUB 、 SWIFTSERV 、 SWIFTPUB_HIS 、 SWIFTSERV_HIS 、 BACKUP_LOG Sp_Backup模块代码 模块名称 功能描述 实现方案相关数据库表名 相关存储过程TickSwift MT100、MT202、MT910 撮合 对于新收进的与汇入款项有关的报文,有效 MT100/103、有效 MT202(所 谓有效是指已判断款项所属分行)、MT910,都要先与已收存的另两类 报文撮合,相应确定是否将款项下划分行 撮合对象:MT100/103MT202MT100/103MT910 MT202MT910 撮合条件:币种、金额、起息日完全相同,MT100/103 的 20 项、MT202 的 21 项、MT910 的 21 项相符。
撮合方式分为自动撮合和手工撮合 1、自动撮合 调用存储过程 Sp_AutoTick,将满足撮合条件的电文标记相互关联标记 2、手工撮合 屏幕列出自动撮合不成功的三类电文,有操作员手工选择,并设置撮合标记撮合完成后,将款项下划分行(记分行帐,同时向分行发部 MT910 贷 记通知),所有撮合成功下划分行的款项,还需要与随后收到的行对帐 单(MT940/950)进行勾销 SWIFTPUB Sp_AutoTick模块代码 模块名称 功能描述 实现方案CloseDebitSwift 汇出汇款核销(MT940/950 借记核销)勾对对象:所有汇出款项(包括分行和总行)付款电文MT940/950 借方 部 MT900MT940/950 借方勾对条件:币种、金额、起息日、付款行完全一致,且 MT900 的相关业务编 号、付款摘要的业务编号与对帐单借方发生的业务编号相符。
以未核销的行 MT940/950 借方为依据: 1、、自动勾对 调用存储过程 Sp_AutoCloseDebit,将满足勾对条件的电文设 置关联标记 1、手工勾对 屏幕列出自动勾对不成功的电文,由操作员手工选择,并设置勾对标记对于经过手工勾对,仍无法勾对掉的借记发生,判断是否属于以下业务:1.费用 2.利息 3.自动投资 4.原错入帐冲回 5.排除了以上四种情况,对帐单上借方还有未勾对事项,手工制作报文向行发 MT199 查询电,并进行处理相关数据库表名 相关存储过程应有而未有的对帐单借记发生 手工勾对,在与对帐单上的所有借方发生相勾对后,如果仍然有未勾对掉的 汇出款项流水,则需发出提示,并选择是否向行发报查询。