📄 pcs_snd_cancel_p.c
字号:
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 0;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )2;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}
}
int InitPCSSndCancel()
{
/* EXEC SQL BEGIN DECLARE SECTION; */
/* VARCHAR userid[20]; */
struct { unsigned short len; unsigned char arr[20]; } userid;
/* VARCHAR password[20]; */
struct { unsigned short len; unsigned char arr[20]; } password;
/* EXEC SQL END DECLARE SECTION; */
/*********************************
| Get Process waiting interval |
**********************************/
interval = GetTimeInterval("PCS_SND_CANCEL_P");
/*****************************
| Connect to DataBase |
*****************************/
strcpy( userid.arr, "pcsdba" );
userid.len = strlen( userid.arr );
strcpy( password.arr, "dba" );
password.len = strlen( password.arr );
/* EXEC SQL WHENEVER SQLERROR GOTO sqlerror; */
/* EXEC SQL CONNECT :userid IDENTIFIED BY :password; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.iters = (unsigned int )10;
sqlstm.offset = (unsigned int )16;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&userid;
sqlstm.sqhstl[0] = (unsigned int )22;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&password;
sqlstm.sqhstl[1] = (unsigned int )22;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto sqlerror;
}
/****************************
| Initialize MQ |
****************************/
rtn_code = MQBKInit("CSGL");
if (rtn_code != 0)
{
ProcessError(LOG_ERROR,"Pcs_Snd_Cancel_P.x: Calling Function \
MQBKInit() Failed!",END);
return(-1);
}
return(1);
sqlerror:
ProcessError(LOG_ERROR,"Pcs_Snd_Cancel_P.x: Connect To DataBase \
SQL Error!",END);
/* EXEC SQL RollBack; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )42;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto sqlerror;
}
return(-1);
}
int EndPCSSndCancel()
{
/* EXEC SQL WHENEVER SQLERROR GOTO sqlerror; */
/* EXEC SQL COMMIT WORK RELEASE; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )56;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto sqlerror;
}
MQBKClear();
return(1);
sqlerror:
ProcessError(LOG_ERROR,"Pcs_Snd_Cancel_P.x: Running Function \
EndPCSSndCancel() SQL Error!",END);
/* EXEC SQL ROLLBACK RELEASE; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )70;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto sqlerror;
}
return(-1);
}
int PCSSndCancel()
{
int count_rz, count_hz, i;
/* EXEC SQL WHENEVER SQLERROR GOTO sqlerror; */
while (1)
{
/* EXEC SQL SELECT count(*) INTO :count_rz FROM T_FSRZ
WHERE sjzt = '4'; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.stmt = "select count(*) into :b0 from T_FSRZ where sjzt='4'";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )84;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&count_rz;
sqlstm.sqhstl[0] = (unsigned int )4;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto sqlerror;
}
if ( count_rz == 0 ) sleep( interval);
else
{
/* EXEC SQL DECLARE cur_rz CURSOR For
SELECT fsxh FROM t_fsrz
WHERE sjzt='4'; */
/* EXEC SQL OPEN cur_rz; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.stmt = sq0007;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )102;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto sqlerror;
}
for (i=1; i <= count_rz; i++)
{
/* EXEC SQL FETCH cur_rz INTO :fsxh ; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )116;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&fsxh;
sqlstm.sqhstl[0] = (unsigned int )4;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto sqlerror;
}
/* EXEC SQL SELECT count(*) INTO count_hz
FROM t_hz
WHERE FSXH = :fsxh; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.stmt = "select count(*) into :b0 from t_hz where\
FSXH=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )134;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&count_hz;
sqlstm.sqhstl[0] = (unsigned int )4;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&fsxh;
sqlstm.sqhstl[1] = (unsigned int )4;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto sqlerror;
}
itoa( fsxh, c_fsxh, LEN_FSXH+1);
if ( count_hz == 1)
/* EXEC SQL SELECT sjbh INTO :jssjbh
FROM t_hz WHERE FSXH = :fsxh; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 3;
sqlstm.stmt = "select sjbh into :b0 from t_hz where FSXH\
=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )156;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)jssjbh;
sqlstm.sqhstl[0] = (unsigned int )3;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&fsxh;
sqlstm.sqhstl[1] = (unsigned int )4;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqphsv = sqlstm.sqhstv;
sqlstm.sqphsl = sqlstm.sqhstl;
sqlstm.sqpind = sqlstm.sqindv;
sqlstm.sqparm = sqlstm.sqharm;
sqlstm.sqparc = sqlstm.sqharc;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) goto sqlerror;
}
else
{
jssjbh[0] = '9';
jssjbh[1] = '9';
}
jssjbh[2] = '\0';
rtn_code = SetPCSSndCancel();
if (rtn_code < 0)
{
ProcessError(LOG_ERROR,"Pcs_Snd_Cancel_P.x: Calling Function \
SetPCSSndCancel() Failed!",END);
MQBKClear();
exit(-1);
}
rtn_code = MQBKSend_Syn(strlen(MsgQX),MsgQX,0,"CANCEL");
free( MsgQX );
if (rtn_code <0)
{
ProcessError(LOG_ERROR,"Pcs_Snd_Cancel_P.x: Sendding Cancel \
Message Error!",END);
MQBKBack();
MQBKClear();
exit(-1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -