#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：顧客管理
#
# シェル名      ：外部不良顧客情報登録
#
# 機能          ：ファイルを読み込み、不良顧客データを不良顧客へ登録する。
#
# コマンド形式  ：EO10C0310J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#
##############################################################

##############################################################
# 環境変数定義
##############################################################

#
#---ツール格納場所
#
G_TOOLSH=.

#
#---環境変数定義Shell呼び出し
#
. EOK010110J0.sh

#
#---ＪＯＢ名
#
JOBNAME=`basename $0 | sed -e "s/\.sh//g"`

#
#---サービス（業務プロセス）
#
SVC=$JOBNAME

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
. EOK010410J0.sh 1
SYSDATE=`echo $RSLT_SYSDATE`

CKIFM004004_FILE=${MID_DIR_CK}/CKIFM004004.csv
# 2014.03.11 OM-2014-0000863 ADD START
CKIFM004004_WORK1_FILE=${MID_DIR_CK}/CKIFM004004_WORK1.csv
CKIFM004004_WORK2_FILE=${MID_DIR_CK}/CKIFM004004_WORK2.csv
# 2014.03.11 OM-2014-0000863 ADD END

LOADER_CTL_CK_T_HURYO_CUST=${SQL_LOADER_CTL_DIR}/CK_T_HURYO_CUST_01.ctl
LOAD_FILE_CK_T_HURYO_CUST=${MID_DIR_CK}/CK_T_HURYO_CUST_01.ctl
LOAD_FILE_CK_T_HURYO_CUST_WORK=${MID_DIR_CK}/CK_T_HURYO_CUST_01_WORK.ctl

LOG_FILE=${SQL_LOADER_LOG_DIR}/CK_T_HURYO_CUST_01_${SYSDATE}.log
BAD_FILE=${SQL_LOADER_BAD_DIR}/CK_T_HURYO_CUST_01_${SYSDATE}.bad

##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME
sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME

# 運用日付取得
. EOK010310J0.sh BDATE
OPEDATE=`echo $RSLT_OPEDATE`

# 処理ID取得
LOARD_TRN_ID="$HOSTNAME"_"$JOBNAME"_"$$"

# 変数を書き換える
sed -e "s/:TRN_ID/${LOARD_TRN_ID}/g" ${LOADER_CTL_CK_T_HURYO_CUST} > ${LOAD_FILE_CK_T_HURYO_CUST_WORK}
sed -e "s/:UNYO_YMD/${OPEDATE}/g" ${LOAD_FILE_CK_T_HURYO_CUST_WORK} > ${LOAD_FILE_CK_T_HURYO_CUST}

# 2014.03.11 OM-2014-0000863 ADD START
# 終端文字列をEND-CODEとする
perl -p -e 's/\n/END-CODE/' < ${CKIFM004004_FILE} > ${CKIFM004004_WORK1_FILE}

# RETURN-CODEを\r\nに置換する
sed -e 's/RETURN-CODE/\r\n/g' ${CKIFM004004_WORK1_FILE} > ${CKIFM004004_WORK2_FILE}
# 2014.03.11 OM-2014-0000863 ADD END

# ロード
# 2014.03.11 OM-2014-0000863 MOD START
#sqlldr ${ORACLEUSER}/${ORACLEPASS}@${SID_S},CONTROL=${LOAD_FILE_CK_T_HURYO_CUST},DATA=${CKIFM004004_FILE},LOG=${LOG_FILE},BAD=${BAD_FILE}
sqlldr ${ORACLEUSER}/${ORACLEPASS}@${SID_S},CONTROL=${LOAD_FILE_CK_T_HURYO_CUST},DATA=${CKIFM004004_WORK2_FILE},LOG=${LOG_FILE},BAD=${BAD_FILE}
# 2014.03.11 OM-2014-0000863 MOD END

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
    echo $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
    if [ $rc -ne 8 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " LOAD Error($SVC load:rc=$rc) ログを確認してください。ログファイル：${LOG_FILE}、不良ファイル：${BAD_FILE} "
        echo $JOBNAME " LOAD Error($SVC load:rc=$rc) "
        if [ $rc -ne 127 ]
        then
            sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
            echo $JOBNAME " PROGRAM Error($SVC program:rc=$rc) "
            exit ${G_RTN_ERROR}
        fi
    fi
fi

exit_rc=$rc

# ワークファイル削除
rm ${LOAD_FILE_CK_T_HURYO_CUST}
rm ${LOAD_FILE_CK_T_HURYO_CUST_WORK}
# 2014.03.11 OM-2014-0000863 ADD START
rm ${CKIFM004004_WORK1_FILE}
rm ${CKIFM004004_WORK2_FILE}
# 2014.03.11 OM-2014-0000863 ADD END

#
#--- ジョブの終了メッセージを出力する
#
sh ${G_TOOLSH}/EOK010210J0.sh CS00028I $JOBNAME
sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME

exit $exit_rc
