#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：請求収納
#
# シェル名      ：フロアリミット超過請求抽出
#
# 機能          ：1. フロアリミット超過請求抽出
# 
#(1)
#当月請求対象の請求より、フロアリミット超過分のクレジット請求情報を抽出し、フロアリミット超過請求情報を作成する。
#
#ＳＱＬＰＡＲＡＭ
#JIGYO_CD:"2"（FTTH事業）
#OPE_DATE_1:"SQLPARAM_KEY_OPD_YYYYMMDD"
#OPE_DATE_2:"SQLPARAM_KEY_OPD_YYYYMMDD"
#OPE_DATE_3:"SQLPARAM_KEY_OPD_YYYYMMDD"
#SYS_1:"CH"
#KINO_1:"MINO_SYAM"（未納請求金額）
#OPE_DATE_4:"SQLPARAM_KEY_OPD_YYYYMMDD"
#OPE_DATE_5:"SQLPARAM_KEY_OPD_YYYYMMDD"
#EVENT_CD:"04"（請求処理日）
#OPE_DATE_6:"SQLPARAM_KEY_OPD_YYYYMMDD"
#FLRLMT:"1"（フロアリミット超過）
#SEI_WAY:"4"（クレジット）
#SEI_STAT:"020"（請求済）
#SAI_STAT:"020"（請求確定）
#SYS_2:"CH" 
#KINO_2:"SEIK_SKSI"（合計請求金額）
#OPE_DATE_7:"SQLPARAM_KEY_OPD_YYYYMMDD"
#OPE_DATE_8:"SQLPARAM_KEY_OPD_YYYYMMDD"
#
# コマンド形式  ：EO60H0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#                 2013/03/06  FJ)大塚      レンジ化対応
# v4.00           2013/04/01  FJ）狭間     性能改善の為、アンロード＆マッチング化と請求アンロードの共通化
# v8.00           2013/12/28  FJ）伊藤     【ANK-1794-00-00】項目追加対応
# v20.00          2015/11/06  FJ）李擇臣   【ANK-2565-00-00】項目追加対応(クレジットカード番号預りＩＤ)
# v20.01          2015/12/08  FJ）李擇臣   【IT1-2015-0000146】レコード長の指定に誤りがあり
# v45.00          2019/07/11  FJ）前田     【ANK-3602-00-00】特定クレジットカードの売上オーソリ実施対応
# v46.00          2019/10/30  FJ）三原     【OM-2019-0001242】特定クレジットカードの請求内訳の金額が0円以下の場合の除外処理
# v54.00          2021/08/27  FJ）森脇     【ANK-4145-00-00】クレジット（KK_T_CRECARD）の抽出削除（EO60H0115J0に切り出し）
# v58.00          2022/06/01  FJ）秋末     【ANK-3846-00-00】【クレカ】クリアパス→ペイジェント移行
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#--- ワークファイル削除フラグ
WK_RM=true

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

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

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

P1="OPD=$OPD,"
P2="SVCCTL=,"
P3="JOB=EO60H0110J0,"
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

#
#--- ファイル定義
#
#--- 入力ファイル（請求アンロードファイル）
INFILE_CHIFM181003=${MID_DIR_CH}/CHIFM181003.csv
INFILE_CHIFM181003_WRK=${MID_DIR_CH}/${JOBNAME}_CHIFM181003_UNLOADER_WK_1.csv

#v45.0.0 ANK-3602-00-00 ADD START
#--- 入力ファイル（請求アンロードファイル_特定クレカ用）
INFILE_CHIFM181003=${MID_DIR_CH}/CHIFM181003.csv
INFILE_CHIFM181003_WRK_2=${MID_DIR_CH}/${JOBNAME}_CHIFM181003_UNLOADER_WK_2.csv
#v45.0.0 ANK-3602-00-00 ADD END

#--- 入力ファイル（請求内訳アンロードファイル）
INFILE_CHIFM182003=${MID_DIR_CH}/CHIFM182003.csv
INFILE_CHIFM182003_WRK=${MID_DIR_CH}/${JOBNAME}_CHIFM182003_UNLOADER_WK_1.csv

#--- 出力ファイル（フロアリミット超過請求情報）
OUTFILE_CHIFM067001=${MID_DIR_CH}/CHIFM067001.csv
OUTFILE_CHIFM067001_WRK1=${MID_DIR_CH}/${JOBNAME}_CHIFM067001_MATCHING_WK_1.csv
OUTFILE_CHIFM067001_WRK2=${MID_DIR_CH}/${JOBNAME}_CHIFM067001_MATCHING_WK_2.csv
OUTFILE_CHIFM067001_WRK3=${MID_DIR_CH}/${JOBNAME}_CHIFM067001_MATCHING_WK_3.csv
OUTFILE_CHIFM067001_WRK4=${MID_DIR_CH}/${JOBNAME}_CHIFM067001_MATCHING_WK_4.csv

#--- 1.債権（CH_T_SAIKEN）
SQLFILE_CH0011_11=${SQL_DIR}/CH_U_CH0011_11.sql
SQLFILE_CH0011_11_WRK=${SQL_DIR}/${JOBNAME}_CH_U_CH0011_11_UNLOADER_WK_1.sql

CSVFILE_CH0011_11=${MID_DIR_CH}/${JOBNAME}_CH0011_11_UNLOADER_WK_1.csv

#--- 2.請求債権関連（CH_T_SEIKY_SKN_KNRN）
SQLFILE_CH0041_04=${SQL_DIR}/CH_U_CH0041_04.sql
SQLFILE_CH0041_04_WRK=${SQL_DIR}/${JOBNAME}_CH_U_CH0041_04_UNLOADER_WK_1.sql

CSVFILE_CH0041_04=${MID_DIR_CH}/${JOBNAME}_CH0041_04_UNLOADER_WK_1.csv

#--- 3.料金項目抽出変換A（CH_M_PRC_KMK_CS_CHGE）
SQLFILE_CH0401_12=${SQL_DIR}/CH_U_CH0401_12.sql
SQLFILE_CH0401_12_WRK=${SQL_DIR}/${JOBNAME}_CH_U_CH0401_12_UNLOADER_WK_1.sql

CSVFILE_CH0401_12=${MID_DIR_CH}/${JOBNAME}_CH0401_12_UNLOADER_WK_1.csv

#--- 4.料金項目抽出変換B（CH_M_PRC_KMK_CS_CHGE）
SQLFILE_CH0401_13=${SQL_DIR}/CH_U_CH0401_13.sql
SQLFILE_CH0401_13_WRK=${SQL_DIR}/${JOBNAME}_CH_U_CH0401_13_UNLOADER_WK_1.sql

CSVFILE_CH0401_13=${MID_DIR_CH}/${JOBNAME}_CH0401_13_UNLOADER_WK_1.csv
CSVFILE_CH0401_13_WRK=${MID_DIR_CH}/${JOBNAME}_CH0401_13_UNLOADER_WK_2.csv

#--- 5.クレジットカード会社（KK_M_CRECARD_COMP）
SQLFILE_KK0531_02=${SQL_DIR}/CH_U_KK0531_02.sql
SQLFILE_KK0531_02_WRK=${SQL_DIR}/${JOBNAME}_CH_U_KK0531_02_UNLOADER_WK_1.sql

CSVFILE_KK0531_02=${MID_DIR_CH}/${JOBNAME}_KK0531_02_UNLOADER_WK_1.csv

#v45.0.0 ANK-3602-00-00 ADD START
#--- 6.クレジット（KK_T_CRECARD）
# v54.0.0 ANK-4145-00-00 DEL START
#SQLFILE_KK0521_02=${SQL_DIR}/CH_U_KK0521_02.sql
#SQLFILE_KK0521_02_WRK=${SQL_DIR}/${JOBNAME}_CH_U_KK0521_02_UNLOADER_WK_1.sql
# v54.0.0 ANK-4145-00-00 DEL END

CSVFILE_KK0521_02=${MID_DIR_CH}/${JOBNAME}_KK0521_02_UNLOADER_WK_1.csv
CSVFILE_KK0521_02_WRK=${MID_DIR_CH}/${JOBNAME}_KK0521_02_UNLOADER_WK_2.csv

# v58.0.0 ANK-3846-00-00 ADD START
# フロアリミット超過請求情報抽出に使用
CSVFILE_KK0521_02_FULL=${MID_DIR_CH}/EO60H0110J0_KK0521_02_UNLOADER_FULL.csv
# v58.0.0 ANK-3846-00-00 ADD END

#--- 特定クレカ情報マッチング
DEFFILE_CH_CM_0197=${G_TOOLSH}/util/def/CH_CM_0197.def
DEFFILE_CH_CM_0197_WRK=${G_TOOLSH}/util/def/${JOBNAME}_CH_CM_0197_MATCHING_WK_1.def
#v45.0.0 ANK-3602-00-00 ADD END

#--- フロアリミット超過請求情報抽出（前準備）
DEFFILE_CH_CM_0061=${G_TOOLSH}/util/def/CH_CM_0061.def
DEFFILE_CH_CM_0061_WRK=${G_TOOLSH}/util/def/${JOBNAME}_CH_CM_0061_MATCHING_WK_1.def

#--- フロアリミット超過請求情報抽出（本番）
DEFFILE_CH_CM_0062=${G_TOOLSH}/util/def/CH_CM_0062.def
DEFFILE_CH_CM_0062_WRK=${G_TOOLSH}/util/def/${JOBNAME}_CH_CM_0062_MATCHING_WK_1.def

#
#--- 各ファイルの存在チェックを行う
#
#--- 入力ファイル（請求アンロードファイル）
if [ ! -r ${INFILE_CHIFM181003} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE_CHIFM181003}) "
    echo $JOBNAME " File is nonexist(${INFILE_CHIFM181003}) "
    exit ${G_RTN_ERROR}
fi
#--- 入力ファイル（請求内訳アンロードファイル）
if [ ! -r ${INFILE_CHIFM182003} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${INFILE_CHIFM182003}) "
    echo $JOBNAME " File is nonexist(${INFILE_CHIFM182003}) "
    exit ${G_RTN_ERROR}
fi
#--- 1.債権（CH_T_SAIKEN）
if [ ! -r ${SQLFILE_CH0011_11} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_CH0011_11}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_CH0011_11}) "
    exit ${G_RTN_ERROR}
fi
#--- 2.請求債権関連（CH_T_SEIKY_SKN_KNRN）
if [ ! -r ${SQLFILE_CH0041_04} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_CH0041_04}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_CH0041_04}) "
    exit ${G_RTN_ERROR}
fi
#--- 3.料金項目抽出変換A（CH_M_PRC_KMK_CS_CHGE）
if [ ! -r ${SQLFILE_CH0401_12} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_CH0401_12}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_CH0401_12}) "
    exit ${G_RTN_ERROR}
fi
#--- 4.料金項目抽出変換B（CH_M_PRC_KMK_CS_CHGE）
if [ ! -r ${SQLFILE_CH0401_13} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_CH0401_13}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_CH0401_13}) "
    exit ${G_RTN_ERROR}
fi
#--- 5.クレジットカード会社（KK_M_CRECARD_COMP）
if [ ! -r ${SQLFILE_KK0531_02} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0531_02}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_KK0531_02}) "
    exit ${G_RTN_ERROR}
fi

#v45.0.0 ANK-3602-00-00 ADD START
#--- 6.クレジットカード（KK_T_CRECARD）
# v54.0.0 ANK-4145-00-00 DEL START
#if [ ! -r ${SQLFILE_KK0521_02} ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0521_02}) "
#    echo $JOBNAME " File is nonexist(${SQLFILE_KK0521_02}) "
#    exit ${G_RTN_ERROR}
#fi
# v54.0.0 ANK-4145-00-00 DEL END

#--- 特定クレカ情報マッチング
if [ ! -r ${DEFFILE_CH_CM_0197} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${DEFFILE_CH_CM_0197}) "
    echo $JOBNAME " File is nonexist(${DEFFILE_CH_CM_0197}) "
    exit ${G_RTN_ERROR}
fi
#v45.0.0 ANK-3602-00-00 ADD END

#--- フロアリミット超過請求情報抽出（前準備）
if [ ! -r ${DEFFILE_CH_CM_0061} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${DEFFILE_CH_CM_0061}) "
    echo $JOBNAME " File is nonexist(${DEFFILE_CH_CM_0061}) "
    exit ${G_RTN_ERROR}
fi

#--- フロアリミット超過請求情報抽出（本番）
if [ ! -r ${DEFFILE_CH_CM_0062} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${DEFFILE_CH_CM_0062}) "
    echo $JOBNAME " File is nonexist(${DEFFILE_CH_CM_0062}) "
    exit ${G_RTN_ERROR}
fi

#
#--- ＳＱＬ準備
#
#--- 1.債権（CH_T_SAIKEN）
cp -f ${SQLFILE_CH0011_11} ${SQLFILE_CH0011_11_WRK}

#--- 2.請求債権関連（CH_T_SEIKY_SKN_KNRN）
cp -f ${SQLFILE_CH0041_04} ${SQLFILE_CH0041_04_WRK}

#--- 3.料金項目抽出変換A（CH_M_PRC_KMK_CS_CHGE）
cp -f ${SQLFILE_CH0401_12} ${SQLFILE_CH0401_12_WRK}
sed -i -e "s%\:OPE_DATE%'${OPE_YMD}'%" ${SQLFILE_CH0401_12_WRK}

#--- 4.料金項目抽出変換B（CH_M_PRC_KMK_CS_CHGE）
cp -f ${SQLFILE_CH0401_13} ${SQLFILE_CH0401_13_WRK}
sed -i -e "s%\:OPE_DATE%'${OPE_YMD}'%" ${SQLFILE_CH0401_13_WRK}

#--- 5.クレジットカード会社（KK_M_CRECARD_COMP）
cp -f ${SQLFILE_KK0531_02} ${SQLFILE_KK0531_02_WRK}
sed -i -e "s%\:OPE_DATE%'${OPE_YMD}'%" ${SQLFILE_KK0531_02_WRK}

#v45.0.0 ANK-3602-00-00 ADD START
#--- 6.クレジットカード（KK_T_CRECARD）
# v54.0.0 ANK-4145-00-00 DEL START
#cp -f ${SQLFILE_KK0521_02} ${SQLFILE_KK0521_02_WRK}
# v54.0.0 ANK-4145-00-00 DEL END

#--- 特定クレカ情報マッチング
cp -f ${DEFFILE_CH_CM_0197} ${DEFFILE_CH_CM_0197_WRK}
sed -i -e "s%\:CHIFM181%${INFILE_CHIFM181003_WRK_2}%"       ${DEFFILE_CH_CM_0197_WRK}
sed -i -e "s%\:CH_U_KK0521_02%${CSVFILE_KK0521_02}%"      ${DEFFILE_CH_CM_0197_WRK}
#v45.0.0 ANK-3602-00-00 ADD END

#--- フロアリミット超過請求情報抽出（前準備）
cp -f ${DEFFILE_CH_CM_0061} ${DEFFILE_CH_CM_0061_WRK}
sed -i -e "s%\:CHIFM182%${INFILE_CHIFM182003_WRK}%"       ${DEFFILE_CH_CM_0061_WRK}
sed -i -e "s%\:CH_U_CH0401_13%${CSVFILE_CH0401_13}%"      ${DEFFILE_CH_CM_0061_WRK}

#--- フロアリミット超過請求情報抽出（本番）
cp -f ${DEFFILE_CH_CM_0062} ${DEFFILE_CH_CM_0062_WRK}
sed -i -e "s%\:CHIFM181%${INFILE_CHIFM181003_WRK}%"       ${DEFFILE_CH_CM_0062_WRK}
sed -i -e "s%\:CH_U_CH0041_04%${CSVFILE_CH0041_04}%"      ${DEFFILE_CH_CM_0062_WRK}
sed -i -e "s%\:CH_U_CH0011_11%${CSVFILE_CH0011_11}%"      ${DEFFILE_CH_CM_0062_WRK}
sed -i -e "s%\:CHIFM182%${INFILE_CHIFM182003_WRK}%"       ${DEFFILE_CH_CM_0062_WRK}
sed -i -e "s%\:CH_U_CH0401_12%${CSVFILE_CH0401_12}%"      ${DEFFILE_CH_CM_0062_WRK}
sed -i -e "s%\:CH_U_CH0401_13%${CSVFILE_CH0401_13_WRK}%"  ${DEFFILE_CH_CM_0062_WRK}
sed -i -e "s%\:CH_U_KK0531_02%${CSVFILE_KK0531_02}%"      ${DEFFILE_CH_CM_0062_WRK}
# v58.0.0 ANK-3846-00-00 ADD START
sed -i -e "s%\:CH_U_KK0521_02%${CSVFILE_KK0521_02_FULL}%" ${DEFFILE_CH_CM_0062_WRK}
# v58.0.0 ANK-3846-00-00 ADD END
#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > $OUTFILE_CHIFM067001_WRK4
cat /dev/null > $OUTFILE_CHIFM067001_WRK3
cat /dev/null > $OUTFILE_CHIFM067001_WRK2
cat /dev/null > $OUTFILE_CHIFM067001_WRK1
cat /dev/null > $OUTFILE_CHIFM067001

#
#--- サブルーチン（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
}

#
#--- MAIN
#

#--- 入力ファイル（請求アンロードファイル）
#--- 絞込みを行う
#v20.0.0 ANK-2565-00-00 DEL START
#bsortex \
#  -copy \
#  -record recform=txtcsv \
#  -input reclen=120 \
#  -input reclen=150 \
#  include="1.3asc.eq.'020'.and.5.1asc.eq.'4'.and.6.1asc.eq.'1'" \
#  file=${INFILE_CHIFM181003} \
#  -output file=${INFILE_CHIFM181003_WRK} \
#  reconst="0.12,2.10,3.6,7.5,8.64,9.6"
#v20.0.0 ANK-2565-00-00 DEL END

# v58.0.0 ANK-3846-00-00 DEL START
##v20.0.0 ANK-2565-00-00 ADD START
#bsortex \
#  -copy \
#  -record recform=txtcsv \
#  -input reclen=150 \
#  include="1.3asc.eq.'020'.and.5.1asc.eq.'4'.and.6.1asc.eq.'1'" \
#  file=${INFILE_CHIFM181003} \
#  -output file=${INFILE_CHIFM181003_WRK} \
#  reconst="0.12,2.10,3.6,7.5,8.64,9.6,10.16"
##v20.0.0 ANK-2565-00-00 ADD END
# v58.0.0 ANK-3846-00-00 DEL END
# v58.0.0 ANK-3846-00-00 ADD START
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=160 \
  include="1.3asc.eq.'020'.and.5.1asc.eq.'4'.and.6.1asc.eq.'1'" \
  file=${INFILE_CHIFM181003} \
  -output file=${INFILE_CHIFM181003_WRK} \
  reconst="0.12,2.10,3.6,7.5,8.64,9.6,10.16,12.5"
# v58.0.0 ANK-3846-00-00 ADD END
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
# v58.0.0 ANK-3846-00-00 DEL START
##v45.0.0 ANK-3602-00-00 ADD START
##--- 入力ファイル（請求アンロードファイル_特定クレカ用）
##--- 絞込みを行う
#bsortex \
#  -copy \
#  -record recform=txtcsv \
#  -input reclen=150 \
#  include="1.3asc.eq.'020'.and.5.1asc.eq.'4'.and.6.1asc.eq.'0'" \
#  file=${INFILE_CHIFM181003} \
#  -output file=${INFILE_CHIFM181003_WRK_2} \
#  reconst="0.12,2.10,3.6,7.5,8.64,9.6,10.16"
#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
##v45.0.0 ANK-3602-00-00 ADD END
# v58.0.0 ANK-3846-00-00 DEL END
# v58.0.0 ANK-3846-00-00 ADD START
#--- 入力ファイル（請求アンロードファイル_特定クレカ用）
#--- 絞込みを行う
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=160 \
  include="1.3asc.eq.'020'.and.5.1asc.eq.'4'.and.6.1asc.eq.'0'" \
  file=${INFILE_CHIFM181003} \
  -output file=${INFILE_CHIFM181003_WRK_2} \
  reconst="0.12,2.10,3.6,7.5,8.64,9.6,10.16,12.5"
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
# v58.0.0 ANK-3846-00-00 ADD END

#--- 入力ファイル（請求内訳アンロードファイル）
#--- 絞込みを行う
# OM-2019-0001242 MOD START
#bsortex \
#  -copy \
#  -record recform=txtcsv \
#  -input reclen=200 \
#  file=${INFILE_CHIFM182003} \
#  -output file=${INFILE_CHIFM182003_WRK} \
#  reconst="0.12,5.2,6.3,7.12,8.11,12.12,4.10"
# 金額が'1'以上のレコードを処理対象とする
bsortex \
  -copy \
  -record recform=txtcsv \
  -input reclen=200 \
  include="12.12asc.ge.'1'" \
  file=${INFILE_CHIFM182003} \
  -output file=${INFILE_CHIFM182003_WRK} \
  reconst="0.12,5.2,6.3,7.12,8.11,12.12,4.10"
# OM-2019-0001242 MOD END
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort Error($SVC sort:rc=$rc) "
    echo $JOBNAME " sort Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- アンロード処理
#
UNLOAD ${SQLFILE_CH0011_11_WRK} ${CSVFILE_CH0011_11}
UNLOAD ${SQLFILE_CH0041_04_WRK} ${CSVFILE_CH0041_04}
UNLOAD ${SQLFILE_CH0401_12_WRK} ${CSVFILE_CH0401_12}
UNLOAD ${SQLFILE_CH0401_13_WRK} ${CSVFILE_CH0401_13}
UNLOAD ${SQLFILE_KK0531_02_WRK} ${CSVFILE_KK0531_02}
#v45.0.0 ANK-3602-00-00 ADD STATRT
# v54.0.0 ANK-4145-00-00 DEL START
#UNLOAD ${SQLFILE_KK0521_02_WRK} ${CSVFILE_KK0521_02}
# v54.0.0 ANK-4145-00-00 DEL END
#v45.0.0 ANK-3602-00-00 ADD END

# すべての抽出が終了するのを待つ
wait

#v45.0.0 ANK-3602-00-00 ADD START
# 特定クレカ情報マッチング
(export ZTLQUOTES=''
export ZTLOUTFILE=${CSVFILE_KK0521_02_WRK}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_CH_CM_0197_WRK})
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " マッチング処理 Error($SVC ZTLOUTFILE:rc=$rc) "
    echo $JOBNAME " マッチング処理 Error($SVC ZTLOUTFILE:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# ＣＡＴ
cat ${MID_DIR_CH}/${JOBNAME}_KK0521_02_UNLOADER_WK_2.csv >> ${MID_DIR_CH}/${JOBNAME}_CHIFM181003_UNLOADER_WK_1.csv
#v45.0.0 ANK-3602-00-00 ADD END

# マッチング処理→入力ファイルへ（前準備）
(export ZTLQUOTES=''
export ZTLOUTFILE=${CSVFILE_CH0401_13_WRK}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_CH_CM_0061_WRK})
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " マッチング処理 Error($SVC ZTLOUTFILE:rc=$rc) "
    echo $JOBNAME " マッチング処理 Error($SVC ZTLOUTFILE:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# マッチング処理→入力ファイルへ（本番）
(export ZTLQUOTES=''
export ZTLOUTFILE=${OUTFILE_CHIFM067001_WRK1}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_CH_CM_0062_WRK})
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " マッチング処理 Error($SVC ZTLOUTFILE:rc=$rc) "
    echo $JOBNAME " マッチング処理 Error($SVC ZTLOUTFILE:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#--- 集約を行う
#v20.0.0 ANK-2565-00-00 DEL START
#bsortex \
#  -sort key="0.10asc,1.12asc,2.6asc,3.5asc,4.15asc,5.64asc,6.6asc,7.12asc,8.1asc,9.10asc" \
#  -record recform=txtcsv \
#  -input reclen=160 \
#  file=${OUTFILE_CHIFM067001_WRK1} \
#  -summary suppress first \
#  -output file=${OUTFILE_CHIFM067001_WRK2} case="8.1asc.eq.'1'" \
#  reconst="0.10,1.12,2.6,3.5,4.15,5.64,6.6,7.12,8.1,9.10,10.1" \
#  reconst="0.10,1.12,2.6,3.5,4.15,5.64,6.6,7.12,8.1,9.10,10.1,11.16" \
#  -output file=${OUTFILE_CHIFM067001_WRK3} case=other \
#  reconst="0.10,1.12,2.6,3.5,4.15,5.64,6.6,7.12,'0'.1asc,9.10,10.1"
#  reconst="0.10,1.12,2.6,3.5,4.15,5.64,6.6,7.12,'0'.1asc,9.10,10.1,11.16"
#v20.0.0 ANK-2565-00-00 DEL END
# v58.0.0 ANK-3846-00-00 DEL START
##v20.0.0 ANK-2565-00-00 ADD START
#bsortex \
#  -sort key="0.10asc,1.12asc,2.6asc,3.5asc,4.15asc,5.64asc,6.6asc,7.12asc,8.1asc,9.10asc,11.16asc" \
#  -record recform=txtcsv \
#  -input reclen=200 \
#  file=${OUTFILE_CHIFM067001_WRK1} \
#  -summary suppress first \
#  -output file=${OUTFILE_CHIFM067001_WRK2} case="8.1asc.eq.'1'" \
#  reconst="0.10,1.12,2.6,3.5,4.15,5.64,6.6,7.12,8.1,9.10,10.1,11.16" \
#  -output file=${OUTFILE_CHIFM067001_WRK3} case=other \
#  reconst="0.10,1.12,2.6,3.5,4.15,5.64,6.6,7.12,'0'.1asc,9.10,10.1,11.16"
##v20.0.0 ANK-2565-00-00 ADD END
# v58.0.0 ANK-3846-00-00 DEL END
# v58.0.0 ANK-3846-00-00 ADD START
bsortex \
  -sort key="0.10asc,1.12asc,2.6asc,3.5asc,4.15asc,5.64asc,6.6asc,7.12asc,8.1asc,9.10asc,11.16asc,12.5asc,13.1asc,14.1asc" \
  -record recform=txtcsv \
  -input reclen=210 \
  file=${OUTFILE_CHIFM067001_WRK1} \
  -summary suppress first \
  -output file=${OUTFILE_CHIFM067001_WRK2} case="8.1asc.eq.'1'" \
  reconst="0.10,1.12,2.6,3.5,4.15,5.64,6.6,7.12,8.1,9.10,10.1,11.16,12.5,13.1,14.1" \
  -output file=${OUTFILE_CHIFM067001_WRK3} case=other \
  reconst="0.10,1.12,2.6,3.5,4.15,5.64,6.6,7.12,'0'.1asc,9.10,10.1,11.16,12.5,13.1,14.1"
# v58.0.0 ANK-3846-00-00 ADD END

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

#--- マージを行う
#v20.0.0 ANK-2565-00-00 DEL START
#bsortex \
#  -merge key="0.10asc,1.12asc,2.6asc,3.5asc,4.15asc,5.64asc,6.6asc,7.12asc,8.1asc,9.10asc" \
#  -record recform=txtcsv \
#  -input reclen=160 \
#  file=${OUTFILE_CHIFM067001_WRK2},${OUTFILE_CHIFM067001_WRK3} \
#  -output file=${OUTFILE_CHIFM067001} linedlmt=crlf
#v20.0.0 ANK-2565-00-00 DEL END
# v58.0.0 ANK-3846-00-00 DEL START
##v20.0.0 ANK-2565-00-00 ADD START
#bsortex \
#  -merge key="0.10asc,1.12asc,2.6asc,3.5asc,4.15asc,5.64asc,6.6asc,7.12asc,8.1asc,9.10asc,11.16asc" \
#  -record recform=txtcsv \
#  -input reclen=200 \
#  file=${OUTFILE_CHIFM067001_WRK2},${OUTFILE_CHIFM067001_WRK3} \
#  -output file=${OUTFILE_CHIFM067001} linedlmt=crlf
##v20.0.0 ANK-2565-00-00 ADD END
# v58.0.0 ANK-3846-00-00 DEL END
# v58.0.0 ANK-3846-00-00 ADD START
bsortex \
  -merge key="0.10asc,1.12asc,2.6asc,3.5asc,4.15asc,5.64asc,6.6asc,7.12asc,8.1asc,9.10asc,11.16asc,12.5asc,13.1asc,14.1asc" \
  -record recform=txtcsv \
  -input reclen=210 \
  file=${OUTFILE_CHIFM067001_WRK2},${OUTFILE_CHIFM067001_WRK3} \
  -output file=${OUTFILE_CHIFM067001} linedlmt=crlf
# v58.0.0 ANK-3846-00-00 ADD END

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

exit_rc=$rc

# ワーク削除
if [ ${WK_RM} = "true" ] ;then 
    rm -f ${OUTFILE_CHIFM067001_WRK3}
    rm -f ${OUTFILE_CHIFM067001_WRK2}
    rm -f ${OUTFILE_CHIFM067001_WRK1}
    rm -f ${INFILE_CHIFM181003_WRK}
    rm -f ${INFILE_CHIFM182003_WRK}
    rm -f ${SQLFILE_CH0011_11_WRK}
    rm -f ${SQLFILE_CH0041_04_WRK}
    rm -f ${SQLFILE_CH0401_12_WRK}
    rm -f ${SQLFILE_CH0401_13_WRK}
    rm -f ${SQLFILE_CH0011_11_WRK}
    rm -f ${SQLFILE_KK0531_02_WRK}
    rm -f ${CSVFILE_CH0011_11}
    rm -f ${CSVFILE_CH0041_04}
    rm -f ${CSVFILE_CH0401_12}
    rm -f ${CSVFILE_CH0401_13}
    rm -f ${CSVFILE_CH0401_13_WRK}
    rm -f ${CSVFILE_KK0531_02}
    rm -f ${DEFFILE_CH_CM_0061_WRK}
    rm -f ${DEFFILE_CH_CM_0062_WRK}
    #v45.0.0 ANK-3602-00-00 ADD START
    rm -f ${INFILE_CHIFM181003_WRK_2}
# v54.0.0 ANK-4145-00-00 DEL START
#    rm -f ${SQLFILE_KK0521_02_WRK}
# v54.0.0 ANK-4145-00-00 DEL END
# v58.0.0 ANK-3846-00-00 ADD START
    rm -f ${CSVFILE_KK0521_02_FULL}
# v58.0.0 ANK-3846-00-00 ADD END
    rm -f ${CSVFILE_KK0521_02}
    rm -f ${CSVFILE_KK0521_02_WRK}
    rm -f ${DEFFILE_CH_CM_0197_WRK}
    #v45.0.0 ANK-3602-00-00 ADD END
fi

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

exit $exit_rc
