#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：請求収納
#
# シェル名      ：督促ステータス一括更新
#
# 機能          ：
#(1)Shell実行判定とJavaアプリ実行前準備
#　(1)-1-1.ディレイド処理依頼情報. 処理結果 = 正常の場合(1)-2へ進む。
#　(1)-1-2.上記以外（ディレイド処理依頼情報ファイルなしの場合も含む）の場合、処理終了（戻り値：正常）
#　(1)-2.ディレイド処理依頼番号を取得する。
#　(1)-3.督促ステータス更新処理多重度を取得する。
#　(1)-4.多重で動作させる為に、督促ステータス一括更新指示ファイルを分割する。
#　(1)-5.次シェル(EO61Y0113D0.sh)に値を渡すための引き継ぎファイルを作成する。
#
#(2)Javaアプリ実行(多重実行)
#　(2)-1.以下の値をFREE項目に設定しJavaアプリを実行する。
#
#　FREE項目
#　　１つ目：ディレイド処理依頼情報．ディレイド処理依頼番号
#　　２つ目：エンコード
#　　３つ目：督促ステータス一括更新処理正常終了フラグファイル パス
#　　４つ目：督促ステータス一括更新指示ファイル分割行数
#
#　一括登録指示された督促ステータス一括更新指示ファイルの形式チェック、設定内容チェックを行い、
#　チェックＮＧとなった場合、督促ステータス一括更新エラーファイルへ出力する。
#　チェックＯＫとなった場合、「督促」スキーマに督促ステータスを反映する。
#　また、督促ステータス更新に成功した場合は督促履歴、料金履歴に登録し、
#　対応履歴表示フラグ「１」が設定されている場合は、対応記録関連のスキーマに登録を行う。
#　（対応履歴サービスＩ／Ｆ部品使用）
#　処理終了後に督促ステータス一括更新処理正常終了フラグファイルを出力する。
#
#　(2)-2.多重起動したJavaの全処理が終わるまで待機する。
#
#(3)処理終了（戻り値：正常）
#
# コマンド形式  ：EO61Y0111D0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v3.00           2012/10/04  FJ）後藤     【ST2-2012-0001728】1つ目のJOBは親シェルから起動するように修正
# v4.00           2013/05/21  FJ) 前田     【TA1-2013-0000026】バッチ運用日を日中バッチ運用日から取得するように修正
# v5.00           2013/08/14  FJ) 早崎     【IT1-2013-0001591】free項目：文字コードを変更(S-JIS⇒MS932)
# v7.00           2013/02/25  FJ) 江森     【OM-2014-0000893】多重起動対応
# v41.00          2019/03/04  FJ) 原田     【ANK-3396-00-00】 督促ステータス一括更新処理多重化対応
# v41.00          2019/05/12  FJ) 原田     【OM-2019-0000382】 エラーリストが出力されない
# v41.01          2019/10/28  FJ) 原田     【OM-2019-0000382】 エラーリストが出力されない(v41.00にて埋め込んだログ出力を合わせて削除)
# v49.00          2020/04/10  FJ) 荒木     【OM-2019-0000382】 エラーリストが出力されない(Java処理待機終了後を別シェルに切り出し)
# v56.00          2021/11/17  FJ) 吉田     【ANK-4093-00-00】早期利用停止対象登録自動化
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#---日中運用日付取得
if [ "${OPD}" = "" -o "${OPD}" = "20991231" ]; then
   # ANK-3396-00-00 MOD START
   #. EOK010310J0.sh "NDATE"
   . EOK010310J0.sh "ODATE"
   # ANK-3396-00-00 MOD END
fi

#
#---業務で必要な変数定義
#
#---手修正有り

DLYD_TRN_REQ_NO=
DLYD_TRN_RSLT_CD=

#
#---親シェルから渡される引数でファイル名作成
#
# FN1=CHIFM109004_XXXXXXXXXXXXXX
# FN2=CHLST05501_XXXXXXXXXXXXXX
# FN3=CHIFM126001_XXXXXXXXXXXXXX
#
FN1=$2
FN2=$3
FN3=$4

ENCODE=MS932

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

# ディレイド処理依頼情報ファイルが存在する場合
if [ -f ${FN1} ] ; then
    nkf -Lu < ${FN1} > ${FN1}"_tmp1"
    # ディレイド処理依頼情報が0バイトなら終了
    if [ `wc -c ${FN1}"_tmp1" | awk '{print $1}'` -eq 0 ] ; then
        rm -f ${FN1}"_tmp1"
        sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
        exit ${G_RTN_NORMAL}
    fi
     # 処理結果 ≠ 1 なら終了
    if [ `head -1 ${FN1}"_tmp1" | awk -F, '{print $2}'` -ne '1' ] ; then
        rm -f ${FN1}"_tmp1"
        sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
        exit ${G_RTN_NORMAL}
    fi
# ディレイド処理依頼情報ファイルが存在しない場合終了
else
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    exit ${G_RTN_NORMAL}
fi
# ディレイド処理依頼番号取得
DLYD_TRN_REQ_NO=`head -1 ${FN1}"_tmp1" | awk -F, '{print $1}'`


# ANK-3396-00-00 MOD START
##
##---パラメタ定義
##
#
#P1="OPD=${RSLT_OPEDATE},"
#P2="SVCCTL=JBSbatMatchServiceControl,"
#P3="JOB=EO61Y0111D0,"
#P4="IND1=CHIFM126.def,"
#P5="INF1=${FN3},"
#P6="IND2=CHIFM118.def,"
#P7="INF2=${FN3},"
#P8="OTD1=CHIFM127.def,"
#P9="OTF1=${FN2},"
#P10="OTD2=,"
#P11="OTF2=,"
#P12="TABLENAME=,"
#P13="SQLKEY=,"
#P14="SQLPARAM=,"
#P15="ERRFILE=,"
#P16="RECOVERY=,"
#P17="BREAKPTN=,"
#P18="FREE=${DLYD_TRN_REQ_NO};${ENCODE}"
#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=$?

#----------------------------------------------------------------------------------------------------
#--- 業務パラメータ取得
#----------------------------------------------------------------------------------------------------
SQLFILE_ZM0321_01=${SQL_DIR}/CH_U_ZM0321_01.sql
SQLFILE_ZM0321_01_WRK=${SQL_DIR}/${JOBNAME}_CH_U_ZM0321_01_WRK.sql

KEY_WORK_PARAM_ID=CH_CHPRC07001_TAJUDO

CSVFILE_ZM0321_01_UNLOAD_WRK=${MID_DIR_CH}/${JOBNAME}_ZM0321_01_UNLOADER_WRK.csv

#- パラメータセット
#--- 0.業務パラメータ管理（ZM_M_WORK_PARAM_KNRI）
cp -f ${SQLFILE_ZM0321_01}                                  ${SQLFILE_ZM0321_01_WRK}
sed -i -e "s%\:WORK_PARAM%${KEY_WORK_PARAM_ID}%"            ${SQLFILE_ZM0321_01_WRK}
sed -i -e "s%\:OPE_DATE%'${OPD}'%"                          ${SQLFILE_ZM0321_01_WRK}

#- UNLOAD実行
sh ${G_TOOLSH}/EOKULD03.sh ${SQLFILE_ZM0321_01_WRK} ${CSVFILE_ZM0321_01_UNLOAD_WRK}
rc=$?
if [ $rc -ne 0 ]
then
    # ディレイド処理依頼情報の処理結果コード更新
    DLYD_TRN_RSLT_CD="3"
    echo ${DLYD_TRN_REQ_NO}","${DLYD_TRN_RSLT_CD} > ${FN1}"_tmp1"
    # 改行コードをCRLFにする
    nkf -Lw  < ${FN1}"_tmp1" > ${FN1}
    
    rm -f ${FN1}"_tmp1"
    
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " unload error (OUT:${CSVFILE_ZM0321_01_UNLOAD_WRK} rc=$rc) 業務パラメータのアンロードに失敗しました。"
    echo $JOBNAME " unload error (OUT:${CSVFILE_ZM0321_01_UNLOAD_WRK} rc=$rc) 業務パラメータのアンロードに失敗しました。"
    exit ${G_RTN_ERROR}
fi

#アンロードの結果を取得
SEP_CNT=`cat ${CSVFILE_ZM0321_01_UNLOAD_WRK}`

# 空チェック（文字列が空ならエラー終了）
if [ -z ${SEP_CNT} ]
then
    # ディレイド処理依頼情報の処理結果コード更新
    DLYD_TRN_RSLT_CD="3"
    echo ${DLYD_TRN_REQ_NO}","${DLYD_TRN_RSLT_CD} > ${FN1}"_tmp1"
    # 改行コードをCRLFにする
    nkf -Lw  < ${FN1}"_tmp1" > ${FN1}
    
    rm -f ${FN1}"_tmp1"
    
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " unload error (${CSVFILE_ZM0321_01_UNLOAD_WRK}:rc=$rc) 業務パラメータの取得に失敗しました。"
    echo $JOBNAME " unload error (${CSVFILE_ZM0321_01_UNLOAD_WRK}:rc=$rc) 業務パラメータの取得に失敗しました。"
    exit ${G_RTN_ERROR}
fi

echo "■ 督促ステータス更新処理多重度：${SEP_CNT}"

#--- この時点で必要なくなるのでワーク削除
rm -f ${SQLFILE_ZM0321_01_WRK}
rm -f ${CSVFILE_ZM0321_01_UNLOAD_WRK}

#
# ファイルの分割
#  多重で動作させる為に、ファイルを分割する。
#
FILE_REC_NUM=`cat ${FN3} | wc -l`

#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 ADD START
# ${FN3}からフルパスを外す
RE_FN3=`echo ${FN3} | rev | cut -c 1-30 | rev`

# ${FN3}から拡張子を外す
RE_FN3=`echo ${RE_FN3} | rev | cut -c 5- | rev`
#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 ADD END

if [ ${FILE_REC_NUM} -ne 0 ]
then
    echo "■ 入力ファイル分割実行(全行数：${FILE_REC_NUM})"
    
    # 分割行数：入力ファイル件数(余剰分は削除) / 分割数 + 入力ファイル件数/分割数の余剰分
    FILE_SEP_CNT=`expr ${FILE_REC_NUM} / ${SEP_CNT} + ${FILE_REC_NUM} % ${SEP_CNT}`
    
    echo "分割行数：${FILE_SEP_CNT}"

#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD START
#splitコマンドにてシーケンシャルなファイル名から固定のファイル名に分割
#していた為、シーケンシャルなまま分割するように修正
#    split -l ${FILE_SEP_CNT} ${FN3} ${MID_DIR_CH}/CHIFM126001_split_

    # ファイルを分割する。その際、拡張子を外したシーケンシャルなファイル名で分割出力する
    split -l ${FILE_SEP_CNT} -d ${FN3} ${MID_DIR_CH}/${RE_FN3}_
#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD END

    rc=$?
    if [ $rc -ne 0 ]
    then
        DLYD_TRN_RSLT_CD="3"
        echo ${DLYD_TRN_REQ_NO}","${DLYD_TRN_RSLT_CD} > ${FN1}"_tmp1"
        # 改行コードをCRLFにする
        nkf -Lw  < ${FN1}"_tmp1" > ${FN1}
        
        rm -f ${FN1}"_tmp1"
        
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " split Error($SVC split:rc=$rc) "
        echo $JOBNAME " split Error($SVC split:rc=$rc) "
        exit ${G_RTN_ERROR}
    fi

    # 分割後のファイル名をリネーム
    CNT=1

#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD START
#分割したファイルをファイル名そのままで拡張子付きにリネーム
#    for FILE in `find ${MID_DIR_CH} -maxdepth 1 -name "CHIFM126001_split_*"`; do
#        mv $FILE ${MID_DIR_CH}/CHIFM126001_split_$CNT.csv
#        echo "ファイル_0${CNT}："`cat ${MID_DIR_CH}/CHIFM126001_split_$CNT.csv |  -l`

# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 MOD START
#    for FILE in `find ${MID_DIR_CH} -maxdepth 1 -name "${RE_FN3}_*"`; do
#        mv $FILE $FILE.csv
#        echo "ファイル_0${CNT}："`cat $FILE.csv | wc -l`
    for FILE in `find ${MID_DIR_CH} -maxdepth 1 -name "${RE_FN3}_*" | sort`; do
        mv $FILE $FILE.csv
        LINE_NUM_ARRAY[${CNT}]=`cat $FILE.csv | wc -l`
        echo "ファイル_0${CNT}：${LINE_NUM_ARRAY[${CNT}]}"
# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 MOD END
        CNT=`expr $CNT + 1`
    done
#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD END

else
    # 初期ファイルの生成

#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD START
#初期ファイル名の変更
#    cat /dev/null > ${MID_DIR_CH}/CHIFM126001_split_1.csv
    cat /dev/null > ${MID_DIR_CH}/${RE_FN3}_00.csv
#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD END
fi

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

CNT=1

#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 ADD START
#出力ファイル名に指定するパラメータも親からもらっているシーケンシャルな
#ファイル名に修正

# ${FN2}からフルパスを外す
RE_FN2=`echo ${FN2} | rev | cut -c 1-29 | rev`

# ${FN2}から拡張子を外す
RE_FN2=`echo ${RE_FN2} | rev | cut -c 5- | rev`

#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 ADD END

# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 ADD START
#Javaアプリ実行回数
RUN_CNT=`find ${MID_DIR_CH} -maxdepth 1 -name "${RE_FN3}_*.csv" | wc -l`

# 後続処理のシェルに値を渡すために引き継ぎファイルを作成
echo ${RE_FN2}","${RE_FN3}","${RUN_CNT}","${DLYD_TRN_REQ_NO} > ${MID_DIR_CH}/${JOBNAME}_tmp.csv
# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 ADD END

#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD START
#検索するファイル名の変更
#for filename in `find ${MID_DIR_CH} -maxdepth 1 -name "CHIFM126001_split_*.csv"  | sort`; do
for filename in `find ${MID_DIR_CH} -maxdepth 1 -name "${RE_FN3}_*.csv"  | sort`; do
#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD END

    ARRAY_FILES[$CNT]=$filename

    #
    #---パラメタ定義
    #
    P1="OPD=${RSLT_OPEDATE},"
    P2="SVCCTL=JBSbatMatchServiceControl,"
    P3="JOB=EO61Y0111D0,"
    P4="IND1=CHIFM126.def,"
    P5="INF1=${filename},"
    P6="IND2=CHIFM118.def,"
    P7="INF2=${filename},"
    P8="OTD1=CHIFM127.def,"
#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD START
#出力ファイル名のシーケンシャル化
#    P9="OTF1=${MID_DIR_CH}/CHLST05501_0$CNT.csv,"
    P9="OTF1=${MID_DIR_CH}/${RE_FN2}_0$CNT.csv,"
#v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD END
    P10="OTD2=,"
    P11="OTF2=,"
    P12="TABLENAME=,"
    P13="SQLKEY=,"
    P14="SQLPARAM=,"
    P15="ERRFILE=,"
    P16="RECOVERY=,"
    P17="BREAKPTN=,"
# v56.00 ANK-4093-00-00 2021/11/17 FJ) 吉田 MOD START
## v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 MOD START
##    P18="FREE=${DLYD_TRN_REQ_NO};${ENCODE}"
#    P18="FREE=${DLYD_TRN_REQ_NO};${ENCODE};${MID_DIR_CH}/${RE_FN2}_0$CNT.flg;${LINE_NUM_ARRAY[${CNT}]}"
    P18="FREE=${DLYD_TRN_REQ_NO};${ENCODE};${MID_DIR_CH}/${RE_FN2}_0$CNT.flg;${LINE_NUM_ARRAY[${CNT}]};1"
## v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 MOD END
# v56.00 ANK-4093-00-00 2021/11/17 FJ) 吉田 MOD END
    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 &

# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 DEL START
#    PID=$!
#    ARRAY_PID[${CNT}]=${PID}
# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 DEL END
    
# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 MOD START
#    echo "処理対象ファイル：$filename @$PID"
    echo "処理対象ファイル：$filename"
# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 MOD END
    
    CNT=`expr $CNT + 1`
done
#ANK-3396-00-00 MOD END


# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 DEL START
##ディレイド処理依頼情報更新フラグ
#flg=0
#
##ANK-3396-00-00 MOD START
### 処理結果判定
##if [ ${rc} -eq 0 ] ; then
##    # エラーファイル　＞　0Byte（有件）の場合
##    if [ -s ${FN2} ] ; then
##        DLYD_TRN_RSLT_CD="2"
##        flg=1
##    else
##        DLYD_TRN_RSLT_CD="1"
##        flg=1
##    fi
##else
##    # ディレイド処理結果ファイル　＞　0Byte（有件）の場合
##    if [ -s ${FN1}"_tmp1" ] ; then
##        DLYD_TRN_RSLT_CD="3"
##        flg=1
##    fi
##fi
#RSLTCNT=1
#DLYD_TRN_RSLT_CD="0"
#for PID in "${ARRAY_PID[@]}"; do
#
#    #バックグラウンドの処理が終わるまで待機する。
#    wait $PID
#
#    rc=$?
#    echo "PID($PID) => エラーコード：$rc"
#    
#    # 処理結果判定
#    if [ ${rc} -eq 0 ] ; then
#
##v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD START
##ファイル名の変更
#
#        # エラーファイル　＞　0Byte（有件）の場合
##        if [ -s ${MID_DIR_CH}/CHLST05501_0$RSLTCNT.csv ] ; then
#        if [ -s ${MID_DIR_CH}/${RE_FN2}_0$RSLTCNT.csv ] ; then
##v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD END
#
#            SUB_DLYD_TRN_RSLT_CD="2"
#            flg=1
#        else
#            SUB_DLYD_TRN_RSLT_CD="1"
#            flg=1
#        fi
#    else
#        # ディレイド処理結果ファイル　＞　0Byte（有件）の場合
#        if [ -s ${FN1}"_tmp1" ] ; then
#            SUB_DLYD_TRN_RSLT_CD="3"
#            flg=1
#        fi
#    fi
#    
#    # ディレイド処理結果コードの設定（ディレイド処理結果コードの最大を残す）
#    if [ ${DLYD_TRN_RSLT_CD} -lt $SUB_DLYD_TRN_RSLT_CD ]
#    then
#        DLYD_TRN_RSLT_CD=$SUB_DLYD_TRN_RSLT_CD
#    fi
#    
#    ARRAY_RC[${RSLTCNT}]=${rc}
#    RSLTCNT=`expr $RSLTCNT + 1`
#done
#
## 処理結果をマージする
#cat /dev/null > ${FN2}
#
##v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD START
##ファイル名の変更
##for filename in `find ${MID_DIR_CH} -maxdepth 1 -name "CHLST05501_0*.csv"  | sort`; do
#for filename in `find ${MID_DIR_CH} -maxdepth 1 -name "${RE_FN2}_0*.csv"  | sort`; do
##v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD END
#    cat ${filename} >> ${FN2}
#    rm ${filename}
#done
#
##v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD START
##ファイル名の変更
## 分割ファイルを削除する
##for filename in `find ${MID_DIR_CH} -maxdepth 1 -name "CHIFM126001_split_*.csv"  | sort`; do
#for filename in `find ${MID_DIR_CH} -maxdepth 1 -name "${RE_FN3}_*.csv"  | sort`; do
##v41.01 OM-2019-0000382 2019/10/28  FJ) 原田 MOD END
#    rm ${filename}
#done
##ANK-3396-00-00 MOD END
#
## 処理結果コードに値が設定された場合、ディレイド処理依頼情報の処理結果コード更新
#if [ ${flg} -eq 1 ] ; then
#    echo ${DLYD_TRN_REQ_NO}","${DLYD_TRN_RSLT_CD} > ${FN1}"_tmp2"
#
#    # 改行コードをCRLFにする
#    nkf -Lw  < ${FN1}"_tmp2" > ${FN1}
#    rm -f ${FN1}"_tmp1"
#    rm -f ${FN1}"_tmp2"
#fi
#
##ANK-3396-00-00 MOD START
##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
## 処理終了監視
#RESULT=0
#for RETURNCODE in "${ARRAY_RC[@]}"; do
#
#    rc=$RETURNCODE
#    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
#    
#    # 処理結果の設定（処理結果コードの最大を残す）
#    if [ ${RESULT} -lt $rc ]
#    then
#        RESULT=$rc
#    fi
#done
#
#exit_rc=${RESULT}
##ANK-3396-00-00 MOD END
# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 DEL END

# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 ADD START
#バックグラウンドの全処理が終わるまで待機する。
wait
# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 ADD END

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

# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 MOD START
#exit $exit_rc
exit ${G_RTN_NORMAL}
# v49.00 OM-2019-0000382 2020/04/10  FJ) 荒木 MOD END
