⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cms026.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************************** **   源码文件名称 : cms026.SQC **   所属子系统   : CMS  **   当前文件版本 : 4.0.0.0 **   作者         : guoyun **   版本创建日期 : 2004/10/25 **   功能描述     : 按卡号、币种和业务种类获取卡账户信息子交易 **   修改记录     : **   修改人       修改日期     修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmsacctm.h"#include "pubinq.h"#include <stdio.h>#include <fcntl.h>EXEC SQL INCLUDE SQLCA;int cmsGetCardAcctBussPro( PUBCOM *pstPubcom ){	/* 定义宿主变量 */    EXEC SQL BEGIN DECLARE SECTION;        char    acPrdName[BIT41_LEN + 1];        char    acDecName[BIT41_LEN + 1];        char    acChName[BIT17_LEN + 1];    EXEC SQL END DECLARE SECTION;	/*定义局部变量*/    FILE    *fp;	int		iRtn;									/* 函数返回值		*/    int     iNumx;                          		/* 数组计数器       */    int     iNumy;                          		/* 数组计数器       */    int     iCount=0;                               /* 计数器           */	char	acCardNo[ CARDNO_LEN + 1 ];				/* 卡号  		*/	char	acCcy[ CCY_LEN + 1 ];					/* 开户币种  		*/	char	acBussKind[ BUSSKIND_LEN + 1 ];			/* 业务种类	*/	char	acBuf[ CONDITION_LEN + 1 ];				/* 临时存储区	*/    char    acAcctFlag[ FLAG_LEN + 1 ];         	/* 账户类型         */    char    acTableName[PRDCODE_LEN + 1];           /* 表名称 */    char    acFileName[FILENAME_LEN + 1];           /* 文件名称 */    double  dBal=0.00;                          	/* 余额         */    double  dUseBal=0.00;                          	/* 可用余额         */	struct	cmsacctm			stCmsAcctM;			/* 卡帐户对照表		*/    BASESUBACCTINFO             stAcctInfo;         /* 帐户信息         */	strcpy( g_acTrcMsg, "子交易: 按卡号、币种和业务种类获取卡账户信息子交易.." );	TRCLOG4	/* 初始化 */	memset( &stCmsAcctM,		0x00,	sizeof( struct cmsacctm ) );	memset( acCardNo,			0x00,	sizeof( acCardNo ) );	memset( acCcy,				0x00,	sizeof( acCcy ) );	memset( acAcctFlag,			0x00,	sizeof( acAcctFlag ) );	memset( acBussKind,			0x00,	sizeof( acBussKind ) );	/* 取数据字典值 */	getstring( "CardNo",		acCardNo				);	getstring( "Ccy1",			acCcy					);	getstring( "BussKind",		acBussKind				);	    sprintf( g_acTrcMsg,"CardNo[%s]Ccy1[%s]BussKind[%s]",acCardNo,acCcy,acBussKind);    TRCLOG3    strcpy( acTableName, "cms026" );    sprintf(acFileName, "%s%08ld", acTableName, pstPubcom->lSerSeqNo);    fp = (FILE *)BeginFile( pstPubcom, acFileName );    if ( fp == NULL )    {        strcpy( g_acRspMsg, "打开文件句柄出错!" );        pubCrtRspInfo( );        ERRLOG        goto Exit ;    }    /*组织查询字典*/    if (GetInqDict( fp , "210007" ))    {        ERRLOG        goto Exit ;    }	/* 获取卡帐户对照表信息 */	strcpy( stCmsAcctM.cardno, acCardNo);	strcpy( stCmsAcctM.ccy, acCcy);	strcpy( stCmsAcctM.busskind, acBussKind);    stCmsAcctM.status[ BIT1_LEN ] = NORMAL_STS;	pubStoVCmsacctm( &stCmsAcctM );    EXEC SQL    DECLARE acc_l_cur CURSOR FOR                SELECT * FROM CMSACCTM                WHERE cardno = :cmsacctm_cardno				AND ccy = :cmsacctm_ccy				AND busskind = :cmsacctm_busskind                AND status = :cmsacctm_status                ORDER BY acctseqno;    /* 定义游标出错     if ( SQLCODE )    {        strcpy( g_acRspCode, "CMS110" );        pubCrtRspInfo( "cmsacctm", SQLCODE );        ERRLOG        goto Exit ;    }	*/	SQLOPENCUR(acc_l_cur,"acc_l_cur")    /* 打开游表出错 */    if ( SQLCODE )    {        strcpy( g_acRspCode, "CMS111" );        pubCrtRspInfo( "cmsacctm", SQLCODE );        ERRLOG        goto Exit ;    }    while ( TRUE )    {        pubInitCmsacctm();        EXEC SQL    FETCH acc_l_cur INTO R_CMSACCTM ;        /* 取游表出错 */        if ( SQLCODE && SQLCODE != SQLNOTFOUND )        {            strcpy( g_acRspCode, "CMS112" );            pubCrtRspInfo( "cmsacctm", SQLCODE );            ERRLOG	SQLCLOSECUR(acc_l_cur,"acc_l_cur")            goto Exit ;        }        /* 记录不存在 */        else if ( SQLCODE == SQLNOTFOUND )            break;        /* 记录存在 */        pubVtoSCmsacctm( &stCmsAcctM );        /* 按客户账号和款项代码获取账户信息 DPS API */		sprintf( g_acTrcMsg,"stCmsAcctM.acctno[%s]stCmsAcctM.subacct[%s]stCmsAcctM.ccy[%s]",stCmsAcctM.acctno,stCmsAcctM.subacct,stCmsAcctM.ccy);		TRCLOG3        iRtn = InqBaseSubAcct(  pstPubcom, stCmsAcctM.acctno,                                stCmsAcctM.subacct,                                stCmsAcctM.ccy,								"1100000000000000", "0","0",                                &stAcctInfo);        if (iRtn)        {			strcpy( g_acRspCode, RSP_OK );        }        /* 拼写文件 */		fprintf( fp, "\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~%.2lf~%.2lf\n",                            stCmsAcctM.acctseqno,  	/* 卡内帐户序号 */                            stCmsAcctM.busskind, 	/* 业务种类     */							acDecName,              /* 业务种类描述 */                            stCmsAcctM.ccy,     	/* 币种         */							acChName,               /* 币种名称     */                            stCmsAcctM.prdcod,  	/* 产品代码     */							acPrdName,              /* 产品名称     */                            stCmsAcctM.acctno,  	/* 帐号		    */                            stCmsAcctM.subacct,  	/* 款项代码     */                            stCmsAcctM.accowner,  	/* 帐户属主     */                            stCmsAcctM.cardbookflag,/* 卡折标志     */                            stAcctInfo.dAvailBal,   /* 可用余额     */                            stAcctInfo.dAvailBal); 	/* 余额         */        iCount ++;    }	SQLCLOSECUR(acc_l_cur,"acc_l_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 ;    }	/* 子交易出口      SetInqFormid(pstPubcom, "210007") ;		strcpy( g_acTrcMsg, "子交易: 按卡号、币种和业务种类获取卡账户信息子交易结束.." );	TRCLOG4	strcpy( g_acRspCode,  RSP_OK );	return SUCCESS;*/}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -