PageRenderTime 33ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/sh/auto_billing_DEMO.sh930907bk

http://cport.googlecode.com/
Korn Shell | 217 lines | 143 code | 18 blank | 56 comment | 17 complexity | a40275eb0f0643c3cccd0886082ac86a 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/DEMO/auto_billing$today.log
  5. exec 2>$BILLING/DEMO/auto_billing$today.err
  6. cd /osms_d1/ratedata/BILLING/DEMO
  7. echo "cd /osms_d1/ratedata/BILLING/DEMO"
  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/billsdemo@demo @auto_pre.sql "$billing_period" "$billing_cycle" "
  56. ##sqlplus fibills/billsdemo@demo @auto_pre.sql $billing_period $billing_cycle
  57. ##echo "auto_pre.sql END"
  58. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "!!DEMO TEST!!"
  59. ###====================================================================#
  60. ### #
  61. ### STEP 1 : billing CHG_GEN process #
  62. ### #
  63. ###====================================================================#
  64. if [[ $billing_mode -eq 1 ]]; then
  65. echo "chg_gen $billing_cycle 1>chg_gen"$billing_period"bc"$billing_cycle".log \
  66. 2>chg_gen"$billing_period"bc"$billing_cycle".err"
  67. $BIN/chg_gen $billing_cycle 1>chg_gen"$billing_period"bc"$billing_cycle".log \
  68. 2>chg_gen"$billing_period"bc"$billing_cycle".err
  69. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO STEP1 END"
  70. auto_exit $onestop;
  71. fi
  72. #
  73. ###====================================================================#
  74. ### #
  75. ### STEP 2 : billing CHG_REC process #
  76. ### #
  77. ###====================================================================#
  78. if [[ $billing_mode -le 2 ]]; then
  79. echo "chg_rec $billing_cycle 1>chg_rec"$billing_period"bc"$billing_cycle".log \
  80. 2>chg_rec"$billing_period"bc"$billing_cycle".err"
  81. $BIN/chg_rec $billing_cycle 1>chg_rec"$billing_period"bc"$billing_cycle".log \
  82. 2>chg_rec"$billing_period"bc"$billing_cycle".err
  83. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO STEP2 END"
  84. auto_exit $onestop;
  85. fi
  86. #
  87. ###====================================================================#
  88. ### #
  89. ### STEP 3 : billing BILL_GEN process #
  90. ### #
  91. ###====================================================================#
  92. if [[ $billing_mode -le 3 ]]; then
  93. echo "bill_gen $billing_cycle 1>bill_gen"$billing_period"bc"$billing_cycle".log \
  94. 2>bill_gen"$billing_period"bc"$billing_cycle".err"
  95. $BIN/bill_gen $billing_cycle 1>bill_gen"$billing_period"bc"$billing_cycle".log \
  96. 2>bill_gen"$billing_period"bc"$billing_cycle".err
  97. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO STEP3 END"
  98. auto_exit $onestop;
  99. fi
  100. #
  101. ###====================================================================#
  102. ### #
  103. ### STEP 4 : billing GUI_GEN process #
  104. ### #
  105. ###====================================================================#
  106. if [[ $billing_mode -le 4 ]]; then
  107. echo "gui_gen $billing_cycle 1>gui_gen"$billing_period"bc"$billing_cycle".log \
  108. 2>gui_gen"$billing_period"bc"$billing_cycle".err"
  109. $BIN/gui_gen $billing_cycle 1>gui_gen"$billing_period"bc"$billing_cycle".log \
  110. 2>gui_gen"$billing_period"bc"$billing_cycle".err
  111. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO STEP4 END"
  112. auto_exit $onestop;
  113. fi
  114. #
  115. ###====================================================================#
  116. ### #
  117. ### STEP 5 : billing renew_mbl process #
  118. ### #
  119. ###====================================================================#
  120. if [[ $billing_mode -le 5 ]]; then
  121. echo "renew_mbl $billing_cycle 1>renew_mbl"$billing_period"bc"$billing_cycle".log \
  122. 2>renew_mbl"$billing_period"bc"$billing_cycle".err"
  123. $BIN/renew_mbl $billing_cycle 1>renew_mbl"$billing_period"bc"$billing_cycle".log \
  124. 2>renew_mbl"$billing_period"bc"$billing_cycle".err
  125. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO STEP5 END"
  126. auto_exit $onestop;
  127. fi
  128. #
  129. ###====================================================================#
  130. ### #
  131. ### STEP 6 : osmsbill.pc process #
  132. ### #
  133. ###====================================================================#
  134. cnt=`sqlplus -s "fibills/billsdemo@demo" <<END
  135. set pagesize 0 feedback off verify off heading off echo off
  136. select count(*) from cw_tb_billing_cycle_his
  137. where billing_period = '$billing_period'
  138. and billing_cycle = '$billing_cycle'
  139. and prod_cde = '5PRT'
  140. and comp_status = 'Y';
  141. exit;
  142. END`
  143. if (( $cnt==1 )); then
  144. echo "successful"
  145. #### 2003/01/21 no update start line ######
  146. # ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "Update CDR_INDIC_ORG=Y !!"
  147. # sqlplus -s "fibills/billsdemo@demo" <<END
  148. # update cw_tb_subscr_mbl set CDR_INDIC_ORG = 'Y' where billing_cycle = '$billing_cycle'
  149. # and subscr_nbr not in ( select REP_SUBSCR_NBR from cw_tb_centrex_master ) ;
  150. # COMMIT;
  151. # exit;
  152. # END
  153. #### 2003/01/21 no update end line ######
  154. echo "osmsbill $billing_cycle $billing_period G\
  155. 1>osmsbill"$today".log 2>osmsbill"$today".err"
  156. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO osmsbill.pc Begin!!"
  157. $BIN/osmsbill $billing_cycle $billing_period G\
  158. 1>osmsbill$today.log 2>osmsbill$today.err
  159. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO osmsbill.pc END!!"
  160. #
  161. ##
  162. ### 2003/03/14 add get_sample ###
  163. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO Update CDR_INDIC_ORG=Y !!"
  164. sqlplus -s "fibills/billsdemo@demo" <<END
  165. update cw_tb_subscr_mbl set CDR_INDIC_ORG = 'Y' where billing_cycle = '$billing_cycle'
  166. and subscr_nbr not in ( select REP_SUBSCR_NBR from cw_tb_centrex_master ) ;
  167. COMMIT;
  168. exit;
  169. END
  170. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "get_sample start !!"
  171. cd /osms_d1/ratedata/BILLING/DEMO/tmp/
  172. /usr/bin/cd /osms_d1/ratedata/BILLING/DEMO/tmp/
  173. echo "get sample for billing check START!!"
  174. /usr/bin/date
  175. ### get_sample ###
  176. /osms_d1/ratedata/BILLING/DEMO/tmp/get_sample_subscr.sh $billing_period $billing_cycle 1>get_sample"$billing_period"bc"$billing_cycle".log 2>get_sample"$billing_period"bc"$billing_cycle".err
  177. echo "get sample for billing check END!!"
  178. /usr/bin/date
  179. cnt_cust01 samp"$billing_period"_bc"$billing_cycle"_*.txt.dtl 1>cnt"$billing_period"bc"$billing_cycle".txt
  180. cd /osms_d1/ratedata/BILLING/DEMO/
  181. /usr/bin/cd /osms_d1/ratedata/BILLING/DEMO/
  182. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO get_sample END !!"
  183. ###
  184. ##
  185. #
  186. else
  187. echo "osmsbill.pc fail!!"
  188. ProcPhoneMsg.sh Phone_Msg.txt PhoneFile.txt "DEMO billing steps ERROR!!"
  189. fi
  190. echo "auto_billing_DEMO END!!"
  191. ### 20030615 add invoice_autovoid ###
  192. sqlplus "fibills/billsdemo@demo" <<END
  193. prompt running 'CW_PC_INVOICE_AUTOVOID'
  194. begin
  195. CW_PC_INVOICE_AUTOVOID('','','','FMB','A');
  196. end;
  197. /
  198. exit;
  199. END