/sh/auto_billing_ITTEST.sh910611
Korn Shell | 155 lines | 115 code | 4 blank | 36 comment | 15 complexity | f751467fb949534d308dbb5acc47f1a6 MD5 | raw file
- #! /bin/ksh
- . /osms_d1/ratedata/.profile
- today=$(gawk 'BEGIN {printf("%s\n",strftime("%Y%m%d",systime()))}');
- exec 1>$BILLING/ITTEST/auto_billing$today.log
- exec 2>$BILLING/ITTEST/auto_billing$today.err
- cd /osms_d1/ratedata/BILLING/ITTEST
- echo "cd /osms_d1/ratedata/BILLING/ITTEST"
- if [[ $1 = auto ]]; then
- today=$(gawk 'BEGIN {printf("%s\n",strftime("%Y%m%d",systime()))}');
- elif (( $#!=4 )); then
- echo "***********************************************************************"
- echo "* Author: Jack Fang *"
- echo "* *"
- echo "* Auto billing *"
- echo "* auto_billing.sh billing_period billing_cycle billing_mode onestop *"
- echo "* auto_billing.sh 200110 02 1 nostop/stop *"
- echo "* *"
- echo "* *"
- echo "***********************************************************************"
- exit
- elif (( $#==4 )); then
- billing_period=$1
- billing_cycle=$2
- billing_mode=$3
- onestop=$4
- if [[ $billing_mode -gt 5 || $billing_mode -lt 1 ]]; then
- echo billing_period is $billing_period
- echo billing_cycle is $billing_cycle
- echo billing_mode is $billing_mode
- echo "billing_mode ERROR!!"
- echo onestop is $onestop
- exit
- fi
- if [[ "$onestop" != "stop" && "$onestop" != "nostop" ]]; then
- echo "onestop is" $onestop "no definition ERROR!!"
- exit;
- fi
- fi
- echo billing_period is $billing_period
- echo billing_cycle is $billing_cycle
- echo billing_mode is $billing_mode
- echo onestop is $onestop
- function auto_exit {
- onestop=$1
- if [[ $onestop = stop ]]; then
- echo stop
- exit;
- elif [[ $onestop = nostop ]]; then
- echo nostop and continue next step
- else
- echo "no definition";
- exit;
- fi
- }
- echo "sqlplus osms/foistmesl@ittest @auto_pre.sql "$billing_period" "$billing_cycle" "
- sqlplus osms/foistmesl@ittest @auto_pre.sql $billing_period $billing_cycle
- echo "auto_pre.sql END"
- ###====================================================================#
- ### #
- ### STEP 1 : billing CHG_GEN process #
- ### #
- ###====================================================================#
- if [[ $billing_mode -eq 1 ]]; then
- echo "chg_gen $billing_cycle 1>chg_gen"$billing_period"bc"$billing_cycle".log \
- 2>chg_gen"$billing_period"bc"$billing_cycle".err"
- $BIN/chg_gen $billing_cycle 1>chg_gen"$billing_period"bc"$billing_cycle".log \
- 2>chg_gen"$billing_period"bc"$billing_cycle".err
- auto_exit $onestop;
- fi
- #
- ###====================================================================#
- ### #
- ### STEP 2 : billing CHG_REC process #
- ### #
- ###====================================================================#
- if [[ $billing_mode -le 2 ]]; then
- echo "chg_rec $billing_cycle 1>chg_rec"$billing_period"bc"$billing_cycle".log \
- 2>chg_rec"$billing_period"bc"$billing_cycle".err"
- $BIN/chg_rec $billing_cycle 1>chg_rec"$billing_period"bc"$billing_cycle".log \
- 2>chg_rec"$billing_period"bc"$billing_cycle".err
- auto_exit $onestop;
- fi
- #
- ###====================================================================#
- ### #
- ### STEP 3 : billing BILL_GEN process #
- ### #
- ###====================================================================#
- if [[ $billing_mode -le 3 ]]; then
- echo "bill_gen $billing_cycle 1>bill_gen"$billing_period"bc"$billing_cycle".log \
- 2>bill_gen"$billing_period"bc"$billing_cycle".err"
- $BIN/bill_gen $billing_cycle 1>bill_gen"$billing_period"bc"$billing_cycle".log \
- 2>bill_gen"$billing_period"bc"$billing_cycle".err
- auto_exit $onestop;
- fi
- #
- ###====================================================================#
- ### #
- ### STEP 4 : billing GUI_GEN process #
- ### #
- ###====================================================================#
- if [[ $billing_mode -le 4 ]]; then
- echo "gui_gen $billing_cycle 1>gui_gen"$billing_period"bc"$billing_cycle".log \
- 2>gui_gen"$billing_period"bc"$billing_cycle".err"
- $BIN/gui_gen $billing_cycle 1>gui_gen"$billing_period"bc"$billing_cycle".log \
- 2>gui_gen"$billing_period"bc"$billing_cycle".err
- auto_exit $onestop;
- fi
- #
- ###====================================================================#
- ### #
- ### STEP 5 : billing renew_mbl process #
- ### #
- ###====================================================================#
- if [[ $billing_mode -le 5 ]]; then
- echo "renew_mbl $billing_cycle 1>renew_mbl"$billing_period"bc"$billing_cycle".log \
- 2>renew_mbl"$billing_period"bc"$billing_cycle".err"
- $BIN/renew_mbl $billing_cycle 1>renew_mbl"$billing_period"bc"$billing_cycle".log \
- 2>renew_mbl"$billing_period"bc"$billing_cycle".err
- auto_exit $onestop;
- fi
- #
- ###====================================================================#
- ### #
- ### STEP 6 : osmsbill.pc process #
- ### #
- ###====================================================================#
- cnt=`sqlplus -s "osms/foistmesl@ittest" <<END
- set pagesize 0 feedback off verify off heading off echo off
- select count(*) from cw_tb_billing_cycle_his
- where billing_period = '$billing_period'
- and billing_cycle = '$billing_cycle'
- and prod_cde = '5PRT'
- and comp_status = 'Y';
- exit;
- END`
- if (( $cnt==1 )); then
- echo "successful"
- sqlplus -s "osms/foistmesl@ittest" <<END
- update cw_tb_subscr_mbl set cdr_indic = 'Y' where billing_cycle = '$billing_cycle';
- COMMIT;
- exit;
- END
- echo "osmsbill $billing_cycle $billing_period G\
- 1>osmsbill"$today".log 2>osmsbill"$today".err"
- $BIN/osmsbill $billing_cycle $billing_period G\
- 1>osmsbill$today.log 2>osmsbill$today.err
- else
- echo "osmsbill.pc fail!!"
- fi
- echo "auto_billing_ITTEST END!!"