📄 pcs_rcv_zfjb.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[16];
};
static struct sqlcxp sqlfpn =
{
15,
"Pcs_Rcv_ZFJB.pc"
};
static unsigned long sqlctx = 2556683;
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[5];
unsigned int sqhstl[5];
short *sqindv[5];
unsigned int sqharm[5];
unsigned int *sqharc[5];
} sqlstm = {8,5};
/* 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 * _*/);
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,0,0,32,126,0,0,0,0,1,0,
16,0,0,2,0,0,27,148,0,3,3,0,1,0,1,9,0,0,1,9,0,0,1,10,0,0,
42,0,0,3,52,0,3,243,0,2,2,0,1,0,1,3,0,0,1,97,0,0,
64,0,0,4,0,0,31,254,0,0,0,0,1,0,
78,0,0,5,95,0,2,266,0,2,2,0,1,0,1,97,0,0,1,3,0,0,
100,0,0,6,50,0,2,268,0,2,2,0,1,0,1,97,0,0,1,3,0,0,
122,0,0,7,41,0,3,283,0,3,3,0,1,0,1,3,0,0,1,97,0,0,1,3,0,0,
148,0,0,8,0,0,31,293,0,0,0,0,1,0,
162,0,0,9,65,0,3,319,0,5,5,0,1,0,1,97,0,0,1,97,0,0,1,97,0,0,1,3,0,0,1,3,0,0,
196,0,0,10,0,0,29,321,0,0,0,0,1,0,
210,0,0,11,68,0,4,340,0,3,2,0,1,0,2,3,0,0,1,97,0,0,1,3,0,0,
236,0,0,12,133,0,2,343,0,2,2,0,1,0,1,97,0,0,1,3,0,0,
258,0,0,13,52,0,2,345,0,2,2,0,1,0,1,3,0,0,1,97,0,0,
280,0,0,14,50,0,2,346,0,2,2,0,1,0,1,3,0,0,1,97,0,0,
302,0,0,15,0,0,29,347,0,0,0,0,1,0,
316,0,0,16,0,0,31,349,0,0,0,0,1,0,
330,0,0,17,42,0,5,398,0,1,1,0,1,0,1,3,0,0,
348,0,0,18,0,0,29,400,0,0,0,0,1,0,
362,0,0,19,0,0,31,409,0,0,0,0,1,0,
};
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* File name : Pcs_Rcv_ZFJB.pc *
* Module ID : *
* Module Name : *
* Purpose : Get ZFJB Data From MQ And Insert Into DB *
* Author : Liu Yan Qiu (DIMPT) *
* Date Created : 1999,10,27 *
* Version : Version 1.0 *
* Environment : Digital UNIX *
* Portability : UNIX Platform *
* Warnings : *
* References : *
* Calling Syntax : *
* Parameters : None *
* Returns : void *
* Calling Function : *
* Called Functions : When system startup *
* Datastores and usages : *
* (a) Input *
* (b) OutPut *
* Report : None *
* Screens : None *
* Messages Files : None *
* Change Log : *
* Change No. Date Author Reason For Change *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
#include "/usr/bkfx/include/Pcs_Rcv_ZFJB/Pcs_Rcv_ZFJB.h"
void main()
{
signal(SIGTERM, Free_Mem);
/* EXEC SQL INCLUDE SQLCA;
*/
/*
* $Header: sqlca.h,v 1.3 1994/12/12 19:27:27 jbasu Exp $ sqlca.h
*/
/* Copyright (c) 1985,1986 by Oracle Corporation. */
/*
NAME
SQLCA : SQL Communications Area.
FUNCTION
Contains no code. Oracle fills in the SQLCA with status info
during the execution of a SQL stmt.
NOTES
**************************************************************
*** ***
*** This file is SOSD. Porters must change the data types ***
*** appropriately on their platform. See notes/pcport.doc ***
*** for more information. ***
*** ***
**************************************************************
If the symbol SQLCA_STORAGE_CLASS is defined, then the SQLCA
will be defined to have this storage class. For example:
#define SQLCA_STORAGE_CLASS extern
will define the SQLCA as an extern.
If the symbol SQLCA_INIT is defined, then the SQLCA will be
statically initialized. Although this is not necessary in order
to use the SQLCA, it is a good pgming practice not to have
unitialized variables. However, some C compilers/OS's don't
allow automatic variables to be init'd in this manner. Therefore,
if you are INCLUDE'ing the SQLCA in a place where it would be
an automatic AND your C compiler/OS doesn't allow this style
of initialization, then SQLCA_INIT should be left undefined --
all others can define SQLCA_INIT if they wish.
If the symbol SQLCA_NONE is defined, then the SQLCA variable will
not be defined at all. The symbol SQLCA_NONE should not be defined
in source modules that have embedded SQL. However, source modules
that have no embedded SQL, but need to manipulate a sqlca struct
passed in as a parameter, can set the SQLCA_NONE symbol to avoid
creation of an extraneous sqlca variable.
MODIFIED
jbasu 12/12/94 - Bug 217878: note this is an SOSD file
losborne 08/11/92 - No sqlca var if SQLCA_NONE macro set
Clare 12/06/84 - Ch SQLCA to not be an extern.
Clare 10/21/85 - Add initialization.
Bradbury 01/05/86 - Only initialize when SQLCA_INIT set
Clare 06/12/86 - Add SQLCA_STORAGE_CLASS option.
*/
#ifndef SQLCA
#define SQLCA 1
struct sqlca
{
/* ub1 */ char sqlcaid[8];
/* b4 */ long sqlabc;
/* b4 */ long sqlcode;
struct
{
/* ub2 */ unsigned short sqlerrml;
/* ub1 */ char sqlerrmc[70];
} sqlerrm;
/* ub1 */ char sqlerrp[8];
/* b4 */ long sqlerrd[6];
/* ub1 */ char sqlwarn[8];
/* ub1 */ char sqlext[8];
};
#ifndef SQLCA_NONE
#ifdef SQLCA_STORAGE_CLASS
SQLCA_STORAGE_CLASS struct sqlca sqlca
#else
struct sqlca sqlca
#endif
#ifdef SQLCA_INIT
= {
{'S', 'Q', 'L', 'C', 'A', ' ', ' ', ' '},
sizeof(struct sqlca),
0,
{ 0, {0}},
{'N', 'O', 'T', ' ', 'S', 'E', 'T', ' '},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
}
#endif
;
#endif
#endif
/* end SQLCA */
/* */
/*
* $Header: sqlca.h,v 1.3 1994/12/12 19:27:27 jbasu Exp $ sqlca.h
*/
/* Copyright (c) 1985,1986 by Oracle Corporation. */
/*
NAME
SQLCA : SQL Communications Area.
FUNCTION
Contains no code. Oracle fills in the SQLCA with status info
during the execution of a SQL stmt.
NOTES
**************************************************************
*** ***
*** This file is SOSD. Porters must change the data types ***
*** appropriately on their platform. See notes/pcport.doc ***
*** for more information. ***
*** ***
**************************************************************
If the symbol SQLCA_STORAGE_CLASS is defined, then the SQLCA
will be defined to have this storage class. For example:
#define SQLCA_STORAGE_CLASS extern
will define the SQLCA as an extern.
If the symbol SQLCA_INIT is defined, then the SQLCA will be
statically initialized. Although this is not necessary in order
to use the SQLCA, it is a good pgming practice not to have
unitialized variables. However, some C compilers/OS's don't
allow automatic variables to be init'd in this manner. Therefore,
if you are INCLUDE'ing the SQLCA in a place where it would be
an automatic AND your C compiler/OS doesn't allow this style
of initialization, then SQLCA_INIT should be left undefined --
all others can define SQLCA_INIT if they wish.
If the symbol SQLCA_NONE is defined, then the SQLCA variable will
not be defined at all. The symbol SQLCA_NONE should not be defined
in source modules that have embedded SQL. However, source modules
that have no embedded SQL, but need to manipulate a sqlca struct
passed in as a parameter, can set the SQLCA_NONE symbol to avoid
creation of an extraneous sqlca variable.
MODIFIED
jbasu 12/12/94 - Bug 217878: note this is an SOSD file
losborne 08/11/92 - No sqlca var if SQLCA_NONE macro set
Clare 12/06/84 - Ch SQLCA to not be an extern.
Clare 10/21/85 - Add initialization.
Bradbury 01/05/86 - Only initialize when SQLCA_INIT set
Clare 06/12/86 - Add SQLCA_STORAGE_CLASS option.
*/
#ifndef SQLCA
#define SQLCA 1
struct sqlca
{
/* ub1 */ char sqlcaid[8];
/* b4 */ long sqlabc;
/* b4 */ long sqlcode;
struct
{
/* ub2 */ unsigned short sqlerrml;
/* ub1 */ char sqlerrmc[70];
} sqlerrm;
/* ub1 */ char sqlerrp[8];
/* b4 */ long sqlerrd[6];
/* ub1 */ char sqlwarn[8];
/* ub1 */ char sqlext[8];
};
#ifndef SQLCA_NONE
#ifdef SQLCA_STORAGE_CLASS
SQLCA_STORAGE_CLASS struct sqlca sqlca
#else
struct sqlca sqlca
#endif
#ifdef SQLCA_INIT
= {
{'S', 'Q', 'L', 'C', 'A', ' ', ' ', ' '},
sizeof(struct sqlca),
0,
{ 0, {0}},
{'N', 'O', 'T', ' ', 'S', 'E', 'T', ' '},
{0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0}
}
#endif
;
#endif
#endif
/* end SQLCA */
ProcessError(LOG_NORMAL, "Pcs_Rcv_ZFJB.x Is Begin!",END);
while(1)
{
rtn_code = MQBKInit("ZFJ");
if ( rtn_code < 0 )
{
ProcessError(LOG_ERROR,"Calling Funtion MQBKInit() Failed!",END);
sleep(InitInterval);
}
else
break;
}
rtn_code=InitRcvZFJB();
if ( rtn_code < 0 )
{
ProcessError(LOG_ERROR,"PCS_RCV_ZFJB.X: Calling Function InitRcvZFJB() \
Failed!",END);
}
rtn_code = PCSRcvZFJB();
if ( rtn_code < 0 )
{
ProcessError(LOG_ERROR,"PCS_RCV_ZFJB.X: Calling Function PCSRcvZFJB() \
Failed!",END);
}
}
int PCSRcvZFJB()
{
int i=0;
while (1)
{
rtn_code = ReadZFJBMsg();
if ( rtn_code == -2 ) /* no message arrived */
{
sleep( interval );
}
else if ( rtn_code == -3 ) /* received an error message */
{
ProcessError(LOG_ERROR,"PCS_RCV_ZFJB.X: Can't Get Correct Message \
From ZFJB MQ! Now Skip The Current Message \
And Try To Read Next One!",END);
sleep( interval );
}
else
{
rtn_code = CreateRcvLogStatus();
if ( rtn_code < 0 ) continue;
rtn_code = InsertRcvZFJB();
if ( rtn_code < 0 ) continue;
rtn_code = InsertRcvZFJBNR();
if ( rtn_code < 0 ) continue;
rtn_code = Snd_HZ_MQ();
if ( rtn_code < 0 ) continue;
rtn_code = UpdateRcvLogStatus();
if ( rtn_code < 0 ) continue;
/* sleep( interval ); */
}
}
return(1);
}
void Free_Mem()
{
ProcessError(LOG_NORMAL, "Pcs_Rcv_ZFJB.x Is Terminated By User!",END);
if ( tmp != NULL ) free( tmp );
if ( buf_hz != NULL ) free( buf_hz);
if ( data_type != NULL ) free( data_type );
MQBKClear();
/* EXEC SQL RollBack RELEASE; */
{
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);
}
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -