PageRenderTime 64ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 0ms

/sh/auto_billing_ITTEST.sh910611

http://cport.googlecode.com/
Korn Shell | 155 lines | 115 code | 4 blank | 36 comment | 15 complexity | f751467fb949534d308dbb5acc47f1a6 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 osms/foistmesl@ittest @auto_pre.sql "$billing_period" "$billing_cycle" "
  56. sqlplus osms/foistmesl@ittest @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. auto_exit $onestop;
  69. fi
  70. #
  71. ###====================================================================#
  72. ### #
  73. ### STEP 2 : billing CHG_REC process #
  74. ### #
  75. ###====================================================================#
  76. if [[ $billing_mode -le 2 ]]; then
  77. echo "chg_rec $billing_cycle 1>chg_rec"$billing_period"bc"$billing_cycle".log \
  78. 2>chg_rec"$billing_period"bc"$billing_cycle".err"
  79. $BIN/chg_rec $billing_cycle 1>chg_rec"$billing_period"bc"$billing_cycle".log \
  80. 2>chg_rec"$billing_period"bc"$billing_cycle".err
  81. auto_exit $onestop;
  82. fi
  83. #
  84. ###====================================================================#
  85. ### #
  86. ### STEP 3 : billing BILL_GEN process #
  87. ### #
  88. ###====================================================================#
  89. if [[ $billing_mode -le 3 ]]; then
  90. echo "bill_gen $billing_cycle 1>bill_gen"$billing_period"bc"$billing_cycle".log \
  91. 2>bill_gen"$billing_period"bc"$billing_cycle".err"
  92. $BIN/bill_gen $billing_cycle 1>bill_gen"$billing_period"bc"$billing_cycle".log \
  93. 2>bill_gen"$billing_period"bc"$billing_cycle".err
  94. auto_exit $onestop;
  95. fi
  96. #
  97. ###====================================================================#
  98. ### #
  99. ### STEP 4 : billing GUI_GEN process #
  100. ### #
  101. ###====================================================================#
  102. if [[ $billing_mode -le 4 ]]; then
  103. echo "gui_gen $billing_cycle 1>gui_gen"$billing_period"bc"$billing_cycle".log \
  104. 2>gui_gen"$billing_period"bc"$billing_cycle".err"
  105. $BIN/gui_gen $billing_cycle 1>gui_gen"$billing_period"bc"$billing_cycle".log \
  106. 2>gui_gen"$billing_period"bc"$billing_cycle".err
  107. auto_exit $onestop;
  108. fi
  109. #
  110. ###====================================================================#
  111. ### #
  112. ### STEP 5 : billing renew_mbl process #
  113. ### #
  114. ###====================================================================#
  115. if [[ $billing_mode -le 5 ]]; then
  116. echo "renew_mbl $billing_cycle 1>renew_mbl"$billing_period"bc"$billing_cycle".log \
  117. 2>renew_mbl"$billing_period"bc"$billing_cycle".err"
  118. $BIN/renew_mbl $billing_cycle 1>renew_mbl"$billing_period"bc"$billing_cycle".log \
  119. 2>renew_mbl"$billing_period"bc"$billing_cycle".err
  120. auto_exit $onestop;
  121. fi
  122. #
  123. ###====================================================================#
  124. ### #
  125. ### STEP 6 : osmsbill.pc process #
  126. ### #
  127. ###====================================================================#
  128. cnt=`sqlplus -s "osms/foistmesl@ittest" <<END
  129. set pagesize 0 feedback off verify off heading off echo off
  130. select count(*) from cw_tb_billing_cycle_his
  131. where billing_period = '$billing_period'
  132. and billing_cycle = '$billing_cycle'
  133. and prod_cde = '5PRT'
  134. and comp_status = 'Y';
  135. exit;
  136. END`
  137. if (( $cnt==1 )); then
  138. echo "successful"
  139. sqlplus -s "osms/foistmesl@ittest" <<END
  140. update cw_tb_subscr_mbl set cdr_indic = 'Y' where billing_cycle = '$billing_cycle';
  141. COMMIT;
  142. exit;
  143. END
  144. echo "osmsbill $billing_cycle $billing_period G\
  145. 1>osmsbill"$today".log 2>osmsbill"$today".err"
  146. $BIN/osmsbill $billing_cycle $billing_period G\
  147. 1>osmsbill$today.log 2>osmsbill$today.err
  148. else
  149. echo "osmsbill.pc fail!!"
  150. fi
  151. echo "auto_billing_ITTEST END!!"