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

📄 pcs_snd_cancel_p.c

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