PageRenderTime 25ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 1ms

/sh/auto_billing_ITTEST.sh920529bk

http://cport.googlecode.com/
Korn Shell | 164 lines | 124 code | 4 blank | 36 comment | 15 complexity | 6f12a1c3b78bc20838612f1e8c6fd13e MD5 | raw file
  1. #! /bin/ksh
  2. . /osms_d1/ratedata/.profile
  3. today=$(gawk 'BEGIN {printf("%s\n",strftime("%Y%m%d",systime()))}');
  4. exec 1>$BILLING/ITTEST/auto_billing$today.log
  5. exec 2>$BILLING/ITTEST/auto_billing$today.err
  6. cd /osms_d1/ratedata/BILLING/ITTEST
  7. echo "cd /osms_d1/ratedata/BILLING/ITTEST"
  8. if [[ $1 = auto ]]; then
  9. today=$(gawk 'BEGIN {printf("%s\n",strftime("%Y%m%d",systime()))}');
  10. elif (( $#!=4 )); then
  11. echo "***********************************************************************"
  12. echo "* Author: Jack Fang *"
  13. echo "* *"
  14. echo "* Auto billing *"
  15. echo "* auto_billing.sh billing_period billing_cycle billing_mode onestop *"
  16. echo "* auto_billing.sh 200110 02 1 nostop/stop *"
  17. echo "* *"
  18. echo "* *"
  19. echo "***********************************************************************"
  20. exit
  21. elif (( $#==4 )); then
  22. billing_period=$1
  23. billing_cycle=$2
  24. billing_mode=$3
  25. onestop=$4
  26. if [[ $billing_mode -gt 5 || $billing_mode -lt 1 ]]; then
  27. echo billing_period is $billing_period
  28. echo billing_cycle is $billing_cycle
  29. echo billing_mode is $billing_mode
  30. echo "billing_mode ERROR!!"
  31. echo onestop is $onestop
  32. exit
  33. fi
  34. if [[ "$onestop" != "stop" && "$onestop" != "nostop" ]]; then
  35. echo "onestop is" $onestop "no definition ERROR!!"
  36. exit;
  37. fi
  38. fi
  39. echo billing_period is $billing_period
  40. echo billing_cycle is $billing_cycle
  41. echo billing_mode is $billing_mode
  42. echo onestop is $onestop
  43. function auto_exit {
  44. onestop=$1
  45. if [[ $onestop = stop ]]; then
  46. echo stop
  47. exit;
  48. elif [[ $onestop = nostop ]]; then
  49. echo nostop and continue next step
  50. else
  51. echo "no definition";
  52. exit;
  53. fi
  54. }
  55. echo "sqlplus fibills/itosms02@itosms02 @auto_pre.sql "$billing_period" "$billing_cycle" "
  56. sqlplus fibills/itosms02@itosms02 @auto_pre.sql $billing_period $billing_cycle
  57. echo "auto_pre.sql END"
  58. ###====================================================================#
  59. ### #
  60. ### STEP 1 : billing CHG_GEN process #
  61. ### #
  62. ###====================================================================#
  63. if [[ $billing_mode -eq 1 ]]; then
  64. echo "chg_gen $billing_cycle 1>chg_gen"$billing_period"bc"$billing_cycle".log \
  65. 2>chg_gen"$billing_period"bc"$billing_cycle".err"
  66. $BIN/chg_gen $billing_cycle 1>chg_gen"$billing_period"bc"$billing_cycle".log \
  67. 2>chg_gen"$billing_period"bc"$billing_cycle".err
  68. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "STEP1 END"
  69. auto_exit $onestop;
  70. fi
  71. #
  72. ###====================================================================#
  73. ### #
  74. ### STEP 2 : billing CHG_REC process #
  75. ### #
  76. ###====================================================================#
  77. if [[ $billing_mode -le 2 ]]; then
  78. echo "chg_rec $billing_cycle 1>chg_rec"$billing_period"bc"$billing_cycle".log \
  79. 2>chg_rec"$billing_period"bc"$billing_cycle".err"
  80. $BIN/chg_rec $billing_cycle 1>chg_rec"$billing_period"bc"$billing_cycle".log \
  81. 2>chg_rec"$billing_period"bc"$billing_cycle".err
  82. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "STEP2 END"
  83. auto_exit $onestop;
  84. fi
  85. #
  86. ###====================================================================#
  87. ### #
  88. ### STEP 3 : billing BILL_GEN process #
  89. ### #
  90. ###====================================================================#
  91. if [[ $billing_mode -le 3 ]]; then
  92. echo "bill_gen $billing_cycle 1>bill_gen"$billing_period"bc"$billing_cycle".log \
  93. 2>bill_gen"$billing_period"bc"$billing_cycle".err"
  94. $BIN/bill_gen $billing_cycle 1>bill_gen"$billing_period"bc"$billing_cycle".log \
  95. 2>bill_gen"$billing_period"bc"$billing_cycle".err
  96. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "STEP3 END"
  97. auto_exit $onestop;
  98. fi
  99. #
  100. ###====================================================================#
  101. ### #
  102. ### STEP 4 : billing GUI_GEN process #
  103. ### #
  104. ###====================================================================#
  105. if [[ $billing_mode -le 4 ]]; then
  106. echo "gui_gen $billing_cycle 1>gui_gen"$billing_period"bc"$billing_cycle".log \
  107. 2>gui_gen"$billing_period"bc"$billing_cycle".err"
  108. $BIN/gui_gen $billing_cycle 1>gui_gen"$billing_period"bc"$billing_cycle".log \
  109. 2>gui_gen"$billing_period"bc"$billing_cycle".err
  110. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "STEP4 END"
  111. auto_exit $onestop;
  112. fi
  113. #
  114. ###====================================================================#
  115. ### #
  116. ### STEP 5 : billing renew_mbl process #
  117. ### #
  118. ###====================================================================#
  119. if [[ $billing_mode -le 5 ]]; then
  120. echo "renew_mbl $billing_cycle 1>renew_mbl"$billing_period"bc"$billing_cycle".log \
  121. 2>renew_mbl"$billing_period"bc"$billing_cycle".err"
  122. $BIN/renew_mbl $billing_cycle 1>renew_mbl"$billing_period"bc"$billing_cycle".log \
  123. 2>renew_mbl"$billing_period"bc"$billing_cycle".err
  124. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "STEP5 END"
  125. auto_exit $onestop;
  126. fi
  127. #
  128. ###====================================================================#
  129. ### #
  130. ### STEP 6 : osmsbill.pc process #
  131. ### #
  132. ###====================================================================#
  133. cnt=`sqlplus -s "fibills/itosms02@itosms02" <<END
  134. set pagesize 0 feedback off verify off heading off echo off
  135. select count(*) from cw_tb_billing_cycle_his
  136. where billing_period = '$billing_period'
  137. and billing_cycle = '$billing_cycle'
  138. and prod_cde = '5PRT'
  139. and comp_status = 'Y';
  140. exit;
  141. END`
  142. if (( $cnt==1 )); then
  143. echo "successful"
  144. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "Update CDR_INDIC_ORG=Y !!"
  145. sqlplus -s "fibills/itosms02@itosms02" <<END
  146. update cw_tb_subscr_mbl set CDR_INDIC_ORG = 'Y' where billing_cycle = '$billing_cycle';
  147. COMMIT;
  148. exit;
  149. END
  150. echo "osmsbill $billing_cycle $billing_period G\
  151. 1>osmsbill"$today".log 2>osmsbill"$today".err"
  152. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "osmsbill.pc Begin!!"
  153. $BIN/osmsbill $billing_cycle $billing_period G\
  154. 1>osmsbill$today.log 2>osmsbill$today.err
  155. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "osmsbill.pc END!!"
  156. else
  157. echo "osmsbill.pc fail!!"
  158. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "billing steps ERROR!!"
  159. fi
  160. echo "auto_billing_ITTEST END!!"