ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle高级队列4

oracle高级队列4

原创 Linux操作系统 作者:arthurshen_bleum 时间:2009-04-09 10:58:29 0 删除 编辑
Sql代码 复制代码
  1. create or replace procedure p103_change_label_body_str   
  2. (   
  3. p_dequeue_body In Mt_Struc,   
  4. p_res_str Out Varchar2,   
  5. p_label Out varchar2,   
  6. p_body Out varchar2   
  7. )/*   
  8. 功能:把出队列的字符串翻译成有规则的label,和body   
  9. */   
  10. Is  
  11. ---写日志区域   
  12. vPid NUMBER:=103;   
  13. vProName VARCHAR2(50):='p103_change_label_body_str';   
  14. vProTip VARCHAR2(255);   
  15. vErrorCode VARCHAR2(20);   
  16. vErrorMsg VARCHAR2(2000);   
  17. --label   
  18. v_label Varchar2(50);   
  19. v_client_id Number;   
  20. v_date_str varchar2(20);   
  21. --body   
  22. v_PRDID varchar2(10);   
  23. v_CHANNELID varchar2(10);   
  24. v_ActionID varchar2(20);   
  25. v_Result varchar2(20);   
  26. v_MSGID varchar2(20);   
  27. v_Pk_total varchar2(20);   
  28. v_Pk_Number varchar2(20);   
  29. v_RegisteredDelivery varchar2(20);   
  30. v_ServiceID varchar2(20);   
  31. v_FeeUserType varchar2(20);   
  32. v_FeeTerminalID varchar2(35);   
  33. v_MsgFmt varchar2(20);   
  34. v_FeeType varchar2(20);   
  35. v_FeeCode varchar2(20);   
  36. v_SrcID varchar2(30);   
  37. v_DestID varchar2(35);   
  38. v_LinkID varchar2(20);   
  39. v_MTFlag varchar2(20);   
  40. v_FixedCode varchar2(20);   
  41. v_RepeatNum varchar2(20);   
  42. v_InfoID varchar2(20);   
  43. v_MsgContent varchar2(150);    
  44. -------------------------------------   
  45. v_body varchar2(2000);   
  46. begin  
  47. p_res_str:='-1';   
  48. v_Result :='';   
  49. v_MSGID :='';   
  50. v_Pk_total :='';   
  51. v_Pk_Number:='';   
  52. --label   
  53. Select to_char(Sysdate,'YY-MM-DD HH:MM:SS'Into v_date_str From dual ;   
  54. If p_dequeue_body.CLIENT_ID>150 Then  
  55. v_label:='022000000'||v_date_str;    
  56. Else  
  57. v_label:='021000000'||v_date_str;    
  58. End If;   
  59. --body   
  60. v_PRDID:='0000' ; v_CHANNELID:='0000'; v_ActionID:='0';   
  61. v_Result :=lpad(' ',8,' ');   
  62. v_MSGID :=lpad(' ',16,' ');   
  63. v_Pk_total :=lpad(' ',1,' ');   
  64. v_Pk_Number:=lpad(' ',1,' ');    
  65. --v_RegisteredDelivery   
  66. v_RegisteredDelivery:=lpad(p_dequeue_body.BEG_REPORT,1,' ');   
  67. --v_ServiceID   
  68. v_ServiceID:=lpad(p_dequeue_body.SERVICE_ID,10,' ');   
  69. --v_FeeUserType   
  70. v_FeeUserType:='0';   
  71. --v_FeeTerminalID   
  72. v_FeeTerminalID:=lpad(p_dequeue_body.FEE_MOBILENO,32,' ');   
  73. --v_MsgFmt   
  74. v_MsgFmt:=lpad(p_dequeue_body.MSG_FMT,2,' ');   
  75. --v_FeeType   
  76. v_FeeType:=lpad(p_dequeue_body.FEE_TYPE,2,' ');   
  77. --v_FeeCode   
  78. v_FeeCode:=lpad(p_dequeue_body.FEE_VALUE,6,' ');   
  79. --v_SrcID   
  80. v_SrcID:=lpad(p_dequeue_body.LONG_NO,21,' ');   
  81. --v_DestID   
  82. v_DestID:=lpad(p_dequeue_body.DEST_MOBILENO,32,' ');   
  83. --v_LinkID   
  84. v_LinkID:=lpad(' ',20,' ');   
  85. --v_MTFlag varchar2(20);   
  86. v_MTFlag:=lpad(p_dequeue_body.MT_FLAG,2,' ');   
  87. ---v_FixedCode varchar2(20);   
  88. v_FixedCode:=lpad(' ',6,' ');   
  89. --v_RepeatNum varchar2(20);   
  90. v_RepeatNum:='1';   
  91. --v_InfoID varchar2(20);   
  92. v_InfoID:=lpad(' ',16,' ');   
  93. --v_MsgContent varchar2(150);    
  94. v_MsgContent:=p_dequeue_body.MT_CONTENT;   
  95.   
  96. --add   
  97. v_body:=    
  98. (v_PRDID    
  99. ||v_CHANNELID    
  100. ||v_ActionID    
  101. ||v_Result    
  102. ||v_MSGID    
  103. ||v_Pk_total    
  104. ||v_Pk_Number    
  105. ||v_RegisteredDelivery    
  106. ||v_ServiceID    
  107. ||v_FeeUserType    
  108. ||v_FeeTerminalID    
  109. ||v_MsgFmt    
  110. ||v_FeeType    
  111. ||v_FeeCode    
  112. ||v_SrcID    
  113. ||v_DestID    
  114. ||v_LinkID    
  115. ||v_MTFlag    
  116. ||v_FixedCode    
  117. ||v_RepeatNum    
  118. ||v_InfoID    
  119. ||v_MsgContent) ;    
  120. --to value   
  121. p_label:=v_label;   
  122. p_body:=v_body ;    
  123. --result   
  124. p_res_str:='0';    
  125. Exception   
  126. When Others Then  
  127. p_res_str:=Sqlerrm;   
  128. vProTip:='把出队列的字符串翻译异常!';   
  129. vErrorCode:=SQLCODE;   
  130. vErrorMsg:=SQLERRM;   
  131. p_pub_write_error_log(vPid,vProName,'','',   
  132. vProTip,vErrorCode,vErrorMsg,1);    
  133. Rollback;    
  134. end p103_change_label_body_str;  

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20945761/viewspace-586835/,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle高级队列3
下一篇: oracle 常用
请登录后发表评论 登录
全部评论

注册时间:2009-02-26

  • 博文量
    36
  • 访问量
    26264