#!/bin/sh
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：料金管理
#
# シェル名      ：ｅｏ光電話利用呼情報取込（通話明細情報アンロード処理）
#
# 機能          ：eo光電話通話明細より利用呼との重複チェックに必要な情報を抽出する。
#
#エラーの場合、ABENDする。
#
#１　eo光電話利用呼情報取込処理内において利用呼重複チェックに使用するeo光電話番号情報（当月と前月）を抽出する。
#
# コマンド形式  ：sh EO3080173J0.sh YYYYMMDD
#
# 実行環境      ：.../batch/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v1.00           2013/03/05  FJ）藤田     【ST4-2013-0000050】性能改善
# v1.01           2013/03/18  FJ）広野     性能改善: ワークファイルの取り扱い方法を揃える修正
# v4.00           2013/04/10  FJ）藤田     【ST4-2013-0000413】性能改善 開始終了メッセージを出力するようにする
###############################################################
#
#---環境変数定義Shell呼び出し
#
. EOK010110J0.sh ;
. EO3080170J0_01.sh ;

#---多重起動用
[ $# -eq 2 ] &&TAJUKIDO="_$2" ;

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

#
#--- ジョブの開始メッセージを出力する
#
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME
sh ${G_TOOLSH}/EOK010210J0.sh CS00027I $JOBNAME

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

#---ワークファイル
TMP_FILE_01=${MID_DIR_AC}/${JOBNAME}_UNLOADER_WK_1.csv
TMP_FILE_02=${SQL_DIR}/${JOBNAME}_AC_U_AC0391_03_UNLOADER_WK_1.sql
touch ${TMP_FILE_01} ${TMP_FILE_02} ;
######################################################################
#
#- ２．明細内訳からのアンロード
#
######################################################################
#
#--- 料金スケジュール定義スキーマより請求年月を取得する。
#--- 出力ファイル: ${MID_DIR_AC}/${JOBNAME}_CH0501.csv
#
${UNLOADER} CH_M_PRC_SCHDL_TEIGI ${TMP_FILE_01} ||checkError 'UNLOADER' $? ;
# バッチ運用日に対する請求年月（04）を取得する。
bsortex \
	-record recform=txtcsv \
	-input reclen=290 \
	include="9.1asc.eq.'0'.and.0.2asc.eq.'03'.and.1.8asc.le.'${SHORI_YMD}'" \
	reconst="0.2,1.8,2.6" \
	-sort key="0.2asc,1.8asc" \
 <${TMP_FILE_01} \
 |bsortex \
	-record recform=txtcsv \
	-input reclen=290 \
	-merge key="0.2asc" \
	-summary suppress last \
	-output reconst="2.6" \
 >${MID_DIR_AC}/${JOBNAME}_CH0501.csv ||checkError 'bsort' $? ;
eval SEIKY_YM=`cat ${MID_DIR_AC}/${JOBNAME}_CH0501.csv`
echo SEIKY_YM = ${SEIKY_YM}

SEIKY_YM=`echo ${SHORI_YMD} |head -c6`

################################################################################
##
#--- eo光電話通話明細より請求年月'${SEIKY_YM}'当月・前月レコードを抽出する。
#--- 抽出後、ソート実行
#-- 1.サービス契約番号、2.サービス契約内訳番号、3.料金コースコード、4.料金サービスコード
#-- 5.請求年月、6.課金先電話番号、7.通話開始年月日、8.通話開始自分秒
#
################################################################################
#-抽出SQLの変数を書き換える
sed -e "s/:SEIKY_YM/${SEIKY_YM}/g" ${SQL_DIR}/AC_U_AC0391_03.sql >${TMP_FILE_02} ;
#アンロード
${UNLOADER} ${TMP_FILE_02} ${MID_DIR_AC}/${JOBNAME}_AC0391_01.csv ||checkError 'UNLOADER' $? ;

#PKソート
bsort -s -z200 -Tflt -t, -0.10asca,01.12asca,02.3asca,03.12asca,04.6asca,05.12asca,06.8asca,07.7asca,08.2asca,09.22asca \
    -o ${MID_DIR_AC}/ACIFM218001.csv ${MID_DIR_AC}/${JOBNAME}_AC0391_01.csv ||checkError 'bsort' $? ;

#-ワーク削除
if [ ${WK_RM} = "true" ]
then
    rm -f ${TMP_FILE_01}
    rm -f ${TMP_FILE_02}
    rm -f ${MID_DIR_AC}/${JOBNAME}_AC0391_01.csv
    rm -f ${MID_DIR_AC}/${JOBNAME}_CH0501.csv
fi

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

exit ${G_RTN_NORMAL}
