📄 wca6520.pc
字号:
/*************************************************************************************************
* 僔僗僥儉俬俢 丗 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 + -