#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：契約管理
#
# シェル名      ：サービス契約（カレント）アンロード
#
# 機能          ：複数バッチ間で類似性のあるアンロード処理を統合する。
#                 [統合対象のJOBID]
#                     ・EO2090605J (対象契約一時金抽出)
#                     ・EO2092320J (機器オプションサービス契約開始日変更抽出)
#
# コマンド形式  ：EO2EP0110J0.sh
#
# 実行環境      ：.../app/shl
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：特になし
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
# v10.00.00      2014/10/05    YSK)柿坂     ST4-2014-0000064
# v19.00.00      2015/10/01    FJ) 有本     OM-2015-0002494 共通UNLOAD対応
#
##############################################################

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

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

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

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

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

#
#---OPD
#
OPD=$1

#
#---業務で必要な変数定義
#
#xxx=xxxxxxx
##############################################################
# 業務処理
##############################################################
sh ${G_TOOLSH}/EOK010210J0.sh CS00025I $JOBNAME

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

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


#
#--- ファイル定義
#

#アンロード用SQLファイル
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#SQLFILE=${SQL_DIR}/KK_U_KK0081_106.sql
#TMPSQLFILE=${SQL_DIR}/KK_U_KK0081_106_TMP.sql
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 ADD START
#UNLOAD共通ファイル定義
#サービス契約(カレント)
COMULD3_KK0081_CUR=${MID_DIR_CC}/CCIFM040002.csv
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 ADD END

#アンロード結果出力ファイル
SQLOUT_KK0081=${LOC_DIR_KK}/KKIFM608001.csv

#--- 初期処理 前回実施時に出力したファイルを全てクリアする。
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#cat /dev/null > ${TMPSQLFILE}
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END
cat /dev/null > ${SQLOUT_KK0081}


#
#--- ファイルの存在チェック
#
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#if [ ! -r $SQLFILE ]
#then
#    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " File is nonexist($SQLFILE) "
#    echo $JOBNAME " File is nonexist($SQLFILE) "
#    exit ${G_RTN_ERROR}
#fi
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END


#
#--- バインド変数設定処理
#
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#cat ${SQLFILE} > ${TMPSQLFILE}
#sed -i -e 0,/?/s/?/"'"${RSLT_OPEDATE}"'"/ ${TMPSQLFILE}
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END


#
#--- UNLOAD処理
#

# KK0081のカレントデータ取得
#  KK0081のカレント
#  - SELECT(reconst)項目は以下
#      0 - 0.10   ：サービス契約番号
#      1 - 1.17   ：世代登録年月日時分秒
#      2 - 2.3    ：サービス契約ステータス
#      3 - 4.2    ：サービスコード
#      4 - 8.2    ：料金グループコード
#      5 - 33.8   ：予約適用年月日
#      6 - 35.1   ：予約適用コード
#      7 - 96.1   ：無効フラグ
#      8 - 38.8   ：サービス開始年月日
#      9 - 39.8   ：サービス課金開始年月日
#     10 - 57.8   ：サービス課金終了年月日
#     11 - 58.8   ：サービス解約起算年月日
#     12 - 59.8   ：サービス解約年月日
#     13 - 9.3    ：料金コースコード
#     14 - 10.6   ：料金プランコード
#     15 - 3.10   ：ＳＹＳＩＤ
#     16 - 92.17  ：更新年月日時分秒
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#sh ${G_TOOLSH}/EOKULD02.sh $TMPSQLFILE $SQLOUT_KK0081 $JOBNAME
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 ADD START
    bsortex \
        -copy -record recform=txtcsv \
        -input file=${COMULD3_KK0081_CUR} \
            reclen=270\
            reconst="0.10,1.17,2.3,4.2,6.2,14.8,15.1,23.1,16.8,17.8,18.8,19.8,20.8,7.3,8.6,3.10,22.17"\
        -output file=${SQLOUT_KK0081}
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 ADD END

# アンロード結果チェック
rc=$?
if [ $rc -ne 0 ]
then
    sh ${G_TOOLSH}/EOK010210J0.sh CS00002E $JOBNAME " UNLOAD Error($SQLOUT_KK0081 unload:rc=$rc) " 
    echo $JOBNAME " UNLOAD Error($SQLOUT_KK0081 unload:rc=$rc) "
    exit ${G_RTN_ERROR}
fi

#
#--- SQLファイル(バインド置換後)のクリア
#
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL START
#rm -f ${TMPSQLFILE}
# OM-2015-0002494 共通UNLOAD対応 2015/10/01 有本 DEL END


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

exit ${G_RTN_NORMAL}
