📄 cms619.sqc
字号:
/******************************************************************** ** 源码文件名称 : cms619.SQC ** 所属子系统 : CMS ** 当前文件版本 : 1.0.0.0 ** 作 者 : XL ** 版本创建日期 : 2004/10/26 ** 功能描述 : 卡片交易限额调整登记簿查询 ** 修改记录 : ** 修改人 修改日期 修改日期*********************************************************************/#include "sysdefine.h"#include <stdio.h>#include "pubcom.h"#include "funcapi.h"#include "code.h"#include "attrdef.h"#include "cmscode.h"#include "cmstlimtm.h"EXEC SQL INCLUDE SQLCA;/********************************************************* 函数名称: cms216019** 功能描述:卡片交易限额调整登记簿查询** 输入参数:** acBeginDate ---- 起始日期 ** acEndDate ---- 终止日期** acCardNo ---- 卡号** 输出参数:** acCardNo ---- 卡号 actrandate ---- 交易日期** acserseqno ----流水号 acvouchno ---- 登记簿编号 ** acTrandevType ---- 业务发生地类型 acCCY ---- 币种 ** acperiod ---- 周期长度 accashlimitamt---- 本周期取现限额** acdepolimitamt ---- 本周期存款限额 acconlimitamt ---- 本周期消费限额** actranoutlimitamt ----本周期转出限额 accashlimittime ----本周期取现次数** acdepolimittime ----本周期存款次数 acconlimittime ---- 本周期消费次数 ** actranoutlimittime ----本周期转出次数 acidtype ---- 证件类型** acidcode ---- 证件号码 accustname ---- 姓名/单位名称** acissuebrc ---- 发卡机构码 acteller ---- 发卡交易柜员** accardkind ---- 卡片种类 aclmtbrc ---- 调整机构码** aclmtteller ---- 调整交易柜员 aclmtauthteller ---- 授权交易柜员** 返回结果: ** 作 者 : XL ** 版本创建日期 : 2004/10/26** 修改记录 :** 修改人 修改日期 修改位置*******************************************************/int cms216019(pstPubcom)struct pubcom *pstPubcom;{ EXEC SQL BEGIN DECLARE SECTION; char acSelStr[ CONDITION_LEN + 1 ]; char acChName[BIT17_LEN + 1]; char acName[70 + 1]; EXEC SQL END DECLARE SECTION; struct cmstlimtm stCmsTlimtm; /* 卡片交易限额调整登记簿 */ char acCardNo[ CARDNO_LEN + 1 ]; /* 卡号 */ char acBeginDate[ DATE_LEN + 1 ]; /* 起始日期 */ char acEndDate[ DATE_LEN + 1 ]; /* 终止日期 */ char acTableName[PRDCODE_LEN + 1]; /* 表名称 */ char acFileName[FILENAME_LEN + 1]; /* 文件名称 */ char acWhrStr[ CONDITION_LEN + 1 ]; int iCount = 0; FILE *fp; /* 文件指针 */ sprintf( g_acTrcMsg,"卡片交易限额调整登记簿查询开始"); TRCLOG4 memset( acCardNo, 0x00, sizeof( acCardNo ) ); memset( acBeginDate, 0x00, sizeof( acBeginDate ) ); memset( acEndDate, 0x00, sizeof( acEndDate ) ); memset( acFileName, 0x00, sizeof( acFileName ) ); memset( acTableName, 0x00, sizeof( acTableName ) ); memset( acSelStr, 0x00, sizeof( acSelStr ) ); memset( acWhrStr, 0x00, sizeof( acWhrStr ) ); memset( acChName, 0x00, sizeof( acChName ) ); memset( acName, 0x00, sizeof( acName ) ); memset( &stCmsTlimtm, 0x00, sizeof( struct cmstlimtm ) ); /* 取数据字典 */ getstring( "CardNo", acCardNo ); getstring( "BeginDate1", acBeginDate ); getstring( "EndDate1", acEndDate); sprintf( g_acTrcMsg,"CardNo[%s]BeginDate1[%s]EndDate1[%s]",acCardNo,acBeginDate,acEndDate); TRCLOG3 sprintf( acSelStr, "select * from cmstlimtm" ); sprintf( acWhrStr, " where 1=1"); if ( strcmp ( acBeginDate, INITDATE ) ) { sprintf( acWhrStr+strlen(acWhrStr), " and trandate >= '%s'", acBeginDate ); } if ( strcmp ( acEndDate, INITDATE ) ) { sprintf( acWhrStr+strlen(acWhrStr), " and trandate <= '%s'", acEndDate ); } if ( strlen ( acCardNo ) > 0 ) { sprintf( acWhrStr+strlen(acWhrStr), " and cardno = '%s'", acCardNo ); } sprintf( acWhrStr+strlen(acWhrStr), " ORDER BY trandate,cardno, serseqno DESC" ); sprintf( acSelStr + strlen(acSelStr), " %s", acWhrStr ); strcpy( acTableName, "cms619" ); sprintf(acFileName, "%s%s%s", acTableName, pstPubcom->acBrc,pstPubcom->acTeller); fp = (FILE *)BeginFile( pstPubcom, acFileName ); if ( fp == NULL ) { strcpy( g_acRspMsg, "打开文件句柄出错!" ); pubCrtRspInfo( ); ERRLOG goto Exit; } /*组织查询字典*/ if(GetInqDict( fp , "216019" ) ) { ERRLOG goto Exit; } sprintf( g_acTrcMsg, "%s" ,acSelStr); TRCLOG3 /* 查询 */ EXEC SQL PREPARE pre1_cur FROM :acSelStr; if ( SQLCODE ) { strcpy( g_acRspCode, "CMS1A7" ); pubCrtRspInfo( SQLCODE ); ERRLOG goto Exit ; } EXEC SQL DECLARE cmstlimtm_cur CURSOR FOR pre1_cur; if ( SQLCODE ) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS110" ); pubCrtRspInfo("cmstlimtm",SQLCODE ); ERRLOG goto Exit ; } SQLOPENCUR(cmstlimtm_cur,"cmstlimtm_cur") if(SQLCODE) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS111" ); pubCrtRspInfo("cmstlimtm",SQLCODE ); ERRLOG goto Exit ; } for ( ; ; ) { EXEC SQL FETCH cmstlimtm_cur INTO R_CMSTLIMTM; if ( SQLCODE == SQLNOTFOUND ) break; if(SQLCODE) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS112" ); pubCrtRspInfo( "cmstlimtm",SQLCODE ); SQLCLOSECUR(cmstlimtm_cur,"cmstlimtm_cur") ERRLOG goto Exit ; } pubVtoSCmstlimtm(&stCmsTlimtm); memset( acChName, 0x00, sizeof( acChName ) ); memset( acName, 0x00, sizeof( acName ) ); /*根据币种代码取币种信息*/ pubInitPubcurrencyinfo(); EXEC SQL SELECT chname INTO :acChName FROM pubcurrencyinfo WHERE ccy = :cmstlimtm_ccy; if( SQLCODE && SQLCODE != SQLNOTFOUND ) { strcpy(g_acRspCode,"CMS112"); pubCrtRspInfo("pubcurrencyinfo",SQLCODE); ERRLOG SQLCLOSECUR(cmstlimtm_cur,"cmstlimtm_cur") goto Exit; } /*取渠道名称*/ EXEC SQL SELECT name INTO :acName FROM cmschannel WHERE trandevtype = :cmstlimtm_trandevtype; if( SQLCODE && SQLCODE != SQLNOTFOUND ) { strcpy(g_acRspCode,"CMS112"); pubCrtRspInfo("pubcurrencyinfo",SQLCODE); ERRLOG SQLCLOSECUR(cmstlimtm_cur,"cmstlimtm_cur") goto Exit; } fprintf ( fp, "\"%s\"~\"%s\"~%d~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~%d~%.2lf~%.2lf~%.2lf~%.2lf~%d~%d~%d~%d~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"\n", stCmsTlimtm.cardno, /* 卡号 */ stCmsTlimtm.trandate, /* 交易日期 */ stCmsTlimtm.serseqno, /* 流水号 */ stCmsTlimtm.vouchno, /* 登记簿编号 */ stCmsTlimtm.trandevtype, /* 业务发生地类型 */ acName, /* 业务发生地类型描述 */ stCmsTlimtm.ccy, /* 币种 */ acChName, /* 币种名称 */ stCmsTlimtm.period, /* 周期长度 */ stCmsTlimtm.cashlimitamt, /* 本周期取现限额 */ stCmsTlimtm.depolimitamt, /* 本周期存款限额 */ stCmsTlimtm.conlimitamt, /* 本周期消费限额 */ stCmsTlimtm.tranoutlimitamt, /* 本周期转出限额 */ stCmsTlimtm.cashlimittime, /* 本周期取现次数 */ stCmsTlimtm.depolimittime, /* 本周期存款次数 */ stCmsTlimtm.conlimittime, /* 本周期消费次数 */ stCmsTlimtm.tranoutlimittime, /* 本周期转出次数 */ stCmsTlimtm.idtype, /* 证件类型 */ stCmsTlimtm.idcode, /* 证件号码 */ stCmsTlimtm.custname, /* 姓名/单位名称 */ stCmsTlimtm.issuebrc, /* 发卡机构码 */ stCmsTlimtm.teller, /* 发卡交易柜员 */ stCmsTlimtm.cardkind, /* 卡片种类 */ stCmsTlimtm.lmtbrc, /* 调整机构码 */ stCmsTlimtm.lmtteller, /* 调整交易柜员 */ stCmsTlimtm.lmtauthteller ); /* 授权交易柜员 */ iCount ++; } SQLCLOSECUR(cmstlimtm_cur,"cmstlimtm_cur") EndFile( fp ); if (iCount == 0) { strcpy( g_acRspCode, "CMS1B7" ); pubCrtRspInfo( "主卡对附卡调整"); ERRLOG return FAILED; } /* 出口赋值 */ Exit: EndFile( fp ); if( !strcmp( g_acRspCode, RSP_OK ) ) { SetInqFormid(pstPubcom, "216019") ; sprintf( g_acTrcMsg,"卡片交易限额调整登记簿查询正常结束"); TRCLOG4 return SUCCESS; } else { sprintf( g_acTrcMsg,"卡片交易限额调整登记簿查询失败"); TRCLOG4 return FAILED ; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -