#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：有効VA機器リスト生成（継続）
#
# 機能          ：1. サービス契約スキーマ抽出ファイル(KKIFM293001_sort.csv)から
#                    抽出条件を満たすカレントレコードを抽出する。
#                 
#                 2. 機器提供サービス契約スキーマ抽出ファイル(KKIFM297001_sort.csv)から
#                    抽出条件を満たすカレントレコードを抽出する。
#                 
#                 3. サービス契約スキーマ抽出ファイル、機器提供サービス契約スキーマ抽出ファイル、
#                    1.2.で取得したデータをマッチングし、有効VA機器リストを生成する。
#
# コマンド形式  ：EO2350125J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# V7.00.00       2014/02/19   AS)安井      OM-2014-0000496
# V9.00.00       2014/06/19   AS)安井      OM-2014-0002010 OM-2014-0000496の修正内容削除
# v9.00.01       2014/07/25   FJ)岡田      ST4-2014-0000043
# v15.00.00      2015/08/26   FJ)土井      ST-2015-0000038 性能改善：機器提供データ抽出を当月処理だけ実行する。
#                                                                  （前月処理時は当月処理時のデータがそのまま使えるため）
# v19.00.00      2015/10/30   FJ)土井      OM-2015-0002824 性能改善：ジョブ分割対応
# v23.00.00      2016/02/24   FJ)安井      OM-2016-0000346 課金開始終了逆転VA機器対象外化
#
##############################################################

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

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

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

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

#
#--- ファイル定義
#
# KK_T_KKTK_SVC_KEI (IN)
# ST-2015-0000038 性能改善 2015/08/26 土井 MOD START
#IN_FILE_1=${MID_DIR_KK}/KKIFM297001.csv
IN_FILE_1=${LOC_DIR_KK}/KKIFM297001_sort.csv
# ST-2015-0000038 性能改善 2015/08/26 土井 MOD END
# KK_T_KKTK_SVC_KEI (IN)
#▼▼▼ST4-2014-0000043▼▼▼
#IN_FILE_1_SORT_1=${MID_DIR_KK}/KKIFM297001_srt.csv
IN_FILE_1_SORT_1=${LOC_DIR_KK}/KKIFM297001_srt.csv
#▲▲▲ST4-2014-0000043▲▲▲
#▼OM-2013-0004971▼
# KK_T_KKTK_SVC_KEI (IN)
#▼▼▼ST4-2014-0000043▼▼▼
#IN_FILE_1_SORT_2=${MID_DIR_KK}/KKIFM297001_srt2.csv
IN_FILE_1_SORT_2=${LOC_DIR_KK}/KKIFM297001_srt2.csv
#▲▲▲ST4-2014-0000043▲▲▲
# KK_T_KKTK_SVC_KEI (IN)
#▼▼▼ST4-2014-0000043▼▼▼
#IN_FILE_1_MRG_1=${MID_DIR_KK}/KKIFM297001_mrg1.csv
IN_FILE_1_MRG_1=${LOC_DIR_KK}/KKIFM297001_mrg1.csv
#▲▲▲ST4-2014-0000043▲▲▲
# KK_T_KKTK_SVC_KEI (IN)
#▼▼▼ST4-2014-0000043▼▼▼
#IN_FILE_1_MRG_2=${MID_DIR_KK}/KKIFM297001_mrg2.csv
IN_FILE_1_MRG_2=${LOC_DIR_KK}/KKIFM297001_mrg2.csv
#▲▲▲ST4-2014-0000043▲▲▲
#▲OM-2013-0004971▲
# KK_T_KKTK_SVC_KEI (IN)
#▼▼▼ST4-2014-0000043▼▼▼
#IN_FILE_1_MRG=${MID_DIR_KK}/KKIFM297001_mrg.csv
IN_FILE_1_MRG=${LOC_DIR_KK}/KKIFM297001_mrg.csv
#▲▲▲ST4-2014-0000043▲▲▲
# KK_T_KKTK_SVC_KEI (IN)
#▼▼▼ST4-2014-0000043▼▼▼
#IN_FILE_1_SORT=${MID_DIR_KK}/KKIFM297002_pre.csv
IN_FILE_1_SORT=${LOC_DIR_KK}/KKIFM297002_pre.csv
#▲▲▲ST4-2014-0000043▲▲▲

# KK_T_SVC_KEI      (IN)
# ST-2015-0000038 性能改善 2015/08/26 土井 MOD START
#IN_FILE_2=${MID_DIR_KK}/KKIFM293001.csv
IN_FILE_2=${LOC_DIR_KK}/KKIFM293001_sort.csv
# ST-2015-0000038 性能改善 2015/08/26 土井 MOD END
# KK_T_SVC_KEI      (IN)
#▼▼▼ST4-2014-0000043▼▼▼
#IN_FILE_2_SORT=${MID_DIR_KK}/KKIFM293009_pre.csv
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL START
#IN_FILE_2_SORT=${LOC_DIR_KK}/KKIFM293009_pre.csv
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL END
#▲▲▲ST4-2014-0000043▲▲▲

# KKTK_GENE         (OUT -> IN)
#▼▼▼ST4-2014-0000043▼▼▼
#IN_FILE_3=${MID_DIR_KK}/KKIFM297002.csv
IN_FILE_3=${LOC_DIR_KK}/KKIFM297002.csv
#▲▲▲ST4-2014-0000043▲▲▲

# K_GENE            (OUT -> IN)
#▼▼▼ST4-2014-0000043▼▼▼
#IN_FILE_4=${MID_DIR_KK}/KKIFM293009.csv
IN_FILE_4=${LOC_DIR_KK}/KKIFM293009.csv
#▲▲▲ST4-2014-0000043▲▲▲

# DEF               (IN)
DEFFILE=${G_TOOLSH}/util/def/KK_CM_0100.def
# TMPDEF
TMPDEFFILE=${ULD_WORK_DIR}/KK_CM_0100.tmp.${JOBNAME}.def

# OUTPUT            (OUT)
# OM-2015-0002824 性能改善 2015/10/30 土井 MOD START
#OUTFILE=${MID_DIR_KK}/KKIFM442001_pre.csv
OUTFILE=${MID_DIR_KK}/KKIFM442001.csv
# OM-2015-0002824 性能改善 2015/10/30 土井 MOD END
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL START
## OUTPUT            (OUT)
#OUTFILE2=${MID_DIR_KK}/KKIFM442001.csv
#
## OUTPUT            (OUT)
#OUTFILE3=${MID_DIR_KK}/KKIFM442002_pre.csv
## OUTPUT            (OUT)
#OUTFILE4=${MID_DIR_KK}/KKIFM442002.csv
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL END

# debug
debug_p () {
    DEBUG_FLG=1
    if [ ${DEBUG_FLG} -eq 1 ]
    then
        echo "[debug] $1"
    fi
}

#
#--- 各ファイルの存在チェックを行う
#
func_file_exist () {
    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
}
func_file_exist ${IN_FILE_1}
debug_p $?
func_file_exist ${IN_FILE_2}
debug_p $?
func_file_exist ${DEFFILE}
debug_p $?

#
#--- 出力ファイルのクリアを行う
#
func_file_cat () {
    cat /dev/null > ${1}
    rc=$?
    if [ ${rc} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E ${JOBNAME} " File cat error(${1}:rc=${rc}) "
        echo $JOBNAME " File cat error(${1}:rc=${rc}) "
        exit ${G_RTN_ERROR}
    fi
}
func_file_cat ${IN_FILE_1_SORT}
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL START
#func_file_cat ${IN_FILE_2_SORT}
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL END
func_file_cat ${IN_FILE_3}
func_file_cat ${IN_FILE_4}
func_file_cat ${OUTFILE}
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL START
#func_file_cat ${OUTFILE2}
#func_file_cat ${OUTFILE3}
#func_file_cat ${OUTFILE4}
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL END

func_make_file () {
# ST-2015-0000038 性能改善 2015/08/26 土井 ADD START
tougetsu_flg=$1
# ST-2015-0000038 性能改善 2015/08/26 土井 ADD END
# 
#
#--- サービス契約スキーマ抽出ファイルから抽出条件を満たすレコードを抽出する。
#    <sort>
#     0:10asc:SVC_KEI_NO
#    12: 8asc:RSV_APLY_YMD
#     1:17asc:GENE_ADD_DTM
#    <include>
#    13: 1asc:RSV_APLY_CD = '2'
#    12: 8asc:RSV_APLY_YMD <= ${RSLT_OPEDATE}
#    29: 1asc:MK_FLG = '0'
#     5: 3asc:PCRS_CD IN ('A31', 'A32')
#     9: 8asc:PLAN_CHRG_STAYMD <= ${OPEDATE_ENDDAY}
#    10: 8asc:PLAN_CHRG_ENDYMD >= ${OPEDATE_STADAY}
# ST-2015-0000038 性能改善 2015/08/26 土井 MOD START
#bsortex -sort  key=0.10asc,12.8asc,1.17asc -record recform=txtcsv -input file=${IN_FILE_2} reclen=330 \
#include="13.1asc.eq.'2', 12.8asc.le.'${RSLT_OPEDATE}',29.1asc.eq.'0', (5.3asc.eq.'A31'.or.5.3asc.eq.'A32'), (9.8asc.le.'${OPEDATE_ENDDAY}'.and.10.8asc.ge.'${OPEDATE_STADAY}')" \
#-output file=${IN_FILE_2_SORT}
# OM-2015-0002824 性能改善 2015/10/30 土井 MOD START
#bsortex -copy -record recform=txtcsv -input file=${IN_FILE_2} reclen=330 \
#include="(5.3asc.eq.'A31'.or.5.3asc.eq.'A32'), (9.8asc.le.'${OPEDATE_ENDDAY}'.and.10.8asc.ge.'${OPEDATE_STADAY}')" \
#-output file=${IN_FILE_2_SORT}
bsortex -merge key=0.10asc -record recform=txtcsv -input file=${IN_FILE_2} reclen=330 \
include="(5.3asc.eq.'A31'.or.5.3asc.eq.'A32'), (9.8asc.le.'${OPEDATE_ENDDAY}'.and.10.8asc.ge.'${OPEDATE_STADAY}')" \
-summary suppress last \
-output file=${IN_FILE_4}
# OM-2015-0002824 性能改善 2015/10/30 土井 MOD END
# ST-2015-0000038 性能改善 2015/08/26 土井 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

#
#--- サービス契約スキーマ抽出ファイルからカレントレコードを抽出する。
#    <merge>
#     0:10asc:SVC_KEI_NO
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL START
#bsortex -merge key=0.10asc -record recform=txtcsv -input file=${IN_FILE_2_SORT} reclen=330 \
#-summary suppress last -output file=${IN_FILE_4} \
#include="13.1asc.eq.'2', 12.8asc.le.'${RSLT_OPEDATE}',29.1asc.eq.'0', (5.3asc.eq.'A31'.or.5.3asc.eq.'A32'), (9.8asc.le.'${OPEDATE_ENDDAY}'.and.10.8asc.ge.'${OPEDATE_STADAY}')" 
#
#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-0002824 性能改善 2015/10/30 土井 DEL END

#
#--- 機器提供サービス契約スキーマ抽出ファイルから抽出条件を満たすレコードを抽出する。
#    <sort>
#     0:12asc:KKTK_SVC_KEI_NO
#     4: 6asc:PPLAN_CD
#    11: 8asc:RSV_APLY_YMD
#     1:17asc:GENE_ADD_DTM
#    <include>
#    12: 1asc:RSV_APLY_CD = '2'
#    11: 8asc:RSV_APLY_YMD <= ${RSLT_OPEDATE}
#    30: 1asc:MK_FLG = '0'
#     6: 2asc:OYA_KEI_SKBT_CD = '01'
#     2: 4asc:KKTK_SVC_CD = 'C004'
#     4: 6asc:PPLAN_CD IN ('PC0401', 'PC0501')
#▼OM-2013-0004971▼
#bsortex -sort  key=0.12asc,4.6asc,14.8asc,11.8asc,1.17asc -record recform=txtcsv -input file=${IN_FILE_1} reclen=350 \
#include="12.1asc.eq.'2', 11.8asc.le.'${RSLT_OPEDATE}', 30.1asc.eq.'0', 6.2asc.eq.'01', 2.4asc.eq.'C004', (4.6asc.eq.'PC0401'.or.4.6asc.eq.'PC0501')" \
#-output file=${IN_FILE_1_SORT_1}
# ST-2015-0000038 性能改善 2015/08/26 土井 ADD START
if [ ${tougetsu_flg} -eq 1 ]
then
# ST-2015-0000038 性能改善 2015/08/26 土井 ADD END
# ST-2015-0000038 性能改善 2015/08/26 土井 MOD START
#bsortex -sort  key=0.12asc,4.6asc,11.8asc,1.17asc -record recform=txtcsv -input file=${IN_FILE_1} reclen=350 \
#include="12.1asc.eq.'2', 11.8asc.le.'${RSLT_OPEDATE}', 30.1asc.eq.'0', 6.2asc.eq.'01', 2.4asc.eq.'C004', (4.6asc.eq.'PC0401'.or.4.6asc.eq.'PC0501')" \
#-output file=${IN_FILE_1_SORT_1}
bsortex -sort  key=0.12asc,4.6asc,11.8asc,1.17asc -record recform=txtcsv -input file=${IN_FILE_1} reclen=350 \
include="6.2asc.eq.'01', 2.4asc.eq.'C004', (4.6asc.eq.'PC0401'.or.4.6asc.eq.'PC0501')" \
-output file=${IN_FILE_1_SORT_1}
# ST-2015-0000038 性能改善 2015/08/26 土井 MOD END
#▲OM-2013-0004971▲

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-2015-0000038 性能改善 2015/08/26 土井 ADD START
fi
# ST-2015-0000038 性能改善 2015/08/26 土井 ADD END

#
#--- 機器提供サービス契約スキーマ抽出ファイルから機器提供サービス契約番号・料金プランコードごとのカレントレコードを抽出する。
#    <merge>
#     0:12asc:KKTK_SVC_KEI_NO
#     4: 6asc:PPLAN_CD
#    <include>
#    14: 8asc:PLAN_CHRG_STAYMD <= ${OPEDATE_ENDDAY}
#    14: 8asc:PLAN_CHRG_STAYMD IS NOT NULL OM-2013-0004005対応
#    14: 8asc:PLAN_CHRG_STAYMD <= 15: 8asc:PLAN_CHRG_ENDYMD OM-2016-0000346対応
#    15: 8asc:PLAN_CHRG_ENDYMD >= ${OPEDATE_STADAY}
#▼OM-2013-0004971▼
#bsortex -merge key=0.12asc,4.6asc -record recform=txtcsv -input file=${IN_FILE_1_SORT_1} reclen=350 \
#include="(14.8asc.le.'${OPEDATE_ENDDAY}'.and.14.8asc.ge.'0'.and.15.8asc.ge.'${OPEDATE_STADAY}')" \
#-summary suppress last -output file=${IN_FILE_1_MRG} 
#OM-2016-0000346 MOD STA
#bsortex -merge key=0.12asc,4.6asc -record recform=txtcsv -input file=${IN_FILE_1_SORT_1} reclen=400 \
#-summary suppress last -output file=${IN_FILE_1_MRG_1} \
#include="(14.8asc.le.'${OPEDATE_ENDDAY}'.and.14.8asc.ge.'0'.and.15.8asc.ge.'${OPEDATE_STADAY}')" \
#reconst="0.12,1.17,2.4,3.3,4.6,5.12,6.2,7.10,8.12,9.12,10.12,11.8,12.1,13.8,14.8,15.8,16.1,17.8,18.8,19.2,20.8,21.8,22.8,23.8,24.8,25.2,26.8,27.8,28.1,29.5,30.1,31.2,'1'.1ascA"
bsortex -merge key=0.12asc,4.6asc -record recform=txtcsv -input file=${IN_FILE_1_SORT_1} reclen=400 \
-summary suppress last -output file=${IN_FILE_1_MRG_1} \
include="(14.8asc.le.'${OPEDATE_ENDDAY}'.and.14.8asc.ge.'0'.and.14.8asc.le.15.8asc.and.15.8asc.ge.'${OPEDATE_STADAY}')" \
reconst="0.12,1.17,2.4,3.3,4.6,5.12,6.2,7.10,8.12,9.12,10.12,11.8,12.1,13.8,14.8,15.8,16.1,17.8,18.8,19.2,20.8,21.8,22.8,23.8,24.8,25.2,26.8,27.8,28.1,29.5,30.1,31.2,'1'.1ascA"
#OM-2016-0000346 MOD END
#▲OM-2013-0004971▲

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-0004971▼
#
#--- 機器提供サービス契約スキーマ抽出ファイルから対象月課金中履歴レコードを抽出する。
#    <merge>
#     0:12asc:KKTK_SVC_KEI_NO
#     4: 6asc:PPLAN_CD
#    <include>
#    14: 8asc:PLAN_CHRG_STAYMD <= ${OPEDATE_ENDDAY}
#    14: 8asc:PLAN_CHRG_STAYMD IS NOT NULL OM-2013-0004005対応
#    14: 8asc:PLAN_CHRG_STAYMD <= 15: 8asc:PLAN_CHRG_ENDYMD
#    15: 8asc:PLAN_CHRG_ENDYMD >= ${OPEDATE_STADAY}
#    15: 8asc:PLAN_CHRG_ENDYMD <> '20991231'
#OM-2016-0000346 MOD STA
#bsortex -merge key=0.12asc,4.6asc -record recform=txtcsv -input file=${IN_FILE_1_SORT_1} reclen=400 \
#include="(14.8asc.le.'${OPEDATE_ENDDAY}'.and.14.8asc.ge.'0'.and.15.8asc.ge.'${OPEDATE_STADAY}'.and.15.8asc.ne.'20991231')" \
#-summary suppress last -output file=${IN_FILE_1_MRG_2} \
#reconst="0.12,1.17,2.4,3.3,4.6,5.12,6.2,7.10,8.12,9.12,10.12,11.8,12.1,13.8,14.8,15.8,16.1,17.8,18.8,19.2,20.8,21.8,22.8,23.8,24.8,25.2,26.8,27.8,28.1,29.5,30.1,31.2,'0'.1ascA"
bsortex -merge key=0.12asc,4.6asc -record recform=txtcsv -input file=${IN_FILE_1_SORT_1} reclen=400 \
include="(14.8asc.le.'${OPEDATE_ENDDAY}'.and.14.8asc.ge.'0'.and.14.8asc.le.15.8asc.and.15.8asc.ge.'${OPEDATE_STADAY}'.and.15.8asc.ne.'20991231')" \
-summary suppress last -output file=${IN_FILE_1_MRG_2} \
reconst="0.12,1.17,2.4,3.3,4.6,5.12,6.2,7.10,8.12,9.12,10.12,11.8,12.1,13.8,14.8,15.8,16.1,17.8,18.8,19.2,20.8,21.8,22.8,23.8,24.8,25.2,26.8,27.8,28.1,29.5,30.1,31.2,'0'.1ascA"
#OM-2016-0000346 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

#
#--- 機器提供サービス契約スキーマ抽出ファイルを優先順位順にソートする。
#    <sort>
#     0:12asc:KKTK_SVC_KEI_NO
#     4: 6asc:PPLAN_CD
#    32: 1asc:優先順位
bsortex -sort  key=0.12asc,4.6asc,32.1asc -record recform=txtcsv -input file=${IN_FILE_1_MRG_1},${IN_FILE_1_MRG_2} reclen=400 -output file=${IN_FILE_1_SORT_2}

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
#
#--- 機器提供サービス契約スキーマ抽出ファイルから対象月有効レコードを抽出する。
#    <merge>
#     0:12asc:KKTK_SVC_KEI_NO
#     4: 6asc:PPLAN_CD
bsortex -merge key=0.12asc,4.6asc -record recform=txtcsv -input file=${IN_FILE_1_SORT_2} reclen=400 -summary suppress last -output file=${IN_FILE_1_MRG}

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-0004971▲

#
#--- 機器提供サービス契約スキーマ抽出ファイルをサービス契約番号・予約適用年月日・世代登録年月日でソートする。
#    <sort>
#     7:10asc:SVC_KEI_NO
#    32: 1asc:優先順位
#    14: 8asc:PLAN_CHRG_STAYMD
#    11: 8asc:RSV_APLY_YMD
#     1:17asc:GENE_ADD_DTM
#    <include>
#    12: 1asc:RSV_APLY_CD = '2'
#    11: 8asc:RSV_APLY_YMD <= ${RSLT_OPEDATE}
#    30: 1asc:MK_FLG = '0'
#▼OM-2013-0004971▼
#bsortex -sort  key=7.10asc,11.8asc,1.17asc -record recform=txtcsv -input file=${IN_FILE_1_MRG} reclen=350 \
#include="12.1asc.eq.'2', 11.8asc.le.'${RSLT_OPEDATE}', 30.1asc.eq.'0'" \
#-output file=${IN_FILE_1_SORT}
# OM-2015-0002824 性能改善 2015/10/30 土井 MOD START
#bsortex -sort  key=7.10asc,32.1asc,14.8asc,11.8asc,1.17asc -record recform=txtcsv -input file=${IN_FILE_1_MRG} reclen=400 \
#include="12.1asc.eq.'2', 11.8asc.le.'${RSLT_OPEDATE}', 30.1asc.eq.'0'" \
#-output file=${IN_FILE_1_SORT} \
#reconst="0.12,1.17,2.4,3.3,4.6,5.12,6.2,7.10,8.12,9.12,10.12,11.8,12.1,13.8,14.8,15.8,16.1,17.8,18.8,19.2,20.8,21.8,22.8,23.8,24.8,25.2,26.8,27.8,28.1,29.5,30.1,31.2"
bsortex -sort  key=7.10asc,32.1asc,14.8asc,11.8asc,1.17asc -record recform=txtcsv -input file=${IN_FILE_1_MRG} reclen=400 \
-output file=${IN_FILE_1_SORT} \
reconst="0.12,1.17,2.4,3.3,4.6,5.12,6.2,7.10,8.12,9.12,10.12,11.8,12.1,13.8,14.8,15.8,16.1,17.8,18.8,19.2,20.8,21.8,22.8,23.8,24.8,25.2,26.8,27.8,28.1,29.5,30.1,31.2"
# OM-2015-0002824 性能改善 2015/10/30 土井 MOD END
#▲OM-2013-0004971▲

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

#
#--- 機器提供サービス契約スキーマ抽出ファイルからカレントレコードを抽出する。
#    <merge>
#     7:10asc:SVC_KEI_NO
# OM-2015-0002824 性能改善 2015/10/30 土井 MOD START
#bsortex -merge key=7.10asc -record recform=txtcsv -input file=${IN_FILE_1_SORT} reclen=350 \
#-summary suppress last -output file=${IN_FILE_3} \
#include="12.1asc.eq.'2', 11.8asc.le.'${RSLT_OPEDATE}', 30.1asc.eq.'0', 6.2asc.eq.'01', 2.4asc.eq.'C004', (4.6asc.eq.'PC0401'.or.4.6asc.eq.'PC0501'), (14.8asc.le.'${OPEDATE_ENDDAY}'.and.15.8asc.ge.'${OPEDATE_STADAY}')" 
bsortex -merge key=7.10asc -record recform=txtcsv -input file=${IN_FILE_1_SORT} reclen=350 \
-summary suppress last -output file=${IN_FILE_3}
# OM-2015-0002824 性能改善 2015/10/30 土井 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

#
#--- 環境変数の設定を行う（出力ファイル情報の設定）
#
export ZTLTMPDIR=${ULD_WORK_DIR}
export ZTLOUTFILE=${OUTFILE}

#
#--- 定義ファイル環境変数設定処理
#
cat ${DEFFILE} > ${TMPDEFFILE}
#▼▼▼ST4-2014-0000043▼▼▼
#sed -i -e s@'${MID_DIR_KK}'@${MID_DIR_KK}@g ${TMPDEFFILE}
sed -i -e s@'${LOC_DIR_KK}'@${LOC_DIR_KK}@g ${TMPDEFFILE}
#▲▲▲ST4-2014-0000043▲▲▲

#
#--- ファイルマッチング処理
#
${G_TOOLSH}/util/bin/ZTLMAT01 ${TMPDEFFILE}

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

# OM-2015-0002824 性能改善 2015/10/30 土井 DEL START
##
##---ＳＯＲＴ
##
#export LC_CTYPE=ja_JP.SJIS
#export LC_COLLATE=ja_JP.SJIS
#
##bsort -s -z60    -0.10asca,1.6asca,2.3asca -Tcsv -o ${OUTFILE2} ${OUTFILE}
##bsortex -sort  key=0.12asc,1.6asc,2.3asc -record recform=txtcsv -input file=${OUTFILE} reclen=60 -output file=${OUTFILE2}
#bsortex -sort  key=0.10asc,1.2asc,2.2asc,3.3asc,4.6asc,5.4asc,6.12asc,7.12asc -record recform=txtcsv -input file=${OUTFILE} reclen=110 -output file=${OUTFILE2}
#
#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
#
#export LC_CTYPE=ja_JP.UTF-8
#export LC_COLLATE=ja_JP.UTF-8
#
#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 $rc
#fi
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL END

} # func_make_file

#
#--- 当月処理
#
debug_p "当月"
# 当月を対象とする
OPEDATE_YYYYMM=`echo ${RSLT_OPEDATE} |cut -c 1-6`
OPEDATE_STADAY=${OPEDATE_YYYYMM}"01"
NDATE=`date -d "1 month ${OPEDATE_STADAY}" +'%Y%m%d'`
EDAY=`date -d "1 day ago ${NDATE}" +'%d'`
OPEDATE_ENDDAY=`echo ${OPEDATE_STADAY} |cut -c 1-6`${EDAY}

debug_p "RSLT_OPEDATE  :${RSLT_OPEDATE}"
#debug_p "OPEDATE_YYYYMM:${OPEDATE_YYYYMM}"
debug_p "OPEDATE_STADAY:${OPEDATE_STADAY}"
#debug_p "NDATE         :${NDATE}"
#debug_p "EDAY          :${EDAY}"
debug_p "OPEDATE_ENDDAY:${OPEDATE_ENDDAY}"

# ST-2015-0000038 性能改善 2015/08/26 土井 MOD START
#func_make_file
func_make_file 1
# ST-2015-0000038 性能改善 2015/08/26 土井 MOD END


# OM-2015-0002824 性能改善 2015/10/30 土井 DEL START
##
##--- 前月処理
##
#debug_p "前月"
## 前月を対象とする
#OPEDATE_YYYYMM=`echo ${RSLT_OPEDATE} |cut -c 1-6`
#OPEDATE_STADAY=${OPEDATE_YYYYMM}"01"
#OPEDATE_STADAY=`date -d "1 day ago ${OPEDATE_STADAY}" +'%Y%m%d'`
#OPEDATE_YYYYMM=`echo ${OPEDATE_STADAY} |cut -c 1-6`
#OPEDATE_STADAY=${OPEDATE_YYYYMM}"01"
#NDATE=`date -d "1 month ${OPEDATE_STADAY}" +'%Y%m%d'`
#EDAY=`date -d "1 day ago ${NDATE}" +'%d'`
#OPEDATE_ENDDAY=`echo ${OPEDATE_STADAY} |cut -c 1-6`${EDAY}
#
#debug_p "RSLT_OPEDATE  :${RSLT_OPEDATE}"
##debug_p "OPEDATE_YYYYMM:${OPEDATE_YYYYMM}"
#debug_p "OPEDATE_STADAY:${OPEDATE_STADAY}"
##debug_p "NDATE         :${NDATE}"
##debug_p "EDAY          :${EDAY}"
#debug_p "OPEDATE_ENDDAY:${OPEDATE_ENDDAY}"
#
#OUTFILE=${OUTFILE3}
#OUTFILE2=${OUTFILE4}
#
## ST-2015-0000038 性能改善 2015/08/26 土井 MOD START
##func_make_file
#func_make_file 0
## ST-2015-0000038 性能改善 2015/08/26 土井 MOD END
# OM-2015-0002824 性能改善 2015/10/30 土井 DEL END

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

exit $exit_rc
