📄 cms004.sqc
字号:
/******************************************************************** ** 源码文件名称 : cms004.SQC ** 所属子系统 : CMS ** 当前文件版本 : 4.0.0.0 ** 作者 : Feng ** 版本创建日期 : 2004/09/21 ** 功能描述 : 获取卡片种类信息子交易 ** 修改记录 : ** 修改人 修改日期 修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmscardkind.h"#include "dpssaveprdinfo.h"#include "dpstermprdinfo.h"#include "pubcurrencyinfo.h"#include <stdio.h>EXEC SQL INCLUDE SQLCA;int cmsGetCardKindInfPro( PUBCOM *pstPubcom ){ EXEC SQL BEGIN DECLARE SECTION; char acSelStr[ CONDITION_LEN + 1 ]; char acPrdName[BIT41_LEN + 1]; char acChName[BIT17_LEN + 1]; EXEC SQL END DECLARE SECTION; /*定义局部变量*/ struct cmscardkind stCmsCardKind; /* 卡片种类表 */ struct dpssaveprdinfo stDpsSavePrdInfo; /* 存款活期产品表 */ struct dpstermprdinfo stDpsTermPrdInfo; /* 存款活期产品表 */ struct pubcurrencyinfo stPubCurrencyInfo; /* 币种信息表 */ char acTableName[PRDCODE_LEN + 1]; /* 表名称 */ char acFileName[FILENAME_LEN + 1]; /* 文件名称 */ char acWhrStr[ CONDITION_LEN + 1 ]; /* Where条件 */ int iCount = 0; FILE *fp; int iRtn; /* 函数返回值 */ int iRtn1; /* 函数返回值 */ strcpy( g_acRspCode, RSP_OK ); strcpy( g_acTrcMsg, "子交易: 获取卡片种类信息处理开始.." ); TRCLOG4 /* 初始化 */ memset( &stCmsCardKind, 0x00, sizeof( struct cmscardkind ) ); memset( &stDpsSavePrdInfo, 0x00, sizeof( struct dpssaveprdinfo ) ); memset( &stDpsTermPrdInfo, 0x00, sizeof( struct dpstermprdinfo ) ); memset( &stPubCurrencyInfo, 0x00, sizeof( struct pubcurrencyinfo ) ); memset( acPrdName, 0x00, sizeof( acPrdName ) ); memset( acChName, 0x00, sizeof( acChName ) ); /* 取数据字典值 */ getstring( "CardKind", stCmsCardKind.cardkind ); strcpy( g_acTrcMsg, stCmsCardKind.cardkind ); TRCLOG2 strpack( stCmsCardKind.cardkind ); if ( strlen( stCmsCardKind.cardkind ) == ZEROS ) { memset( acFileName, 0x00, sizeof( acFileName ) ); memset( acTableName, 0x00, sizeof( acTableName ) ); memset( acSelStr, 0x00, sizeof( acSelStr ) ); memset( acWhrStr, 0x00, sizeof( acWhrStr ) ); strcpy( acTableName, "cms004" ); sprintf(acFileName, "%s%s%s", acTableName, pstPubcom->acBrc, \ pstPubcom->acTeller ); fp = (FILE *)BeginFile( pstPubcom, acFileName ); if ( fp == NULL ) { strcpy( g_acRspMsg, "打开文件句柄出错!" ); ERRLOG goto Exit; } /*组织查询字典*/ if (GetInqDict( fp , "210003" )) { ERRLOG goto Exit; } strcpy( acSelStr, "select * from cmscardkind order by cardkind" ); EXEC SQL PREPARE pre1_cur FROM :acSelStr; if ( SQLCODE ) { strcpy( g_acRspCode, "CMS1A7" ); pubCrtRspInfo( SQLCODE ); ERRLOG goto Exit ; } EXEC SQL DECLARE cardkind_cur CURSOR FOR pre1_cur; if ( SQLCODE ) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS110" ); pubCrtRspInfo("cmscardkind",SQLCODE ); ERRLOG goto Exit ; } SQLOPENCUR(cardkind_cur,"cardkind_cur") if ( SQLCODE ) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS111" ); pubCrtRspInfo("cmscardkind",SQLCODE ); ERRLOG goto Exit ; } for ( ; ; ) { EXEC SQL FETCH cardkind_cur INTO R_CMSCARDKIND; if( SQLCODE == SQLNOTFOUND ) break ; if(SQLCODE) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS112" ); pubCrtRspInfo( "cmscardkind",SQLCODE ); SQLCLOSECUR(cardkind_cur,"cardkind_cur") ERRLOG goto Exit ; } pubVtoSCmscardkind(&stCmsCardKind); /* 取币种信息 */ /*pubInitPubcurrencyinfo();*/ EXEC SQL SELECT chname INTO :acChName FROM pubcurrencyinfo WHERE ccy = :cmscardkind_ccy; if( SQLCODE && SQLCODE != SQLNOTFOUND ) { strcpy(g_acRspCode,"CMS112"); pubCrtRspInfo("dpssaveprdinfo",SQLCODE); ERRLOG SQLCLOSECUR(cardkind_cur,"cardkind_cur") goto Exit; } /* 取产品名称 */ /*pubInitDpssaveprdinfo(); pubInitDpstermprdinfo();*/ EXEC SQL SELECT prdname INTO :acPrdName FROM dpssaveprdinfo WHERE prdcode = :cmscardkind_prdcod; if( SQLCODE && SQLCODE != SQLNOTFOUND ) { strcpy(g_acRspCode,"CMS112"); pubCrtRspInfo("dpssaveprdinfo",SQLCODE); ERRLOG SQLCLOSECUR(cardkind_cur,"cardkind_cur") goto Exit; } if ( SQLCODE == SQLNOTFOUND ) { EXEC SQL SELECT prdname INTO :acPrdName FROM dpstermprdinfo WHERE prdcode = :cmscardkind_prdcod; if( SQLCODE && SQLCODE != SQLNOTFOUND ) { strcpy(g_acRspCode,"CMS112"); pubCrtRspInfo("dpstermprdinfo",SQLCODE); ERRLOG SQLCLOSECUR(cardkind_cur,"cardkind_cur") goto Exit; } } /* 拼写文件 */ fprintf( fp, "\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\n", stCmsCardKind.cardkind, /* 卡号 */ stCmsCardKind.cardidkind, /* 卡片识别种类 */ stCmsCardKind.cardkindcomm, /* 卡片种类说明 */ stCmsCardKind.ccy, /* 主帐户的币种 */ acChName, /* 主帐户的币种说明 */ stCmsCardKind.prdcod, /* 主帐户的产品代码 */ acPrdName ); /* 主帐户的产品代码说明 */ iCount ++; } SQLCLOSECUR(cardkind_cur,"cardkind_cur") EndFile( fp ); if (iCount == 0) { strcpy( g_acRspCode, "CMS1B7" ); pubCrtRspInfo( "卡片种类查询"); ERRLOG goto Exit; } /* 出口赋值 */ Exit: EndFile( fp ); if ( !strcmp( g_acRspCode, RSP_OK ) ) { SetInqFormid(pstPubcom, "210003") ; sprintf( g_acTrcMsg, "卡片种类查询正常结束" ); TRCLOG4 return SUCCESS; } else { sprintf( g_acTrcMsg, "卡片种类查询失败" ); TRCLOG4 return FAILED; } } else { memset( acPrdName, 0x00, sizeof(acPrdName) ); /* 获取卡片种类信息 */ iRtn = pubReadCmscardkind( &stCmsCardKind ); if ( iRtn ) { ERRLOG goto Exit1; } strcpy( g_acTrcMsg, stCmsCardKind.cardidkind ); TRCLOG2 /* 获取存款活期产品表 */ strcpy( stDpsSavePrdInfo.prdcode, stCmsCardKind.prdcod ); iRtn = pubReadDpssaveprdinfo( &stDpsSavePrdInfo ); if ( iRtn ) { strcpy( stDpsTermPrdInfo.prdcode, stCmsCardKind.prdcod ); iRtn1 = pubReadDpstermprdinfo( &stDpsTermPrdInfo ); if (iRtn1 ) { ERRLOG goto Exit1; } strcpy( acPrdName, stDpsTermPrdInfo.prdname ); strcpy( g_acRspCode, RSP_OK ); pubCrtRspInfo(); } if ( strlen(acPrdName) ==0 ) { strcpy( acPrdName, stDpsSavePrdInfo.prdname ); } /* 取币种信息表 */ strcpy( stPubCurrencyInfo.ccy, stCmsCardKind.ccy ); iRtn = pubReadPubcurrencyinfo( &stPubCurrencyInfo ); if ( iRtn ) { ERRLOG goto Exit1; } /* 子交易出口 */ /* 币种 */ setstring( "Ccy", stCmsCardKind.ccy ); /* 主帐户币种说明 */ setstring( "CcyInfo", stPubCurrencyInfo.chname ); /* 产品代码 */ setstring( "PrdCode", stCmsCardKind.prdcod ); /* 卡片种类说明 */ setstring( "CardKindComm", stCmsCardKind.cardkindcomm ); /* 卡片属性 */ setstring( "CardAttr", stCmsCardKind.cardattr ); /* 卡标志 */ setstring( "CardFlg", stCmsCardKind.cardflg ); /* 记名标志 */ setstring( "MarkFlg", stCmsCardKind.markflg ); /* 卡片识别种类 */ setstring( "CardDidKind", stCmsCardKind.cardidkind ); /* 发卡对象 */ setstring( "CardObject", stCmsCardKind.cardobject ); /* 产品名称 */ setstring( "PrdName", acPrdName ); /* 产品流程代码 */ setstring( "Flag", stDpsSavePrdInfo.flowcode ); /* 产品类型 */ setstring( "Flag1", stDpsSavePrdInfo.prdtype ); Exit1: strcpy( g_acTrcMsg, "子交易: 获取卡片种类信息结束.." ); TRCLOG4 if( !strcmp( g_acRspCode, RSP_OK ) ) return SUCCESS; else return FAILED ; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -