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

📄 pcs_snd_zdys_p.c

📁 unix 下用pro*c tuxedo 开发的东西
💻 C
📖 第 1 页 / 共 2 页
字号:

		
	/* EXEC SQL OPEN cur_yssj; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 13;
 sqlstm.stmt = sq0006;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )148;
 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 :yffs,:zfjbh,:fsxh; */ 

{
  struct sqlexd sqlstm;

  sqlstm.sqlvsn = 8;
  sqlstm.arrsiz = 13;
  sqlstm.iters = (unsigned int  )1;
  sqlstm.offset = (unsigned int  )166;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)0;
  sqlstm.sqhstv[0] = (unsigned char  *)&yffs;
  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();
}


/*		zfjbh[8]='\0';
		strcat(message,zfjbh);
		itoa(yffs,tempstring,8);
		strcat(message,tempstring);
		itoa(qzlss,tempstring,8);
		strcat(message,tempstring);
*/
		sprintf(message,"%s%8s%7d%7s",message,zfjbh,yffs,"       ");

	}
	
	/* EXEC SQL CLOSE cur_yssj; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 13;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )192;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) sqlerror();
}



#ifdef	DEBUG
	PutintoF(message);
#endif

	if(MQBKSend_Syn(strlen(message) ,message, 0,"YS") < 0)
	{
		MQBKBack();
		free(message);
		/* EXEC SQL ROLLBACK WORK; */ 

{
  struct sqlexd sqlstm;

  sqlstm.sqlvsn = 8;
  sqlstm.arrsiz = 13;
  sqlstm.iters = (unsigned int  )1;
  sqlstm.offset = (unsigned int  )206;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)0;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
  if (sqlca.sqlcode < 0) sqlerror();
}


		return(-1);
	}
	else	
	{
		if(MQBKCmit()<0)
		{
			free(message);
			return(-1);
		}
		
	}
/*	printf("msg len is %ld\n",strlen(message));
*/	UpdateSndLogRecStatus( fsxh );
	UpdateHZRec( fsxh );
	
	free(message);
	return(0);
}

void freect(void)
{
/*	if( message!=NULL )
	free(message);
	MQBKClear();
*/	/* EXEC SQL ROLLBACK WORK RELEASE; */ 

{
   struct sqlexd sqlstm;

   sqlstm.sqlvsn = 8;
   sqlstm.arrsiz = 13;
   sqlstm.iters = (unsigned int  )1;
   sqlstm.offset = (unsigned int  )220;
   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;
	int count_rec;
	char waitforsnd='2';
	char ZDdatatype='1';
	int flag;
	int  retcode=0;
	char *PID = "Client Txn Clt_Mpt Process(Port 7111)";
	char produce_err_str[20];
	
	signal(SIGTERM,freect);
	flag=InitPcsSndYSP();
	if ( flag!=0 ) 
	{
		ProcessError(LOG_ERROR,"PCS_Snd_ZDYS_P: error when init function",END);
		exit(0);
	}
	
 	ProcessError(LOG_NORMAL,"PCS_Snd_ZDYS_P: Test this is NORMAL message",END);
	
	iTInterval=0;
	iTInterval=GetTimeInterval("PCS_SND_YS_P");
	
	/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */ 

	/* EXEC SQL SELECT bsbh INTO :BSBH FROM T_BSBH; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 13;
 sqlstm.stmt = "select bsbh into :b0  from T_BSBH ";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )234;
 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=:ZDdatatype; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 13;
 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  )252;
 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  *)&ZDdatatype;
 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=:ZDdatatype; */ 

	/* EXEC SQL OPEN cur_fsrz; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 13;
 sqlstm.stmt = sq0011;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )278;
 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  *)&ZDdatatype;
 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();
}


/*	printf("count , zt,fl=%d,%c,%c\n",count_rec,waitforsnd,ZDdatatype);
*/	retcode=MQBKInit("CSYW");
	if( retcode<0 )
	{
		ProcessError(LOG_ERROR,"PCS_Snd_ZDYS_P: Error when init mq ys",END);
		/* EXEC SQL CLOSE cur_fsrz; */ 

{
  struct sqlexd sqlstm;

  sqlstm.sqlvsn = 8;
  sqlstm.arrsiz = 13;
  sqlstm.iters = (unsigned int  )1;
  sqlstm.offset = (unsigned int  )300;
  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 = 13;
  sqlstm.iters = (unsigned int  )1;
  sqlstm.offset = (unsigned int  )314;
  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==1 )
		{
			ERROR=0;
			ProcessError(LOG_ERROR,"PCS_Snd_ZDYS_P: Error when fetch xh",END);
			continue;
		}
		flag=PcsSndMQZDYS(xh);
		if( flag!=0 )
		{
			sprintf(produce_err_str,"%10d",xh);
			ProcessError(LOG_ERROR,"PCS_Snd_ZDYS_P: Error when use pcssndmqzdys fsxh is: ",produce_err_str);
			/* EXEC SQL ROLLBACK WORK; */ 

{
   struct sqlexd sqlstm;

   sqlstm.sqlvsn = 8;
   sqlstm.arrsiz = 13;
   sqlstm.iters = (unsigned int  )1;
   sqlstm.offset = (unsigned int  )332;
   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 = 13;
  sqlstm.iters = (unsigned int  )1;
  sqlstm.offset = (unsigned int  )346;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)0;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
  if (sqlca.sqlcode < 0) sqlerror();
}


	}
	
	MQBKClear();
	
	/* EXEC SQL CLOSE cur_fsrz; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 13;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )360;
 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 + -