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

📄 cms505.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************************** **   源码文件名称 : cms505.SQC **   所属子系统   : CMS  **   当前文件版本 : 4.0.0.0 **   作者         : UCCB  ALex **   版本创建日期 : 2004/10/12 **   功能描述     : 生成制卡文件磁盘处理子交易 **   修改记录     : **   修改人       修改日期     修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include <stdio.h>#include "cmsmkfile.h"#include "cmscardinfo.h"#include "cmsacctm.h"EXEC SQL INCLUDE SQLCA;int cmsGenMakeFileDiskPro( PUBCOM *pstPubcom ){	/*定义局部变量*/	struct	cmsmkfile  		stCmsMkFile  	  ;	struct	cmscardinfo		stCmsCardInfo	  ;	struct	cmsacctm   		stCmsAcctM   	  ;	char					acTranDate[DATE_LEN+1];	char					acTranDate8[DATE_LEN-1];	char					acMakeDate[DATE_LEN+1];	char					acFileName[FUNC_NAME_LEN];	FILE					*pRfp				  ;	long					lMakeReqNo			  ;	int						iInt=0;	char					acBuf[100];	strcpy( g_acTrcMsg, "子交易: 生成制卡文件磁盘处理开始...");	TRCLOG4	/* 初始化 */	memset( &stCmsMkFile,		0x00,	sizeof( struct cmsmkfile ) );	memset( &stCmsCardInfo,		0x00,	sizeof( struct cmscardinfo ) );	memset( &stCmsAcctM ,		0x00,	sizeof( struct cmsacctm  ) );	memset( acTranDate  ,		0x00,	sizeof( acTranDate       ) );	memset( acMakeDate  ,		0x00,	sizeof( acMakeDate       ) );	memset( acTranDate8 ,		0x00,	sizeof( acTranDate8      ) );	memset( acFileName  ,		0x00,	sizeof( acFileName       ) );	/* 取数据字典值 */	getstring( "MakeDate", 	acMakeDate				  );	lMakeReqNo=pstPubcom->lSerSeqNo;	getstring( "MakeDate", 	stCmsMkFile.makedate	  );	getlong  ( "SerSeqNo",	&stCmsMkFile.serseqno	  );	strcpy   ( stCmsMkFile.cardcenterbrc, CARDBRNO );		/*取文件名*/	sprintf( acFileName, "%s%06d.txt",pstPubcom->acTranDate8+6,pstPubcom->lSerSeqNo );    pRfp = (FILE *)BeginFile( pstPubcom, acFileName );	if ( pRfp == NULL )	{		strcpy( g_acRspMsg, "打开文件句柄出错!" );		pubCrtRspInfo( );		ERRLOG		return FAILED;	}	/* 从制卡文件表获取纪录并锁住纪录 */	pubStoVCmsmkfile( &stCmsMkFile );	sprintf( g_acTrcMsg, "makedate[%s]serseqno[%ld]centerbrc[%s]", cmsmkfile_makedate,cmsmkfile_serseqno,cmsmkfile_cardcenterbrc );	TRCLOG3	EXEC SQL	DECLARE MkFile_l_cur CURSOR FOR 				SELECT * FROM CMSMKFILE				WHERE makedate 		= :cmsmkfile_makedate				AND   serseqno 		= :cmsmkfile_serseqno				AND   cardcenterbrc = :cmsmkfile_cardcenterbrc				AND   makediskflg   = NOMAKEFILE 				ORDER BY cardno;	SQLOPENCUR(MkFile_l_cur,"MkFile_l_cur")	/* 打开游表出错 */	if ( SQLCODE )	{		strcpy( g_acRspCode, "CMS111" );		pubCrtRspInfo( "cmsmkfile", SQLCODE );		ERRLOG		fclose( pRfp );		return FAILED;	}	while( TRUE )	{		pubInitCmsmkfile();		EXEC SQL	FETCH MkFile_l_cur INTO R_CMSMKFILE ;		/* 取游表出错 */		if ( SQLCODE && SQLCODE != SQLNOTFOUND )		{			strcpy( g_acRspCode, "CMS112" );			pubCrtRspInfo( "cmsmkfile", SQLCODE );			ERRLOG			fclose( pRfp );	SQLCLOSECUR(MkFile_l_cur,"MkFile_l_cur")			return FAILED;		}		if ( SQLCODE==SQLNOTFOUND )		{			sprintf( g_acTrcMsg, "SQLCODE[%d]",SQLCODE );			TRCLOG3			if( iInt==0 )			{				strcpy( g_acRspCode, "999999" );				sprintf( g_acRspMsg,"制卡文件[cmsmkfile]无记录" );				ERRLOG				fclose( pRfp );	SQLCLOSECUR(MkFile_l_cur,"MkFile_l_cur")				return FAILED;			}			break;		}		strpack( cmsmkfile_track2msg );		strpack( cmsmkfile_track3msg );		sprintf( g_acTrcMsg, "cardno[%s]track2msg[%s]", cmsmkfile_cardno,cmsmkfile_track2msg );		TRCLOG3		if ( MKSEQNO_FLAG == 1 )		{			fprintf( pRfp, "%.*d%s%.*s%s%s%s\n", MKSEQNOLEN, iInt+1, PREINSERTSTRING, MKFILEPRELEN, cmsmkfile_cardappr,cmsmkfile_track2msg,cmsmkfile_track3msg, TAILINSERTSTRING );		}		else		{			fprintf( pRfp, "%.*s%s%s%s%s%s\n", MKFILEPRELEN, cmsmkfile_cardappr,PREINSERTSTRING, cmsmkfile_track2msg,PREINSERTSTRING,cmsmkfile_track3msg, TAILINSERTSTRING );		}		cmsmkfile_makediskflg[ BIT1_LEN ] = MAKEFILE;		EXEC SQL	UPDATE	cmsmkfile 					SET		makediskflg		= :cmsmkfile_makediskflg					WHERE	makedate 		= :cmsmkfile_makedate					AND		serseqno 		= :cmsmkfile_serseqno					AND		cardcenterbrc	= :cmsmkfile_cardcenterbrc					AND		makediskflg		= NOMAKEFILE					AND		cardno 			= :cmsmkfile_cardno;	    if ( SQLCODE )		{			strcpy( g_acRspCode, "CMS114" );			/* 数据库更新错误 */			pubCrtRspInfo( "cmsmkfile",SQLCODE );			ERRLOG	SQLCLOSECUR(MkFile_l_cur,"MkFile_l_cur")			fclose( pRfp );			return FAILED;		}		iInt++;	}	fclose( pRfp );	SQLCLOSECUR(MkFile_l_cur,"MkFile_l_cur")	if( cmsApiInsTranLog( pstPubcom, &stCmsCardInfo, &stCmsAcctM, "制卡", "生成制卡文件磁盘") )	{		ERRLOG		return FAILED;	}	/* 子交易出口 */ 	SetInqFormid( pstPubcom, "" );		strcpy( g_acTrcMsg, "子交易: 生成制卡文件磁盘处理结束.." );	TRCLOG4	strcpy( g_acRspCode,  RSP_OK );	return SUCCESS;}

⌨️ 快捷键说明

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