#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：マンション割引サービス契約情報設定
#
# 機能          ：マンション営業支援システムのレプリカ情報から、マンションと割引の紐付け情報を全件抽出しマンション違約金対象となるマスタ情報(マンション違約金マスタ)を設定(再設定)する。
#また、再計算向けに設定対象となった提供方式契約番号をファイル出力する。
#
# コマンド形式  ：EO3010920J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.00.00		  2013/03/18  FJ)早崎	  【IT1-2013-0000377】マンション違約金対応 新規作成
# v4.01.01        2013/04/08  FJ) 狭間    【ST4-2013-0000286】性能改善の為、アンロード並列化及び処理見直しと水平展開
# v5.00.00        2013/07/10  FJ) 後藤    【TG1-2013-0000662】マスタ参照基準日対応
# v5.01.00        2013/08/26  伊藤        【OM-2013-0000873】主キー重複レコードが出力される障害の対応
# v5.01.01        2013/08/30  FJ) 狭間    【OM-2013-0001271】残留ワークファイルを削除するよう修正
# v5.02.00        2013/09/11  FJ) 後藤    【OM-2013-0001921】OM-2013-0000873デグレ対応 重複レコード削除条件修正
# v6.00.00        2014/01/28  FJ) 狭間    【OM-2014-0000271】サービス契約の履歴で料金コースコードを絞り込むよう修正
# v8.00.00        2014/03/26  FJ) 狭間    【OM-2014-0001052】マンション相対料金設定適用期間制御改善（追加修正）
# v9.00.00        2014/07/09  FJ) 鈴木    【OM-2014-0002312】提供方式契約料金の更新運用年月日には、運用日-1を指定して検索するように修正
# v14.00.00       2015/05/19  FJ) 有本    【OM-2015-0001266】性能改善対応
# v14.00.00       2015/05/26  FJ) 有本    【OM-2015-0001265】バックグラウンド実行削除 性能改善対応とマージ
# v14.00.00       2015/06/10  FJ) 土井    【OM-2015-0001265】バックグラウンド実行削除 性能改善対応とマージ
# v14.01.00       2015/06/17  FJ) 宇野    【OM-2015-0001266】中間ファイル名変更
# v19.00.00       2015/10/08  FJ) 有本    【OM-2015-0002578】共通ＵＮＬＯＡＤ項目削除対応
# v45.00.00       2019/08/19  FJ) 星野    【ANK-3636-00-00】
# v59.00.00       2022/04/26  FJ) 中原    【ANK-4248-00-00】消費者保護ガイドライン改正対応
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#

#---運用日付取得
if [ "${OPD}" = "" ]; then
   . EOK010310J0.sh "BDATE"
else
   RSLT_OPEDATE="${OPD}"
fi

# 2014.07.09 OM-2014-0002312 add start
# "運用日"をいったん退避
OPDATE=${RSLT_OPEDATE}

# 運用日付の前日取得
. EOK010310J0.sh BDATE DEC 0 0 1
MAEDATE=${RSLT_OPEDATE}

# RSLT_OPEDATE には"運用日"を設定しなおす。
RSLT_OPEDATE=${OPDATE}

# 2014.07.09 OM-2014-0002312 add end

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

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

##############################################################
# バインド
##############################################################
#
#--- SQL
#

#イベントコード（料金計算日）
EVENT_CD="'03'"

#イベントコード（利用終了日）
EVENT_CD_END="'02'"

#バッチ運用日
OPEDATE="'${RSLT_OPEDATE}'"

#- 請求年月取得
. EO3SEIKYYM.sh ${EVENT_CD} ${OPEDATE} ${JOBNAME}
SEIKY_YM="'${SEIKY_YM}'"

# 業務パラメータID（マンション料金識別コード_初期費用）
WORK_PARAM="'MANS_SHKH_PRCCD'"



# 料金スケジュール定義
# 
CH_M_PRC_SCHDL_TEIGI_ULD=${SQL_DIR}/AC_U_CH0501_01.sql
CH_M_PRC_SCHDL_TEIGI_ULD_WK=${SQL_DIR}/AC_U_CH0501_01_TEMP_${JOBNAME}.sql
CH_M_PRC_SCHDL_TEIGI_ULD_1_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_CH0501_01.csv

# 業務パラメータ管理
ZM_M_WORK_PARAM_KNRI_ULD=${SQL_DIR}/AC_U_ZM0321_01.sql
ZM_M_WORK_PARAM_KNRI_ULD_WK=${SQL_DIR}/AC_U_ZM0321_01_TEMP_${JOBNAME}.sql
ZM_M_WORK_PARAM_KNRI_ULD_1_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_ZM0321_01.csv
ZM_M_WORK_PARAM_KNRI_ULD_2_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_ZM0321_02.csv

# 一時支払料金
KK_M_TMP_PAY_PRC_ULD=${SQL_DIR}/AC_U_KK0721_01.sql
KK_M_TMP_PAY_PRC_ULD_1_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0721_01.csv
KK_M_TMP_PAY_PRC_ULD_1_FILE_WK=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0721_01_WK.csv

# 割引サービス単価
KK_M_WRIB_SVC_TANKA_ULD=${SQL_DIR}/AC_U_KK0711_01.sql
KK_M_WRIB_SVC_TANKA_ULD_1_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0711_01.csv
KK_M_WRIB_SVC_TANKA_ULD_1_FILE_WK=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0711_01_WK.csv

# 割引料金
AC_M_WRIB_PRC_ULD=${SQL_DIR}/AC_U_AC0251_01.sql
AC_M_WRIB_PRC_ULD_1_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0251_01.csv
AC_M_WRIB_PRC_ULD_1_FILE_WK=${MID_DIR_AC}/${JOBNAME}_AC_U_AC0251_01_WK.csv

# 提供方式契約料金
KK_T_TK_HSK_KEI_PRC_ULD=${SQL_DIR}/AC_U_KK1921_01.sql
KK_T_TK_HSK_KEI_PRC_ULD_1_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK1921_01.csv
KK_T_TK_HSK_KEI_PRC_ULD_1_FILE_WK=${MID_DIR_AC}/${JOBNAME}_AC_U_KK1921_01_WK.csv
KK_T_TK_HSK_KEI_PRC_ULD_2_FILE_WK=${MID_DIR_AC}/${JOBNAME}_AC_U_KK1921_02_WK.csv


# マンション割引サービス契約
KK_T_MANS_WRIBSVK_ULD=${SQL_DIR}/AC_U_KK0951_01.sql
KK_T_MANS_WRIBSVK_ULD_1_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0951_01.csv
KK_T_MANS_WRIBSVK_ULD_1_FILE_WK=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0951_01_WK.csv
KK_T_MANS_WRIBSVK_ULD_2_FILE_WK=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0951_02_WK.csv

# 割引サービス
KK_M_WRIB_SVC_ULD=${SQL_DIR}/AC_U_KK0841_01.sql
KK_M_WRIB_SVC_ULD_1_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0841_01.csv
KK_M_WRIB_SVC_ULD_1_FILE_WK=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0841_01_WK.csv

# 提供方式契約番号 (マンション割引サービス契約 UNION 提供方式契約料金)
UNION_ALL_FILE=${MID_DIR_AC}/${JOBNAME}_UNION_ALL_WK.csv

# サービス契約
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL START
#KK_T_SVC_KEI_ULD=${SQL_DIR}/AC_U_KK0081_17.sql
#KK_T_SVC_KEI_ULD_WK=${SQL_DIR}/AC_U_KK0081_17_TEMP_${JOBNAME}.sql
#KK_T_SVC_KEI_ULD_1_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0081_17.csv
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL END
KK_T_SVC_KEI_ULD_1_FILE_WK=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0081_17_WK.csv

### OM-2015-0001266 性能改善対応 2015/05/19 有本 ADD START
#---共通アンロードファイル名。
#--サービス契約
### OM-2015-0001266 2015/06/17 宇野 MOD START
#COMULD_KK0081_ALL=${MID_DIR_CC}/CCIFM002001.csv
COMULD_KK0081_ALL=${MID_DIR_CC}/CCIFM018001.csv
### OM-2015-0001266 2015/06/17 宇野 MOD END
### OM-2015-0001266 性能改善対応 2015/05/19 有本 ADD END

AC_CM_0020=${MID_DIR_AC}/ACIFM213001.csv
AC_CM_0020_WRK=${MID_DIR_AC}/${JOBNAME}_ACIFM213001_WK.csv
AC_CM_0020_WRK2=${MID_DIR_AC}/${JOBNAME}_ACIFM213001_WK2.csv
AC_CM_0020_WRK3=${MID_DIR_AC}/${JOBNAME}_ACIFM213001_WK3.csv
# ANK-3636-00-00対応 20190819 星野 ADD START
AC_CM_0020_WRK4=${MID_DIR_AC}/${JOBNAME}_ACIFM213001_WK4.csv
# ANK-3636-00-00対応 20190819 星野 ADD END

# matching def
AC_CM_0020_DEF=${G_TOOLSH}/util/def/AC_CM_0020.def
AC_CM_0020_DEF_WK_01=${G_TOOLSH}/util/def/AC_CM_0020_TEMP_01_${JOBNAME}.def


# 料金スケジュール定義SQLのバインド部分を指定した値で置換
cp  -f ${CH_M_PRC_SCHDL_TEIGI_ULD} ${CH_M_PRC_SCHDL_TEIGI_ULD_WK}
sed -i -e "s%:SEIKY_YM%${SEIKY_YM}%"                 ${CH_M_PRC_SCHDL_TEIGI_ULD_WK}
sed -i -e "s%:EVENT_CD%${EVENT_CD_END}%"             ${CH_M_PRC_SCHDL_TEIGI_ULD_WK}


# 業務パラメータ
cp  -f ${ZM_M_WORK_PARAM_KNRI_ULD} ${ZM_M_WORK_PARAM_KNRI_ULD_WK}
sed -i -e "s%:WORK_PARAM%${WORK_PARAM}%"            ${ZM_M_WORK_PARAM_KNRI_ULD_WK}
sed -i -e "s%:OPE_DATE%${OPEDATE}%"                 ${ZM_M_WORK_PARAM_KNRI_ULD_WK}
sed -i -e "s%:OPE_DATE%${OPEDATE}%"                 ${ZM_M_WORK_PARAM_KNRI_ULD_WK}


# サービス契約SQLのバインド部分を指定した値で置換
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL START
#cp  -f ${KK_T_SVC_KEI_ULD}                          ${KK_T_SVC_KEI_ULD_WK}
#sed -i -e "s%:OPEDATE%${OPEDATE}%"                  ${KK_T_SVC_KEI_ULD_WK}
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL END

#############################################################
# UNLOAD
##############################################################
UNLOAD(){

#unload
# $1:実行するSQL  $2:SQL実行結果を出力するファイル
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

}


#UNLOAD
# スケジュール定義SQL実行結果を格納
UNLOAD ${CH_M_PRC_SCHDL_TEIGI_ULD_WK} ${CH_M_PRC_SCHDL_TEIGI_ULD_1_FILE}

# 環境変数に挿入
# 上記SQL結果より値(利用終了日)を変数に格納
eval YMD=`cat ${CH_M_PRC_SCHDL_TEIGI_ULD_1_FILE}`


# 業務パラメータ管理SQL実行結果を格納
UNLOAD ${ZM_M_WORK_PARAM_KNRI_ULD_WK} ${ZM_M_WORK_PARAM_KNRI_ULD_1_FILE}
#ANK-4248-00-00 ADD START
# 後続処理実行判定
# 業務パラメータ管理SQL実行結果において、マンション料金識別コードが取得できなかった場合は
# 以降の処理をスキップする。（6月料金計算翌日以降は処理スキップ）後続処理のため、空ファイルは作成
if [ ! -s ${ZM_M_WORK_PARAM_KNRI_ULD_1_FILE} ]
then
    rm -f ${MID_DIR_AC}/ACIFM051008.csv
    touch ${MID_DIR_AC}/ACIFM051008.csv
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    echo $JOBNAME "MANS_SHKH_PRCCD NO DATA SKIP MODE"
    exit ${G_RTN_NORMAL}
fi
#ANK-4248-00-00 ADD END

# カンマ区切りの業務パラメータ設定値抽出
cp  -f ${ZM_M_WORK_PARAM_KNRI_ULD_1_FILE} ${ZM_M_WORK_PARAM_KNRI_ULD_2_FILE}
sed -i -e "s/,/\n/g"    ${ZM_M_WORK_PARAM_KNRI_ULD_2_FILE}


# 一時支払料金SQL実行結果を格納
# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${KK_M_TMP_PAY_PRC_ULD} ${KK_M_TMP_PAY_PRC_ULD_1_FILE} &
#pid_UNLOAD_KK_M_TMP_PAY_PRC=$!
UNLOAD ${KK_M_TMP_PAY_PRC_ULD} ${KK_M_TMP_PAY_PRC_ULD_1_FILE}
rc_UNLOAD_KK_M_TMP_PAY_PRC=$?
# OM-2015-0001265 2015/05/26 有本 MOD END

# 割引料金SQL実行結果を格納
# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${AC_M_WRIB_PRC_ULD} ${AC_M_WRIB_PRC_ULD_1_FILE} &
#pid_UNLOAD_AC_M_WRIB_PRC=$!
UNLOAD ${AC_M_WRIB_PRC_ULD} ${AC_M_WRIB_PRC_ULD_1_FILE}
rc_UNLOAD_AC_M_WRIB_PRC=$?
# OM-2015-0001265 2015/05/26 有本 MOD END

# 割引サービス単価SQL実行結果を格納 
# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${KK_M_WRIB_SVC_TANKA_ULD} ${KK_M_WRIB_SVC_TANKA_ULD_1_FILE} &
#pid_UNLOAD_KK_M_WRIB_SVC_TANKA=$!
UNLOAD ${KK_M_WRIB_SVC_TANKA_ULD} ${KK_M_WRIB_SVC_TANKA_ULD_1_FILE}
rc_UNLOAD_KK_M_WRIB_SVC_TANKA=$?
# OM-2015-0001265 2015/05/26 有本 MOD END

# 提供方式契約料金SQL実行結果を格納
# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${KK_T_TK_HSK_KEI_PRC_ULD} ${KK_T_TK_HSK_KEI_PRC_ULD_1_FILE} &
#pid_UNLOAD_KK_T_TK_HSK_KEI_PRC=$!
UNLOAD ${KK_T_TK_HSK_KEI_PRC_ULD} ${KK_T_TK_HSK_KEI_PRC_ULD_1_FILE}
rc_UNLOAD_KK_T_TK_HSK_KEI_PRC=$?
# OM-2015-0001265 2015/05/26 有本 MOD END

# マンション割引サービス契約SQL実行結果を格納
# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${KK_T_MANS_WRIBSVK_ULD} ${KK_T_MANS_WRIBSVK_ULD_1_FILE} &
#pid_UNLOAD_KK_T_MANS_WRIBSVK=$!
UNLOAD ${KK_T_MANS_WRIBSVK_ULD} ${KK_T_MANS_WRIBSVK_ULD_1_FILE}
rc_UNLOAD_KK_T_MANS_WRIBSVK=$?
# OM-2015-0001265 2015/05/26 有本 MOD END

# 割引サービスSQL実行結果を格納
# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${KK_M_WRIB_SVC_ULD} ${KK_M_WRIB_SVC_ULD_1_FILE} &
#pid_UNLOAD_KK_M_WRIB_SVC=$!
UNLOAD ${KK_M_WRIB_SVC_ULD} ${KK_M_WRIB_SVC_ULD_1_FILE}
rc_UNLOAD_KK_M_WRIB_SVC=$?
# OM-2015-0001265 2015/05/26 有本 MOD END

# サービス契約SQL実行結果を格納
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL START
#UNLOAD ${KK_T_SVC_KEI_ULD_WK} ${KK_T_SVC_KEI_ULD_1_FILE} &
#pid_UNLOAD_KK_T_SVC_KEI=$!
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL END

# すべての抽出が終了するのを待つ
### OM-2015-0001266 性能改善対応 2015/06/10 土井 DEL START
#wait ${pid_UNLOAD_KK_M_TMP_PAY_PRC}
#rc_UNLOAD_KK_M_TMP_PAY_PRC=$?

#wait ${pid_UNLOAD_AC_M_WRIB_PRC}
#rc_UNLOAD_AC_M_WRIB_PRC=$?

#wait ${pid_UNLOAD_KK_M_WRIB_SVC_TANKA}
#rc_UNLOAD_KK_M_WRIB_SVC_TANKA=$?

#wait ${pid_UNLOAD_KK_T_TK_HSK_KEI_PRC}
#rc_UNLOAD_KK_T_TK_HSK_KEI_PRC=$?

#wait ${pid_UNLOAD_KK_T_MANS_WRIBSVK}
#rc_UNLOAD_KK_T_MANS_WRIBSVK=$?

#wait ${pid_UNLOAD_KK_M_WRIB_SVC}
#rc_UNLOAD_KK_M_WRIB_SVC=$?
### OM-2015-0001266 性能改善対応 2015/06/10 土井 DEL END

### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL START
#wait ${pid_UNLOAD_KK_T_SVC_KEI}
#rc_UNLOAD_KK_T_SVC_KEI=$?
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL END

#- エラー処理
### OM-2015-0001266 性能改善対応 2015/05/19 有本 MOD START
#if [ ${rc_UNLOAD_KK_M_TMP_PAY_PRC} -ne 0 ] || [ ${rc_UNLOAD_AC_M_WRIB_PRC} -ne 0 ] || [ ${rc_UNLOAD_KK_M_WRIB_SVC_TANKA} -ne 0 ] \
#|| [ ${rc_UNLOAD_KK_T_TK_HSK_KEI_PRC} -ne 0 ] || [ ${rc_UNLOAD_KK_T_MANS_WRIBSVK} -ne 0 ] || [ ${rc_UNLOAD_KK_M_WRIB_SVC} -ne 0 ] \
#|| [ ${rc_UNLOAD_KK_T_SVC_KEI} -ne 0 ]
if [ ${rc_UNLOAD_KK_M_TMP_PAY_PRC} -ne 0 ] || [ ${rc_UNLOAD_AC_M_WRIB_PRC} -ne 0 ] || [ ${rc_UNLOAD_KK_M_WRIB_SVC_TANKA} -ne 0 ] \
|| [ ${rc_UNLOAD_KK_T_TK_HSK_KEI_PRC} -ne 0 ] || [ ${rc_UNLOAD_KK_T_MANS_WRIBSVK} -ne 0 ] || [ ${rc_UNLOAD_KK_M_WRIB_SVC} -ne 0 ]
### OM-2015-0001266 性能改善対応 2015/05/19 有本 MOD END
then
    #- エラーメッセージ出力
    if [ ${rc_UNLOAD_KK_M_TMP_PAY_PRC} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_KK_M_TMP_PAY_PRC:rc=${rc_UNLOAD_KK_M_TMP_PAY_PRC}) "
        echo $JOBNAME "UNLOAD ERROR(UNLOAD_KK_M_TMP_PAY_PRC:rc=${rc_UNLOAD_KK_M_TMP_PAY_PRC}) "
    fi
    if [ ${rc_UNLOAD_AC_M_WRIB_PRC} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_AC_M_WRIB_PRC:rc=${rc_UNLOAD_AC_M_WRIB_PRC}) "
        echo $JOBNAME "UNLOAD ERROR(UNLOAD_AC_M_WRIB_PRC:rc=${rc_UNLOAD_AC_M_WRIB_PRC}) "
    fi
    if [ ${rc_UNLOAD_KK_M_WRIB_SVC_TANKA} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_KK_M_WRIB_SVC_TANKA:rc=${rc_UNLOAD_KK_M_WRIB_SVC_TANKA}) "
        echo $JOBNAME "UNLOAD ERROR(UNLOAD_KK_M_WRIB_SVC_TANKA:rc=${rc_UNLOAD_KK_M_WRIB_SVC_TANKA}) "
    fi
    if [ ${rc_UNLOAD_KK_T_TK_HSK_KEI_PRC} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_KK_T_TK_HSK_KEI_PRC:rc=${rc_UNLOAD_KK_T_TK_HSK_KEI_PRC}) "
        echo $JOBNAME "UNLOAD ERROR(UNLOAD_KK_T_TK_HSK_KEI_PRC:rc=${rc_UNLOAD_KK_T_TK_HSK_KEI_PRC}) "
    fi
    if [ ${rc_UNLOAD_KK_T_MANS_WRIBSVK} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_KK_T_MANS_WRIBSVK:rc=${rc_UNLOAD_KK_T_MANS_WRIBSVK}) "
        echo $JOBNAME "UNLOAD ERROR(UNLOAD_KK_T_MANS_WRIBSVK:rc=${rc_UNLOAD_KK_T_MANS_WRIBSVK}) "
    fi
    if [ ${rc_UNLOAD_KK_M_WRIB_SVC} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_KK_M_WRIB_SVC:rc=${rc_UNLOAD_KK_M_WRIB_SVC}) "
        echo $JOBNAME "UNLOAD ERROR(UNLOAD_KK_M_WRIB_SVC:rc=${rc_UNLOAD_KK_M_WRIB_SVC}) "
    fi
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL START
#    if [ ${rc_UNLOAD_KK_T_SVC_KEI} -ne 0 ]
#    then
#        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(UNLOAD_KK_T_SVC_KEI:rc=${rc_UNLOAD_KK_T_SVC_KEI}) "
#        echo $JOBNAME "UNLOAD ERROR(UNLOAD_KK_T_SVC_KEI:rc=${rc_UNLOAD_KK_T_SVC_KEI}) "
#    fi
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL END
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

# 一時支払料金
(bsortex \
    -copy -record recform=txtcsv \
    -input reclen=100 file=${KK_M_TMP_PAY_PRC_ULD_1_FILE} \
	-output include="1.8asc.le.'$YMD'.and.2.8asc.ge.'$YMD'" file=${KK_M_TMP_PAY_PRC_ULD_1_FILE_WK})
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_KK_M_TMP_PAY_PRC:rc=$rc) "
      echo $JOBNAME " sort error(sort_KK_M_TMP_PAY_PRC:rc=$rc) "
      exit ${G_RTN_ERROR}
fi


# 割引料金
(bsortex \
	-copy -record recform=txtcsv \
    -input reclen=100 file=${AC_M_WRIB_PRC_ULD_1_FILE} \
	-output include="7.8asc.le.'${YMD}'.and.8.8asc.ge.'${YMD}'" file=${AC_M_WRIB_PRC_ULD_1_FILE_WK})
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_AC_M_WRIB_PRC:rc=$rc) "
      echo $JOBNAME " sort error(sort_AC_M_WRIB_PRC:rc=$rc) "
      exit ${G_RTN_ERROR}
fi


# 割引サービス単価
(bsortex \
    -copy -record recform=txtcsv \
    -input reclen=100 file=${KK_M_WRIB_SVC_TANKA_ULD_1_FILE} \
	-output include="4.8asc.le.'$YMD'.and.5.8asc.ge.'$YMD'" file=${KK_M_WRIB_SVC_TANKA_ULD_1_FILE_WK})
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_KK_M_WRIB_SVC_TANKA:rc=$rc) "
      echo $JOBNAME " sort error(sort_KK_M_WRIB_SVC_TANKA:rc=$rc) "
      exit ${G_RTN_ERROR}
fi


# 提供方式契約料金
(bsortex \
    -copy -record recform=txtcsv \
    -input reclen=100 file=${KK_T_TK_HSK_KEI_PRC_ULD_1_FILE} \
    -output file=${KK_T_TK_HSK_KEI_PRC_ULD_1_FILE_WK})
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_KK_T_TK_HSK_KEI_PRC:rc=$rc) "
      echo $JOBNAME " sort error(sort_KK_T_TK_HSK_KEI_PRC:rc=$rc) "
      exit ${G_RTN_ERROR}
fi


# 提供方式契約番号 UNION マンション割引サービス契約
### 2014.07.09 OM-2014-0002312 mod start
#
# 更新運用年月日には、運用日-1を指定して検索するように修正
#
#(bsortex \
#    -copy -record recform=txtcsv \
#    -input reclen=100 file=${KK_T_MANS_WRIBSVK_ULD_1_FILE} \
#	-output include="2.8asc.ge.'${RSLT_OPEDATE}'" file=${KK_T_MANS_WRIBSVK_ULD_1_FILE_WK} \
#	reconst=0.12)
(bsortex \
    -copy -record recform=txtcsv \
    -input reclen=100 file=${KK_T_MANS_WRIBSVK_ULD_1_FILE} \
	-output include="2.8asc.ge.'${MAEDATE}'" file=${KK_T_MANS_WRIBSVK_ULD_1_FILE_WK} \
	reconst=0.12)
### 2014.07.09 OM-2014-0002312 mod end
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_UNION:rc=$rc) "
      echo $JOBNAME " sort error(sort_UNION1:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

# 2013/08/26 後続処理のために提供方式契約番号とマンションキャンペーンコードを抽出し、重複削除をかけたファイルも出力する
bsort -s -u -z200 -Tflt -t, -e 0.12 -e 1.8 -o ${KK_T_MANS_WRIBSVK_ULD_2_FILE_WK} ${KK_T_MANS_WRIBSVK_ULD_1_FILE}
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " suppress error(sort_UNION:rc=$rc) "
      echo $JOBNAME " sort error(sort_UNION1:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

### 2014.07.09 OM-2014-0002312 mod start
#
# 更新運用年月日には、運用日-1を指定して検索するように修正
#
#(bsortex \
#    -copy -record recform=txtcsv \
#    -input reclen=200 file=${KK_T_TK_HSK_KEI_PRC_ULD_1_FILE} \
#	-output include="7.8asc.ge.'${RSLT_OPEDATE}'" file=${KK_T_TK_HSK_KEI_PRC_ULD_2_FILE_WK}\
#	reconst=0.12)
(bsortex \
    -copy -record recform=txtcsv \
    -input reclen=200 file=${KK_T_TK_HSK_KEI_PRC_ULD_1_FILE} \
	-output include="7.8asc.ge.'${MAEDATE}'" file=${KK_T_TK_HSK_KEI_PRC_ULD_2_FILE_WK}\
	reconst=0.12)
### 2014.07.09 OM-2014-0002312 mod end
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_UNION:rc=$rc) "
      echo $JOBNAME " sort error(sort_UNION2:rc=$rc) "
      exit ${G_RTN_ERROR}
fi


(bsort -su -z200 -Tflt -0.12asca  \
 -o ${UNION_ALL_FILE} \
 ${KK_T_MANS_WRIBSVK_ULD_1_FILE_WK} \
 ${KK_T_TK_HSK_KEI_PRC_ULD_2_FILE_WK}
 )
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_UNION:rc=$rc) "
      echo $JOBNAME " sort error(sort_UNIONALL:rc=$rc) "
      exit ${G_RTN_ERROR}
fi


# 割引サービス
(bsortex \
	-sort key="0.9asc,3.8asc,1.17asc" \
    -input reclen=100 file=${KK_M_WRIB_SVC_ULD_1_FILE}\
	-record recform=txtcsv \
	-output include="3.8asc.le.'$YMD'.and.4.8asc.le.'$YMD'.and.5.8asc.ge.'$YMD'" \
|bsortex \
    -merge key="0.9asc"  \
    -input reclen=100 \
	-record recform=txtcsv \
	-summary suppress last \
	-output file=${KK_M_WRIB_SVC_ULD_1_FILE_WK})
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_KK_M_WRIB_SVC:rc=$rc) "
      echo $JOBNAME " sort error(sort_KK_M_WRIB_SVC:rc=$rc) "
      exit ${G_RTN_ERROR}
fi


# サービス契約
### OM-2015-0001266 性能改善対応 2015/05/19 有本 MOD START
#bsortex \
#    -sort key="0.12asca,1.3asca" \
#    -input reclen=100 file=${KK_T_SVC_KEI_ULD_1_FILE} \
#    -record recform=txtcsv \
#    -summary suppress last \
#    -output file=${KK_T_SVC_KEI_ULD_1_FILE_WK}
#rc=$?
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD START
#bsortex \
#    -sort key="0.12asca,1.3asca" \
#    -input file=${COMULD_KK0081_ALL} reclen=${ULD_REC_LEN_KK0081} include="35.1asc.eq.'2',33.8asc.le.'${RSLT_OPEDATE}'" reconst="11.12,9.3" \
#    -record recform=txtcsv \
#    -summary suppress last \
#    -output file=${KK_T_SVC_KEI_ULD_1_FILE_WK}
bsortex \
    -sort key="0.12asca,1.3asca" \
    -input file=${COMULD_KK0081_ALL} reclen=${ULD_REC_LEN_KK0081} \
           include="17.1asc.eq.'2',15.8asc.le.'${RSLT_OPEDATE}'" \
           reconst="10.12,8.3" \
    -record recform=txtcsv \
    -summary suppress last \
    -output file=${KK_T_SVC_KEI_ULD_1_FILE_WK}
### OM-2015-0002578 共通ＵＮＬＯＡＤ項目削除対応 2015/10/08 有本 MOD END
rc=$?
### OM-2015-0001266 性能改善対応 2015/05/19 有本 MOD END
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_KK_T_SVC_KEI:rc=$rc) "
      echo $JOBNAME " sort error(sort_KK_T_SVC_KEI:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

### OM-2015-0001266 性能改善対応 ダブルクォーテーション削除
sed -i -e 's/"//g' ${KK_T_SVC_KEI_ULD_1_FILE_WK}


# defバインド置き換え
cp -f ${AC_CM_0020_DEF} ${AC_CM_0020_DEF_WK_01}
sed -i -e "s%:INF1%${UNION_ALL_FILE}%"                      ${AC_CM_0020_DEF_WK_01}
sed -i -e "s%:INF2%${KK_T_MANS_WRIBSVK_ULD_2_FILE_WK}%"     ${AC_CM_0020_DEF_WK_01}
sed -i -e "s%:INF3%${KK_M_WRIB_SVC_ULD_1_FILE_WK}%"         ${AC_CM_0020_DEF_WK_01}
sed -i -e "s%:INF4%${KK_M_WRIB_SVC_TANKA_ULD_1_FILE_WK}%"   ${AC_CM_0020_DEF_WK_01}
sed -i -e "s%:INF5%${AC_M_WRIB_PRC_ULD_1_FILE_WK}%"         ${AC_CM_0020_DEF_WK_01}
sed -i -e "s%:INF6%${KK_T_TK_HSK_KEI_PRC_ULD_1_FILE_WK}%"   ${AC_CM_0020_DEF_WK_01}
sed -i -e "s%:INF7%${KK_M_TMP_PAY_PRC_ULD_1_FILE_WK}%"      ${AC_CM_0020_DEF_WK_01}
sed -i -e "s%:INF8%${ZM_M_WORK_PARAM_KNRI_ULD_2_FILE}%"     ${AC_CM_0020_DEF_WK_01}
sed -i -e "s%:INF9%${KK_T_SVC_KEI_ULD_1_FILE_WK}%"          ${AC_CM_0020_DEF_WK_01}

# matching
(export ZTLOUTFILE=${AC_CM_0020_WRK}
${G_TOOLSH}/util/bin/ZTLMAT01 ${AC_CM_0020_DEF_WK_01})
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " matching error(matching:rc=$rc) "
      echo $JOBNAME " matching error(matching:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

#
#--- マッチング結果から以下の条件に適合するレコードを抽出する
#    ①提供方式契約料金．請求金額適用開始年月日、割引料金．割引料金適用開始年月日がどちらも'20140331'以下
#    ②提供方式契約料金．請求金額適用開始年月日、割引料金．割引料金適用開始年月日がどちらも'20140401'以上'20190930'以下
#    ③提供方式契約料金．請求金額適用開始年月日、割引料金．割引料金適用開始年月日がどちらも'20191001'以上
#
# ANK-3636-00-00対応 20190819 星野 MOD START
#bsortex \
#  -copy \
#  -record recform=txtcsv \
#  -input  reclen=300 \
#          file=${AC_CM_0020_WRK} \
#  -output file=${AC_CM_0020_WRK2} case="0.8asc.le.'20140331'.and.7.8asc.le.'20140331'" reconst=1.END \
#  -output file=${AC_CM_0020_WRK3} case="0.8asc.ge.'20140401'.and.7.8asc.ge.'20140401'" reconst=1.END

bsortex \
  -copy \
  -record recform=txtcsv \
  -input  reclen=300 \
          file=${AC_CM_0020_WRK} \
  -output file=${AC_CM_0020_WRK2} case="0.8asc.le.'20140331'.and.7.8asc.le.'20140331'" reconst=1.END \
  -output file=${AC_CM_0020_WRK3} case="0.8asc.ge.'20140401'.and.7.8asc.ge.'20140401'.and.0.8asc.le.'20190930'.and.7.8asc.le.'20190930'" reconst=1.END \
  -output file=${AC_CM_0020_WRK4} case="0.8asc.ge.'20191001'.and.7.8asc.ge.'20191001'" reconst=1.END \
# ANK-3636-00-00対応 20190819 星野 MOD END

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


#
#--- 改行コード変換（LF -> CRLF）
#
# ANK-3636-00-00対応 20190819 星野 MOD START
#bsortex \
#  -sort key="1.3asca,2.12asca,0.12asca,3.1asca,4.12asca,5.12asca,6.8asca,7.8asca" \
#  -record recform=txtcsv \
#  -input  reclen=300 \
#          file=${AC_CM_0020_WRK2},${AC_CM_0020_WRK3} \
#  -summary suppress first \
#  -output file=${AC_CM_0020} linedlmt=crlf

bsortex \
  -sort key="1.3asca,2.12asca,0.12asca,3.1asca,4.12asca,5.12asca,6.8asca,7.8asca" \
  -record recform=txtcsv \
  -input  reclen=300 \
          file=${AC_CM_0020_WRK2},${AC_CM_0020_WRK3},${AC_CM_0020_WRK4} \
  -summary suppress first \
  -output file=${AC_CM_0020} linedlmt=crlf
# ANK-3636-00-00対応 20190819 星野 MOD END
 
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error(sort_LF -> CRLF:rc=$rc) "
      echo $JOBNAME " sort error(sort_LF -> CRLF:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

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

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

P1="OPD=,"
P2="SVCCTL=JBSbatMultiServiceControl,"
P3="JOB=EO3010920J0,"
P4="IND1=ACIFM213.def,"
P5="INF1=${MID_DIR_AC}/ACIFM213001.csv,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=ACIFM051.def,"
P9="OTF1=${MID_DIR_AC}/ACIFM051008.csv,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE="
PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"

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

#
#---ＡＰＬ起動
#

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

exit_rc=$rc

#ワーク削除
if [ $WK_RM = "true" ]
then
    rm -f ${CH_M_PRC_SCHDL_TEIGI_ULD_WK}
    rm -f ${CH_M_PRC_SCHDL_TEIGI_ULD_1_FILE}
    rm -f ${ZM_M_WORK_PARAM_KNRI_ULD_WK}
    rm -f ${ZM_M_WORK_PARAM_KNRI_ULD_1_FILE}
    rm -f ${ZM_M_WORK_PARAM_KNRI_ULD_2_FILE}
    rm -f ${KK_M_TMP_PAY_PRC_ULD_1_FILE}
    rm -f ${KK_M_TMP_PAY_PRC_ULD_1_FILE_WK}
    rm -f ${KK_M_WRIB_SVC_TANKA_ULD_1_FILE}
    rm -f ${KK_M_WRIB_SVC_TANKA_ULD_1_FILE_WK}
    rm -f ${AC_M_WRIB_PRC_ULD_1_FILE}
    rm -f ${AC_M_WRIB_PRC_ULD_1_FILE_WK}
    rm -f ${KK_T_TK_HSK_KEI_PRC_ULD_1_FILE}
    rm -f ${KK_T_TK_HSK_KEI_PRC_ULD_1_FILE_WK}
    rm -f ${KK_T_TK_HSK_KEI_PRC_ULD_2_FILE_WK}
    rm -f ${KK_T_MANS_WRIBSVK_ULD_1_FILE}
    rm -f ${KK_T_MANS_WRIBSVK_ULD_1_FILE_WK}
    rm -f ${KK_T_MANS_WRIBSVK_ULD_2_FILE_WK}
    rm -f ${KK_M_WRIB_SVC_ULD_1_FILE}
    rm -f ${KK_M_WRIB_SVC_ULD_1_FILE_WK}
    rm -f ${UNION_ALL_FILE}
    rm -f ${AC_CM_0020_DEF_WK_01}
    rm -f ${AC_CM_0020_WRK}
    rm -f ${AC_CM_0020_WRK2}
    rm -f ${AC_CM_0020_WRK3}
# ANK-3636-00-00対応 20190819 星野 ADD START
    rm -f ${AC_CM_0020_WRK4}
# ANK-3636-00-00対応 20190819 星野 ADD END
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL START
#    rm -f ${KK_T_SVC_KEI_ULD_WK}
#    rm -f ${KK_T_SVC_KEI_ULD_1_FILE}
### OM-2015-0001266 性能改善対応 2015/05/19 有本 DEL END
    rm -f ${KK_T_SVC_KEI_ULD_1_FILE_WK}
fi

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

exit $exit_rc
