📄 pcs_rcv_gh.pc
字号:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* File name : Pcs_Rcv_GH.pc *
* Module ID : *
* Module Name : *
* Purpose : Get GH 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_GH/Pcs_Rcv_GH.h"
void main()
{
signal(SIGTERM, Free_Mem);
EXEC SQL INCLUDE SQLCA;
ProcessError(LOG_NORMAL, "Pcs_Rcv_GH.x Is Begin!\n",END);
rtn_code=InitRcvGH();
if ( rtn_code < 0 )
{
ProcessError(LOG_ERROR,"Pcs_Rcv_GH.x: Calling Function \
InitRcvGH() Failed!",END);
}
rtn_code = PCSRcvGH();
if ( rtn_code < 0 )
{
ProcessError(LOG_ERROR,"Pcs_Rcv_GH.x: Calling Function \
PCSRcvGH() Failed!",END);
}
}
int InitRcvGH()
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR userid[20];
VARCHAR password[20];
EXEC SQL END DECLARE SECTION;
strcpy( userid.arr, "pcsdba" );
userid.len = strlen( userid.arr );
strcpy( password.arr, "dba" );
password.len = strlen( password.arr );
EXEC SQL WHENEVER SQLERROR GOTO sqlerror;
EXEC SQL CONNECT :userid IDENTIFIED BY :password;
interval = GetTimeInterval("PCS_RCV_GH");
#ifdef DEBUG
printf("interval is %d\n",interval);
#endif
rtn_code = MQBKInit("GL");
if (rtn_code != 0)
{
ProcessError(LOG_ERROR,"Pcs_Rcv_GH.x: Calling Function \
MQBKInit() Failed!",END);
return(-1);
}
return (1);
sqlerror:
EXEC SQL WHENEVER SQLERROR CONTINUE;
ProcessError(LOG_ERROR, "DataBase Error:%s!", sqlca.sqlerrm.sqlerrmc );
exit(-1);
}
int PCSRcvGH()
{
while (1)
{
rtn_code = ReadGHMsg();
if ( rtn_code == -2 ) /* no message arrived */
{
sleep( interval );
}
else if ( rtn_code == -3 ) /* received an error message */
{
ProcessError(LOG_ERROR,"Pcs_Rcv_GH.x: Can't Get Correct \
Message From GL MQ! Now Skip The Current \
Message And Try To Read The Next One!",END);
sleep( interval );
}
else
{
if ( ( data_type[0] == 'G' ) && ( data_type[1] == 'H' ) )
{
rtn_code = CreateRcvLogStatus();
if ( rtn_code < 0 ) continue;
rtn_code = InsertRcvGHRec();
if ( rtn_code < 0 ) continue;
rtn_code = Snd_HZ_MQ();
if ( rtn_code < 0 ) continue;
rtn_code = UpdateRcvLogStatus();
if ( rtn_code < 0 ) continue;
}
else if ( ( data_type[0] == 'C' ) && ( data_type[1]=='A' ) && \
( data_type[2] == 'N' ) )
{
rtn_code = Cancel_UpdateJSRZ();
if ( rtn_code < 0 ) continue;
}
free( data_type );
} /* end of else */
} /* end of while */
return(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -