📄 pcs_snd_ys1.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[15];
};
static struct sqlcxp sqlfpn =
{
14,
"Pcs_Snd_YS1.pc"
};
static unsigned long sqlctx = 1279283;
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[2];
unsigned int sqhstl[2];
short *sqindv[2];
unsigned int sqharm[2];
unsigned int *sqharc[2];
} sqlstm = {8,2};
/* 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,44,0,0,0,0,1,0,
16,0,0,2,0,0,32,88,0,0,0,0,1,0,
30,0,0,3,0,0,32,100,0,0,0,0,1,0,
44,0,0,4,0,0,32,111,0,0,0,0,1,0,
58,0,0,5,0,0,32,119,0,0,0,0,1,0,
72,0,0,6,0,0,32,129,0,0,0,0,1,0,
86,0,0,7,0,0,32,142,0,0,0,0,1,0,
100,0,0,8,75,0,4,227,0,2,1,0,1,0,2,3,0,0,1,3,0,0,
122,0,0,9,57,0,4,228,0,2,1,0,1,0,2,3,0,0,1,3,0,0,
144,0,0,10,42,0,5,233,0,2,2,0,1,0,1,1,0,0,1,3,0,0,
166,0,0,11,42,0,5,300,0,2,2,0,1,0,1,1,0,0,1,3,0,0,
};
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* File name : PCS_Snd_YS1.x *
* Module ID : *
* Module Name : *
* Purpose : Convert YS data's format,record them in database *
* Author : *
* Date Created : 1999,07,14 *
* 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 "stdio.h"
#include "stdlib.h"
#include "sqlca.h"
#include "sqlcpr.h"
#include <fcntl.h>
#include <signal.h>
#include "/usr/bkfx/include/Pcs_Snd_YS1/Pcs_Snd_YS1.h"
#include "/usr/bkfx/include/Pcs_Snd_YS1/ys1api.h"
int freect(void)
{
if( buf1 != NULL )
free(buf1);
if( buf2 != NULL )
free(buf2);
/* EXEC SQL ROLLBACK WORK 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);
}
if( fp!= NULL )
fclose(fp);
/* CloseErrLogObj();
*/ return(0);
}
/* the functions above are for PDYSSM and for PDYSSJ */
int mainfunction(char *arg,char *produce_err_str)
{
char tempstring[SHORT_NUM];
char filename[SHORT_NUM];
int typeflag;
int flag;
int CountYSSM;
char cLine[MAX];
long int YS_Len;
int i,k;
int retcode=0;
char *PID = "Client Txn Clt_Mpt Process(Port 7111)";
struct stZDYSSMDBRec stZDYSSMDB;
struct stPDYSSMDBRec stPDYSSMDB;
int m,n,count_zfj_zz,count_yssj_zz;
char flag_ZXBF;
int error_when_show_msg=0; /*when this flag is 1, errlog will receive the message about error record*/
m=0;n=0;
flag_ZXBF='6';
ERROR=0;
signal(SIGTERM,freect);
typeflag=InitPcsSnd_YS1();
if(typeflag!=0)
{
ProcessError(LOG_ERROR,"PCS_Snd_YS1: Init error", END);
return(-1);
}
fp = fopen( arg,"r" );
if( fp == NULL )
{
ProcessError(LOG_ERROR,"PCS_Snd_YS1: Error in function cannot open ", arg);
/* exec sql rollback work release; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 0;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )16;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}
return(-1);
}
trimpath( arg,filename );
for( CountYSSM=0;CountYSSM<MAX;CountYSSM++ )
{
flag=myapi_ReadALinefromF( cLine,fp );
if( flag!=1 )
{
fclose(fp);
ProcessError(LOG_ERROR,"PCS_Snd_YS1: Error when read a line from ",arg);
/* exec sql rollback work release; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 0;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )30;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}
return(-1);
}
if( cLine[0]=='X'&&cLine[1]=='0'&&cLine[2]=='X'&&cLine[3]=='0')
break;
}
rewind(fp);
buf1= (char *) malloc ((YSSM_LEN+1)*CountYSSM+1);
if( buf1==NULL )
{
ProcessError(LOG_ERROR,"PCS_Snd_YS1: Error in function no space in memory",END);
/* exec sql rollback work release; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 0;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )44;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}
fclose(fp);
return(-1);
}
flag=fread( buf1,sizeof(char),(YSSM_LEN+1)*CountYSSM,fp);
if( flag!=(YSSM_LEN+1)*CountYSSM )
{
ProcessError(LOG_ERROR,"PCS_Snd_YS1: Error in function when fread yssm to buffer",END);
/* exec sql rollback work release; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 0;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )58;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}
free(buf1);
fclose(fp);
return(-1);
}
buf1[(YSSM_LEN+1)*CountYSSM]='\0';
flag=myapi_ReadALinefromF(cLine,fp);
if( flag!=1 )
{
ProcessError(LOG_ERROR,"PCS_Snd_YS1: Error when read a line from ", arg);
/* exec sql rollback work release; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 0;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )72;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}
free(buf1);
fclose(fp);
return(-1);
}
YS_Len= ftell(fp);
fseek(fp,0,2);
YS_Len=ftell(fp)-YS_Len;
buf2= (char *)malloc(YS_Len+1);
if( buf2==NULL )
{
ProcessError(LOG_ERROR,"PCS_Snd_YS1: no space in memory",END);
/* exec sql rollback work release; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -