#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：サービス契約内訳＜ｅｏ光ネット＞抽出
#
# 機能          ：サービス契約内訳＜ｅｏ光ネット＞情報を取得する
#
#アンロード処理については、シェルの起動となる。
#EOKULD03.sh ${SQL_DIR}/AC_U_KK0171_01.sql ${MID_DIR_AC}/ACIFM190001_WRK.csv EO3180135J0
#
#${SQL_DIR}/AC_U_KK0171_01.sqlを、${SQL_DIR}AC_U_KK0171_01_WRK.sqlにコピーし、SQL文の生成を行う。${SQL_DIR}/AC_U_KK0171_01_WRK.sqlに対し、バインド変数箇所に業務日付を設定し、アンロード処理（EOKULD03.sh）の起動を行う。
#
# コマンド形式  ：EO3180135J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v4.01           2013/02/27  FJ）狭間     【ST4-2013-0000109】速度改善の為、JavaのDB入力部分をアンローダ・マッチング処理に変更
#                                          【KT1-2013-0000132】通信量の認証IDチェック誤りを修正
# v4.02           2013/03/18  FJ）広野     性能改善: アンロードの参照先スクリプト変更にともなう修正
# v4.03           2013/04/04  FJ）藤田     【ST4-2013-0000406】性能改善 スキーマのアンロードをバックグラウンドジョブに変更する
# v4.04           2013/06/17  FJ）黒木     【KT1-2013-0000670】性能改善不具合対応
# v4.05           2013/06/24  FJ）狭間     【TG1-2013-0000657】性能改善の為、ACIFM190001.csvの改行コードをLFに変更
# v5.00           2013/07/24  FJ）狭間     【ST4-2013-0000518】性能改善の為、課金先（請求契約含む）（KK_T_KAKINS）のアンロードSQLを分割
# v7.00           2014/02/19  FJ）垣内     【OM-2014-0000480】プラン課金開始年月日、プラン課金終了年月日、世代登録年月日を追加
# v12.00          2014/11/19  FJ）鈴木     【ST4-2014-0000075】性能改善：オプションサービス契約KK0351のアンロードを削除。KK0361の中で取得する。
# v14.00          2015/05/26  FJ) 有本     【OM-2015-0001265】  バックグラウンド実行削除
# v15.00          2015/07/24  FJ) 土井     【OM-2015-0001816】 共通UNLOAD対応
# v15.01          2015/08/24  FJ) 土井     【ST-2015-0000039】 UNLOADバックグラウンド実行対応
# v19.00.00       2015/10/09  FJ)福山      【OM-2015-0002578】 性能改善：アンロード共通ファイル縮小対応
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

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

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

WK_RM=true

export ZTLQUOTES=''

#---SQLへのパラメータ定義
OPE_DATE="'${RSLT_OPEDATE}'"
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

P1="OPD=,"
P2="SVCCTL=,"
P3="JOB=EO3180135J0,"
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="
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}/ACIFM190001.csv
OUTFILE_WRK=${MID_DIR_AC}/${JOBNAME}_ACIFM190001_OUT_WK_1.csv
OUTFILE_WRK2=${MID_DIR_AC}/${JOBNAME}_ACIFM190001_OUT_WK_2.csv

#--- 出力ファイル（ワーク）＜ｅｏ光ネット＞
CSVFILE_WORK01_MATCHING_WK1=${MID_DIR_AC}/${JOBNAME}_WORK01_MATCHING_WK_1.csv
CSVFILE_WORK01_BSORT_WK1=${MID_DIR_AC}/${JOBNAME}_WORK01_BSORT_WK_1.csv

#--- 出力ファイル（ワーク）＜マルチセッション・フェムトセル＞
CSVFILE_WORK02_MATCHING_WK1=${MID_DIR_AC}/${JOBNAME}_WORK02_MATCHING_WK_1.csv
CSVFILE_WORK02_BSORT_WK1=${MID_DIR_AC}/${JOBNAME}_WORK02_BSORT_WK_1.csv

#--- 出力ファイル（ワーク）課金先＆請求契約
CSVFILE_WORK03_MATCHING_WK1=${MID_DIR_AC}/${JOBNAME}_WORK03_MATCHING_WK_1.csv

#--- 1.サービス契約（KK_T_SVC_KEI）
# OM-2015-0001816 2015/07/27 土井 DEL START
#SQLFILE_KK0081=${SQL_DIR}/AC_U_KK0081_02.sql
#SQLFILE_KK0081_WRK=${SQL_DIR}/${JOBNAME}_AC_U_KK0081_02_UNLOADER_WK_1.sql
# OM-2015-0001816 2015/07/27 土井 DEL END

CSVFILE_KK0081=${MID_DIR_AC}/${JOBNAME}_KK0081_UNLOADER_WK_1.csv

#--- 2.サービス契約内訳（KK_T_SVC_KEI_UCWK）
# OM-2015-0001816 2015/07/27 土井 DEL START
#SQLFILE_KK0161=${SQL_DIR}/AC_U_KK0161_02.sql
#SQLFILE_KK0161_WRK=${SQL_DIR}/${JOBNAME}_AC_U_KK0161_02_UNLOADER_WK_1.sql
# OM-2015-0001816 2015/07/27 土井 DEL END

CSVFILE_KK0161=${MID_DIR_AC}/${JOBNAME}_KK0161_UNLOADER_WK_1.csv

#--- 3.サービス契約内訳＜eo光ネット＞（KK_T_SVKEIUW_EOH_NET）
SQLFILE_KK0171=${SQL_DIR}/AC_U_KK0171_02.sql
SQLFILE_KK0171_WRK=${SQL_DIR}/${JOBNAME}_AC_U_KK0171_02_UNLOADER_WK_1.sql

CSVFILE_KK0171=${MID_DIR_AC}/${JOBNAME}_KK0171_UNLOADER_WK_1.csv

#--- 4.課金先（KK_T_KAKINS）
SQLFILE_KK0321=${SQL_DIR}/AC_U_KK0321_01.sql
SQLFILE_KK0321_WRK=${SQL_DIR}/${JOBNAME}_AC_U_KK0321_01_UNLOADER_WK_1.sql

CSVFILE_KK0321=${MID_DIR_AC}/${JOBNAME}_KK0321_UNLOADER_WK_1.csv

## 2014.11.19 ST4-2014-0000075 del start
##--- 5.オプションサービス契約（KK_T_OP_SVC_KEI）
##SQLFILE_KK0351=${SQL_DIR}/AC_U_KK0351_02.sql
##SQLFILE_KK0351_WRK=${SQL_DIR}/${JOBNAME}_AC_U_KK0351_02_UNLOADER_WK_1.sql

##CSVFILE_KK0351=${MID_DIR_AC}/${JOBNAME}_KK0351_UNLOADER_WK_1.csv
## 2014.11.19 ST4-2014-0000075 del end

#--- 6.オプションサービス契約＜ISP＞（KK_T_OPSVKEI_ISP）
SQLFILE_KK0361=${SQL_DIR}/AC_U_KK0361_01.sql
SQLFILE_KK0361_WRK=${SQL_DIR}/${JOBNAME}_AC_U_KK0361_01_UNLOADER_WK_1.sql

CSVFILE_KK0361=${MID_DIR_AC}/${JOBNAME}_KK0361_UNLOADER_WK_1.csv

#--- 7.請求契約（KK_T_SEIKY_KEI）
# OM-2015-0001816 2015/07/27 土井 DEL START
#SQLFILE_KK0491=${SQL_DIR}/AC_U_KK0491_05.sql
#SQLFILE_KK0491_WRK=${SQL_DIR}/${JOBNAME}_AC_U_KK0491_05_UNLOADER_WK_1.sql
# OM-2015-0001816 2015/07/27 土井 DEL END

CSVFILE_KK0491=${MID_DIR_AC}/${JOBNAME}_KK0491_UNLOADER_WK_1.csv

#--- サービス契約内訳＜ｅｏ光ネット＞抽出
DEFFILE_01=${G_TOOLSH}/util/def/AC_CM_0007.def
DEFFILE_01_WRK=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0007_MATCHING_WK_1.def

#--- サービス契約内訳＜マルチセッション・フェムトセル＞抽出
DEFFILE_02=${G_TOOLSH}/util/def/AC_CM_0013.def
DEFFILE_02_WRK=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0013_MATCHING_WK_1.def

#--- 課金先＆請求契約抽出
DEFFILE_03=${G_TOOLSH}/util/def/AC_CM_0057.def
DEFFILE_03_WRK=${G_TOOLSH}/util/def/${JOBNAME}_AC_CM_0057_MATCHING_WK_1.def

# OM-2015-0001816 2015/07/27 土井 ADD START
#サービス契約(全件)
COMULD2_KK0081_ALL=${MID_DIR_CC}/CCIFM020001.csv
#サービス契約内訳スキーマ取得(カレント)
COMULD2_KK0161_CUR=${MID_DIR_CC}/CCIFM021002.csv
#請求契約スキーマ取得(カレント)
COMULD2_KK0491_CUR=${MID_DIR_CC}/CCIFM030002.csv
# OM-2015-0001816 2015/07/27 土井 ADD END

#
#--- 各ファイルの存在チェックを行う
#
#--- 1.サービス契約（KK_T_SVC_KEI）
# OM-2015-0001816 2015/07/27 土井 DEL START
#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
##--- 2.サービス契約内訳（KK_T_SVC_KEI_UCWK）
#if [ ! -r ${SQLFILE_KK0161} ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0161}) "
#    echo $JOBNAME " File is nonexist(${SQLFILE_KK0161}) "
#    exit ${G_RTN_ERROR}
#fi
# OM-2015-0001816 2015/07/27 土井 DEL END
#--- 3.サービス契約内訳＜eo光ネット＞（KK_T_SVKEIUW_EOH_NET）
if [ ! -r ${SQLFILE_KK0171} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0171}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_KK0171}) "
    exit ${G_RTN_ERROR}
fi
#--- 4.課金先（KK_T_KAKINS）
if [ ! -r ${SQLFILE_KK0321} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0321}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_KK0321}) "
    exit ${G_RTN_ERROR}
fi
## 2014.11.19 ST4-2014-0000075 del start
##--- 5.オプションサービス契約（KK_T_OP_SVC_KEI）
##if [ ! -r ${SQLFILE_KK0351} ]
##then
##    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0351}) "
##    echo $JOBNAME " File is nonexist(${SQLFILE_KK0351}) "
##    exit ${G_RTN_ERROR}
##fi
## 2014.11.19 ST4-2014-0000075 del end
#--- 6.オプションサービス契約＜ISP＞（KK_T_OPSVKEI_ISP）
if [ ! -r ${SQLFILE_KK0361} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0361}) "
    echo $JOBNAME " File is nonexist(${SQLFILE_KK0361}) "
    exit ${G_RTN_ERROR}
fi
#--- 7.請求契約（KK_T_SEIKY_KEI）
# OM-2015-0001816 2015/07/27 土井 DEL START
#if [ ! -r ${SQLFILE_KK0491} ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${SQLFILE_KK0491}) "
#    echo $JOBNAME " File is nonexist(${SQLFILE_KK0491}) "
#    exit ${G_RTN_ERROR}
#fi
# OM-2015-0001816 2015/07/27 土井 DEL END
#--- サービス契約内訳＜ｅｏ光ネット＞抽出
if [ ! -r ${DEFFILE_01} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${DEFFILE_01}) "
    echo $JOBNAME " File is nonexist(${DEFFILE_01}) "
    exit ${G_RTN_ERROR}
fi
#--- サービス契約内訳＜マルチセッション・フェムトセル＞抽出
if [ ! -r ${DEFFILE_02} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${DEFFILE_02}) "
    echo $JOBNAME " File is nonexist(${DEFFILE_02}) "
    exit ${G_RTN_ERROR}
fi
#--- 課金先＆請求契約抽出
if [ ! -r ${DEFFILE_03} ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist(${DEFFILE_03}) "
    echo $JOBNAME " File is nonexist(${DEFFILE_03}) "
    exit ${G_RTN_ERROR}
fi

#--- SQLパラメータセット
#１．バッチ運用日：バッチ運用日
#    OPE_DATE="'${RSLT_OPEDATE}'"
#--- 1.サービス契約（KK_T_SVC_KEI）
# OM-2015-0001816 2015/07/27 土井 DEL START
#cp -f ${SQLFILE_KK0081} ${SQLFILE_KK0081_WRK}
#sed -i -e "s/\:OPE_DATE/'${RSLT_OPEDATE}'/"  ${SQLFILE_KK0081_WRK} 
#
##--- 2.サービス契約内訳（KK_T_SVC_KEI_UCWK）
#cp -f ${SQLFILE_KK0161} ${SQLFILE_KK0161_WRK}
#sed -i -e "s/\:OPE_DATE/'${RSLT_OPEDATE}'/"  ${SQLFILE_KK0161_WRK} 
# OM-2015-0001816 2015/07/27 土井 DEL END

#--- 3.サービス契約内訳＜eo光ネット＞（KK_T_SVKEIUW_EOH_NET）
cp -f ${SQLFILE_KK0171} ${SQLFILE_KK0171_WRK}

#--- 4.課金先（KK_T_KAKINS）
cp -f ${SQLFILE_KK0321} ${SQLFILE_KK0321_WRK}

## 2014.11.19 ST4-2014-0000075 del start
##--- 5.オプションサービス契約（KK_T_OP_SVC_KEI）
##cp -f ${SQLFILE_KK0351} ${SQLFILE_KK0351_WRK}
##sed -i -e "s/\:OPE_DATE/'${RSLT_OPEDATE}'/"  ${SQLFILE_KK0351_WRK} 
## 2014.11.19 ST4-2014-0000075 del end

#--- 6.オプションサービス契約＜ISP＞（KK_T_OPSVKEI_ISP）
cp -f ${SQLFILE_KK0361} ${SQLFILE_KK0361_WRK}
## 2014.11.19 ST4-2014-0000075 add start
sed -i -e "s/\:OPE_DATE/'${RSLT_OPEDATE}'/"  ${SQLFILE_KK0361_WRK} 
## 2014.11.19 ST4-2014-0000075 add end

#--- 7.請求契約（KK_T_SEIKY_KEI）
# OM-2015-0001816 2015/07/27 土井 DEL START
#cp -f ${SQLFILE_KK0491} ${SQLFILE_KK0491_WRK}
#sed -i -e "s/\:OPE_DATE/'${RSLT_OPEDATE}'/"  ${SQLFILE_KK0491_WRK} 
# OM-2015-0001816 2015/07/27 土井 DEL END

#--- サービス契約内訳＜ｅｏ光ネット＞抽出
cp -f ${DEFFILE_01} ${DEFFILE_01_WRK}
sed -i -e "s%\:CSVFILE_KK0081%${CSVFILE_KK0081}%"               ${DEFFILE_01_WRK} 
sed -i -e "s%\:CSVFILE_KK0161%${CSVFILE_KK0161}%"               ${DEFFILE_01_WRK} 
sed -i -e "s%\:CSVFILE_KK0171%${CSVFILE_KK0171}%"               ${DEFFILE_01_WRK} 
sed -i -e "s%\:CSVFILE_KK0321%${CSVFILE_WORK03_MATCHING_WK1}%"  ${DEFFILE_01_WRK} 

#--- サービス契約内訳＜マルチセッション・フェムトセル＞抽出
cp -f ${DEFFILE_02} ${DEFFILE_02_WRK}
sed -i -e "s%\:CSVFILE_KK0081%${CSVFILE_KK0081}%"               ${DEFFILE_02_WRK} 
sed -i -e "s%\:CSVFILE_KK0321%${CSVFILE_WORK03_MATCHING_WK1}%"  ${DEFFILE_02_WRK} 
## 2014.11.19 ST4-2014-0000075 del start
##sed -i -e "s%\:CSVFILE_KK0351%${CSVFILE_KK0351}%"               ${DEFFILE_02_WRK} 
## 2014.11.19 ST4-2014-0000075 del end
sed -i -e "s%\:CSVFILE_KK0361%${CSVFILE_KK0361}%"               ${DEFFILE_02_WRK} 

#--- 課金先＆請求契約抽出
cp -f ${DEFFILE_03} ${DEFFILE_03_WRK}
sed -i -e "s%\:CSVFILE_KK0321%${CSVFILE_KK0321}%"               ${DEFFILE_03_WRK} 
sed -i -e "s%\:CSVFILE_KK0491%${CSVFILE_KK0491}%"               ${DEFFILE_03_WRK} 

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

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

# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 ADD START
UNLOAD ${SQLFILE_KK0171_WRK} ${CSVFILE_KK0171} &
pid_UNLOAD_KK0171=$!

UNLOAD ${SQLFILE_KK0321_WRK} ${CSVFILE_KK0321} &
pid_UNLOAD_KK0321=$!

UNLOAD ${SQLFILE_KK0361_WRK} ${CSVFILE_KK0361} &
pid_UNLOAD_KK0361=$!
# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 ADD END

# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${SQLFILE_KK0081_WRK} ${CSVFILE_KK0081} &
#pid_UNLOAD_KK0081=$!
# OM-2015-0001816 2015/07/27 土井 MOD START
#UNLOAD ${SQLFILE_KK0081_WRK} ${CSVFILE_KK0081}
# OM-2015-0002578 2015/10/09 福山 MOD START
#bsortex \
#  -sort key="0.10asc,9.3asc,10.6asc,33.8asc,1.17asc" -record recform=txtcsv \
#  -input file=${COMULD2_KK0081_ALL} \
#     reclen=${ULD_REC_LEN_KK0081} \
#     include="35.1asc.eq.'2'.and.33.8asc.le.'${RSLT_OPEDATE}'" \
#  -output reconst="0.10,9.3,10.6,39.8,30.8,31.8,1.17" \
# | sed 's/\"//g' \
# | bsortex \
#  -merge key="0.10asc,1.3asc,2.6asc" -record recform=txtcsv \
#  -input reclen=100 \
#  -summary suppress last \
#  -output file=${CSVFILE_KK0081}
bsortex \
  -sort key="0.10asc,8.3asc,9.6asc,19.8asc,1.17asc" -record recform=txtcsv \
  -input file=${COMULD2_KK0081_ALL} \
     reclen=${ULD2_REC_LEN_KK0081} \
     include="20.1asc.eq.'2'.and.19.8asc.le.'${RSLT_OPEDATE}'" \
  -output reconst="0.10,8.3,9.6,23.8,16.8,17.8,1.17" \
 | sed 's/\"//g' \
 | bsortex \
  -merge key="0.10asc,1.3asc,2.6asc" -record recform=txtcsv \
  -input reclen=100 \
  -summary suppress last \
  -output file=${CSVFILE_KK0081}
# OM-2015-0002578 2015/10/09 福山 MOD END
# OM-2015-0001816 2015/07/27 土井 MOD END
rc_SQLFILE_KK0081=$?
# OM-2015-0001265 2015/05/26 有本 MOD END

# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${SQLFILE_KK0161_WRK} ${CSVFILE_KK0161} &
#pid_UNLOAD_KK0161=$!
# OM-2015-0001816 2015/07/27 土井 MOD START
#UNLOAD ${SQLFILE_KK0161_WRK} ${CSVFILE_KK0161}
# OM-2015-0002578 2015/10/09 福山 MOD START
#bsortex \
#  -copy -record recform=txtcsv \
#  -input file=${COMULD2_KK0161_CUR} \
#     reclen=${ULD_REC_LEN_KK0161} \
#     reconst="3.10,0.12" \
#  |  sed 's/\"//g' > ${CSVFILE_KK0161}
bsortex \
  -copy -record recform=txtcsv \
  -input file=${COMULD2_KK0161_CUR} \
     reclen=${ULD2_REC_LEN_KK0161} \
     reconst="3.10,0.12" \
  |  sed 's/\"//g' > ${CSVFILE_KK0161}
# OM-2015-0002578 2015/10/09 福山 MOD END
# OM-2015-0001816 2015/07/27 土井 MOD END
rc_SQLFILE_KK0161=$?
# OM-2015-0001265 2015/05/26 有本 MOD END

# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${SQLFILE_KK0171_WRK} ${CSVFILE_KK0171} &
#pid_UNLOAD_KK0171=$!
# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 DEL START
#UNLOAD ${SQLFILE_KK0171_WRK} ${CSVFILE_KK0171}
#rc_SQLFILE_KK0171=$?
# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 DEL END
# OM-2015-0001265 2015/05/26 有本 MOD END

# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${SQLFILE_KK0321_WRK} ${CSVFILE_KK0321} &
#pid_UNLOAD_KK0321=$!
# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 DEL START
#UNLOAD ${SQLFILE_KK0321_WRK} ${CSVFILE_KK0321}
#rc_SQLFILE_KK0321=$?
# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 DEL END
# OM-2015-0001265 2015/05/26 有本 MOD END

## 2014.11.19 ST4-2014-0000075 del start
##UNLOAD ${SQLFILE_KK0351_WRK} ${CSVFILE_KK0351}
##pid_UNLOAD_KK0351=$!
## 2014.11.19 ST4-2014-0000075 del end

# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${SQLFILE_KK0361_WRK} ${CSVFILE_KK0361} &
#pid_UNLOAD_KK0361=$!
# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 DEL START
#UNLOAD ${SQLFILE_KK0361_WRK} ${CSVFILE_KK0361}
#rc_SQLFILE_KK0361=$?
# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 DEL START
# OM-2015-0001265 2015/05/26 有本 MOD END

# OM-2015-0001265 2015/05/26 有本 MOD START
#UNLOAD ${SQLFILE_KK0491_WRK} ${CSVFILE_KK0491} &
#pid_UNLOAD_KK0491=$!
# OM-2015-0001816 2015/07/27 土井 MOD START
#UNLOAD ${SQLFILE_KK0491_WRK} ${CSVFILE_KK0491}
# OM-2015-0002578 2015/10/09 福山 MOD START
#bsortex \
#  -copy -record recform=txtcsv \
#  -input file=${COMULD2_KK0491_CUR} \
#     reclen=${ULD_REC_LEN_KK0491} \
#     reconst="0.10" \
#  |  sed 's/\"//g' > ${CSVFILE_KK0491}
bsortex \
  -copy -record recform=txtcsv \
  -input file=${COMULD2_KK0491_CUR} \
     reclen=${ULD2_REC_LEN_KK0491} \
     reconst="0.10" \
  |  sed 's/\"//g' > ${CSVFILE_KK0491}
# OM-2015-0002578 2015/10/09 福山 MOD END
# OM-2015-0001816 2015/07/27 土井 MOD END
rc_SQLFILE_KK0491=$?
# OM-2015-0001265 2015/05/26 有本 MOD END

#- すべての抽出が終了するのを待つ
# OM-2015-0001265 2015/05/26 有本 DEL START
#wait ${pid_UNLOAD_KK0081}
#rc_SQLFILE_KK0081=$?

#wait ${pid_UNLOAD_KK0161}
#rc_SQLFILE_KK0161=$?

#wait ${pid_UNLOAD_KK0171}
#rc_SQLFILE_KK0171=$?

#wait ${pid_UNLOAD_KK0321}
#rc_SQLFILE_KK0321=$?

## 2014.11.19 ST4-2014-0000075 del start
##wait ${pid_UNLOAD_KK0351}
##rc_SQLFILE_KK0351=$?
## 2014.11.19 ST4-2014-0000075 del end

#wait ${pid_UNLOAD_KK0361}
#rc_SQLFILE_KK0361=$?

#wait ${pid_UNLOAD_KK0491}
#rc_SQLFILE_KK0491=$?
# OM-2015-0001265 2015/05/26 有本 DEL END

# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 ADD START
wait ${pid_UNLOAD_KK0171}
rc_SQLFILE_KK0171=$?

wait ${pid_UNLOAD_KK0321}
rc_SQLFILE_KK0321=$?

wait ${pid_UNLOAD_KK0361}
rc_SQLFILE_KK0361=$?
# ST-2015-0000039 UNLOADバックグラウンド実行対応 2015/08/24 土井 ADD END

#- エラー処理
## 2014.11.19 ST4-2014-0000075 mod
##if [ ${rc_SQLFILE_KK0081} -ne 0 ] || [ ${rc_SQLFILE_KK0161} -ne 0 ] || [ ${rc_SQLFILE_KK0171} -ne 0 ] \
## || [ ${rc_SQLFILE_KK0321} -ne 0 ] || [ ${rc_SQLFILE_KK0351} -ne 0 ] || [ ${rc_SQLFILE_KK0361} -ne 0 ] || [ ${rc_SQLFILE_KK0491} -ne 0 ]
if [ ${rc_SQLFILE_KK0081} -ne 0 ] || [ ${rc_SQLFILE_KK0161} -ne 0 ] || [ ${rc_SQLFILE_KK0171} -ne 0 ] \
 || [ ${rc_SQLFILE_KK0321} -ne 0 ] || [ ${rc_SQLFILE_KK0361} -ne 0 ] || [ ${rc_SQLFILE_KK0491} -ne 0 ]
then
    #- エラーメッセージ出力
    if [ ${rc_SQLFILE_KK0081} -ne 0 ]
    then
# OM-2015-0001816 2015/07/27 土井 MOD START
#        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0081_WRK}:rc=${rc_SQLFILE_KK0081}) "
#        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0081_WRK}:rc=${rc_SQLFILE_KK0081}) "
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${CSVFILE_KK0081}:rc=${rc_SQLFILE_KK0081}) "
        echo $JOBNAME "UNLOAD ERROR(${CSVFILE_KK0081}:rc=${rc_SQLFILE_KK0081}) "
# OM-2015-0001816 2015/07/27 土井 MOD END
    fi
    if [ ${rc_SQLFILE_KK0161} -ne 0 ]
    then
# OM-2015-0001816 2015/07/27 土井 MOD START
#        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0161_WRK}:rc=${rc_SQLFILE_KK0161}) "
#        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0161_WRK}:rc=${rc_SQLFILE_KK0161}) "
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${CSVFILE_KK0161}:rc=${rc_SQLFILE_KK0161}) "
        echo $JOBNAME "UNLOAD ERROR(${CSVFILE_KK0161}:rc=${rc_SQLFILE_KK0161}) "
# OM-2015-0001816 2015/07/27 土井 MOD END
    fi
    if [ ${rc_SQLFILE_KK0171} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0171_WRK}:rc=${rc_SQLFILE_KK0171}) "
        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0171_WRK}:rc=${rc_SQLFILE_KK0171}) "
    fi
    if [ ${rc_SQLFILE_KK0321} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0321_WRK}:rc=${rc_SQLFILE_KK0321}) "
        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0321_WRK}:rc=${rc_SQLFILE_KK0321}) "
    fi
## 2014.11.19 ST4-2014-0000075 del start
##    if [ ${rc_SQLFILE_KK0351} -ne 0 ]
##    then
##        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0351_WRK}:rc=${rc_SQLFILE_KK0351}) "
##        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0351_WRK}:rc=${rc_SQLFILE_KK0351}) "
##    fi
## 2014.11.19 ST4-2014-0000075 del end
    if [ ${rc_SQLFILE_KK0361} -ne 0 ]
    then
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0361_WRK}:rc=${rc_SQLFILE_KK0361}) "
        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0361_WRK}:rc=${rc_SQLFILE_KK0361}) "
    fi
    if [ ${rc_SQLFILE_KK0491} -ne 0 ]
    then
# OM-2015-0001816 2015/07/27 土井 MOD START
#        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${SQLFILE_KK0491_WRK}:rc=${rc_SQLFILE_KK0491}) "
#        echo $JOBNAME "UNLOAD ERROR(${SQLFILE_KK0491_WRK}:rc=${rc_SQLFILE_KK0491}) "
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD ERROR(${CSVFILE_KK0491}:rc=${rc_SQLFILE_KK0149}) "
        echo $JOBNAME "UNLOAD ERROR(${CSVFILE_KK0491}:rc=${rc_SQLFILE_KK0491}) "
# OM-2015-0001816 2015/07/27 土井 MOD END
    fi
    #- 異常終了
    exit ${G_RTN_ERROR}
fi

#
#--- マッチング処理→出力ファイル（ワーク）課金先＆請求契約抽出
#
(export ZTLOUTFILE=${CSVFILE_WORK03_MATCHING_WK1}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_03_WRK})
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " ZTLMAT01 Error($SVC ZTLMAT01:rc=$rc) "
    echo $JOBNAME " ZTLMAT01 Error($SVC mv:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- マッチング処理→出力ファイル（ワーク）＜ｅｏ光ネット＞
#
(export ZTLOUTFILE=${CSVFILE_WORK01_MATCHING_WK1}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_01_WRK})
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " ZTLMAT01 Error($SVC ZTLMAT01:rc=$rc) "
    echo $JOBNAME " ZTLMAT01 Error($SVC mv:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
# ソート
bsort -s -z200 -Tflt -t -0.64asc, -o  ${CSVFILE_WORK01_BSORT_WK1} ${CSVFILE_WORK01_MATCHING_WK1} 
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error($SVC sort:rc=$rc) "
    echo $JOBNAME " SORT Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- マッチング処理→出力ファイル（ワーク）＜マルチセッション・フェムトセル＞
#
(export ZTLOUTFILE=${CSVFILE_WORK02_MATCHING_WK1}
${G_TOOLSH}/util/bin/ZTLMAT01 ${DEFFILE_02_WRK})
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " ZTLMAT01 Error($SVC ZTLMAT01:rc=$rc) "
    echo $JOBNAME " ZTLMAT01 Error($SVC mv:rc=$rc) "
    exit ${G_RTN_ERROR}
fi
# ソート
bsort -s -z200 -Tflt -t -0.64asc, -o  ${CSVFILE_WORK02_BSORT_WK1} ${CSVFILE_WORK02_MATCHING_WK1} 
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " SORT Error($SVC sort:rc=$rc) "
    echo $JOBNAME " SORT Error($SVC sort:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- マージ処理→出力ファイル（ワーク）＜ｅｏ光ネット＞出力ファイル（ワーク）＜マルチセッション・フェムトセル＞
#
bsortex \
  -merge key="0.64asc" \
  -record recform=txtcsv \
  -input reclen=500 \
  file=${CSVFILE_WORK01_BSORT_WK1},${CSVFILE_WORK02_BSORT_WK1} \
  -output file=${OUTFILE_WRK2}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " merge Error($SVC merge:rc=$rc) "
    echo $JOBNAME " merge Error($SVC mv:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- 同一内容レコードの集約
#
bsortex \
  -sort key="0.64asc,1.10asc,9.17ascr,2.8asc,3.3asc,4.6asc,5.10asc,7.8asc,8.8asc" \
  -record recform=txtcsv \
  -input reclen=500 file=${OUTFILE_WRK2} \
  -summary suppress \
  -output file=${OUTFILE}
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " merge2 Error($SVC merge:rc=$rc) "
    echo $JOBNAME " merge2 Error($SVC mv:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#ワーク削除
if [ $WK_RM = "true" ]
then
    rm -f ${OUTFILE_WRK2}
    rm -f ${OUTFILE_WRK}
    rm -f ${DEFFILE_01_WRK}
    rm -f ${DEFFILE_02_WRK}
    rm -f ${DEFFILE_03_WRK}
# OM-2015-0001816 2015/07/27 土井 DEL START
#    rm -f ${SQLFILE_KK0081_WRK}
#    rm -f ${SQLFILE_KK0161_WRK}
# OM-2015-0001816 2015/07/27 土井 DEL END
    rm -f ${SQLFILE_KK0171_WRK}
    rm -f ${SQLFILE_KK0321_WRK}
## 2014.11.19 ST4-2014-0000075 del start
##    rm -f ${SQLFILE_KK0351_WRK}
## 2014.11.19 ST4-2014-0000075 del end
    rm -f ${SQLFILE_KK0361_WRK}
# OM-2015-0001816 2015/07/27 土井 DEL START
#    rm -f ${SQLFILE_KK0491_WRK}
# OM-2015-0001816 2015/07/27 土井 DEL END
    rm -f ${CSVFILE_KK0081}
    rm -f ${CSVFILE_KK0161}
    rm -f ${CSVFILE_KK0171}
    rm -f ${CSVFILE_KK0321}
## 2014.11.19 ST4-2014-0000075 del start
##    rm -f ${CSVFILE_KK0351}
## 2014.11.19 ST4-2014-0000075 del end
    rm -f ${CSVFILE_KK0361}
    rm -f ${CSVFILE_KK0491}
    rm -f ${CSVFILE_WORK01_BSORT_WK1}
    rm -f ${CSVFILE_WORK01_MATCHING_WK1}
    rm -f ${CSVFILE_WORK02_BSORT_WK1}
    rm -f ${CSVFILE_WORK02_MATCHING_WK1}
    rm -f ${CSVFILE_WORK03_MATCHING_WK1}
fi

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

exit ${G_RTN_NORMAL}


