#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：クレカ有効期限切れリスト（ｅｏ用）作成
#
# 機能          ：クレジット審査処理結果リストをもとに、請求契約番号をキーとした
#クレカ有効期限切れダウンロードリスト（eo用）（KKLST11801）を作成し、ダウンロード管理と電子ファイル管理に登録する。
#
#
# コマンド形式  ：EO2HI0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v53.00.00     2021/05/21    FJ)謝        【ANK-4021-00-00】クレカカード会社 仕向け先変更対応 新規作成
# v54.00.00     2021/09/01    FJ)謝        【ANK-3971-00-00】クレカ請求データの有効期限設定対応
# v57.00.00     2022/02/17    FJ)寺川      【ANK-4214-00-00】クレカ有効期限切れダウンロードリストの抽出条件変更対応
# v58.00.00     2022/03/30    GDC)j.toleco 【ANK-3846-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"
   OPD=${RSLT_OPEDATE}
fi

YM=`echo $OPD | cut -c 1-6`

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

#
#--- クエリ編集(マッチング)
#       p1：ＳＱＬ定義ファイル名
#       p2：バインド変数置換文字
#
EDIT_MATCHING_QUERY()
{
    MATCHING_FILE=$1
    MATCHING_QUERY_WORK=${ULD_WORK_DIR}/${JOBNAME}_MATCH_QUERY.tmp

    cat /dev/null > ${MATCHING_QUERY_WORK}

    # SQL定義ファイルの編集
    if [ ! -r ${MATCHING_FILE} ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${MATCHING_FILE}:rc=$rc) "
        echo $JOBNAME " File is nonexist(${MATCHING_FILE}:rc=$rc) "
        exit ${G_RTN_ERROR}
    fi

    # バインド変数を置き換える
    cat ${MATCHING_FILE} > ${MATCHING_QUERY_WORK}

    for bind in $2
    do
        bind_escape=`echo $bind | sed "s/\//\\\\\\\\\//g"`
        sed -i, -e 0,/#FILE#/s/#FILE#/$bind_escape/ ${MATCHING_QUERY_WORK}
    done

    export MATCHING_QUERY_WORK
}

#
#--- マッチング処理
#      p1：出力ファイルパス
#      p2：マッチングクエリファイルパス
#
EXEC_MATCHING()
{
    # 出力ファイルの初期化
    OUTFILE=$1
    cat /dev/null > ${OUTFILE}
    rc=$?
    if [ $rc -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error(${OUTFILE}:rc=$rc) "
        echo $JOBNAME " File cat error(${OUTFILE}:rc=$rc) "
        exit ${G_RTN_ERROR}
    fi

    # マッチング実行
    export ZTLOUTFILE=${OUTFILE}
    ${G_TOOLSH}/util/bin/ZTLMAT01 $2
    rc=$?
    if [ $rc -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " matching error($2:rc=$rc) "
        echo $JOBNAME " matching error($2:rc=$rc) "
        exit ${G_RTN_ERROR}
    fi
}

#
#--- クエリ編集(アンロード)
#       p1：ＳＱＬ定義ファイル名
#       p2：バインド変数置換文字
EDIT_ULD_QUERY()
{
    SQL_FILE=$1
    SQL_WORK_FILE=${ULD_WORK_DIR}/${JOBNAME}_QUERY.tmp
    cat /dev/null > ${SQL_WORK_FILE}

    # SQL定義ファイルの編集
    if [ ! -r ${SQL_FILE} ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQL_FILE}:rc=$rc) "
        echo $JOBNAME " File is nonexist(${SQL_FILE}:rc=$rc) "
        exit ${G_RTN_ERROR}
    fi

    # バインド変数を置き換える
    cat ${SQL_FILE} > ${SQL_WORK_FILE}

    for bind in $2
    do
        sed -i, -e 0,/?/s/?/"'"$bind"'"/ ${SQL_WORK_FILE}
    done

    export SQL_WORK_FILE
}

#
#--- アンロード関数
#       p1：テーブル名／クエリファイル名
#       p2：出力ファイル名
EXEC_UNLOAD()
{
    # 出力ファイルの初期化
    cat /dev/null > $2
    rc=$?
    if [ $rc -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File cat error($2:rc=$rc) "
        echo $JOBNAME " File cat error($2:rc=$rc) "
        exit ${G_RTN_ERROR}
    fi

    # unload
    sh ${G_TOOLSH}/EOKULD02.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
}

#
#--- ファイル定義
#
# クレジット審査処理結果リスト
INPUT_KKIFE070=${MID_DIR_KK}/KKIFE070001_${YM}
# サービス契約(カレント)
COMULD2_KK0081_CUR=${MID_DIR_CC}/CCIFM020002.csv
# 課金先(全件)
COMULD2_KK0321_ALL=${MID_DIR_CC}/CCIFM024001.csv
# ANK-3971-00-00 ADD START
# 課金先対象ファイル
FILE_KK0321_TG=${MID_DIR_KK}/EO2HI0110J0_KK0321_TG.csv
# ANK-3971-00-00 ADD END
# 請求契約(カレント)
COMULD2_KK0241_CUR=${MID_DIR_CC}/CCIFM030002.csv
# 異動予約アンロードファイル
FILE_KK1681=${MID_DIR_KK}/EO2HI0110J0_KK1681.csv
# クレジットカードアンロードファイル
FILE_KK0521_ALL=${MID_DIR_KK}/${JOBNAME}_KK0521_ALL.csv
FILE_KK0521_SORT=${MID_DIR_KK}/${JOBNAME}_KK0521_SORT.csv
FILE_KK0521_CUR=${MID_DIR_KK}/EO2HI0110J0_KK0521_CUR.csv
# クレジットカード会社アンロードファイル
FILE_KK0531=${MID_DIR_KK}/EO2HI0110J0_KK0531.csv
# コード名称管理アンロードファイル(法人格種別コード)
FILE_ZM0171_12=${MID_DIR_KK}/${JOBNAME}_ZM0171_12.csv
# コード名称管理アンロードファイル(法人格前後指定コード)
FILE_ZM0171_13=${MID_DIR_KK}/${JOBNAME}_ZM0171_13.csv
# サービス契約対象ファイル
FILE_KK0081_TG=${MID_DIR_KK}/${JOBNAME}_KK0081_TG.csv
# クレジット審査処理結果対象ファイル
FILE_KKIFE070_01_TG=${MID_DIR_KK}/${JOBNAME}_KKIFE070_01_TG.csv
# ANK-3846-00-00 ADD START
#クレジット審査処理結果対象ファイル(要求なし不整合)
FILE_KKIFE070_01_TG_YKNS=${MID_DIR_KK}/${JOBNAME}_KKIFE070_01_TG_YKNS.csv
# ANK-3846-00-00 ADD END
# クレジット審査処理結果対象ファイル(mineo)
FILE_KKIFE070_02_MINEO=${MID_DIR_KK}/${JOBNAME}_KKIFE070_02_MINEO.csv
# クレジット審査処理結果対象ファイル(mineo以外)
FILE_KKIFE070_02_OTHER=${MID_DIR_KK}/${JOBNAME}_KKIFE070_02_OTHER.csv
# クレジット審査処理結果対象ファイル(mineo単独)
FILE_KKIFE070_03_MINEO_ONLY_TMP=${MID_DIR_KK}/${JOBNAME}_KKIFE070_03_MINEO_ONLY_TMP.csv
FILE_KKIFE070_03_MINEO_ONLY=${MID_DIR_KK}/${JOBNAME}_KKIFE070_03_MINEO_ONLY.csv
# クレジット審査処理結果対象ファイル(eo+mineo)
FILE_KKIFE070_03_MINEO_EO_TMP=${MID_DIR_KK}/${JOBNAME}_KKIFE070_03_MINEO_EO_TMP.csv
FILE_KKIFE070_03_MINEO_EO=${MID_DIR_KK}/${JOBNAME}_KKIFE070_03_MINEO_EO.csv
# クレジット審査処理結果対象ファイル(eo単独)
FILE_KKIFE070_03_EO_ONLY_TMP=${MID_DIR_KK}/${JOBNAME}_KKIFE070_03_EO_ONLY_TMP.csv
FILE_KKIFE070_03_EO_ONLY=${MID_DIR_KK}/${JOBNAME}_KKIFE070_03_EO_ONLY.csv
# クレジット審査処理結果対象ファイル(結合)
FILE_KKIFE070_04_UNION_ALL=${MID_DIR_KK}/${JOBNAME}_KKIFE070_04_UNION_ALL.csv
FILE_KKIFE070_04_UNION_SORT=${MID_DIR_KK}/${JOBNAME}_KKIFE070_04_UNION_SORT.csv
FILE_KKIFE070_04_UNION=${MID_DIR_KK}/${JOBNAME}_KKIFE070_04_UNION.csv
# ANK-3846-00-00 ADD START
# クレジット審査処理結果対象ファイル(結合+要求なし不整合)
FILE_KKIFE070_05_UNION_YKNS_ALL=${MID_DIR_KK}/${JOBNAME}_KKIFE070_05_UNION_YKNS_ALL.csv
FILE_KKIFE070_05_UNION_YKNS=${MID_DIR_KK}/${JOBNAME}_KKIFE070_05_UNION_YKNS.csv
# ANK-3846-00-00 ADD END
# クレカ有効期限切れダウンロードリスト(eo用)ワークファイル
FILE_KKIFM920=${MID_DIR_KK}/KKIFM920.csv
# SQLファイル定義
SQLFILE_KK_U_KK1681_12=${SQL_DIR}/KK_U_KK1681_12.sql
SQLFILE_KK_U_KK0521_08=${SQL_DIR}/KK_U_KK0521_08.sql
SQLFILE_KK_U_KK0531_02=${SQL_DIR}/KK_U_KK0531_02.sql
SQLFILE_KK_U_ZM0171_12=${SQL_DIR}/KK_U_ZM0171_12.sql
SQLFILE_KK_U_ZM0171_13=${SQL_DIR}/KK_U_ZM0171_13.sql
# マッチングファイル定義
DEFFILE_KK_CM_0728=${G_TOOLSH}/util/def/KK_CM_0728.def
DEFFILE_KK_CM_0729=${G_TOOLSH}/util/def/KK_CM_0729.def
DEFFILE_KK_CM_0730=${G_TOOLSH}/util/def/KK_CM_0730.def
DEFFILE_KK_CM_0731=${G_TOOLSH}/util/def/KK_CM_0731.def
DEFFILE_KK_CM_0732=${G_TOOLSH}/util/def/KK_CM_0732.def

#
#--- クレジット審査処理結果リストが存在しない場合、0バイトファイルを作成する
#
if [ ! -r ${INPUT_KKIFE070} ]; then
	echo -n > ${INPUT_KKIFE070}
fi

#
#--- 出力ファイルの初期化を行う
#
cat /dev/null > ${FILE_KK1681}
cat /dev/null > ${FILE_KK0521_ALL}
cat /dev/null > ${FILE_KK0521_SORT}
cat /dev/null > ${FILE_KK0521_CUR}
cat /dev/null > ${FILE_KK0531}
cat /dev/null > ${FILE_ZM0171_12}
cat /dev/null > ${FILE_ZM0171_13}
cat /dev/null > ${FILE_KK0081_TG}
cat /dev/null > ${FILE_KKIFE070_01_TG}
# ANK-3846-00-00 ADD START
cat /dev/null > ${FILE_KKIFE070_01_TG_YKNS}
# ANK-3846-00-00 ADD END
cat /dev/null > ${FILE_KKIFE070_02_MINEO}
cat /dev/null > ${FILE_KKIFE070_02_OTHER}
cat /dev/null > ${FILE_KKIFE070_03_MINEO_ONLY_TMP}
cat /dev/null > ${FILE_KKIFE070_03_MINEO_ONLY}
cat /dev/null > ${FILE_KKIFE070_03_MINEO_EO_TMP}
cat /dev/null > ${FILE_KKIFE070_03_MINEO_EO}
cat /dev/null > ${FILE_KKIFE070_03_EO_ONLY_TMP}
cat /dev/null > ${FILE_KKIFE070_03_EO_ONLY}
cat /dev/null > ${FILE_KKIFE070_04_UNION_ALL}
cat /dev/null > ${FILE_KKIFE070_04_UNION_SORT}
cat /dev/null > ${FILE_KKIFE070_04_UNION}
# ANK-3846-00-00 ADD START
cat /dev/null > ${FILE_KKIFE070_05_UNION_YKNS_ALL}
cat /dev/null > ${FILE_KKIFE070_05_UNION_YKNS}
# ANK-3846-00-00 ADD END
cat /dev/null > ${FILE_KKIFM920}
# ANK-3971-00-00 ADD START
cat /dev/null > ${FILE_KK0321_TG}
# ANK-3971-00-00 ADD END

#
#--- 異動予約のアンロードを行う
#
EDIT_ULD_QUERY ${SQLFILE_KK_U_KK1681_12}
EXEC_UNLOAD ${SQL_WORK_FILE} ${FILE_KK1681}

#
#--- クレジットカードのアンロードを行う
#
EDIT_ULD_QUERY ${SQLFILE_KK_U_KK0521_08}
EXEC_UNLOAD ${SQL_WORK_FILE} ${FILE_KK0521_ALL}

#
#--- キー項目毎に登録年月日時分秒でソート
#
bsortex -sort key=0.12asc,1.17asc -record recform=txtcsv \
    -input file=${FILE_KK0521_ALL} reclen=42 \
    -output file=${FILE_KK0521_SORT}

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

#
#--- マージ（各キー項目毎のカレントレコードのみを残す）
#
bsortex -merge key=0.12asc -record recform=txtcsv \
    -input file=${FILE_KK0521_SORT} reclen=42 -summary suppress last \
    -output file=${FILE_KK0521_CUR}

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

#
#--- クレジットカード会社のアンロードを行う
#
EDIT_ULD_QUERY ${SQLFILE_KK_U_KK0531_02} "${OPD} ${OPD} ${OPD}"
EXEC_UNLOAD ${SQL_WORK_FILE} ${FILE_KK0531}

#
#--- コード名称管理(法人格種別コード)のアンロードを行う
#
EDIT_ULD_QUERY ${SQLFILE_KK_U_ZM0171_12} "${OPD} ${OPD}"
EXEC_UNLOAD ${SQL_WORK_FILE} ${FILE_ZM0171_12}

#
#--- コード名称管理(法人格前後指定コード)のアンロードを行う
#
EDIT_ULD_QUERY ${SQLFILE_KK_U_ZM0171_13} "${OPD} ${OPD}"
EXEC_UNLOAD ${SQL_WORK_FILE} ${FILE_ZM0171_13}

# ANK-4214-00-00 MOD START
#
#--- サービス契約共通アンロードファイルから対象データを抽出する
#-   SELECT(reconst)項目は以下
#      0 - 0.10 サービス契約番号
#      1 - 4.2  サービスコード
#    抽出条件
#        ・サービス契約.サービス契約ステータス IN ("100","210","220")(サービス提供中、休止・中断中、停止中)
#
#bsortex -copy -record recform=txtcsv \
#    -input file=${COMULD2_KK0081_CUR} reclen=${ULD2_REC_LEN_KK0081} reconst="0.10,4.2" \
#        include="2.3asc.eq.'100'.or.2.3asc.eq.'220'" \
#    -output file=${FILE_KK0081_TG}
bsortex -copy -record recform=txtcsv \
    -input file=${COMULD2_KK0081_CUR} reclen=${ULD2_REC_LEN_KK0081} reconst="0.10,4.2" \
        include="2.3asc.eq.'100'.or.2.3asc.eq.'210'.or.2.3asc.eq.'220'" \
    -output file=${FILE_KK0081_TG}
# ANK-4214-00-00 MOD END

rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME "KK0081 SORT Error($SVC sort:rc=$rc) "
    echo $JOBNAME "KK0081 SORT Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
# ANK-3971-00-00 ADD START
#
#--- 課金先共通アンロードファイルから対象データを抽出する
#    抽出条件
#        ・課金先適用開始年月日＜＝運用日 かつ 課金先適用終了年月日＞＝運用日
#
bsortex -copy -record recform=txtcsv \
    -input file=${COMULD2_KK0321_ALL} reclen=${ULD2_REC_LEN_KK0321} \
        include="8.8asc.le.'${OPD}'.and.9.8asc.ge.'${OPD}'" \
    -output file=${FILE_KK0321_TG}

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

#
#--- クレジット審査処理結果リストファイルからデータ抽出を行う(マッチング)
#
# ANK-3971-00-00 MOD START
#EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0728} "${INPUT_KKIFE070} ${COMULD2_KK0321_ALL} ${FILE_KK0081_TG} ${FILE_KK1681}"
EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0728} "${INPUT_KKIFE070} ${FILE_KK0321_TG} ${FILE_KK0081_TG} ${FILE_KK1681}"
# ANK-3971-00-00 MOD END
EXEC_MATCHING ${FILE_KKIFE070_01_TG} ${MATCHING_QUERY_WORK}

# ANK-3846-00-00 ADD START
#
#--- クレジット審査処理結果対象ファイルから"要求なし不整合"を除外する
#    （一旦UTF-8に変換してから除外後、ShiftJISに戻す）

FILE_KKIFE070_01_TG_TMP=${MID_DIR_KK}/${JOBNAME}_KKIFE070_01_TG.tmp

iconv -f CP932 -t UTF8 ${FILE_KKIFE070_01_TG} \
  | bsortex -copy -record recform=txtcsv \
      -input reclen=250 include="4.21asc.ne.'要求なし不整合'" \
      -output file=${FILE_KKIFE070_01_TG_TMP}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME "FILE_KKIFE070_01_TG SORT Error($SVC sort:rc=$rc) "
    echo $JOBNAME "FILE_KKIFE070_01_TG SORT Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

iconv -f UTF8 -t CP932 ${FILE_KKIFE070_01_TG_TMP} -o ${FILE_KKIFE070_01_TG}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " iconv Error($SVC iconv:rc=$rc) "
    echo $JOBNAME " iconv Error($SVC iconv:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

rm ${FILE_KKIFE070_01_TG_TMP}

#
#--- クレジット審査処理結果リストファイルから"要求なし不整合"のデータを抽出する。
#    （一旦UTF-8に変換してから抽出後、ShiftJISに戻す　改行コードはLFに変更）
FILE_KKIFE070_01_TG_YKNS_TMP=${MID_DIR_KK}/${JOBNAME}_KKIFE070_01_TG_YKNS.tmp

iconv -f CP932 -t UTF8 ${INPUT_KKIFE070} \
  | bsortex -copy -record recform=txtcsv \
      -input reclen=250 include="4.21asc.eq.'要求なし不整合'" \
      -output file=${FILE_KKIFE070_01_TG_YKNS_TMP} reconst="0.2,1.2,2.45,3.5,4.21,6.4,7.16,8.10,11.11,EMPTYA" linedlmt=lf
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME "FILE_INPUT_KKIFE070 SORT Error($SVC sort:rc=$rc) "
    echo $JOBNAME "FILE_KKIFE070_01_TG SORT Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

iconv -f UTF8 -t CP932 ${FILE_KKIFE070_01_TG_YKNS_TMP} -o ${FILE_KKIFE070_01_TG_YKNS}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " iconv Error($SVC iconv:rc=$rc) "
    echo $JOBNAME " iconv Error($SVC iconv:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

rm ${FILE_KKIFE070_01_TG_YKNS_TMP}
# ANK-3846-00-00 ADD END

#
#--- クレジット審査処理結果対象ファイルをmineoとmineo以外のファイルに分割する
#       クレジット審査処理結果対象ファイル.サービスコード = "51"(ＭＶＮＯサービス)はクレジット審査処理結果対象ファイル(mineo)
#       上記以外はクレジット審査処理結果対象ファイル(mineo以外)
#
bsortex -copy -record recform=txtcsv \
    -input file=${FILE_KKIFE070_01_TG} reclen=359 \
    -output file=${FILE_KKIFE070_02_MINEO} case="9.2asc.eq.'51'"  \
    -output file=${FILE_KKIFE070_02_OTHER} case=other

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

#
#--- クレジット審査処理結果対象ファイル(mineo単独)の作成を行う(マッチング)
#
EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0729} "${FILE_KKIFE070_02_MINEO} ${FILE_KKIFE070_02_OTHER}"
EXEC_MATCHING ${FILE_KKIFE070_03_MINEO_ONLY_TMP} ${MATCHING_QUERY_WORK}

#
#--- クレジット審査処理結果対象ファイル(mineo単独)の末尾に"1"(mineo単独)を付与する
#
bsortex -copy -record recform=txtcsv \
    -input file=${FILE_KKIFE070_03_MINEO_ONLY_TMP} reclen=354 \
    -output file=${FILE_KKIFE070_03_MINEO_ONLY} \
        reconst="0.END,'1'.1ascA"

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

#
#--- クレジット審査処理結果対象ファイル(eo+mineo)の作成を行う(マッチング)
#
EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0730} "${FILE_KKIFE070_02_MINEO} ${FILE_KKIFE070_02_OTHER}"
EXEC_MATCHING ${FILE_KKIFE070_03_MINEO_EO_TMP} ${MATCHING_QUERY_WORK}

#
#--- クレジット審査処理結果対象ファイル(eo+mineo)の末尾に"2"(eo+mineo)を付与する
#
bsortex -copy -record recform=txtcsv \
    -input file=${FILE_KKIFE070_03_MINEO_EO_TMP} reclen=354 \
    -output file=${FILE_KKIFE070_03_MINEO_EO} \
        reconst="0.END,'2'.1ascA"

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

#
#--- クレジット審査処理結果対象ファイル(eo単独)の作成を行う(マッチング)
#
EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0731} "${FILE_KKIFE070_02_OTHER} ${FILE_KKIFE070_02_MINEO}"
EXEC_MATCHING ${FILE_KKIFE070_03_EO_ONLY_TMP} ${MATCHING_QUERY_WORK}

#
#--- クレジット審査処理結果対象ファイル(eo単独)の末尾に"3"(eo単独)を付与する
#
bsortex -copy -record recform=txtcsv \
    -input file=${FILE_KKIFE070_03_EO_ONLY_TMP} reclen=354 \
    -output file=${FILE_KKIFE070_03_EO_ONLY} \
        reconst="0.END,'3'.1ascA"

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

#
#--- クレジット審査処理結果対象ファイル(結合)
#
cat ${FILE_KKIFE070_03_MINEO_ONLY} > ${FILE_KKIFE070_04_UNION_ALL}
cat ${FILE_KKIFE070_03_MINEO_EO} >> ${FILE_KKIFE070_04_UNION_ALL}
cat ${FILE_KKIFE070_03_EO_ONLY} >> ${FILE_KKIFE070_04_UNION_ALL}

#
#--- 請求契約番号でソート
#
bsortex -sort key=7.10asc -record recform=txtcsv \
    -input file=${FILE_KKIFE070_04_UNION_ALL} reclen=358 \
    -output file=${FILE_KKIFE070_04_UNION_SORT}

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

#
#--- マージ（請求契約番号毎の一番下のレコードのみを残す）
#
bsortex -merge key=7.10asc -record recform=txtcsv \
    -input file=${FILE_KKIFE070_04_UNION_SORT} reclen=358 -summary suppress last \
    -output file=${FILE_KKIFE070_04_UNION}

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

# ANK-3846-00-00 ADD START
#
#--- クレジット審査処理結果対象ファイル(結合+要求なし不整合)
#
cat ${FILE_KKIFE070_04_UNION} > ${FILE_KKIFE070_05_UNION_YKNS_ALL}
cat ${FILE_KKIFE070_01_TG_YKNS} >> ${FILE_KKIFE070_05_UNION_YKNS_ALL}

#
#--- ファイル結合後、bsortで請求契約番号の昇順にソートする。
#
bsortex -sort key=7.10asc -record recform=txtcsv \
    -input file=${FILE_KKIFE070_05_UNION_YKNS_ALL} reclen=358 \
    -output file=${FILE_KKIFE070_05_UNION_YKNS}

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

#
#--- クレカ有効期限切れダウンロードリスト(eo用)ワークファイルの作成を行う(マッチング)
#
# ANK-3846-00-00 DEL START
#EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0732} "${FILE_KKIFE070_04_UNION} ${COMULD2_KK0241_CUR} ${FILE_ZM0171_12} ${FILE_ZM0171_13} ${FILE_KK0521_CUR} ${FILE_KK0531}"
# ANK-3846-00-00 DEL END
# ANK-3846-00-00 ADD START
EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0732} "${FILE_KKIFE070_05_UNION_YKNS} ${COMULD2_KK0241_CUR} ${FILE_ZM0171_12} ${FILE_ZM0171_13} ${FILE_KK0521_CUR} ${FILE_KK0531}"
# ANK-3846-00-00 ADD END
EXEC_MATCHING ${FILE_KKIFM920} ${MATCHING_QUERY_WORK}

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

P1="OPD=$OPD,"
P2="SVCCTL=JBSbatUnitServiceControl,"
P3="JOB=EO2HI0110J0,"
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=${MID_DIR_KK}/KKIFM920.csv;${MID_DIR_KK}/"
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

#
#--- 一時ファイルの削除を行う
#
rm -f ${FILE_KK0521_ALL}
rm -f ${FILE_KK0521_SORT}
rm -f ${FILE_ZM0171_12}
rm -f ${FILE_ZM0171_13}
rm -f ${FILE_KK0081_TG}
rm -f ${FILE_KKIFE070_01_TG}
rm -f ${FILE_KKIFE070_02_MINEO}
rm -f ${FILE_KKIFE070_02_OTHER}
rm -f ${FILE_KKIFE070_03_MINEO_ONLY_TMP}
rm -f ${FILE_KKIFE070_03_MINEO_ONLY}
rm -f ${FILE_KKIFE070_03_MINEO_EO_TMP}
rm -f ${FILE_KKIFE070_03_MINEO_EO}
rm -f ${FILE_KKIFE070_03_EO_ONLY_TMP}
rm -f ${FILE_KKIFE070_03_EO_ONLY}
rm -f ${FILE_KKIFE070_04_UNION_ALL}
rm -f ${FILE_KKIFE070_04_UNION_SORT}
rm -f ${FILE_KKIFE070_04_UNION}
#rm -f ${FILE_KKIFM920}
# ANK-3846-00-00 ADD START
rm -f ${FILE_KKIFE070_01_TG_YKNS}
rm -f ${FILE_KKIFE070_05_UNION_YKNS_ALL}
rm -f ${FILE_KKIFE070_05_UNION_YKNS}
# ANK-3846-00-00 ADD END

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

exit $exit_rc
