#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：請求収納
#
# シェル名      ：不良顧客登録
#
# 機能          ：督促処理にて出力されたデータから、不良顧客登録用のデータ（督促データ識別："03"）を抽出し、
# 当該の請求契約番号が不良顧客スキーマに存在しない場合は、【不良顧客登録：CK0061D010】テーブルに
#「請求先」、「契約者」、「親権者」の情報を登録する
#
#
# コマンド形式  ：EO61701B0J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.01           2013/02/12  FJ）小野     【ST4-2013-0000143】性能改善のため、以下の処理をシェル内で実行し、javaプログラムへのinputファイルの件数を減少させる。
#                                           1.bsortexで督促対象情報ファイルから督促データ識別が03のもののみを抽出し、請求契約番号で昇順ソート
#                                           2.不良顧客データの存在判定をCSVマッチングツール、bsortexにて実行する。
#                 2013/03/06  FJ）小野      3.性能改善のためjava内でのSQL発行処理を削除。
#                                             請求契約情報（請求契約、課金先、サービス契約、お客様、お客様<個人>)をunload処理でファイル出力し、
#                                             全ての情報をjavaのinputファイルへ含めるように修正。
# v4.02           2013/03/18  FJ）広野     性能改善: アンロードの参照先スクリプト変更にともなう修正
# v4.03           2013/06/27  FJ）藤田     性能改善:nkf処理を廃止する。
# v8.00           2014/05/17  FJ）後藤     【IT1-2014-0000152】金額取得単位をSYSIDに変更
# v8.01           2014/05/26  FJ）狭間     【OM-2014-0001928】入力ファイルの督促番号が空の場合、請求契約番号をキーに督促スキーマから取得する
# v14.00          2015/05/26  FJ）土井     【OM-2015-0001265】バックグラウンド実行削除
# v37.00          2018/06/15  FJ）森脇     【OM-2018-0000551】請求内訳とサービス契約とマッチング処理を追加
# v37.01          2018/07/11  FJ）寺園     【ANK-3442-00-00】「【ANK-3284】支払方法：口振で予約中のお客さまの請求スキップ」による不良顧客登録の非実施
# v46.00          2019/10/15  FJ）鈴木     【ANK-3586-00-00】 隔月合算請求
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
[ $# -eq 2 ] &&TAJUKIDO="_$2" ;

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

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

P1="OPD=,"
P2="SVCCTL=JBSbatMultiServiceControl,"
P3="JOB=EO61701B0J0,"
P4="IND1=CHIFM173.def,"
P5="INF1=${MID_DIR_CH}/CHIFM173001.csv,"
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"

#
#--- ファイル定義
#
INFILE=${MID_DIR_CH}/CHIFM101001.csv
OUTFILE=${MID_DIR_CH}/CHIFM173001.csv

#--- ワークファイル
OUTFILE_TMP1=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_1$TAJUKIDO.csv
OUTFILE_TMP2=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_2$TAJUKIDO.csv
OUTFILE_TMP3=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_3$TAJUKIDO.csv
OUTFILE_TMP4=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_4$TAJUKIDO.csv
OUTFILE_TMP5=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_5$TAJUKIDO.csv
OUTFILE_TMP6=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_6$TAJUKIDO.csv
OUTFILE_TMP7=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_7$TAJUKIDO.csv
OUTFILE_TMP8=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_8$TAJUKIDO.csv
OUTFILE_TMP9=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_9$TAJUKIDO.csv
OUTFILE_TMP10=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_10$TAJUKIDO.csv
OUTFILE_TMP11=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_11$TAJUKIDO.csv
OUTFILE_TMP12=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_12$TAJUKIDO.csv
OUTFILE_TMP13=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_13$TAJUKIDO.csv
# ANK-3442-00-00 ADD START
OUTFILE_TMP14=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_14$TAJUKIDO.csv
OUTFILE_TMP15=${MID_DIR_CH}/${JOBNAME}_CHIFM101001_OUT_WK_15$TAJUKIDO.csv
# ANK-3442-00-00 ADD END

#--- アンローダー実行時のSQLファイル
SQLFILE_CK0061=${SQL_DIR}/CH_U_CK0061_01.sql
SQLFILE_KK0491=${SQL_DIR}/CH_U_KK0491_03.sql
SQLFILE_KK0321=${SQL_DIR}/CH_U_KK0321_02.sql
SQLFILE_KK0081=${SQL_DIR}/CH_U_KK0081_02.sql
SQLFILE_CK0011=${SQL_DIR}/CH_U_CK0011_01.sql
SQLFILE_CH0101=${SQL_DIR}/CH_U_CH0101_05.sql
SQLFILE_CH0401=${SQL_DIR}/CH_U_CH0401_03.sql
SQLFILE_CH0231=${SQL_DIR}/CH_U_CH0231_04.sql
# ANK-3442-00-00 ADD START
SQLFILE_CH0551=${SQL_DIR}/CH_U_CH0551_02.sql
# ANK-3442-00-00 ADD END
# ANK-3586-00-00 ADD START
SQLFILE_CH0551_2=${SQL_DIR}/CH_U_CH0551_03.sql
# ANK-3586-00-00 ADD END

#--- アンローダー実行時のSQLワークファイル
SQLFILE_CK0061_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_CK0061_01_UNLOADER_WK_1$TAJUKIDO.sql
SQLFILE_KK0491_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_KK0491_03_UNLOADER_WK_1$TAJUKIDO.sql
SQLFILE_KK0321_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_KK0321_02_UNLOADER_WK_1$TAJUKIDO.sql
SQLFILE_KK0081_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_KK0081_02_UNLOADER_WK_1$TAJUKIDO.sql
SQLFILE_CK0011_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_CK0011_01_UNLOADER_WK_1$TAJUKIDO.sql
SQLFILE_CH0101_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0101_05_UNLOADER_WK_1$TAJUKIDO.sql
SQLFILE_CH0401_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0401_03_UNLOADER_WK_1$TAJUKIDO.sql
SQLFILE_CH0231_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0231_04_UNLOADER_WK_1$TAJUKIDO.sql
# ANK-3442-00-00 ADD START
SQLFILE_CH0551_WRK=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0551_02_UNLOADER_WK_1$TAJUKIDO.sql
# ANK-3442-00-00 ADD END
# ANK-3586-00-00 ADD START
SQLFILE_CH0551_WRK_2=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0551_03_UNLOADER_WK_1$TAJUKIDO.sql
# ANK-3586-00-00 ADD END

#--- アンローダーの出力結果ファイル
UNLOAD_OUTFILE_CK0061=${MID_DIR_CH}/${JOBNAME}_CK0061_UNLOADER_WK_1$TAJUKIDO.csv
UNLOAD_OUTFILE_KK0491=${MID_DIR_CH}/${JOBNAME}_KK0491_UNLOADER_WK_1$TAJUKIDO.csv
UNLOAD_OUTFILE_KK0321=${MID_DIR_CH}/${JOBNAME}_KK0321_UNLOADER_WK_1$TAJUKIDO.csv
UNLOAD_OUTFILE_KK0081=${MID_DIR_CH}/${JOBNAME}_KK0081_UNLOADER_WK_1$TAJUKIDO.csv
UNLOAD_OUTFILE_CK0011=${MID_DIR_CH}/${JOBNAME}_CK0011_UNLOADER_WK_1$TAJUKIDO.csv
UNLOAD_OUTFILE_CH0101=${MID_DIR_CH}/${JOBNAME}_CH0101_UNLOADER_WK_1$TAJUKIDO.csv
UNLOAD_OUTFILE_CH0401=${MID_DIR_CH}/${JOBNAME}_CH0401_UNLOADER_WK_1$TAJUKIDO.csv
UNLOAD_OUTFILE_CH0231=${MID_DIR_CH}/${JOBNAME}_CH0231_UNLOADER_WK_1$TAJUKIDO.csv
# ANK-3442-00-00 ADD START
UNLOAD_OUTFILE_CH0551=${MID_DIR_CH}/${JOBNAME}_CH0551_UNLOADER_WK_1$TAJUKIDO.csv
# ANK-3442-00-00 ADD END
# ANK-3586-00-00 ADD START
UNLOAD_OUTFILE_CH0551_2=${MID_DIR_CH}/${JOBNAME}_CH0551_UNLOADER_WK_2$TAJUKIDO.csv
# ANK-3586-00-00 ADD END

#--- CSVマッチングの出力結果ファイル
MATCHING_OUTFILE_WRK0=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_0$TAJUKIDO.csv
MATCHING_OUTFILE_WRK1=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_1$TAJUKIDO.csv
MATCHING_OUTFILE_WRK2=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_2$TAJUKIDO.csv
MATCHING_OUTFILE_WRK3=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_3$TAJUKIDO.csv
MATCHING_OUTFILE_WRK4=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_4$TAJUKIDO.csv
MATCHING_OUTFILE_WRK5=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_5$TAJUKIDO.csv
MATCHING_OUTFILE_WRK6=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_5$TAJUKIDO.csv
# OM-2018-0000551 ADD START
MATCHING_OUTFILE_WRK7=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_7$TAJUKIDO.csv
# OM-2018-0000551 ADD END
# ANK-3442-00-00 ADD START
MATCHING_OUTFILE_WRK8=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_8$TAJUKIDO.csv
# ANK-3442-00-00 ADD END

#--- マッチング定義ファイルの変数置き換え時のワークファイル
DEF_FILE_WK1=${MID_DIR_CH}/${JOBNAME}_MATCHING_WK_1$TAJUKIDO.def

export ZTLQUOTES=''

#---ワークファイル削除モード
WK_RM=true

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

##############################################################
#--- サブルーチン（UNLOAD）
##############################################################
UNLOAD(){

#unload
#ダブルコーテーションなしの形式でunload
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

}

##############################################################
#--- サブルーチン（TOKUSOKU_FILE_MATCHING0）
#- 督促対象情報ファイルとUNLOADファイル(請求契約、課金先、サービス契約、お客様+お客様<個人>)のマッチング処理。
##############################################################
TOKUSOKU_FILE_MATCHING0(){

#
#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
#
MATCHING_DEF=${G_TOOLSH}/util/def/CH_CM_0059.def
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

sed -i -e "s%:CH_T_TOKUSOKU%${OUTFILE_TMP2}%" ${DEF_FILE_WK1}
sed -i -e "s%:KK_T_SEIKY_KEI%${UNLOAD_OUTFILE_KK0491}%" ${DEF_FILE_WK1}
sed -i -e "s%:KK_T_KAKINS%${UNLOAD_OUTFILE_KK0321}%" ${DEF_FILE_WK1}
sed -i -e "s%:KK_T_SVC_KEI%${UNLOAD_OUTFILE_KK0081}%" ${DEF_FILE_WK1}
sed -i -e "s%:CK_T_CUST%${UNLOAD_OUTFILE_CK0011}%" ${DEF_FILE_WK1}

#
#- 督促対象情報ファイルとUNLOADファイル(不良顧客、請求契約、課金先、サービス契約、お客様+お客様<個人>)をマッチングする。
#
export ZTLOUTFILE=${MATCHING_OUTFILE_WRK0}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

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

}

##############################################################
#--- サブルーチン（HURYO_CUST_TOKUSOKU_MATCHING1）
#- UNLOADファイル(不良顧客(05)とマッチング結果ファイル(請求契約))のマッチング処理。
#- 不良顧客(請求契約分(SYSIDなし)のみ)
##############################################################
HURYO_CUST_TOKUSOKU_MATCHING1(){

#
#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
#
MATCHING_DEF=${G_TOOLSH}/util/def/CH_CM_0010.def
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

sed -i -e "s%:SEIKY_KEI%${MATCHING_OUTFILE_WRK0}%" ${DEF_FILE_WK1}
sed -i -e "s%:CK_T_HURYO_CUST%${OUTFILE_TMP3}%" ${DEF_FILE_WK1}

export ZTLOUTFILE=${MATCHING_OUTFILE_WRK1}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

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

}

##############################################################
#--- サブルーチン（HURYO_CUST_TOKUSOKU_MATCHING2）
#- UNLOADファイル(不良顧客(04)とマッチング結果ファイル(請求契約))のマッチング処理。
#- 不良顧客(SYSIDあり)
##############################################################
HURYO_CUST_TOKUSOKU_MATCHING2(){

#
#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
#
MATCHING_DEF=${G_TOOLSH}/util/def/CH_CM_0070.def
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

sed -i -e "s%:SEIKY_KEI%${MATCHING_OUTFILE_WRK0}%" ${DEF_FILE_WK1}
sed -i -e "s%:CK_T_HURYO_CUST%${OUTFILE_TMP4}%" ${DEF_FILE_WK1}

export ZTLOUTFILE=${MATCHING_OUTFILE_WRK2}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

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

}

##############################################################
#--- サブルーチン（HURYO_CUST_TOKUSOKU_MATCHING3）
#- UNLOADファイル(不良顧客(06)とマッチング結果ファイル(請求契約))のマッチング処理。
#- 不良顧客(SYSIDあり)
##############################################################
HURYO_CUST_TOKUSOKU_MATCHING3(){

#
#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
#
MATCHING_DEF=${G_TOOLSH}/util/def/CH_CM_0070.def
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

sed -i -e "s%:SEIKY_KEI%${MATCHING_OUTFILE_WRK0}%" ${DEF_FILE_WK1}
sed -i -e "s%:CK_T_HURYO_CUST%${OUTFILE_TMP5}%" ${DEF_FILE_WK1}

export ZTLOUTFILE=${MATCHING_OUTFILE_WRK3}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

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

}

# OM-2018-0000551 ADD START
##############################################################
#--- サブルーチン（SVC_KEI_SEIKY_UW_MATCHING）
#- UNLOADファイル(請求内訳)とUNLOADファイル(サービス契約)のマッチング処理。
##############################################################
SVC_KEI_SEIKY_UW_MATCHING(){

#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
MATCHING_DEF=${G_TOOLSH}/util/def/CH_CM_0125.def
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

sed -i -e "s%:CH_T_SEIKY_UCWK%${UNLOAD_OUTFILE_CH0101}%" ${DEF_FILE_WK1}
sed -i -e "s%:kK_T_SVC_KEI%${UNLOAD_OUTFILE_KK0081}%" ${DEF_FILE_WK1}

#
#- UNLOADファイル(請求内訳)とUNLOADファイル(サービス契約)をマッチングする。
#
export ZTLOUTFILE=${MATCHING_OUTFILE_WRK7}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MV Error($SVC mv:rc=$rc) "
    echo $JOBNAME " MATCHING Error($SVC mv:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
}
# OM-2018-0000551 ADD END

##############################################################
#--- サブルーチン（SEIKY_UW_MATCHING）
#- UNLOADファイル(請求内訳)とUNLOADファイル(料金項目抽出変換)のマッチング処理。
##############################################################
SEIKY_UW_MATCHING(){

#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
MATCHING_DEF=${G_TOOLSH}/util/def/CH_CM_0124.def
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

# OM-2018-0000551 MOD START
#sed -i -e "s%:CH_T_SEIKY_UCWK%${UNLOAD_OUTFILE_CH0101}%" ${DEF_FILE_WK1}
sed -i -e "s%:CH_T_SEIKY_UCWK%${MATCHING_OUTFILE_WRK7}%" ${DEF_FILE_WK1}
# OM-2018-0000551 MOD END
sed -i -e "s%:CH_M_PRC_KMK_CS_CHGE%${UNLOAD_OUTFILE_CH0401}%" ${DEF_FILE_WK1}

#
#- UNLOADファイル(請求内訳)とUNLOADファイル(料金項目抽出変換)をマッチングする。
#
export ZTLOUTFILE=${MATCHING_OUTFILE_WRK4}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

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

##############################################################
#--- サブルーチン（TOKUSOKU_SEIKY_UW_MATCHING）
#- マッチング結果ファイル(請求契約情報)とマッチング結果ファイル(請求内訳)のマッチング処理。
##############################################################
TOKUSOKU_SEIKY_UW_MATCHING(){

#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
MATCHING_DEF=${G_TOOLSH}/util/def/CH_CM_0034.def
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

sed -i -e "s%:TOKUSOKU_FILE%${OUTFILE_TMP10}%" ${DEF_FILE_WK1}
sed -i -e "s%:SEIKY_UW_FILE%${OUTFILE_TMP11}%" ${DEF_FILE_WK1}

#
#- マッチング結果ファイル(請求契約情報)とマッチング結果ファイル(請求内訳)をマッチングする。
#
export ZTLOUTFILE=${MATCHING_OUTFILE_WRK5}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

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

##############################################################
#--- サブルーチン（TOKUSOKU_TOKUSOKU_MATCHING）
#- 入力ファイル(督促対象情報)とアンロードファイル(督促)のマッチング処理。
##############################################################
TOKUSOKU_TOKUSOKU_MATCHING(){

#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
MATCHING_DEF=${G_TOOLSH}/util/def/CH_CM_0126.def
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

sed -i -e "s%:CHIFM101%${OUTFILE_TMP12}%"               ${DEF_FILE_WK1}
sed -i -e "s%:CH_U_CH0231_04%${UNLOAD_OUTFILE_CH0231}%" ${DEF_FILE_WK1}

#
#- 入力ファイル(督促対象情報)とアンロードファイル(督促)をマッチングする。
#
export ZTLOUTFILE=${MATCHING_OUTFILE_WRK6}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

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

# ANK-3442-00-00 ADD START
##############################################################
#--- サブルーチン（TOKUSOKU_TOKUSOKU_MATCHING2）
#- 入力ファイル(督促対象情報)とアンロードファイル(初回窓口請求スキップで対象となったお客さま)と
#- アンロードファイル（隔月請求対象登録で対象になったお客さま）のマッチング処理。
##############################################################
TOKUSOKU_TOKUSOKU_MATCHING2(){

#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
MATCHING_DEF=${G_TOOLSH}/util/def/CH_CM_0192.def
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

sed -i -e "s%:CHIFM101%${OUTFILE_TMP14}%"               ${DEF_FILE_WK1}
sed -i -e "s%:CH_U_CH0551_02%${UNLOAD_OUTFILE_CH0551}%" ${DEF_FILE_WK1}
# ANK-3586-00-00 ADD END
sed -i -e "s%:CH_U_CH0551_03%${UNLOAD_OUTFILE_CH0551_2}%" ${DEF_FILE_WK1}
# ANK-3586-00-00 ADD END


#
#- 入力ファイル(督促対象情報)とアンロードファイル(初回窓口請求スキップで対象となったお客さま)をマッチングする。
#- ANK-3586-00-00 ADD START
#- マッチング処理にアンロードファイル（隔月請求対象登録で対象になったお客さま）を追加。
#- ANK-3586-00-00 ADD START
#
export ZTLOUTFILE=${MATCHING_OUTFILE_WRK8}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MV Error($SVC mv:rc=$rc) "
    echo $JOBNAME " MATCHING Error($SVC mv:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
}
# ANK-3442-00-00 ADD END

#----------------------------------------------------------------------------------------------------
#--- UNLOAD処理用に変数設定。
#----------------------------------------------------------------------------------------------------
#
#- 運用日付取得
#
if [ "${OPD}" = "" ]; then
   . EOK010310J0.sh "BDATE"
else
   RSLT_OPEDATE="${OPD}"
fi

echo ${RSLT_OPEDATE}

#１．請求年月（当月）：バッチ運用年月
OPE_Y=`expr $RSLT_OPEDATE / 10000`
OPE_M=`expr $RSLT_OPEDATE / 100 - $RSLT_OPEDATE / 10000 \* 100`
if [ $OPE_M -lt 10 ];
then
  OPE_YM="$OPE_Y"0"$OPE_M"
else
  OPE_YM="$OPE_Y$OPE_M"
fi

# ANK-3442-00-00 ADD START
#
#--- 請求年月取得（請求処理日基準）
#
#--- イベントコード：請求処理日
EVENT_CD_SEIKY_YM="04"

. EO3SEIKYYM2.sh ${EVENT_CD_SEIKY_YM} ${RSLT_OPEDATE} ${JOBNAME}

#--- 当月請求年月取得
TOGETSU_SEIKY_YM=${SEIKY_YM}

#--- 前月請求年月取得
TARGET_DATE=${TOGETSU_SEIKY_YM}01
ZENGETSU_SEIKY_YM=$(date +%Y%m --date "${TARGET_DATE} 1 month ago")

#
#--- 料金計算日取得
#
#--- イベントコード：料金計算日
EVENT_CD_PRC_CALC_YMD="03"

#--- 前月料金計算日＋１日取得
. EO3EVENTYMD.sh ${EVENT_CD_PRC_CALC_YMD} ${ZENGETSU_SEIKY_YM} ${JOBNAME}
ZENGETSU_PRC_CALC_YMD=`expr ${EVENT_YMD} + 1`

# ANK-3586-00-00 ADD START
#--- 前月請求処理日＋１日取得
. EO3EVENTYMD.sh ${EVENT_CD_SEIKY_YM} ${ZENGETSU_SEIKY_YM} ${JOBNAME}
ZENGETSU_SEIKY_YMD=`expr ${EVENT_YMD} + 1`
# ANK-3586-00-00 ADD END

# ANK-3442-00-00 ADD END

#業務パラメータ
WORK_PARAM_ID="CH_WKS_HURY_CUST"

#システムコード
SYS_CD="CH"

#抽出変換コード
CHSHT_CHG_CD="1"

#--- アンロードファイルをクリアし、SQLパラメータセット
cat /dev/null > $UNLOAD_OUTFILE_CK0061
cp -f ${SQLFILE_CK0061} ${SQLFILE_CK0061_WRK}

cat /dev/null > $UNLOAD_OUTFILE_KK0491
cp -f ${SQLFILE_KK0491} ${SQLFILE_KK0491_WRK}
sed -i -e "s%\:OPEDATE%'${RSLT_OPEDATE}'%"  ${SQLFILE_KK0491_WRK}

cat /dev/null > $UNLOAD_OUTFILE_KK0321
cp -f ${SQLFILE_KK0321} ${SQLFILE_KK0321_WRK}
sed -i -e "s%\:OPEDATE%'${RSLT_OPEDATE}'%"  ${SQLFILE_KK0321_WRK}

cat /dev/null > $UNLOAD_OUTFILE_KK0081
cp -f ${SQLFILE_KK0081} ${SQLFILE_KK0081_WRK}
sed -i -e "s%\:OPEDATE%'${RSLT_OPEDATE}'%"  ${SQLFILE_KK0081_WRK}

cat /dev/null > $UNLOAD_OUTFILE_CK0011
cp -f ${SQLFILE_CK0011} ${SQLFILE_CK0011_WRK}
sed -i -e "s%\:OPEDATE%'${RSLT_OPEDATE}'%"  ${SQLFILE_CK0011_WRK}

cat /dev/null > $UNLOAD_OUTFILE_CH0101
cp -f ${SQLFILE_CH0101} ${SQLFILE_CH0101_WRK}
sed -i -e "s%\:OPE_YM%'${OPE_YM}'%"  ${SQLFILE_CH0101_WRK}
sed -i -e "s%\:OPEDATE%'${RSLT_OPEDATE}'%"  ${SQLFILE_CH0101_WRK}

cat /dev/null > $UNLOAD_OUTFILE_CH0401
cp -f ${SQLFILE_CH0401} ${SQLFILE_CH0401_WRK}
sed -i -e "s%\:OPEDATE%'${RSLT_OPEDATE}'%"  ${SQLFILE_CH0401_WRK}
sed -i -e "s%\:WORK_PARAM_ID%'${WORK_PARAM_ID}'%"  ${SQLFILE_CH0401_WRK}
sed -i -e "s%\:SYS_CD%'${SYS_CD}'%"  ${SQLFILE_CH0401_WRK}
sed -i -e "s%\:CHSHT_CHG_CD%'${CHSHT_CHG_CD}'%"  ${SQLFILE_CH0401_WRK}

cat /dev/null > $UNLOAD_OUTFILE_CH0231
cp -f ${SQLFILE_CH0231} ${SQLFILE_CH0231_WRK}
sed -i -e "s%\:OPEDATE%'${RSLT_OPEDATE}'%"  ${SQLFILE_CH0231_WRK}

# ANK-3442-00-00 ADD START
cat /dev/null > $UNLOAD_OUTFILE_CH0551
cp -f ${SQLFILE_CH0551} ${SQLFILE_CH0551_WRK}
sed -i -e "s%\:PRC_CALC_YMD%'${ZENGETSU_PRC_CALC_YMD}'%"  ${SQLFILE_CH0551_WRK}
# ANK-3442-00-00 ADD END

# ANK-3586-00-00 ADD START
cat /dev/null > $UNLOAD_OUTFILE_CH0551_2
cp -f ${SQLFILE_CH0551_2} ${SQLFILE_CH0551_WRK_2}
sed -i -e "s%\:SEIKY_YMD%'${ZENGETSU_SEIKY_YMD}'%"  ${SQLFILE_CH0551_WRK_2}
# ANK-3586-00-00 ADD END

##############################################################
#--- MAIN
##############################################################
#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $SQLFILE_CK0061 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_CK0061) "
    echo $JOBNAME " File is nonexist($SQLFILE_CK0061) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $SQLFILE_KK0491 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_KK0491) "
    echo $JOBNAME " File is nonexist($SQLFILE_KK0491) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $SQLFILE_KK0321 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_KK0321) "
    echo $JOBNAME " File is nonexist($SQLFILE_KK0321) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $SQLFILE_KK0081 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_KK0081) "
    echo $JOBNAME " File is nonexist($SQLFILE_KK0081) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $SQLFILE_CK0011 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_CK0011) "
    echo $JOBNAME " File is nonexist($SQLFILE_CK0011) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $SQLFILE_CH0101 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_CH0101) "
    echo $JOBNAME " File is nonexist($SQLFILE_CH0101) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $SQLFILE_CH0401 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_CH0401) "
    echo $JOBNAME " File is nonexist($SQLFILE_CH0401) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $SQLFILE_CH0231 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_CH0231) "
    echo $JOBNAME " File is nonexist($SQLFILE_CH0231) "
    exit ${G_RTN_ERROR}
fi
# ANK-3442-00-00 ADD START
if [ ! -r $SQLFILE_CH0551 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_CH0551) "
    echo $JOBNAME " File is nonexist($SQLFILE_CH0551) "
    exit ${G_RTN_ERROR}
fi
# ANK-3442-00-00 ADD END

# ANK-3586-00-00 ADD START
if [ ! -r $SQLFILE_CH0551_2 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_CH0551_2) "
    echo $JOBNAME " File is nonexist($SQLFILE_CH0551_2) "
    exit ${G_RTN_ERROR}
fi
# ANK-3586-00-00 ADD END

#----------------------------------------------------------------------------------------------------
#--- UNLOAD処理(債権+請求内訳)をバックグラウンドで起動させ、その他のUNLOADを実行。
#----------------------------------------------------------------------------------------------------
# 2015/05/26  FJ）土井     【OM-2015-0001265】バックグラウンド実行削除 MOD START
#UNLOAD ${SQLFILE_CH0101_WRK} ${UNLOAD_OUTFILE_CH0101} &
#pid_UL_CH0101=$!
UNLOAD ${SQLFILE_CH0101_WRK} ${UNLOAD_OUTFILE_CH0101}
rc_UL_CH0101=$?

#UNLOAD ${SQLFILE_CH0401_WRK} ${UNLOAD_OUTFILE_CH0401} &
#pid_UL_CH0401=$!
UNLOAD ${SQLFILE_CH0401_WRK} ${UNLOAD_OUTFILE_CH0401}
rc_UL_CH0401=$?

#UNLOAD ${SQLFILE_CK0061_WRK} ${UNLOAD_OUTFILE_CK0061} &
#pid_UL_CK0061=$!
UNLOAD ${SQLFILE_CK0061_WRK} ${UNLOAD_OUTFILE_CK0061}
rc_UL_CK0061=$?

#UNLOAD ${SQLFILE_KK0491_WRK} ${UNLOAD_OUTFILE_KK0491} &
#pid_UL_KK0491=$!
UNLOAD ${SQLFILE_KK0491_WRK} ${UNLOAD_OUTFILE_KK0491}
rc_UL_KK0491=$?

#UNLOAD ${SQLFILE_KK0321_WRK} ${UNLOAD_OUTFILE_KK0321} &
#pid_UL_KK0321=$!
UNLOAD ${SQLFILE_KK0321_WRK} ${UNLOAD_OUTFILE_KK0321}
rc_UL_KK0321=$?

#UNLOAD ${SQLFILE_KK0081_WRK} ${UNLOAD_OUTFILE_KK0081} &
#pid_UL_KK0081=$!
UNLOAD ${SQLFILE_KK0081_WRK} ${UNLOAD_OUTFILE_KK0081}
rc_UL_KK0081=$?

#UNLOAD ${SQLFILE_CK0011_WRK} ${UNLOAD_OUTFILE_CK0011} &
#pid_UL_CK0011=$!
UNLOAD ${SQLFILE_CK0011_WRK} ${UNLOAD_OUTFILE_CK0011}
rc_UL_CK0011=$?

#UNLOAD ${SQLFILE_CH0231_WRK} ${UNLOAD_OUTFILE_CH0231} &
#pid_UL_CH0231=$!
UNLOAD ${SQLFILE_CH0231_WRK} ${UNLOAD_OUTFILE_CH0231}
rc_UL_CH0231=$?

# ANK-3442-00-00 ADD START
UNLOAD ${SQLFILE_CH0551_WRK} ${UNLOAD_OUTFILE_CH0551}
rc_UL_CH0551=$?
# ANK-3442-00-00 ADD END

# ANK-3586-00-00 ADD START
UNLOAD ${SQLFILE_CH0551_WRK_2} ${UNLOAD_OUTFILE_CH0551_2}
rc_UL_CH0551=$?
# ANK-3586-00-00 ADD END

# 2015/05/26  FJ）土井     【OM-2015-0001265】バックグラウンド実行削除 MOD END

# 2015/05/26  FJ）土井     【OM-2015-0001265】バックグラウンド実行削除 DEL START
# すべての抽出が終了するのを待つ
#wait ${pid_UL_CH0101}
#rc_UL_CH0101=$?
#
#wait ${pid_UL_CH0401}
#rc_UL_CH0401=$?
#
#wait ${pid_UL_CK0061}
#rc_UL_CK0061=$?
#
#wait ${pid_UL_KK0491}
#rc_UL_KK0491=$?
#
#wait ${pid_UL_KK0321}
#rc_UL_KK0321=$?
#
#wait ${pid_UL_KK0081}
#rc_UL_KK0081=$?
#
#wait ${pid_UL_CK0011}
#rc_UL_CK0011=$?
#
#wait ${pid_UL_CH0231}
#rc_UL_CH0231=$?
# 2015/05/26  FJ）土井     【OM-2015-0001265】バックグラウンド実行削除 DEL END

#- エラー処理
# OM-2018-0000551 MOD START
#if [ ${rc_UL_CH0101} -ne 0 ] || [ ${rc_UL_CH0401} -ne 0 ] || [ ${rc_UL_CK0061} -ne 0 ] || [ ${rc_UL_KK0491} -ne 0 ] \
#   [ ${rc_UL_KK0321} -ne 0 ] || [ ${rc_UL_KK0081} -ne 0 ] || [ ${rc_UL_CK0011} -ne 0 ] || [ ${rc_UL_CH0231} -ne 0 ]
# ANK-3442-00-00 MOD START
#if [ ${rc_UL_CH0101} -ne 0 ] || [ ${rc_UL_CH0401} -ne 0 ] || [ ${rc_UL_CK0061} -ne 0 ] || [ ${rc_UL_KK0491} -ne 0 ] || \
#   [ ${rc_UL_KK0321} -ne 0 ] || [ ${rc_UL_KK0081} -ne 0 ] || [ ${rc_UL_CK0011} -ne 0 ] || [ ${rc_UL_CH0231} -ne 0 ]
if [ ${rc_UL_CH0101} -ne 0 ] || [ ${rc_UL_CH0401} -ne 0 ] || [ ${rc_UL_CK0061} -ne 0 ] || [ ${rc_UL_KK0491} -ne 0 ] || \
   [ ${rc_UL_KK0321} -ne 0 ] || [ ${rc_UL_KK0081} -ne 0 ] || [ ${rc_UL_CK0011} -ne 0 ] || [ ${rc_UL_CH0231} -ne 0 ] || [ ${rc_UL_CH0551} -ne 0 ]
# ANK-3442-00-00 MOD END
# OM-2018-0000551 MOD END
then
    #- エラーメッセージ出力
    if [ ${rc_UL_CH0101} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD_CH0101 Error($SVC UNLOAD:rc=${rc_UL_CH0101}) "
        echo $JOBNAME " UNLOAD_CH0101 Error($SVC UNLOAD:rc=${rc_UL_CH0101}) "
    fi
    if [ ${rc_UL_CH0401} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD_CH0401 Error($SVC UNLOAD:rc=${rc_UL_CH0401}) "
        echo $JOBNAME " UNLOAD_CH0401 Error($SVC UNLOAD:rc=${rc_UL_CH0401}) "
    fi
    if [ ${rc_UL_CK0061} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD_CK0061 Error($SVC UNLOAD:rc=${rc_UL_CK0061}) "
        echo $JOBNAME " UNLOAD_CK0061 Error($SVC UNLOAD:rc=${rc_UL_CK0061}) "
    fi
    if [ ${rc_UL_KK0491} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD_KK0491 Error($SVC UNLOAD:rc=${rc_UL_KK0491}) "
        echo $JOBNAME " UNLOAD_KK0491 Error($SVC UNLOAD:rc=${rc_UL_KK0491}) "
    fi
    if [ ${rc_UL_KK0321} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD_KK0321 Error($SVC UNLOAD:rc=${rc_UL_KK0321}) "
        echo $JOBNAME " UNLOAD_KK0321 Error($SVC UNLOAD:rc=${rc_UL_KK0321}) "
    fi
    if [ ${rc_UL_KK0081} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD_KK0081 Error($SVC UNLOAD:rc=${rc_UL_KK0081}) "
        echo $JOBNAME " UNLOAD_KK0081 Error($SVC UNLOAD:rc=${rc_UL_KK0081}) "
    fi
    if [ ${rc_UL_CK0011} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD_CK0011 Error($SVC UNLOAD:rc=${rc_UL_CK0011}) "
        echo $JOBNAME " UNLOAD_CK0011 Error($SVC UNLOAD:rc=${rc_UL_CK0011}) "
    fi
    if [ ${rc_UL_CH0231} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD_CH0231 Error($SVC UNLOAD:rc=${rc_UL_CH0231}) "
        echo $JOBNAME " UNLOAD_CH0231 Error($SVC UNLOAD:rc=${rc_UL_CH0231}) "
    fi
# ANK-3442-00-00 ADD START
    if [ ${rc_UL_CH0551} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD_CH0551 Error($SVC UNLOAD:rc=${rc_UL_CH0551}) "
        echo $JOBNAME " UNLOAD_CH0551 Error($SVC UNLOAD:rc=${rc_UL_CH0551}) "
    fi
# ANK-3442-00-00 ADD END
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- 督促対象情報ファイルを読み込み、督促データ識別が03：不良顧客用のもののみを抽出し、請求契約番号で昇順ソート
#    更に督促番号が空のレコードと入っているレコードで分割する
#----------------------------------------------------------------------------------------------------
bsortex -record recform=txtflt fldsep=, \
    -sort key=1.10asca \
    -input reclen=100 file=${INFILE} include="0.2asc.eq.'03'" \
    -output file=${OUTFILE_TMP12} case="6.12asc.lt.' '" linedlmt=lf \
    -output file=${OUTFILE_TMP13} case=other linedlmt=lf ;
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error($SVC bsortex1:rc=$rc) "
    echo $JOBNAME " bsortex Error($SVC bsortex1:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- 分割した督促番号が空のファイルと督促UNLOADファイルをマッチングする
#----------------------------------------------------------------------------------------------------
TOKUSOKU_TOKUSOKU_MATCHING

#----------------------------------------------------------------------------------------------------
#--- マッチング結果と督促番号が入っているファイルを結合する
#----------------------------------------------------------------------------------------------------
# ANK-3442-00-00 MOD START
#cat ${OUTFILE_TMP13} ${MATCHING_OUTFILE_WRK6} > ${OUTFILE_TMP2}
cat ${OUTFILE_TMP13} ${MATCHING_OUTFILE_WRK6} > ${OUTFILE_TMP15}
# ANK-3442-00-00 MOD END

# ANK-3442-00-00 ADD START
#----------------------------------------------------------------------------------------------------
#--- 督促対象情報ファイルを請求契約番号でソートする
#----------------------------------------------------------------------------------------------------
bsortex -record recform=txtflt fldsep=, \
    -sort key=1.10asca \
    -input reclen=100 file=${OUTFILE_TMP15} -output file=${OUTFILE_TMP14} 
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error($SVC bsortex1:rc=$rc) "
    echo $JOBNAME " bsortex Error($SVC bsortex1:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- 督促対象情報ファイルと初回窓口請求スキップで対象となったお客さまと
#--- 隔月請求対象登録で対象となったお客さまをマッチングする
#----------------------------------------------------------------------------------------------------
TOKUSOKU_TOKUSOKU_MATCHING2

#----------------------------------------------------------------------------------------------------
#--- 督促対象情報ファイルから初回窓口請求スキップで対象となったお客さまと
#--- 隔月請求対象登録で対象となったお客さまを除外する
#----------------------------------------------------------------------------------------------------
# ANK-3586-00-00 MOD START
#bsortex -record recform=txtflt fldsep=, \
#    -sort key=1.10asca \
#    -input reclen=110 file=${MATCHING_OUTFILE_WRK8}  include="17.10asc.le.' '" \
#    -output file=${OUTFILE_TMP2} 
#rc=$?
#if [ $rc -ne 0 ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error($SVC bsortex1:rc=$rc) "
#    echo $JOBNAME " bsortex Error($SVC bsortex1:rc=$rc) "
#    exit ${G_RTN_ERROR}
#fi
#
# ANK-3442-00-00 ADD END

bsortex -record recform=txtflt fldsep=, \
    -sort key=1.10asca \
    -input reclen=110 file=${MATCHING_OUTFILE_WRK8} \
     include="17.10asc.le.' '".and."18.10asc.le.' '" \
    -output file=${OUTFILE_TMP2} 
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error($SVC bsortex1:rc=$rc) "
    echo $JOBNAME " bsortex Error($SVC bsortex1:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# ANK-3586-00-00 MOD END

#----------------------------------------------------------------------------------------------------
#--- 不良顧客UNLOADファイルを読み込み、不良顧客登録コードが05のもののみを抽出し、請求契約番号、SYSIDで昇順ソート
#----------------------------------------------------------------------------------------------------
bsortex -record recform=txtflt fldsep=, \
    -sort key=2.10asca,3.10asca \
    -input reclen=100 file=${UNLOAD_OUTFILE_CK0061} include="1.2asc.eq.'05'" \
    -output file=${OUTFILE_TMP3}

#----------------------------------------------------------------------------------------------------
#--- 不良顧客UNLOADファイルを読み込み、不良顧客登録コードが04のもののみを抽出し、請求契約番号、SYSIDで昇順ソート
#----------------------------------------------------------------------------------------------------
bsortex -record recform=txtflt fldsep=, \
    -sort key=2.10asca,3.10asca \
    -input reclen=100 file=${UNLOAD_OUTFILE_CK0061} include="1.2asc.eq.'04'" \
    -output file=${OUTFILE_TMP4}

#----------------------------------------------------------------------------------------------------
#--- 不良顧客UNLOADファイルを読み込み、不良顧客登録コードが06のもののみを抽出し、請求契約番号、SYSIDで昇順ソート
#----------------------------------------------------------------------------------------------------
bsortex -record recform=txtflt fldsep=, \
    -sort key=2.10asca,3.10asca \
    -input reclen=100 file=${UNLOAD_OUTFILE_CK0061} include="1.2asc.eq.'06'" \
    -output file=${OUTFILE_TMP5}

#----------------------------------------------------------------------------------------------------
#- 督促対象情報ファイルとUNLOADファイル(請求契約、課金先、サービス契約、お客様+お客様<個人>)のマッチング処理。
#----------------------------------------------------------------------------------------------------
TOKUSOKU_FILE_MATCHING0

#----------------------------------------------------------------------------------------------------
#- マッチングファイルと不良顧客(05)のマッチング処理。
#----------------------------------------------------------------------------------------------------
HURYO_CUST_TOKUSOKU_MATCHING1

# 請求契約番号単位に集約
bsortex -sort key="3.10asca,33.10asca" \
    -record recform=txtflt fldsep=, \
    -input reclen=3000 file=${MATCHING_OUTFILE_WRK1} \
    |
    bsortex -record recform=txtflt fldsep=, \
    -input reclen=3000 \
    -merge key="3.10asca" \
    -summary suppress first \
    -output file=${OUTFILE_TMP6} \
    reconst="0.12,'05'.2asc,2.END"

#----------------------------------------------------------------------------------------------------
#- マッチングファイルと不良顧客(04)のマッチング処理。
#----------------------------------------------------------------------------------------------------
HURYO_CUST_TOKUSOKU_MATCHING2

# 請求契約番号、SYSID単位に集約
bsortex -sort key="3.10asca,33.10asca" \
    -record recform=txtflt fldsep=, \
    -input reclen=3000 file=${MATCHING_OUTFILE_WRK2} \
    |
    bsortex -record recform=txtflt fldsep=, \
    -input reclen=3000 \
    -merge key="3.10asca,33.10asca" \
    -summary suppress first \
    -output file=${OUTFILE_TMP7} \
    reconst="0.12,'04'.2asc,2.END"

#----------------------------------------------------------------------------------------------------
#- マッチングファイルと不良顧客(06)のマッチング処理。
#----------------------------------------------------------------------------------------------------
HURYO_CUST_TOKUSOKU_MATCHING3

# 請求契約番号、SYSID単位に集約
bsortex -sort key="3.10asca,33.10asca" \
    -record recform=txtflt fldsep=, \
    -input reclen=3000 file=${MATCHING_OUTFILE_WRK3} \
    |
    bsortex -record recform=txtflt fldsep=, \
    -input reclen=3000 \
    -merge key="3.10asca,33.10asca" \
    -summary suppress first \
    -output file=${OUTFILE_TMP8} \
    reconst="0.12,'06'.2asc,2.END"

#----------------------------------------------------------------------------------------------------
#--- マージ
#----------------------------------------------------------------------------------------------------
cat ${OUTFILE_TMP6} ${OUTFILE_TMP7} > ${OUTFILE_TMP9}

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 ${OUTFILE_TMP8} ${OUTFILE_TMP9} > ${OUTFILE_TMP10}

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

#----------------------------------------------------------------------------------------------------
#- UNLOADファイル(請求内訳)とUNLOADファイル(料金項目抽出変換)のマッチング処理。
#----------------------------------------------------------------------------------------------------
# バックグラウンドで起動中の請求内訳の抽出が終了するのを待つ
wait

# OM-2018-0000551 ADD START
# 請求内訳とサービス契約とマッチング
SVC_KEI_SEIKY_UW_MATCHING
# OM-2018-0000551 ADD END

SEIKY_UW_MATCHING

#
#- 請求内訳ファイルを請求契約番号,SYSIDで昇順ソートし、金額を集約する。
#
bsortex -sort key=0.10asca,2.10asca \
    -record recform=txtflt fldsep=, -summary field=1.12ascud \
    -input reclen=100 file=${MATCHING_OUTFILE_WRK4} \
    -output file=${OUTFILE_TMP11}

#----------------------------------------------------------------------------------------------------
#- マッチング結果ファイル(請求契約情報)とマッチング結果ファイル(請求内訳)のマッチング処理。
#----------------------------------------------------------------------------------------------------
TOKUSOKU_SEIKY_UW_MATCHING

#
#- ソート 1.請求契約番号、2.サービス契約ステータス、3.課金先番号、4.ＳＹＳＩＤ、5.不良顧客登録番号
#
bsortex -sort key=3.10asca,34.3asca,31.12asca,33.10asca,0.12asca \
    -record recform=txtflt fldsep=, \
    -input reclen=3000 file=${MATCHING_OUTFILE_WRK5} \
    -output file=${OUTFILE} \
            linedlmt=crlf ;
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error($SVC bsortex last:rc=$rc) "
    echo $JOBNAME " bsortex Error($SVC bsortex last:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#---ＡＰＬ起動
#
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

#ワーク削除
if [ $WK_RM = "true" ]
then
    rm -f ${OUTFILE_TMP1}
    rm -f ${OUTFILE_TMP2}
    rm -f ${OUTFILE_TMP3}
    rm -f ${OUTFILE_TMP4}
    rm -f ${OUTFILE_TMP5}
    rm -f ${OUTFILE_TMP6}
    rm -f ${OUTFILE_TMP7}
    rm -f ${OUTFILE_TMP8}
    rm -f ${OUTFILE_TMP9}
    rm -f ${OUTFILE_TMP10}
    rm -f ${OUTFILE_TMP11}
    rm -f ${OUTFILE_TMP12}
    rm -f ${OUTFILE_TMP13}
    rm -f ${SQLFILE_CK0061_WRK}
    rm -f ${SQLFILE_KK0491_WRK}
    rm -f ${SQLFILE_KK0321_WRK}
    rm -f ${SQLFILE_KK0081_WRK}
    rm -f ${SQLFILE_CK0011_WRK}
    rm -f ${SQLFILE_CH0101_WRK}
    rm -f ${SQLFILE_CH0401_WRK}
    rm -f ${SQLFILE_CH0231_WRK}
    rm -f ${UNLOAD_OUTFILE_CK0061}
    rm -f ${UNLOAD_OUTFILE_KK0491}
    rm -f ${UNLOAD_OUTFILE_KK0321}
    rm -f ${UNLOAD_OUTFILE_KK0081}
    rm -f ${UNLOAD_OUTFILE_CK0011}
    rm -f ${UNLOAD_OUTFILE_CH0101}
    rm -f ${UNLOAD_OUTFILE_CH0401}
    rm -f ${UNLOAD_OUTFILE_CH0231}
    rm -f ${MATCHING_OUTFILE_WRK0}
    rm -f ${MATCHING_OUTFILE_WRK1}
    rm -f ${MATCHING_OUTFILE_WRK2}
    rm -f ${MATCHING_OUTFILE_WRK3}
    rm -f ${MATCHING_OUTFILE_WRK4}
    rm -f ${MATCHING_OUTFILE_WRK5}
    rm -f ${MATCHING_OUTFILE_WRK6}
    rm -f ${DEF_FILE_WK1}
    # OM-2018-0000551 ADD START
    rm -f ${MATCHING_OUTFILE_WRK7}
    # OM-2018-0000551 ADD END
    # ANK-3442-00-00 ADD START
    rm -f ${OUTFILE_TMP14}
    rm -f ${OUTFILE_TMP15}
    rm -f ${SQLFILE_CH0551_WRK}
    rm -f ${UNLOAD_OUTFILE_CH0551}
    rm -f ${MATCHING_OUTFILE_WRK8}
    # ANK-3442-00-00 ADD END
    # ANK-3586-00-00 ADD START
     rm -f ${SQLFILE_CH0551_WRK_2}
     rm -f ${UNLOAD_OUTFILE_CH0551_2}
    # ANK-3586-00-00 ADD END
fi

exit_rc=$rc

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

exit $exit_rc
