#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：ＦＴＴＨ通信量情報集計（合計登録用）（工事遅延）
#
# 機能          ：FTTH通信量情報取込にて、登録したFTTH通信明細より、通信量合計を算出し通信量情報合計に反映する。
#（工事完了報告遅延分）
#SQLPARAM
#1つ目（業務パラメータＩＤ：対象キーワーク使用機能識別コード＿再集計対象情報（前月））
#2つ目（業務パラメータ適用開始年月日：バッチ運用日）
#3つ目（業務パラメータ適用終了年月日：バッチ運用日）
#4つ目（課金可否：課金可）
#5つ目（予約適用年月日：バッチ運用日）
# コマンド形式  ：EO3190210J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.01           2013/02/05  FJ)狭間     【ST4-2013-0000128】性能改善の為、アンロード化
#                 2013/03/07  FJ)小野     【ST4-2013-0000174】性能改善の為、全てのテーブルをアンロードし、
#                                                             FTTH通信明細、FTTH通信合計のソートをSQL文ではなくbsortで実行する。
# v4.02           2013/03/18  FJ）広野     性能改善: アンロードの参照先スクリプト変更にともなう修正
# v4.03           2013/03/26  FJ)狭間     【ST4-2013-0000345】更なる性能改善を目指し、削除処理をシェル内に移動
# v4.03.01        2013/04/08  FJ) 狭間    【ST4-2013-0000286】性能改善の為、アンロード並列化及び処理見直しと水平展開
# v4.04           2013/04/24  FJ) 狭間    【ST4-2013-0000XXX】オンライン24時間対応
# v4.05           2013/06/07  FJ) 狭間    【ST4-2013-0000461】ＦＴＴＨ通信量情報集計（合計登録用）（工事遅延）性能改善
# v5.00           2013/07/11  FJ) 狭間    【IT1-2013-0001363】ソートの桁数指定不具合の修正
# v5.01           2013/07/20  FJ) 狭間    【TG1-2013-0000710】課金否のみの契約について0Byteで合計データを作成するよう修正
# v14.00          2015/05/26  FJ）土井     【OM-2015-0001265】バックグラウンド実行削除
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---ファイルから運用日を取得
#
read OPD <${MID_DIR_AC}/ACIFM037001.csv

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

#
#---業務で必要な変数定義
#

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

#---システム日時取得
. EOK010410J0.sh "1"
SYSDATE=${RSLT_SYSDATE}

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

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

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

P1="OPD=,"
P2="SVCCTL=JBSbatMatchServiceControl,"
P3="JOB=EO3190210J0,"
P4="IND1=ACIFM188.def,"
P5="INF1=${MID_DIR_AC}/ACIFM188003.csv,"
P6="IND2=ACIFM187.def,"
P7="INF2=${MID_DIR_AC}/ACIFM187002.csv,"
P8="OTD1=,"
P9="OTF1=,"
P10="OTD2=,"
P11="OTF2=,"
P12="TABLENAME=,"
P13="SQLKEY=,"
P14="SQLPARAM=,"
P15="ERRFILE=,"
P16="RECOVERY=,"
P17="BREAKPTN=,"
P18="FREE="
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

#
#--- ファイル定義
#
OUTFILE=${MID_DIR_AC}/ACIFM187002.csv
OUTFILE2=${MID_DIR_AC}/ACIFM188003.csv

#--- アンローダー実行時のSQLファイル
SQLFILE_AC0591=${SQL_DIR}/AC_U_AC0591_01.sql
SQLFILE_AC0561=${SQL_DIR}/AC_U_AC0561_01.sql
SQLFILE_KK0081=${SQL_DIR}/AC_U_KK0081_03.sql
SQLFILE_AC0601=${SQL_DIR}/AC_U_AC0601_01.sql
SQLFILE_AC0601D=${SQL_DIR}/AC_D_AC0601_01.sql

#--- アンローダー実行時のSQLワークファイル
SQLFILE_AC0591_WRK=${SQL_DIR}/${JOBNAME}_AC_U_AC0591_01_UNLOADER_WK_1.sql
SQLFILE_AC0591_WRK2=${SQL_DIR}/${JOBNAME}_AC_U_AC0591_01_UNLOADER_WK_2.sql
SQLFILE_AC0561_WRK=${SQL_DIR}/${JOBNAME}_AC_U_AC0561_01_UNLOADER_WK_1.sql
SQLFILE_KK0081_WRK=${SQL_DIR}/${JOBNAME}_AC_U_KK0081_03_UNLOADER_WK_1.sql
SQLFILE_AC0601_WRK=${SQL_DIR}/${JOBNAME}_AC_U_AC0601_01_UNLOADER_WK_1.sql
SQLFILE_AC0601D_WRK=${SQL_DIR}/${JOBNAME}_AC_D_AC0601_01_DELETE_WK_1.sql

#--- アンローダーの出力結果ファイル
UNLOAD_OUTFILE_AC0591_TMP10=${MID_DIR_AC}/${JOBNAME}_AC0591_UNLOADER_WK_10.csv
UNLOAD_OUTFILE_AC0591_TMP11=${MID_DIR_AC}/${JOBNAME}_AC0591_UNLOADER_WK_11.csv
UNLOAD_OUTFILE_AC0591_1=${MID_DIR_AC}/${JOBNAME}_AC0591_UNLOADER_WK_1.csv
UNLOAD_OUTFILE_AC0591_TMP20=${MID_DIR_AC}/${JOBNAME}_AC0591_UNLOADER_WK_20.csv
UNLOAD_OUTFILE_AC0591_TMP21=${MID_DIR_AC}/${JOBNAME}_AC0591_UNLOADER_WK_21.csv
UNLOAD_OUTFILE_AC0591_2=${MID_DIR_AC}/${JOBNAME}_AC0591_UNLOADER_WK_2.csv
UNLOAD_OUTFILE_AC0591_3=${MID_DIR_AC}/${JOBNAME}_AC0591_UNLOADER_WK_3.csv
UNLOAD_OUTFILE_AC0591_4=${MID_DIR_AC}/${JOBNAME}_AC0591_UNLOADER_WK_4.csv
UNLOAD_OUTFILE_AC0591_5=${MID_DIR_AC}/${JOBNAME}_AC0591_UNLOADER_WK_5.csv
UNLOAD_OUTFILE_AC0561_TMP1=${MID_DIR_AC}/${JOBNAME}_AC0561_UNLOADER_WK_1.csv
UNLOAD_OUTFILE_AC0561=${MID_DIR_AC}/${JOBNAME}_AC0561_UNLOADER_WK_2.csv
UNLOAD_OUTFILE_KK0081_TMP1=${MID_DIR_AC}/${JOBNAME}_KK0081_UNLOADER_WK_1.csv
UNLOAD_OUTFILE_AC0601_TMP1=${MID_DIR_AC}/${JOBNAME}_AC0601_UNLOADER_WK_1.csv

#--- CSVマッチングの出力結果ファイル
MATCHING_OUTFILE_WRK1=${MID_DIR_AC}/${JOBNAME}_AC_CM_0015_MATCHING_WK_1.csv

#--- マッチング定義ファイルの変数置き換え時のワークファイル
MATCHING_DEF=${G_TOOLSH}/util/def/AC_CM_0015.def
DEF_FILE_WK1=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0015_MATCHING_WK_1.def

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

}

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

if [ ! -r $SQLFILE_AC0561 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_AC0561) "
    echo $JOBNAME " File is nonexist($SQLFILE_AC0561) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $SQLFILE_KK0081 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_KK0081) "
    echo $JOBNAME " File is nonexist($SQLFILE_KK0081) "
    exit ${G_RTN_ERROR}
fi

if [ ! -r $SQLFILE_AC0601 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE_AC0601) "
    echo $JOBNAME " File is nonexist($SQLFILE_AC0601) "
    exit ${G_RTN_ERROR}
fi

#
#--- 【SQLPARAM】
#１．業務パラメータＩＤ：対象キーワーク使用機能識別コード＿再集計対象情報（当月）
#２．バッチ運用日：バッチ運用日
#３．課金可否：課金可
#４．請求年月（当月）：バッチ運用年月
#５．請求年月（前月）：バッチ運用年月
#
WORK_PARAM_ID="AC_TWK_RE_SHUK_NO2"
OPE_DATE="${RSLT_OPEDATE}"
CHRG_KH="1"
OPE_Y=`expr $RSLT_OPEDATE / 10000`
OPE_M=`expr $RSLT_OPEDATE / 100 - $RSLT_OPEDATE / 10000 \* 100`
if [ $OPE_M -lt 10 ];
then
  OPE_YM="$OPE_Y"0"$OPE_M"
else
  OPE_YM="$OPE_Y$OPE_M"
fi

if [ $OPE_M -eq 1 ];
then
  PRE_Y=`expr $OPE_Y - 1`
  PRE_M=12
else
  PRE_Y=$OPE_Y
  PRE_M=`expr $OPE_M - 1`
fi

if [ $PRE_M -lt 10 ];
then
  PRE_YM="$PRE_Y"0"$PRE_M"
else
  PRE_YM="$PRE_Y$PRE_M"
fi


# 2015/05/26  FJ）土井 【OM-2015-0001265】バックグラウンド実行削除 start
# バックグランド実行のために閉じている () と & 、プロセスID取得から実行結果取得と削除


#----------------------------------------------------------------------------------------------------
#--- UNLOAD処理(FTTH通信明細【前月分】)
#----------------------------------------------------------------------------------------------------

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

#--- SQLパラメータセット
cp -f ${SQLFILE_AC0591} ${SQLFILE_AC0591_WRK}
sed -i -e "s%\:SEIKY_YM%'${PRE_YM}'%" ${SQLFILE_AC0591_WRK}

#
#--- UNLOAD処理(FTTH通信明細【前月分】)
#
UNLOAD ${SQLFILE_AC0591_WRK} ${UNLOAD_OUTFILE_AC0591_TMP10}

#
#--- 課金可のレコードだけ抽出
#
bsortex -copy \
    -record recform=txtcsv \
    -input reclen=100 file=${UNLOAD_OUTFILE_AC0591_TMP10} \
    -output file=${UNLOAD_OUTFILE_AC0591_TMP11} \
     include="7.1asc.eq.'1'" \
     reconst=0.6,1.10,2.10,3.3,4.12,5.6,6.12
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_TMP11}) "
    echo $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_TMP11}) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- UNLOAD処理(FTTH通信明細【当月分】)
#----------------------------------------------------------------------------------------------------

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

#--- SQLパラメータセット
cp -f ${SQLFILE_AC0591} ${SQLFILE_AC0591_WRK2}
sed -i -e "s%\:SEIKY_YM%'${OPE_YM}'%" ${SQLFILE_AC0591_WRK2}

#
#--- UNLOAD処理(FTTH通信明細【当月分】)
#
UNLOAD ${SQLFILE_AC0591_WRK2} ${UNLOAD_OUTFILE_AC0591_TMP20}

#
#--- 課金可のレコードだけ抽出
#
bsortex -copy \
    -record recform=txtcsv \
    -input reclen=100 file=${UNLOAD_OUTFILE_AC0591_TMP20} \
    -output file=${UNLOAD_OUTFILE_AC0591_TMP21} \
     include="7.1asc.eq.'1'" \
     reconst=0.6,1.10,2.10,3.3,4.12,5.6,6.12
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_TMP21}) "
    echo $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_TMP21}) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- UNLOAD処理(対象キーワーク)
#----------------------------------------------------------------------------------------------------

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

#--- SQLパラメータセット
cp -f ${SQLFILE_AC0561} ${SQLFILE_AC0561_WRK}
sed -i -e "s%\:WORK_PARAM_ID%'${WORK_PARAM_ID}'%" ${SQLFILE_AC0561_WRK}
sed -i -e "s%\:OPEDATE%'${OPE_DATE}'%"            ${SQLFILE_AC0561_WRK}

#
#--- UNLOAD処理(対象キーワーク)
#
UNLOAD ${SQLFILE_AC0561_WRK} ${UNLOAD_OUTFILE_AC0561_TMP1}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " pidUNLOAD_AC0561 Error(rc=$rc) "
    echo $JOBNAME " pidUNLOAD_AC0561 Error(rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- UNLOAD処理(サービス契約)
#----------------------------------------------------------------------------------------------------

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

#--- SQLパラメータセット
cp -f ${SQLFILE_KK0081} ${SQLFILE_KK0081_WRK}
sed -i -e "s%\:OPEDATE%'${OPE_DATE}'%" ${SQLFILE_KK0081_WRK}

#
#--- UNLOAD処理(サービス契約)
#
UNLOAD ${SQLFILE_KK0081_WRK} ${UNLOAD_OUTFILE_KK0081_TMP1}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " pidUNLOAD_KK0081 Error(rc=$rc) "
    echo $JOBNAME " pidUNLOAD_KK0081 Error(rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- UNLOAD処理(FTTH通信合計)
#----------------------------------------------------------------------------------------------------

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

#--- SQLパラメータセット
cp -f ${SQLFILE_AC0601} ${SQLFILE_AC0601_WRK}
sed -i -e "s%\:OPE_YM%'${OPE_YM}'%" ${SQLFILE_AC0601_WRK}
sed -i -e "s%\:PRE_YM%'${PRE_YM}'%" ${SQLFILE_AC0601_WRK}

#
#--- UNLOAD処理(FTTH通信合計)
#
UNLOAD ${SQLFILE_AC0601_WRK} ${UNLOAD_OUTFILE_AC0601_TMP1}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " pidUNLOAD_AC0601 Error(rc=$rc) "
    echo $JOBNAME " pidUNLOAD_AC0601 Error(rc=$rc) "
    exit ${G_RTN_ERROR}
fi

# 2015/05/26  FJ）土井 【OM-2015-0001265】バックグラウンド実行削除 end

#----------------------------------------------------------------------------------------------------
#--- FTTH通信明細【前月分】ファイルをソートして集計する。
#----------------------------------------------------------------------------------------------------
bsortex -sort key=2.10asca,3.3asca,4.12asca,0.6asca,5.6asca \
    -record recform=txtflt fldsep=, -summary field=6.12ascud \
    -input reclen=100 file=${UNLOAD_OUTFILE_AC0591_TMP11} \
    -output file=${UNLOAD_OUTFILE_AC0591_1}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_1}) "
    echo $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_1}) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- FTTH通信明細【当月分】ファイルをソートして集計する。
#----------------------------------------------------------------------------------------------------
bsortex -sort key=2.10asca,3.3asca,4.12asca,0.6asca,5.6asca \
    -record recform=txtflt fldsep=, -summary field=6.12ascud \
    -input reclen=100 file=${UNLOAD_OUTFILE_AC0591_TMP21} \
    -output file=${UNLOAD_OUTFILE_AC0591_2}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_2}) "
    echo $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_2}) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- FTTH通信明細【前月分】ファイルから課金否しかない契約（※１）を通信量0byteにして抽出する。
#--- ※１、契約の集計単位は請求年月、サービス契約番号、料金コースコード、料金サービスコードとする。
#--- 処理説明）以下の手順で課金否しかない契約を抽出
# １．サービス契約番号（降順）、料金コースコード（降順）、料金サービスコード（降順）、
# 課金可否フラグ（0：否／1：可）（降順）でソートする。※請求年月は全て同じなので省略
# ２．サービス契約番号、料金コースコード、料金サービスコード単位で一番最初のレコードに絞込む。
# ３．絞り込んだ結果の課金可否フラグが0のレコードだけを抽出する。※その際に今後不要な課金可否フラグは捨てる
#----------------------------------------------------------------------------------------------------
bsortex -sort key=2.10asca,3.3asca,4.12asca,7.1ascr \
    -input reclen=100 file=${UNLOAD_OUTFILE_AC0591_TMP10} \
    -record recform=txtcsv \
|bsortex -merge key=2.10asca,3.3asca,4.12asca \
    -input reclen=100 \
    -record recform=txtcsv \
    -summary suppress first \
    -output file=${UNLOAD_OUTFILE_AC0591_4} \
     include="7.1asc.eq.'0'" \
     reconst="0.6,1.10,2.10,3.3,4.12,5.6,'0'.1asc"
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_4}) "
    echo $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_4}) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- FTTH通信明細【当月分】ファイルから課金否しかない契約（※１）を通信量0byteにして抽出する。
#--- ※１、契約の集計単位は請求年月、サービス契約番号、料金コースコード、料金サービスコードとする。
#--- 処理説明）上記【前月分】と同じ要領
#----------------------------------------------------------------------------------------------------
bsortex -sort key=2.10asca,3.3asca,4.12asca,7.1ascr \
    -input reclen=100 file=${UNLOAD_OUTFILE_AC0591_TMP20} \
    -record recform=txtcsv \
|bsortex -merge key=2.10asca,3.3asca,4.12asca \
    -input reclen=100 \
    -record recform=txtcsv \
    -summary suppress first \
    -output file=${UNLOAD_OUTFILE_AC0591_5} \
     include="7.1asc.eq.'0'" \
     reconst="0.6,1.10,2.10,3.3,4.12,5.6,'0'.1asc"
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_5}) "
    echo $JOBNAME " bsortex Error(rc=$rc ${UNLOAD_OUTFILE_AC0591_5}) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- FTTH通信明細【前月分】、FTTH通信明細【当月分】、FTTH通信明細【前月分】課金否、FTTH通信明細【当月分】課金否をマージ
#----------------------------------------------------------------------------------------------------
cat ${UNLOAD_OUTFILE_AC0591_1} ${UNLOAD_OUTFILE_AC0591_2} ${UNLOAD_OUTFILE_AC0591_4} ${UNLOAD_OUTFILE_AC0591_5} > ${UNLOAD_OUTFILE_AC0591_3}

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

#----------------------------------------------------------------------------------------------------
#- UNLOADファイル(FTTH通話明細、対象キーワーク、サービス契約)のマッチング処理。
#----------------------------------------------------------------------------------------------------
#
#- マッチング用のdefファイルのファイル名変数を実ファイル名に置き換える。
#
cp ${MATCHING_DEF} ${DEF_FILE_WK1}

sed -i -e "s%:AC_T_FTTH_TUSHIN_DTL%${UNLOAD_OUTFILE_AC0591_3}%" ${DEF_FILE_WK1}
sed -i -e "s%:AC_T_TRGT_KEY_WK%${UNLOAD_OUTFILE_AC0561_TMP1}%"  ${DEF_FILE_WK1}
sed -i -e "s%:KK_T_SVC_KEI%${UNLOAD_OUTFILE_KK0081_TMP1}%"      ${DEF_FILE_WK1}

#
#- UNLOADファイル(FTTH通話明細、対象キーワーク、サービス契約)をマッチングする。
#
export ZTLOUTFILE=${MATCHING_OUTFILE_WRK1}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEF_FILE_WK1}

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

#----------------------------------------------------------------------------------------------------
#--- FTTH通信明細のマッチング結果ファイルをソートし、改行コードをwindows (CRLF)に変換する
#--- ソートキー
#--- 1.サービス契約番号 2.料金コースコード 3.料金サービスコード 4.請求契約番号 5.請求年月 6.利用年月
#----------------------------------------------------------------------------------------------------
bsortex \
  -sort key=0.10asca,1.3asca,2.12asca,3.10asca,4.6asca,5.6asca \
  -record recform=txtcsv \
  -input  file=${MATCHING_OUTFILE_WRK1} \
          reclen=100 \
  -output file=${OUTFILE} \
          linedlmt=crlf ;
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error($SVC bsortex:rc=$rc) "
    echo $JOBNAME " bsortex Error($SVC bsortex:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#----------------------------------------------------------------------------------------------------
#--- FTTH通信合計のアンロード結果ファイルをソートし、改行コードをwindows (CRLF)に変換する
#--- ソートキー
#--- 1.サービス契約番号 2.料金コースコード 3.料金サービスコード 4.請求契約番号 5.請求年月 6.利用年月
#----------------------------------------------------------------------------------------------------
bsortex \
  -sort key=0.10asca,1.3asca,2.12asca,3.10asca,4.6asca,5.6asca \
  -record recform=txtcsv \
  -input  file=${UNLOAD_OUTFILE_AC0601_TMP1} \
          reclen=100 \
  -output file=${OUTFILE2} \
          linedlmt=crlf ;
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " bsortex Error($SVC bsortex:rc=$rc) "
    echo $JOBNAME " bsortex Error($SVC bsortex: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 ${SQLFILE_AC0591_WRK}
    rm -f ${SQLFILE_AC0591_WRK2}
    rm -f ${SQLFILE_AC0561_WRK}
    rm -f ${SQLFILE_KK0081_WRK}
    rm -f ${SQLFILE_AC0601_WRK}
    rm -f ${SQLFILE_AC0601D_WRK}
    rm -f ${UNLOAD_OUTFILE_AC0591_TMP10}
    rm -f ${UNLOAD_OUTFILE_AC0591_TMP11}
    rm -f ${UNLOAD_OUTFILE_AC0591_TMP20}
    rm -f ${UNLOAD_OUTFILE_AC0591_TMP21}
    rm -f ${UNLOAD_OUTFILE_AC0561_TMP1}
    rm -f ${UNLOAD_OUTFILE_KK0081_TMP1}
    rm -f ${UNLOAD_OUTFILE_AC0601_TMP1}
    rm -f ${UNLOAD_OUTFILE_AC0591_1}
    rm -f ${UNLOAD_OUTFILE_AC0591_2}
    rm -f ${UNLOAD_OUTFILE_AC0591_3}
    rm -f ${UNLOAD_OUTFILE_AC0591_4}
    rm -f ${UNLOAD_OUTFILE_AC0591_5}
    rm -f ${MATCHING_OUTFILE_WRK1}
    rm -f ${DEF_FILE_WK1}
fi

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

exit $exit_rc
