#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：端末補償サービス契約者情報抽出
#
# 機能          ：端末補償オプションサービス契約（カレント）ファイル、、端末補償サービス契約アンロードファイル、端末補償オプションサービス契約<ISP>アンロードファイル端末補償サービス契約回線内訳（カレント）ファイル、端末補償回線対象サービス契約（カレント）ファイル、端末補償お客様（カレント）ファイル、端末補償連絡先（カレント）ファイル、端末補償機器提供サービス契約（カレント）ファイル、端末補償宅内機器型式アンロードファイル、端末補償異動通知（契約連携後）（カレント）ファイルをマッチングし、端末補償サービス契約者情報抽出ファイルを作成する。
#
# コマンド形式  ：EO2H70140J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v39.00.00     2018/09/26    FJ)原田     【ANK-3484-00-00】端末補償サービス導入対応
# v39.00.01     2018/10/25    FJ)原田     【IT2-2018-0000073】住所変更時故障対応
# v39.00.01     2018/11/14    FJ) 上間    【ST-2018-0000048】故障対応
# V39.00.02     2018/12/07    FJ)周藤     【ANK-3484-08-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"
   OPD=${RSLT_OPEDATE}
   
fi

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

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

P1="OPD=,"
P2="SVCCTL=,"
P3="JOB=EO2H70140J0,"
P4="IND1=,"
P5="INF1=,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=,"
P9="OTF1=,"
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

#
#--- マッチングクエリ編集
#       p1：ＳＱＬ定義ファイル名
#       p2：バインド変数置換文字
#
EDIT_MATCHING_QUERY()
{
	
	MATCHING_FILE=$1
	MATCHING_QUERY_WORK=${ULD_WORK_DIR}/${JOBNAME}_MATCH_QUERY.tmp
	cat /dev/null > ${MATCHING_QUERY_WORK}
	
	# バインド変数を置き換える
	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
}

#
#--- 各種ファイル設定
#

#-- 入力ファイル
# 端末補償オプションサービス契約<ISP>アンロード
KKIFM828=${MID_DIR_KK}/KKIFM828.csv

# 端末補償オプションサービス契約（カレント）
KKIFM832=${MID_DIR_KK}/KKIFM832.csv

# 端末補償サービス契約（カレント）
KKIFM840=${MID_DIR_KK}/KKIFM840.csv

# 端末補償宅内機器型式アンロード
KKIFM849=${MID_DIR_KK}/KKIFM849.csv

# 端末補償サービス契約回線内訳（カレント）
KKIFM850=${MID_DIR_KK}/KKIFM850.csv

# 端末補償回線対象サービス契約（カレント）
KKIFM851=${MID_DIR_KK}/KKIFM851.csv

# 端末補償お客様（カレント）
KKIFM852=${MID_DIR_KK}/KKIFM852.csv

# 端末補償連絡先（カレント）
KKIFM853=${MID_DIR_KK}/KKIFM853.csv

# 端末補償機器提供際ービス契約（カレント）
KKIFM854=${MID_DIR_KK}/KKIFM854.csv

# 端末補償異動通知（契約連携後）（カレント）
KKIFM861=${MID_DIR_KK}/KKIFM861.csv

# 端末補償抽出開始年月日時分秒
KKIFM864=${MID_DIR_KK}/KKIFM864.csv

#-- 出力ファイル
KKIFM855=${MID_DIR_KK}/KKIFM855.csv

#-- 中間ファイル
# 端末補償オプションサービス契約（オプション）
KKIFM832_OPTION=${MID_DIR_KK}/KKIFM832_OPTION.csv

# 端末補償オプションサービス契約（スマリン）
KKIFM832_SMLIN=${MID_DIR_KK}/KKIFM832_SMLIN.csv

# 端末補償オプションサービス契約申込有
KKIFM832_MATCH=${MID_DIR_KK}/KKIFM832_MATCH.csv

# 端末補償契約者情報キー情報
KKIFM832_MATCH2=${MID_DIR_KK}/KKIFM832_MATCH2.csv

# ST-2018-0000048 ADD START

# オプションサービス契約(スマリン)ファイル２
KKIFM832_SMLIN_2=${MID_DIR_KK}/KKIFM832_SMLIN_2.csv

# 契約者情報日次ファイル(重複なし)２
KKIFM832_MATCH2_WORK_2=${MID_DIR_KK}/KKIFM832_MATCH2_WORK_2.csv

# 端末補償機器提供サービス契約（カレント）２
KKIFM854_2=${MID_DIR_KK}/KKIFM854_2.csv

# ST-2018-0000048 ADD END

# 契約者情報日次ファイル
KKIFM832_MATCH2_SORT=${MID_DIR_KK}/KKIFM832_MATCH2_SORT.csv

# 契約者情報日次ファイル(重複なし)
KKIFM832_MATCH2_WORK=${MID_DIR_KK}/KKIFM832_MATCH2_WORK.csv

# 契約者情報日次ファイル(宅内機器結合後)
KKIFM832_MATCH3_WORK=${MID_DIR_KK}/KKIFM832_MATCH3_WORK.csv

# IT2-2018-0000073 ADD START
# 端末補償オプションサービス契約申込有ソート済
KKIFM832_MATCH_B_SORT=${MID_DIR_KK}/KKIFM832_MATCH_B_SORT.csv

# 端末補償オプションサービス契約申込有マージ済
KKIFM832_MATCH_B=${MID_DIR_KK}/KKIFM832_MATCH_B.csv
# IT2-2018-0000073 ADD END
#-- マッチング定義ファイル
KK_CM_1014=${G_TOOLSH}/util/def/KK_CM_1014.def

KK_CM_1015=${G_TOOLSH}/util/def/KK_CM_1015.def

KK_CM_1016=${G_TOOLSH}/util/def/KK_CM_1016.def

KK_CM_1020=${G_TOOLSH}/util/def/KK_CM_1020.def

# ST-2018-0000048 ADD START

KK_CM_1021=${G_TOOLSH}/util/def/KK_CM_1021.def

# ST-2018-0000048 ADD END

#
#--- 各ファイルの存在チェックを行う
#
# 端末補償オプションサービス契約<ISP>アンロード
if [ ! -r $KKIFM828 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM828) "
    echo $JOBNAME " File is nonexist($KKIFM828) "
    exit ${G_RTN_ERROR}
fi

# 端末補償オプションサービス契約（カレント）
if [ ! -r $KKIFM832 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM832) "
    echo $JOBNAME " File is nonexist($KKIFM832) "
    exit ${G_RTN_ERROR}
fi

# 端末補償サービス契約（カレント）
if [ ! -r $KKIFM840 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM840) "
    echo $JOBNAME " File is nonexist($KKIFM840) "
    exit ${G_RTN_ERROR}
fi

# 端末補償宅内機器型式アンロード
if [ ! -r $KKIFM849 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM849) "
    echo $JOBNAME " File is nonexist($KKIFM849) "
    exit ${G_RTN_ERROR}
fi

# 端末補償サービス契約回線内訳（カレント）
if [ ! -r $KKIFM850 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM850) "
    echo $JOBNAME " File is nonexist($KKIFM850) "
    exit ${G_RTN_ERROR}
fi

# 端末補償回線対象サービス契約（カレント）
if [ ! -r $KKIFM851 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM851) "
    echo $JOBNAME " File is nonexist($KKIFM851) "
    exit ${G_RTN_ERROR}
fi

# 端末補償お客様（カレント）
if [ ! -r $KKIFM852 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM852) "
    echo $JOBNAME " File is nonexist($KKIFM852) "
    exit ${G_RTN_ERROR}
fi

# 端末補償連絡先（カレント）
if [ ! -r $KKIFM853 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM853) "
    echo $JOBNAME " File is nonexist($KKIFM853) "
    exit ${G_RTN_ERROR}
fi

# 端末補償機器提供際ービス契約（カレント）
if [ ! -r $KKIFM854 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM854) "
    echo $JOBNAME " File is nonexist($KKIFM854) "
    exit ${G_RTN_ERROR}
fi

# 端末補償異動通知（契約連携後）（カレント）
if [ ! -r $KKIFM861 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM861) "
    echo $JOBNAME " File is nonexist($KKIFM861) "
    exit ${G_RTN_ERROR}
fi

# 端末補償抽出開始年月日時分秒
if [ ! -r $KKIFM864 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KKIFM864) "
    echo $JOBNAME " File is nonexist($KKIFM864) "
    exit ${G_RTN_ERROR}
fi

# マッチング定義ファイル１
if [ ! -r $KK_CM_1014 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KK_CM_1014) "
    echo $JOBNAME " File is nonexist($KK_CM_1014) "
    exit ${G_RTN_ERROR}
fi

# マッチング定義ファイル２
if [ ! -r $KK_CM_1015 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KK_CM_1015) "
    echo $JOBNAME " File is nonexist($KK_CM_1015) "
    exit ${G_RTN_ERROR}
fi

# マッチング定義ファイル３
if [ ! -r $KK_CM_1016 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KK_CM_1016) "
    echo $JOBNAME " File is nonexist($KK_CM_1016) "
    exit ${G_RTN_ERROR}
fi

# マッチング定義ファイル４
if [ ! -r $KK_CM_1020 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KK_CM_1020) "
    echo $JOBNAME " File is nonexist($KK_CM_1020) "
    exit ${G_RTN_ERROR}
fi

# ST-2018-0000048 ADD START

# マッチング定義ファイル５
if [ ! -r $KK_CM_1021 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($KK_CM_1021) "
    echo $JOBNAME " File is nonexist($KK_CM_1021) "
    exit ${G_RTN_ERROR}
fi

# ST-2018-0000048 ADD END

#
#--- ファイルのクリア
#
cat /dev/null > ${MID_DIR_KK}/KKIFM855.csv

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

cat /dev/null > ${MID_DIR_KK}/KKIFM832_OPTION.csv

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

cat /dev/null > ${MID_DIR_KK}/KKIFM832_SMLIN.csv

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

cat /dev/null > ${MID_DIR_KK}/KKIFM832_MATCH.csv

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

cat /dev/null > ${MID_DIR_KK}/KKIFM832_MATCH2.csv

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

# ST-2018-0000048 ADD START

cat /dev/null > ${KKIFM832_SMLIN_2}

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

cat /dev/null > ${KKIFM832_MATCH2_WORK_2}

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

cat /dev/null > ${KKIFM854_2}

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

# ST-2018-0000048 ADD END

cat /dev/null > ${MID_DIR_KK}/KKIFM832_MATCH2_SORT.csv

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

cat /dev/null > ${MID_DIR_KK}/KKIFM832_MATCH2_WORK.csv

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

cat /dev/null > ${MID_DIR_KK}/KKIFM832_MATCH3_WORK.csv

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

# IT2-2018-0000073 ADD START
cat /dev/null > ${MID_DIR_KK}/KKIFM832_MATCH_B_SORT.csv

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

cat /dev/null > ${MID_DIR_KK}/KKIFM832_MATCH_B.csv

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " CAT Error($SVC cat:rc=$rc) "
    echo $JOBNAME " CAT Error($SVC cat:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
# IT2-2018-0000073 ADD END
#
#--- 端末補償抽出開始年月日時分秒からダブルコーテーションを除去
#
sed -i -e "s/\"//g" ${KKIFM864}

#
#--- 端末補償抽出開始年月日時分秒を変数に格納
#
CHSSTATYMD=`cat ${KKIFM864}`

#
#---端末補償オプションサービス契約（カレント）からオプションサービスコードがオプションのものを抽出
#
bsortex -sort key=0.12asc -record recform=txtcsv \
  -input file=${KKIFM832} reclen=143 \
   include="(3.4asc.eq.'B133').or.(3.4asc.eq.'B134')" \
  -output file=${KKIFM832_OPTION} \
   reconst="0.12,9.17,1.10,10.17"

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-2018-0000048 MOD START
#bsortex -sort key=0.12asc -record recform=txtcsv \
#  -input file=${KKIFM832} reclen=143 \
#   include="(3.4asc.eq.'B077')" \
#  -output file=${KKIFM832_SMLIN} \
#   reconst="0.12,1.10,3.4,10.17"
bsortex -sort key=0.12asc -record recform=txtcsv \
  -input file=${KKIFM832} reclen=143 \
   include="(3.4asc.eq.'B077').and.(2.3asc.eq.'100'.or.2.3asc.eq.'210'.or.2.3asc.eq.'220'.or.2.3asc.eq.'910')" \
  -output file=${KKIFM832_SMLIN} \
   reconst="0.12,1.10,3.4,10.17,2.3"
# ST-2018-0000048 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

#
#--- マッチング実行
#
# 端末補償オプションサービス契約（オプション）、端末補償オプションサービス<ISP>アンロード、端末補償異動通知（カレント）をマッチング
EDIT_MATCHING_QUERY ${KK_CM_1014} "${KKIFM832_OPTION} ${KKIFM828} ${KKIFM861}"
EXEC_MATCHING ${KKIFM832_MATCH} ${MATCHING_QUERY_WORK}

# IT2-2018-0000073 ADD START
#
#--- 端末補償契約番号をキーに、オプションサービス契約番号が最大のレコードを抽出
#
#
#--- キー項目毎にオプションサービス契約番号でソート
#
bsortex -sort key=3.10asc,0.12asc -record recform=txtcsv \
  -input file=${KKIFM832_MATCH} reclen=61 \
  -output file=${KKIFM832_MATCH_B_SORT}

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 -merge key=3.10asc -record recform=txtcsv \
        -input file=${KKIFM832_MATCH_B_SORT} reclen=61 \
        -summary suppress last \
        -output file=${KKIFM832_MATCH_B}

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

# IT2-2018-0000073 ADD END
# 端末補償契約者情報キー情報に必要な入力ファイル、中間ファイルをマッチング
# IT2-2018-0000073 MOD START
#EDIT_MATCHING_QUERY ${KK_CM_1015} "${KKIFM832_MATCH} ${KKIFM840} ${KKIFM851} ${KKIFM850} ${KKIFM852} ${KKIFM853} ${KKIFM832_SMLIN} ${KKIFM854}"
EDIT_MATCHING_QUERY ${KK_CM_1015} "${KKIFM832_MATCH_B} ${KKIFM840} ${KKIFM851} ${KKIFM850} ${KKIFM852} ${KKIFM853} ${KKIFM832_SMLIN} ${KKIFM854}"
# IT2-2018-0000073 MOD END
EXEC_MATCHING ${KKIFM832_MATCH2} ${MATCHING_QUERY_WORK}

#
#--- 端末補償契約者情報キー情報の更新年月日時分秒が抽出開始年月日時分秒以降のものを抽出
#
#ANK-3484-08-00 MOD START
#bsortex -sort key=2.10asc -record recform=txtcsv \
#  -input file=${KKIFM832_MATCH2} reclen=1552 \
#   include="(1.17asc.ge.'${CHSSTATYMD}').or.(4.17asc.ge.'${CHSSTATYMD}').or.(11.17asc.ge.'${CHSSTATYMD}').or.(21.17asc.ge.'${CHSSTATYMD}').or.(22.17asc.ge.'${CHSSTATYMD}').or.(25.17asc.ge.'${CHSSTATYMD}').or.(27.17asc.ge.'${CHSSTATYMD}').or.(28.17asc.ge.'${CHSSTATYMD}')" \
#  -output file=${KKIFM832_MATCH2_SORT} \
#   reconst="0.10,2.10,3.4,5.3,6.2,7.8,8.8,9.8,10.8,12.7,13.11,14.12,15.36,16.54,17.36,18.183,19.135,20.45,23.363,24.363,26.12,29.8"
bsortex -sort key=2.10asc -record recform=txtcsv \
  -input file=${KKIFM832_MATCH2} reclen=1591 \
   include="(1.17asc.ge.'${CHSSTATYMD}').or.(4.17asc.ge.'${CHSSTATYMD}').or.(11.17asc.ge.'${CHSSTATYMD}').or.(21.17asc.ge.'${CHSSTATYMD}').or.(22.17asc.ge.'${CHSSTATYMD}').or.(25.17asc.ge.'${CHSSTATYMD}').or.(27.17asc.ge.'${CHSSTATYMD}').or.(28.17asc.ge.'${CHSSTATYMD}')" \
  -output file=${KKIFM832_MATCH2_SORT} \
   reconst="0.10,2.10,3.4,5.3,6.2,7.8,8.8,9.8,10.8,12.7,13.11,14.12,15.36,16.54,17.36,18.183,19.135,20.45,23.363,24.363,26.12,29.8,30.11,31.11,32.8"
#ANK-3484-08-00 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

#
#--- 端末補償契約番号をキーに一意に集約
#
#ANK-3484-08-00 MOD START
#bsortex -merge key=1.10asc -record recform=txtcsv \
#        -input file=${KKIFM832_MATCH2_SORT} reclen=1392 \
#        -summary suppress last \
#        -output file=${KKIFM832_MATCH2_WORK}
bsortex -merge key=1.10asc -record recform=txtcsv \
        -input file=${KKIFM832_MATCH2_SORT} reclen=1431 \
        -summary suppress last \
        -output file=${KKIFM832_MATCH2_WORK}
#ANK-3484-08-00 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

# ST-2018-0000048 ADD START

# スマートリンク情報について、オプションサービス契約がサービス提供中（休止中断・利用停止含む）となるデータを抽出
bsortex -copy -record recform=txtcsv \
        -input file=${KKIFM832_SMLIN} reclen=61 \
         include="(4.3asc.eq.'100').or.(4.3asc.eq.'210').or.(4.3asc.eq.'220')" \
                 -output file=${KKIFM832_SMLIN_2} \
         reconst="0.12,1.10,2.4"

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

# 集約した端末補償契約者情報キー情報とスマートリンク情報をマッチング
EDIT_MATCHING_QUERY ${KK_CM_1021} "${KKIFM832_MATCH2_WORK} ${KKIFM832_SMLIN_2}"
EXEC_MATCHING ${KKIFM832_MATCH2_WORK_2} ${MATCHING_QUERY_WORK}

# タブレット情報について、機器提供サービス契約がサービス提供中（休止中断・利用停止含む）となるデータを抽出
bsortex -copy -record recform=txtcsv \
        -input file=${KKIFM854} reclen=130 \
         include="(8.3asc.eq.'100').or.(8.3asc.eq.'210').or.(8.3asc.eq.'220')" \
                 -output file=${KKIFM854_2} \
         reconst="0.12,1.20,2.20,3.12,4.10,5.17,6.8,7.1"

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-2018-0000048 ADD END

#
#--- マッチング実行
#
# 集約した端末補償契約者情報キー情報と機器提供サービス契約（カレント）をマッチング
# ST-2018-0000048 MOD START

#EDIT_MATCHING_QUERY ${KK_CM_1016} "${KKIFM832_MATCH2_WORK} ${KKIFM854}"
EDIT_MATCHING_QUERY ${KK_CM_1016} "${KKIFM832_MATCH2_WORK_2} ${KKIFM854_2}"

# ST-2018-0000048 MOD END

EXEC_MATCHING ${KKIFM832_MATCH3_WORK} ${MATCHING_QUERY_WORK}

# 集約した端末補償契約者情報キー情報(機器提供サービス契約結合後)と宅内機器型式アンロードをマッチング
EDIT_MATCHING_QUERY ${KK_CM_1020} "${KKIFM832_MATCH3_WORK} ${KKIFM849}"
EXEC_MATCHING ${KKIFM855} ${MATCHING_QUERY_WORK}

#
#--- 不要ファイルの削除
#
rm ${KKIFM828}
rm ${KKIFM832_OPTION}
rm ${KKIFM832_SMLIN}
rm ${KKIFM832_MATCH}
rm ${KKIFM832_MATCH2}
rm ${KKIFM832_MATCH2_SORT}
rm ${KKIFM832_MATCH2_WORK}
rm ${KKIFM832_MATCH3_WORK}
# IT2-2018-0000073 ADD START
rm ${KKIFM832_MATCH_B_SORT}
rm ${KKIFM832_MATCH_B}
# IT2-2018-0000073 ADD END

# ST-2018-0000048 ADD START

rm -f ${KKIFM832_SMLIN_2}
rm -f ${KKIFM832_MATCH2_WORK_2}
rm -f ${KKIFM854_2}

# ST-2018-0000048 ADD END

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

exit ${G_RTN_NORMAL}
