📄 pcs_snd_zdys_p.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[18];
};
static struct sqlcxp sqlfpn =
{
17,
"Pcs_Snd_ZDYS_P.pc"
};
static unsigned long sqlctx = 10237099;
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[13];
unsigned int sqhstl[13];
short *sqindv[13];
unsigned int sqharm[13];
unsigned int *sqharc[13];
} sqlstm = {8,13};
/* 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 *sq0006 =
"select yffs ,zfjbh ,fsxh from t_fszdyssj where fsxh=:b0 ";
static char *sq0011 =
"select fsxh from t_fsrz where (sjzt=:b0 and sjfl=:b1) ";
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,56,0,5,48,0,2,2,0,1,0,1,1,0,0,1,3,0,0,
24,0,0,2,0,0,29,50,0,0,0,0,1,0,
38,0,0,3,57,0,4,74,0,2,1,0,1,0,2,3,0,0,1,3,0,0,
60,0,0,4,116,0,4,88,0,13,1,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,3,0,0,2,97,0,0,2,
4,0,0,2,3,0,0,2,4,0,0,2,3,0,0,2,4,0,0,2,3,0,0,2,3,0,0,1,3,0,0,
126,0,0,5,46,0,4,111,0,2,1,0,1,0,2,97,0,0,1,3,0,0,
148,0,0,6,67,0,9,146,0,1,1,0,1,0,1,3,0,0,
166,0,0,6,0,0,13,150,0,3,0,0,1,0,2,3,0,0,2,97,0,0,2,3,0,0,
192,0,0,6,0,0,15,162,0,0,0,0,1,0,
206,0,0,7,0,0,31,172,0,0,0,0,1,0,
220,0,0,8,0,0,32,197,0,0,0,0,1,0,
234,0,0,9,34,0,4,227,0,1,0,0,1,0,2,97,0,0,
252,0,0,10,68,0,4,231,0,3,2,0,1,0,2,3,0,0,1,1,0,0,1,1,0,0,
278,0,0,11,65,0,9,240,0,2,2,0,1,0,1,1,0,0,1,1,0,0,
300,0,0,11,0,0,15,246,0,0,0,0,1,0,
314,0,0,11,0,0,13,252,0,1,0,0,1,0,2,3,0,0,
332,0,0,12,0,0,31,264,0,0,0,0,1,0,
346,0,0,13,0,0,29,268,0,0,0,0,1,0,
360,0,0,11,0,0,15,273,0,0,0,0,1,0,
};
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* File name : Pcs_Snd_ZDYS_P.x *
* Module ID : *
* Module Name : *
* Purpose : send ZDYS to MQ whose fszt=2 *
* Author : lix *
* Date Created : 1999,07,26 *
* Version : Version 1.0 *
* Environment : Digital UNIX *
* Portability : UNIX Platform *
* Warnings : *
* References : *
* Calling Syntax : *
* Parameters : None *
* Returns : void *
* Calling Function : *
* Called Functions : timely *
* 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 "unistd.h"
#include "/usr/bkfx/include/Pcs_Snd_YS_P/Pcs_Snd_YS_P.h"
#include <fcntl.h>
#include <signal.h>
#include "/usr/bkfx/include/myapi.h"
int PcsSndMQZDYS(long int key);
int UpdateHZRec( long int lg_Key );
void freect(void);
/*update the table to locate the relative flag*/
int UpdateHZRec( long int lg_Key )
{
char hzzt = HZ_SENDED;
/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */
/* EXEC SQL UPDATE T_HZ SET HZZT = :hzzt, HZJSSJ = SYSDATE
WHERE FSXH = :lg_Key; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 2;
sqlstm.stmt = "update T_HZ set HZZT=:b0,HZJSSJ=sysdate where FSXH=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )2;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&hzzt;
sqlstm.sqhstl[0] = (unsigned int )1;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&lg_Key;
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) sqlerror();
}
/* EXEC SQL COMMIT WORK; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 2;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )24;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) sqlerror();
}
return(1);
}
/* composing zdys MQ string and put then to MQ */
int PcsSndMQZDYS(long int key)
{
long int fsxh;
int yffs,qzlss;
int count_rec;
char tempstring[MID_LEN];
char datatype[SHORT_LEN];
char wjbh[SHORT_LEN];
char jsfbh[3];
int year;
int i;
int retcode=0;
char zfjbh[9];
struct stZDYSSMDBRec ZDYSSMDB;
struct stZDYSSMDBRec_id st_id;
struct stZDYSDBRec ZDYSDB;
ERROR=0;
/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */
/* EXEC SQL SELECT count(*) INTO :count_rec FROM t_fszdyssj WHERE fsxh=:key; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 2;
sqlstm.stmt = "select count(*) into :b0 from t_fszdyssj where fsxh=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )38;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&count_rec;
sqlstm.sqhstl[0] = (unsigned int )4;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&key;
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) sqlerror();
}
if( count_rec==0 )
{
ProcessError(LOG_ERROR,"PCS_Snd_ZDYS_P: Error cannot found yssj ",END);
return(-1);
}
message=(char *)malloc((YSSM_MSG_LEN+YSSJ_MSG_LEN*count_rec+1)*sizeof(char));
if( message==NULL )
{
ProcessError(LOG_ERROR,"PCS_Snd_ZDYS_P: No space in memory",END);
return(-1);
}
message[0]='\0';
/* EXEC SQL SELECT * INTO
:ZDYSSMDB.bkdh,
:ZDYSSMDB.yslx,
:ZDYSSMDB.wjbh,
:ZDYSSMDB.qdqa,
:ZDYSSMDB.kq,
:ZDYSSMDB.dingj :st_id.dingj,
:ZDYSSMDB.dyzs :st_id.dyzs,
:ZDYSSMDB.dyk :st_id.dyk,
:ZDYSSMDB.lszs :st_id.lszs,
:ZDYSSMDB.lsk :st_id.lsk,
:ZDYSSMDB.nf,
:ZDYSSMDB.xh
FROM t_fszdyssm WHERE fsxh=:key; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 13;
sqlstm.stmt = "select * into :b0,:b1,:b2,:b3,:b4,:b5:b6,:b7:b8,:b9:b10,:b11\
:b12,:b13:b14,:b15,:b16 from t_fszdyssm where fsxh=:b17";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )60;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)(ZDYSSMDB.bkdh);
sqlstm.sqhstl[0] = (unsigned int )8;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)(ZDYSSMDB.yslx);
sqlstm.sqhstl[1] = (unsigned int )2;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqhstv[2] = (unsigned char *)(ZDYSSMDB.wjbh);
sqlstm.sqhstl[2] = (unsigned int )3;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqhstv[3] = (unsigned char *)&(ZDYSSMDB.qdqa);
sqlstm.sqhstl[3] = (unsigned int )4;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqhstv[4] = (unsigned char *)(ZDYSSMDB.kq);
sqlstm.sqhstl[4] = (unsigned int )7;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqhstv[5] = (unsigned char *)&(ZDYSSMDB.dingj);
sqlstm.sqhstl[5] = (unsigned int )4;
sqlstm.sqindv[5] = ( short *)&(st_id.dingj);
sqlstm.sqharm[5] = (unsigned int )0;
sqlstm.sqhstv[6] = (unsigned char *)&(ZDYSSMDB.dyzs);
sqlstm.sqhstl[6] = (unsigned int )4;
sqlstm.sqindv[6] = ( short *)&(st_id.dyzs);
sqlstm.sqharm[6] = (unsigned int )0;
sqlstm.sqhstv[7] = (unsigned char *)&(ZDYSSMDB.dyk);
sqlstm.sqhstl[7] = (unsigned int )4;
sqlstm.sqindv[7] = ( short *)&(st_id.dyk);
sqlstm.sqharm[7] = (unsigned int )0;
sqlstm.sqhstv[8] = (unsigned char *)&(ZDYSSMDB.lszs);
sqlstm.sqhstl[8] = (unsigned int )4;
sqlstm.sqindv[8] = ( short *)&(st_id.lszs);
sqlstm.sqharm[8] = (unsigned int )0;
sqlstm.sqhstv[9] = (unsigned char *)&(ZDYSSMDB.lsk);
sqlstm.sqhstl[9] = (unsigned int )4;
sqlstm.sqindv[9] = ( short *)&(st_id.lsk);
sqlstm.sqharm[9] = (unsigned int )0;
sqlstm.sqhstv[10] = (unsigned char *)&(ZDYSSMDB.nf);
sqlstm.sqhstl[10] = (unsigned int )4;
sqlstm.sqindv[10] = ( short *)0;
sqlstm.sqharm[10] = (unsigned int )0;
sqlstm.sqhstv[11] = (unsigned char *)&(ZDYSSMDB.xh);
sqlstm.sqhstl[11] = (unsigned int )4;
sqlstm.sqindv[11] = ( short *)0;
sqlstm.sqharm[11] = (unsigned int )0;
sqlstm.sqhstv[12] = (unsigned char *)&key;
sqlstm.sqhstl[12] = (unsigned int )4;
sqlstm.sqindv[12] = ( short *)0;
sqlstm.sqharm[12] = (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();
}
/* ZDYSSMDB.bkdh[7]='\0';
ZDYSSMDB.yslx[1]='\0';
ZDYSSMDB.wjbh[2]='\0';
ZDYSSMDB.kq[6]='\0';
itoa(key,tempstring,11);
strcat(message,tempstring);
*/
sprintf(message,"%10ld",key);
/* EXEC SQL SELECT sjbh INTO :jsfbh FROM t_hz WHERE fsxh=:key; */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 13;
sqlstm.stmt = "select sjbh into :b0 from t_hz where fsxh=:b1";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )126;
sqlstm.selerr = (unsigned short)1;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)jsfbh;
sqlstm.sqhstl[0] = (unsigned int )3;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)&key;
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) sqlerror();
}
/* strcat(message,jsfbh);
strcat(message,BSBH);
str_format(ZDYSSMDB.bkdh,8);
strcat(message,ZDYSSMDB.bkdh);
str_format(ZDYSSMDB.yslx,2);
strcat(message,ZDYSSMDB.yslx);
str_format(ZDYSSMDB.wjbh,3);
strcat(message,ZDYSSMDB.wjbh);
*/
sprintf(message,"%s%2s%2s%7s%1s%2s",message,jsfbh,BSBH,ZDYSSMDB.bkdh,ZDYSSMDB.yslx,ZDYSSMDB.wjbh);
/* itoa(ZDYSSMDB.qdqa,tempstring,3);
strcat(message,tempstring);
strcat(message,ZDYSSMDB.kq);
ftoa(ZDYSSMDB.dingj,tempstring,2,8);
strcat(message,tempstring);
itoa(ZDYSSMDB.dyzs,tempstring,11);
strcat(message,tempstring);
ftoa(ZDYSSMDB.dyk,tempstring,2,12);
strcat(message,tempstring);
itoa(ZDYSSMDB.lszs,tempstring,11);
strcat(message,tempstring);
ftoa(ZDYSSMDB.lsk,tempstring,2,12);
strcat(message,tempstring);
itoa(ZDYSSMDB.nf,tempstring,5);
strcat(message,tempstring);
*/
sprintf(message,"%s%2d%6s%7.2f%10ld%11.2f%10d%11.2f%4d",message,\
ZDYSSMDB.qdqa,ZDYSSMDB.kq,ZDYSSMDB.dingj,ZDYSSMDB.dyzs,ZDYSSMDB.dyk,\
ZDYSSMDB.lszs,ZDYSSMDB.lsk,ZDYSSMDB.nf);
/* EXEC SQL DECLARE cur_yssj CURSOR FOR
SELECT yffs,zfjbh,fsxh FROM t_fszdyssj WHERE fsxh=:key; */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -