#!/bin/bash
##############################################################
# システム名    ：eo顧客基幹システム
#
# サブシステム名：共通制御
#
# シェル名      ：SEIKY_YM 取得処理
#
# 機能          ：当日含む未来直近の請求年月を指定する
#
# コマンド形式  ：EO3SEIKYYM.sh
#
# 実行環境      ：.../app/shl
#
# パラメタ      ：$1   イベントコード
#               ：$2   イベント年月日
#
# 終了ステータス：ゼロ以外異常
#
# 特記事項      ：
#
# 変更履歴      ：変更日      変更者       障害／仕様変更No.
#                 2013/02/14  FJ)後藤      新規作成
# v54.00.00       2021/07/27  FJ)寺川      ANK-4069-00-00 バッチ・DBサーバーリプレース対応
##############################################################

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

#
#---パラメータ
#
EVENT_CD=$1
EVENT_YMD=$2
JOBNAME=$3

#オラクル接続情報
DBCONNECT=$ORACLEUSER/$ORACLEPASS@$SID_S

#シスログメッセージ出力
msgToSyslog() {
        sh ${G_TOOLSH}/EOK010210J0.sh CS00002E ${JOBNAME} "$1"
        exit ${G_RTN_ERROR}
}

#接続
#RESULT=`sqlplus -s ${DBCONNECT} <<EOF 
RESULT=`sqlplus -s ${DBCONNECT} <<EOF

whenever oserror exit 127;
whenever sqlerror exit 127;
set head off;
set termout off;
set trims on;

SELECT 
    CH0501.SEIKY_YM
FROM
    (
        SELECT
             CH0501.SEIKY_YM
        FROM 
            CH_M_PRC_SCHDL_TEIGI CH0501
        WHERE
                CH0501.EVENT_CD = ${EVENT_CD}
            AND CH0501.EVENT_YMD >= ${EVENT_YMD}
            AND CH0501.MK_FLG = '0'
        ORDER BY CH0501.EVENT_YMD ASC
    ) CH0501
WHERE
    ROWNUM = 1;
exit 0;
EOF`

RTNCD=$?

#オラクルエラー発生時
if [ ${RTNCD} -ne 0 ]
then
    #シスログにメッセージを出力し処理終了
    msgToSyslog "スケジュール定義参照処理でエラーが発生しました。（EVENT_CD=${EVENT_CD}, EVENT_YMD=${EVENT_YMD}）" $RESULT
fi

SEIKY_YM=`echo ${RESULT} |grep -e "[0-9][0-9][0-9][0-9][0-9][0-9]"`

if [ "${SEIKY_YM}" == "" ]
then
    msgToSyslog "請求年月が取得できませんでした。(SEIKY_YM=${RESULT})"
fi

export SEIKY_YM

return ${G_RTN_NORMAL}
