📄 pcs_convert_file.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 + -