#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：ｅｏ光電話呼情報入力チェック（随時）
#
# 機能          ：１．ｅｏ光電話呼情報入力チェック（随時）
#
#(1)下記のファイルを取込み、ファイルの入力チェック（随時）を行う。
#  eo光電話利用呼情報データファイル
#  eo光電話利用呼情報データファイル(前回)
#(2)出力ファイルには、データレコードのみ出力する。
#(3)入力ファイルを前回分としリネームする。
#
#※パラメータ変数.フリー項目は以下の順番で設定する。
#  1.eo光電話利用呼情報データファイル格納先ディレクトリ
#  2.eo光電話利用呼情報データファイルのファイル名
#  3.eo光電話利用呼情報データファイル(前回)のファイル名
#  4.ｅｏ光電話利用履歴情報データファイルのファイル名
#  5.ｅｏ光電話入力エラーファイルのファイル名
#  6.eo光電話利用呼情報データファイルのファイル定義名
#  7.eo光電話利用呼情報データファイル(ヘッダ)のファイル定義名
#  8.eo光電話利用呼情報データファイル(データ)のファイル定義名
#  9.eo光電話利用呼情報データファイル(トレーラ)のファイル定義名
#  10.ｅｏ光電話利用履歴情報データファイルのファイル定義名
#  11.ｅｏ光電話入力エラーファイルのファイル定義名
#
# コマンド形式  ：EO3080130J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.04.01        2013/02/25  FJ）狭間     【ST4-2013-0000116】速度改善の為、基盤Ｔ改修分を組み込み
# v4.05.00        2013/03/18  FJ）広野     性能改善: アンロードの参照先スクリプト変更にともなう修正
# v4.05.01        2013/03/29  FJ）狭間     【KT1-2013-0000091】前回修正時の不具合を修正
# v4.05.02        2013/04/08  FJ) 狭間     【ST4-2013-0000286】性能改善の為、アンロード並列化及び処理見直しと水平展開
# v4.05.03        2013/04/17  FJ) 狭間     【ST6-2013-0000022】受信ファイルが無かった場合の不具合修正
# v4.06.00        2013/05/08  FJ) 藤田     【IKK-2013-0001067】ACIFE002001.txtのリネームをEO3081110J0.shにて行うようにする
# v5.00.00        2013/06/28  FJ) 狭間     【ST4-2013-0000479】性能改善の為、nkfでの改行コード変換を廃止
# v5.00.01        2013/07/13  FJ) 狭間     【IT1-2013-0001380】性能改善の為、アンロード並列化
# v5.00.02        2013/08/03  FJ) 柳       【IT1-2013-0001571】出力ファイル名変更対応
# v5.01.00        2013/09/21  FJ）狭間     【OM-2013-0002470】PASTEL連携関連対応-複数ファイルに対応
# v6.00.00        2013/11/30  FJ）後藤     【OM-2013-0004458】ACIFM199レイアウト変更に伴いreclen修正
# v7.00.00        2014/03/09  FJ）後藤     【OM-2014-0000824】050-0ABJ変換工事完了報告遅延の考慮
# v19.00.00       2015/09/09  FJ) 西面     【ANK-2635-00-00】呼情報取込チェック仕様強化
# v20.00.00       2015/12/08  FJ）有本     【OM-2015-0001350】性能改善
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
[ $# -eq 2 ] &&TAJUKIDO="_$2"

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

#--システム年月日時分秒取得
. EOK010410J0.sh "2"
SYSTIME=${RSLT_OPEDATE}`echo ${RSLT_SYSDATE} | cut -c 9-`

#---ワークファイル削除モード
WK_RM=true

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

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

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

P1="OPD=,"
P2="SVCCTL=JBSbatUnitServiceControl,"
P3="JOB=EO3080130J0,"
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_AC}/;ACIFE002001.txt;ACIFE002002.txt;ACIFM083001.csv;ACIFM079001_${SYSTIME}.csv;ACIFE002.def;ACIFM075.def;ACIFM076.def;ACIFM077.def;ACIFM083.def;ACIFM079.def;ACIFM199001.csv;ACIFM199.def;ACIFM204001.csv;ACIFM204.def;ACIFM263001.txt;;ACIFM263.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

#
#--- ファイル定義
#
SOURCEFILE=${MID_DIR_AC}/ACIFE002001_*.txt
TARGETFILE=${MID_DIR_AC}/ACIFE002002.txt

OUTFILE079=${MID_DIR_AC}/ACIFM079001_${SYSTIME}.csv
OUTFILE079_WK=${MID_DIR_AC}/${JOBNAME}_ACIFM079001_WK.csv
OUTFILE083=${MID_DIR_AC}/ACIFM083001.csv
OUTFILE083_WK=${MID_DIR_AC}/${JOBNAME}_ACIFM083001_WK.csv
OUTFILE204=${MID_DIR_AC}/ACIFM204001.csv
OUTFILE204_WK=${MID_DIR_AC}/${JOBNAME}_ACIFM204001_WK.csv
OUTFILE263=${MID_DIR_AC}/ACIFM263001.txt
OUTFILE263_WK=${MID_DIR_AC}/${JOBNAME}_ACIFM263001_WK.txt

#--- 出力ファイル
OUTFILE=${MID_DIR_AC}/ACIFM199001.csv
OUTFILE_WRK=${MID_DIR_AC}/${JOBNAME}_OUT_WK_1$TAJUKIDO.csv

#--- 1.サービス契約内訳（KK_T_SVC_KEI_UCWK）
SQLFILE_KK0161=${SQL_DIR}/AC_U_KK0161_03.sql

CSVFILE_KK0161=${MID_DIR_AC}/${JOBNAME}_KK0161_UNLOADER_WK_1$TAJUKIDO.csv
CSVFILE_KK0161_WRK=${MID_DIR_AC}/${JOBNAME}_KK0161_UNLOADER_WK_2$TAJUKIDO.csv

#--- 2.サービス契約内訳＜eo光電話＞（KK_T_SVKEIUW_EOH_TEL）
SQLFILE_KK0191=${SQL_DIR}/AC_U_KK0191_01.sql

CSVFILE_KK0191=${MID_DIR_AC}/${JOBNAME}_KK0191_UNLOADER_WK_1$TAJUKIDO.csv
CSVFILE_KK0191_WRK=${MID_DIR_AC}/${JOBNAME}_KK0191_UNLOADER_WK_2$TAJUKIDO.csv

#--- 3.オプションサービス契約（KK_T_OP_SVC_KEI）
SQLFILE_KK0351=${SQL_DIR}/AC_U_KK0351_01.sql

CSVFILE_KK0351=${MID_DIR_AC}/${JOBNAME}_KK0351_UNLOADER_WK_1$TAJUKIDO.csv
CSVFILE_KK0351_WRK=${MID_DIR_AC}/${JOBNAME}_KK0351_UNLOADER_WK_2$TAJUKIDO.csv

#--- 4.オプションサービス契約＜電話＞（KK_T_OPSVKEI_TEL）
SQLFILE_KK0371=${SQL_DIR}/AC_U_KK0371_01.sql

CSVFILE_KK0371=${MID_DIR_AC}/${JOBNAME}_KK0371_UNLOADER_WK_1$TAJUKIDO.csv
CSVFILE_KK0371_WRK=${MID_DIR_AC}/${JOBNAME}_KK0371_UNLOADER_WK_2$TAJUKIDO.csv

#--- ＯＡＢＪ番号チェック用データ
DEFFILE=${G_TOOLSH}/util/def/AC_CM_0010.def
DEFFILE_WRK=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0010_MATCHING_WK_1$TAJUKIDO.def

#
#
#--- 過去分ファイルのチェックを行う
#
if [ ! -r $TARGETFILE ]
then
    #
    #------ 過去分ファイルが存在しない場合、エラー発生
    #
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " FileNotFound Error($SVC mv:TARGETFILE=$TARGETFILE) "
        echo $JOBNAME " FileNotFound Error($SVC mv:TARGETFILE=$TARGETFILE) "
        exit ${G_RTN_ERROR}
fi

#
#--- 随時ファイルのチェックを行う
#
if [ ! -r $SOURCEFILE ]
then
    #
    #--- 随時ファイルが存在しない場合、中間ファイルを0byteで作成する
    #
    cat /dev/null > ${OUTFILE079}
    rc=$?
    if [ $rc -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " cat Error($OUTFILE079 rm:rc=$rc) "
        echo $JOBNAME " cat Error($OUTFILE079 rm:rc=$rc) "
        exit ${G_RTN_ERROR}
    fi
    cat /dev/null > ${OUTFILE083}
    rc=$?
    if [ $rc -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " cat Error($OUTFILE083 rm:rc=$rc) "
        echo $JOBNAME " cat Error($OUTFILE083 rm:rc=$rc) "
        exit ${G_RTN_ERROR}
    fi
    cat /dev/null > ${OUTFILE204}
    rc=$?
    if [ $rc -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " cat Error($OUTFILE204 rm:rc=$rc) "
        echo $JOBNAME " cat Error($OUTFILE204 rm:rc=$rc) "
        exit ${G_RTN_ERROR}
    fi
    #
    #--- 随時ファイルが存在しない場合、正常終了
    #
    sh ${G_TOOLSH}/EOK010210J0.sh CS00028I $JOBNAME
    sh ${G_TOOLSH}/EOK010210J0.sh CS00026I $JOBNAME
    exit ${G_RTN_NORMAL}
fi

#
#--- 各ファイルの存在チェックを行う
#
if [ ! -r $DEFFILE ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${DEFFILE}) "
    echo $JOBNAME " File is nonexist(${DEFFILE}) "
    exit ${G_RTN_ERROR}
fi

#--- SQLパラメータセット
cp -f ${DEFFILE} ${DEFFILE_WRK}
sed -i -e "s%\:CSVFILE_KK0161%${CSVFILE_KK0161}%"  ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_KK0191%${CSVFILE_KK0191}%"  ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_KK0351%${CSVFILE_KK0351}%"  ${DEFFILE_WRK} 
sed -i -e "s%\:CSVFILE_KK0371%${CSVFILE_KK0371}%"  ${DEFFILE_WRK} 

#
#--- アンロードファイルのクリアを行う
#
cat /dev/null > $OUTFILE
cat /dev/null > $OUTFILE_WRK


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

#
#--- アンロード処理
#
#--- オプションサービス契約
(UNLOAD ${SQLFILE_KK0351} ${CSVFILE_KK0351_WRK}

# 34 SVC_STAYMD      CHAR  8 33.8asc  0
# 49 SVC_ENDYMD      CHAR  8 48.8asc  1
#  9 SVC_KEI_UCWK_NO CHAR 12 8.12asc  2
#  1 OP_SVC_KEI_NO   CHAR 12 0.12asc  3
#  2 GENE_ADD_DTM    CHAR 17 1.17asc  4
# 73 MK_FLG          CHAR  1 72.1asc  5
# 26 RSV_APLY_CD     CHAR  1 25.1asc  6
# 24 RSV_APLY_YMD    CHAR  8 23.8asc  7
#  4 OP_SVC_CD       CHAR  4  8.4asc  8

# 本来の抽出条件と、結合キーがNULLでないものを抽出
#v19.00.00 2015/09/09 Del Start
#bsortex \
#  -record recform=txtcsv \
#  -input reclen=1425 \
#         include="5.1asc.eq.'0'.and.6.1asc.eq.'2'.and.7.8asc.le.'${RSLT_OPEDATE}'" \
#         reconst="0.8,1.8,2.12,3.12,4.17" \
#  -sort key="2.12asc,3.12asc,4.17asc" \
# < ${CSVFILE_KK0351_WRK} \
# | bsortex \
#  -record recform=txtcsv \
#  -input reclen=72 \
#  -merge key="2.12asc,3.12asc" \
#  -summary suppress last \
#  -output omit="0.8ascb.eq.' '.or.1.8ascb.eq.' '.or.2.12ascb.eq.' '" \
# > ${CSVFILE_KK0351}
#) &
#pid_UNLOAD_KK0351=$!
#v19.00.00 2015/09/09 Del End
#v19.00.00 2015/09/09 Add Start
# OM-2015-0001350 共通UNLOAD対応 2015/12/02 有本 MOD START
#bsortex \
#  -record recform=txtcsv \
#  -input reclen=1425 \
#         include="5.1asc.eq.'0'.and.6.1asc.eq.'2'.and.7.8asc.le.'${RSLT_OPEDATE}'" \
#         reconst="0.8,1.8,2.12,3.12,4.17,8.4" \
#  -sort key="2.12asc,3.12asc,4.17asc" \
# < ${CSVFILE_KK0351_WRK} \
# | bsortex \
#  -record recform=txtcsv \
#  -input reclen=100 \
#  -merge key="2.12asc,3.12asc" \
#  -output include="5.4ascb.eq.'B029'" \
#  | bsortex \
#   -record recform=txtcsv \
#   -input reclen=100  \
#   -merge key="2.12asc,3.12asc" \
#   -summary suppress last \
#   -output omit="0.8ascb.eq.' '.or.1.8ascb.eq.' '.or.2.12ascb.eq.' '" \
# > ${CSVFILE_KK0351}
bsortex \
  -record recform=txtcsv \
  -input reclen=1425 \
         include="5.1asc.eq.'0'.and.6.1asc.eq.'2'.and.7.8asc.le.'${RSLT_OPEDATE}'" \
         reconst="0.8,1.8,2.12,3.12,4.17,8.4" \
  -sort key="2.12asc,3.12asc,4.17asc" \
 < ${CSVFILE_KK0351_WRK} \
  | bsortex \
   -record recform=txtcsv \
   -input reclen=100  \
   -merge key="2.12asc,3.12asc" \
   -summary suppress last \
   -output omit="0.8ascb.eq.' '.or.1.8ascb.eq.' '.or.2.12ascb.eq.' '" \
 > ${CSVFILE_KK0351}
# OM-2015-0001350 共通UNLOAD対応 2015/12/02 有本 MOD END
) &
pid_UNLOAD_KK0351=$!
#v19.00.00 2015/09/09 Add End

#--- サービス契約内訳
(UNLOAD ${SQLFILE_KK0161} ${CSVFILE_KK0161_WRK}

# 35 SVC_STA_YMD     CHAR  8 34.8asc  0
# 48 SVC_ENDYMD      CHAR  8 47.8asc  1
#  1 SVC_KEI_UCWK_NO CHAR 12 0.12asc  2
#  2 GENE_ADD_DTM    CHAR 17 1.17asc  3
# 71 MK_FLG          CHAR  1 70.1asc  4
# 27 RSV_APLY_CD     CHAR  1 26.1asc  5
# 25 RSV_APLY_YMD    CHAR  8 24.8asc  6

# 本来の抽出条件と、結合キーがNULLでないものを抽出
bsortex \
  -record recform=txtcsv \
  -input reclen=1618 \
         include="4.1asc.eq.'0'.and.5.1asc.eq.'2'.and.6.8asc.le.'${RSLT_OPEDATE}'" \
         reconst="0.8,1.8,2.12,3.17" \
  -sort key="2.12asc,3.17asc" \
 < ${CSVFILE_KK0161_WRK} \
 | bsortex \
  -record recform=txtcsv \
  -input reclen=57 \
  -merge key="2.12asc" \
  -summary suppress last \
  -output omit="0.8ascb.eq.' '.or.1.8ascb.eq.' '.or.2.12asc.eq.' '" \
 > ${CSVFILE_KK0161}
) &
pid_UNLOAD_KK0161=$!


#--- サービス契約内訳＜eo光電話＞
(UNLOAD ${SQLFILE_KK0191} ${CSVFILE_KK0191_WRK}

#  3 TELNO           VARCHAR2 11 2.11asc
#  1 SVC_KEI_UCWK_NO CHAR     12 0.12asc
#  2 GENE_ADD_DTM    CHAR     17 1.17asc
# 91 MK_FLG          CHAR      1 90.1asc
# 84 RSV_APLY_CD     CHAR      1 83.1asc

bsortex \
  -record recform=txtcsv \
  -input reclen=3934 \
         include="3.1asc.eq.'0'.and.4.1asc.eq.'2'" \
         reconst="0.11,1.12,2.17" \
  -sort key="1.12asc,2.17asc" \
 < ${CSVFILE_KK0191_WRK} \
 | bsortex \
  -record recform=txtcsv \
  -input reclen=49 \
  -merge key="1.12asc" \
  -summary suppress last \
  -output omit="1.12ascb.eq.' '" \
 > ${CSVFILE_KK0191}
) &
pid_UNLOAD_KK0191=$!


#--- オプションサービス契約＜電話＞
(UNLOAD ${SQLFILE_KK0371} ${CSVFILE_KK0371_WRK}

#  3 N_050_OP_TELNO VARCHAR2 11 2.11asc  0
#  1 OP_SVC_KEI_NO  CHAR     12 0.12asc  1
#  2 GENE_ADD_DTM   CHAR     17 1.17asc  2
# 12 MK_FLG         CHAR      1 11.1asc  3
#  4 RSV_APLY_CD    CHAR      1 3.1asc   4

# 本来の抽出条件と、結合キーがNULLでないものを抽出
bsortex \
  -record recform=txtcsv \
  -input reclen=343 \
         include="3.1asc.eq.'0'.and.4.1asc.eq.'2'" \
         reconst="0.11,1.12,2.17" \
  -sort key="1.12asc,2.17asc" \
 < ${CSVFILE_KK0371_WRK} \
 | bsortex \
  -record recform=txtcsv \
  -input reclen=49 \
  -merge key="1.12asc" \
  -summary suppress last \
  -output omit="0.11ascb.eq.' '.or.1.12ascb.eq.' '" \
 > ${CSVFILE_KK0371}
) &
pid_UNLOAD_KK0371=$!


# すべての抽出が終了するのを待つ
wait ${pid_UNLOAD_KK0351}
rc_UNLOAD_KK0351=$?

wait ${pid_UNLOAD_KK0161}
rc_UNLOAD_KK0161=$?

wait ${pid_UNLOAD_KK0191}
rc_UNLOAD_KK0191=$?

wait ${pid_UNLOAD_KK0371}
rc_UNLOAD_KK0371=$?

#- エラー処理
if [ ${rc_UNLOAD_KK0351} -ne 0 ] || [ ${rc_UNLOAD_KK0161} -ne 0 ] || [ ${rc_UNLOAD_KK0191} -ne 0 ] || [ ${rc_UNLOAD_KK0371} -ne 0 ]
then
    #- エラーメッセージ出力
    if [ ${rc_UNLOAD_KK0351} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0351}:rc=${rc_UNLOAD_KK0351}) "
        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0351}:rc=${rc_UNLOAD_KK0351}) "
    fi
    if [ ${rc_UNLOAD_KK0161} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0161}:rc=${rc_UNLOAD_KK0161}) "
        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0161}:rc=${rc_UNLOAD_KK0161}) "
    fi
    if [ ${rc_UNLOAD_KK0191} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0191}:rc=${rc_UNLOAD_KK0191}) "
        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0191}:rc=${rc_UNLOAD_KK0191}) "
    fi
    if [ ${rc_UNLOAD_KK0371} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0371}:rc=${rc_UNLOAD_KK0371}) "
        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0371}:rc=${rc_UNLOAD_KK0371}) "
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

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

bsortex \
  -record recform=txtcsv \
  -input reclen=70 \
   file=${OUTFILE_WRK} \
  -sort key="3.11asc,0.8asc,1.8asc" \
  -output file=${OUTFILE} \
   linedlmt=crlf ;
rc=$?
if [ $rc -ne 0 ]
then
      sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " sort error${OUTFILE}(bsortex:rc=$rc) "
      echo $JOBNAME " sort error${OUTFILE}(bsortex:rc=$rc) "
      exit ${G_RTN_ERROR}
fi

# 退避ファイルのクリア
cat /dev/null > ${OUTFILE079}
cat /dev/null > ${OUTFILE083}
cat /dev/null > ${OUTFILE204}
cat /dev/null > ${OUTFILE079_WK}
cat /dev/null > ${OUTFILE083_WK}
cat /dev/null > ${OUTFILE204_WK}

# ｅｏ光電話利用呼情報データファイルの件数分javaを実行する
for SOURCEFILE_CRT in `ls -1 ${SOURCEFILE}`
do 

    FILENAME=`basename ${SOURCEFILE_CRT}`
    P18="FREE=${MID_DIR_AC}/;${FILENAME};ACIFE002002.txt;ACIFM083001.csv;ACIFM079001_${SYSTIME}.csv;ACIFE002.def;ACIFM075.def;ACIFM076.def;ACIFM077.def;ACIFM083.def;ACIFM079.def;ACIFM199001.csv;ACIFM199.def;ACIFM204001.csv;ACIFM204.def;ACIFM263001.txt;;ACIFM263.def"
    PARA="$P1$P2$P3$P4$P5$P6$P7$P8$P9$P10$P11$P12$P13$P14$P15$P16$P17$P18"
    #
    #---ＡＰＬ起動
    #
    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
    
    # 呼情報ファイルを過去分としてリネームする　※上書き可
    cp -f ${SOURCEFILE_CRT} ${TARGETFILE}

    # JAVAの出力ファイルを退避ファイルに蓄積する
    cat ${OUTFILE079} >> ${OUTFILE079_WK}
    cat ${OUTFILE083} >> ${OUTFILE083_WK}
    cat ${OUTFILE204} >> ${OUTFILE204_WK}
    cat ${OUTFILE263} >> ${OUTFILE263_WK}
done

# 蓄積した退避ファイルから出力ファイルに戻す
cp -f ${OUTFILE079_WK} ${OUTFILE079}
cp -f ${OUTFILE083_WK} ${OUTFILE083}
cp -f ${OUTFILE204_WK} ${OUTFILE204}
cp -f ${OUTFILE263_WK} ${OUTFILE263}

#ワーク削除
if [ $WK_RM = "true" ]
then
    rm -f ${OUTFILE_WRK}
    rm -f ${DEFFILE_WRK}
    rm -f ${CSVFILE_KK0161_WRK}
    rm -f ${CSVFILE_KK0191_WRK}
    rm -f ${CSVFILE_KK0351_WRK}
    rm -f ${CSVFILE_KK0371_WRK}
    rm -f ${CSVFILE_KK0161}
    rm -f ${CSVFILE_KK0191}
    rm -f ${CSVFILE_KK0351}
    rm -f ${CSVFILE_KK0371}
    rm -f ${OUTFILE079_WK}
    rm -f ${OUTFILE083_WK}
    rm -f ${OUTFILE204_WK}
    rm -f ${OUTFILE263_WK}
fi

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

exit $exit_rc


