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

📄 pcs_convert_file.c

📁 unix 下用pro*c tuxedo 开发的东西
💻 C
字号:

/* Result Sets Interface */
#ifndef SQL_CRSR
#  define SQL_CRSR
  struct sql_cursor
  {
    unsigned int curocn;
    void *ptr1;
    void *ptr2;
    unsigned long magic;
  };
  typedef struct sql_cursor sql_cursor;
  typedef struct sql_cursor SQL_CURSOR;
#endif /* SQL_CRSR */

/* Thread Safety */
typedef void * sql_context;
typedef void * SQL_CONTEXT;

/* File name & Package Name */
struct sqlcxp
{
  unsigned short fillen;
           char  filnam[20];
};
static struct sqlcxp sqlfpn =
{
    19,
    "Pcs_Convert_File.pc"
};


static unsigned long sqlctx = 40701603;


static struct sqlexd {
   unsigned int   sqlvsn;
   unsigned int   arrsiz;
   unsigned int   iters;
   unsigned int   offset;
   unsigned short selerr;
   unsigned short sqlety;
   unsigned int   unused;
            short *cud;
   unsigned char  *sqlest;
            char  *stmt;
   unsigned char  **sqphsv;
   unsigned int   *sqphsl;
            short **sqpind;
   unsigned int   *sqparm;
   unsigned int   **sqparc;
   unsigned char  *sqhstv[3];
   unsigned int   sqhstl[3];
            short *sqindv[3];
   unsigned int   sqharm[3];
   unsigned int   *sqharc[3];
} sqlstm = {8,3};

/* Prototypes */
extern sqlcxt (/*_ void **, unsigned long *,
                   struct sqlexd *, struct sqlcxp * _*/);
extern sqlcx2t(/*_ void **, unsigned long *,
                   struct sqlexd *, struct sqlcxp * _*/);
extern sqlbuft(/*_ void **, char * _*/);
extern sqlgs2t(/*_ void **, char * _*/);
extern sqlorat(/*_ void **, unsigned long *, void * _*/);

/* Forms Interface */
static int IAPSUCC = 0;
static int IAPFAIL = 1403;
static int IAPFTL  = 535;
extern void sqliem(/*_ char *, int * _*/);

 static char *sq0003 = 
"select jsxh ,sjfl ,sjbh  from t_jsrz where (sjzt=:b0 and sjfl<>:b1) order by\
 sjbh            ";
typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;

/* cud (compilation unit data) array */
static short sqlcud0[] =
{8,4130,
2,0,0,1,34,0,4,73,0,1,0,0,1,0,2,97,0,0,
20,0,0,2,69,0,4,78,0,3,2,0,1,0,2,3,0,0,1,1,0,0,1,1,0,0,
46,0,0,3,93,0,9,84,0,2,2,0,1,0,1,1,0,0,1,1,0,0,
68,0,0,3,0,0,13,88,0,3,0,0,1,0,2,3,0,0,2,1,0,0,2,97,0,0,
94,0,0,4,0,0,31,118,0,0,0,0,1,0,
108,0,0,5,0,0,29,121,0,0,0,0,1,0,
122,0,0,3,0,0,15,124,0,0,0,0,1,0,
};


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

*	File name		: Pcs_Convert_File.x	                   		*

*	Module ID		:				          	*

*	Module Name	:                                                 	*

*	Purpose		: convert ml,gh,tjbb,zfj,zdys,pdys to a file	*

*	Author             	: lix                                       	*

*	Date Created	: 1999,07,29                                       	*

*	Version		: Version 1.0                                      	*

*	Environment	: Digital UNIX                                     	*

*	Portability	: UNIX Platform                                    	*

*	Warnings		:                                              	*

*	References	:                                                      	*

*	Calling Syntax	:                                                  	*

*	Parameters	: None                                                 	*

*	Returns		: void                                          	*

*	Calling Function	:                                             	*

*	Called Functions	: main function	                        	*

*	Datastores and usages:                                            	*     

*        	   (a) Input                                                 		*

* 	   (b) OutPut                                                     	*       

*	Report		: None                                        	*

*	Screens		: None                                         	*

*	Messages Files	: None                                         	*

*	Change Log	:                                                      	*

*	Change No. 	Date	Author	Reason For Change         	*

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

*/

#include "stdio.h"

#include "stdlib.h"

#include "sqlcpr.h"

#include <fcntl.h>

#include <signal.h>

#include "/usr/bkfx/include/myapi.h"

#include "/usr/bkfx/include/Pcs_Convert_File/Pcs_Convert_File.h"

#include "/usr/bkfx/include/Pcs_Convert_File/convapi.h"





int main()

{

	char sjfl;

	char sjbh[3];

	char temp,temp2;

	char temp3;/*it is used only for test some sjfl*/

	long int jsxh;

	int  flag,rec_count;

	int retcode=0;

	char *PID = "Client Txn Clt_Mpt Process(Port 7111)";

	char produce_err_str[35];
	

	NOCONVERT='1';

	WAITFORCONVERT='2';

	CONVERTED='6';

	ERROR=0;


	init_time=0;
	

	signal(SIGTERM,freect);

	ProcessError(LOG_NORMAL,"PCS_Convert_File: this is NORMAL message in ","convertfile");



	flag=InitPcsConvertFile();

	if(flag!=0)

	{

		ProcessError(LOG_ERROR,"PCS_Convert_File: Error in function Init error", END);

		exit(0);

	}

	

	createdir();

	temp = SJFL_YXSJ;

	temp2= SJFL_BSFX;

	temp3= SJFL_PDYS;

	iTInterval=0;

	iTInterval=GetTimeInterval("PCS_CONVERT");

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

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 1;
 sqlstm.stmt = "select bsbh into :b0  from T_BSBH ";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )2;
 sqlstm.selerr = (unsigned short)1;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlstm.sqhstv[0] = (unsigned char  *)BsbhFromT;
 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);
}



	

begin:

	strcpy(YS_SINGAL,"        ");


	/* EXEC SQL SELECT count(*) INTO :rec_count FROM t_jsrz WHERE sjzt=:WAITFORCONVERT AND sjfl<>:temp2 ; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 3;
 sqlstm.stmt = "select count(*)  into :b0  from t_jsrz where (sjzt=:b1 and s\
jfl<>:b2)";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )20;
 sqlstm.selerr = (unsigned short)1;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlstm.sqhstv[0] = (unsigned char  *)&rec_count;
 sqlstm.sqhstl[0] = (unsigned int  )4;
 sqlstm.sqindv[0] = (         short *)0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqhstv[1] = (unsigned char  *)&WAITFORCONVERT;
 sqlstm.sqhstl[1] = (unsigned int  )1;
 sqlstm.sqindv[1] = (         short *)0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqhstv[2] = (unsigned char  *)&temp2;
 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( rec_count==0 ) 
		goto End;

	/* EXEC SQL DECLARE cur_convert CURSOR FOR

		SELECT jsxh,sjfl,sjbh FROM t_jsrz WHERE sjzt=:WAITFORCONVERT AND sjfl<>:temp2 ORDER BY sjbh; */ 
/**/

	/* EXEC SQL OPEN cur_convert; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 3;
 sqlstm.stmt = sq0003;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )46;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlstm.sqhstv[0] = (unsigned char  *)&WAITFORCONVERT;
 sqlstm.sqhstl[0] = (unsigned int  )1;
 sqlstm.sqindv[0] = (         short *)0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqhstv[1] = (unsigned char  *)&temp2;
 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);
}



	for( ;rec_count>0;rec_count-- )

	{

		/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */ 


		/* EXEC SQL FETCH cur_convert INTO :jsxh,:sjfl,:sjbh; */ 

{
  struct sqlexd sqlstm;

  sqlstm.sqlvsn = 8;
  sqlstm.arrsiz = 3;
  sqlstm.iters = (unsigned int  )1;
  sqlstm.offset = (unsigned int  )68;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)0;
  sqlstm.sqhstv[0] = (unsigned char  *)&jsxh;
  sqlstm.sqhstl[0] = (unsigned int  )4;
  sqlstm.sqindv[0] = (         short *)0;
  sqlstm.sqharm[0] = (unsigned int  )0;
  sqlstm.sqhstv[1] = (unsigned char  *)&sjfl;
  sqlstm.sqhstl[1] = (unsigned int  )1;
  sqlstm.sqindv[1] = (         short *)0;
  sqlstm.sqharm[1] = (unsigned int  )0;
  sqlstm.sqhstv[2] = (unsigned char  *)sjbh;
  sqlstm.sqhstl[2] = (unsigned int  )3;
  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( ERROR!=0 )

		{

			ERROR=0;

			continue;

		}

		flag=0;

		switch(sjfl)

		{

			case SJFL_ZDYS:	flag=CallConvertZDYS(jsxh,sjbh);

					break;

			case SJFL_PDYS:	flag=CallConvertPDYS(jsxh,sjbh);

					break;

			case SJFL_BKML:	flag=CallConvertBKML(jsxh,sjbh);

					break;

			case SJFL_ZFJ:	flag=CallConvertZFJ(jsxh,sjbh);

					break;

			case SJFL_GH:	flag=CallConvertGH(jsxh,sjbh);

					break;

			case SJFL_YXSJ:	flag=CallConvertYX(jsxh,sjbh);

					break;

			default:	ProcessError(LOG_ERROR,"PCS_Convert_File: error in pcsconvertfile sjfl is incorrect",END);

					flag=CONTNOTBREAK;

		}

		if(flag==CONTNOTBREAK)

			continue;

		if( flag!=0 )

		{

			sprintf(produce_err_str,"%10d,sjfl is %c,sjbh is %2s",jsxh,sjfl,sjbh);
			ProcessError(LOG_ERROR,"PCS_Convert_File: Error when call CallConvert jsxh is: ",produce_err_str);

			/* EXEC SQL ROLLBACK WORK; */ 

{
   struct sqlexd sqlstm;

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



	}

	

	/* EXEC SQL CLOSE cur_convert; */ 

{
 struct sqlexd sqlstm;

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




	PutBag();

End:
#ifdef DEBUG
		exit(0);
#endif


	sleep(iTInterval);

	goto begin;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -