#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：電話アダプター機能コース変更抽出
#
# 機能          ：電話のサービス契約を対象とし、サービス契約と回線対象サービス契約で紐付く機器提供サービス契約と更に紐付く機器オプションサービス契約を抽出する。
#
# コマンド形式  ：EO2092340J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v8.00.01       2014/07/22   FAP)古内     ST4-2014-0000043
# v8.00.02       2014/07/22   FAP)古内     ST4-2014-0000044
# v9.00.00       2014/09/01   YSK)米谷     IT1-2014-0000290
# v10.00.00      2014/10/08   YSK)柿坂     ST4-2014-0000063（アンロード統合対応：機器提供サービス契約）
# v19.00.00      2015/10/01   FJ)有本      OM-2015-0002494 共通UNLOAD対応
# v19.00.01      2015/10/28   FJ)土井      OM-2015-0002494 共通UNLOAD対応
# v20.00.00      2015/11/17   FJ)有本      OM-2015-0002972 共通UNLOAD対応
# v22.00.00      2016/01/19   FJ)有本      OM-2016-0000115 性能改善
#
##############################################################

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

#
#---ツール格納場所
#
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
   . EOK010310J0.sh "BDATE"
   OPD=${RSLT_OPEDATE}
else
   RSLT_OPEDATE=${OPD}
fi

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

P1="OPD=$OPD,"
P2="SVCCTL=,"
P3="JOB=EO2092340J0,"
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：テーブル名／クエリファイル名
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：ファイルパス
EXEC_CHECK()
{
   if [ ! -r $1 ]
   then
       sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($1) "
       echo $JOBNAME " File is nonexist($1) "
       exit ${G_RTN_ERROR}
   fi
}

#
#--- マッチング処理
#      p1：出力ファイルパス
#      p2：DEFファイルパス
#      p3：TMPDEFファイルパス
EXEC_MATCHING()
{
   OUTFILE=$1
   DEF=$2
   TMPDEF=$3

   # 出力ファイルの初期化
   cat /dev/null > ${OUTFILE}
   cat /dev/null > ${TMPDEF}
   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

   # DEFTMPファイル作成
   cat ${DEF}>${TMPDEF}
   # ++++++++++++++ v8.00.01 mod start ++++++++++++++
   #sed -i -e s@'${MID_DIR_KK}'@${MID_DIR_KK}@g ${TMPDEF}
   sed -i -e s@'${MID_DIR_KK}'@${MID_DIR_KK}@g ${TMPDEF}
   sed -i -e s@'${LOC_DIR_KK}'@${LOC_DIR_KK}@g ${TMPDEF}
   # ++++++++++++++ v8.00.01 mod end ++++++++++++++
   
   # マッチング実行
   export ZTLOUTFILE=${OUTFILE}
   ${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEF}
   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
}

#
#--- 中間ファイルクリア関数
#       p1：ファイルパス
EXEC_CLEAR()
{
   FILE=$1
   # 出力ファイルの初期化
   cat /dev/null > ${FILE}
   rc=$?
   if [ $rc -ne 0 ]
   then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error(${FILE}:rc=$rc) "
      echo $JOBNAME " File cat error(${FILE}:rc=$rc) "
      exit ${G_RTN_ERROR}
   fi
}

#--- TAI-2014-0000014 追加開始 ---
#
#--- クエリ編集
#       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
}
#--- TAI-2014-0000014 追加終了 ---

#
#--- ファイル定義
#
#アンロード用 - SQLファイル
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#SQLFILE_KK0081=${SQL_DIR}/KK_U_KK0081_93.sql
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END
SQLFILE_KK0241=${SQL_DIR}/KK_U_KK0241_22.sql
# ++++++++++++++ v10.00.00 del start ++++++++++++
#SQLFILE_KK0341=${SQL_DIR}/KK_U_KK0341_26.sql
# ++++++++++++++ v10.00.00 del end ++++++++++++++
SQLFILE_KK0791=${SQL_DIR}/KK_U_KK0791_08.sql
SQLFILE_KK2811=${SQL_DIR}/KK_U_KK2811_09.sql

# ++++++++++++++ v9.00.00 add start ++++++++++++++
SQLFILE_KK2111=${SQL_DIR}/KK_U_KK2111_03.sql
# ++++++++++++++ v9.00.00 add end ++++++++++++++

#アンロード用 - 出力結果
# ++++++++++++++ v8.00.01 mod start ++++++++++++++
#SQLOUT_KK0081=${MID_DIR_KK}/KKIFM577001_UL_KK0081.csv
#SQLOUT_KK0241=${MID_DIR_KK}/KKIFM577001_UL_KK0241.csv
#SQLOUT_KK0341=${MID_DIR_KK}/KKIFM577001_UL_KK0341.csv
## ++++++++++++++++++ v8.00.02 del start ++++++++++++++++++++++++
##SQLOUT_KK0791=${MID_DIR_KK}/KKIFM577001_UL_KK0791.csv
## ++++++++++++++++++ v8.00.02 del end ++++++++++++++++++++++++
#SQLOUT_KK2811=${MID_DIR_KK}/KKIFM577001_UL_KK2811.csv
# OM-2015-0002494 2015/10/28 土井 DEL START
#SQLOUT_KK0081=${LOC_DIR_KK}/KKIFM577001_UL_KK0081.csv
# OM-2015-0002494 2015/10/28 土井 DEL END
SQLOUT_KK0241=${LOC_DIR_KK}/KKIFM577001_UL_KK0241.csv
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#SQLOUT_KK0341=${LOC_DIR_KK}/KKIFM577001_UL_KK0341.csv
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END
SQLOUT_KK2811=${LOC_DIR_KK}/KKIFM577001_UL_KK2811.csv
# ++++++++++++++ v8.00.01 mod end ++++++++++++++

# ++++++++++++++ v9.00.00 add start ++++++++++++++
SQLOUT_KK2111=${LOC_DIR_KK}/KKIFM577001_UL_KK2111.csv
# ++++++++++++++ v9.00.00 add end ++++++++++++++

#bsortex - ソート結果
# ++++++++++++++ v8.00.01 mod start ++++++++++++++
#KK0081_SORT=${MID_DIR_KK}/KKIFM577001_ST_KK0081.tmp
#KK0081_SORT_IDO=${MID_DIR_KK}/KKIFM577001_ST_KK0081_IDO.tmp
#KK0241_SORT=${MID_DIR_KK}/KKIFM577001_ST_KK0241.tmp
##KK0341_SORT=${MID_DIR_KK}/KKIFM577001_ST_KK0341.tmp #--- TAI-2014-0000014 削除 ---
## ++++++++++++++++++ v8.00.02 del start ++++++++++++++++++++++++
##KK0791_SORT=${MID_DIR_KK}/KKIFM577001_ST_KK0791.tmp
## ++++++++++++++++++ v8.00.02 del end ++++++++++++++++++++++++
##KK2811_SORT=${MID_DIR_KK}/KKIFM577001_ST_KK2811.tmp #--- TAI-2014-0000014 削除 ---
KK0081_SORT=${LOC_DIR_KK}/KKIFM577001_ST_KK0081.tmp
KK0081_SORT_IDO=${LOC_DIR_KK}/KKIFM577001_ST_KK0081_IDO.tmp
KK0241_SORT=${LOC_DIR_KK}/KKIFM577001_ST_KK0241.tmp
# ++++++++++++++ v8.00.01 mod start ++++++++++++++

# ++++++++++++++ v8.00.01 mod start ++++++++++++++
#KK0081_CRNT_NET=${MID_DIR_KK}/KKIFM577001_CR_KK0081_KK0241.net.tmp
#KK0081_CRNT_TEL=${MID_DIR_KK}/KKIFM577001_CR_KK0081_KK0241.tel.tmp
#KK0081_CRNT_TV=${MID_DIR_KK}/KKIFM577001_CR_KK0081_KK0241.tv.tmp
KK0081_CRNT_NET=${LOC_DIR_KK}/KKIFM577001_CR_KK0081_KK0241.net.tmp
KK0081_CRNT_TEL=${LOC_DIR_KK}/KKIFM577001_CR_KK0081_KK0241.tel.tmp
KK0081_CRNT_TV=${LOC_DIR_KK}/KKIFM577001_CR_KK0081_KK0241.tv.tmp
# ++++++++++++++ v8.00.01 mod end ++++++++++++++

#bsortex - マージ結果
# ++++++++++++++ v8.00.01 mod start ++++++++++++++
#KK0081_CRNT=${MID_DIR_KK}/KKIFM577001_CR_KK0081.tmp
#KK0081_CRNT_IDO=${MID_DIR_KK}/KKIFM577001_CR_KK0081.ido.tmp
#KK0241_CRNT=${MID_DIR_KK}/KKIFM577001_CR_KK0241.tmp
##KK0341_CRNT=${MID_DIR_KK}/KKIFM577001_CR_KK0341.tmp #--- TAI-2014-0000014 削除 ---
#KK0791_CRNT=${MID_DIR_KK}/KKIFM577001_CR_KK0791.tmp
##KK2811_CRNT=${MID_DIR_KK}/KKIFM577001_CR_KK2811.tmp #--- TAI-2014-0000014 削除 ---
KK0081_CRNT=${LOC_DIR_KK}/KKIFM577001_CR_KK0081.tmp
KK0081_CRNT_IDO=${LOC_DIR_KK}/KKIFM577001_CR_KK0081.ido.tmp
KK0241_CRNT=${LOC_DIR_KK}/KKIFM577001_CR_KK0241.tmp
KK0791_CRNT=${LOC_DIR_KK}/KKIFM577001_CR_KK0791.tmp
# ++++++++++++++ v8.00.01 mod end ++++++++++++++

#マッチング定義
DEF_0413=${G_TOOLSH}/util/def/KK_CM_0413.def
DEF_TMP_0413=${G_TOOLSH}/util/def/KK_CM_0413.tmp.def
DEF_0414=${G_TOOLSH}/util/def/KK_CM_0414.def
DEF_TMP_0414=${G_TOOLSH}/util/def/KK_CM_0414.tmp.def

# ++++++++++++++ v9.00.00 add start ++++++++++++++
DEF_0527=${G_TOOLSH}/util/def/KK_CM_0527.def
DEF_TMP_0527=${G_TOOLSH}/util/def/KK_CM_0527.tmp.def
# ++++++++++++++ v9.00.00 add end ++++++++++++++

# ++++++++++++++ v10.00.00 add start ++++++++++++
# 統合アンロードファイル(機器提供サービス契約-カレント)
KK0341_COM_OTF=${LOC_DIR_KK}/KKIFM604001.csv
# ++++++++++++++ v10.00.00 add end ++++++++++++++

#出力ファイル
# ++++++++++++++ v8.00.01 mod start ++++++++++++++
#OUT_FILE_0413=${MID_DIR_KK}/KKIFM577001.0413.csv
#OUT_FILE_0414=${MID_DIR_KK}/KKIFM577001.0414.csv
OUT_FILE_0413=${LOC_DIR_KK}/KKIFM577001.0413.csv
OUT_FILE_0414=${LOC_DIR_KK}/KKIFM577001.0414.csv
# ++++++++++++++ v8.00.01 mod end ++++++++++++++
# ++++++++++++++ v9.00.00 add start ++++++++++++++
OUT_FILE_0527=${LOC_DIR_KK}/KKIFM577001.0527.csv
# ++++++++++++++ v9.00.00 add end ++++++++++++++

OUT_FILE=${MID_DIR_KK}/KKIFM577001.csv

# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 ADD START
#共通UNLOADファイル名
#サービス契約(全件)
COMULD3_KK0081_ALL=${MID_DIR_CC}/CCIFM040001.csv
#サービス契約(カレント)
COMULD3_KK0081_CUR=${MID_DIR_CC}/CCIFM040002.csv
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 ADD END
#
#--- ファイル存在チェック
#
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#EXEC_CHECK $SQLFILE_KK0081
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END
EXEC_CHECK $SQLFILE_KK0241
# ++++++++++++++ v10.00.00 mod start ++++++++++++
#EXEC_CHECK $SQLFILE_KK0341
EXEC_CHECK $KK0341_COM_OTF
# ++++++++++++++ v10.00.00 mod end ++++++++++++++
EXEC_CHECK $SQLFILE_KK0791
EXEC_CHECK $SQLFILE_KK2811

# ++++++++++++++ v9.00.00 add start ++++++++++++++
EXEC_CHECK $SQLFILE_KK2111
EXEC_CHECK $DEF_0527
# ++++++++++++++ v9.00.00 add end ++++++++++++++

EXEC_CHECK $DEF_0413
EXEC_CHECK $DEF_0414

#
#--- 初期処理 前回実施時に出力したファイルを全てクリアする。
#
EXEC_CLEAR $KK0081_SORT
EXEC_CLEAR $KK0081_SORT_IDO
EXEC_CLEAR $KK0241_SORT
#EXEC_CLEAR $KK0341_SORT #--- TAI-2014-0000014 削除 ---
# ++++++++++++++++++ v8.00.02 del start ++++++++++++++++++++++++
#EXEC_CLEAR $KK0791_SORT
# ++++++++++++++++++ v8.00.02 del end ++++++++++++++++++++++++
#EXEC_CLEAR $KK2811_SORT #--- TAI-2014-0000014 削除 ---

EXEC_CLEAR $KK0081_CRNT
EXEC_CLEAR $KK0081_CRNT_IDO
EXEC_CLEAR $KK0241_CRNT
#EXEC_CLEAR $KK0341_CRNT #--- TAI-2014-0000014 削除 ---
EXEC_CLEAR $KK0791_CRNT
#EXEC_CLEAR $KK2811_CRNT #--- TAI-2014-0000014 削除 ---
EXEC_CLEAR $KK0081_CRNT_NET
EXEC_CLEAR $KK0081_CRNT_TEL
EXEC_CLEAR $KK0081_CRNT_TV
EXEC_CLEAR $DEF_TMP_0413
EXEC_CLEAR $DEF_TMP_0414
EXEC_CLEAR $OUT_FILE_0413
EXEC_CLEAR $OUT_FILE_0414

# ++++++++++++++ v9.00.00 add start ++++++++++++++
EXEC_CLEAR $SQLOUT_KK2111
EXEC_CLEAR $DEF_TMP_0527
EXEC_CLEAR $OUT_FILE_0527
# ++++++++++++++ v9.00.00 add end ++++++++++++++

#
#--- UNLOAD処理
#
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 MOD START
#EXEC_UNLOAD $SQLFILE_KK0081 $SQLOUT_KK0081
# OM-2015-0002494 2015/10/28 土井 DEL START
#bsortex \
#   -sort key=0.12asc \
#   -record recform=txtcsv \
#   -input file=${COMULD3_KK0081_ALL} \
#          reclen=270 \
#          reconst="0.10,1.17,14.8,15.1,23.1,2.3,4.2,5.12,7.3,9.8,10.8,11.8,12.8,13.1,21.5,22.17" \
#   -output file=${SQLOUT_KK0081}
#rc=$?
#if [ $rc -ne 0 ]
#then
#  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " SQLOUT_KK0081 Error(SQLOUT_KK0081 bsotex:$rc)"
#  echo $JOBNAME " SQLOUT_KK0081 Error(SQLOUT_KK0081 bsortex:$rc)"
#  exit ${G_RTN_ERROR}
#fi
# OM-2015-0002494 2015/10/28 土井 DEL END
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 MOD END
# ++++++++++++++ v8.00.02 mod start ++++++++++++++
EDIT_ULD_QUERY ${SQLFILE_KK0241} "${RSLT_OPEDATE}"
EXEC_UNLOAD $SQL_WORK_FILE $SQLOUT_KK0241
# ++++++++++++++ v8.00.02 mod end ++++++++++++++

# ++++++++++++++ v10.00.00 mod start ++++++++++++
##--- TAI-2014-0000014 変更開始 ---
##EXEC_UNLOAD $SQLFILE_KK0341 $SQLOUT_KK0341
#EDIT_ULD_QUERY ${SQLFILE_KK0341} "${RSLT_OPEDATE}"
#EXEC_UNLOAD $SQL_WORK_FILE $SQLOUT_KK0341
##--- TAI-2014-0000014 変更終了 ---

# 統合アンロード(機器提供サービス契約-カレント)から必要な情報を抽出する
#      0 - 0.12   ：機器提供サービス契約番号
#      1 - 2.17   ：世代登録年月日時分秒
#      2 - 1.8    ：予約適用年月日
#      3 - 3.1    ：予約適用コード
#      4 - 4.1    ：無効フラグ
#      5 - 5.3    ：機器提供サービス契約ステータス
#      6 - 7.4    ：機器提供サービスコード
#      7 - 6.12   ：サービス契約回線内訳番号
#      8 - 11.8   ：プラン開始年月日
#      9 - 12.8   ：プラン終了年月日
#     10 - 13.8   ：プラン課金開始年月日
#     11 - 14.8   ：プラン課金終了年月日
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#gawk 'BEGIN {FS=",";OFS=","}
#            {print $1,$3,$2,$4,$5,$6,$8,$7,$12,$13,$14,$15}' ${KK0341_COM_OTF} > ${SQLOUT_KK0341}
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END
# ++++++++++++++ v10.00.00 mod end ++++++++++++++

# ++++++++++++++++++ v8.00.02 mod start ++++++++++++++++++++++++
#EXEC_UNLOAD $SQLFILE_KK0791 $SQLOUT_KK0791
EDIT_ULD_QUERY ${SQLFILE_KK0791} "${RSLT_OPEDATE}"
EXEC_UNLOAD $SQL_WORK_FILE $KK0791_CRNT
# ++++++++++++++++++ v8.00.02 mod end ++++++++++++++++++++++++
#--- TAI-2014-0000014 変更開始 ---
#EXEC_UNLOAD $SQLFILE_KK2811 $SQLOUT_KK2811
EDIT_ULD_QUERY ${SQLFILE_KK2811} "${RSLT_OPEDATE}"
EXEC_UNLOAD $SQL_WORK_FILE $SQLOUT_KK2811
#--- TAI-2014-0000014 変更終了 ---

# ++++++++++++++ v9.00.00 add start ++++++++++++++
EDIT_ULD_QUERY ${SQLFILE_KK2111} "${RSLT_OPEDATE}"
EXEC_UNLOAD $SQL_WORK_FILE $SQLOUT_KK2111
# ++++++++++++++ v9.00.00 add end ++++++++++++++

##################################
#KK0081 サービス契約(カレント)
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 MOD START
#bsortex \
#   -sort key=0.12asc,2.8asc,1.17asc \
#   -record recform=txtcsv \
#   -input file=${SQLOUT_KK0081} \
#        reclen=300 \
#        include="2.8asc.le.'${OPD}',4.1asc.eq.'0',3.1asc.eq.'2'" \
#   -output file=${KK0081_SORT}
#rc=$?
#if [ $rc -ne 0 ]
#then
#  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0081 Sort Error(KK0081 sort:$rc) "
#  echo $JOBNAME " KK0081 Sort Error(KK0081 sort:$rc)"
#  exit ${G_RTN_ERROR}
#fi
##マージ
#bsortex \
#    -merge key=0.12asc \
#    -record recform=txtcsv \
#    -input file=${KK0081_SORT} \
#         reclen=300 \
#    -summary suppress last \
#    -output file=${KK0081_CRNT}
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD START
#bsortex \
#   -sort key=0.12asc \
#   -record recform=txtcsv \
#   -input file=${COMULD3_KK0081_CUR} \
#          reclen=270 \
#          reconst="0.10,1.17,14.8,15.1,23.1,2.3,4.2,5.12,7.3,9.8,10.8,11.8,12.8,13.1,21.5,22.17" \
#   -output file=${KK0081_CRNT}
bsortex \
   -copy \
   -record recform=txtcsv \
   -input file=${COMULD3_KK0081_CUR} \
          reclen=270 \
          reconst="0.10,1.17,14.8,15.1,23.1,2.3,4.2,5.12,7.3,9.8,10.8,11.8,12.8,13.1,21.5,22.17" \
   -output file=${KK0081_CRNT}
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD END
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 MOD END
    
rc=$?
if [ $rc -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0081 Merge Error(KK0081 merge:$rc)"
  echo $JOBNAME " KK0081 Merge Error(KK0081 merge:$rc)"
  exit ${G_RTN_ERROR}
fi

##################################
#KK0081 サービス契約(プラン終了種別コード=1かつ電話)
# OM-2015-0002494 2015/10/28 土井 MOD START
#bsortex \
#   -sort key=0.12asc,2.8asc,1.17asc \
#   -record recform=txtcsv \
#   -input file=${SQLOUT_KK0081} \
#        reclen=300 \
#        include="2.8asc.le.'${OPD}',4.1asc.eq.'0',3.1asc.eq.'2',6.2asc.eq.'02',13.1asc.eq.'1'" \
#   -output file=${KK0081_SORT_IDO}
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD START
#bsortex \
#   -sort key=0.12asc,2.8asc,1.17asc \
#   -record recform=txtcsv \
#   -input file=${COMULD3_KK0081_ALL} \
#        reclen=300 \
#        include="2.8asc.le.'${OPD}',3.1asc.eq.'2',6.2asc.eq.'02',13.1asc.eq.'1'" \
#   -output file=${KK0081_SORT_IDO}
bsortex \
   -copy \
   -record recform=txtcsv \
   -input file=${COMULD3_KK0081_ALL} \
        reclen=270 \
        reconst="0.10,1.17,14.8,15.1,23.1,2.3,4.2,5.12,7.3,9.8,10.8,11.8,12.8,13.1,21.5,22.17" \
   -output file=${KK0081_SORT_IDO} \
        include="6.2asc.eq.'02',13.1asc.eq.'1'"
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD END
# OM-2015-0002494 2015/10/28 土井 MOD END
rc=$?
if [ $rc -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0081_IDO Sort Error(KK0081_IDO sort:$rc) "
  echo $JOBNAME " KK0081_IDO Sort Error(KK0081_IDO sort:$rc)"
  exit ${G_RTN_ERROR}
fi
#マージ
bsortex \
    -merge key=0.12asc \
    -record recform=txtcsv \
    -input file=${KK0081_SORT_IDO} \
         reclen=300 \
    -summary suppress last \
    -output file=${KK0081_CRNT_IDO}
    
rc=$?
if [ $rc -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0081_IDO Merge Error(KK0081_IDO merge:$rc)"
  echo $JOBNAME " KK0081_IDO Merge Error(KK0081_IDO merge:$rc)"
  exit ${G_RTN_ERROR}
fi


#################################
#ソート KK0241 回線対象サービス契約
# ++++++++++++++++++ v8.00.02 mod start ++++++++++++++++++++++++
#bsortex \
#   -sort key=0.10asc \
#   -record recform=txtcsv \
#   -input file=${SQLOUT_KK0241} \
#        reclen=70 \
#        include="2.8asc.le.'${OPD}',3.8asc.ge.'${OPD}',4.1asc.eq.'0'" \
#   -output file=${KK0241_CRNT}
bsortex \
   -sort key=0.10asc \
   -record recform=txtcsv \
   -input file=${SQLOUT_KK0241} \
        reclen=70 \
   -output file=${KK0241_CRNT}
rc=$?
# ++++++++++++++++++ v8.00.02 mod end ++++++++++++++++++++++++
if [ $rc -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0241 Sort Error(KK0241 sort:$rc) "
  echo $JOBNAME " KK0241 Sort Error(KK0241 sort:$rc)"
  exit ${G_RTN_ERROR}
fi

##################################
#マッチング実施
# サービス契約(カレント)と回線を結合する
#      p1：出力ファイルパス
#      p2：DEFファイルパス
#      p3：TMPDEFファイルパス
EXEC_MATCHING ${OUT_FILE_0413} ${DEF_0413} ${DEF_TMP_0413}

##################################
#KK0081_KK0241 サービス契約(カレント)と回線内訳のマッチング結果をネット、電話、テレビのファイルに分ける
#ネット抽出
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD START
#bsortex \
#   -sort key=0.12asc \
#   -record recform=txtcsv \
#   -input file=${OUT_FILE_0413} \
#        reclen=300 \
#        include="6.2asc.eq.'01'" \
#   -output file=${KK0081_CRNT_NET}
bsortex \
   -copy \
   -record recform=txtcsv \
   -input file=${OUT_FILE_0413} \
        reclen=300 \
        include="6.2asc.eq.'01'" \
   -output file=${KK0081_CRNT_NET}
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD END
rc=$?
if [ $rc -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0081_NET Sort Error(KK0081_NET sort:$rc) "
  echo $JOBNAME " KK0081_NET Sort Error(KK0081_NET sort:$rc)"
  exit ${G_RTN_ERROR}
fi

#電話抽出
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD START
#bsortex \
#   -sort key=0.12asc \
#   -record recform=txtcsv \
#   -input file=${OUT_FILE_0413} \
#        reclen=300 \
#        include="6.2asc.eq.'02'" \
#   -output file=${KK0081_CRNT_TEL}
bsortex \
   -copy \
   -record recform=txtcsv \
   -input file=${OUT_FILE_0413} \
        reclen=300 \
        include="6.2asc.eq.'02'" \
   -output file=${KK0081_CRNT_TEL}
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD END
rc=$?
if [ $rc -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0081_TEL Sort Error(KK0081_TEL sort:$rc) "
  echo $JOBNAME " KK0081_TEL Sort Error(KK0081_TEL sort:$rc)"
  exit ${G_RTN_ERROR}
fi

#テレビ抽出
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD START
#bsortex \
#   -sort key=0.12asc \
#   -record recform=txtcsv \
#   -input file=${OUT_FILE_0413} \
#        reclen=300 \
#        include="6.2asc.eq.'03'" \
#   -output file=${KK0081_CRNT_TV}
bsortex \
   -copy \
   -record recform=txtcsv \
   -input file=${OUT_FILE_0413} \
        reclen=300 \
        include="6.2asc.eq.'03'" \
   -output file=${KK0081_CRNT_TV}
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD END
rc=$?
if [ $rc -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0081_TV Sort Error(KK0081_TV sort:$rc) "
  echo $JOBNAME " KK0081_TV Sort Error(KK0081_TV sort:$rc)"
  exit ${G_RTN_ERROR}
fi

#--- TAI-2014-0000014 削除開始 ---
###################################
##機器提供サービス契約(カレント)
#bsortex \
#   -sort key=0.12asc,2.8asc,1.17asc \
#   -record recform=txtcsv \
#   -input file=${SQLOUT_KK0341} \
#        reclen=300 \
#        include="2.8asc.le.'${OPD}',4.1asc.eq.'0',3.1asc.eq.'2'" \
#   -output file=${KK0341_SORT}
#rc=$?
#if [ $rc -ne 0 ]
#then
#  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0341 Sort Error(KK0341 sort:$rc) "
#  echo $JOBNAME " KK0341 Sort Error(KK0341 sort:$rc)"
#  exit ${G_RTN_ERROR}
#fi
##マージ
#bsortex \
#    -merge key=0.12asc \
#    -record recform=txtcsv \
#    -input file=${KK0341_SORT} \
#         reclen=300 \
#    -summary suppress last \
#    -output file=${KK0341_CRNT}
#    
#rc=$?
#if [ $rc -ne 0 ]
#then
#  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0341 Merge Error(KK0341 merge:$rc)"
#  echo $JOBNAME " KK0341 Merge Error(KK0341 merge:$rc)"
#  exit ${G_RTN_ERROR}
#fi
#
###################################
##KK2811 機器OPサービス契約(カレント)
#bsortex \
#   -sort key=0.12asc,2.8asc,1.17asc \
#   -record recform=txtcsv \
#   -input file=${SQLOUT_KK2811} \
#        reclen=300 \
#        include="2.8asc.le.'${OPD}',4.1asc.eq.'0',3.1asc.eq.'2'" \
#   -output file=${KK2811_SORT}
#rc=$?
#if [ $rc -ne 0 ]
#then
#  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK2811 Sort Error(KK2811 sort:$rc) "
#  echo $JOBNAME " KK2811 Sort Error(KK2811 sort:$rc)"
#  exit ${G_RTN_ERROR}
#fi
##マージ
#bsortex \
#    -merge key=0.12asc \
#    -record recform=txtcsv \
#    -input file=${KK2811_SORT} \
#         reclen=300 \
#    -summary suppress last \
#    -output file=${KK2811_CRNT}
#    
#rc=$?
#if [ $rc -ne 0 ]
#then
#  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK2811 Merge Error(KK2811 merge:$rc)"
#  echo $JOBNAME " KK2811 Merge Error(KK2811 merge:$rc)"
#  exit ${G_RTN_ERROR}
#fi
#--- TAI-2014-0000014 削除終了 ---

# ++++++++++++++++++ v8.00.02 del start ++++++++++++++++++++++++
#################################
##KK0791 料金コース(カレント)
#bsortex \
#   -sort key=0.3asc,2.8asc,1.17asc \
#   -record recform=txtcsv \
#   -input file=${SQLOUT_KK0791} \
#        reclen=400 \
#        include="2.8asc.le.'${OPD}',3.1asc.eq.'0'" \
#   -output file=${KK0791_SORT}
#rc=$?
#if [ $rc -ne 0 ]
#then
#  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0791 Sort Error(KK0791 sort:$rc) "
#  echo $JOBNAME " KK0791 Sort Error(KK0791 sort:$rc)"
#  exit ${G_RTN_ERROR}
#fi
#
##マージ
#bsortex \
#    -merge key=0.3asc \
#    -record recform=txtcsv \
#    -input file=${KK0791_SORT} \
#         reclen=400 \
#    -summary suppress last \
#    -output file=${KK0791_CRNT}
#    
#rc=$?
#if [ $rc -ne 0 ]
#then
#  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KK0791 Merge Error(KK0791 merge:$rc)"
#  echo $JOBNAME " KK0791 Merge Error(KK0791 merge:$rc)"
#  exit ${G_RTN_ERROR}
#fi
# ++++++++++++++++++ v8.00.02 del end ++++++++++++++++++++++++

##################################
#マッチング実施
# サービス契約(電話)を主テーブルに必要な情報を取得します
#      p1：出力ファイルパス
#      p2：DEFファイルパス
#      p3：TMPDEFファイルパス
EXEC_MATCHING ${OUT_FILE_0414} ${DEF_0414} ${DEF_TMP_0414}

#################################
#サービス契約と機器オプションサービス契約の料金コースが違う場合
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD START
#bsortex \
#   -sort key=0.103asc \
#   -record recform=txtcsv \
#   -input file=${OUT_FILE_0414} \
#        reclen=650 \
#        include="(1.3asc.eq.'A31'.and.12.3asc.eq.'G04').or.(1.3asc.eq.'A32'.and.12.3asc.eq.'G03')" \
#   -output file=${OUT_FILE_0527}
# OM-2016-0000115 性能改善 2016/01/19 有本 MOD START
#bsortex \
#   -copy \
#   -record recform=txtcsv \
#   -input file=${OUT_FILE_0414} \
#        reclen=650 \
#        include="(1.3asc.eq.'A31'.and.12.3asc.eq.'G04').or.(1.3asc.eq.'A32'.and.12.3asc.eq.'G03')" \
#   -output file=${OUT_FILE_0527}
bsortex \
   -copy \
   -record recform=txtcsv \
   -input file=${OUT_FILE_0414} \
        reclen=550 \
        include="(1.3asc.eq.'A31'.and.12.3asc.eq.'G04').or.(1.3asc.eq.'A32'.and.12.3asc.eq.'G03')" \
   -output file=${OUT_FILE_0527}
# OM-2016-0000115 性能改善 2016/01/19 有本 MOD END
# OM-2015-0002972 共通UNLOAD対応 2015/11/17 有本 MOD END
rc=$?
if [ $rc -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh JOBNAME " KKIFM577001.0414 Sort Error(KKIFM577001.0414 sort:$rc) "
  echo $JOBNAME " KKIFM577001.0414 Sort Error(KKIFM577001.0414 sort:$rc)"
  exit ${G_RTN_ERROR}
fi
# ++++++++++++++ v9.00.00 add start ++++++++++++++
##################################
#マッチング実施
# 排他情報を付与します
#      p1：出力ファイルパス
#      p2：DEFファイルパス
#      p3：TMPDEFファイルパス
EXEC_MATCHING ${OUT_FILE} ${DEF_0527} ${DEF_TMP_0527}
# ++++++++++++++ v9.00.00 add end ++++++++++++++

# ++++++++++++++ v8.00.01 mod start ++++++++++++++
# 当ジョブで利用していたワークファイルを削除する。
# OM-2015-0002494 2015/10/28 土井 DEL START
#rm -f ${SQLOUT_KK0081}
# OM-2015-0002494 2015/10/28 土井 DEL END
rm -f ${SQLOUT_KK0241}
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#rm -f ${SQLOUT_KK0341}
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END
rm -f ${SQLOUT_KK2811}
rm -f ${KK0081_SORT}
rm -f ${KK0081_SORT_IDO}
rm -f ${KK0241_SORT}
rm -f ${KK0081_CRNT_NET}
rm -f ${KK0081_CRNT_TEL}
rm -f ${KK0081_CRNT_TV}
rm -f ${KK0081_CRNT}
rm -f ${KK0081_CRNT_IDO}
rm -f ${KK0241_CRNT}
rm -f ${KK0791_CRNT}
rm -f ${OUT_FILE_0413}
rm -f ${OUT_FILE_0414}
# ++++++++++++++ v8.00.01 mod end ++++++++++++++
# ++++++++++++++ v9.00.00 add start ++++++++++++++
rm -f ${SQLOUT_KK2111}
rm -f ${OUT_FILE_0527}
# ++++++++++++++ v9.00.00 add end ++++++++++++++
#
#--- ジョブの終了メッセージを出力する
#
sh ${G_TOOLSH}/EOK010210J0.sh CS00028I $JOBNAME
sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME

exit ${G_RTN_NORMAL}
