#!/bin/sh
LANG=ja_JP.UTF-8
export LANG

######################################<+>#######################################
#  File:            
#  Project:         
#  Description:     
#  Language:        
#  Date:            
#  Author:          
#  Update:          
######################################<+>#######################################

#==============================================================================#
# 戻値定義
#==============================================================================#
# 正常終了
RTN_NORMAL=0

# 警告終了
RTN_WARNING=1

# 異常終了
RTN_ERROR=9

#==============================================================================#
# ディレクトリ定義
#==============================================================================#
# 運用シェル ログファイル出力ディレクトリ
UNYO_LOG_DIR=/logbk/log/recent

# 運用シェル データファイル出力ディレクトリ
UNYO_DATA_DIR=/logbk/data/recent

# 運用シェル パラメータファイルディレクトリ
UNYO_PRM_DIR=/unyo/param

# 運用シェル 格納ディレクトリ
UNYO_SHELL_DIR=/unyo/sh

# バッチシェル ログファイル出力ディレクトリ
BATCH_LOG_DIR=/BTWK001/log

# バッチシェル データファイル出力ディレクトリ
BATCH_DATA_DIR=/BTWK001/dat

# バッチシェル パラメータファイルディレクトリ
BATCH_PRM_DIR=/batch/param

# バッチシェル 格納ディレクトリ
BATCH_SHELL_DIR=/batch/sh

# バッチAP 格納先ディレクトリ
BATCH_AP_DIR=/batch/uprg

#==============================================================================#
# Oracle関連
#==============================================================================#
# Oracle SQL*Net経由の接続用
#TWO_TASK=ORACLE01
#export TWO_TASK

# Oracleユーザ「system」のパスワード
ORAMANGER_PWD=ORACLE_SYSTEM_PASSWD
export ORAMANGER_PWD

# バッチ処理用Oracleユーザ/パスワード
ORA_BAT_USR=BBB
ORA_BAT_PWD=BBB

# ORACLE 日本語環境
export NLS_LANG=Japanese_Japan.AL32UTF8

#==============================================================================#
# ログファイル関連
#==============================================================================#
SHELL_BASENAME=`basename $0`
SHELL_LOGNAME=`echo ${SHELL_BASENAME} | awk -F. '{print($1);}'`
LOGDATE=`date +%Y%m%d`
PASSWORD_MASKING="********"

#==============================================================================#
# 共通関数
#==============================================================================#
#*************************************************
#** LOG_OUTPUT:ログ出力関数
#** 使用方法:log_output [ログ種別] [ログデータ]
#*************************************************
log_output()
{
    # 引数チェック
    if [ $# -ne 2 ]; then
        return ${RTN_WARNING}
    fi

    # ログ種別
    LOGKD=$1

    case ${LOGKD} in
        I) LOGKD="[INF]";;
        W) LOGKD="[WRN]";;
        C) LOGKD="[ERR]";;
        *) LOGKD="[UNK]";;
    esac

    # ログデータ
    LOGDT=$2

    # ログ時刻定義
    LOGTM=`date +"[%Y/%m/%d %H:%M:%S]"`

    # ログ出力
    echo "${LOGTM} ${LOGKD} : ${LOGDT}"
    return ${RTN_NORMAL}
}

#*************************************************
#** BTCOMMON_FMTNUM:数値表現3桁化関数
#** 使用方法:BTCOMMON_FMTNUM [数値]
#** 戻り値:正常時 : なし、異常時 : 9
#*************************************************
BTCOMMON_FMTNUM()
{
    if [ "$#" -ne 1 ];then
        echo error
        return 9
    fi
    COMMON_FMTNUM_STS=$1

    if [ ${COMMON_FMTNUM_STS} -lt 10 ];then
        echo 00${COMMON_FMTNUM_STS}
    elif [ ${COMMON_FMTNUM_STS} -lt 100 ];then
        echo 0${COMMON_FMTNUM_STS}
    else
        echo ${COMMON_FMTNUM_STS}
    fi
}

#*************************************************
#** CHECK_DAY:起動曜日確認関数
#** 使用方法:check_day [曜日(省略可)]
#*************************************************
check_day()
{
    # コマンド引数チェック
    Monday="-Monday"
    Tuesday="-Tuesday"
    Wednesday="-Wednesday"
    Thursday="-Thursday"
    Friday="-Friday"
    Saturday="-Saturday"
    Sunday="-Sunday"
    MONDAY="1"
    TUESDAY="2"
    WEDNESDAY="3"
    THURSDAY="4"
    FRIDAY="5"
    SATURDAY="6"
    SUNDAY="7"

    WEEK=`date +%u`
    MODE=""
    DAY=""

    # 引数チェック
    if   [ $# -eq 0 ];then
        # 引数0個:正常実行
        MODE="EXEC"
    elif [ $# -eq 1 ];then
        # 引数1個
        if [ $1 = $Monday -a $WEEK = $MONDAY ];then
            # "-Monday"指定で今日が月曜日:正常実行
            MODE="EXEC"
        elif [ $1 = $Monday ];then
            # "-Monday"指定で今日が月曜日以外:正常スキップ
            MODE="SKIP"
        elif [ $1 = $Tuesday -a $WEEK = $TUESDAY ];then
            # "-Tuesday"指定で今日が火曜日:正常実行
            MODE="EXEC"
        elif [ $1 = $Tuesday ];then
            # "-Tuesday"指定で今日が火曜日以外:正常スキップ
            MODE="SKIP"
        elif [ $1 = $Wednesday -a $WEEK = $WEDNESDAY ];then
            # "-Wednesday"指定で今日が水曜日:正常実行
            MODE="EXEC"
        elif [ $1 = $Wednesday ];then
            # "-Wednesday"指定で今日が水曜日以外:正常スキップ
            MODE="SKIP"
        elif [ $1 = $Thursday -a $WEEK = $THURSDAY ];then
            # "-Thursday"指定で今日が木曜日:正常実行
            MODE="EXEC"
        elif [ $1 = $Thursday ];then
            # "-Thursday"指定で今日が木曜日以外:正常スキップ
            MODE="SKIP"
        elif [ $1 = $Friday -a $WEEK = $FRIDAY ];then
            # "-Friday"指定で今日が金曜日:正常実行
            MODE="EXEC"
        elif [ $1 = $Friday ];then
            # "-Friday"指定で今日が金曜日以外:正常スキップ
            MODE="SKIP"
        elif [ $1 = $Saturday -a $WEEK = $SATURDAY ];then
            # "-Saturday"指定で今日が土曜日:正常実行
            MODE="EXEC"
        elif [ $1 = $Saturday ];then
            # "-Saturday"指定で今日が土曜日以外:正常スキップ
            MODE="SKIP"
        elif [ $1 = $Sunday -a $WEEK = $SUNDAY ];then
            # "-Sunday"指定で今日が日曜日:正常実行
            MODE="EXEC"
        elif [ $1 = $Sunday ];then
            # "-Sunday"指定で今日が日曜日以外:正常スキップ
            MODE="SKIP"
        else
            # 引数の値エラー
            MODE="ERROR"
        fi
        
        DAY=$1
    else
        # 引数の数エラー
        MODE="ERROR"
    fi
}

管理人/副管理人のみ編集できます