⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wca6520.pc

📁 this can resolve the problem ,which answer the communication such as in opentp one envierment.
💻 PC
📖 第 1 页 / 共 3 页
字号:
/*************************************************************************************************
* 僔僗僥儉俬俢		丗	WCA
* 僔僗僥儉柤徧		丗	屭媞姩掕僔僗僥儉
* 儌僕儏乕儖俬俢	丗	wca6520
* 儌僕儏乕儖柤徧	丗	岥嵗怳懼娗棟僨乕僞搊榐張棟
* 婡擻奣梫			丗	岥嵗怳懼忣曬僥乕僽儖偐傜丄拪弌偟偨僨乕僞傪岥嵗怳懼娗棟僥乕僽儖偵搊榐偡傞丅
*						怳懼張棟梷巭嬫暘丄怳懼張棟僌儖乕僾埲奜偼丄岥嵗怳懼忣曬僥乕僽儖偺撪梕傪庴偗
*						宲偓傑偡丅
*						嵟廔僨乕僞弌椡屻丄僄儞僪儗僐乕僪偺弌椡傪峴偆丅
*						僄儞僪儗僐乕僪偼丄嵟廔僨乕僞偺怳懼張棟捠斣丆怳懼張棟僌儖乕僾偺崁栚傪巜掕撪
*						梕偵曄峏偟搊榐偟傑偡丅(僌儖乕僾悢暘)
*						柧嵶偑侽審帪偼丄僄儞僪儗僐乕僪偺傒嶌惉偟搊榐偟傑偡丅(僌儖乕僾悢暘)
* 堷悢				丗	側偟
* 栠傝抣			丗	CNS_EXIT_NORMAL	丗惓忢廔椆
*						CNS_EXIT_ERROR	丗堎忢廔椆
*
* 夵掶棜楌
* 擭寧擔	嬫暘	強懏	撪梕
* --------	----	------	----------------------------------------------------------------------
* 20071129	怴婯	NRI
*
* Copyright (C) 2002 by Nomura Research Institute,Ltd.
* All rights reserved.
*************************************************************************************************/
/*************************************************************************************************
* SCCS僐儊儞僩
*************************************************************************************************/
char id_wca6520[80] = "@(#) %M% ver.%I%(%E% %U%)";

/*************************************************************************************************
* 僿僢僟乕僼傽僀儖偺僀儞僋儖乕僪
*************************************************************************************************/
/*--- 僔僗僥儉僿僢僟乕僼傽僀儖			---*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

/*--- 僷僢働乕僕採嫙僿僢僟乕僼傽僀儖	---*/
#include <sqlca.h>									/* Oracle SQLCA								*/

/*--- 僥乕僽儖掕媊僿僢僟乕僼傽僀儖		---*/
#include "wcatkzfj.h"								/* 岥嵗怳懼忣曬僥乕僽儖掕媊					*/
#include "wcatkzfk.h"								/* 岥嵗怳懼娗棟僥乕僽儖掕媊					*/

/*--- 俙俹俴僿僢僟乕僼傽僀儖			---*/
#include "wcaprot_batch.h"							/* 僶僢僠儊僀儞梡偲偔偲偔僷僢僋掕媊			*/
#include "WCA_DEBUG.h"								/* 僨僶僢僌梡儊僢僙乕僕昞帵梡掕媊			*/
#include "wcadbinsert.h"							/* Oracle憓擖梡掕媊							*/
#include "wcatkzfj_fetch.h"							/* 岥嵗怳懼忣曬僥乕僽儖FETCH梡掕媊			*/
#include "wcatkzfk_init.h"							/* 岥嵗怳懼娗棟僥乕僽儖峔憿懱弶婜壔梡掕媊	*/

/*************************************************************************************************
* 儅僋儘偺掕媊
*************************************************************************************************/
#define DEF_PROG_ID			"wca6520"				/* 僾儘僌儔儉俬俢							*/
#define DEF_COMMIT_POINT	"WCA_COMMIT_POINT"		/* 僐儈僢僩億僀儞僩娐嫬曄悢					*/
#define DEF_BATCH_SUP_COUNT	"WCA_BATCH_SUP_COUNT"	/* 僶僢僠張棟SUP婲摦悢娐嫬曄悢				*/
#define DEF_PROCESS_GRP_ADD	"WCA_PROCESS_GRP_ADD"	/* 怳懼張棟僌儖乕僾壛嶼悢娐嫬曄悢			*/

/*************************************************************************************************
* 撪晹娭悢偺僾儘僩僞僀僾愰尵
*************************************************************************************************/
/*--- 嫟捠僄儔乕僷働僢僩曇廤(娐嫬曄悢庢摼僄儔乕梡)							---*/
static	void lf_errpkt_set_env(
	struct	tag_wcaerrpkt	*pst_wcaerrpkt,			/* 嫟捠僄儔乕僷働僢僩						*/
	long	wk_position_main,						/* 僄儔乕億僕僔儑儞乮儊僀儞乯				*/
	char	*pwk_env_name							/* 娐嫬曄悢柤								*/
);

/*--- 嫟捠僄儔乕僷働僢僩曇廤(Oracle僄儔乕梡)								---*/
static	void lf_errpkt_set_ora(
	struct	tag_wcaerrpkt	*pst_wcaerrpkt,			/* 嫟捠僄儔乕僷働僢僩億僀儞僞				*/
	char	*pwk_table_name,						/* 僥乕僽儖柤								*/
	char	*pwk_sql_action,						/* SQL摦嶌									*/
	long	wk_position_main						/* 僄儔乕億僕僔儑儞乮儊僀儞乯				*/
);

/*--- 岥嵗怳懼娗棟僥乕僽儖峔憿懱曇廤張棟(僼僃僢僠NORMAL)					---*/
static	void lf_set_kzfk_nml(
	struct	tag_wcacalpkt	*pst_wcacalpkt,			/* 嫟捠僇儗儞僟乕僷働僢僩					*/
	struct	tag_wcatkzfj	*pst_wcatkzfj,			/* 岥嵗怳懼忣曬僥乕僽儖峔憿懱				*/
	struct	tag_wcatkzfk	*pst_wcatkzfk,			/* 岥嵗怳懼娗棟僥乕僽儖峔憿懱				*/
	char	*pwk_sequence,							/* 儕傾儖岥怳張棟捠斣儚乕僋					*/
	long	wk_batch_sup_count,						/* 僶僢僠張棟SUP婲摦悢						*/
	long	wk_process_grp_add						/* 怳懼張棟僌儖乕僾壛嶼悢					*/
);

/*--- 岥嵗怳懼娗棟僥乕僽儖峔憿懱僄儞僪儗僐乕僪曇廤張棟(僼僃僢僠NOTFOUND)	---*/
static	void lf_set_kzfk_nfd(
	struct	tag_wcacalpkt	*pst_wcacalpkt,			/* 嫟捠僇儗儞僟乕僷働僢僩					*/
	struct	tag_wcatkzfj	*pst_wcatkzfj,			/* 岥嵗怳懼忣曬僥乕僽儖峔憿懱				*/
	struct	tag_wcatkzfk	*pst_wcatkzfk,			/* 岥嵗怳懼娗棟僥乕僽儖峔憿懱				*/
	long	wk_batch_sup_count						/* 僶僢僠張棟SUP婲摦悢						*/
);

/*--- 岥嵗怳懼娗棟僥乕僽儖峔憿懱僄儞僪儗僐乕僪曇廤張棟(僼僃僢僠NORECORD)	---*/
static	void lf_set_kzfk_nrd(
	struct	tag_wcacalpkt	*pst_wcacalpkt,			/* 嫟捠僇儗儞僟乕僷働僢僩					*/
	struct	tag_wcatkzfk	*pst_wcatkzfk,			/* 岥嵗怳懼娗棟僥乕僽儖峔憿懱				*/
	long	wk_batch_sup_count						/* 僶僢僠張棟SUP婲摦悢						*/
);

/*************************************************************************************************
* 僌儘乕僶儖曄悢偺愰尵
*************************************************************************************************/

/*************************************************************************************************
* 儊僀儞張棟
*************************************************************************************************/
int main(
	int		argc, 									/* 堷悢偺悢									*/
	char	*argv[]									/* 堷悢偺億僀儞僞攝楍						*/
) {

	/*-------------------------------------------------------------------------------------------*
	* 儘乕僇儖曄悢偺掕媊
	*-------------------------------------------------------------------------------------------*/
	int		wk_myrtn;								/* 摉娭悢偺栠傝抣							*/
	int		wk_wcatkzfj_open_flag;				/* 岥嵗怳懼忣曬僥乕僽儖僇乕僜儖僆乕僾儞僼儔僌	*/
	int		wk_zfj_rtn;								/* 娭悢偺栠傝抣								*/

	long	wk_wcatkzfj_fetch_cnt;					/* 岥嵗怳懼忣曬僥乕僽儖僼僃僢僠審悢儚乕僋	*/
	long	wk_wcatkzfk_insert_cnt;					/* 岥嵗怳懼娗棟僥乕僽儖彂偒崬傒審悢儚乕僋	*/
	long	wk_commit_point;						/* 僐儈僢僩億僀儞僩儚乕僋					*/
	long	wk_batch_sup_count;						/* 僶僢僠張棟SUP婲摦悢儚乕僋				*/
	long	wk_process_grp_add;						/* 怳懼張棟僌儖乕僾壛嶼悢儚乕僋				*/

	char	wk_sequence[5 + 1];						/* 儕傾儖岥怳張棟捠斣儚乕僋					*/
	char	wk_where[1024];							/* WHERE嬪儚乕僋							*/
	char	wk_order[1024];							/* ORDER嬪儚乕僋							*/
	char	*pwk_env;								/* 娐嫬曄悢庢摼梡億僀儞僞乕					*/

	struct	tag_wcaerrpkt		st_wcaerrpkt;		/* 嫟捠僄儔乕僷働僢僩峔憿懱掕媊				*/
	struct	tag_wcaerrpkt		st_wcaerrpkt_wk;	/* 嫟捠僄儔乕僷働僢僩儚乕僋峔憿懱掕媊		*/
	struct	tag_wcacalpkt		st_wcacalpkt;		/* 嫟捠僇儗儞僟乕僷働僢僩峔憿懱掕媊			*/
	struct	tag_wcatkzfj		st_wcatkzfj;		/* 岥嵗怳懼忣曬僥乕僽儖峔憿懱掕媊			*/
	struct	tag_wcatkzfk		st_wcatkzfk;		/* 岥嵗怳懼娗棟僥乕僽儖峔憿懱掕媊			*/
	struct	tag_wcamsgs			st_wcamsgs;			/* 奐巒儊僢僙乕僕昞帵梡儕僋僄僗僩僷働僢僩	*/
	struct	tag_wcamsge			st_wcamsge;			/* 廔椆儊僢僙乕僕昞帵梡儕僋僄僗僩僷働僢僩	*/
	struct	tag_wcamsgcnt		st_wcamsgcnt;		/* 張棟審悢昞帵梡儕僋僄僗僩僷働僢僩			*/

	/*--- 僨僶僢僌梡儊僢僙乕僕奐巒 ---*/
	wcaMsgStart(DEF_PROG_ID);

	/*-------------------------------------------------------------------------------------------*
	* 奐巒張棟
	*-------------------------------------------------------------------------------------------*/
	WCA_DEBUG(DEF_PROG_ID, "******              奐巒張棟              ******\n");
	/*--- 撪晹曄悢偺弶婜壔								---*/
	wk_myrtn = CNS_EXIT_NORMAL;
	wk_wcatkzfj_open_flag = CNS_OFF;
	wk_zfj_rtn = CNS_EXIT_NORMAL;
	wk_wcatkzfj_fetch_cnt = 0;
	wk_wcatkzfk_insert_cnt = 0;
	wk_commit_point = 0;
	wk_batch_sup_count = 0;
	wk_process_grp_add = 0;

	memset(wk_where, '\0', sizeof (wk_where));
	memset(wk_order, '\0', sizeof (wk_order));
	memset(&st_wcamsgs, '\0', sizeof (struct tag_wcamsgs));
	memset(&st_wcamsge, '\0', sizeof (struct tag_wcamsge));
	memset(&st_wcamsgcnt, '\0', sizeof (struct tag_wcamsgcnt));
	memset(&st_wcaerrpkt_wk, '\0', sizeof (struct tag_wcaerrpkt));

	/*--- 岥嵗怳懼娗棟僥乕僽儖峔憿懱弶婜壔				---*/
	wcatkzfk_init(&st_wcatkzfk);

	/*--- 奐巒儊僢僙乕僕偺弌椡							---*/
	strcpy(st_wcamsgs.prog_id, DEF_PROG_ID);
	wcamsgs(&st_wcamsgs);

	/*--- 嫟捠僄儔乕僷働僢僩偺弶婜壔					---*/
	wcaerrpkt_init(&st_wcaerrpkt);

	/*--- 僐儈僢僩億僀儞僩庢摼							---*/
	if (NULL == (pwk_env = getenv(DEF_COMMIT_POINT))) {
		WCA_DEBUG(DEF_PROG_ID, "僐儈僢僩億僀儞僩庢摼僄儔乕\n");
		lf_errpkt_set_env(&st_wcaerrpkt, __LINE__, DEF_COMMIT_POINT);
		wk_myrtn = CNS_EXIT_ERROR;
		goto PROG_END;
	}
	wk_commit_point = atol(pwk_env);
	WCA_DEBUG(DEF_PROG_ID, "僐儈僢僩億僀儞僩 = [%ld]\n", wk_commit_point);

	/*--- 僶僢僠張棟SUP婲摦悢庢摼						---*/
	if (NULL == (pwk_env = getenv(DEF_BATCH_SUP_COUNT))) {
		WCA_DEBUG(DEF_PROG_ID, "僶僢僠張棟SUP婲摦悢庢摼僄儔乕\n");
		lf_errpkt_set_env(&st_wcaerrpkt, __LINE__, DEF_BATCH_SUP_COUNT);
		wk_myrtn = CNS_EXIT_ERROR;
		goto PROG_END;
	}
	wk_batch_sup_count = atol(pwk_env);
	WCA_DEBUG(DEF_PROG_ID, "僶僢僠張棟SUP婲摦悢 = [%ld]\n", wk_batch_sup_count);

	/*--- 怳懼張棟僌儖乕僾壛嶼悢庢摼					---*/
	if (NULL == (pwk_env = getenv(DEF_PROCESS_GRP_ADD))) {
		WCA_DEBUG(DEF_PROG_ID, "怳懼張棟僌儖乕僾壛嶼悢庢摼僄儔乕\n");
		lf_errpkt_set_env(&st_wcaerrpkt, __LINE__, DEF_PROCESS_GRP_ADD);
		wk_myrtn = CNS_EXIT_ERROR;
		goto PROG_END;
	}
	wk_process_grp_add = atol(pwk_env);
	WCA_DEBUG(DEF_PROG_ID, "怳懼張棟僌儖乕僾壛嶼悢 = [%ld]\n", wk_process_grp_add);

	/*--- Oracle偺儘僌僆儞								---*/
	if (CNS_RTN_NORMAL != wcalogon(&st_wcaerrpkt)) {
		WCA_DEBUG(DEF_PROG_ID, "Oracle偺儘僌僆儞僄儔乕\n");
		st_wcaerrpkt.position_main = __LINE__;
		wk_myrtn = CNS_EXIT_ERROR;
		goto PROG_END;
	}

	/*--- 嫟捠僇儗儞僟乕僷働僢僩偺弶婜壔				---*/
	if (CNS_RTN_NORMAL != wcacalpkt_init(&st_wcaerrpkt, CNS_T_ONLINE, &st_wcacalpkt)) {
		WCA_DEBUG(DEF_PROG_ID, "嫟捠僇儗儞僟乕僷働僢僩偺弶婜壔僄儔乕\n");
		st_wcaerrpkt.position_main = __LINE__;
		wk_myrtn = CNS_EXIT_ERROR;
		goto PROG_END;
	}
	WCA_DEBUG(DEF_PROG_ID, "嫟捠僇儗儞僟乕僷働僢僩\n");
	WCA_DEBUG(DEF_PROG_ID, "塩嬈擔嬫暘 = [%s]\n", st_wcacalpkt.eigyobi_kbn);
	WCA_DEBUG(DEF_PROG_ID, "張棟擭寧擔 = [%s]\n", st_wcacalpkt.shori_ymd);
	WCA_DEBUG(DEF_PROG_ID, "張棟擔梻塩嬈擔 = [%s]\n", st_wcacalpkt.shoribi_ye2);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -