📄 pcs_snd_pdys_p.c
字号:
else
sprintf(str_zdqb,"%2d",PDYSSMDB.zdqb);
sprintf(message,"%10ld%2s%2s%7s%1s%2s%2d%2d%2s%2s%6s%7.2f%10ld%11.2f%10ld%11.2f%4d",\
key,jsfbh,BSBH,PDYSSMDB.bkdh,PDYSSMDB.yslx,PDYSSMDB.wjbh,\
PDYSSMDB.qdqa,PDYSSMDB.qdqb,str_zdqa,str_zdqb,
PDYSSMDB.kq,PDYSSMDB.dingj,PDYSSMDB.dyzs,PDYSSMDB.dyk,\
PDYSSMDB.lszs,PDYSSMDB.lsk,PDYSSMDB.nf);
/* EXEC SQL DECLARE cur_yssj CURSOR FOR
SELECT zjfs,zfjbh,fsxh FROM t_fspdyssj WHERE fsxh=:key; */
/* EXEC SQL OPEN cur_yssj; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.stmt = sq0006;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )160;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&key;
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) sqlerror();
}
for( i=0;i<count_rec;i++ )
{
/* EXEC SQL FETCH cur_yssj INTO :zjfs,:zfjbh,:fsxh; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )178;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&zjfs;
sqlstm.sqhstl[0] = (unsigned int )4;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)zfjbh;
sqlstm.sqhstl[1] = (unsigned int )9;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqhstv[2] = (unsigned char *)&fsxh;
sqlstm.sqhstl[2] = (unsigned int )4;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqharm[2] = (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) sqlerror();
}
/* strcat(message,zfjbh);
itoa(zjfs,tempstring,8);
strcat(message,tempstring);
itoa(lszjfs,tempstring,8);
strcat(message,tempstring);
*/
sprintf(message,"%s%8s%7d%7s",message,zfjbh,zjfs," ");
/* printf("%s\n",message);
*/ }
/* EXEC SQL CLOSE cur_yssj; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )204;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
/* printf("%s\n",message);
*/
#ifdef DEBUG
PutintoF(message);
#endif
if(MQBKSend_Syn(strlen(message) ,message, 0,"YS") < 0)
{
MQBKBack();
/* EXEC SQL ROLLBACK WORK; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )218;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
ProcessError(LOG_ERROR,"PCS_Snd_PDYS_P: Error when send pdys to mq",END );
return(-1);
}
else
{
if( MQBKCmit() < 0 )
{
/* EXEC SQL ROLLBACK WORK; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )232;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
ProcessError(LOG_ERROR,"PCS_Snd_PDYS_P: Error commit send mq",END );
return(-1);
}
}
UpdateSndLogRecStatus( fsxh );
UpdateHZRec( fsxh );
free(message);
return(0);
}
void freect(void)
{
if( message!=NULL )
free(message);
/* EXEC SQL ROLLBACK WORK RELEASE; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )246;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
exit(0);
}
void main()
{
long int xh;
int i,j,flag;
int count_rec;
char waitforsnd='2';
char PDdatatype='2';
int retcode=0;
char *PID = "Client Txn Clt_Mpt Process(Port 7111)";
char produce_err_str[20];
signal(SIGTERM,freect);
ProcessError(LOG_NORMAL,"PCS_Snd_PDYS_P: this is NORMAL message", END);
flag=InitPcsSndYSP();
if ( flag<0 )
{
ProcessError(LOG_ERROR,"PCS_Snd_PDYS_P: error when init function",END);
exit(0);
}
iTInterval=0;
iTInterval=GetTimeInterval("PCS_SND_YS_P");
ERROR=0;
/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */
/* EXEC SQL SELECT bsbh INTO :BSBH FROM T_BSBH; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.stmt = "select bsbh into :b0 from T_BSBH ";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )260;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)BSBH;
sqlstm.sqhstl[0] = (unsigned int )3;
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) sqlerror();
}
begin:
ERROR=0;count_rec=0;
/* EXEC SQL SELECT count(*) INTO :count_rec FROM t_fsrz WHERE sjzt=:waitforsnd AND sjfl=:PDdatatype; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.stmt = "select count(*) into :b0 from t_fsrz where (sjzt=:b1 and s\
jfl=:b2)";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )278;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&count_rec;
sqlstm.sqhstl[0] = (unsigned int )4;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&waitforsnd;
sqlstm.sqhstl[1] = (unsigned int )1;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqhstv[2] = (unsigned char *)&PDdatatype;
sqlstm.sqhstl[2] = (unsigned int )1;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqharm[2] = (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) sqlerror();
}
if( count_rec == 0 || ERROR!=0 )
{
ERROR=0;
goto End;
}
/* EXEC SQL DECLARE cur_fsrz CURSOR FOR
SELECT fsxh FROM t_fsrz WHERE sjzt=:waitforsnd AND sjfl=:PDdatatype; */
/* EXEC SQL OPEN cur_fsrz; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.stmt = sq0012;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )304;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&waitforsnd;
sqlstm.sqhstl[0] = (unsigned int )1;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&PDdatatype;
sqlstm.sqhstl[1] = (unsigned int )1;
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) sqlerror();
}
retcode=MQBKInit("CSYW");
if( retcode<0 )
{
ProcessError(LOG_ERROR,"PCS_Snd_PDYS_P: Error when init mq ys",END);
/* EXEC SQL CLOSE cur_fsrz; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )326;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
goto End;
}
for( i=0;i<count_rec;i++ )
{
/* EXEC SQL FETCH cur_fsrz INTO :xh; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )340;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&xh;
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) sqlerror();
}
if ( ERROR!=0 )
{
ERROR=0;
ProcessError(LOG_ERROR,"PCS_Snd_PDYS_P: fetch xh error",END);
continue;
}
flag=PcsSndMQPDYS(xh);
if( flag!=0 )
{
sprintf(produce_err_str,"%10d",xh);
ProcessError(LOG_ERROR,"PCS_Snd_PDYS_P: Error when use pcssndmqzdys fsxh is: ",produce_err_str);
/* EXEC SQL ROLLBACK WORK; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )358;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
continue;
}
/* EXEC SQL COMMIT WORK; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )372;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
}
flag=MQBKClear();
if( flag<0 )
{
ProcessError(LOG_ERROR,"PCS_Snd_PDYS_P: error when mqbk clear",END);
}
/* EXEC SQL CLOSE cur_fsrz; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 16;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )386;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
End:
#ifdef DEBUG
exit(0);
#endif
sleep(iTInterval);
goto begin;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -