对公业务对公活期存款详细设计.docx

上传人:b****6 文档编号:8653900 上传时间:2023-02-01 格式:DOCX 页数:40 大小:34.94KB
下载 相关 举报
对公业务对公活期存款详细设计.docx_第1页
第1页 / 共40页
对公业务对公活期存款详细设计.docx_第2页
第2页 / 共40页
对公业务对公活期存款详细设计.docx_第3页
第3页 / 共40页
对公业务对公活期存款详细设计.docx_第4页
第4页 / 共40页
对公业务对公活期存款详细设计.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

对公业务对公活期存款详细设计.docx

《对公业务对公活期存款详细设计.docx》由会员分享,可在线阅读,更多相关《对公业务对公活期存款详细设计.docx(40页珍藏版)》请在冰豆网上搜索。

对公业务对公活期存款详细设计.docx

对公业务对公活期存款详细设计

对公活期存款详细设计

 

作者:

陈丞

日期:

2011-04-19

 

长天集团专业技术开发机构

地址:

北京海淀区学院路40号大唐电信研八楼2层

邮编:

100083

电话:

(010)62304911

传真:

(010)62304992

 

维护日期

维护人

维护内容

2011-02-25

陈丞

创建此文档,编写4001交易详设

2011-04-25

阎金金

编写4201到4303的详设

引言

相关交易

对公活期存款开户(4001)

对公活期存款续存(4201)

对公活期存款支取(4202)

对公活期存款销户(4101)

对公活期存款存折挂失销户(7119)

补登数据移植未登记支票

对公活期存款结息(4103)

对公活期存款帐户维护(4303)

对公活期授权取现(4329)

对公活期取款挂待销帐

对公帐户科目调整

功能概述

用于对公活期存款帐户开户

名词解释

1、基本存款帐户。

它是存款人办理日常转帐结算和现金收付的主要的帐户。

有关现金的支取和发放工资只能在基本帐户办理。

按人民银行的规定,每一单位只能向银行开立一个基本帐户。

2、一般存款帐户。

它是存款人在基本帐户以外的其他银行办理转帐结算、借款转存和现金缴存的帐户。

它可以是存款人不在同一地点的附属非独立核算单位开立的帐户或因贷款需要而开立的。

该帐户不能支取现金。

3、临时存款帐户。

它是存款人因临时经营活动需要而开立的帐户。

它一般是存款人在外地开立的,该帐户可以办理转帐结算和办理现金收付。

4、专用存款帐户。

它是存款人因特殊资金用途而需要开立的帐户。

比如基本建设资金户,用于专项存储基本建设项目的投资费用,固定资产更新改造资金户,用于技术改造设备更新的专项支出。

5、代销帐。

6、组合交易。

7、挂失止付。

8、挂失解止付。

新增交易

4001对公活期存款开户

功能描述

业务与权限

输入接口

O40011:

录入项

字段

类型

必输

说明

CUNO

客户号

char(10)

ITCD

业务代号

char(3)

CYNO

货币代号

char

(2)

CTFG

钞汇标志

char

(1)

FTTP

浮动类型

char

(1)

FTVA

浮动值

char(9)

BAFG

基本帐户标记

char

(1)

THFG

通存通兑标识

char

(1)

STAC

统计代码

char(8)

DERP

存款联系人

char(8)

EVNO

借据号

char(16)

BSTY

业务类型(帐户用途)

char

(1)

IDDT

资格有效期

char(8)

EFDT

生效日期

char(8)

输出接口

O40012:

录入项

字段

类型

必输

说明

ACNO

帐号

char(20)

CUNM

客户中文名

char(62)

STIN

基准利率

char(9)

PFIR

优惠利率

char(9)

IFNM

业务代号名

char(62)

TLSQ

柜员流水号

char(12)

BAFG

基本帐户标记

char

(1)

O40013:

录入项

字段

类型

必输

说明

CUNO

客户号

Char(10

ACNO

帐号

Char(20)

CUNM

客户中文名

Char(62)

流程逻辑

前台

后台

1.获取公共数据(机构,日期,交易日期,柜员)

2.如果为sBAFG为临时存款户,对输入的有效期stIn.sIDDT进行合法性检查

如果有效日期为空或者为“18991231”,

则报错返回。

如果有效期比当前交易日期大于两年,

则报错返回。

如果有效期小于交易日期,

则报错返回。

3.业务代号检查

a)如果账户用途sBSTY为验资专户转基本户时,并且业务代号sITCD为949

报错返回。

4.检查客户号是否存在及状态是否正常

查询客户信息表

strcpy(CDCIA_CUNO,stIn.sCUNO);

iResult=FDBSelCDCIAI3();

如果客户信息记录状态不正常,

则报错返回

5.检查选择账户类型是否符合开户条件

(基本户只能有一个;同一机构不允许同时开设一般户和基本户)

●如果输入stIn.sBAFG选择开基本户,

查询主文件中是否已有状态正常的基本户记录,有则报错。

strncpy(ESMCA_BAFG,stIn.sBAFG,BAFG_LEN);

FDBSelESMCAsI6(1,MAXRECNUM,0,"",stEsmca,MAXRECNUM*sizeof(TBL_ESMCA),&iRecNum);

如果记录数iRecNum>0,报错返回。

●如果输入stIn.sBAFG选择开基本户,

查询主文件中是否有状态正常且在同一机构的一般户,有则报错。

strcpy(ESMCA_BAFG,"1");

FDBSelESMCAsI6();

循环取查询返回记录的机构,如果与当前机构同,

则计数器iNUM+1

如果计数器iNUM>0

报错返回。

6.检查输入的业务代号

●查询业务代号表,检查业务代号

strncpy(GDIFA_ITCD,stIn.sITCD,ITCD_LEN);

FDBSelGDIFAI1();

如果业务代号科目存储GDIFA_ITAT非对公“C”

则报错“业务代号[%s]科目属性不正确”,返回。

如果业务代号开户标志GDIFA_SAFG不为“1”

则报错“业务代号[%s]不能开户”,返回。

●如果输入业务代号为258

查询交易机构表,检查机构级别

如果机构级别不为分行即“1”

则报错“仅分行可以开设258科目帐户”,返回。

●查询活期主文件中该客户在当前机构开的的258专户记录数。

EXECSQLselectcount(*)into:

iCountfromesmcawhereitcd="258"andcuno=:

sCUNOandcyno=:

sCYNOandsbno=:

sSBNOandstcd="0";

如果有记录(即iCount!

=0),则报错返回。

7.检查货币代号及机构开设币种权限

●查询币种代号表

strncpy(GDCYA_CYNO,stIn.sCYNO,CYNO_LEN);

FDBSelGDCYAI1();

不存在则报错返回。

●检查机构是否可以开设该种币种

strncpy(GDSYA_CYNO,stIn.sCYNO,CYNO_LEN);

strncpy(GDSYA_SBNO,sSBNO,SBNO_LEN);

FDBSelGDSYAI2()

不存在则报错返回。

8.检查币种和账户标志是否相符

●如果开户币种为人民币

如果开户类型不为‘0’,‘1’,‘2’,‘3’,则报错。

●否则(开户币种为外币)

如果开户类型为为‘0’,‘1’,‘2’,‘3’,则报错。

9.生成帐号

生成帐号序号

sprintf(str,"SACSQ%s%s%s",sSBNO,stIn.sCYNO,stIn.sITCD);

FMIMakSEQU(str,&lSEQU)

生成帐号

sprintf(sACSQ,"%0*ld",ACSQ_LEN,lSEQU);

PutDDU("ACSQ",&sACSQ);

PutDDU("SBNO",&sSBNO);

PutDDU("UTNO",&sUTNO);

PutDDU("CYNO",&stIn.sCYNO);

PutDDU("ITCD",&stIn.sITCD);

PutDDU("ITAT",GDIFA_ITAT);

BACMakAcno()

GetDDU("ACNO",sACNO);

10.产生柜员流水号

if(FAIL==FKNGetTlsq())returnFAIL;

GetPDA("TLSQ",&sTLSQ);

11.如果货币为人民币,则钞汇标志为钞户

if(0==strcmp(stIn.sCYNO,"01")){

strcpy(stIn.sCTFG,"0");

}

12.登记开销户登记薄

strncpy(ESOCA_CUNO,stIn.sCUNO,CUNO_LEN);

strncpy(ESOCA_ACNO,sACNO,ACNO_LEN);

strncpy(ESOCA_SBNO,sSBNO,SBNO_LEN);

strncpy(ESOCA_CYNO,stIn.sCYNO,CYNO_LEN);

strncpy(ESOCA_ITCD,stIn.sITCD,ITCD_LEN);

strncpy(ESOCA_STCD,"0",STCD_LEN);

if(FAIL==FDBInsESOCA()){

returnFAIL;

}

13.插入分户账主文件

strncpy(ESMCA_ACNO,sACNO,ACNO_LEN);

strncpy(ESMCA_SBNO,sSBNO,SBNO_LEN);

strncpy(ESMCA_UTNO,sUTNO,UTNO_LEN);

strncpy(ESMCA_CYNO,stIn.sCYNO,CYNO_LEN);

确定执行利率

如果是计息业务代号,

FMIGetGDRT(stGDRT_IN,&stGDRT_OUT)

根据输入利率浮动方式,计算输出利率

if(FAIL==FDBInsESMCA()){

returnFAIL;

}

14.登记对公活期辅表ESHCH

strncpy(ESMCH_ACNO,sACNO,ACNO_LEN);

strncpy(ESMCH_STCD,"0",STCD_LEN);

strncpy(ESMCH_BSTY,stIn.sBSTY,BSTY_LEN);

strncpy(ESMCH_TRDT,sTRDT,TRDT_LEN);

if(FAIL==FDBInsESMCH()){

returnFAIL;

}

15.登记非账务日志

memset(&stNFTJA,0,sizeof(stNFTJA));

strcpy(NFTJA_CATY,"0");

strcpy(NFTJA_ACNO,sACNO);

strcpy(NFTJA_TRCD,"4001");

strcpy(NFTJA_USID,sUSID);

strcpy(NFTJA_TLSQ,sTLSQ);

strcpy(NFTJA_TRDT,sTRDT);

strcpy(NFTJA_TBNM,"esmca");

NFTJA_RCNM=1;

strcpy(NFTJA_OPFG,"I");

strcpy(NFTJA_STCD,"Z");

if(FAIL==FDBInsNFTJA()){

returnFAIL;

}

16.外币登记账户附加信息表

如果开户币种为外币,登记帐户附加信息表

strncpy(EAIFA_ACNO,sACNO,ACNO_LEN);

strncpy(EAIFA_EVNO,stIn.sEVNO,EVNO_LEN);

strncpy(EAIFA_UPDT,sTRDT,TRDT_LEN);

strcpy(EAIFA_BAFG,stIn.sBAFG);

strcpy(EAIFA_STCD,"0");

if(FAIL==FDBInsEAIFA()){

returnFAIL;

}

17.组织输出

涉及库表及其关系

对公开销户登记簿ESOCAINSERT

对公活期主文件ESMCAINSERT

对公活期辅表ESMCHINSERT

非帐务日志NFTJAINSERT

账户附加信息表EAIFAINSERT

货币代号表GDCYASELECT

业务科目对照表GDIFASELECT

机构币种表GDSYASELECT

打印说明

注意事项

可能的错误代码和信息

会计分录

4201对公活期存款存入

功能描述

用于对公活期存款帐户存入

业务与权限

输入接口

O42011:

录入项

字段

类型

必输

说明

ACNO

账号

char(20)

CYNO

币种

char

(2)

CETY

凭证种类

char

(2)

TRAM

交易金额

pointer

SMCD

摘要

char(22)

MNSC

资金来源

char

(1)

CICD

现金项目业务代号

char(10)

输出接口

O42012:

录入项

字段

类型

必输

说明

ACNO

帐号

char(20)

CUNM

客户中文名

char(62)

CYNO

币种

char

(2)

TRAM

交易金额

pointer

ACBL

余额

pointer

TLSQ

柜员流水号

char(12)

流程逻辑

前台

后台

18.获取公共数据(机构,日期,交易日期,柜员)

19.拼出完整的凭证号:

凭证种类(CETY)+00000000000;

20.如果不是组合交易,对存取款金额检查

如果存入金额为0,

则报错返回。

21.对资金来源进行检查

如果资金来源不是现金、代销账、组合交易

则报错返回。

22.检查帐号及帐号机构(同一清算中心才能通存)

如果账号数据放入数据单元出错,

则报错返回。

如果查询帐号解析信息失败,

则报错返回。

如果获取数据单元数据失败,

则报错返回。

如果科目存储不是对公活期或内部帐

则报错返回

如果根据营业机构号和账号营业机构查询出的清算中心号不相同且营业机构号不为0001

则报错返回。

23.调用记帐核心记帐

FKNInitMst(&stSchMain);

FKNinitApp(&stInputApp);/

Ø现金

if(0==strcmp(stIn.sMNSC,"0")){

strcpy(stSchMain.mnsc,"0");

strcpy(stSchMain.acif.acno,stIn.sACNO);

stSchMain.tram[0]=stIn.dTRAM;

strcpy(stInputApp.stSchApp[0].acno,stIn.sACNO);

strcpy(stInputApp.stSchApp[0].psfg,"10000000");

strcpy(stInputApp.stSchApp[0].trkd,"");/*对方会计分录*/

strcpy(stInputApp.stSchApp[0].mnsc,"0");/*对方会计分录*/

strcpy(stInputApp.stSchApp[0].mndn,"");/*对方会计分录*/

stInputApp.stSchApp[0].vino=1;/*对方会计分录*/

strcpy(stInputApp.stSchApp[0].trfg,"1");/*1-分录表取对方信息(内部帐拼帐户)*/

strcpy(stInputApp.stSchApp[0].oaty,"9");/*对方账户种类*/

stInputApp.iNum=1;

}

Ø代销帐

if(0==strcmp(stIn.sMNSC,"2")){

strcpy(stSchMain.mnsc,"2");

strcpy(stSchMain.acif.acno,stIn.sACNO);

strcpy(stSchMain.dasq,stIn.sDASQ);

stSchMain.tram[0]=stIn.dTRAM;

strcpy(stInputApp.stSchApp[0].acno,stIn.sACNO);

strcpy(stInputApp.stSchApp[0].psfg,"10000000");

strcpy(stInputApp.stSchApp[0].dasq,stIn.sDASQ);/*对方帐户*/

strcpy(stInputApp.stSchApp[0].trfg,"3");/*通过帐号取相应信息*/

strcpy(stInputApp.stSchApp[0].oaty,"0");/*对方账户种类*/

stInputApp.iNum=1;

}

Ø组合交易

if(0==strcmp(stIn.sMNSC,"9")){

strcpy(stSchMain.mnsc,"9");

strcpy(stSchMain.acif.acno,stIn.sACNO);

if(stIn.dTRAM==0.0){

GetPDA("VLAM",&stIn.dTRAM);

}

stSchMain.tram[0]=stIn.dTRAM;

}

strcpy(stSchMain.cicd,stIn.sCICD);

strcpy(stSchMain.smcd,stIn.sSMCD);

strcpy(stSchMain.ccno,sCCNO);

if(FAIL==BKNSchMainAPP(&stSchMain,&stInputApp))returnFAIL;if(FAIL==funcZeroIncome(stIn.sACNO,stIn.dTRAM)){

returnFAIL;

24.组织输出

涉及库表及其关系

对公活期主文件ESMCAUPDATE

对公活期当日明细文件ESDCAINSERT

传票文件ADSVAINSERT

机构表GDSBASELECT

凭证信息文件EVI0ASELECT

打印说明

注意事项

可能的错误代码和信息

会计分录

借现金、待销帐;

贷客户帐;

4202对公活期存款支取

功能描述

用于对公活期存款帐户、折户现金支取

业务与权限

输入接口

O42021:

录入项

字段

类型

必输

说明

ACNO

账号

char(20)

CETY

凭证种类

char

(2)

CEBN

凭证批号

char

(1)

CCSQ

凭证序号

char(8)

TRAM

交易金额

decimal(13,2)

SMCD

摘要

char(22)

MNDN

资金去向

char

(1)

CICD

现金项目业务代号

char(10)

输出接口

O42022:

录入项

字段

类型

必输

说明

CUNM

客户名

char(62)

ACNO

帐号

char(20)

BAFG

基本帐户标记

char

(1)

CYNO

币种

char

(2)

TRAM

交易金额

decimal(13,2)

ACBL

余额

decimal(13,2)

TLSQ

柜员流水号

char(12)

流程逻辑

前台

后台

25.获取公共数据(机构,日期,交易日期,柜员)

26.帐号检查

Ø如果不是对公活期或者内部帐,

则报错退出。

Ø如果是对公活期账号,但是账号未找到,

则报错退出;

否则获取客户中文名、货币代号、基本账号标志。

Ø如果是内部账号,但是账号未找到,

则报错退出;

否则获取帐户中文名、货币代号。

27.根据营业机构号和账户营业机构查询清算中心代号

a)如果清算中心不同

i.如果营业机构号不是总行

1.如果凭证不是一票通

a)则报错退出。

b)否则如果资金去向是现金并且不通兑并且营业机构号不符

i.则报错退出。

28.凭证为一票通

a)查询CCVSI库表并进行合法性检查,若有错,

i.则报错退出。

29.资金来源检查

a)如果资金来源不是现金、内部帐、组合交易

i.则报错退出。

30.存款金额检查

a)如果存款金额小于零

i.则报错退出。

31.资金去向是现金,账户为对公活期,判断交易能否继续进行(通存通兑额度是否足够)

a)查询机构表并进行合法性检测,若出错

i.则报错退出。

b)查询机构通存通兑限额表,若出错

i.则报错退出。

c)如果机构通存通兑限额表无纪律则查找上级行记录

i.若查找GDSBA机构表失败或记录状态不正常

1.则报错退出。

32.查询ESDPA,获得当日的取现金额,取现笔数

a)如果查询ESDPA出错

i.则报错退出。

b)如果找到记录并且交易日期匹配

i.则获取本CCPC小额支付业务收费金额和挂帐核销退汇汇总笔数

33.如果取现额度和最大笔数超过限定数值

a)则报错退出。

34.拼凭证号码----凭证号码=凭证种类+分行代码+凭证批号+凭证序号

a)sprintf(sCCNO,"%2s%2s%1s%8s",stIn.sCETY,stIn.sFHID,stIn.sCEBN,stIn.sCCSQ);

35.检查凭证是否使用,调用凭证核心

a)对重要空白凭证调用客户凭证存款合法性检查底层构件,若出错

i.则报错返回。

b)判断支付条件是否为凭密码支付,若是,

i.则将验证支付密码输入输出参数初始化。

c)凭证合法性检测,若出错

i.则报错退出。

36.调用核心记账程序

a)现金

i.if(0==strcmp(stIn.sMNDN,"0")){

ii.FKNInitMst(&stSchMain);

iii.strcpy(stSchMain.mndn,stIn.sMNDN);

iv.strcpy(stSchMain.acif.acno,stIn.sACNO);

v.if(strcmp(sITAT,"C")==0){

vi.if(FAIL==funcZeroExpense(stIn.sACNO,stIn.dTRAM)){

vii.returnFAIL;

viii.}

ix.}

x.strcpy(stInputApp.stSchApp[0].acno,stIn.sACNO);

xi.strcp

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1