#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：割引サービス契約内訳取得（割引サービス契約内訳アンロード）
#
# 機能          ：割引サービス契約内訳のアンロードを行う。
#
#
# コマンド形式  ：EO2D90230J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v6.00          2014/01/10   FJ)山裾     【OM-2013-0002921】性能改善対応
# v8.00          2014/03/18   FJ)山裾     【OM-2014-0001113】メモリ不足対応
# V14.00.00      2015/05/20   FJ)土井     【OM-2015-0001266】アンロード対応 バッチアンロード処理統合@
# v14.00.01      2015/07/08   FJ)栗秋     【ST-2015-0000031】エラーコメント対応
# v19.00.00      2015/10/08   FJ)有本     【OM-2015-0002578】共通ＵＮＬＯＡＤ項目削除対応
# v20.00.00      2015/11/26   FJ)土井     【OM-2015-0003005】ソート削除対応
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#xxx=xxxxxxx
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

#
#---運用日付取得
#
if [ "${OPD}" = "" ]; then
#2014/03/18 OM-2014-0001113 Mod Start
#   . EOK010310J0.sh "NDATE"
   . EOK010310J0.sh "BDATE"
#2014/03/18 OM-2014-0001113 Mod End
   OPD=${RSLT_OPEDATE}
else
   RSLT_OPEDATE=${OPD}
fi

#
#--- ファイル定義
#

# 2015/05/25 【OM-2015-0001266】アンロード対応 START
# 共通アンロードファイル名
# 割引サービス契約内訳スキーマ取得(カレント)
COMULD_KK2361_CUR=${MID_DIR_CC}/CCIFM013002.csv
# 2015/05/25 【OM-2015-0001266】アンロード対応 END

##アンロード用SQLファイル
# 2015/05/20 【OM-2015-0001266】アンロード対応 １行コメント化 START
#SQLFILE_KK2361=${SQL_DIR}/KK_U_KK2361_08.sql
# 2015/05/20 【OM-2015-0001266】アンロード対応 １行コメント化 END

#DEF読み込み用
KK2361=${MID_DIR_KK}/EO2D90230J0_KK2361.csv

#2014/03/18 OM-2014-0001113 Add Start
KK2361_IN=${MID_DIR_KK}/EO2D90230J0_KK2361_IN.csv
KKIFM265_IN=${MID_DIR_KK}/KKIFM265001_IN.csv

DEFFILE_KK2361=${G_TOOLSH}/util/def/KK_CM_0452.def
TMPDEFFILE_KK2361=${ULD_WORK_DIR}/KK_CM_0452.tmp.def
#2014/03/18 OM-2014-0001113 Add End

# 2015/05/20 【OM-2015-0001266】アンロード対応 コメント化 start
#
#--- 各ファイルの存在チェック
#

#if [ ! -r $SQLFILE_KK2361 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_KK2361) "
#    echo $JOBNAME " File is nonexist($SQLFILE_KK2361) "
#    exit ${G_RTN_ERROR}
#fi
# 2015/05/20 【OM-2015-0001266】アンロード対応 コメント化 end

#2014/03/18 OM-2014-0001113 Add Start
if [ ! -r $DEFFILE_KK2361 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($DEFFILE_KK2361) "
    echo $JOBNAME " File is nonexist($DEFFILE_KK2361) "
    exit ${G_RTN_ERROR}
fi
#2014/03/18 OM-2014-0001113 Add End

#
#--- 各ファイルのクリア
#

cat /dev/null > $KK2361

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($KK2361:rc=$rc) "
    echo $JOBNAME " File cat error($KK2361:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#2014/03/18 OM-2014-0001113 Add Start
cat /dev/null > $KK2361_IN

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($KK2361_IN:rc=$rc) "
    echo $JOBNAME " File cat error($KK2361_IN:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

cat /dev/null > $TMPDEFFILE_KK2361

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($TMPDEFFILE_KK2361:rc=$rc) "
    echo $JOBNAME " File cat error($TMPDEFFILE_KK2361:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
#2014/03/18 OM-2014-0001113 Add End

#
#--- UNLOAD処理(KK2361)
#
#2014/03/18 OM-2014-0001113 Mod Start
#sh ${G_TOOLSH}/EOKULD02.sh $SQLFILE_KK2361 $KK2361 $JOBNAME
# 2015/05/20 【OM-2015-0001266】アンロード対応 １行コメント化 START
#sh ${G_TOOLSH}/EOKULD02.sh $SQLFILE_KK2361 $KK2361_IN $JOBNAME
# 2015/05/20 【OM-2015-0001266】アンロード対応 １行コメント化 END
#2014/03/18 OM-2014-0001113 Mod End
# 2015/05/20 【OM-2015-0001266】アンロード対応 カレントから必要データの抽出後、既存処理を実施 START
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD START
#bsortex -sort key=0.12asc,1.12asc -record recform=txtcsv -input file=${COMULD_KK2361_CUR} reclen=${ULD_REC_LEN_KK2361} \
# reconst="0.12,1.12,2.17,3.3,4.12,24.12,6.8,7.8,8.1,9.8,10.17,11.10,12.17,13.10,14.17,15.10,16.1,17.8,18.40,19.8,20.40,21.8,22.40" \
# -output file=${KK2361_IN}
### OM-2015-0003005 2015/11/26 土井 MOD START
#bsortex -sort key=0.12asc,1.12asc -record recform=txtcsv -input file=${COMULD_KK2361_CUR} reclen=${ULD_REC_LEN_KK2361} \
# reconst="0.12,1.12,2.17,3.3,4.12,23.12,5.8,6.8,7.1,8.8,9.17,10.10,11.17,12.10,13.17,14.10,15.1,16.8,17.40,18.8,19.40,20.8,21.40" \
# -output file=${KK2361_IN}
bsortex -copy -record recform=txtcsv -input file=${COMULD_KK2361_CUR} reclen=${ULD_REC_LEN_KK2361} \
 reconst="0.12,1.12,2.17,3.3,4.12,23.12,5.8,6.8,7.1,8.8,9.17,10.10,11.17,12.10,13.17,14.10,15.1,16.8,17.40,18.8,19.40,20.8,21.40" \
 -output file=${KK2361_IN}
### OM-2015-0003005 2015/11/26 土井 MOD END
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD END
# 2015/05/20 【OM-2015-0001266】アンロード対応 カレントから必要データの抽出後、既存処理を実施 END
# ST-2015-0000031 エラーコメント対応 2015/07/08 栗秋 ADD START
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error($SVC sort:rc=$rc) " 
    echo $JOBNAME " SORT Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
# ST-2015-0000031 エラーコメント対応 2015/07/08 栗秋 ADD END

#2014/03/18 OM-2014-0001113 Add Start

#
#--- 環境変数の設定を行う（出力ファイル情報の設定）
#

export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${KK2361}

#
#--- 定義ファイル環境変数設定処理
#
cat ${DEFFILE_KK2361} > ${TMPDEFFILE_KK2361}
sed -i -e s@'${KKIFM265}'@${KKIFM265_IN}@g ${TMPDEFFILE_KK2361}
sed -i -e s@'${KK2361}'@${KK2361_IN}@g ${TMPDEFFILE_KK2361}

#
#--- ファイルマッチング処理
#
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE_KK2361}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING TMPDEFFILE_KK2361 UTIL Error($SVC util:rc=$rc) " 
    echo $JOBNAME " MATCHING TMPDEFFILE_KK2361 UTIL Error($SVC util:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#2014/03/18 OM-2014-0001113 Add End

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

exit $exit_rc
