#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：初期設定サポート検索情報ワーク作成
#
# 機能          ：「サービス契約」および「サービス契約回線内訳」より、サービス提供に至っていない契約、およびサービス提供後一定期間の契約情報を抽出し、ワークスキーマに格納する。
#
# コマンド形式  ：EO2DT0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v15.00.00      2015/07/02   FJ)有本      OM-2015-0001816 共通UNLOAD対応
# v15.00.01      2015/07/09   FJ)中村      OM-2015-0001816 共通UNLOAD対応(エラーチェック追加)
# v19.00.00      2015/10/09   FJ)福山      OM-2015-0002578 性能改善：アンロード共通ファイル縮小対応
# v20.00.00      2015/11/18   FJ)有本      OM-2015-0003006 性能改善対応：不要なソート削除
# v20.00.01      2015/11/26   FJ)土井      OM-2015-0003006 性能改善対応：不要なソート削除
# v20.00.02      2015/12/11   FJ)有本      OM-2015-0003006 性能改善対応：共通unload項目削除対応
#
##############################################################

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

#
#---ツール格納場所
#
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`

SQL_FILE_U_KK0021_04=${SQL_DIR}/KK_U_KK0021_04.sql
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 DEL START
#SQL_FILE_U_KK0081_26=${SQL_DIR}/KK_U_KK0081_26.sql
#SQL_FILE_U_KK0241_06=${SQL_DIR}/KK_U_KK0241_06.sql
#SQL_FILE_U_KK0251_04=${SQL_DIR}/KK_U_KK0251_04.sql
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 DEL END
SQL_FILE_D_KK2781_01=${SQL_DIR}/KK_D_KK2781_01.sql

DEF_FILE_KK_CM_0031=${G_TOOLSH}/util/def/KK_CM_0031.def
DEF_FILE_KK_CM_0032=${G_TOOLSH}/util/def/KK_CM_0032.def

UNLOAD_OUTFILE=${MID_DIR_KK}/${JOBNAME}.ULD_TMP.csv
MATCH_TMP_OUT_FILE=${MID_DIR_KK}/${JOBNAME}.MATCH_TMP.csv
SVC_CUR_OUTFILE=${MID_DIR_KK}/${JOBNAME}.SVC_CUR.csv
KK0021_CUR_OUTFILE=${MID_DIR_KK}/${JOBNAME}.KK0021_CUR.csv
KK0081_CUR_OUTFILE=${MID_DIR_KK}/${JOBNAME}.KK0081_CUR.csv
KK0081_MIN_OUTFILE=${MID_DIR_KK}/${JOBNAME}.KK0081_MIN.csv
KK0241_CUR_OUTFILE=${MID_DIR_KK}/${JOBNAME}.KK0241_CUR.csv
KK0251_CUR_OUTFILE=${MID_DIR_KK}/${JOBNAME}.KK0251_CUR.csv

LOAD_FILE_KK_T_SSSP_SCTGCST_WK=${MID_DIR_KK}/KK_T_SSSP_SCTGCST_WK_01.ctl
LOAD_TMP_FILE_KK_T_SSSP_SCTGCST_WK=${MID_DIR_KK}/KK_T_SSSP_SCTGCST_WK_01_TMP.ctl
LOADER_CTL_KK_T_SSSP_SCTGCST_WK=${SQL_LOADER_CTL_DIR}/KK_T_SSSP_SCTGCST_WK_01.ctl

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

# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 ADD START
#共通UNLOADファイル名
### OM-2015-0003006 2015/11/25 土井 MOD START
##サービス契約(全件)
#COMULD2_KK0081_ALL=${MID_DIR_CC}/CCIFM020001.csv
#サービス契約(全件ソート済み)
COMULD2_KK0081_SORT=${MID_DIR_CC}/CCIFM020001_SORT.csv
### OM-2015-0003006 2015/11/25 土井 MOD END
#サービス契約(カレント)
COMULD2_KK0081_CUR=${MID_DIR_CC}/CCIFM020002.csv
#回線対象サービス契約(全件)
COMULD2_KK0241_ALL=${MID_DIR_CC}/CCIFM022001.csv
#サービス契約回線内訳(カレント)
COMULD2_KK0251_CUR=${MID_DIR_CC}/CCIFM023002.csv
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 ADD END

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

#
#--- アンロード関数
#       p1：テーブル名／クエリファイル名
EXEC_UNLOAD()
{
	sh ${G_TOOLSH}/EOKULD02.sh $1 $2
	
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " unload error($2:rc=$rc) "
		echo $JOBNAME " unload error($2:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi
}

#
#--- クエリ編集
#       p1：ＳＱＬ定義ファイル名
#       p2：バインド変数置換文字
EDIT_ULD_QUERY()
{
	SQL_FILE=$1
	SQL_WORK_FILE=${ULD_WORK_DIR}/${JOBNAME}_QUERY.tmp
	cat /dev/null > ${SQL_WORK_FILE}
	
	# SQL定義ファイルの編集
	if [ ! -r ${SQL_FILE} ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQL_FILE}:rc=$rc) "
		echo $JOBNAME " File is nonexist(${SQL_FILE}:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi

	# バインド変数を置き換える
	cat ${SQL_FILE} > ${SQL_WORK_FILE}
	
	for bind in $2
	do
		sed -i, -e 0,/?/s/?/"'"$bind"'"/ ${SQL_WORK_FILE}
	done
	
	export SQL_WORK_FILE
}

#
#--- クエリ編集
#       p1：ＳＱＬ定義ファイル名
#       p2：バインド変数置換文字
EDIT_MATCHING_QUERY()
{
	MATCHING_FILE=$1
	MATCHING_QUERY_WORK=${ULD_WORK_DIR}/${JOBNAME}_MATCH_QUERY.tmp
	
	cat /dev/null > ${MATCHING_QUERY_WORK}
	
	# SQL定義ファイルの編集
	if [ ! -r ${MATCHING_FILE} ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${MATCHING_FILE}:rc=$rc) "
		echo $JOBNAME " File is nonexist(${MATCHING_FILE}:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi

	# バインド変数を置き換える
	cat ${MATCHING_FILE} > ${MATCHING_QUERY_WORK}
	
	for bind in $2
	do
		bind_escape=`echo $bind | sed "s/\//\\\\\\\\\//g"`
		sed -i, -e 0,/#FILE#/s/#FILE#/$bind_escape/ ${MATCHING_QUERY_WORK}
	done
	
	export MATCHING_QUERY_WORK
}

#
#--- マッチング処理
#      p1：出力ファイルパス
#      p2：マッチングクエリファイルパス
EXEC_MATCHING()
{
	# 出力ファイルの初期化
	OUTFILE=$1
	cat /dev/null > ${OUTFILE}
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error(${OUTFILE}:rc=$rc) "
		echo $JOBNAME " File cat error(${OUTFILE}:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi

	# マッチング実行
	export ZTLOUTFILE=${OUTFILE}
	${G_TOOLSH}/util/bin/ZTLMAT01 $2
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " matching error($2:rc=$rc) "
		echo $JOBNAME " matching error($2:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi
}

#
# 業務パラメータ（KK_SHKSETSP_SCH_TPRD）にて指定された抽出対象期間を取得する。
#
SQL_FILE_U_ZM0321_03=${SQL_DIR}/KK_U_ZM0321_03.sql
ZM0321_OUTFILE=${MID_DIR_KK}/${JOBNAME}.ZM0321_OUT.csv
WORK_PARAM_ID=KK_SHKSETSP_SCH_TPRD

EDIT_ULD_QUERY ${SQL_FILE_U_ZM0321_03} "${WORK_PARAM_ID}"
EXEC_UNLOAD ${SQL_WORK_FILE} ${ZM0321_OUTFILE}

read EXECDATE_DQ < ${ZM0321_OUTFILE}

# ダブルクォーテーション削除
KIKAN=`echo ${EXECDATE_DQ} | sed -e 's/"//g'`

rm ${ZM0321_OUTFILE}

KIKAN=`echo ${KIKAN}`

if [ -z ${KIKAN} ]; then
    KIKAN=12
fi


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

# 終了年月日取得
. EOK010310J0.sh BDATE ADD 0 0 1
ENDDATE=`echo $RSLT_OPEDATE`

# 開始年月日取得
. EOK010310J0.sh BDATE DEC 0 ${KIKAN}
STADATE=`echo $RSLT_OPEDATE`

#
#--- KK0081(KK_T_SVC_KEI)データの編集
#
# KK0081(KK_T_SVC_KEI)の全データをアンロード
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 MOD START
#EXEC_UNLOAD ${SQL_FILE_U_KK0081_26} ${UNLOAD_OUTFILE}
# OM-2015-0002578 2015/10/09 福山 MOD START
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${COMULD2_KK0081_ALL} \
#          reclen=${ULD_REC_LEN_KK0081} \
#          reconst="0.10,1.17,2.3,5.12,3.10,8.2,38.8,108.8,33.8,35.1,96.1" \
#   -output file=${UNLOAD_OUTFILE}
### OM-2015-0003006 2015/11/25 土井 DEL START
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${COMULD2_KK0081_ALL} \
#          reclen=${ULD2_REC_LEN_KK0081} \
#          reconst="0.10,1.17,2.3,5.12,3.10,7.2,22.8,43.8,19.8,20.1,41.1" \
#   -output file=${UNLOAD_OUTFILE}
### OM-2015-0003006 2015/11/25 土井 DEL END
# OM-2015-0002578 2015/10/09 福山 MOD END
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 MOD END
# OM-2015-0001816 共通UNLOAD対応 2015/07/09 中村 ADD START
### OM-2015-0003006 2015/11/25 土井 DEL 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
### OM-2015-0003006 2015/11/25 土井 DEL END
# OM-2015-0001816 共通UNLOAD対応 2015/07/09 中村 ADD END

# KK0081のカレントデータ取得
#  KK0081のカレント AND サービス契約ステータス IN ('020','030','100','210') AND 料金グループコード IN ('02','03','04')
#  - SELECT(reconst)項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.3  ：サービス契約ステータス
#      3 - 3.12 ：申込明細番号
#      4 - 4.10 ：SYSID
#      5 - 5.2  ：料金グループコード
#      6 - 6.8  ：サービス開始年月日
#      7 - 7.8  ：開始年月日
#      8 - 8.8  ：予約適用年月日
#      9 - 9.1  ：予約適用コード
#      10- 10.1 ：無効フラグ
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 MOD START
#bsortex -sort key="0.10asc,8.8asc,1.17asc" -record recform=txtcsv -input reclen=120 include="10.1asc.eq.'0'.and.9.1asc.eq.'2'.and.8.8asc.le.'${OPEDATE}'" < ${UNLOAD_OUTFILE} \
#  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=120 -summary suppress last \
#  | bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=120 include="(2.3asc.eq.'100'.or.2.3asc.eq.'210'.or.2.3asc.eq.'020'.or.2.3asc.eq.'030').and.(5.2asc.eq.'02'.or.5.2asc.eq.'03'.or.5.2asc.eq.'04')"  -output file=${KK0081_CUR_OUTFILE}
# OM-2015-0002578 2015/10/09 福山 MOD START
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${COMULD2_KK0081_CUR} \
#          reclen=${ULD_REC_LEN_KK0081} \
#          reconst="0.10,1.17,2.3,5.12,3.10,8.2,38.8,108.8,33.8,35.1,96.1" \
#  | bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=120 include="(2.3asc.eq.'100'.or.2.3asc.eq.'210'.or.2.3asc.eq.'020'.or.2.3asc.eq.'030').and.(5.2asc.eq.'02'.or.5.2asc.eq.'03'.or.5.2asc.eq.'04')"  -output file=${KK0081_CUR_OUTFILE}
# OM-2015-0003006 性能改善対応 2015/11/18 有本 MOD START
#bsortex \
#   -sort key="0.10asc" -record recform=txtcsv \
#   -input file=${COMULD2_KK0081_CUR} include="(2.3asc.eq.'100'.or.2.3asc.eq.'210'.or.2.3asc.eq.'020'.or.2.3asc.eq.'030').and.(7.2asc.eq.'02'.or.7.2asc.eq.'03'.or.7.2asc.eq.'04')" \
#          reclen=${ULD2_REC_LEN_KK0081} \
#          reconst="0.10,1.17,2.3,5.12,3.10,7.2,22.8,43.8,19.8,20.1,41.1" \
#   -output file=${KK0081_CUR_OUTFILE}
bsortex \
   -copy -record recform=txtcsv \
   -input file=${COMULD2_KK0081_CUR} include="(2.3asc.eq.'100'.or.2.3asc.eq.'210'.or.2.3asc.eq.'020'.or.2.3asc.eq.'030').and.(7.2asc.eq.'02'.or.7.2asc.eq.'03'.or.7.2asc.eq.'04')" \
          reclen=${ULD2_REC_LEN_KK0081} \
          reconst="0.10,1.17,2.3,5.12,3.10,7.2,22.8,43.8,19.8,20.1,41.1" \
   -output file=${KK0081_CUR_OUTFILE}
# OM-2015-0003006 性能改善対応 2015/11/18 有本 MOD END
# OM-2015-0002578 2015/10/09 福山 MOD END
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 MOD END

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

# KK0081の最古データ取得
### OM-2015-0003006 2015/11/25 土井 MOD START
#bsortex -sort key="0.10asc,8.8asc,1.17asc" -record recform=txtcsv -input reclen=120 include="10.1asc.eq.'0'.and.9.1asc.eq.'2'.and.8.8asc.le.'${OPEDATE}'" < ${UNLOAD_OUTFILE} \
#  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=120 -summary suppress first -output file=${KK0081_MIN_OUTFILE}
bsortex \
   -merge key="0.10asc" -record recform=txtcsv \
   -input file=${COMULD2_KK0081_SORT} \
          reclen=${ULD2_REC_LEN_KK0081} \
          reconst="0.10,1.17,2.3,5.12,3.10,7.2,22.8,43.8,19.8,20.1,41.1" \
   -summary suppress first \
   -output file=${KK0081_MIN_OUTFILE}
### OM-2015-0003006 2015/11/25 土井 MOD END

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

#
#--- KK0021(KK_T_MSKM_DTL)データの編集
#
# KK0021(KK_T_MSKM_DTL)の全データをアンロード
EXEC_UNLOAD ${SQL_FILE_U_KK0021_04} ${UNLOAD_OUTFILE}

# KK0021のカレントデータ取得
#  - SELECT(reconst)項目は以下
#      0 - 0.12 ：申込明細番号
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.10 ：申込書番号
#      3 - 3.8  ：申込年月日
#      4 - 4.1  ：無効フラグ
bsortex -sort key="0.12asc,1.17asc" -record recform=txtcsv -input reclen=100 include="4.1asc.eq.'0'" < ${UNLOAD_OUTFILE} \
  | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=100 -summary suppress last -output file=${KK0021_CUR_OUTFILE}

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

#
#--- KK0241(KK_T_KAISEN_TG_SVKEI)データの編集
#
# KK0241(KK_T_KAISEN_TG_SVKEI)の全データをアンロード
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 MOD START
#EXEC_UNLOAD ${SQL_FILE_U_KK0241_06} ${UNLOAD_OUTFILE}
# OM-2015-0002578 2015/10/09 福山 MOD START
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${COMULD2_KK0241_ALL} \
#          reclen=${ULD_REC_LEN_KK0241} \
#          reconst="0.10,1.12,3.8,10.1" \
#   -output file=${UNLOAD_OUTFILE}
bsortex \
   -copy -record recform=txtcsv \
   -input file=${COMULD2_KK0241_ALL} \
          reclen=${ULD2_REC_LEN_KK0241} \
          reconst="0.10,1.12,3.8,4.1" \
   -output file=${UNLOAD_OUTFILE}
# OM-2015-0002578 2015/10/09 福山 MOD END
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 MOD END
# OM-2015-0001816 共通UNLOAD対応 2015/07/09 中村 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
# OM-2015-0001816 共通UNLOAD対応 2015/07/09 中村 ADD END

# KK0241のカレントデータ取得
#  - SELECT(reconst)項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.12 ：サービス契約回線内訳番号
#      2 - 3.8  ：回線内訳使用終了年月日
#      3 - 4.1  ：無効フラグ
bsortex -sort key="0.10asc,3.8asc" -record recform=txtcsv -input reclen=100 include="3.1asc.eq.'0'" < ${UNLOAD_OUTFILE} \
  | bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=100 -summary suppress last -output file=${KK0241_CUR_OUTFILE}

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

#
#--- KK0251(KK_T_SVKEI_KAISEN_UW)データの編集
#
# KK0251(KK_T_SVKEI_KAISEN_UW)の全データをアンロード
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 DEL START
#EXEC_UNLOAD ${SQL_FILE_U_KK0251_04} ${UNLOAD_OUTFILE}
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 DEL END

# KK0251のカレントデータ取得
#  - SELECT(reconst)項目は以下
#      0 - 0.12 ：サービス契約回線内訳番号
#      1 - 1.17 ：世代登録年月日時分秒
#      2 - 2.8  ：ループバックテスト完了年月日
#      3 - 3.8  ：完了年月日
#      4 - 4.1  ：無効フラグ
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 MOD START
#bsortex -sort key="0.12asc,1.17asc" -record recform=txtcsv -input reclen=100 include="4.1asc.eq.'0'" < ${UNLOAD_OUTFILE} \
#  | bsortex -merge key="0.12asc" -record recform=txtcsv -input reclen=100 -summary suppress last -output file=${KK0251_CUR_OUTFILE}
# OM-2015-0002578 2015/10/09 福山 MOD START
#bsortex \
#   -sort key=0.12asc,1.17asc -record recform=txtcsv \
#   -input file=${COMULD2_KK0251_CUR} \
#          reclen=${ULD_REC_LEN_KK0251} \
#          reconst="0.12,1.17,51.8,89.8,78.1" \
#   -output file=${KK0251_CUR_OUTFILE}
# OM-2015-0003006 性能改善対応 2015/11/18 有本 MOD START
#bsortex \
#   -sort key=0.12asc -record recform=txtcsv \
#   -input file=${COMULD2_KK0251_CUR} \
#          reclen=${ULD2_REC_LEN_KK0251} \
#          reconst="0.12,1.17,10.8,19.8,13.1" \
#   -output file=${KK0251_CUR_OUTFILE}
# OM-2015-0003006 性能改善対応 2015/12/11 有本 MOD START
#bsortex \
#   -copy -record recform=txtcsv \
#   -input file=${COMULD2_KK0251_CUR} \
#          reclen=${ULD2_REC_LEN_KK0251} \
#          reconst="0.12,1.17,10.8,19.8,13.1" \
#   -output file=${KK0251_CUR_OUTFILE}
bsortex \
   -copy -record recform=txtcsv \
   -input file=${COMULD2_KK0251_CUR} \
          reclen=${ULD2_REC_LEN_KK0251} \
          reconst="0.12,1.17,10.8,15.8,13.1" \
   -output file=${KK0251_CUR_OUTFILE}
# OM-2015-0003006 性能改善対応 2015/12/11 有本 MOD END
# OM-2015-0003006 性能改善対応 2015/11/18 有本 MOD END
# OM-2015-0002578 2015/10/09 福山 MOD END
# OM-2015-0001816 共通UNLOAD対応 2015/07/02 有本 MOD END

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

# ワークファイル削除
rm ${UNLOAD_OUTFILE}

# カレントデータのマッチング実行
EDIT_MATCHING_QUERY ${DEF_FILE_KK_CM_0031} "${KK0081_CUR_OUTFILE} ${KK0241_CUR_OUTFILE} ${KK0251_CUR_OUTFILE}"
EXEC_MATCHING ${MATCH_TMP_OUT_FILE} ${MATCHING_QUERY_WORK}

# 処理対象のカレントデータ取得
#  - SELECT(reconst)項目は以下
#      0 - 0.10 ：サービス契約番号
#      1 - 1.3  ：サービス契約ステータス
#      2 - 2.10 ：SYSID
#      3 - 3.2  ：料金グループコード
#      4 - 4.8  ：サービス開始年月日
#      5 - 5.12 ：サービス契約回線内訳番号
#      6 - 6.8  ：ループバックテスト完了年月日
#      7 - 7.8  ：開始年月日
#      8 - 8.8  ：完了年月日
### OM-2015-0003006 2015/11/25 土井 MOD START
#bsortex -sort key="0.10asc" -record recform=txtcsv -input reclen=100 include="(7.8asc.eq.'00000000'.or.(7.8asc.ge.'${STADATE}'.and.7.8asc.le.'${ENDDATE}')).or.(8.8asc.eq.'00000000'.or.(8.8asc.ge.'${STADATE}'.and.8.8asc.le.'${ENDDATE}'))" < ${MATCH_TMP_OUT_FILE} -output file=${SVC_CUR_OUTFILE}
bsortex -copy -record recform=txtcsv -input reclen=100 include="(7.8asc.eq.'00000000'.or.(7.8asc.ge.'${STADATE}'.and.7.8asc.le.'${ENDDATE}')).or.(8.8asc.eq.'00000000'.or.(8.8asc.ge.'${STADATE}'.and.8.8asc.le.'${ENDDATE}'))" < ${MATCH_TMP_OUT_FILE} -output file=${SVC_CUR_OUTFILE}
### OM-2015-0003006 2015/11/25 土井 MOD END

# OM-2015-0001816 共通UNLOAD対応 2015/07/09 中村 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
# OM-2015-0001816 共通UNLOAD対応 2015/07/09 中村 ADD END

# マッチング実行
EDIT_MATCHING_QUERY ${DEF_FILE_KK_CM_0032} "${SVC_CUR_OUTFILE} ${KK0081_MIN_OUTFILE} ${KK0021_CUR_OUTFILE}"
EXEC_MATCHING ${MATCH_TMP_OUT_FILE} ${MATCHING_QUERY_WORK}

# マッチングワークファイル削除
rm ${KK0021_CUR_OUTFILE}
rm ${KK0081_CUR_OUTFILE}
rm ${KK0081_MIN_OUTFILE}
rm ${KK0241_CUR_OUTFILE}
rm ${KK0251_CUR_OUTFILE}
rm ${SVC_CUR_OUTFILE}

## データ削除
#sqlplus -s ${ORACLEUSER}/${ORACLEPASS}@${SID_S} @${SQL_FILE_D_KK2781_01} ${JOBNAME}
#
#rc=$?
#if [ $rc -ne 0 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Delete Error($SVC delete:rc=$rc) "
#    echo $JOBNAME " Delete Error($SVC delete:rc=$rc) "
#    exit ${G_RTN_ERROR}
#fi

LOAD_TRN_ID="$HOSTNAME"_"$JOBNAME"_"$$"

# 変数を書き換える
sed -e "s/:TRN_ID/${LOAD_TRN_ID}/g" ${LOADER_CTL_KK_T_SSSP_SCTGCST_WK} > ${LOAD_TMP_FILE_KK_T_SSSP_SCTGCST_WK}
sed -e "s/:UNYO_YMD/${OPEDATE}/g" ${LOAD_TMP_FILE_KK_T_SSSP_SCTGCST_WK} > ${LOAD_FILE_KK_T_SSSP_SCTGCST_WK}

# ロード
# +++++++++++++++ TAI-2014-0000014 +++++++++++++++
# 起動ユーザを変更する
#sqlldr ${ORACLEUSER}/${ORACLEPASS}@${SID_S},CONTROL=${LOAD_FILE_KK_T_SSSP_SCTGCST_WK},DATA=${MATCH_TMP_OUT_FILE},LOG=${LOG_FILE},BAD=${BAD_FILE}
sqlldr ${ORACLE_OWNER_USER}/${ORACLE_OWNER_PASS}@${SID_S},CONTROL=${LOAD_FILE_KK_T_SSSP_SCTGCST_WK},DATA=${MATCH_TMP_OUT_FILE},LOG=${LOG_FILE},BAD=${BAD_FILE}
# +++++++++++++++ TAI-2014-0000014 +++++++++++++++

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
            exit ${G_RTN_ERROR}
        fi
    fi
fi

exit_rc=$rc

# ワークファイル削除
rm ${LOAD_TMP_FILE_KK_T_SSSP_SCTGCST_WK}
rm ${LOAD_FILE_KK_T_SSSP_SCTGCST_WK}

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

exit $exit_rc
