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

📄 pcs_snd_pdys_p.c

📁 unix 下用pro*c tuxedo 开发的东西
💻 C
📖 第 1 页 / 共 2 页
字号:
	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 + -