#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：対象サービス契約取得
#
# 機能          ：「割引サービス対象契約」の「サービス契約番号」を元に「サービス契約」の「サービス契約ステータス」「サービス開始年月日」「サービス課金開始年月日」「プラン課金開始年月日」を取得する。
#
# コマンド形式  ：EO2090930J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v8.00.01      2014/07/22    FAP)古内     ST4-2014-0000043
# v20.00.00     2015/11/27    FJ)土井       OM-2015-0003006 ソート削除対応
# v40.00.00     2019/01/07    FJ)舘山      ANK-3412-03-00 特約プログラム対応
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---運用日付取得
#
if [ "${OPD}" = "" ];then
	. EOK010310J0.sh "BDATE"
else
	RSLT_OPEDATE=${OPD}
fi

echo '運用日付------>'${RSLT_OPEDATE}

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

#
#--- アンロード関数
#       p1：テーブル名／クエリファイル名
EXEC_UNLOAD()
{
	# 出力ファイルの初期化
	cat /dev/null > $2
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($2:rc=$rc) "
		echo $JOBNAME " File cat error($2:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi
	
	# unload(KK_T_CRECARD)
	sh ${G_TOOLSH}/EOKULD03.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
}

#
#--- 最小ファイルサイズ取得
#       1：最小ファイルサイズが0よりも大きい
#       0：最小ファイルサイズが0
#
GET_MIN_FILESIZE()
{

	MINSIZE=-1
	for bind in $1
	do
		filesize=`cat ${bind} | wc -l`
		
		if [ ${MINSIZE} -eq -1 ]
		then
			MINSIZE=${filesize}
		else
			if [ ${filesize} -lt ${MINSIZE} ]
			then
				MINSIZE=${filesize}
			fi
		fi
	done
	
	if [ ${MINSIZE} -gt 0 ]
	then
		return 1
	else
		return 0
	fi

}

#
# --- 各種変数の定義
#
# ++++++++++++++ v8.00.01 mod start ++++++++++++++
#ULD_OUTFILE=${MID_DIR_KK}/${JOBNAME}.ULD_TMP.csv
ULD_OUTFILE=${TMP_DIR_KK}/${JOBNAME}.ULD_TMP.csv
# ++++++++++++++ v8.00.01 mod end ++++++++++++++
INPUT_FILE=${MID_DIR_KK}/KKIFM068003.csv
# ++++++++++++++ v8.00.01 mod start ++++++++++++++
#KK0081_CUR_OUTFILE=${MID_DIR_KK}/${JOBNAME}.KK0081_CUR.csv
#KK2111_CUR_OUTFILE=${MID_DIR_KK}/${JOBNAME}.KK2111_CUR.csv
#KK0081_MTC_DQ_OUTFILE=${MID_DIR_KK}/${JOBNAME}.KK0081_MTC_DQ.csv
#KK0081_MTC_OUTFILE=${MID_DIR_KK}/${JOBNAME}.KK0081_MTC.csv
#MATCH_OUT_FILE=${MID_DIR_KK}/KKIFM416001.csv
KK0081_CUR_OUTFILE=${TMP_DIR_KK}/${JOBNAME}.KK0081_CUR.csv
KK2111_CUR_OUTFILE=${TMP_DIR_KK}/${JOBNAME}.KK2111_CUR.csv
KK0081_MTC_DQ_OUTFILE=${LOC_DIR_KK}/${JOBNAME}.KK0081_MTC_DQ.csv
KK0081_MTC_OUTFILE=${LOC_DIR_KK}/${JOBNAME}.KK0081_MTC.csv
# ++++++++++++++ v8.00.01 mod start ++++++++++++++
MATCH_OUT_FILE=${MID_DIR_KK}/KKIFM416001.csv

## ANK-3412-03-00 ADD START

# 割引-サービス契約マッチング後、ワークファイル
KK0081_MTC_DQ_OUTFILE_W1=${LOC_DIR_KK}/${JOBNAME}.KK0081_MTC_DQ_W1.csv
KK0081_MTC_DQ_OUTFILE_W2=${LOC_DIR_KK}/${JOBNAME}.KK0081_MTC_DQ_W2.csv
KK0081_MTC_DQ_OUTFILE_W3=${LOC_DIR_KK}/${JOBNAME}.KK0081_MTC_DQ_W3.csv
KK0081_MTC_DQ_OUTFILE_W4=${LOC_DIR_KK}/${JOBNAME}.KK0081_MTC_DQ_W4.csv

# アンロード結果のファイル
ZM0321_KOSOKUWRI_WRIB_UNLOAD=${MID_DIR_KK}/${JOBNAME}.ZM0321_KW_WRIB.csv
ZM0321_KOSOKUWRI_PCRS_UNLOAD=${MID_DIR_KK}/${JOBNAME}.ZM0321_KW_PCRS.csv

# 業務パラメータ取得SQL
ZM0321_ULD_QUERY=${SQL_DIR}/KK_U_ZM0321_07.sql

## ANK-3412-03-00 ADD END

# 出力ファイルの初期化
cat /dev/null > ${ULD_OUTFILE}
cat /dev/null > ${KK0081_CUR_OUTFILE}
cat /dev/null > ${KK2111_CUR_OUTFILE}
cat /dev/null > ${KK0081_MTC_DQ_OUTFILE}
cat /dev/null > ${KK0081_MTC_OUTFILE}
cat /dev/null > ${MATCH_OUT_FILE}
## ANK-3412-03-00 ADD START
cat /dev/null > ${KK0081_MTC_DQ_OUTFILE_W1}
cat /dev/null > ${KK0081_MTC_DQ_OUTFILE_W2}
cat /dev/null > ${KK0081_MTC_DQ_OUTFILE_W3}
cat /dev/null > ${KK0081_MTC_DQ_OUTFILE_W4}
cat /dev/null > ${ZM0321_KOSOKUWRI_WRIB_UNLOAD}
cat /dev/null > ${ZM0321_KOSOKUWRI_PCRS_UNLOAD}
## ANK-3412-03-00 ADD END

# 各種アンロードクエリファイル
KK0081_ULD_QUERY=${SQL_DIR}/KK_U_KK0081_36.sql
KK2111_ULD_QUERY=${SQL_DIR}/KK_U_KK2111_01.sql

GET_MIN_FILESIZE "${INPUT_FILE}"
MIN_SIZE=$?
if [ ${MIN_SIZE} -gt 0 ]
then

	# KK0081のカレントデータ取得
	#  KK0081のカレント
	#  - SELECT(reconst)項目は以下
	#      0 - 2.3   ：サービス契約ステータス
	#      1 - 5.12  ：申込明細番号
	#      2 - 38.8  ：サービス開始年月日
	#      3 - 39.8  ：サービス課金開始年月日
	#      4 - 30.8  ：プラン課金開始年月日
	#      5 - 0.10  ：サービス契約番号
	#      6 - 96.1  ：無効フラグ
	#      7 - 1.17  ：世代登録年月日時分秒
	#      8 - 33.8  ：予約適用年月日
	#      9 - 35.1  ：予約適用コード
	#     10 - 80.1  ：照査解約完了コード
	#     11 - 9.3   ：料金コースコード ## ANK-3412-03-00
	#EXEC_UNLOAD ${KK0081_ULD_QUERY} ${ULD_OUTFILE}
	EDIT_ULD_QUERY ${KK0081_ULD_QUERY} "${RSLT_OPEDATE}"
	EXEC_UNLOAD ${SQL_WORK_FILE} ${KK0081_CUR_OUTFILE}

	GET_MIN_FILESIZE "${KK0081_CUR_OUTFILE}"

	MIN_SIZE=$?
	if [ ${MIN_SIZE} -gt 0 ]
	then
	
		# マッチング実行
		#  - SELECT(reconst)項目は以下
		#      0 - -.12  ：割引サービス契約番号
		#      1 - -.12  ：割引サービス契約内訳番号
		#      2 - -.17  ：世代登録年月日時分秒
		#      3 - -.9   ：割引サービスコード
		#      4 - -.2   ：キャンペーン開始コード
		#      5 - -.1   ：開始調整コード
		#      6 - -.12  ：開始調整期間
		#      7 - -.1   ：適用数判別コード
		#      8 - -.12  ：適用数
		#      9 - -.2   ：割引タイプコード
		#     10 - -.10  ：サービス契約番号
		#     11 - -.3   ：サービス契約ステータス
		#     12 - -.8   ：サービス開始年月日（ＳＶＣ）
		#     13 - -.8   ：サービス課金開始年月日（ＳＶＣ）
		#     14 - -.8   ：プラン課金開始年月日（ＳＶＣ）
		#     15 - -.12  ：サービス契約内訳番号
		#     16 - -.3   ：サービス契約内訳ステータス
		#     17 - -.8   ：サービス開始年月日（ＳＶＣＵＣ）
		#     18 - -.8   ：サービス課金開始年月日（ＳＶＣＵＣ）
		#     19 - -.8   ：プラン課金開始年月日（ＳＶＣＵＣ）
		#     20 - -.12  ：オプションサービス契約番号
		#     21 - -.3   ：オプションサービス契約ステータス
		#     22 - -.8   ：サービス開始年月日（ＯＰ）
		#     23 - -.8   ：サービス課金開始年月日（ＯＰ）
		#     24 - -.8   ：プラン課金開始年月日（ＯＰ）
		#     25 - -.12  ：サブオプションサービス契約番号
		#     26 - -.3   ：サブオプションサービス契約ステータス
		#     27 - -.8   ：サービス開始年月日（ＳＢＯＰ）
		#     28 - -.8   ：サービス課金開始年月日（ＳＢＯＰ）
		#     29 - -.8   ：プラン課金開始年月日（ＳＢＯＰ）
		#     30 - -.12  ：機器提供サービス契約番号
		#     31 - -.3   ：機器提供サービス契約ステータス
		#     32 - -.8   ：サービス開始年月日（ＫＫＴＫ）
		#     33 - -.8   ：サービス課金開始年月日（ＫＫＴＫ）
		#     34 - -.8   ：プラン課金開始年月日（ＫＫＴＫ）
		#     35 - -.12  ：請求オプションサービス契約番号
		#     36 - -.3   ：請求オプションサービス契約ステータス
		#     37 - -.8   ：サービス開始年月日（ＳＥＩＯＰ）
		#     38 - -.8   ：サービス課金開始年月日（ＳＥＩＯＰ）
		#     39 - -.8   ：プラン課金開始年月日（ＳＥＩＯＰ）
		#     40 - -.12  ：機器オプションサービス契約番号
		#     41 - -.3   ：機器オプションサービス契約ステータス
		#     42 - -.8   ：サービス開始年月日（ＫＫＯＰ）
		#     43 - -.8   ：サービス課金開始年月日（ＫＫＯＰ）
		#     44 - -.8   ：プラン課金開始年月日（ＫＫＯＰ）
		#     45 - -.12  ：申込明細番号
		#     46 - -.8   ：申込年月日
		#     47 - -.1   ：更新対象フラグ
		#     48 - -.3   ：ＫＫ００８１＿サービス契約ステータス
		#     49 - -.12  ：ＫＫ００８１＿申込明細番号
		#     50 - -.8   ：ＫＫ００８１＿サービス開始年月日
		#     51 - -.8   ：ＫＫ００８１＿サービス課金開始年月日
		#     52 - -.8   ：ＫＫ００８１＿プラン課金開始年月日
		#     53 - -.10  ：ＫＫ００８１＿サービス契約番号
		#     54 - -.1   ：ＫＫ００８１＿照査解約完了コード
		#     55 - -.3   ：ＫＫ００８１＿料金コースコード ## ANK-3412-03-00
		EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0071.def "${INPUT_FILE} ${KK0081_CUR_OUTFILE}"
## ANK-3412-03-00 Modify START
#		EXEC_MATCHING ${KK0081_MTC_DQ_OUTFILE} ${MATCHING_QUERY_WORK}
		EXEC_MATCHING ${KK0081_MTC_DQ_OUTFILE_W1} ${MATCHING_QUERY_WORK}
## ANK-3412-03-00 Modify 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

## ANK-3412-03-00 ADD START
		#
		# 業パラから高速割の割引コードを取得する KK_U_ZM0321_07.sql
		#
		EDIT_ULD_QUERY ${ZM0321_ULD_QUERY} "KK_KOSOKUWRI_WRIB_CD ${RSLT_OPEDATE} ${RSLT_OPEDATE}"
		EXEC_UNLOAD ${SQL_WORK_FILE} ${ZM0321_KOSOKUWRI_WRIB_UNLOAD}

		# ファイルからデータを変数に読み込む
		read KOSOKUWRI_CD_WK < ${ZM0321_KOSOKUWRI_WRIB_UNLOAD}
		# ダブルクォーテーション削除
		KOSOKUWRI_CD=`echo ${KOSOKUWRI_CD_WK} | sed -e 's/"//g'`
		
		# 高速割と高速割以外の割引を分離
		bsortex -copy -record recform=txtcsv \
			-input reclen=600 file=${KK0081_MTC_DQ_OUTFILE_W1} \
			-output file=${KK0081_MTC_DQ_OUTFILE_W2} case="3.9asc.eq.'${KOSOKUWRI_CD}'"  \
			-output file=${KK0081_MTC_DQ_OUTFILE_W3} \
			   reconst=0.12,1.12,2.17,3.9,4.2,5.1,6.12,7.1,8.12,9.2,10.10,11.3,12.8,13.8,14.8,15.12,16.3,17.8,18.8,19.8,20.12,21.3,22.8,23.8,24.8,25.12,26.3,27.8,28.8,29.8,30.12,31.3,32.8,33.8,34.8,35.12,36.3,37.8,38.8,39.8,40.12,41.3,42.8,43.8,44.8,45.12,46.8,47.1,48.3,49.12,50.8,51.8,52.8,53.10,54.1 \
			   case=other

		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

		#
		# 業パラから高速割の対象料金コースを取得する KK_U_ZM0321_07.sql
		#
		EDIT_ULD_QUERY ${ZM0321_ULD_QUERY} "KK_KOSOKUWRI_PCRS ${RSLT_OPEDATE} ${RSLT_OPEDATE}"
		EXEC_UNLOAD ${SQL_WORK_FILE} ${ZM0321_KOSOKUWRI_PCRS_UNLOAD}

		# ファイルからデータを変数に読み込む
		read KOSOKUWRI_PCRS_WK < ${ZM0321_KOSOKUWRI_PCRS_UNLOAD}
		# bsortexの条件文を作成
		KOSOKUWRI_PCRS=""
		for code in `echo ${KOSOKUWRI_PCRS_WK} | sed -e 's/"//g' | sed -e "s/,/\\t/g"`
		do
			if [ -n "$KOSOKUWRI_PCRS" ];
			then
				KOSOKUWRI_PCRS=$KOSOKUWRI_PCRS".or."
			fi
			KOSOKUWRI_PCRS=$KOSOKUWRI_PCRS"55.3asc.eq.'$code'"
		done
	
		# 高速割のデータが存在する場合、対象の料金コースのデータのみを抽出する。
		if [ -s ${KK0081_MTC_DQ_OUTFILE_W2} ];
		then
			# 高速割に関しては、対象の料金コースのみデータを抽出
			bsortex -copy -record recform=txtcsv \
				-input reclen=600 file=${KK0081_MTC_DQ_OUTFILE_W2} \
				-output file=${KK0081_MTC_DQ_OUTFILE_W4} \
				   reconst=0.12,1.12,2.17,3.9,4.2,5.1,6.12,7.1,8.12,9.2,10.10,11.3,12.8,13.8,14.8,15.12,16.3,17.8,18.8,19.8,20.12,21.3,22.8,23.8,24.8,25.12,26.3,27.8,28.8,29.8,30.12,31.3,32.8,33.8,34.8,35.12,36.3,37.8,38.8,39.8,40.12,41.3,42.8,43.8,44.8,45.12,46.8,47.1,48.3,49.12,50.8,51.8,52.8,53.10,54.1 \
				   include=${KOSOKUWRI_PCRS}
	
			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

		fi
		# 高速割とそれ以外の割引をマージして出力
		cat ${KK0081_MTC_DQ_OUTFILE_W3} ${KK0081_MTC_DQ_OUTFILE_W4} > ${KK0081_MTC_DQ_OUTFILE}
## ANK-3412-03-00 ADD END
		
		# KK2111(KK_T_SVKEI_EXC_CTRL)の全データをアンロード
		EXEC_UNLOAD ${KK2111_ULD_QUERY} ${ULD_OUTFILE}

		# KK2111のデータ取得
		#  KK2111
		#  - SELECT(reconst)項目は以下
		#      0 - 1.17  ：最終更新年月日時分秒
		#      1 - 0.10  ：サービス契約番号
		#      2 - 8.1   ：無効フラグ
### OM-2015-0003006 2015/11/27 土井 MOD START
#		bsortex -sort key="1.10asc" -record recform=txtcsv -input reclen=50 file="${ULD_OUTFILE}" include="2.1asc.eq.'0'" -output file="${KK2111_CUR_OUTFILE}"
		bsortex -copy -record recform=txtcsv -input reclen=50 file="${ULD_OUTFILE}" include="2.1asc.eq.'0'" -output file="${KK2111_CUR_OUTFILE}"
### OM-2015-0003006 2015/11/27 土井 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

		GET_MIN_FILESIZE "${KK2111_CUR_OUTFILE}"
		
		MIN_SIZE=$?
		if [ ${MIN_SIZE} -gt 0 ]
		then

			# マッチング実行
			#  - SELECT(reconst)項目は以下
			#      0 - -.12  ：割引サービス契約番号
			#      1 - -.12  ：割引サービス契約内訳番号
			#      2 - -.17  ：世代登録年月日時分秒
			#      3 - -.9   ：割引サービスコード
			#      4 - -.2   ：キャンペーン開始コード
			#      5 - -.1   ：開始調整コード
			#      6 - -.12  ：開始調整期間
			#      7 - -.1   ：適用数判別コード
			#      8 - -.12  ：適用数
			#      9 - -.2   ：割引タイプコード
			#     10 - -.10  ：サービス契約番号
			#     11 - -.3   ：サービス契約ステータス
			#     12 - -.8   ：サービス開始年月日（ＳＶＣ）
			#     13 - -.8   ：サービス課金開始年月日（ＳＶＣ）
			#     14 - -.8   ：プラン課金開始年月日（ＳＶＣ）
			#     15 - -.12  ：サービス契約内訳番号
			#     16 - -.3   ：サービス契約内訳ステータス
			#     17 - -.8   ：サービス開始年月日（ＳＶＣＵＣ）
			#     18 - -.8   ：サービス課金開始年月日（ＳＶＣＵＣ）
			#     19 - -.8   ：プラン課金開始年月日（ＳＶＣＵＣ）
			#     20 - -.12  ：オプションサービス契約番号
			#     21 - -.3   ：オプションサービス契約ステータス
			#     22 - -.8   ：サービス開始年月日（ＯＰ）
			#     23 - -.8   ：サービス課金開始年月日（ＯＰ）
			#     24 - -.8   ：プラン課金開始年月日（ＯＰ）
			#     25 - -.12  ：サブオプションサービス契約番号
			#     26 - -.3   ：サブオプションサービス契約ステータス
			#     27 - -.8   ：サービス開始年月日（ＳＢＯＰ）
			#     28 - -.8   ：サービス課金開始年月日（ＳＢＯＰ）
			#     29 - -.8   ：プラン課金開始年月日（ＳＢＯＰ）
			#     30 - -.12  ：機器提供サービス契約番号
			#     31 - -.3   ：機器提供サービス契約ステータス
			#     32 - -.8   ：サービス開始年月日（ＫＫＴＫ）
			#     33 - -.8   ：サービス課金開始年月日（ＫＫＴＫ）
			#     34 - -.8   ：プラン課金開始年月日（ＫＫＴＫ）
			#     35 - -.12  ：請求オプションサービス契約番号
			#     36 - -.3   ：請求オプションサービス契約ステータス
			#     37 - -.8   ：サービス開始年月日（ＳＥＩＯＰ）
			#     38 - -.8   ：サービス課金開始年月日（ＳＥＩＯＰ）
			#     39 - -.8   ：プラン課金開始年月日（ＳＥＩＯＰ）
			#     40 - -.12  ：機器オプションサービス契約番号
			#     41 - -.3   ：機器オプションサービス契約ステータス
			#     42 - -.8   ：サービス開始年月日（ＫＫＯＰ）
			#     43 - -.8   ：サービス課金開始年月日（ＫＫＯＰ）
			#     44 - -.8   ：プラン課金開始年月日（ＫＫＯＰ）
			#     45 - -.12  ：申込明細番号
			#     46 - -.8   ：申込年月日
			#     47 - -.1   ：更新対象フラグ
			#     48 - -.3   ：ＫＫ００８１＿サービス契約ステータス
			#     49 - -.12  ：ＫＫ００８１＿申込明細番号
			#     50 - -.8   ：ＫＫ００８１＿サービス開始年月日
			#     51 - -.8   ：ＫＫ００８１＿サービス課金開始年月日
			#     52 - -.8   ：ＫＫ００８１＿プラン課金開始年月日
			#     53 - -.10  ：ＫＫ００８１＿サービス契約番号
			#     54 - -.1   ：ＫＫ００８１＿照査解約完了コード
			#     55 - -.17  ：ＫＫ２１１１＿最終更新年月日時分秒
			EDIT_MATCHING_QUERY ${G_TOOLSH}/util/def/KK_CM_0070.def "${KK0081_MTC_DQ_OUTFILE} ${KK2111_CUR_OUTFILE}"
			EXEC_MATCHING ${MATCH_OUT_FILE} ${MATCHING_QUERY_WORK}

		fi
	fi
fi

# unloadファイルの削除
rm ${ULD_OUTFILE}

#
#---パラメタ定義
#

P1="OPD=$OPD,"
P2="SVCCTL=JBSbatMultiServiceControl,"
P3="JOB=EO2090930J0,"
P4="IND1=KKIFM416.def,"
P5="INF1=${MATCH_OUT_FILE},"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=KKIFM068.def,"
P9="OTF1=${MID_DIR_KK}/KKIFM068004.csv,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE="
PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"

sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME

#
#---ＡＰＬ起動
#
java ${JAVA_OPTION} -jar ${JAR_DIR}/koptBatch.jar $PARA

rc=$?
ERR_FLG=0
if [ $rc -ne 0 ]
then
   if [ $rc -ne 4 ]
   then
       if [ $rc -ne 8 ]
       then
           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
    ERR_FLG=1
fi

exit_rc=$rc

# 各種一時ファイルの削除
rm ${KK0081_CUR_OUTFILE}
rm ${KK2111_CUR_OUTFILE}
rm ${KK0081_MTC_DQ_OUTFILE}
rm ${KK0081_MTC_OUTFILE}
## ANK-3412-03-00 ADD START
rm ${KK0081_MTC_DQ_OUTFILE_W1}
rm ${KK0081_MTC_DQ_OUTFILE_W2}
rm ${KK0081_MTC_DQ_OUTFILE_W3}
rm ${KK0081_MTC_DQ_OUTFILE_W4}
## ANK-3412-03-00 ADD END

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

exit $exit_rc
