#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：請求収納
#
# シェル名      ：未収残高対象請求内訳抽出
#
# 機能          ：未収残高を作成するため、料金計算月月末時点で未収債権扱いとなる債権に紐付く請求明細を抽出し、未収残高対象請求内訳情報を作成する。
#
#未収残高対象債権特定条件
#（ア）会計処理日時点で未収残が存在する債権(※)
#　　債権ステータス：請求確定("020")、リアル収納("030")、仮収納("040")、一部収納("060")
#（イ）料金計算月末日までに充当完了した債権
#　　債権ステータス：収納済み("050")
#　　充当完了日≧料金計算月翌月以降
#（ウ）料金計算翌月に貸倒登録された債権
#　　債権ステータス：貸倒登録済("080")
#　　債権償却日≧料金計算月翌月以降
#
#※性能を考慮し、定例請求（債権年月：当月～2ヶ月前、2ヶ月前～12ヶ月前、12ヶ月前～24ヶ月前、24ヶ月前～）、定例請求以外に分割する。
#
#上記の対象債権の請求明細を取得後、料金項目抽出変換アンロードファイルとマッチングを行う。
#　マッチングキー
#　　料金グループコード
#　　料金コースコード
#　　料金サービスコード
#　　料金項目コード
#　　
#料金項目抽出変換マッチング後の請求明細に消込順序定義アンロードファイルとマッチングを行う。
#　マッチングキー
#　　料金グループコード
#　　料金項目コード（1桁目）
#　　料金項目コード（9桁目）
#
#出力ファイルを以下の順にソートを行う。
#ソート順：請求契約番号(昇順)＞債権番号(昇順)＞処理順(昇順）
#
#
#【使用アンロードＳＱＬ】
#CH_U_CH0011_18.sql
#CH_U_CH0011_19.sql
#CH_U_CH0011_20.sql
#CH_U_CH0011_21.sql
#CH_U_CH0011_22.sql
#CH_U_CH0401_20.sql
#CH_U_CH0431_01.sql
#
#【使用マッチングdef】
#CH_CM_0127.def
#CH_CM_0128.def
#
#
# コマンド形式  ：EO61002D0J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v3.00           2012/06/06  FJ）冨井     【ANK-0024-04-00】バインド変数変更
# v3.00           2012/06/21  FJ）冨井     【ANK-0024-04-00】SQLPARAM修正
# v3.00           2012/07/27  FJ）冨井     【ST2-2012-0001211】ヒープサイズ拡張
# v3.01           2012/11/02  FJ）加島     【ST4-2012-0000006】ヒープサイズ指定方法変更
# v4.00           2012/01/28  FJ）浜口     【内部管理番号-0000275】未収残高取得SQL変更に伴うパラメータの修正
# v4.01           2013/03/13  FJ）後藤     【ST4-2012-0000117】性能改善
# v4.02           2013/03/12  FJ）後藤     ワークファイルの名修正
# v4.02.01        2013/04/08  FJ) 狭間     【ST4-2013-0000286】性能改善の為、アンロード並列化及び処理見直しと水平展開
# v4.03           2013/04/29  FJ) 狭間     【TG1-2013-0000290】未収残高の出力内容不具合修正
# v4.04           2013/06/20  FJ) 狭間     【IT1-2013-0001301】未収金額が0円のレコードを出力しないように修正
# v5.00           2013/07/10  FJ) 後藤     【LT-2013-0000266】nkf、不要なawk削除
# v5.01           2013/07/21  FJ) 足立原   【ST4-2013-0000514】性能改善 債権内訳アンロード並列化
# v8.00           2014/03/17  FJ) 後藤     【IT2-2014-0000165】請求元会社取得方法修正
# v10.00          2014/07/15  FJ) 江森     【ANK-2053-00-00】貸倒れ対象者一覧の免税額追加対応
# v14.00          2015/05/26  FJ）土井     【OM-2015-0001265】バックグラウンド実行削除
# v22.00          2016/01/14  FJ) 福山     【OM-2015-0001661】性能改善 PARALLEL指定追加
##############################################################

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

#
#---ツール格納場所
#
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

[ $# -eq 2 ] &&TAJUKIDO="_$2" ;
#---ワークファイル削除モード
WK_RM=true

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

#--- 請求年月(yyyymm)取得
EVENT_CD="'21'"
. EO3SEIKYYM.sh ${EVENT_CD} ${RSLT_OPEDATE} ${JOBNAME}
SEIKY_YM_WK=${SEIKY_YM}"01"

#---出力ファイル
OUTFILE=${MID_DIR_CH}/CHIFM231003.csv

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

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

P1="OPD=,"
P2="SVCCTL=,"
P3="JOB=EO60K0160J0,"
P4="IND1=,"
P5="INF1=,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=,"
P9="OTF1=,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE="
PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"

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

#-------------------------------------------------------------
#--- サブルーチン（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
}
#-------------------------------------------------------------
#--- サブルーチン（MATCHING_1）
#-------------------------------------------------------------
MATCHING_1(){
    export CH_T_SAIKEN_1=$1
    export CH_M_PRC_KMK_CS_CHGE=${CSVFILE_CH0401_20_UNLOAD}
    export ZTLOUTFILE=$2

    ${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_CM0127}
    rc=$?
    if [ $rc -ne 0 ]
    then
          sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " ZTLMAT01 error(${DEFFILE_CM0127}:rc=$rc) "
          echo $JOBNAME " ZTLMAT01 error(${DEFFILE_CM0127}:rc=$rc) "
          exit ${G_RTN_ERROR}
    fi
}
#-------------------------------------------------------------
#--- サブルーチン（MATCHING_2）
#-------------------------------------------------------------
MATCHING_2(){
    export CH_T_SAIKEN_2=$1
    export CH_M_KSHKM_JUN_TEIGI=${CSVFILE_CH0431_01_UNLOAD}
    export ZTLOUTFILE=$2

    ${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_CM0128}
    rc=$?
    if [ $rc -ne 0 ]
    then
          sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " ZTLMAT01 error(${DEFFILE_CM0128}:rc=$rc) "
          echo $JOBNAME " ZTLMAT01 error(${DEFFILE_CM0128}: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
}
#-------------------------------------------------------------
# ディレクトリ定義
#-------------------------------------------------------------

#--- マッチング定義ファイル
MATCHING_DIR=${G_TOOLSH}/util/def

#-------------------------------------------------------------
#--- 未収債権（定例請求）（ア）
#-------------------------------------------------------------
SQLFILE_CH0011_18=${SQL_DIR}/CH_U_CH0011_18.sql
# OM-2015-0001661 性能改善 PARALLEL指定追加 2016/01/14 福山 ADD START
CH_U_CH0011_18_HINT_WK_01='FULL(CH0101)'
CH_U_CH0011_18_HINT_WK_02='PARALLEL(CH0011,4) PARALLEL(CH0051,4) PARALLEL(CH0101,4)'
SQLFILE_CH0011_18_WORK=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_18_WORK.sql
# OM-2015-0001661 性能改善 PARALLEL指定追加 2016/01/14 福山 ADD END
SQLFILE_CH0011_18_WK_01=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_18_WK_01.sql
SQLFILE_CH0011_18_WK_02=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_18_WK_02.sql

SQLFILE_CH0011_19=${SQL_DIR}/CH_U_CH0011_19.sql
SQLFILE_CH0011_19_WK_01=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_19_WK_01.sql
SQLFILE_CH0011_19_WK_02=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_19_WK_02.sql

CSVFILE_CH0011_18_UNLOAD_1=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_18_UNLOAD_WK_1.csv
CSVFILE_CH0011_18_UNLOAD_2=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_18_UNLOAD_WK_2.csv
CSVFILE_CH0011_19_UNLOAD_1=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_19_UNLOAD_WK_1.csv
CSVFILE_CH0011_19_UNLOAD_2=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_19_UNLOAD_WK_2.csv

#-------------------------------------------------------------
#--- 未収債権（定例請求以外）（ア）
#-------------------------------------------------------------
SQLFILE_CH0011_20=${SQL_DIR}/CH_U_CH0011_20.sql
SQLFILE_CH0011_20_WK=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_20_WK_1.sql

CSVFILE_CH0011_20_UNLOAD=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_20_UNLOAD_WK_1.cs

#-------------------------------------------------------------
#--- 充当完了債権（イ）
#-------------------------------------------------------------
SQLFILE_CH0011_21=${SQL_DIR}/CH_U_CH0011_21.sql
SQLFILE_CH0011_21_WK=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_21_WK_1.sql

CSVFILE_CH0011_21_UNLOAD=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_21_UNLOAD_WK_1.cs

#-------------------------------------------------------------
#--- 貸倒登録債権（ウ）
#-------------------------------------------------------------
SQLFILE_CH0011_22=${SQL_DIR}/CH_U_CH0011_22.sql
SQLFILE_CH0011_22_WK=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_22_WK_1.sql

CSVFILE_CH0011_22_UNLOAD=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_22_UNLOAD_WK_1.cs

#-------------------------------------------------------------
#--- 料金項目抽出変換
#-------------------------------------------------------------
SQLFILE_CH0401_20=${SQL_DIR}/CH_U_CH0401_20.sql
SQLFILE_CH0401_20_WK=${SQL_DIR}/${JOBNAME}_CH_U_CH0401_20_WK_1.sql

CSVFILE_CH0401_20_UNLOAD=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0401_20_UNLOAD_WK_1.csv

#-------------------------------------------------------------
#--- 消込順序定義
#-------------------------------------------------------------
SQLFILE_CH0431_01=${SQL_DIR}/CH_U_CH0431_01.sql
SQLFILE_CH0431_01_WK=${SQL_DIR}/${JOBNAME}_CH_U_CH0431_01_WK_1.sql

CSVFILE_CH0431_01_UNLOAD=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0431_01_UNLOAD_WK_1.cs

#-------------------------------------------------------------
#--- マッチング定義（債権-料金項目抽出変換）
#-------------------------------------------------------------
DEFFILE_CM0127=${MATCHING_DIR}/CH_CM_0127.def
CSVFILE_CH0011_MATCHING_1_1=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_18_MATCHING_WK_1_1.csv
CSVFILE_CH0011_MATCHING_1_2=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_18_MATCHING_WK_1_2.csv
CSVFILE_CH0011_MATCHING_1_3=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_19_MATCHING_WK_1_3.csv
CSVFILE_CH0011_MATCHING_1_4=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_19_MATCHING_WK_1_4.csv
CSVFILE_CH0011_MATCHING_1_5=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_20_MATCHING_WK_1_5.csv
CSVFILE_CH0011_MATCHING_1_6=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_21_MATCHING_WK_1_6.csv
CSVFILE_CH0011_MATCHING_1_7=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_22_MATCHING_WK_1_7.csv

#-------------------------------------------------------------
#--- マッチング定義（債権-消込順序定義）
#-------------------------------------------------------------
DEFFILE_CM0128=${MATCHING_DIR}/CH_CM_0128.def
CSVFILE_CH0011_MATCHING_2_1=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_18_MATCHING_WK_2_1.csv
CSVFILE_CH0011_MATCHING_2_2=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_18_MATCHING_WK_2_2.csv
CSVFILE_CH0011_MATCHING_2_3=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_18_MATCHING_WK_2_3.csv
CSVFILE_CH0011_MATCHING_2_4=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_19_MATCHING_WK_2_4.csv
CSVFILE_CH0011_MATCHING_2_5=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_20_MATCHING_WK_2_5.csv
CSVFILE_CH0011_MATCHING_2_6=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_21_MATCHING_WK_2_6.csv
CSVFILE_CH0011_MATCHING_2_7=${MID_DIR_CH}/${JOBNAME}_CH_U_CH0011_22_MATCHING_WK_2_7.csv

#-------------------------------------------------------------
#--- 料金項目抽出変換取得
#-------------------------------------------------------------
cp -f ${SQLFILE_CH0401_20} ${SQLFILE_CH0401_20_WK}
sed -i -e "s/:OPEDATE/${RSLT_OPEDATE}/g" ${SQLFILE_CH0401_20_WK} 
UNLOAD ${SQLFILE_CH0401_20_WK} ${CSVFILE_CH0401_20_UNLOAD}

#-------------------------------------------------------------
#--- 消込順序定義取得
#-------------------------------------------------------------
cp -f ${SQLFILE_CH0431_01} ${SQLFILE_CH0431_01_WK}
sed -i -e "s/:OPEDATE/${RSLT_OPEDATE}/g" ${SQLFILE_CH0431_01_WK} 
UNLOAD ${SQLFILE_CH0431_01_WK} ${CSVFILE_CH0431_01_UNLOAD}

#-------------------------------------------------------------
#--- 未収残高対象請求内訳	取得
#-------------------------------------------------------------

#- 抽出基準年月取得
# 請求年月‐１カ月
SEIKY_YM_01=$(date +%Y%m --date "${SEIKY_YM_WK} 1 month ago")
# 請求年月‐２カ月
SEIKY_YM_02=$(date +%Y%m --date "${SEIKY_YM_WK} 2 month ago")
# 請求年月‐１２カ月
SEIKY_YM_12=$(date +%Y%m --date "${SEIKY_YM_WK} 12 month ago")
# 請求年月‐１３カ月
SEIKY_YM_13=$(date +%Y%m --date "${SEIKY_YM_WK} 13 month ago")
# 請求年月‐２４カ月
SEIKY_YM_24=$(date +%Y%m --date "${SEIKY_YM_WK} 24 month ago")
#料金計算月翌月初日
PRC_CAL_NEXT_MONTH_FIRSTYMD_WK=$(date +%Y%m%d --date "${SEIKY_YM_WK} 1 month")

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

#(
#  sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM IN ('${SEIKY_YM}','${SEIKY_YM_01}')/" ${SQLFILE_CH0011_18} > ${SQLFILE_CH0011_18_WK_01}
#  UNLOAD ${SQLFILE_CH0011_18_WK_01}  ${CSVFILE_CH0011_18_UNLOAD_1}
#  MATCHING_1 ${CSVFILE_CH0011_18_UNLOAD_1} ${CSVFILE_CH0011_MATCHING_1_1}
#  MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_1} ${CSVFILE_CH0011_MATCHING_2_1}
#) &
#pid_0011_18_01=$!
#(
#  sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM BETWEEN '${SEIKY_YM_12}' AND '${SEIKY_YM_02}'/" ${SQLFILE_CH0011_18} > ${SQLFILE_CH0011_18_WK_02}
#  UNLOAD ${SQLFILE_CH0011_18_WK_02}  ${CSVFILE_CH0011_18_UNLOAD_2}
#  MATCHING_1 ${CSVFILE_CH0011_18_UNLOAD_2} ${CSVFILE_CH0011_MATCHING_1_2}
#  MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_2} ${CSVFILE_CH0011_MATCHING_2_2}
#) &
#pid_0011_18_02=$!
#(
#  sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM BETWEEN '${SEIKY_YM_24}' AND '${SEIKY_YM_13}'/" ${SQLFILE_CH0011_19} > ${SQLFILE_CH0011_19_WK_01}
#  UNLOAD ${SQLFILE_CH0011_19_WK_01} ${CSVFILE_CH0011_19_UNLOAD_1}
#  MATCHING_1 ${CSVFILE_CH0011_19_UNLOAD_1} ${CSVFILE_CH0011_MATCHING_1_3}
#  MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_3} ${CSVFILE_CH0011_MATCHING_2_3}
#) &
#pid_0011_19_01=$!
#(
#  sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM < '${SEIKY_YM_24}'/" ${SQLFILE_CH0011_19} > ${SQLFILE_CH0011_19_WK_02}
#  UNLOAD ${SQLFILE_CH0011_19_WK_02}   ${CSVFILE_CH0011_19_UNLOAD_2}
#  MATCHING_1 ${CSVFILE_CH0011_19_UNLOAD_2} ${CSVFILE_CH0011_MATCHING_1_4}
#  MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_4} ${CSVFILE_CH0011_MATCHING_2_4}
#) &
#pid_0011_19_02=$!
#(
#  cp -f ${SQLFILE_CH0011_20} ${SQLFILE_CH0011_20_WK}
#  UNLOAD ${SQLFILE_CH0011_20_WK}   ${CSVFILE_CH0011_20_UNLOAD}
#  MATCHING_1 ${CSVFILE_CH0011_20_UNLOAD} ${CSVFILE_CH0011_MATCHING_1_5}
#  MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_5} ${CSVFILE_CH0011_MATCHING_2_5}
#) &
#pid_0011_20=$!
#(
#  sed -e "s/:PRC_CAL_NEXT_MONTH_FIRSTYMD/'${PRC_CAL_NEXT_MONTH_FIRSTYMD_WK}'/" ${SQLFILE_CH0011_21} > ${SQLFILE_CH0011_21_WK}
#  UNLOAD ${SQLFILE_CH0011_21_WK}   ${CSVFILE_CH0011_21_UNLOAD}
#  MATCHING_1 ${CSVFILE_CH0011_21_UNLOAD} ${CSVFILE_CH0011_MATCHING_1_6}
#  MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_6} ${CSVFILE_CH0011_MATCHING_2_6}
#) &
#pid_0011_21=$!
#(
#  sed -e "s/:PRC_CAL_NEXT_MONTH_FIRSTYMD/'${PRC_CAL_NEXT_MONTH_FIRSTYMD_WK}'/" ${SQLFILE_CH0011_22} > ${SQLFILE_CH0011_22_WK}
#  UNLOAD ${SQLFILE_CH0011_22_WK}   ${CSVFILE_CH0011_22_UNLOAD}
#  MATCHING_1 ${CSVFILE_CH0011_22_UNLOAD} ${CSVFILE_CH0011_MATCHING_1_7}
#  MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_7} ${CSVFILE_CH0011_MATCHING_2_7}
#) &
#pid_0011_22=$!

# OM-2015-0001661 性能改善 PARALLEL指定追加 2016/01/14 福山 MOD START
#sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM IN ('${SEIKY_YM}','${SEIKY_YM_01}')/" ${SQLFILE_CH0011_18} > ${SQLFILE_CH0011_18_WK_01}
sed -e "s/:HINT/${CH_U_CH0011_18_HINT_WK_01}/" ${SQLFILE_CH0011_18} > ${SQLFILE_CH0011_18_WORK}
sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM IN ('${SEIKY_YM}','${SEIKY_YM_01}')/" ${SQLFILE_CH0011_18_WORK} > ${SQLFILE_CH0011_18_WK_01}
# OM-2015-0001661 性能改善 PARALLEL指定追加 2016/01/14 福山 MOD END
UNLOAD ${SQLFILE_CH0011_18_WK_01}  ${CSVFILE_CH0011_18_UNLOAD_1}
MATCHING_1 ${CSVFILE_CH0011_18_UNLOAD_1} ${CSVFILE_CH0011_MATCHING_1_1}
MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_1} ${CSVFILE_CH0011_MATCHING_2_1}
rc_0011_18_01=$?

# OM-2015-0001661 性能改善 PARALLEL指定追加 2016/01/14 福山 MOD START
#sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM BETWEEN '${SEIKY_YM_12}' AND '${SEIKY_YM_02}'/" ${SQLFILE_CH0011_18} > ${SQLFILE_CH0011_18_WK_02}
sed -e "s/:HINT/${CH_U_CH0011_18_HINT_WK_02}/" ${SQLFILE_CH0011_18} > ${SQLFILE_CH0011_18_WORK}
sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM BETWEEN '${SEIKY_YM_12}' AND '${SEIKY_YM_02}'/" ${SQLFILE_CH0011_18_WORK} > ${SQLFILE_CH0011_18_WK_02}
# OM-2015-0001661 性能改善 PARALLEL指定追加 2016/01/14 福山 MOD END
UNLOAD ${SQLFILE_CH0011_18_WK_02}  ${CSVFILE_CH0011_18_UNLOAD_2}
MATCHING_1 ${CSVFILE_CH0011_18_UNLOAD_2} ${CSVFILE_CH0011_MATCHING_1_2}
MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_2} ${CSVFILE_CH0011_MATCHING_2_2}
rc_0011_18_02=$?


sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM BETWEEN '${SEIKY_YM_24}' AND '${SEIKY_YM_13}'/" ${SQLFILE_CH0011_19} > ${SQLFILE_CH0011_19_WK_01}
UNLOAD ${SQLFILE_CH0011_19_WK_01} ${CSVFILE_CH0011_19_UNLOAD_1}
MATCHING_1 ${CSVFILE_CH0011_19_UNLOAD_1} ${CSVFILE_CH0011_MATCHING_1_3}
MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_3} ${CSVFILE_CH0011_MATCHING_2_3}
rc_0011_19_01=$?


sed -e "s/:CH0011.SAIKEN_YM/CH0011.SAIKEN_YM < '${SEIKY_YM_24}'/" ${SQLFILE_CH0011_19} > ${SQLFILE_CH0011_19_WK_02}
UNLOAD ${SQLFILE_CH0011_19_WK_02}   ${CSVFILE_CH0011_19_UNLOAD_2}
MATCHING_1 ${CSVFILE_CH0011_19_UNLOAD_2} ${CSVFILE_CH0011_MATCHING_1_4}
MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_4} ${CSVFILE_CH0011_MATCHING_2_4}
rc_0011_19_02=$?


cp -f ${SQLFILE_CH0011_20} ${SQLFILE_CH0011_20_WK}
UNLOAD ${SQLFILE_CH0011_20_WK}   ${CSVFILE_CH0011_20_UNLOAD}
MATCHING_1 ${CSVFILE_CH0011_20_UNLOAD} ${CSVFILE_CH0011_MATCHING_1_5}
MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_5} ${CSVFILE_CH0011_MATCHING_2_5}
rc_0011_20=$?


sed -e "s/:PRC_CAL_NEXT_MONTH_FIRSTYMD/'${PRC_CAL_NEXT_MONTH_FIRSTYMD_WK}'/" ${SQLFILE_CH0011_21} > ${SQLFILE_CH0011_21_WK}
UNLOAD ${SQLFILE_CH0011_21_WK}   ${CSVFILE_CH0011_21_UNLOAD}
MATCHING_1 ${CSVFILE_CH0011_21_UNLOAD} ${CSVFILE_CH0011_MATCHING_1_6}
MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_6} ${CSVFILE_CH0011_MATCHING_2_6}
rc_0011_21=$?

sed -e "s/:PRC_CAL_NEXT_MONTH_FIRSTYMD/'${PRC_CAL_NEXT_MONTH_FIRSTYMD_WK}'/" ${SQLFILE_CH0011_22} > ${SQLFILE_CH0011_22_WK}
UNLOAD ${SQLFILE_CH0011_22_WK}   ${CSVFILE_CH0011_22_UNLOAD}
MATCHING_1 ${CSVFILE_CH0011_22_UNLOAD} ${CSVFILE_CH0011_MATCHING_1_7}
MATCHING_2 ${CSVFILE_CH0011_MATCHING_1_7} ${CSVFILE_CH0011_MATCHING_2_7}
rc_0011_22=$?

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

#-------------------------------------------------------------
#--- 4.エラーハンドリング
#-------------------------------------------------------------
# 2015/05/26  FJ）土井 【OM-2015-0001265】バックグラウンド実行削除 DEL STRAT
#wait ${pid_0011_18_01}
#rc_0011_18_01=$?
#
#wait ${pid_0011_18_02}
#rc_0011_18_02=$?
#
#wait ${pid_0011_19_01}
#rc_0011_19_01=$?
#
#wait ${pid_0011_19_02}
#rc_0011_19_02=$?
#
#wait ${pid_0011_20}
#rc_0011_20=$?
#
#wait ${pid_0011_21}
#rc_0011_21=$?
#
#wait ${pid_0011_22}
#rc_0011_22=$?
# 2015/05/26  FJ）土井 【OM-2015-0001265】バックグラウンド実行削除 DEL END

if [ ${rc_0011_18_01} -ne 0 ] || [ ${rc_0011_18_02} -ne 0 ] || [ ${rc_0011_19_01} -ne 0 ] || [ ${rc_0011_19_02} -ne 0 ] || [ ${rc_0011_20} -ne 0 ] || [ ${rc_0011_21} -ne 0 ] || [ ${rc_0011_22} -ne 0 ]
then
    #- エラーメッセージ出力
    if [ ${rc_0011_18_01} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(CH0011_18_01:rc=${rc_0011_18_01}) "
        echo $JOBNAME "UNLOAD ERROR(CH0011_18_01:rc=${rc_0011_18_01}) "
    fi
    if [ ${rc_0011_18_02} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(CH0011_18_02:rc=${rc_0011_18_02}) "
        echo $JOBNAME "UNLOAD ERROR(CH0011_18_02:rc=${rc_0011_18_02}) "
    fi
    if [ ${rc_0011_19_01} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(CH0011_19_01:rc=${rc_0011_19_01}) "
        echo $JOBNAME "UNLOAD ERROR(CH0011_19_01:rc=${rc_0011_19_01}) "
    fi
    if [ ${rc_0011_19_02} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(CH0011_19_02:rc=${rc_0011_19_02}) "
        echo $JOBNAME "UNLOAD ERROR(CH0011_19_02:rc=${rc_0011_19_02}) "
    fi
    if [ ${rc_0011_20} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(CH0011_20:rc=${rc_0011_20}) "
        echo $JOBNAME "UNLOAD ERROR(CH0011_20:rc=${rc_0011_20}) "
    fi
    if [ ${rc_0011_21} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(CH0011_21:rc=${rc_0011_21}) "
        echo $JOBNAME "UNLOAD ERROR(CH0011_21:rc=${rc_0011_21}) "
    fi
    if [ ${rc_0011_22} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(CH0011_22:rc=${rc_0011_22}) "
        echo $JOBNAME "UNLOAD ERROR(CH0011_22:rc=${rc_0011_22}) "
    fi
    
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

#---------------------------------------------------------------------------------------------------------------
#--- 取得した未収残高対象請求内訳をマージ・ソート（ソート順：請求契約番号(昇順)＞債権番号(昇順)＞処理順(昇順））
#---------------------------------------------------------------------------------------------------------------
bsort -s -z150 -0.10asca,1.12asca,2.3ascaN -Tflt -t, -o ${OUTFILE} ${CSVFILE_CH0011_MATCHING_2_1} ${CSVFILE_CH0011_MATCHING_2_2} ${CSVFILE_CH0011_MATCHING_2_3} ${CSVFILE_CH0011_MATCHING_2_4} ${CSVFILE_CH0011_MATCHING_2_5} ${CSVFILE_CH0011_MATCHING_2_6} ${CSVFILE_CH0011_MATCHING_2_7}

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

#ワーク削除
if [ $WK_RM = "true" ]
then
# OM-2015-0001661 性能改善 PARALLEL指定追加 2016/01/14 福山 ADD START
    rm -f ${SQLFILE_CH0011_18_WORK}
# OM-2015-0001661 性能改善 PARALLEL指定追加 2016/01/14 福山 ADD END
    rm -f ${SQLFILE_CH0011_18_WK_01}
    rm -f ${SQLFILE_CH0011_18_WK_02}
    rm -f ${SQLFILE_CH0011_19_WK_01}
    rm -f ${SQLFILE_CH0011_19_WK_02}
    rm -f ${CSVFILE_CH0011_18_UNLOAD_1}
    rm -f ${CSVFILE_CH0011_18_UNLOAD_2}
    rm -f ${CSVFILE_CH0011_19_UNLOAD_1}
    rm -f ${CSVFILE_CH0011_19_UNLOAD_2}
    rm -f ${SQLFILE_CH0011_20_WK}
    rm -f ${CSVFILE_CH0011_20_UNLOAD}
    rm -f ${SQLFILE_CH0011_21_WK}
    rm -f ${CSVFILE_CH0011_21_UNLOAD}
    rm -f ${SQLFILE_CH0011_22_WK}
    rm -f ${CSVFILE_CH0011_22_UNLOAD}
    rm -f ${SQLFILE_CH0401_20_WK}
    rm -f ${CSVFILE_CH0401_20_UNLOAD}
    rm -f ${SQLFILE_CH0431_01_WK}
    rm -f ${CSVFILE_CH0431_01_UNLOAD}
    rm -f ${CSVFILE_CH0011_MATCHING_1_1}
    rm -f ${CSVFILE_CH0011_MATCHING_1_2}
    rm -f ${CSVFILE_CH0011_MATCHING_1_3}
    rm -f ${CSVFILE_CH0011_MATCHING_1_4}
    rm -f ${CSVFILE_CH0011_MATCHING_1_5}
    rm -f ${CSVFILE_CH0011_MATCHING_1_6}
    rm -f ${CSVFILE_CH0011_MATCHING_1_7}
    rm -f ${CSVFILE_CH0011_MATCHING_2_1}
    rm -f ${CSVFILE_CH0011_MATCHING_2_2}
    rm -f ${CSVFILE_CH0011_MATCHING_2_3}
    rm -f ${CSVFILE_CH0011_MATCHING_2_4}
    rm -f ${CSVFILE_CH0011_MATCHING_2_5}
    rm -f ${CSVFILE_CH0011_MATCHING_2_6}
    rm -f ${CSVFILE_CH0011_MATCHING_2_7}
fi

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

exit ${G_RTN_NORMAL}
