#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：当月請求一時金判定サブシェル
#
# 機能          ：当月請求一時金判定にて必要となるサービス契約情報及びサービス蓄積情報を
#                  メイン処理（Java機能）をコールする前にあらかじめ取得し一時金情報に付加しておく。
#
# コマンド形式  ：. EO3011030J0_01.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.00.00        2013/03/22  FJ）藤田    【ST4-2013-0000065】性能改善
# v4.01.00        2013/04/02  FJ）藤田    【ST4-2013-0000420】サービス契約の抽出条件に予約適用開始年月NOT NULLを追加する
# v4.01.01        2013/04/08  FJ) 狭間    【ST4-2013-0000286】性能改善の為、アンロード並列化及び処理見直しと水平展開
# v4.02.00        2013/04/18  FJ) 浜口    【残課題対応一覧No.2】一時金プラン読み替え／マンションID設定対応
# v4.03.00        2013/05/11  FJ) 狭間    【IT1-2013-0001197】料金プラン読替えの検索条件を
# v4.04.00        2013/05/18  FJ) 狭間    【TG1-2013-0000359】一時金料金プラン読み替え処理不正（基本、プラン読替用が混在）
# v4.05.00        2013/05/31  FJ) 狭間    【ST4-2013-0000462】TG1-2013-0000359での性能劣化を修正
# v4.06.00        2013/06/08  FJ) 狭間    【TG1-2013-0000627】当月請求一時金判定読替不具合を修正
# v5.00.00        2013/06/27  FJ) 後藤    【ST4-2013-0000479】性能改善の為、nkfでの改行コード変換を廃止
# v5.01.00        2013/07/12  FJ) 後藤    【TG1-2013-0000662】マスタ参照基準日変更対応
# v5.01.01        2013/08/18  FJ) 狭間    【IT1-2013-0001601】サービス課金開始日≦請求年月末日の絞込みを廃止
#                                                             →javaで行うようにする
# v5.01.02        2013/10/14  FJ) 東海林  【ST4-2013-0000589】性能改善 処理の並列化、処理順序の見直し
# v8.00.00        2013/12/25  FJ) 狭間    【ANK-1794-00-00】一時金情報他にサービス詳細識別番号を追加
# v8.00.01        2014/01/30  FJ) 狭間    【OM-2014-0000383】サービス契約蓄積から課金開始日＞課金終了日のレコードを除外する
# v8.00.02        2014/02/19  FJ) 後藤    【OM-2014-0000570】料金サービス識別コードをjava内で使用するためjava入力ファイルに追加
# v11.00.00       2015/01/26  FJ) 安井    【OM-2014-0004038】性能改善
# v16.00.00       2015/07/24  FJ) 西面    【ANK-2480-00-00】新電力対応
# v19.00.00       2015/09/11  FJ) 土井    【OM-2015-0002301】性能改善：共通アンロード対応を戻す。その際の既存バグ修正
# v20.00.00       2015/11/18  FJ) 有本    【OM-2015-0003006】性能改善：不要なソート削除
# v22.00.01       2015/12/07  FJ）有本    【OM-2016-0000114】性能改善：共通UNLOAD化
# v29.00.00       2017/01/10  FJ) 貝本    【ANK-3023-00-00】料金計算時間短縮検討
# v36.00.00       2018/03/12  FJ) 大山    【ANK-3388-00-00】性能改善対応
# v57.00.00       2022/01/25  FJ) 麻生    【ANK-4075-00-00】マンション卸回線(WI-FIスキーム)の不備対応
##############################################################

#-------------------------------------------------------------
# ディレクトリ定義
#-------------------------------------------------------------
#
#--- bsort定義ファイル
BSORT_DIR=${G_TOOLSH}/bsort/def
#--- マッチング定義ファイル
MATCHING_DIR=${G_TOOLSH}/util/def
#
#--- SQLPARAM
#--- イベントコード（利用開始日）
EVENT_CD_USE_STAYMD="01"
#--- イベントコード（利用終了日）
EVENT_CD_USE_ENDYMD="02"
#--- 料金計算日イベントコード
EVENT_CD_RYOKIN_KEISAN_YMD="03"

#---マッチング処理でLeftjoinがNULL時に"を付けなくする（マッチング使用時は必須）
export ZTLQUOTES=''

#-------------------------------------------------------------
#--- サブルーチン（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
}
#-------------------------------------------------------------
#--- サブルーチン（SED）
#-------------------------------------------------------------
SED(){
    sed -i -e $1 $2
    rc=$?
    if [ $rc -ne 0 ]
    then
          sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sed error($1 $2:rc=$rc) "
          echo $JOBNAME " sed error($1 $2:rc=$rc) "
          exit ${G_RTN_ERROR}
    fi
}
#-------------------------------------------------------------
#--- サブルーチン（bsort）
#-------------------------------------------------------------
BSORT(){
	bsort -s -z$1 -Tcsv -f -$2 -o $3 $4
	rc=$?
	if [ $rc -ne 0 ]
	then
	      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sed error($1 $2 $3 $4:rc=$rc) "
	      echo $JOBNAME " sed error($1 $2 $3 $4:rc=$rc) "
	      exit ${G_RTN_ERROR}
	fi
}

#
#--- ファイル定義
#
#--- 共通ワーク
FILE_WRK1=${MID_DIR_AC}/${JOBNAME}_WK_01
FILE_WRK2=${MID_DIR_AC}/${JOBNAME}_WK_02

#--- 出力ファイル
OUTFILE=${FILE_IN_JAVA}
#-------------------------------------------------------------
#--- 0.スケジュール定義CH_M_PRC_SCHDL_TEIGI
#-------------------------------------------------------------
#スケジュール定義から郡月初日、群月末日の取得
SQLFILE_CH0501_02=${SQL_DIR}/AC_U_CH0501_02.sql
#スケジュール定義から請求年月（MIN）の当月取得
SQLFILE_CH0501_03=${SQL_DIR}/AC_U_CH0501_03.sql

CSVFILE_CH0501=${MID_DIR_AC}/${JOBNAME}_AC_U_CH0501_WK_1.csv

#-------------------------------------------------------------
#--- 1.サービス契約蓄積
#-------------------------------------------------------------
SQLFILE_AC0461_03=${SQL_DIR}/AC_U_AC0461_03.sql
BSDEFFILE_AC0461_002=${BSORT_DIR}/AC_BS_AC0461_002.bsdef

CSVFILE_AC0461_SOUT=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0461_UNLOADER_WK_1.csv
CSVFILE_AC0461_SOUT_KIHON=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0461_BSORT_WK_1.csv
CSVFILE_AC0461_SOUT_KIGAI=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0461_BSORT_WK_2.csv

#-------------------------------------------------------------
#--- 2.料金サービス管理
#-------------------------------------------------------------
SQLFILE_AC0181_01=${SQL_DIR}/AC_U_AC0181_01.sql
BSDEFFILE_AC0181_001=${BSORT_DIR}/AC_BS_AC0181_001.bsdef

CSVFILE_AC0181=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0181_UNLOADER_WK_1.csv
CSVFILE_AC0181_KIHON=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0181_KIHON_BSORT_WK_1.csv
CSVFILE_AC0181_KIGAI=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0181_KIGAI_BSORT_WK_1.csv
CSVFILE_AC0181_ALL=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0181_ALL_BSORT_WK_1.csv

#-------------------------------------------------------------
#--- 3.料金サービス管理とサービス契約蓄積のマッチング
#-------------------------------------------------------------
CMDEFFILE_0026=${MATCHING_DIR}/AC_CM_0026.def

CSVFILE_CM_0026_KIHON=${MID_DIR_AC}/${JOBNAME}_AC_CM_0026_KIHON_MATCHING_WK_1.csv
CSVFILE_CM_0026_KIGAI=${MID_DIR_AC}/${JOBNAME}_AC_CM_0026_KIGAI_MATCHING_WK_1.csv

#-------------------------------------------------------------
#--- 4.マッチング後のサービス契約蓄積と一時金情報の結合
#-------------------------------------------------------------
CMDEFFILE_0039=${MATCHING_DIR}/AC_CM_0039.def
CMDEFFILE_0040=${MATCHING_DIR}/AC_CM_0040.def
CMDEFFILE_0027=${MATCHING_DIR}/AC_CM_0027.def
CMDEFFILE_0028=${MATCHING_DIR}/AC_CM_0028.def
CMDEFFILE_0033=${MATCHING_DIR}/AC_CM_0033.def

CSVFFILE_ACIFM043004=${FILE_IN_JOB}
CSVFFILE_ACIFM043004_TR=${MID_DIR_AC}/${JOBNAME}_ACIFM043004_WK_1.csv
CSVFFILE_ACIFM043004_TR_KBN=${MID_DIR_AC}/${JOBNAME}_ACIFM043004_WK_2.csv

CSVFILE_CM039=${MID_DIR_AC}/${JOBNAME}_AC_CM_0039_MATCHING_WK_1.csv
CSVFILE_CM040=${MID_DIR_AC}/${JOBNAME}_AC_CM_0040_MATCHING_WK_1.csv
CSVFILE_CM027=${MID_DIR_AC}/${JOBNAME}_AC_CM_0027_MATCHING_WK_1.csv
CSVFILE_CM027_TEMP=${MID_DIR_AC}/${JOBNAME}_AC_CM_0027_MATCHING_WK_2.csv
CSVFILE_CM028=${MID_DIR_AC}/${JOBNAME}_AC_CM_0028_MATCHING_WK_1.csv
CSVFILE_CM028_TEMP=${MID_DIR_AC}/${JOBNAME}_AC_CM_0028_MATCHING_WK_2.csv
CSVFILE_CM033_KIHON=${MID_DIR_AC}/${JOBNAME}_AC_CM_0033_MATCHING_WK_1.csv
CSVFILE_CM033_KIGAI=${MID_DIR_AC}/${JOBNAME}_AC_CM_0033_MATCHING_WK_2.csv
CSVFILE_CM033_ALL=${MID_DIR_AC}/${JOBNAME}_AC_CM_0033_MATCHING_WK_3.csv

#-------------------------------------------------------------
#--- 5.サービス契約
#-------------------------------------------------------------
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL START
#SQLFILE_KK0081_05=${SQL_DIR}/AC_U_KK0081_05.sql
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL END
BSDEFFILE_KK0081=${BSORT_DIR}/AC_BS_KK0081_001.bsdef

# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 MOD START
#CSVFILE_KK0081=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0081_05_UNLOADER_WK_1.csv
CSVFILE_KK0081=${MID_DIR_AC}/EO3011031J0_AC_U_KK0081_05_UNLOADER_WK_1.csv
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 MOD END
CSVFILE_KK0081_SOUT=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0081_05_BSORT_WK_1.csv

#-------------------------------------------------------------
#--- 6.お客様
#-------------------------------------------------------------
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL START
#SQLFILE_CK0011_01=${SQL_DIR}/AC_U_CK0011_01.sql
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL END
BSDEFFILE_CK0011=${BSORT_DIR}/AC_BS_CK0011_001.bsdef

# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 MOD START
#CSVFILE_CK0011=${MID_DIR_AC}/${JOBNAME}_AC_U_CK0011_01_UNLOADER_WK_1.csv
CSVFILE_CK0011=${MID_DIR_AC}/EO3011031J0_AC_U_CK0011_01_UNLOADER_WK_1.csv
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 MOD END
CSVFILE_CK0011_SOUT=${MID_DIR_AC}/${JOBNAME}_AC_U_CK0011_01_BSORT_WK_1.csv

#-------------------------------------------------------------
#--- 7.料金グループ
#-------------------------------------------------------------
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL START
#SQLFILE_KK0781_01=${SQL_DIR}/AC_U_KK0781_01.sql
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL END
BSDEFFILE_KK0781=${BSORT_DIR}/AC_BS_KK0781_001.bsdef

# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 MOD START
#CSVFILE_KK0781=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0781_01_UNLOADER_WK_1.csv
CSVFILE_KK0781=${MID_DIR_AC}/EO3011031J0_AC_U_KK0781_01_UNLOADER_WK_1.csv
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 MOD END
CSVFILE_KK0781_SOUT=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0781_01_BSORT_WK_1.csv

#-------------------------------------------------------------
#--- 8.サービス契約とお客様と料金グループのマッチング
#-------------------------------------------------------------
CMDEFFILE_0023=${MATCHING_DIR}/AC_CM_0023.def

CSVFILE_CM_0023=${MID_DIR_AC}/${JOBNAME}_AC_CM_0023_MATCHING_WK_1.csv

#-------------------------------------------------------------
#--- 9.一時金CSVとマッチング
#-------------------------------------------------------------
CMDEFFILE_0024=${MATCHING_DIR}/AC_CM_0024.def

CSVFILE_CM_0024=${MID_DIR_AC}/${JOBNAME}_AC_CM_0024_MATCHING_WK_1.csv
#OM-2014-0004038 ADD STA
CSVFILE_CM_0024_ARI=${MID_DIR_AC}/${JOBNAME}_AC_CM_0024_MATCHING_WK_2.csv
CSVFILE_CM_0024_NASHI=${MID_DIR_AC}/${JOBNAME}_AC_CM_0024_MATCHING_WK_3.csv
#OM-2014-0004038 ADD END

#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD START
CSVFILE_CM_0024_KAKIN_ARI=${MID_DIR_AC}/${JOBNAME}_AC_CM_0024_MATCHING_WK_4.csv
CSVFILE_CM_0024_KAKIN_NASHI=${MID_DIR_AC}/${JOBNAME}_AC_CM_0024_MATCHING_WK_5.csv
CSVFILE_CM_0024_KAKIN_MARGE=${MID_DIR_AC}/${JOBNAME}_AC_CM_0024_MATCHING_WK_6.csv
#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD END

#-------------------------------------------------------------
#--- 10.料金項目抽出変換
#-------------------------------------------------------------
SQLFILE_CH0401_01=${SQL_DIR}/AC_U_CH0401_01.sql

# OM-2015-0003006 性能改善対応 2015/11/18 有本 DEL START
#CSVFILE_CH0401_UNLOAD=${MID_DIR_AC}/${JOBNAME}_AC_U_CH0401_UNLOADER_WK_1.csv
# OM-2015-0003006 性能改善対応 2015/11/18 有本 DEL END
CSVFILE_CH0401_BSORT=${MID_DIR_AC}/${JOBNAME}_AC_U_CH0401_BSORT_WK_1.csv

#OM-2014-0004038 ADD STA
#-------------------------------------------------------------
#--- 11.課金先
#-------------------------------------------------------------
SQLFILE_KK0321_12=${SQL_DIR}/AC_U_KK0321_12.sql

# ANK-3388-00-00 性能改善対応　2018/3/12 大山 MOD START
#CSVFILE_KK0321=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0321_12_UNLOADER_WK_1.csv
CSVFILE_KK0321=${MID_DIR_AC}/EO3011031J0_AC_U_KK0321_12_UNLOADER_WK_1.csv
# ANK-3388-00-00 性能改善対応　2018/3/12 大山 MOD END
CSVFILE_KK0321_BSORT=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0321_12_BSORT_WK_1.csv

#-------------------------------------------------------------
#--- 12.サービス契約、お客様、料金グループと課金先のマッチング
#-------------------------------------------------------------
CMDEFFILE_0098=${MATCHING_DIR}/AC_CM_0098.def

CSVFILE_CM_0098=${MID_DIR_AC}/${JOBNAME}_AC_CM_0098_MATCHING_WK_1.csv
CSVFILE_CM_0098_BSORT=${MID_DIR_AC}/${JOBNAME}_AC_CM_0098_BSORT_WK_1.csv

#-------------------------------------------------------------
#--- 13.サービス契約番号無しファイルと契約情報のマッチング
#-------------------------------------------------------------
CMDEFFILE_0099=${MATCHING_DIR}/AC_CM_0099.def

CSVFILE_CM_0099=${MID_DIR_AC}/${JOBNAME}_AC_CM_0099_MATCHING_WK_1.csv
#OM-2014-0004038 ADD END

#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD START
#-------------------------------------------------------------
#--- 14.サービス契約有りファイルと課金先のマッチング
#-------------------------------------------------------------
CMDEFFILE_0117=${MATCHING_DIR}/AC_CM_0117.def

CSVFILE_CM_0117=${MID_DIR_AC}/${JOBNAME}_AC_CM_0117_MATCHING_WK_1.csv
#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD END

#
#--- MAIN
#
#-------------------------------------------------------------
#--- 0.1.請求年月取得処理
#-------------------------------------------------------------
cp ${SQLFILE_CH0501_03} ${FILE_WRK1}
SED "s/:EVENT_CD/'${EVENT_CD_RYOKIN_KEISAN_YMD}'/g" ${FILE_WRK1}
SED "s/:EVENT_YMD/'${RSLT_OPEDATE}'/g" ${FILE_WRK1}
UNLOAD ${FILE_WRK1} ${CSVFILE_CH0501}
SEIKY_YM=`cat ${CSVFILE_CH0501}`
echo ${SEIKY_YM}
#-------------------------------------------------------------
#--- 0.2.群月末日取得処理
#-------------------------------------------------------------
cp ${SQLFILE_CH0501_02} ${FILE_WRK1}
SED "s/:SEIKY_YM/'${SEIKY_YM}'/g" ${FILE_WRK1}
SED "s/:EVENT_CD1/'${EVENT_CD_USE_STAYMD}'/g" ${FILE_WRK1}
SED "s/:EVENT_CD2/'${EVENT_CD_USE_ENDYMD}'/g" ${FILE_WRK1}
UNLOAD ${FILE_WRK1} ${CSVFILE_CH0501}
GUN_STRDAY=`head -n1 ${CSVFILE_CH0501}`
GUN_ENDDAY=`tail -n1 ${CSVFILE_CH0501}`
echo ${GUN_STRDAY}
echo ${GUN_ENDDAY}

#-------------------------------------------------------------
#--- 0.3.サービス契約蓄積事前処理
#      課金開始日＞課金終了日のレコードを除外する
#-------------------------------------------------------------
bsortex \
    -copy \
    -input reclen=100 file=${FILE_SVKEI_CHIKUSEKI} \
    -record recform=txtcsv \
    -output file=${CSVFILE_AC0461_SOUT} \
     omit="6.8asc.gt.' '.and.5.8asc.gt.6.8asc"
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " copy error(CSVFILE_AC0461_SOUT:rc=$rc) "
      echo $JOBNAME " copy error(CSVFILE_AC0461_SOUT:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

#-------------------------------------------------------------
#--- 1.1.料金項目抽出変換アンロード
#      ${CSVFILE_CH0401_BSORT}
#-------------------------------------------------------------
(
    cp ${SQLFILE_CH0401_01} ${FILE_WRK1}
    SED "s/:OPE_DATE/'${RSLT_OPEDATE}'/g" ${FILE_WRK1}
# OM-2015-0003006 性能改善対応 2015/11/18 有本 MOD START
#    UNLOAD ${FILE_WRK1} ${CSVFILE_CH0401_UNLOAD}
    UNLOAD ${FILE_WRK1} ${CSVFILE_CH0401_BSORT}
# OM-2015-0003006 性能改善対応 2015/11/18 有本 MOD END
# OM-2015-0003006 性能改善対応 2015/11/18 有本 DEL START
#    bsortex \
#      -sort key="0.3asca,1.12asca,2.11asca" \
#      -record recform=txtcsv \
#      -input reclen=30 \
#         file=${CSVFILE_CH0401_UNLOAD} \
#      -output file=${CSVFILE_CH0401_BSORT}
# OM-2015-0003006 性能改善対応 2015/11/18 有本 DEL END
) &
pid_UNLOAD_CH0401=$!

#-------------------------------------------------------------
#--- 1.2.料金サービス管理アンロード
#      ${CSVFILE_AC0181_KIHON},${CSVFILE_AC0181_KIGAI}
#-------------------------------------------------------------
(
    UNLOAD ${SQLFILE_AC0181_01} ${CSVFILE_AC0181}
    bsortex \
      -define \
      -a ${BSDEFFILE_AC0181_001} \
      -sort key="@{PCRS_CD}asca,@{PRC_SVC_CD}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
             file=${CSVFILE_AC0181} \
             include="@{SYS_CD}asc.eq.'AC'.and.@{PRC_SVC_KANRI_TSTAYMD}asc.le.'${GUN_ENDDAY}'.and.@{PRC_SVC_KANRI_TENDYMD}asc.ge.'${GUN_ENDDAY}'" \
    |bsortex \
      -define \
      -a ${BSDEFFILE_AC0181_001} \
      -merge key="@{PCRS_CD}asca,@{PRC_SVC_CD}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
      -summary suppress last \
    |bsortex \
      -define \
      -a ${BSDEFFILE_AC0181_001} \
      -copy \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
      -output file=${CSVFILE_AC0181_KIHON} case="@{PRC_SVC_SKBT_CD}asc.eq.'1'.or.@{PRC_SVC_SKBT_CD}asc.eq.'9'" \
      -output file=${CSVFILE_AC0181_KIGAI} case=other ;
) &
pid_UNLOAD_AC0181=$!

#-------------------------------------------------------------
#--- 1.3.サービス契約アンロード
#      ${CSVFILE_KK0081_SOUT}
#-------------------------------------------------------------
(
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL START
#    UNLOAD ${SQLFILE_KK0081_05} ${CSVFILE_KK0081}
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL END
    bsortex \
      -define \
      -a ${BSDEFFILE_KK0081} \
      -sort key="@{SVC_KEI_NO}asca,@{RSV_APLY_YMD}asca,@{GENE_ADD_DTM}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
             file=${CSVFILE_KK0081} \
             include="@{RSV_APLY_CD}asc.eq.'2'.and.@{RSV_APLY_YMD}asc.le.'${GUN_ENDDAY}'.and.@{RSV_APLY_YMD}asc.gt.'0'" \
    |bsortex \
      -define \
      -a ${BSDEFFILE_KK0081} \
      -merge key="@{SVC_KEI_NO}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
      -summary suppress last \
      -output file=${CSVFILE_KK0081_SOUT} ;
) &
pid_UNLOAD_AC0081=$!

#-------------------------------------------------------------
#--- 1.4.お客様アンロード
#      ${CSVFILE_CK0011_SOUT}
#-------------------------------------------------------------
(
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL START
#    UNLOAD ${SQLFILE_CK0011_01} ${CSVFILE_CK0011}
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL END
    bsortex \
      -define \
      -a ${BSDEFFILE_CK0011} \
      -sort key="@{SYSID}asca,@{RSV_APLY_YMD}asca,@{GENE_ADD_DTM}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
             file=${CSVFILE_CK0011} \
             include="@{RSV_APLY_CD}asc.eq.'2'.and.@{RSV_APLY_YMD}asc.le.'${GUN_ENDDAY}'" \
    |bsortex \
      -define \
      -a ${BSDEFFILE_CK0011} \
      -merge key="@{SYSID}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
      -summary suppress last \
      -output file=${CSVFILE_CK0011_SOUT} ;
) &
pid_UNLOAD_CK0011=$!

#-------------------------------------------------------------
#--- 1.5.料金グループアンロード
#      ${CSVFILE_KK0781_SOUT}
#-------------------------------------------------------------
(
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL START
#    UNLOAD ${SQLFILE_KK0781_01} ${CSVFILE_KK0781}
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL END
    bsortex \
      -define \
      -a ${BSDEFFILE_KK0781} \
      -sort key="@{PRC_GRP_CD}asca,@{RSV_APLY_YMD}asca,@{GENE_ADD_DTM}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
             file=${CSVFILE_KK0781} \
             include="@{RSV_APLY_YMD}asc.le.'${GUN_ENDDAY}'" \
    |bsortex \
      -define \
      -a ${BSDEFFILE_KK0781} \
      -merge key="@{PRC_GRP_CD}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
      -summary suppress last \
      -output file=${CSVFILE_KK0781_SOUT} \
              include="@{PRC_GRP_TSTAYMD}asc.le.'${GUN_ENDDAY}'.and.@{PRC_GRP_TENDYMD}asc.ge.'${GUN_ENDDAY}'" ;
) &
pid_UNLOAD_KK0781=$!

#-------------------------------------------------------------
#--- 1.6.一時金情報改行コード変換
#      ${CSVFFILE_ACIFM043004_TR}
#-------------------------------------------------------------
(
tr -d "\r" < ${CSVFFILE_ACIFM043004} > ${CSVFFILE_ACIFM043004_TR}
) &
pid_TR_ACIFM043004=$!

#OM-2014-0004038 ADD STA
#-------------------------------------------------------------
#--- 1.7.課金先アンロード
#      ${CSVFILE_KK0321_BSORT}
#-------------------------------------------------------------
(
# ANK-3388-00-00 性能改善対応　2018/3/12 大山 DEL START
#    UNLOAD ${SQLFILE_KK0321_12} ${CSVFILE_KK0321}
# ANK-3388-00-00 性能改善対応　2018/3/12 大山 DEL END
    bsortex \
      -copy \
      -record recform=txtcsv \
      -input reclen=100 \
             file=${CSVFILE_KK0321} \
      -output file=${CSVFILE_KK0321_BSORT} \
             include="2.8asc.le.'${RSLT_OPEDATE}'.and.3.8asc.ge.'${RSLT_OPEDATE}'" ;
) &
pid_UNLOAD_KK0321=$!
#OM-2014-0004038 ADD END

#-------------------------------------------------------------
#--- 2.1.料金サービス管理（基本契約と基本以外契約）ファイル結合
#      ${CSVFILE_AC0181_ALL}
#-------------------------------------------------------------

##### [1.2.料金サービス管理アンロード] の終了待ち受け

wait ${pid_UNLOAD_AC0181}
rc_UNLOAD_AC0181=$?

if [ ${rc_UNLOAD_AC0181} -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD or BSORT Error(pid_UNLOAD_AC0181:rc=${rc_UNLOAD_AC0181}) "
    echo $JOBNAME " UNLOAD or BSORT Error(pid_UNLOAD_AC0181:rc=${rc_UNLOAD_AC0181}) "
    exit ${G_RTN_ERROR}
fi

(
    cat ${CSVFILE_AC0181_KIHON} ${CSVFILE_AC0181_KIGAI} > ${CSVFILE_AC0181_ALL}
) &
pid_CAT_AC0181_ALL=$!


#-------------------------------------------------------------
#--- 2.2.料金サービス管理とサービス契約蓄積のマッチング（基本＆読替）
#      ${CSVFILE_AC0461_SOUT_KIHON}
#-------------------------------------------------------------
(
    #-- 入力ファイル定義
    export AC_M_PRC_SVC_KANRI=${CSVFILE_AC0181_KIHON}
    export AC_T_SVKEI_CHIKUSEKI=${CSVFILE_AC0461_SOUT}
    #-- マッチング
    export ZTLOUTFILE=${CSVFILE_CM_0026_KIHON}
    ${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0026}

    #--- マッチング結果を集約
    bsortex \
      -define \
      -a ${BSDEFFILE_AC0461_002} \
      -sort key="@{SEIKY_KEI_NO}asca,@{SVC_NO}asca,@{CHRG_STAYMD}asca,@{CHRG_ENDYMD}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
             file=${CSVFILE_CM_0026_KIHON} \
    |bsortex \
      -define \
      -a ${BSDEFFILE_AC0461_002} \
      -merge key="@{SEIKY_KEI_NO}asca,@{SVC_NO}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
      -output file=${CSVFILE_AC0461_SOUT_KIHON} ;
) &
pid_MATCHING_CM_0026_KIHON=$!

#-------------------------------------------------------------
#--- 2.3.料金サービス管理とサービス契約蓄積のマッチング（基本以外）
#      ${CSVFILE_AC0461_SOUT_KIGAI}
#-------------------------------------------------------------
(
    #-- 入力ファイル定義
    export AC_M_PRC_SVC_KANRI=${CSVFILE_AC0181_KIGAI}
    export AC_T_SVKEI_CHIKUSEKI=${CSVFILE_AC0461_SOUT}
    #-- マッチング
    export ZTLOUTFILE=${CSVFILE_CM_0026_KIGAI}
    ${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0026}

    #--- マッチング結果を集約
    bsortex \
      -define \
      -a ${BSDEFFILE_AC0461_002} \
      -sort key="@{SEIKY_KEI_NO}asca,@{SVC_NO}asca,@{CHRG_STAYMD}asca,@{CHRG_ENDYMD}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
             file=${CSVFILE_CM_0026_KIGAI} \
    |bsortex \
      -define \
      -a ${BSDEFFILE_AC0461_002} \
      -merge key="@{SEIKY_KEI_NO}asca,@{SVC_NO}asca" \
      -record recform=txtcsv \
      -input reclen=@{RECLEN} \
      -output file=${CSVFILE_AC0461_SOUT_KIGAI} ;
) &
pid_MATCHING_CM_0026_KIGAI=$!

#-------------------------------------------------------------
#--- 2.4.サービス契約とお客様と料金グループのマッチング
#      ${CSVFILE_CM_0023}
#-------------------------------------------------------------

##### [1.3.サービス契約アンロード]
##### [1.4.お客様アンロード]
##### [1.5.料金グループアンロード] の終了待ち受け

wait ${pid_UNLOAD_AC0081}
rc_UNLOAD_AC0081=$?
wait ${pid_UNLOAD_CK0011}
rc_UNLOAD_CK0011=$?
wait ${pid_UNLOAD_KK0781}
rc_UNLOAD_KK0781=$?
#OM-2014-0004038 ADD STA
wait ${pid_UNLOAD_KK0321}
rc_UNLOAD_KK0321=$?
#OM-2014-0004038 ADD END

#- エラー処理
#OM-2014-0004038 MOD STA
#if [ ${rc_UNLOAD_AC0081} -ne 0 ] || [ ${rc_UNLOAD_CK0011} -ne 0 ] || [ ${rc_UNLOAD_KK0781} -ne 0 ]
#OM-2015-0002301 9/14 土井 MOD STA
#if [ ${rc_UNLOAD_AC0081} -ne 0 ] || [ ${rc_UNLOAD_CK0011} -ne 0 ] || [ ${rc_UNLOAD_KK0781} -ne 0 || [ ${rc_UNLOAD_KK0321} -ne 0 ]
if [ ${rc_UNLOAD_AC0081} -ne 0 ] || [ ${rc_UNLOAD_CK0011} -ne 0 ] || [ ${rc_UNLOAD_KK0781} -ne 0 ] || [ ${rc_UNLOAD_KK0321} -ne 0 ]
#OM-2014-0002301 9/14 土井 MOD END
#OM-2014-0004038 MOD END
then
    #- エラーメッセージ出力
    if [ ${rc_UNLOAD_AC0081} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD or BSORT error(pid_UNLOAD_AC0081:rc=${rc_UNLOAD_AC0081}) "
        echo $JOBNAME " UNLOAD or BSORT error(pid_UNLOAD_AC0081:rc=${rc_UNLOAD_AC0081}) "
    fi
    if [ ${rc_UNLOAD_CK0011} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD or BSORT Error(pid_UNLOAD_CK0011:rc=${rc_UNLOAD_CK0011}) "
        echo $JOBNAME " UNLOAD or BSORT Error(pid_UNLOAD_CK0011:rc=${rc_UNLOAD_CK0011}) "
    fi
    if [ ${rc_UNLOAD_KK0781} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD or BSORT Error(pid_UNLOAD_KK0781:rc=${rc_UNLOAD_KK0781}) "
        echo $JOBNAME " UNLOAD or BSORT Error(pid_UNLOAD_KK0781:rc=${rc_UNLOAD_KK0781}) "
    fi
#OM-2014-0004038 ADD STA
    if [ ${rc_UNLOAD_KK0321} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD or BSORT Error(pid_UNLOAD_KK0321:rc=${rc_UNLOAD_KK0321}) "
        echo $JOBNAME " UNLOAD or BSORT Error(pid_UNLOAD_KK0321:rc=${rc_UNLOAD_KK0321}) "
    fi
#OM-2014-0004038 ADD END
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

(
    #-- 入力ファイル定義
    export KK_T_SVC_KEI=${CSVFILE_KK0081_SOUT}
    export CK_T_CUST=${CSVFILE_CK0011_SOUT}
    export KK_M_PRC_GRP=${CSVFILE_KK0781_SOUT}
    #-- マッチング
    export ZTLOUTFILE=${CSVFILE_CM_0023}
    ${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0023}
) &
pid_MATCHING_CM_0023=$!

#-------------------------------------------------------------
#--- 3.1.料金サービス管理と一時金情報のマッチング
#      ${CSVFILE_CM033_KIHON},${CSVFILE_CM033_KIGAI}
#-------------------------------------------------------------

##### [1.6.一時金情報改行コード変換]
##### [2.2.料金サービス管理（基本契約と基本以外契約）ファイル結合] の終了待ち受け

wait ${pid_TR_ACIFM043004}
rc_TR_ACIFM043004=$?
wait ${pid_CAT_AC0181_ALL}
rc_CAT_AC0181_ALL=$?

#- エラー処理
if [ ${rc_TR_ACIFM043004} -ne 0 ] || [ ${rc_CAT_AC0181_ALL} -ne 0 ]
then
    #- エラーメッセージ出力
    if [ ${rc_TR_ACIFM043004} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " tr Error(pid_TR_ACIFM043004:rc=${rc_TR_ACIFM043004}) "
        echo $JOBNAME " tr Error(pid_TR_ACIFM043004:rc=${rc_TR_ACIFM043004}) "
    fi
    if [ ${rc_CAT_AC0181_ALL} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " cat error(pid_CAT_AC0181_ALL:rc=${rc_CAT_AC0181_ALL}) "
        echo $JOBNAME " cat error(pid_CAT_AC0181_ALL:rc=${rc_CAT_AC0181_ALL}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

#-- 入力ファイル定義
(
    export AC_M_PRC_SVC_KANRI=${CSVFILE_AC0181_ALL}
    export ACIFM043004_SOUT=${CSVFFILE_ACIFM043004_TR}
    #-- マッチング
    export ZTLOUTFILE=${CSVFFILE_ACIFM043004_TR_KBN}
    ${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0033}

    bsortex -copy -record recform=txtcsv \
            -input reclen=1000 file=${CSVFFILE_ACIFM043004_TR_KBN} \
            -output file=${CSVFILE_CM033_KIHON} case="20.2asc.eq.'1'.or.20.2asc.eq.'9'" \
            -output file=${CSVFILE_CM033_KIGAI} case=other ;
) &
pid_MATCHING_CM_0033=$!


#-------------------------------------------------------------
#--- 4.1.サービス契約蓄積を料金項目抽出変換と一時金で絞込み(基本＆読替）
#      ${CSVFILE_CM039}
#-------------------------------------------------------------

##### [1.1.料金項目抽出変換アンロード]
##### [2.3.料金サービス管理とサービス契約蓄積のマッチング（基本＆読替）]
##### [3.1.料金サービス管理と一時金情報のマッチング] の終了待ち受け

wait ${pid_UNLOAD_CH0401}
rc_UNLOAD_CH0401=$?
wait ${pid_MATCHING_CM_0026_KIHON}
rc_MATCHING_CM_0026_KIHON=$?
wait ${pid_MATCHING_CM_0033}
rc_MATCHING_CM_0033=$?

#- エラー処理
if [ ${rc_UNLOAD_CH0401} -ne 0 ] || [ ${rc_MATCHING_CM_0026_KIHON} -ne 0 ] || [ ${rc_MATCHING_CM_0033} -ne 0 ]
then
    #- エラーメッセージ出力
    if [ ${rc_UNLOAD_CH0401} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD or BSORT error(pid_UNLOAD_CH0401:rc=${rc_UNLOAD_CH0401}) "
        echo $JOBNAME " UNLOAD or BSORT error(pid_UNLOAD_CH0401:rc=${rc_UNLOAD_CH0401}) "
    fi
    if [ ${rc_MATCHING_CM_0026_KIHON} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING or BSORT Error(pid_MATCHING_CM_0026_KIHON:rc=${rc_MATCHING_CM_0026_KIHON}) "
        echo $JOBNAME " MATCHING or BSORT Error(pid_MATCHING_CM_0026_KIHON:rc=${rc_MATCHING_CM_0026_KIHON}) "
    fi
    if [ ${rc_MATCHING_CM_0033} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING or BSORT Error(pid_MATCHING_CM_0033:rc=${rc_MATCHING_CM_0033}) "
        echo $JOBNAME " MATCHING or BSORT Error(pid_MATCHING_CM_0033:rc=${rc_MATCHING_CM_0033}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

(
    #-- 入力ファイル定義
    export ACIFM043004_SOUT=${CSVFILE_CM033_KIHON}
    export AC_T_SVKEI_CHIKUSEKI_KIHON=${CSVFILE_AC0461_SOUT_KIHON}
    export CH_M_PRC_KMK_CS_CHGE=${CSVFILE_CH0401_BSORT}
    #-- マッチング
    export ZTLOUTFILE=${CSVFILE_CM039}
    ${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0039}
) &
pid_MATCHING_CM_0039=$!


#-------------------------------------------------------------
#--- 4.2.サービス契約蓄積を料金項目抽出変換と一時金で絞込み(基本以外）
#      ${CSVFILE_CM040}
#-------------------------------------------------------------

##### [2.4.料金サービス管理とサービス契約蓄積のマッチング（基本以外）] の終了待ち受け

wait ${pid_MATCHING_CM_0026_KIGAI}
rc_MATCHING_CM_0026_KIGAI=$?

#- エラー処理
if [ ${rc_MATCHING_CM_0026_KIGAI} -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING or BSORT error(pid_MATCHING_CM_0026_KIGAI:rc=${rc_MATCHING_CM_0026_KIGAI}) "
    echo $JOBNAME " MATCHING or BSORT error(pid_MATCHING_CM_0026_KIGAI:rc=${rc_MATCHING_CM_0026_KIGAI}) "
    exit ${G_RTN_ERROR}
fi

(
    #-- 入力ファイル定義
    export AC_CM_0027=${CSVFILE_CM033_KIGAI}
    export AC_T_SVKEI_CHIKUSEKI_KIGAI=${CSVFILE_AC0461_SOUT_KIGAI}
    export CH_M_PRC_KMK_CS_CHGE=${CSVFILE_CH0401_BSORT}
    #-- マッチング
    export ZTLOUTFILE=${CSVFILE_CM040}
    ${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0040}
) &
pid_MATCHING_CM_0040=$!


#-------------------------------------------------------------
#--- 5.1.マッチング後のサービス契約蓄積と一時金情報の結合（基本＆読替）
#      ${CSVFILE_CM027_TEMP}
#-------------------------------------------------------------

##### [4.1.サービス契約蓄積を料金項目抽出変換と一時金で絞込み(基本＆読替）] の終了待ち受け

wait ${pid_MATCHING_CM_0039}
rc_MATCHING_CM_0039=$?

#- エラー処理
if [ ${rc_MATCHING_CM_0039} -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING error(pid_MATCHING_CM_0039:rc=${rc_MATCHING_CM_0039}) "
    echo $JOBNAME " MATCHING error(pid_MATCHING_CM_0039:rc=${rc_MATCHING_CM_0039}) "
    exit ${G_RTN_ERROR}
fi

(
    #-- 入力ファイル定義
    export ACIFM043004_SOUT=${CSVFILE_CM033_KIHON}
    export AC_T_SVKEI_CHIKUSEKI_KIHON=${CSVFILE_CM039}
    export CH_M_PRC_KMK_CS_CHGE=${CSVFILE_CH0401_BSORT}
    #-- マッチング
    export ZTLOUTFILE=${CSVFILE_CM027}
    ${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0027}

    #--- 結合後のファイルに基本以外分の項目を付与
    awk -F, '{printf "%s,%s,%s,%s,%s,%s,%s\n", $0,"","","","","",""}' ${CSVFILE_CM027} > ${CSVFILE_CM027_TEMP}
) &
pid_MATCHING_CM_0027=$!


#-------------------------------------------------------------
#--- 5.2.マッチング後のサービス契約蓄積と一時金情報の結合（基本以外）
#      ${CSVFILE_CM028_TEMP}
#-------------------------------------------------------------

##### [4.2.サービス契約蓄積を料金項目抽出変換と一時金で絞込み(基本以外）] の終了待ち受け

wait ${pid_MATCHING_CM_0040}
rc_MATCHING_CM_0040=$?

#- エラー処理
if [ ${rc_MATCHING_CM_0040} -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING error(pid_MATCHING_CM_0040:rc=${rc_MATCHING_CM_0040}) "
    echo $JOBNAME " MATCHING error(pid_MATCHING_CM_0040:rc=${rc_MATCHING_CM_0040}) "
    exit ${G_RTN_ERROR}
fi

(
    #-- 入力ファイル定義
    export AC_CM_0027=${CSVFILE_CM033_KIGAI}
    export AC_T_SVKEI_CHIKUSEKI_KIGAI=${CSVFILE_CM040}
    #-- マッチング
    export ZTLOUTFILE=${CSVFILE_CM028}
    ${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0028}

    #--- 結合後のファイルに基本分の項目を付与
    awk -F, '{printf "%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n",
     $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,"","","","","","","",$22,$23,$24,$25,$26,$27}' ${CSVFILE_CM028} > ${CSVFILE_CM028_TEMP}
) &
pid_MATCHING_CM_0028=$!

#-------------------------------------------------------------
#--- 6.1.一時金情報（基本＆読替）と一時金情報（基本以外）の結合
#      ${CSVFILE_CM033_ALL}
#-------------------------------------------------------------

##### [5.1.マッチング後のサービス契約蓄積と一時金情報の結合（基本＆読替）]
##### [5.2.マッチング後のサービス契約蓄積と一時金情報の結合（基本以外）] の終了待ち受け

wait ${pid_MATCHING_CM_0027}
rc_MATCHING_CM_0027=$?
wait ${pid_MATCHING_CM_0028}
rc_MATCHING_CM_0028=$?

#- エラー処理
if [ ${rc_MATCHING_CM_0027} -ne 0 ] || [ ${rc_MATCHING_CM_0028} -ne 0 ]
then
    #- エラーメッセージ出力
    if [ ${rc_MATCHING_CM_0027} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING or awk error(pid_MATCHING_CM_0027:rc=${rc_MATCHING_CM_0027}) "
        echo $JOBNAME " MATCHING or awk error(pid_MATCHING_CM_0027:rc=${rc_MATCHING_CM_0027}) "
    fi
    if [ ${rc_MATCHING_CM_0028} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING or awk Error(pid_MATCHING_CM_0028:rc=${rc_MATCHING_CM_0028}) "
        echo $JOBNAME " MATCHING or awk Error(pid_MATCHING_CM_0028:rc=${rc_MATCHING_CM_0028}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

(
cat ${CSVFILE_CM027_TEMP} ${CSVFILE_CM028_TEMP} > ${CSVFILE_CM033_ALL}
) &
pid_CAT_CM033_ALL=$!


#-------------------------------------------------------------
#--- 7.1.一時金と結合
#      ${CSVFILE_CM_0024}
#-------------------------------------------------------------

##### [2.1.サービス契約とお客様と料金グループのマッチング]
##### [6.1.一時金情報（基本＆読替）と一時金情報（基本以外）の結合] の終了待ち受け

wait ${pid_MATCHING_CM_0023}
rc_MATCHING_CM_0023=$?
wait ${pid_CAT_CM033_ALL}
rc_CAT_CM033_ALL=$?

#- エラー処理
if [ ${rc_MATCHING_CM_0023} -ne 0 ] || [ ${rc_CAT_CM033_ALL} -ne 0 ]
then
    #- エラーメッセージ出力
    if [ ${rc_MATCHING_CM_0023} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING error(pid_MATCHING_CM_0023:rc=${rc_MATCHING_CM_0023}) "
        echo $JOBNAME " MATCHING error(pid_MATCHING_CM_0023:rc=${rc_MATCHING_CM_0023}) "
    fi
    if [ ${rc_CAT_CM033_ALL} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " cat Error(pid_CAT_CM033_ALL:rc=${rc_CAT_CM033_ALL}) "
        echo $JOBNAME " cat Error(pid_CAT_CM033_ALL:rc=${rc_CAT_CM033_ALL}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

#-- 入力ファイル定義
export ACIFM043004_SOUT=${CSVFILE_CM033_ALL}
export CSVFILE_CM_0023_SOUT=${CSVFILE_CM_0023}
#-- マッチング
export ZTLOUTFILE=${CSVFILE_CM_0024}
${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0024}
rc_MATCHING_CM_0024=$?
if [ ${rc_MATCHING_CM_0024} -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING error(${CMDEFFILE_0024}:rc=${rc_MATCHING_CM_0024}) "
      echo $JOBNAME " MATCHING error(${CMDEFFILE_0024}:rc=${rc_MATCHING_CM_0024}) "
      exit ${G_RTN_ERROR}
fi

#OM-2014-0004038 ADD STA
#-- サービス契約番号の有無によりファイル分割
bsortex -copy \
        -record recform=txtcsv \
        -input reclen=340 file=${CSVFILE_CM_0024} \
        -output file=${CSVFILE_CM_0024_NASHI} case="5.20asc.lt.'0'" \
        -output file=${CSVFILE_CM_0024_ARI} case=other 

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

#-- 契約情報取得（サービス契約、お客様、料金グループと課金先をマッチング）
#-- 入力ファイル定義
export CSVFILE_CM_0023_SOUT=${CSVFILE_CM_0023}
export CSVFILE_KK0321_SOUT=${CSVFILE_KK0321_BSORT}
#-- マッチング
export ZTLOUTFILE=${CSVFILE_CM_0098}
${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0098}
rc_MATCHING_CM_0098=$?
if [ ${rc_MATCHING_CM_0098} -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING error(${CMDEFFILE_0098}:rc=${rc_MATCHING_CM_0098}) "
      echo $JOBNAME " MATCHING error(${CMDEFFILE_0098}:rc=${rc_MATCHING_CM_0098}) "
      exit ${G_RTN_ERROR}
fi

#-- 請求契約番号ごとに課金終了日が最大のレコードを取得（課金終了日未設定は除外）
bsortex \
      -sort key="6.10asca,2.8asca" \
      -record recform=txtcsv \
      -input reclen=100 \
             file=${CSVFILE_CM_0098} \
             include="2.8asc.gt.'0'" \
    |bsortex \
      -merge key="6.10asca" \
      -record recform=txtcsv \
      -input reclen=100 \
      -summary suppress last \
      -output file=${CSVFILE_CM_0098_BSORT} ;

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

#-- サービス契約番号無しのファイルについて契約情報付与（マッチング）
#-- 入力ファイル定義
export CSVFILE_CM_0024_SOUT=${CSVFILE_CM_0024_NASHI}
export CSVFILE_CM_0098_SOUT=${CSVFILE_CM_0098_BSORT}
#-- マッチング
export ZTLOUTFILE=${CSVFILE_CM_0099}
${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0099}
rc_MATCHING_CM_0099=$?
if [ ${rc_MATCHING_CM_0099} -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING error(${CMDEFFILE_0099}:rc=${rc_MATCHING_CM_0099}) "
      echo $JOBNAME " MATCHING error(${CMDEFFILE_0099}:rc=${rc_MATCHING_CM_0099}) "
      exit ${G_RTN_ERROR}
fi

#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD START
#-- サービス契約番号有りのファイルについて契約情報検索（マッチング）
export CSVFILE_CM_0024_ARI=${CSVFILE_CM_0024_ARI}
export CSVFILE_KK0321_BSORT=${CSVFILE_KK0321_BSORT}

#-- マッチング
export ZTLOUTFILE=${CSVFILE_CM_0117}
${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0117}
rc_MATCHING_CM_0117=$?

if [ ${rc_MATCHING_CM_0117} -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING error(${CMDEFFILE_0117}:rc=${rc_MATCHING_CM_0117}) "
      echo $JOBNAME " MATCHING error(${CMDEFFILE_0117}:rc=${rc_MATCHING_CM_0117}) "
      exit ${G_RTN_ERROR}
fi

#-- 課金先．サービス契約番号の有無によりファイル分割
#-- サービス契約番号があるレコードは、課金先の情報を削除
#-- サービス契約番号がないレコードは、課金先の情報と一時金情報のサービス契約番号を削除

# v57.00.00 ANK-4075-00-00 MOD START
#bsortex -copy \
#        -record recform=txtcsv \
#         -input reclen=414 file=${CSVFILE_CM_0117} \
#        -output file=${CSVFILE_CM_0024_KAKIN_NASHI} \
#          case="41.20asc.lt.'0'" \
#          reconst=0.20,1.2,2.10,3.6,4.1,5.10,6.2,7.3,8.12,9.11,10.3,11.12,12.11,13.8,14.12,15.1,16.1,17.12,18.12,19.30,20.1,21.10,22.2,23.3,24.12,25.8,26.8,27.1,28.10,29.2,30.3,31.8,32.8,33.1,EMPTY,EMPTY,EMPTY,EMPTY,EMPTY,EMPTY \
#        -output file=${CSVFILE_CM_0024_KAKIN_ARI}\
#          case=other \
#          reconst=0.20,1.2,2.10,3.6,4.1,5.10,6.2,7.3,8.12,9.11,10.3,11.12,12.11,13.8,14.12,15.1,16.1,17.12,18.12,19.30,20.1,21.10,22.2,23.3,24.12,25.8,26.8,27.1,28.10,29.2,30.3,31.8,32.8,33.1,34.10,35.3,36.8,37.8,38.1,39.4
bsortex -copy \
        -record recform=txtcsv \
         -input reclen=416 file=${CSVFILE_CM_0117} \
        -output file=${CSVFILE_CM_0024_KAKIN_NASHI} \
          case="41.20asc.lt.'0'" \
          reconst=0.20,1.2,2.10,3.6,4.1,5.10,6.2,7.3,8.12,9.11,10.3,11.12,12.11,13.8,14.12,15.1,16.1,17.12,18.12,19.30,20.1,21.10,22.2,23.3,24.12,25.8,26.8,27.1,28.10,29.2,30.3,31.8,32.8,33.1,EMPTY,EMPTY,EMPTY,EMPTY,EMPTY,EMPTY,44.1 \
        -output file=${CSVFILE_CM_0024_KAKIN_ARI}\
          case=other \
          reconst=0.20,1.2,2.10,3.6,4.1,5.10,6.2,7.3,8.12,9.11,10.3,11.12,12.11,13.8,14.12,15.1,16.1,17.12,18.12,19.30,20.1,21.10,22.2,23.3,24.12,25.8,26.8,27.1,28.10,29.2,30.3,31.8,32.8,33.1,34.10,35.3,36.8,37.8,38.1,39.4,44.1
# v57.00.00 ANK-4075-00-00 MOD END

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

#-- 課金先．サービス契約番号の有無で分割したファイルを結合
cat ${CSVFILE_CM_0024_KAKIN_ARI} ${CSVFILE_CM_0024_KAKIN_NASHI} > ${CSVFILE_CM_0024_KAKIN_MARGE}

rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " cat error(cat:rc=$rc) "
      echo $JOBNAME " cat error(cat:rc=$rc) "
      exit ${G_RTN_ERROR}
fi
#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD END


#-- 分割後ファイルをマージ
#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 DEL START
#cat ${CSVFILE_CM_0024_ARI} ${CSVFILE_CM_0099} > ${CSVFILE_CM_0024}
#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 DEL END

#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD START
cat ${CSVFILE_CM_0024_KAKIN_MARGE} ${CSVFILE_CM_0099} > ${CSVFILE_CM_0024}
#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD END

rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " cat error(cat:rc=$rc) "
      echo $JOBNAME " cat error(cat:rc=$rc) "
      exit ${G_RTN_ERROR}
fi
#OM-2014-0004038 ADD END
#v16.00.00 2015/07/24 Add Start
#-------------------------------------------------------------
#---欠落した利用開始年月日と利用終了年月日を取得するため、元ファイルとマッチング
#-------------------------------------------------------------
CMDEFFILE_0104=${MATCHING_DIR}/AC_CM_0104.def
export CSVFILE_CM_0024_MATCH=${CSVFILE_CM_0024}
export CSVFILE_FILE_IN_JOB=${CSVFFILE_ACIFM043004_TR}


#-- マッチング
#-- 出力ファイルの設定
export ZTLOUTFILE=${CSVFILE_CM_0024}

${G_TOOLSH}/util/bin/ZTLMAT01 ${CMDEFFILE_0104}
rc_MATCHING_CM_0104=$?
if [ ${rc_MATCHING_CM_0104} -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " MATCHING error(${CMDEFFILE_0104}:rc=${rc_MATCHING_CM_0104}) "
      echo $JOBNAME " MATCHING error(${CMDEFFILE_0104}:rc=${rc_MATCHING_CM_0104}) "
      exit ${G_RTN_ERROR}
fi
#v16.00.00 2015/07/24 Add End


#-- 一時金登録番号（昇順）、一時金登録枝番（昇順）、請求契約番号（昇順）、サービス番号（昇順）、
# 課金開始年月日（昇順）、課金終了年月日（昇順）、基本以外課金開始年月日（昇順）、基本以外課金終了年月日（昇順）でソート
# v57.00.00 ANK-4075-00-00 MOD START
#BSORT 340 0.20asca,1.2asca,2.10asca,5.20asca,25.8asca,26.8asca,31.8asca,32.8asca ${OUTFILE} ${CSVFILE_CM_0024}
BSORT 350 0.20asca,1.2asca,2.10asca,5.20asca,25.8asca,26.8asca,31.8asca,32.8asca ${OUTFILE} ${CSVFILE_CM_0024}
# v57.00.00 ANK-4075-00-00 MOD END

rc_BSORT_CM_0024=$?
if [ ${rc_BSORT_CM_0024} -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " BSORT error(${CSVFILE_CM_0024}:rc=${rc_BSORT_CM_0024}) "
      echo $JOBNAME " BSORT error(${CSVFILE_CM_0024}:rc=${rc_BSORT_CM_0024}) "
      exit ${G_RTN_ERROR}
fi

#-------------------------------------------------------------
#--- END.ワークファイル削除
#-------------------------------------------------------------
if [ ${WK_RM} = "true" ]
then
    echo "ワークファイル削除"
    rm -f ${FILE_WRK1}
    rm -f ${CSVFILE_CH0501}
# OM-2015-0003006 性能改善対応 2015/11/18 有本 DEL START
#    rm -f ${CSVFILE_CH0401_UNLOAD}
# OM-2015-0003006 性能改善対応 2015/11/18 有本 DEL END
    rm -f ${CSVFILE_CH0401_BSORT}
    rm -f ${CSVFILE_AC0461_SOUT}
    rm -f ${CSVFILE_AC0461_SOUT_KIHON}
    rm -f ${CSVFILE_AC0461_SOUT_KIGAI}
    rm -f ${CSVFILE_AC0181}
    rm -f ${CSVFILE_AC0181_KIHON}
    rm -f ${CSVFILE_AC0181_KIGAI}
    rm -f ${CSVFILE_AC0181_ALL}
    rm -f ${CSVFILE_CM_0026_KIHON}
    rm -f ${CSVFILE_CM_0026_KIGAI}
    rm -f ${CSVFILE_CM033_KIHON}
    rm -f ${CSVFILE_CM033_KIGAI}
    rm -f ${CSVFILE_CM033_ALL}
    rm -f ${CSVFFILE_ACIFM043004_TR}
    rm -f ${CSVFFILE_ACIFM043004_TR_KBN}
    rm -f ${CSVFILE_KK0491}
# ANK-3388-00-00 性能改善対応　2018/3/12 大山 DEL START
#    rm -f ${CSVFILE_KK0321}
# ANK-3388-00-00 性能改善対応　2018/3/12 大山 DEL END
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL START
#    rm -f ${CSVFILE_KK0081}
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL END
    rm -f ${CSVFILE_KK0081_SOUT}
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL START
#    rm -f ${CSVFILE_CK0011}
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL END
    rm -f ${CSVFILE_CK0011_SOUT}
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL START
#    rm -f ${CSVFILE_KK0781}
# OM-2016-0000114 共通UNLOAD対応 2015/12/07 有本 DEL END
    rm -f ${CSVFILE_KK0781_SOUT}
    rm -f ${CSVFILE_CM_0023}
    rm -f ${CSVFILE_CM_0024}
    rm -f ${CSVFILE_CM027}
    rm -f ${CSVFILE_CM027_TEMP}
    rm -f ${CSVFILE_CM028}
    rm -f ${CSVFILE_CM028_TEMP}
    rm -f ${CSVFILE_CM039}
    rm -f ${CSVFILE_CM040}
#OM-2014-0004038 ADD STA
# ANK-3388-00-00 性能改善対応　2018/3/12 大山 DEL START
#    rm -f ${CSVFILE_KK0321}
# ANK-3388-00-00 性能改善対応　2018/3/12 大山 DEL END
    rm -f ${CSVFILE_KK0321_BSORT}
    rm -f ${CSVFILE_CM_0098}
    rm -f ${CSVFILE_CM_0098_BSORT}
    rm -f ${CSVFILE_CM_0099}
    rm -f ${CSVFILE_CM_0024_ARI}
    rm -f ${CSVFILE_CM_0024_NASHI}
#OM-2014-0004038 ADD END
#ANK-2480-00-00 ADD START
    rm -f ${CSVFILE_CM_0024_MATCH}
    rm -f ${CSVFILE_FILE_IN_JOB}
#ANK-2480-00-00 ADD END
#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD START
    rm -f ${CSVFILE_CM_0117}
    rm -f ${CSVFILE_CM_0024_KAKIN_ARI}
    rm -f ${CSVFILE_CM_0024_KAKIN_NASHI}
    rm -f ${CSVFILE_CM_0024_KAKIN_MARGE}
#ANK-3023-00-00 料金計算時間短縮検討 2017/01/10 貝本 ADD END
fi
