#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：コンテンツ事業者間精算情報作成
#
# 機能          ：コンテンツ事業者間精算情報を作成する。
#
# コマンド形式  ：EO31K0210J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v5.00           2013/10/27  FJ）後藤     【OM-2013-0001256】新規作成
# v7.00           2014/03/06  FJ）小掠     【OM-2014-0000840】VIRUSBUSTER_IDの桁数を４０桁から１２８桁に変更
# v10.00          2014/08/20  FJ）後藤     【OM-2014-0002699】ＦＰ開始日・終了日取得条件修正
# v36.00          2018/05/01  FJ）大崎     【ANK-3394-00-00】ＭＶＮＯ案件(５下)：オプション拡充対応他
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#---システム日時取得
. EOK010410J0.sh "2"
SYSDATE=${RSLT_SYSDATE}

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

#- 請求年月取得（料金計算日）
EVENT_CD="03"
. EO3SEIKYYM.sh ${EVENT_CD} ${RSLT_OPEDATE} ${JOBNAME}

#- 月初日取得
EVENT_CD_USE_STA="01"
. EO3EVENTYMD.sh ${EVENT_CD_USE_STA} ${SEIKY_YM} ${JOBNAME}

STA_YMD=${EVENT_YMD}

#- 月末日取得
EVENT_CD_USE_END="02"
. EO3EVENTYMD.sh ${EVENT_CD_USE_END} ${SEIKY_YM} ${JOBNAME}

END_YMD=${EVENT_YMD}

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

#---ワークファイル削除モード
WK_RM=true
##############################################################
# 業務処理
##############################################################
#sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

P1="OPD=,"
P2="SVCCTL=JBSbatMultiServiceControl,"
P3="JOB=EO31K0210J0,"
P4="IND1=ACIFM247.def,"
P5="INF1=${MID_DIR_AC}/ACIFM247001.csv,"
P6="IND2=,"
P7="INF2=,"
P8="OTD1=ACIFM248.def,"
P9="OTF1=${MID_DIR_AC}/ACIFM248001.csv,"
P10="OTD2=ACIFM248.def,"
P11="OTF2=${MID_DIR_AC}/ACIFM248002.csv,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE=ACIFM248.def"
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用SQL
# コンテンツ契約
CN0021_ULD=${SQL_DIR}/AC_U_CN0021_01.sql 
# コンテンツISP課金
CN0081_ULD=${SQL_DIR}/AC_U_CN0081_01.sql
# コンテンツクレカ課金
CN0071_ULD=${SQL_DIR}/AC_U_CN0071_01.sql
# コンテンツ課金訂正
CN0091_ULD=${SQL_DIR}/AC_U_CN0091_01.sql
# 課金先
KK0321_ULD=${SQL_DIR}/AC_U_KK0321_09.sql
# 割引サービス対象契約
KK0481_ULD=${SQL_DIR}/AC_U_KK0481_02.sql
# 割引サービス契約
KK0451_ULD=${SQL_DIR}/AC_U_KK0451_02.sql
# サービス契約
KK0081_ULD=${SQL_DIR}/AC_U_KK0081_12.sql
# お客様
CK0011_ULD=${SQL_DIR}/AC_U_CK0011_04.sql
# コンテンツ契約付加
CN0031_ULD=${SQL_DIR}/AC_U_CN0031_01.sql
# コンテンツサービス
CN0041_ULD=${SQL_DIR}/AC_U_CN0041_01.sql
# コンテンツ事業クレジットカード
CN0101_ULD=${SQL_DIR}/AC_U_CN0101_01.sql
# クレジットカード会社
KK0531_ULD=${SQL_DIR}/AC_U_KK0531_01.sql
#--- v36.00 2018/05/01 ADD START
# 業務パラメータ管理
ZM0321_ULD=${SQL_DIR}/AC_U_ZM0321_03.sql
#--- v36.00 2018/05/01 ADD END

#-- マッチング用def
AC_CM_0063=${G_TOOLSH}/util/def/AC_CM_0063.def
AC_CM_0064=${G_TOOLSH}/util/def/AC_CM_0064.def
AC_CM_0065=${G_TOOLSH}/util/def/AC_CM_0065.def
AC_CM_0066=${G_TOOLSH}/util/def/AC_CM_0066.def
AC_CM_0067=${G_TOOLSH}/util/def/AC_CM_0067.def
AC_CM_0068=${G_TOOLSH}/util/def/AC_CM_0068.def
AC_CM_0069=${G_TOOLSH}/util/def/AC_CM_0069.def

#-- ワークファイル
#- UNLOAD用SQLバインド変数設定後
# コンテンツISP課金
CN0081_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_CN0081_01_WK_1.sql
# コンテンツクレカ課金
CN0071_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_CN0071_01_WK_1.sql
# コンテンツ課金訂正
CN0091_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_CN0091_01_WK_1.sql
# 課金先
KK0321_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_KK0321_09_WK_1.sql
# 割引サービス対象契約
KK0481_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_KK0481_02_WK_1.sql
# 割引サービス契約
KK0451_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_KK0451_02_WK_1.sql
# サービス契約
KK0081_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_KK0081_12_WK_1.sql
# お客様
CK0011_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_CK0011_04_WK_1.sql
# コンテンツサービス
CN0041_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_CN0041_01_WK_1.sql
# コンテンツ事業クレジットカード
CN0101_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_CN0101_01_WK_1.sql
# クレジットカード会社
KK0531_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_KK0531_01_WK_1.sql
#--- v36.00 2018/05/01 ADD START
# 業務パラメータ管理
ZM0321_ULD_WK_1=${SQL_DIR}/${JOBNAME}_AC_U_ZM0321_01_WK_1.sql
#--- v36.00 2018/05/01 ADD END

# マッチング用def変数置換後
AC_CM_0063_WK_1=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0063_WK_1.def
AC_CM_0064_WK_1=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0064_WK_1.def
AC_CM_0065_WK_1=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0065_WK_1.def
AC_CM_0066_WK_1=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0066_WK_1.def
AC_CM_0067_WK_1=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0067_WK_1.def
AC_CM_0068_WK_1=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0068_WK_1.def
AC_CM_0069_WK_1=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0069_WK_1.def

# アンロードファイル
CN0021_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_CN0021.csv
CN0081_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_CN0081.csv
CN0071_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_CN0071.csv
CN0091_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_CN0091.csv
KK0321_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0321.csv
KK0481_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0481.csv
KK0451_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0451.csv
KK0081_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0081.csv
CK0011_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_CK0011.csv
CN0031_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_CN0031.csv
CN0041_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_CN0041.csv
KK0531_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_KK0531.csv
CN0101_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_CN0101.csv
#--- v36.00 2018/05/01 ADD START
ZM0321_ULD_FILE=${MID_DIR_AC}/${JOBNAME}_AC_U_ZM0321.csv
#--- v36.00 2018/05/01 ADD END

# マッチング出力ファイル
MATCHING_0063_OUT=${MID_DIR_AC}/${JOBNAME}_MATCHING_0063_OUT_01.csv
MATCHING_0064_OUT=${MID_DIR_AC}/${JOBNAME}_MATCHING_0064_OUT_01.csv
MATCHING_0065_OUT=${MID_DIR_AC}/${JOBNAME}_MATCHING_0065_OUT_01.csv
MATCHING_0066_OUT=${MID_DIR_AC}/${JOBNAME}_MATCHING_0066_OUT_01.csv
MATCHING_0067_OUT=${MID_DIR_AC}/${JOBNAME}_MATCHING_0067_OUT_01.csv
MATCHING_0068_OUT=${MID_DIR_AC}/${JOBNAME}_MATCHING_0068_OUT_01.csv
MATCHING_0069_OUT=${MID_DIR_AC}/${JOBNAME}_MATCHING_0069_OUT_01.csv

# CN0021_bsort出力ファイル
CN0021_BSORT_01=${MID_DIR_AC}/${JOBNAME}_CN0021_BSORT_01.csv
CN0021_BSORT_02=${MID_DIR_AC}/${JOBNAME}_CN0021_BSORT_02.csv
CN0021_BSORT_03=${MID_DIR_AC}/${JOBNAME}_CN0021_BSORT_03.csv
CN0021_BSORT_04=${MID_DIR_AC}/${JOBNAME}_CN0021_BSORT_04.csv
CN0021_BSORT_05=${MID_DIR_AC}/${JOBNAME}_CN0021_BSORT_05.csv

# CN0021_マージファイル
CN0021_MERGE_01=${MID_DIR_AC}/${JOBNAME}_CN0021_MERGE_01.csv

# CN0081_bsort出力ファイル
CN0081_BSORT_01=${MID_DIR_AC}/${JOBNAME}_CN0081_BSORT_01.csv

# KK0321_bsort出力ファイル
KK0321_BSORT_01=${MID_DIR_AC}/${JOBNAME}_KK0321_BSORT_01.csv
KK0321_BSORT_02=${MID_DIR_AC}/${JOBNAME}_KK0321_BSORT_02.csv

# その他ワークファイル
FP_KEI_BSORT_01=${MID_DIR_AC}/${JOBNAME}_FP_KEI_BSORT_01.csv
ISP_CRECA_CHRG=${MID_DIR_AC}/${JOBNAME}ISP_CRECA_CHRG_01.csv
WRIB_SVC_FILE_01=${MID_DIR_AC}/${JOBNAME}_WRIB_SVC_FILE_01.csv
WRIB_SVC_FILE_02=${MID_DIR_AC}/${JOBNAME}_WRIB_SVC_FILE_02.csv
#--- v36.00 2018/05/01 ADD START
ZM0321_WORK_FILE=${MID_DIR_AC}/${JOBNAME}_ZM0321_WORK.csv
HANYO_WORK_FILE_01=${MID_DIR_AC}/${JOBNAME}_HANYO_WORK_01.csv
HANYO_WORK_FILE_02=${MID_DIR_AC}/${JOBNAME}_HANYO_WORK_02.csv
HANYO_WORK_FILE_03=${MID_DIR_AC}/${JOBNAME}_HANYO_WORK_03.csv
SORT_0064_INFILE=${MID_DIR_AC}/${JOBNAME}_SORT_0064_IN.csv
SORT_0064_OUTFILE=${MID_DIR_AC}/${JOBNAME}_SORT_0064_OUT.csv
#--- v36.00 2018/05/01 ADD END

# java入力ファイル
JAVA_INFILE=${MID_DIR_AC}/ACIFM247001.csv

##############################################################
#--- バインド変数設定
##############################################################
#SQL
sed -e "s/:TRGTYM/'${SEIKY_YM}'/"        ${CN0081_ULD} > ${CN0081_ULD_WK_1}
sed -e "s/:TRGTYM/'${SEIKY_YM}'/"        ${CN0071_ULD} > ${CN0071_ULD_WK_1}
sed -e "s/:TRGTYM/'${SEIKY_YM}'/"        ${CN0091_ULD} > ${CN0091_ULD_WK_1}
sed -e "s/:OPEDATE/'${END_YMD}'/"        ${KK0321_ULD} > ${KK0321_ULD_WK_1}
sed -e "s/:OPEDATE/'${END_YMD}'/"        ${KK0481_ULD} > ${KK0481_ULD_WK_1}
sed -e "s/:OPEDATE/'${END_YMD}'/"        ${KK0451_ULD} > ${KK0451_ULD_WK_1}
sed -e "s/:OPEDATE/'${END_YMD}'/"        ${KK0081_ULD} > ${KK0081_ULD_WK_1}
sed -e "s/:OPEDATE/'${END_YMD}'/"        ${CK0011_ULD} > ${CK0011_ULD_WK_1}
sed -e "s/:OPEDATE/'${END_YMD}'/"        ${CN0041_ULD} > ${CN0041_ULD_WK_1}
sed -e "s/:OPEDATE/'${END_YMD}'/"        ${KK0531_ULD} > ${KK0531_ULD_WK_1}
sed -e "s/:TRGTYM/'${SEIKY_YM}'/"        ${CN0101_ULD} > ${CN0101_ULD_WK_1}
#--- v36.00 2018/05/01 ADD START
sed -e "s/:OPEDATE/'${END_YMD}'/"        ${ZM0321_ULD} > ${ZM0321_ULD_WK_1}
#--- v36.00 2018/05/01 ADD END

# マッチングdef_0063
sed -e    "s%:KK0321_WRIB%${KK0321_BSORT_02}%"     ${AC_CM_0063} > ${AC_CM_0063_WK_1}
sed -i -e "s%:AC_CM_0065%${MATCHING_0065_OUT}%"    ${AC_CM_0063_WK_1}

# マッチングdef_0064
sed -e    "s%:CN0021%${CN0021_MERGE_01}%"      ${AC_CM_0064} > ${AC_CM_0064_WK_1}
sed -i -e "s%:CN0081%${ISP_CRECA_CHRG}%"       ${AC_CM_0064_WK_1}
sed -i -e "s%:CN0091%${CN0091_ULD_FILE}%"      ${AC_CM_0064_WK_1}
sed -i -e "s%:CN0031%${CN0031_ULD_FILE}%"      ${AC_CM_0064_WK_1}
sed -i -e "s%:CN0041%${CN0041_ULD_FILE}%"      ${AC_CM_0064_WK_1}
sed -i -e "s%:KK0081%${KK0081_ULD_FILE}%"      ${AC_CM_0064_WK_1}
sed -i -e "s%:CK0011%${CK0011_ULD_FILE}%"      ${AC_CM_0064_WK_1}
sed -i -e "s%:KK0321_SVC%${KK0321_BSORT_01}%"  ${AC_CM_0064_WK_1}
sed -i -e "s%:KK0451%${FP_KEI_BSORT_01}%"      ${AC_CM_0064_WK_1}

# マッチングdef_0065
sed -e    "s%:KK0481%${KK0481_ULD_FILE}%"    ${AC_CM_0065} > ${AC_CM_0065_WK_1}
sed -i -e "s%:KK0451%${KK0451_ULD_FILE}%"    ${AC_CM_0065_WK_1}

# マッチングdef_0066
sed -e    "s%:KK0481%${WRIB_SVC_FILE_01}%"  ${AC_CM_0066} > ${AC_CM_0066_WK_1}
sed -i -e "s%:CONT%${MATCHING_0064_OUT}%"    ${AC_CM_0066_WK_1}

# マッチングdef_0067
sed -e    "s%:CN0071%${CN0071_ULD_FILE}%"    ${AC_CM_0067} > ${AC_CM_0067_WK_1}
sed -i -e "s%:CN0101%${CN0101_ULD_FILE}%"    ${AC_CM_0067_WK_1}
sed -i -e "s%:KK0531%${KK0531_ULD_FILE}%"    ${AC_CM_0067_WK_1}

# マッチングdef_0068
sed -e    "s%:CN0021_BASE%${CN0021_BSORT_01}%"    ${AC_CM_0068} > ${AC_CM_0068_WK_1}
sed -i -e "s%:CN0021_HUKA%${CN0021_BSORT_05}%"    ${AC_CM_0068_WK_1}

# マッチングdef_0069
sed -e    "s%:CN0021_BASE%${CN0021_BSORT_02}%"    ${AC_CM_0069} > ${AC_CM_0069_WK_1}
sed -i -e "s%:CN0021_HUKA%${CN0021_BSORT_04}%"    ${AC_CM_0069_WK_1}

##############################################################
#--- サブルーチン（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($1:rc=$rc) "
      echo $JOBNAME " unload error($1:rc=$rc) "
      exit ${G_RTN_ERROR}
fi
}

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

##############################################################
#--- UNLOAD（第一弾）
##############################################################

UNLOAD ${CN0021_ULD}      ${CN0021_ULD_FILE} &
pid_ULD_CN0021=$!
UNLOAD ${CN0081_ULD_WK_1} ${CN0081_ULD_FILE} &
pid_ULD_CN0081=$!
UNLOAD ${CN0071_ULD_WK_1} ${CN0071_ULD_FILE} &
pid_ULD_CN0071=$!
UNLOAD ${CN0091_ULD_WK_1} ${CN0091_ULD_FILE} &
pid_ULD_CN0091=$!
UNLOAD ${KK0321_ULD_WK_1} ${KK0321_ULD_FILE} &
pid_ULD_KK0321=$!
UNLOAD ${KK0481_ULD_WK_1} ${KK0481_ULD_FILE} &
pid_ULD_KK0481=$!
UNLOAD ${KK0451_ULD_WK_1} ${KK0451_ULD_FILE} &
pid_ULD_KK0451=$!
UNLOAD ${KK0531_ULD_WK_1} ${KK0531_ULD_FILE} &
pid_ULD_KK0531=$!
UNLOAD ${CN0101_ULD_WK_1} ${CN0101_ULD_FILE} &
pid_ULD_CN0101=$!

# UNLOAD処理待ち受け
wait ${pid_ULD_CN0021}
rc_ULD_CN0021=$?
wait ${pid_ULD_CN0081}
rc_ULD_CN0081=$?
wait ${pid_ULD_CN0071}
rc_ULD_CN0071=$?
wait ${pid_ULD_CN0091}
rc_ULD_CN0091=$?
wait ${pid_ULD_KK0321}
rc_ULD_KK0321=$?
wait ${pid_ULD_KK0481}
rc_ULD_KK0481=$?
wait ${pid_ULD_KK0451}
rc_ULD_KK0451=$?
wait ${pid_ULD_KK0531}
rc_ULD_KK0531=$?
wait ${pid_ULD_CN0101}
rc_ULD_CN0101=$?

# 処理結果判定
if [ ${rc_ULD_CN0021} -ne 0 ] || [ ${rc_ULD_CN0081} -ne 0 ] || [ ${rc_ULD_CN0071} -ne 0 ] || [ ${rc_ULD_CN0091} -ne 0 ] || [ ${rc_ULD_KK0321} -ne 0 ] || [ ${rc_ULD_KK0481} -ne 0 ] || [ ${rc_ULD_KK0451} -ne 0 ] || [ ${rc_ULD_KK0531} -ne 0 ] || [ ${rc_ULD_CN0101} -ne 0 ]
then

    # エラーメッセージ出力
    if [ ${rc_ULD_CN0021} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_CN0021:rc=${rc_ULD_CN0021}) "
        echo $JOBNAME " UNLOAD Error(ULD_CN0021:rc=${rc_ULD_CN0021}) "
    fi
    if [ ${rc_ULD_CN0081} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_CN0081:rc=${rc_ULD_CN0081}) "
        echo $JOBNAME " UNLOAD Error(ULD_CN0081:rc=${rc_ULD_CN0081}) "
    fi
    if [ ${rc_ULD_CN0071} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_CN0071:rc=${rc_ULD_CN0071}) "
        echo $JOBNAME " UNLOAD Error(ULD_CN0071:rc=${rc_ULD_CN0071}) "
    fi
    if [ ${rc_ULD_CN0091} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_CN0091:rc=${rc_ULD_CN0091}) "
        echo $JOBNAME " UNLOAD Error(ULD_CN0091:rc=${rc_ULD_CN0091}) "
    fi
    if [ ${rc_ULD_KK0321} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_KK0321:rc=${rc_ULD_KK0321}) "
        echo $JOBNAME " UNLOAD Error(ULD_KK0321:rc=${rc_ULD_KK0321}) "
    fi
    if [ ${rc_ULD_KK0481} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_KK0481:rc=${rc_ULD_KK0481}) "
        echo $JOBNAME " UNLOAD Error(ULD_KK0481:rc=${rc_ULD_KK0481}) "
    fi
    if [ ${rc_ULD_KK0451} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_KK0451:rc=${rc_ULD_KK0451}) "
        echo $JOBNAME " UNLOAD Error(ULD_KK0451:rc=${rc_ULD_KK0451}) "
    fi
    if [ ${rc_ULD_KK0531} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_KK0531:rc=${rc_ULD_KK0531}) "
        echo $JOBNAME " UNLOAD Error(ULD_KK0531:rc=${rc_ULD_KK0531}) "
    fi
    if [ ${rc_ULD_CN0101} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_CN0101:rc=${rc_ULD_CN0101}) "
        echo $JOBNAME " UNLOAD Error(ULD_CN0101:rc=${rc_ULD_CN0101}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

##############################################################
#--- UNLOAD（第二弾）
##############################################################
UNLOAD ${CN0031_ULD}      ${CN0031_ULD_FILE} &
pid_ULD_CN0031=$!
UNLOAD ${CN0041_ULD_WK_1} ${CN0041_ULD_FILE} &
pid_ULD_CN0041=$!
UNLOAD ${CN0091_ULD_WK_1} ${CN0091_ULD_FILE} &
pid_ULD_CN0091=$!
UNLOAD ${KK0081_ULD_WK_1} ${KK0081_ULD_FILE} &
pid_ULD_KK0081=$!
UNLOAD ${CK0011_ULD_WK_1} ${CK0011_ULD_FILE} &
pid_ULD_CK0011=$!
#--- v36.00 2018/05/01 ADD START
UNLOAD ${ZM0321_ULD_WK_1} ${ZM0321_ULD_FILE} &
pid_ULD_ZM0321=$!
#--- v36.00 2018/05/01 ADD END

# UNLOAD処理待ち受け
wait ${pid_ULD_CN0031}
rc_ULD_CN0031=$?
wait ${pid_ULD_CN0041}
rc_ULD_CN0041=$?
wait ${pid_ULD_CN0091}
rc_ULD_CN0091=$?
wait ${pid_ULD_KK0081}
rc_ULD_KK0081=$?
wait ${pid_ULD_CK0011}
rc_ULD_CK0011=$?
#--- v36.00 2018/05/01 ADD START
wait ${pid_ULD_ZM0321}
rc_ULD_ZM0321=$?
#--- v36.00 2018/05/01 ADD END

# 処理結果判定
#--- v36.00 2018/05/01 MOD START
#if [ ${rc_ULD_CN0031} -ne 0 ] || [ ${rc_ULD_CN0041} -ne 0 ] || [ ${rc_ULD_CN0091} -ne 0 ] || [ ${rc_ULD_KK0081} -ne 0 ] || [ ${rc_ULD_CK0011} -ne 0 ]
if [ ${rc_ULD_CN0031} -ne 0 ] || [ ${rc_ULD_CN0041} -ne 0 ] || [ ${rc_ULD_CN0091} -ne 0 ] || [ ${rc_ULD_KK0081} -ne 0 ] || [ ${rc_ULD_CK0011} -ne 0 ] || [ ${rc_ULD_ZM0321} -ne 0 ]
#--- v36.00 2018/05/01 MOD END
then

    # エラーメッセージ出力
    if [ ${rc_ULD_CN0031} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_CN0031:rc=${rc_ULD_CN0031}) "
        echo $JOBNAME " UNLOAD Error(ULD_CN0031:rc=${rc_ULD_CN0031}) "
    fi
    if [ ${rc_ULD_CN0041} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_CN0041:rc=${rc_ULD_CN0041}) "
        echo $JOBNAME " UNLOAD Error(ULD_CN0041:rc=${rc_ULD_CN0041}) "
    fi
    if [ ${rc_ULD_CN0091} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_CN0091:rc=${rc_ULD_CN0091}) "
        echo $JOBNAME " UNLOAD Error(ULD_CN0091:rc=${rc_ULD_CN0091}) "
    fi
    if [ ${rc_ULD_KK0081} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_KK0081:rc=${rc_ULD_KK0081}) "
        echo $JOBNAME " UNLOAD Error(ULD_KK0081:rc=${rc_ULD_KK0081}) "
    fi
    if [ ${rc_ULD_CK0011} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_CK0011:rc=${rc_ULD_CK0011}) "
        echo $JOBNAME " UNLOAD Error(ULD_CK0011:rc=${rc_ULD_CK0011}) "
    fi
#--- v36.00 2018/05/01 ADD START
    if [ ${rc_ULD_ZM0321} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error(ULD_ZM0321:rc=${rc_ULD_ZM0321}) "
        echo $JOBNAME " UNLOAD Error(ULD_ZM0321:rc=${rc_ULD_ZM0321}) "
    fi
#--- v36.00 2018/05/01 ADD END
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

##############################################################
#--- 通常分・無料分項目相互設定
##############################################################
# 処理対象抽出
#
#CONT_PAYWAY_CD ≠ '0' → CN0021_BSORT_01
#CONT_PAYWAY_CD ＝ '0' → CN0021_BSORT_02
#
(
    bsortex -copy -record recform=txtcsv \
      -input reclen=700 file=${CN0021_ULD_FILE} \
      -output case="10.1asc.ne.'0'.and.8.8asc.le.'${END_YMD}'.and.9.8asc.ge.'${STA_YMD}'" file=${CN0021_BSORT_01} \
      -output case="10.1asc.eq.'0'.and.8.8asc.ge.'${STA_YMD}'.and.8.8asc.le.'${END_YMD}'" file=${CN0021_BSORT_02}

    rc=$?
    if [ $rc -ne 0 ]
    then
          exit ${G_RTN_ERROR}
    fi
) &
pid_CN0021_SORT_1=$!

# 情報付加用データ抽出
#
#CONT_PAYWAY_CD ≠ '0' → CN0021_BSORT_03
#CONT_PAYWAY_CD ＝ '0'AND CONT_SVC_CD='0008' or '0069' → CN0021_BSORT_05
#
(
    bsortex -copy -record recform=txtcsv \
      -input reclen=700 file=${CN0021_ULD_FILE} \
      -output case="10.1asc.ne.'0'.and.8.8asc.ge.'${STA_YMD}'.and.8.8asc.le.'${END_YMD}'" file=${CN0021_BSORT_03} \
              reconst="0.12,2.10,3.4,1.10" \
      -output case="10.1asc.eq.'0'.and.8.8asc.le.'${END_YMD}'.and.9.8asc.ge.'${STA_YMD}'.and.(3.4asc.eq.'0008'.or.3.4asc.eq.'0069')" file=${CN0021_BSORT_05} \
              reconst="0.12,2.10,3.4"

    rc=$?
    if [ $rc -ne 0 ]
    then
          exit ${G_RTN_ERROR}
    fi

    # 情報付加用（通常）を最新1件にする
    bsortex -sort key="1.10asc,2.4asc,0.12ascr" -record recform=txtcsv \
      -input reclen=700 file=${CN0021_BSORT_03} \
      -output \
    |bsortex -merge key="1.10asc,2.4asc" -record recform=txtcsv \
      -input reclen=700 \
      -output file=${CN0021_BSORT_04} \
      -summary suppress first

    rc=$?
    if [ $rc -ne 0 ]
    then
          exit ${G_RTN_ERROR}
    fi
) &
pid_CN0021_SORT_2=$!

# ソート処理待ち受け
wait ${pid_CN0021_SORT_1}
rc_CN0021_SORT_1=$?

wait ${pid_CN0021_SORT_2}
rc_CN0021_SORT_2=$?

# 処理結果判定
if [ ${rc_CN0021_SORT_1} -ne 0 ] || [ ${rc_CN0021_SORT_2} -ne 0 ]
then

    # エラーメッセージ出力
    if [ ${rc_CN0021_SORT_1} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Sort Error(sort_CN0021_1:rc=${rc_CN0021_SORT_1}) "
        echo $JOBNAME " Sort Error(sort_CN0021_1:rc=${rc_CN0021_SORT_1}) "
    fi
    if [ ${rc_CN0021_SORT_2} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Sort Error(sort_CN0021_2:rc=${rc_CN0021_SORT_2}) "
        echo $JOBNAME " Sort Error(sort_CN0021_2:rc=${rc_CN0021_SORT_2}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

# 情報付加
MATCHING ${MATCHING_0068_OUT} ${AC_CM_0068_WK_1} &
pid_0068=$!
MATCHING ${MATCHING_0069_OUT} ${AC_CM_0069_WK_1} &
pid_0069=$!

# マッチング処理待ち受け
wait ${pid_0068}
rc_0068=$?

wait ${pid_0069}
rc_0069=$?

# 処理結果判定
if [ ${rc_0068} -ne 0 ] || [ ${rc_0069} -ne 0 ]
then

    # エラーメッセージ出力
    if [ ${rc_0068} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Matching Error(matching_0068:rc=${rc_0068}) "
        echo $JOBNAME " Matching Error(matching_0068:rc=${rc_0068}) "
    fi
    if [ ${rc_0069} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Matching Error(matching_0069:rc=${rc_0069}) "
        echo $JOBNAME " Matching Error(matching_0069:rc=${rc_0069}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

# 通常分・無料分マージ
cat ${MATCHING_0068_OUT} ${MATCHING_0069_OUT} > ${CN0021_MERGE_01}

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

##############################################################
#--- FP情報設定
##############################################################
# 課金先からサービス契約番号が設定されているもののみ抽出
(
    bsortex -copy -record recform=txtcsv \
      -input reclen=50 include="1.10asc.ge.'0'" file=${KK0321_ULD_FILE} \
      -output file=${KK0321_BSORT_01} &

    rc=$?
    if [ $rc -ne 0 ]
    then
          exit ${G_RTN_ERROR}
    fi
) &
pid_KK0321_SORT_1=$!

# 課金先から割引サービス契約番号が設定されているもののみ抽出
(
    bsortex -copy -record recform=txtcsv \
       -input reclen=50 include="2.12asc.ge.'0'" file=${KK0321_ULD_FILE} \
       -output file=${KK0321_BSORT_02}

    rc=$?
    if [ $rc -ne 0 ]
    then
          exit ${G_RTN_ERROR}
    fi
) &
pid_KK0321_SORT_1=$!

wait ${pid_KK0321_SORT_1}
rc_KK0321_SORT_1=$?

wait ${pid_KK0321_SORT_2}
rc_KK0321_SORT_2=$?

# 処理結果判定
if [ ${rc_KK0321_SORT_1} -ne 0 ] || [ ${rc_KK0321_SORT_2} -ne 0 ]
then

    # エラーメッセージ出力
    if [ ${rc_KK0321_SORT_1} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Sort Error(sort_CN0021_1:rc=${rc_KK0321_SORT_1}) "
        echo $JOBNAME " Sort Error(sort_CN0021_1:rc=${rc_KK0321_SORT_1}) "
    fi
    if [ ${rc_KK0321_SORT_2} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Sort Error(sort_CN0021_2:rc=${rc_KK0321_SORT_2}) "
        echo $JOBNAME " Sort Error(sort_CN0021_2:rc=${rc_KK0321_SORT_2}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

# マッチング (割引サービス契約 - 割引サービス対象契約)
MATCHING ${MATCHING_0065_OUT} ${AC_CM_0065_WK_1} 

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

(
    # 上記0065マッチング結果と課金先をマッチング
    MATCHING ${MATCHING_0063_OUT} ${AC_CM_0063_WK_1}

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

    # 割引サービス対象契約適用開始年月日が最新のレコードを抽出
    bsortex -sort key="0.10asc,1.8asc" -record recform=txtcsv \
      -input reclen=50 file=${MATCHING_0063_OUT} \
    |bsortex -merge key="0.10asc" -record recform=txtcsv \
      -input reclen=50 \
      -output file=${FP_KEI_BSORT_01} \
      -summary suppress last

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

(
    # 上記0065マッチング結果から、月末時点で有効な割引のみを抽出
    bsortex -copy -record recform=txtcsv \
       -input reclen=50 include="1.8asc.le.'${END_YMD}'.and.2.8asc.ge.'${END_YMD}'" file=${MATCHING_0065_OUT} \
       -output file=${WRIB_SVC_FILE_01} reconst="0.10,1.8,2.8"
    
    rc=$?
    if [ $rc -ne 0 ]
    then
          sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Sort error(sort:rc=$rc) "
          echo $JOBNAME " Sort error(sort:rc=$rc) "
          exit ${G_RTN_ERROR}
    fi
) &
pid_0065_bsort=$!

wait ${pid_0063}
rc_0063=$?

wait ${pid_0065_bsort}
rc_0065=$?

# 処理結果判定
if [ ${rc_0063} -ne 0 ] || [ ${rc_0065} -ne 0 ]
then

    # エラーメッセージ出力
    if [ ${rc_0068} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Matching Error(matching_0063:rc=${rc_0063}) "
        echo $JOBNAME " Matching Error(matching_0063:rc=${rc_0063}) "
    fi
    if [ ${rc_0065} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Matching Error(matching_0065:rc=${rc_0065}) "
        echo $JOBNAME " Matching Error(matching_0065:rc=${rc_0065}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

##############################################################
#--- クレカ決済方法設定
##############################################################

MATCHING ${MATCHING_0067_OUT} ${AC_CM_0067_WK_1}

##############################################################
#--- MATCHING
##############################################################
# ISPとクレカマージ
cat ${CN0081_ULD_FILE} ${MATCHING_0067_OUT} > ${ISP_CRECA_CHRG}

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

# マッチング
MATCHING ${MATCHING_0064_OUT} ${AC_CM_0064_WK_1} 

MATCHING ${MATCHING_0066_OUT} ${AC_CM_0066_WK_1}

##############################################################
#--- FPのみを抽出
##############################################################
bsortex -copy -record recform=txtcsv \
   -input reclen=1500 include="1.10asc.lt.'0'" file=${MATCHING_0066_OUT} \
   -output file=${WRIB_SVC_FILE_02}

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

#--- v36.00 2018/05/01 ADD START
##############################################################
#--- 汎用項目値を編集
#
#    汎用項目値はDB上で4000Byteで管理されているが、
#    対象コンテンツに連携される値※は256Byte以下を想定し設定する
#    ※値の一部例  内部ID \ 初期ID \ 初期PW
##############################################################
#---  ダブルクォーテーション削除
sed -e 's/"//g' ${ZM0321_ULD_FILE} > ${ZM0321_WORK_FILE}

BSORT_DEF_0064="@ISP_KSSAI_SVC_KEI_NO=0.10 @SEIKY_KEI_NO=1.10 @EOID=2.80 @SYSID=3.10 @KEISHA_TYPE_CD=4.1 @CONT_SVC_CD=5.4 @CONT_SVC_NM=6.242 @CONT_CD=7.6 @CONT_NM=8.242 @CONT_KEI_STA_DTM=9.14 @CONT_KEI_END_DTM=10.14 @KSSAI_WAY=11.242 @SUPPLIER=12.242 \
                @CONT_TANKA=13.12 @CONT_BUY_CNT=14.4 @CHRG_AMNT=15.12 @TEISE_AMNT=16.12 @DAMMY=17.12 @SVC_STA_YMD=18.8 @WRISVC_TG_KEI_TSTAYMD=19.8 @SVC_ENDYMD=20.8 @VIRUSBUSTER_ID=21.128 @TRENDMICRO_CEREAL_NO=22.128 @CONT_KEI_NO=23.12 @CONT_PAYWAY_CD=24.1 @HANYO_VALUE_BF=25.256 @HANYO_VALUE_AF=26.256"

# １回目はマッチングした結果から抽出を行う
cp -f ${MATCHING_0064_OUT} ${SORT_0064_INFILE}
cat /dev/null > ${HANYO_WORK_FILE_02}

# コンテンツサービスコードの件数分処理を行う
while read line1
do
    # コンテンツサービスコード、編集位置の取得
    TRGT_CONT_SVC_CD=`echo ${line1} | cut -d ',' -f 1`
    TRGT_POSITION=`echo ${line1} | cut -d ',' -f 2`
    cat /dev/null > ${HANYO_WORK_FILE_01}

    # コンテンツサービスコードと一致したレコードを抽出
    # また一致しなかったレコードを退避する。（次回入力ファイル）
    bsortex -define ${BSORT_DEF_0064} -copy -record recform=txtcsv \
            -input file=${SORT_0064_INFILE} reclen=1800 \
            -output file=${HANYO_WORK_FILE_01} case="@CONT_SVC_CDasc.eq.'${TRGT_CONT_SVC_CD}'" \
            -output file=${SORT_0064_OUTFILE} case=other

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

    # 抽出したレコードの件数分処理を行う
    while read line2
    do
        # 汎用項目値を取得
        HANYO_VALUE_ORG=`echo ${line2} | sed -e 's/"//g' | cut -d ',' -f 26`
        # 設定値
        HANYO_VALUE=
        # 作業用
        _HANYO_VALUE=
        # 汎用項目値の項目数
        HANYO_VALUE_CNT=0
        for bind in ${HANYO_VALUE_ORG}
        do
            HANYO_VALUE_CNT=`expr ${HANYO_VALUE_CNT} + 1`
        done

        # 編集位置の数分処理を行う
        for bind in ${TRGT_POSITION}
        do
            # 編集位置の指定が項目数を超えている場合は処理を行わない
            if [ $bind -gt $HANYO_VALUE_CNT ]
            then
                continue
            fi

            _HANYO_VALUE=`echo ${HANYO_VALUE_ORG} | cut -d ' ' -f $bind`
            if [ "${_HANYO_VALUE}" != "" ]
            then
                if [ "${HANYO_VALUE}" != "" ]
                then
                    # ２回目以降の処理
                    HANYO_VALUE=${HANYO_VALUE}／${_HANYO_VALUE}
                else
                    # １回目の処理
                    HANYO_VALUE=${_HANYO_VALUE}
                fi
            fi
        done

        # 現在処理中のレコードに編集後の汎用項目値を付加しファイル出力する
        echo ${line2}",${HANYO_VALUE}" >> ${HANYO_WORK_FILE_02}

    done < ${HANYO_WORK_FILE_01}

    # ２回目以降は一致しなかった結果から抽出を行う
    mv -f ${SORT_0064_OUTFILE} ${SORT_0064_INFILE}

done < ${ZM0321_WORK_FILE}

# シリアル番号に汎用項目値_編集後を設定
bsortex -define ${BSORT_DEF_0064} -copy -record recform=txtcsv \
        -input file=${HANYO_WORK_FILE_02} reclen=2100 \
        -output file=${HANYO_WORK_FILE_03} \
                reconst="@ISP_KSSAI_SVC_KEI_NO,@SEIKY_KEI_NO,@EOID,@SYSID,@KEISHA_TYPE_CD,@CONT_SVC_CD,@CONT_SVC_NM,@CONT_CD,@CONT_NM,@CONT_KEI_STA_DTM,@CONT_KEI_END_DTM,@KSSAI_WAY,@SUPPLIER,@CONT_TANKA,@CONT_BUY_CNT,@CHRG_AMNT,@TEISE_AMNT,@DAMMY,@SVC_STA_YMD,@WRISVC_TG_KEI_TSTAYMD,@SVC_ENDYMD,@VIRUSBUSTER_ID,@HANYO_VALUE_AF,@CONT_KEI_NO,@CONT_PAYWAY_CD,EMPTY"

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

# 編集を行ったレコードとそれ以外をファイル結合する
bsortex -define ${BSORT_DEF_0064} -sort key="@CONT_SVC_CDasc,@CONT_KEI_NOasc" -record recform=txtcsv \
        -input reclen=1800 file=${HANYO_WORK_FILE_03},${SORT_0064_INFILE} \
        -output file=${MATCHING_0064_OUT} \
                reconst="@ISP_KSSAI_SVC_KEI_NO,@SEIKY_KEI_NO,@EOID,@SYSID,@KEISHA_TYPE_CD,@CONT_SVC_CD,@CONT_SVC_NM,@CONT_CD,@CONT_NM,@CONT_KEI_STA_DTM,@CONT_KEI_END_DTM,@KSSAI_WAY,@SUPPLIER,@CONT_TANKA,@CONT_BUY_CNT,@CHRG_AMNT,@TEISE_AMNT,@DAMMY,@SVC_STA_YMD,@WRISVC_TG_KEI_TSTAYMD,@SVC_ENDYMD,@VIRUSBUSTER_ID,@TRENDMICRO_CEREAL_NO,@CONT_KEI_NO,@CONT_PAYWAY_CD"

rc=$?
if [ $rc -ne 0 ]
then
  sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " Sort error(sort:rc=$rc) "
  echo $JOBNAME " Sort error(sort:rc=$rc) "
  exit ${G_RTN_ERROR}
fi
#--- v36.00 2018/05/01 ADD END

# ソート コンテンツサービスコード、コンテンツ契約番号
bsortex -sort key="5.4asc,23.99asc" -record recform=txtcsv \
   -input reclen=1500 file=${MATCHING_0064_OUT},${WRIB_SVC_FILE_02} \
   -output file=${JAVA_INFILE}

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

#
#---ＡＰＬ起動
#

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 ${CN0081_ULD_WK_1}
    rm -f ${CN0071_ULD_WK_1}
    rm -f ${CN0091_ULD_WK_1}
    rm -f ${KK0321_ULD_WK_1}
    rm -f ${KK0481_ULD_WK_1}
    rm -f ${KK0451_ULD_WK_1}
    rm -f ${KK0081_ULD_WK_1}
    rm -f ${CK0011_ULD_WK_1}
    rm -f ${CN0041_ULD_WK_1}
    rm -f ${CN0101_ULD_WK_1}
    rm -f ${KK0531_ULD_WK_1}
#--- v36.00 2018/05/01 ADD START
    rm -f ${ZM0321_ULD_WK_1}
#--- v36.00 2018/05/01 ADD END
    rm -f ${AC_CM_0063_WK_1}
    rm -f ${AC_CM_0064_WK_1}
    rm -f ${AC_CM_0065_WK_1}
    rm -f ${AC_CM_0066_WK_1}
    rm -f ${AC_CM_0067_WK_1}
    rm -f ${AC_CM_0068_WK_1}
    rm -f ${AC_CM_0069_WK_1}
    rm -f ${CN0021_ULD_FILE}
    rm -f ${CN0081_ULD_FILE}
    rm -f ${CN0071_ULD_FILE}
    rm -f ${CN0091_ULD_FILE}
    rm -f ${KK0321_ULD_FILE}
    rm -f ${KK0481_ULD_FILE}
    rm -f ${KK0451_ULD_FILE}
    rm -f ${KK0081_ULD_FILE}
    rm -f ${CK0011_ULD_FILE}
    rm -f ${CN0031_ULD_FILE}
    rm -f ${CN0041_ULD_FILE}
    rm -f ${KK0531_ULD_FILE}
    rm -f ${CN0101_ULD_FILE}
#--- v36.00 2018/05/01 ADD START
    rm -f ${ZM0321_ULD_FILE}
#--- v36.00 2018/05/01 ADD END
    rm -f ${MATCHING_0063_OUT}
    rm -f ${MATCHING_0064_OUT}
    rm -f ${MATCHING_0065_OUT}
    rm -f ${MATCHING_0066_OUT}
    rm -f ${MATCHING_0067_OUT}
    rm -f ${MATCHING_0068_OUT}
    rm -f ${MATCHING_0069_OUT}
    rm -f ${CN0021_BSORT_01}
    rm -f ${CN0021_BSORT_02}
    rm -f ${CN0021_BSORT_03}
    rm -f ${CN0021_BSORT_04}
    rm -f ${CN0021_BSORT_05}
    rm -f ${CN0021_MERGE_01}
    rm -f ${CN0081_BSORT_01}
    rm -f ${KK0321_BSORT_01}
    rm -f ${KK0321_BSORT_02}
    rm -f ${FP_KEI_BSORT_01}
    rm -f ${ISP_CRECA_CHRG}
    rm -f ${WRIB_SVC_FILE_01}
    rm -f ${WRIB_SVC_FILE_02}
#--- v36.00 2018/05/01 ADD START
    rm -f ${ZM0321_WORK_FILE}
    rm -f ${HANYO_WORK_FILE_01}
    rm -f ${HANYO_WORK_FILE_02}
    rm -f ${HANYO_WORK_FILE_03}
    rm -f ${SORT_0064_INFILE}
    rm -f ${SORT_0064_OUTFILE}
#--- v36.00 2018/05/01 ADD END
fi

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

exit $exit_rc
