#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：主契約開始分機器抽出
#
# 機能          ：主契約が開始されている締結済みの機器契約の情報を抽出する
#
# コマンド形式  ：EO2B20130J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

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

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



##############################################################
# 共通関数
##############################################################

#
#--- アンロード関数
#       p1：出力ファイル名
#       p2：クエリファイル名
#       p3：バインド変数置換文字
#
EXEC_UNLOAD()
{
	OTF=$1
	SQL_FILE=$2
	BIND_VAL=$3
	
	SQL_WORK_FILE=${ULD_WORK_DIR}/${JOBNAME}.W_ULD.sql
	# SQLクエリファイル初期化
	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}
	if [ "${BIND_VAL}" != "" ]
	then
		for bind in ${BIND_VAL}
		do
			sed -i, -e 0,/?/s/?/"'"$bind"'"/ ${SQL_WORK_FILE}
		done
	fi
	
	# 出力ファイルの初期化
	cat /dev/null > ${OTF}
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error(${OTF}:rc=$rc) "
		echo $JOBNAME " File cat error(${OTF}:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi
	
	# unload
	sh ${G_TOOLSH}/EOKULD02.sh ${SQL_WORK_FILE} ${OTF}
	
	rc=$?
	if [ $rc -ne 0 ]
	then
		sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " unload error(${SQL_FILE}:rc=$rc) "
		echo $JOBNAME " unload error(${SQL_FILE}:rc=$rc) "
		exit ${G_RTN_ERROR}
	fi
}

#
#--- マッチング処理
#      p1：出力ファイルパス
#      p2：マッチングクエリファイルパス
#      p3：バインド変数
EXEC_MATCHING()
{
	OUTFILE=$1
	MATCHING_FILE=$2
	CONV_FILE=$3
	MATCHING_QUERY_WORK=${ULD_WORK_DIR}/${JOBNAME}.W_MATCH_QUERY.tmp

	# マッチングクエリファイルの初期化
	cat /dev/null > ${MATCHING_QUERY_WORK}
	
	# マッチングクエリファイルの存在チェック
	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 ${CONV_FILE}
	do
		# 入力パラメータのエスケープ処理
		bind_escape=`echo $bind | sed "s/\//\\\\\\\\\//g"`
		sed -i, -e 0,/#FILE#/s/#FILE#/$bind_escape/ ${MATCHING_QUERY_WORK}
		
	done
	
	# 出力ファイルの初期化
	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 ${MATCHING_QUERY_WORK}
	
	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
}

#
# -- カレント取得処理
#
FILTER_CURRENT()
{
	INF=$1
	OTF=$2
	REC_LEN=$3
	BS_DEF=$4
	
	SORT_KEY=""
	
	# ソートKEYを構築（@keyで始まる定義を取得）
	for key in ${BS_DEF}
	do
		case "$key" in 
			@key* ) 
				if [ "${SORT_KEY}" != "" ]
				then
					SORT_KEY="${SORT_KEY},"
				fi
				SORT_KEY="${SORT_KEY}${key%=*}"
			;;
		esac
	done
	
	bsortex -define ${BS_DEF} -sort key=${SORT_KEY},@rsvAplyYmd,@supkey -record recform=txtcsv -input reclen=${REC_LEN} include="@mkflg.eq.'0'.and.@rsvAplyCd.eq.'2'.and.@rsvAplyYmd.le.'${OPD}'" < ${INF} \
	  | bsortex -define ${BS_DEF} -merge key="${SORT_KEY}" -record recform=txtcsv -input reclen=${REC_LEN} -summary suppress last -output file=${OTF}
	  
	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
}

#
# -- カレント取得処理
#
FILTER_KIKI_TTDKCHU()
{
	INF=$1
	OTF=$2
	REC_LEN=$3
	BS_DEF=$4
	
	SORT_KEY=""
	
	# ソートKEYを構築（@keyで始まる定義を取得）
	for key in ${BS_DEF}
	do
		case "$key" in 
			@key* ) 
				if [ "${SORT_KEY}" != "" ]
				then
					SORT_KEY="${SORT_KEY},"
				fi
				SORT_KEY="${SORT_KEY}${key%=*}"
			;;
		esac
	done
	
	# ソートは機器提供サービス契約番号、世代登録年月日時分秒
	bsortex -define ${BS_DEF} -sort key=${SORT_KEY},@supkey -record recform=txtcsv -input reclen=${REC_LEN} include="@mkflg.eq.'0'.and.@rsvAplyCd.eq.'1'" < ${INF} \
	  | bsortex -define ${BS_DEF} -merge key="${SORT_KEY}" -record recform=txtcsv -input reclen=${REC_LEN} -summary suppress last -output file=${OTF}
	  
	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
}

#
# -- 作業ファイルの削除
#
REMOVE_WORK_FILE()
{
	for workfile in `ls -1 ${MID_DIR_KK}/${JOBNAME}.W_*.csv`
	do
		rm -f ${workfile}
	done
	
}

############### -- OM-2014-0003661 add start -- ###################
#
#--- クエリ編集
#       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
}
############### -- OM-2014-0003661 add end -- ###################

KK0081_ULD=${MID_DIR_KK}/${JOBNAME}.W_KK0081_U.csv
KK0341_ULD=${MID_DIR_KK}/${JOBNAME}.W_KK0341_U.csv
############### -- ST4-2014-0000023 mod start -- ###################
#DK0011_ULD=${MID_DIR_KK}/${JOBNAME}.W_DK0011_U.csv
#DK0021_ULD=${MID_DIR_KK}/${JOBNAME}.W_DK0021_U.csv
DK0011_ULD=${MID_DIR_KK}/KKIFM613001.csv
DK0021_ULD=${MID_DIR_KK}/KKIFM614001.csv
############### -- ST4-2014-0000023 mod end -- ###################
############### -- OM-2013-0005048 add start -- ###################
KK0241_ULD=${MID_DIR_KK}/${JOBNAME}.W_KK0241_U.csv
#KK0251_ULD=${MID_DIR_KK}/${JOBNAME}.W_KK0251_U.csv
MATCH_OTF_KAISEN_UCWK=${MID_DIR_KK}/${JOBNAME}.W_MATCH_OTF_KAISEN_UCWK_.csv
TMP_OTF_KAISEN_UCWK=${MID_DIR_KK}/${JOBNAME}.W_TMP_OTF_KAISEN_UCWK.csv
############### -- OM-2013-0005048 add end -- ####################
MATCH_OTF=${MID_DIR_KK}/${JOBNAME}.W_MATCH_OTF.csv
TMP_OTF=${MID_DIR_KK}/${JOBNAME}.W_TMP_OTF.csv

############### -- ST4-2014-0000023 mod start -- ###################
#KK0081_CURRENT=${MID_DIR_KK}/${JOBNAME}.W_KK0081_CUR.csv
KK0081_CURRENT=${MID_DIR_KK}/KKIFM612001.csv
############### -- ST4-2014-0000023 mod end -- ###################
KK0081_TRG=${MID_DIR_KK}/${JOBNAME}.W_KK0081_TRG.csv
############### -- ST4-2014-0000023 mod start -- ###################
#KK0341_CURRENT=${MID_DIR_KK}/${JOBNAME}.W_KK0341_CUR.csv
KK0341_CURRENT=${MID_DIR_KK}/KKIFM611001.csv
############### -- ST4-2014-0000023 mod end -- ###################
KK0341_TRG=${MID_DIR_KK}/${JOBNAME}.W_KK0341_TRG.csv
############### -- OM-2013-0005048 add start -- ###################
############### -- OM-2013-0005048 add start -- ###################
KK0241_CURRENT=${MID_DIR_KK}/${JOBNAME}.W_KK0241_CUR.csv
KK0241_TRG=${MID_DIR_KK}/${JOBNAME}.W_KK0241_TRG.csv
#KK0251_TRG=${MID_DIR_KK}/${JOBNAME}.W_KK0251_TRG.csv
############### -- OM-2013-0005048 add end -- ####################

############### -- ST4-2014-0000023 mod start -- ###################
#KK0341_TTDKCHU=${MID_DIR_KK}/${JOBNAME}.W_KK0341_TTDK.csv
KK0341_TTDKCHU=${MID_DIR_KK}/KKIFM611002.csv
############### -- ST4-2014-0000023 mod end -- ###################
KK0341_TTDKCHU_TRG=${MID_DIR_KK}/${JOBNAME}.W_KK0341_TTDK_TRG.csv

DK0011_TRG=${MID_DIR_KK}/${JOBNAME}.W_DK0011_TRG.csv
DK0021_TRG=${MID_DIR_KK}/${JOBNAME}.W_DK0021_TRG.csv

#
# BSORTの項目定義
#
############### -- ST4-2014-0000023 mod start -- ###################
# EO2092410J0とアンロード処理をまとめる
#KK0081_ITM_DEF="@svcKeiNo=0.10asc @geneAddDtm=1.17asc @rsvAplyYmd=2.8asc @rsvAplyCd=3.1asc @mkFlg=4.1asc @svcKeiStat=5.3asc"
KK0081_ITM_DEF="@svcKeiNo=0.10asc @geneAddDtm=1.17asc @rsvAplyYmd=2.8asc @rsvAplyCd=3.1asc @mkFlg=4.1asc @svcKeiStat=5.3asc @svcCd=6.2asc"
#KK0341_ITM_DEF="@kktkSvcKeiNo=0.12asc @geneAddDtm=1.17asc @svcKeiNo=2.10asc @taknkikiSbtCd=3.2asc @kktkSvcKeiStat=4.3asc @kikiChgNo=5.12asc @taknkikiModelCd=6.20asc @kikiSeizoNo=7.20asc @rsvAplyYmd=8.8asc @rsvAplyCd=9.1asc @mkFlg=10.1asc @idoDiv=11.5asc @svcKeiKaisenUcwkNo=12.12"
KK0341_ITM_DEF="@kktkSvcKeiNo=0.12asc @geneAddDtm=1.17asc @svcKeiNo=2.10asc @taknkikiSbtCd=3.2asc @kktkSvcKeiStat=4.3asc @kikiChgNo=5.12asc @taknkikiModelCd=6.20asc @kikiSeizoNo=7.20asc @rsvAplyYmd=8.8asc @rsvAplyCd=9.1asc @mkFlg=10.1asc @idoDiv=11.5asc @svcKeiKaisenUcwkNo=12.12asc @svcKeiUcwkNo=13.12asc"
#DK0011_ITM_DEF="@haisoNo=0.10asc @haisoFinYmd=1.8asc @mkFlg=2.1asc"
DK0011_ITM_DEF="@haisoNo=0.10asc @haisoFinYmd=1.8asc @mkFlg=2.1asc @haisoStat=3.3asc"
############### -- ST4-2014-0000023 mod end -- ###################
DK0021_ITM_DEF="@haisoNo=0.10asc @kktkSvcKeiNo=1.12asc @kikiChgNo=2.12asc @kojiakNo=3.10asc @mkFlg=4.1asc @blank=5.1asc"
############### -- OM-2013-0005048 add start -- ###################
KK0241_ITM_DEF="@svcKeiNo=0.10asc @svcKeiKaisenUcwkNo=1.12asc @kaisenUcwkUseStaYmd=2.8asc @mkFlg=3.1asc"
#KK0251_ITM_DEF="@svcKeiKaisenUcwkNo=0.12asc @geneAddDtm=1.17asc @svcKeiKaisenUcwkStat=2.3asc @mkFlg=3.1asc"
############### -- OM-2013-0005048 add end -- ###################

#
# -- アンロード処理（各基礎情報のアンロード）
#
UNLOAD_BASE_DATA()
{
	#サービス契約
############### -- ST4-2014-0000023 mod start -- ###################
# EO2092410J0とアンロード処理をまとめる
#	EXEC_UNLOAD ${KK0081_ULD} ${SQL_DIR}/KK_U_KK0081_73.sql ""
	EXEC_UNLOAD ${KK0081_ULD} ${SQL_DIR}/KK_U_KK0081_87.sql ""
############### -- ST4-2014-0000023 mod start -- ###################
	#機器提供サービス契約
	EXEC_UNLOAD ${KK0341_ULD} ${SQL_DIR}/KK_U_KK0341_15.sql ""
	#配送
############### -- ST4-2014-0000023 mod start -- ###################
# EO2092410J0とアンロード処理をまとめる
#	EXEC_UNLOAD ${DK0011_ULD} ${SQL_DIR}/KK_U_DK0011_03.sql ""
	EXEC_UNLOAD ${DK0011_ULD} ${SQL_DIR}/KK_U_DK0011_06.sql ""
############### -- ST4-2014-0000023 mod start -- ###################
	#配送対象物品
	EXEC_UNLOAD ${DK0021_ULD} ${SQL_DIR}/KK_U_DK0021_02.sql ""
############### -- OM-2014-0003661 mod start -- ###################
# ############### -- OM-2013-0005048 add start -- ###################
# 	#回線対象サービス契約
# 	EXEC_UNLOAD ${KK0241_ULD} ${SQL_DIR}/KK_U_KK0241_23.sql ""
# ############### -- OM-2013-0005048 add end -- ###################
	#アンロード用SQLファイル
	SQLFILE_KK0241=${SQL_DIR}/KK_U_KK0241_23.sql
		
		
	if [ ! -r $SQLFILE_KK0791 ]
	then
	    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0241}) "
	    echo $JOBNAME " File is nonexist(${SQLFILE_KK0241}) "
	    exit ${G_RTN_ERROR}
	fi
	
	EDIT_ULD_QUERY $SQLFILE_KK0241 "${OPD}"
	
	sh ${G_TOOLSH}/EOKULD02.sh $SQL_WORK_FILE ${KK0241_ULD} $JOBNAME
	
	rc=$?
	if [ $rc -ne 0 ]
	then
	    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(${KK0241_ULD} unload:rc=$rc) " 
	    echo $JOBNAME " UNLOAD Error(${KK0241_ULD} unload:rc=$rc) "
	    exit ${G_RTN_ERROR}
	fi
############### -- OM-2014-0003661 mod end -- ###################

	#サービス契約カレント取得
	FILTER_CURRENT ${KK0081_ULD} ${KK0081_CURRENT} 200 "@key1=0.10asc @supkey=1.17asc @mkflg=4.1asc @rsvAplyCd=3.1asc @rsvAplyYmd=2.8asc"
	#機器提供サービス契約カレント取得
	FILTER_CURRENT ${KK0341_ULD} ${KK0341_CURRENT} 300 "@key1=0.12asc @supkey=1.17asc @mkflg=10.1asc @rsvAplyCd=9.1asc @rsvAplyYmd=8.8asc"
	#機器提供サービス契約変更手続き中レコード取得
	FILTER_KIKI_TTDKCHU ${KK0341_ULD} ${KK0341_TTDKCHU} 300 "@key1=0.12asc @supkey=1.17asc @mkflg=10.1asc @rsvAplyCd=9.1asc @rsvAplyYmd=8.8asc"

	#
	# *** 有効なサービス契約の取得（カレントから絞込み） ***
	#
	bsortex -define ${KK0081_ITM_DEF} -sort key="@svcKeiNo" -record recform=txtcsv -input reclen=100 \
			include="@svcKeiStat.eq.'100'.or.@svcKeiStat.eq.'210'.or.@svcKeiStat.eq.'220'" -output file=${KK0081_TRG} < ${KK0081_CURRENT}
	
	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
	
	#
	# *** 有効な機器提供サービス契約の取得（カレントから絞込み）ソート用の区分を設定（"01"） ***
	#
	bsortex -define ${KK0341_ITM_DEF} -sort key="@kktkSvcKeiNo" -record recform=txtcsv -input reclen=230 \
			include="@kktkSvcKeiStat.eq.'030'" reconst="0.END,'01'.2asc" -output file=${KK0341_TRG} < ${KK0341_CURRENT}
	
	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

	#
	# *** 有効な機器提供サービス契約の取得（手続き中からの絞込み）ソート用の区分を設定（"02"） ***
	#
	bsortex -define ${KK0341_ITM_DEF} -sort key="@kktkSvcKeiNo" -record recform=txtcsv -input reclen=230 \
			include="@kktkSvcKeiStat.eq.'110'" reconst="0.END,'02'.2asc" -output file=${KK0341_TTDKCHU_TRG} < ${KK0341_TTDKCHU}
	
	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



	#
	# *** 有効な配送の取得（カレントから絞込み） ***
	#
	bsortex -define ${DK0011_ITM_DEF} -sort key="@haisoNo" -record recform=txtcsv -input reclen=100 \
			include="@haisoFinYmd.ge.' '.and.@haisoFinYmd.le.'${OPD}'.and.@mkFlg.eq.'0'" -output file=${DK0011_TRG} < ${DK0011_ULD}
	
	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

	#
	# *** 有効な配送対象物品の取得（カレントから絞込み） ***
	#
	bsortex -define ${DK0021_ITM_DEF} -sort key="@haisoNo" -record recform=txtcsv -input reclen=100 \
			include="@kojiakNo.eq.@blank.and.@mkFlg.eq.'0'" -output file=${DK0021_TRG} < ${DK0021_ULD}
	
	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-2013-0005048 add start -- ###################
	#
	# *** 有効な回線対象サービス契約の取得（カレントから絞込み） ***
	#
	bsortex -define ${KK0241_ITM_DEF} -sort key="@svcKeiNo,@kaisenUcwkUseStaYmd" -record recform=txtcsv -input reclen=80 include="@mkFlg.eq.'0'" < ${KK0241_ULD} \
	| bsortex -merge key="0.10asc" -record recform=txtcsv -input reclen=80 -summary suppress last -output file=${KK0241_TRG}

	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
#	#
#	# *** 有効なサービス契約回線内訳の取得（カレントから絞込み） ***
#	#
#	bsortex -define ${KK0251_ITM_DEF} -sort key="@svcKeiNo" -record recform=txtcsv -input reclen=100 \
#			include="@mkFlg.eq.'0'" -output file=${KK0251_TRG} < ${KK0251_ULD}
#	
#	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-2013-0005048 add end -- ###################
}


#
# -- 出力処理の初期化
#
cat /dev/null > ${MID_DIR_KK}/KKIFM216001.csv

#各種アンロード
UNLOAD_BASE_DATA

cat /dev/null > ${MATCH_OTF}
############### -- OM-2013-0005048 add start -- ###################
cat /dev/null > ${MATCH_OTF_KAISEN_UCWK}
############### -- OM-2013-0005048 add end -- ###################

#
# 各種アンロード結果をマッチング
#
if [ `cat ${KK0081_TRG} | wc -l` -ne 0 -a `cat ${KK0341_TRG} | wc -l` -ne 0 -a `cat ${DK0021_TRG} | wc -l` -ne 0 -a `cat ${DK0011_TRG} | wc -l` -ne 0 ]
then
	EXEC_MATCHING ${MATCH_OTF} ${G_TOOLSH}/util/def/KK_CM_0166.def "${KK0081_TRG} ${KK0341_TRG} ${DK0021_TRG} ${DK0011_TRG}"
fi

#
# 機器提供サービス契約の手続中分をマッチング
#
if [ `cat ${KK0081_TRG} | wc -l` -ne 0 -a `cat ${KK0341_TTDKCHU_TRG} | wc -l` -ne 0 -a `cat ${DK0021_TRG} | wc -l` -ne 0 -a `cat ${DK0011_TRG} | wc -l` -ne 0 ]
then
	EXEC_MATCHING ${TMP_OTF} ${G_TOOLSH}/util/def/KK_CM_0166.def "${KK0081_TRG} ${KK0341_TTDKCHU_TRG} ${DK0021_TRG} ${DK0011_TRG}"
	
	# 手続中分データの追加
	cat ${TMP_OTF} >> ${MATCH_OTF}
fi

# 一時ファイルをクリア
cat /dev/null > ${TMP_OTF}

#
# 重複データの削除（配送番号、機器提供サービス契約番号が重複した場合は手続中で取得したレコードを優先に使用）
#
bsortex -sort key="0.10asc,1.12asc,6.2asc" -record recform=txtcsv -input reclen=300 < ${MATCH_OTF} \
  | bsortex -merge key="0.10asc,1.12asc" -record recform=txtcsv -input reclen=300 -summary suppress last -output file=${TMP_OTF} reconst="0.10,1.12,2.12,3.20,4.20,5.5" 

############### -- OM-2013-0005048 add start -- ###################
#
# 各種アンロード結果をマッチング（回線内訳番号）
#
if [ `cat ${KK0241_TRG} | wc -l` -ne 0 -a `cat ${KK0341_TRG} | wc -l` -ne 0 -a `cat ${KK0081_TRG} | wc -l` -ne 0 -a `cat ${DK0021_TRG} | wc -l` -ne 0 -a `cat ${DK0011_TRG} | wc -l` -ne 0 ]
then
	EXEC_MATCHING ${MATCH_OTF_KAISEN_UCWK} ${G_TOOLSH}/util/def/KK_CM_0436.def "${KK0241_TRG} ${KK0341_TRG}  ${KK0081_TRG} ${DK0021_TRG} ${DK0011_TRG}"
fi

#
# 機器提供サービス契約の手続中分をマッチング（回線内訳番号）
#
if [ `cat ${KK0081_TRG} | wc -l` -ne 0 -a `cat ${KK0341_TTDKCHU_TRG} | wc -l` -ne 0 -a `cat ${DK0021_TRG} | wc -l` -ne 0 -a `cat ${DK0011_TRG} | wc -l` -ne 0 ]
then
	############### -- OM-2014-0000787 upd start -- ###################
	# EXEC_MATCHING ${TMP_OTF_KAISEN_UCWK} ${G_TOOLSH}/util/def/KK_CM_0436.def "${KK0241_TRG} ${KK0341_TRG}  ${KK0081_TRG} ${DK0021_TRG} ${DK0011_TRG}"
	EXEC_MATCHING ${TMP_OTF_KAISEN_UCWK} ${G_TOOLSH}/util/def/KK_CM_0436.def "${KK0241_TRG} ${KK0341_TTDKCHU_TRG}  ${KK0081_TRG} ${DK0021_TRG} ${DK0011_TRG}"
	############### -- OM-2014-0000787 upd end -- ###################
	
	# 手続中分データの追加
	cat ${TMP_OTF_KAISEN_UCWK} >> ${MATCH_OTF_KAISEN_UCWK}
fi

#
# 重複データの削除（配送番号、機器提供サービス契約番号が重複した場合は手続中で取得したレコードを優先に使用）
#
bsortex -sort key="0.10asc,1.12asc,6.2asc" -record recform=txtcsv -input reclen=300 < ${MATCH_OTF_KAISEN_UCWK} \
  | bsortex -merge key="0.10asc,1.12asc" -record recform=txtcsv -input reclen=300 -summary suppress last -output file=${TMP_OTF_KAISEN_UCWK} reconst="0.10,1.12,2.12,3.20,4.20,5.5" 
  
# 回線内訳分データの追加
cat ${TMP_OTF} >> ${TMP_OTF_KAISEN_UCWK}

# 一時ファイルをクリア
cat /dev/null > ${TMP_OTF}

#
# 重複データの削除（配送番号、機器提供サービス契約番号が重複した場合は手続中で取得したレコードを優先に使用）
#
bsortex -sort key="0.10asc,1.12asc,6.2asc" -record recform=txtcsv -input reclen=300 < ${TMP_OTF_KAISEN_UCWK} \
  | bsortex -merge key="0.10asc,1.12asc" -record recform=txtcsv -input reclen=300 -summary suppress last -output file=${TMP_OTF} reconst="0.10,1.12,2.12,3.20,4.20,5.5" 

############### -- OM-2013-0005048 add end -- ###################




#
# ダブルクォートを削除
#
cat ${TMP_OTF} | sed -e 's/"//g' > ${MID_DIR_KK}/KKIFM216001.csv


#
# 作業ファイルを全て削除
#
REMOVE_WORK_FILE

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

exit ${G_RTN_NORMAL}
