#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：クレカ有効期限切れリスト（ｍｉｎｅｏ用）作成
#
# 機能          ：クレジット審査処理結果リストをもとに、サービス契約番号(mineo契約を含むのみ)をキーとした
#クレカ有効期限切れダウンロードリスト（mineo用）（KKLST11802）を作成し、ダウンロード管理と電子ファイル管理に登録する。
#
# コマンド形式  ：EO2HI0210J0.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】クレカ請求データの有効期限設定対応
# v58.00.00     2022/04/25    FJ)星野      【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}
# ANK-3846-00-00対応 20220425 星野 ADD START
INPUT_KKIFE070_FILTERED=${MID_DIR_KK}/${JOBNAME}_KKIFE070001_FILTERED.csv
INPUT_KKIFE070_FILTERED_TMP=${MID_DIR_KK}/${JOBNAME}_KKIFE070001_FILTERED.tmp
# ANK-3846-00-00対応 20220425 星野 ADD END
# サービス契約(カレント)
COMULD2_KK0081_CUR=${MID_DIR_CC}/CCIFM020002.csv
# ANK-3971-00-00 MOD START
## 課金先(全件)
#COMULD2_KK0321_ALL=${MID_DIR_CC}/CCIFM024001.csv
# 課金先対象ファイル
FILE_KK0321_TG=${MID_DIR_KK}/EO2HI0110J0_KK0321_TG.csv
# ANK-3971-00-00 MOD END
# 請求契約(カレント)
COMULD2_KK0241_CUR=${MID_DIR_CC}/CCIFM030002.csv
# 連絡先(カレント)
COMULD2_CK0201_CUR=${MID_DIR_CC}/CCIFM037002.csv
# 異動予約アンロードファイル
FILE_KK1681=${MID_DIR_KK}/EO2HI0110J0_KK1681.csv
# クレジットカードアンロードファイル
FILE_KK0521_CUR=${MID_DIR_KK}/EO2HI0110J0_KK0521_CUR.csv
# クレジットカード会社アンロードファイル
FILE_KK0531=${MID_DIR_KK}/EO2HI0110J0_KK0531.csv
# コード名称管理アンロードファイル(サービス契約ステータス)
FILE_ZM0171_14=${MID_DIR_KK}/${JOBNAME}_ZM0171_14.csv
# 連絡先対象ファイル
FILE_CK0201_TG=${MID_DIR_KK}/${JOBNAME}_CK0201_TG.csv
# サービス契約対象ファイル(mineo)
FILE_KK0081_TG_MINEO=${MID_DIR_KK}/${JOBNAME}_KK0081_TG_MINEO.csv
# サービス契約対象ファイル(mineo以外)
FILE_KK0081_TG_OTHER=${MID_DIR_KK}/${JOBNAME}_KK0081_TG_OTHER.csv
# クレジット審査処理結果対象ファイル(mineo)
FILE_KKIFE070_01_MINEO=${MID_DIR_KK}/${JOBNAME}_KKIFE070_01_MINEO.csv
# クレジット審査処理結果対象ファイル(mineo以外)
FILE_KKIFE070_01_OTHER=${MID_DIR_KK}/${JOBNAME}_KKIFE070_01_OTHER.csv
# クレジット審査処理結果対象ファイル(mineo単独)
FILE_KKIFE070_02_MINEO_ONLY_TMP=${MID_DIR_KK}/${JOBNAME}_KKIFE070_02_MINEO_ONLY_TMP.csv
FILE_KKIFE070_02_MINEO_ONLY=${MID_DIR_KK}/${JOBNAME}_KKIFE070_02_MINEO_ONLY.csv
# クレジット審査処理結果対象ファイル(eo+mineo)(mineo)
FILE_KKIFE070_02_MINEO_EO_1_TMP=${MID_DIR_KK}/${JOBNAME}_KKIFE070_02_MINEO_EO_1_TMP.csv
FILE_KKIFE070_02_MINEO_EO_1=${MID_DIR_KK}/${JOBNAME}_KKIFE070_02_MINEO_EO_1.csv
# クレジット審査処理結果対象ファイル(eo+mineo)(eo)
FILE_KKIFE070_02_MINEO_EO_2=${MID_DIR_KK}/${JOBNAME}_KKIFE070_02_MINEO_EO_2.csv
# クレジット審査処理結果対象ファイル(結合)
FILE_KKIFE070_03_UNION_ALL=${MID_DIR_KK}/${JOBNAME}_KKIFE070_03_UNION_ALL.csv
FILE_KKIFE070_03_UNION_SORT=${MID_DIR_KK}/${JOBNAME}_KKIFE070_03_UNION_SORT.csv
FILE_KKIFE070_03_UNION=${MID_DIR_KK}/${JOBNAME}_KKIFE070_03_UNION.csv
# クレカ有効期限切れダウンロードリスト(eo用)ワークファイル
FILE_KKIFM921_ALL=${MID_DIR_KK}/KKIFM921_ALL.csv
FILE_KKIFM921_SORT=${MID_DIR_KK}/KKIFM921_SORT.csv
FILE_KKIFM921=${MID_DIR_KK}/KKIFM921.csv
# SQLファイル定義
SQLFILE_KK_U_ZM0171_14=${SQL_DIR}/KK_U_ZM0171_14.sql
# マッチングファイル定義
DEFFILE_KK_CM_0733=${G_TOOLSH}/util/def/KK_CM_0733.def
DEFFILE_KK_CM_0734=${G_TOOLSH}/util/def/KK_CM_0734.def
DEFFILE_KK_CM_0735=${G_TOOLSH}/util/def/KK_CM_0735.def
DEFFILE_KK_CM_0736=${G_TOOLSH}/util/def/KK_CM_0736.def
DEFFILE_KK_CM_0737=${G_TOOLSH}/util/def/KK_CM_0737.def
DEFFILE_KK_CM_0738=${G_TOOLSH}/util/def/KK_CM_0738.def

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

#
#--- 出力ファイルの初期化を行う
#
cat /dev/null > ${FILE_ZM0171_14}
cat /dev/null > ${FILE_CK0201_TG}
cat /dev/null > ${FILE_KK0081_TG_MINEO}
cat /dev/null > ${FILE_KK0081_TG_OTHER}
cat /dev/null > ${FILE_KKIFE070_01_MINEO}
cat /dev/null > ${FILE_KKIFE070_01_OTHER}
cat /dev/null > ${FILE_KKIFE070_02_MINEO_ONLY_TMP}
cat /dev/null > ${FILE_KKIFE070_02_MINEO_ONLY}
cat /dev/null > ${FILE_KKIFE070_02_MINEO_EO_1_TMP}
cat /dev/null > ${FILE_KKIFE070_02_MINEO_EO_1}
cat /dev/null > ${FILE_KKIFE070_02_MINEO_EO_2}
cat /dev/null > ${FILE_KKIFE070_03_UNION_ALL}
cat /dev/null > ${FILE_KKIFE070_03_UNION_SORT}
cat /dev/null > ${FILE_KKIFE070_03_UNION}
cat /dev/null > ${FILE_KKIFM921_ALL}
cat /dev/null > ${FILE_KKIFM921_SORT}
cat /dev/null > ${FILE_KKIFM921}
# ANK-3846-00-00対応 20220425 星野 ADD START
cat /dev/null > ${INPUT_KKIFE070_FILTERED}
cat /dev/null > ${INPUT_KKIFE070_FILTERED_TMP}
# ANK-3846-00-00対応 20220425 星野 ADD END

#
#--- コード名称管理(サービス契約ステータス)のアンロードを行う
#
EDIT_ULD_QUERY ${SQLFILE_KK_U_ZM0171_14} "${OPD} ${OPD}"
EXEC_UNLOAD ${SQL_WORK_FILE} ${FILE_ZM0171_14}

#
#--- 連絡先共通アンロードファイルから対象データを抽出する
#-   SELECT(reconst)項目は以下
#      0 - 2.10  SYSID
#      1 - 5.256 メールアドレス
#    抽出条件
#        ・連絡先.連絡方法コード = "001"(メールアドレス)
#        ・連絡先.連絡先種別コード = "1"(自宅)
#        ・連絡先.連絡先分類コード = "1"(コンテンツ系連絡先)
#
bsortex -copy -record recform=txtcsv \
    -input file=${COMULD2_CK0201_CUR} reclen=${ULD2_REC_LEN_CK0201} reconst="2.10,5.256" \
        include="3.3asc.eq.'001'.and.4.1asc.eq.'1'.and.12.1asc.eq.'1'" \
    -output file=${FILE_CK0201_TG}

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

#
#--- サービス契約共通アンロードファイルから対象データを抽出する
#-   SELECT(reconst)項目は以下
#      0 - 0.10 サービス契約番号
#      1 - 2.3  サービス契約ステータス
#      2 - 3.10 SYSID
#    抽出条件
#      (1)サービス契約対象ファイル(mineo)
#        ・サービス契約.サービスコード = "51"(ＭＶＮＯサービス)
#      (2)サービス契約対象ファイル(mineo以外)
#        ・サービス契約.サービスコード <> "51"(ＭＶＮＯサービス)
#        ・サービス契約.サービス契約ステータス IN ("100","220")(サービス提供中、停止中)
#
bsortex -copy -record recform=txtcsv \
    -input file=${COMULD2_KK0081_CUR} reclen=${ULD2_REC_LEN_KK0081} \
    -output file=${FILE_KK0081_TG_MINEO} case="4.2asc.eq.'51'" \
        reconst="0.10,2.3,3.10" \
    -output file=${FILE_KK0081_TG_OTHER} case="4.2asc.ne.'51'.and.(2.3asc.eq.'100'.or.2.3asc.eq.'220')" \
        reconst="0.10,2.3,3.10"

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-3846-00-00対応 20220425 星野 ADD START
#
#--- クレジット審査処理結果リストファイルから"要求なし不整合"を除外する
#    （一旦UTF-8に変換してから除外後、ShiftJISに戻す）

iconv -f CP932 -t UTF8 ${INPUT_KKIFE070} \
  | bsortex -copy -record recform=txtcsv \
      -input reclen=300 include="4.21asc.ne.'要求なし不整合'" \
      -output file=${INPUT_KKIFE070_FILTERED_TMP}
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 ${INPUT_KKIFE070_FILTERED_TMP} -o ${INPUT_KKIFE070_FILTERED}
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
# ANK-3846-00-00対応 20220425 星野 ADD END



#
#--- クレジット審査処理結果リストファイルからmineoのデータ抽出を行う(マッチング)
#
# ANK-3846-00-00対応 20220425 星野 MOD START
## ANK-3971-00-00 MOD START
##EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0733} "${INPUT_KKIFE070} ${COMULD2_KK0321_ALL} ${FILE_KK0081_TG_MINEO}"
#EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0733} "${INPUT_KKIFE070} ${FILE_KK0321_TG} ${FILE_KK0081_TG_MINEO}"
## ANK-3971-00-00 MOD END

EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0733} "${INPUT_KKIFE070_FILTERED} ${FILE_KK0321_TG} ${FILE_KK0081_TG_MINEO}"
# ANK-3846-00-00対応 20220425 星野 MOD END
EXEC_MATCHING ${FILE_KKIFE070_01_MINEO} ${MATCHING_QUERY_WORK}

#
#--- クレジット審査処理結果リストファイルからmineo以外のデータ抽出を行う(マッチング)
#
# ANK-3846-00-00対応 20220425 星野 MOD START
## ANK-3971-00-00 MOD START
##EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0734} "${INPUT_KKIFE070} ${COMULD2_KK0321_ALL} ${FILE_KK0081_TG_OTHER} ${FILE_KK1681}"
#EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0734} "${INPUT_KKIFE070} ${FILE_KK0321_TG} ${FILE_KK0081_TG_OTHER} ${FILE_KK1681}"
## ANK-3971-00-00 MOD END

EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0734} "${INPUT_KKIFE070_FILTERED} ${FILE_KK0321_TG} ${FILE_KK0081_TG_OTHER} ${FILE_KK1681}"
# ANK-3846-00-00対応 20220425 星野 MOD END
EXEC_MATCHING ${FILE_KKIFE070_01_OTHER} ${MATCHING_QUERY_WORK}

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

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

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

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

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

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

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

#
#--- クレジット審査処理結果対象ファイル(結合)
#
cat ${FILE_KKIFE070_02_MINEO_ONLY} > ${FILE_KKIFE070_03_UNION_ALL}
cat ${FILE_KKIFE070_02_MINEO_EO_1} >> ${FILE_KKIFE070_03_UNION_ALL}
cat ${FILE_KKIFE070_02_MINEO_EO_2} >> ${FILE_KKIFE070_03_UNION_ALL}

#
#--- 請求契約番号、サービス契約番号でソート
#
bsortex -sort key=7.10asc,9.10asc -record recform=txtcsv \
    -input file=${FILE_KKIFE070_03_UNION_ALL} reclen=390 \
    -output file=${FILE_KKIFE070_03_UNION_SORT}

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

#
#--- マージ（請求契約番号、サービス契約番号毎の一番下のレコードのみを残す）
#
bsortex -merge key=7.10asc,9.10asc -record recform=txtcsv \
    -input file=${FILE_KKIFE070_03_UNION_SORT} reclen=390 -summary suppress last \
    -output file=${FILE_KKIFE070_03_UNION}

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

#
#--- クレカ有効期限切れダウンロードリスト(eo用)ワークファイルの作成を行う(マッチング)
#
EDIT_MATCHING_QUERY ${DEFFILE_KK_CM_0738} "${FILE_KKIFE070_03_UNION} ${COMULD2_KK0241_CUR} ${FILE_ZM0171_14} ${FILE_CK0201_TG} ${FILE_KK0521_CUR} ${FILE_KK0531}"
EXEC_MATCHING ${FILE_KKIFM921_ALL} ${MATCHING_QUERY_WORK}

#
#--- 請求契約番号、サービス契約番号でソート
#
bsortex -sort key=2.10asc,3.10asc -record recform=txtcsv \
    -input file=${FILE_KKIFM921_ALL} reclen=897 \
    -output file=${FILE_KKIFM921_SORT}

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

#
#--- マージ（請求契約番号、サービス契約番号毎の一番下のレコードのみを残す）
#
bsortex -merge key=2.10asc,3.10asc -record recform=txtcsv \
    -input file=${FILE_KKIFM921_SORT} reclen=897 -summary suppress last \
    -output file=${FILE_KKIFM921}

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

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

P1="OPD=$OPD,"
P2="SVCCTL=JBSbatUnitServiceControl,"
P3="JOB=EO2HI0210J0,"
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}/KKIFM921.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_KK1681}
rm -f ${FILE_KK0521_CUR}
rm -f ${FILE_KK0531}
rm -f ${FILE_ZM0171_14}
rm -f ${FILE_CK0201_TG}
rm -f ${FILE_KK0081_TG_MINEO}
rm -f ${FILE_KK0081_TG_OTHER}
rm -f ${FILE_KKIFE070_01_MINEO}
rm -f ${FILE_KKIFE070_01_OTHER}
rm -f ${FILE_KKIFE070_02_MINEO_ONLY_TMP}
rm -f ${FILE_KKIFE070_02_MINEO_ONLY}
rm -f ${FILE_KKIFE070_02_MINEO_EO_1_TMP}
rm -f ${FILE_KKIFE070_02_MINEO_EO_1}
rm -f ${FILE_KKIFE070_02_MINEO_EO_2}
rm -f ${FILE_KKIFE070_03_UNION_ALL}
rm -f ${FILE_KKIFE070_03_UNION_SORT}
rm -f ${FILE_KKIFE070_03_UNION}
rm -f ${FILE_KKIFM921_ALL}
rm -f ${FILE_KKIFM921_SORT}
rm -f ${FILE_KKIFM921}
# ANK-3971-00-00 ADD START
rm -f ${FILE_KK0321_TG}
# ANK-3971-00-00 ADD END
# ANK-3846-00-00対応 20220425 星野 ADD START
rm -f ${INPUT_KKIFE070_FILTERED}
rm -f ${INPUT_KKIFE070_FILTERED_TMP}
# ANK-3846-00-00対応 20220425 星野 ADD END

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

exit $exit_rc
