📄 cms618.sqc
字号:
/********************************************************************** 源码文件名称 : cms618.SQC** 所属子系统 : CMS** 当前文件版本 : 4.0.0.0** 作者 : ZhouR** 版本创建日期 : 2004/10/15** 功能描述 : 主卡对附卡交易限额调整登记簿查询** 修改记录 :** 修改人 修改日期 修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include <stdio.h>#include "cmslmtm.h"EXEC SQL INCLUDE SQLCA;/********************************************************* 函数名称: cms216018** 功能描述:主卡对附卡交易限额调整登记簿查询** 输入参数:** acBeginDate ---- 起始日期** acEndDate ---- 终止日期** acCardNo ---- 主卡卡号** acAcdCardNo ---- 附卡卡号** 输出参数:**** ** 返回结果: 0: 签约 -1: 失败 1: 未签约** 作 者 : ZhouR** 版本创建日期 : 2004/09/20** 修改记录 :** 修改人 修改日期 修改位置*******************************************************/int cms216018( 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 cmslmtm stCmsLmtm; /* 预授权登记簿 */ char acBeginDate[DATE_LEN + 1]; /* 起始日期 */ char acEndDate[DATE_LEN + 1]; /* 终止日期 */ char acCardNo[CARDNO_LEN + 1]; /* 主卡卡号 */ char acAcdCardNo[CARDNO_LEN + 1]; /* 附卡卡号 */ char acFileName[FILENAME_LEN + 1]; /* 文件名称 */ char acTableName[PRDCODE_LEN + 1]; /* 表名称 */ char acWhrStr[CONDITION_LEN + 1]; char acWhrStr1[CONDITION_LEN + 1]; char acWhrStr2[CONDITION_LEN + 1]; char acWhrStr3[CONDITION_LEN + 1]; char acWhrStr4[CONDITION_LEN + 1]; char acWhrStr5[CONDITION_LEN + 1]; int iCount = 0; FILE *fp; /* 文件指针 */ strcpy( g_acRspMsg, "子交易: 主卡对附卡交易限额调整登记簿查询子交易开始.." ); TRCLOG4 /* 初始化 */ memset( &stCmsLmtm, 0x00, sizeof( struct cmslmtm ) ); memset( acBeginDate, 0x00, sizeof( acBeginDate ) ); memset( acEndDate, 0x00, sizeof( acEndDate ) ); memset( acCardNo, 0x00, sizeof( acCardNo ) ); memset( acAcdCardNo, 0x00, sizeof( acAcdCardNo ) ); memset( acFileName, 0x00, sizeof( acFileName ) ); memset( acTableName, 0x00, sizeof( acTableName ) ); memset( acSelStr, 0x00, sizeof( acSelStr ) ); memset( acWhrStr, 0x00, sizeof( acWhrStr ) ); memset( acWhrStr1, 0x00, sizeof( acWhrStr1 ) ); memset( acWhrStr2, 0x00, sizeof( acWhrStr2 ) ); memset( acWhrStr3, 0x00, sizeof( acWhrStr3 ) ); memset( acWhrStr4, 0x00, sizeof( acWhrStr4 ) ); memset( acWhrStr5, 0x00, sizeof( acWhrStr5 ) ); /* 取数据字典值 */ getstring( "BeginDate1", acBeginDate ); getstring( "EndDate1", acEndDate ); getstring( "CardNo", acCardNo ); getstring( "CardNo1", acAcdCardNo ); sprintf( g_acTrcMsg,"BeginDate1[%s]EndDate1[%s]CardNo[%s]CardNo1[%s]", acBeginDate,acEndDate,acCardNo,acAcdCardNo ); TRCLOG3 strcpy( acTableName, "cms618" ); sprintf(acFileName, "%s%s%s", acTableName, pstPubcom->acBrc, pstPubcom->acTeller); fp = (FILE *)BeginFile( pstPubcom, acFileName ); if ( fp == NULL ) { strcpy( g_acRspMsg, "DPS902" ); pubCrtRspInfo( ); ERRLOG goto Exit; } /*组织查询字典*/ if ( GetInqDict( fp , "216018" ) ) { ERRLOG goto Exit; } /*写查询语句 */ strcpy( acSelStr, "select * from cmslmtm where 1=1"); /*追加查询条件*/ if ( strcmp ( acBeginDate, "1899-12-31" ) ) { sprintf( acWhrStr1, " and trandate >= '%s'", acBeginDate ); strcat( acSelStr, acWhrStr1 ); } if ( strcmp ( acEndDate,"1899-12-31") ) { sprintf( acWhrStr2, " and trandate <= '%s'", acEndDate ); strcat( acSelStr, acWhrStr2 ); } if ( strlen ( acCardNo ) > 0 ) { sprintf( acWhrStr3, " and cardno = '%s'", acCardNo ); strcat( acSelStr, acWhrStr3 ); } if ( strlen ( acAcdCardNo ) > 0 ) { sprintf( acWhrStr4, " and acdcardno = '%s'", acAcdCardNo ); strcat( acSelStr, acWhrStr4 ); } sprintf( acWhrStr5, " ORDER BY trandate, cardno, serseqno DESC" ); strcat( acSelStr, acWhrStr5 ); strcpy( g_acTrcMsg, acSelStr ); TRCLOG2 /* 查询 */ EXEC SQL PREPARE pre1_cur FROM :acSelStr; if ( SQLCODE ) { strcpy( g_acRspCode, "CMS1A7" ); pubCrtRspInfo( SQLCODE ); ERRLOG goto Exit ; } EXEC SQL DECLARE cmslmtm_cur CURSOR FOR pre1_cur; if ( SQLCODE ) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS110" ); pubCrtRspInfo("cmslmtm",SQLCODE ); ERRLOG goto Exit ; } SQLOPENCUR(cmslmtm_cur,"cmslmtm_cur") if(SQLCODE) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS111" ); pubCrtRspInfo("cmslmtm",SQLCODE ); ERRLOG goto Exit ; } for ( ; ; ) { EXEC SQL FETCH cmslmtm_cur INTO R_CMSLMTM; if ( SQLCODE == SQLNOTFOUND ) break; if(SQLCODE) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS112" ); pubCrtRspInfo( "cmslmtm",SQLCODE ); SQLCLOSECUR(cmslmtm_cur,"cmslmtm_cur") ERRLOG goto Exit ; } pubVtoSCmslmtm(&stCmsLmtm); /*根据币种代码取币种信息*/ pubInitPubcurrencyinfo(); EXEC SQL SELECT chname INTO :acChName FROM pubcurrencyinfo WHERE ccy = :cmslmtm_ccy; if( SQLCODE && SQLCODE != SQLNOTFOUND ) { strcpy(g_acRspCode,"CMS112"); pubCrtRspInfo("pubcurrencyinfo",SQLCODE); ERRLOG SQLCLOSECUR(cmslmtm_cur,"cmslmtm_cur") goto Exit; } /*取渠道名称*/ EXEC SQL SELECT name INTO :acName FROM cmschannel WHERE trandevtype = :cmslmtm_trandevtype; if( SQLCODE && SQLCODE != SQLNOTFOUND ) { strcpy(g_acRspCode,"CMS112"); pubCrtRspInfo("pubcurrencyinfo",SQLCODE); ERRLOG SQLCLOSECUR(cmslmtm_cur,"cmslmtm_cur") goto Exit; } fprintf ( fp, "\"%s\"~\"%s\"~%d~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~%.2lf~\"%s\"~\"%s\"~\"%s\"~\"%s\"~%d~%.2lf~%.2lf~%.2lf~%.2lf~%d~%d~%d~%d\n", stCmsLmtm.cardno, /* 主卡卡号 */ stCmsLmtm.trandate, /* 交易日期 */ stCmsLmtm.serseqno, /* 流水号 */ stCmsLmtm.vouchno, /* 登记簿编 */ stCmsLmtm.acdcardno, /* 附卡卡号 */ stCmsLmtm.idtype, /* 证件类型 */ stCmsLmtm.idcode, /* 证件号码 */ stCmsLmtm.custname, /* 姓名/单位名称 */ stCmsLmtm.issuebrc, /* 发卡机构码 */ stCmsLmtm.teller, /* 发卡交易柜员 */ stCmsLmtm.cardkind, /* 卡片种类 */ stCmsLmtm.lmtbrc, /* 调整机构码 */ stCmsLmtm.lmtteller, /* 调整交易柜 */ stCmsLmtm.lmtauthteller, /* 授权交易柜员 */ stCmsLmtm.lmtamt, /* 交易限额 */ stCmsLmtm.trandevtype, /* 业务发生地类型 */ acName, /* 渠道名称 */ stCmsLmtm.ccy, /* 币种 */ acChName, /* 币种名称 */ stCmsLmtm.period, /* 周期长度 */ stCmsLmtm.cashlimitamt, /* 本周期取现限额 */ stCmsLmtm.depolimitamt, /* 本周期存款限额 */ stCmsLmtm.conlimitamt, /* 本周期消费限额 */ stCmsLmtm.tranoutlimitamt, /* 本周期转出限额 */ stCmsLmtm.cashlimittime, /* 本周期取现次数 */ stCmsLmtm.depolimittime, /* 本周期存款次数 */ stCmsLmtm.conlimittime, /* 本周期消费次数 */ stCmsLmtm.tranoutlimittime ); /* 本周期转出次数 */ iCount ++; } SQLCLOSECUR(cmslmtm_cur,"cmslmtm_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, "216018") ; sprintf( g_acTrcMsg,"主卡对附卡交易限额调整登记簿查询正常结束"); TRCLOG4 return SUCCESS; } else { sprintf( g_acTrcMsg,"主卡对附卡交易限额调整登记簿查询失败"); TRCLOG4 return FAILED ; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -