DBA Data[Home] [Help]

PACKAGE BODY: APPS.WF_WS_RULE

Source


1 package body WF_WS_RULE as
2 -- $Header: wfwsruleb.pls 120.1 2006/09/08 11:10:49 kjayapra noship $
3 
4 --
5 -- log_outbound (PUBLIC)
6 --   Rule function for logging.  Used with the following events:
7 --       oracle.apps.fnd.wf.ws.outbound.log
8 -- IN:
9 --   p_subscription_guid - subscription guid
10 -- IN/OUT:
11 --   p_event             - incoming log event
12 
13 function log_outbound
14     (p_subscription_guid  in      raw,
15      p_event              in out  NOCOPY WF_EVENT_T) return varchar2
16 is
17 
18   msgid			raw(200);
19   receipt_msgid         raw(200);
20   status 		binary_integer;
21   log_msg               varchar2(4000);
22   err_msg		varchar2(2000);
23   err_params            varchar2(2000);
24   timestampstring       varchar2(50);
25   timestamp             date;
26   ret_code		pls_integer;
27   ret_message		varchar2(4000);
28 
29 begin
30   msgid := p_event.GetValueForParameter('SENDER_MSGID');
31   receipt_msgid := p_event.GetValueForParameter('RECEIPT_MSGID');
32   err_msg := p_event.GetValueForParameter('ERROR_MESSAGE');
33   err_params := '';
34   if(receipt_msgid is not null) then
35     err_params := err_params || 'msgid=' || receipt_msgid || '#WF#';
36   end if;
37   if(err_msg is not null) then
38     err_params := err_params || 'ErrMsg=' || err_msg || '#WF#';
39   end if;
40   status := 2;
41   if (p_event.GetValueForParameter('STATUS') = 'SUCCESS') then
42     status := 0;
43   end if;
44 
45   log_msg := p_event.GetValueForParameter('LOG_MESSAGE');
46 
47   timestampstring := p_event.GetValueForParameter('TIMESTAMP');
48 
49   begin
50     timestamp := to_date(timestampstring, 'YYYY/MM/DD HH24:MI:SS');
51   exception when others then
52     timestamp := sysdate;
53   end;
54 
55   ecx_errorlog.external_system(msgid, status, log_msg, timestamp, ret_code, ret_message, err_params);
56 
57   return 'SUCCESS';
58 exception
59          when others then
60             WF_CORE.CONTEXT('WS_RULE', 'LOG',
61                             p_event.getEventName( ), p_subscription_guid);
62             WF_EVENT.setErrorInfo(p_event, 'ERROR');
63             return 'ERROR';
64 end log_outbound;
65 
66 
67 
68 --
69 -- log_inbound (PUBLIC)
70 --   Rule function for logging.  Used with the following events:
71 --       oracle.apps.fnd.wf.ws.inbound.log
72 -- IN:
73 --   p_subscription_guid - subscription guid
74 -- IN/OUT:
75 --   p_event             - incoming log event
76 
77 function log_inbound
78     (p_subscription_guid  in      raw,
79      p_event              in out  NOCOPY WF_EVENT_T) return varchar2
80 is
81 
82   status 		varchar2(50);
83   err_msg		varchar2(4000);
84   err_params            varchar2(255);
85   trigger_id            number;
86   receipt_msgid         raw(200);
87 
88   message_type          varchar2(2000) := null;
89   message_standard      varchar2(2000) := null;
90   transaction_type      varchar2(2000) := null;
91   transaction_subtype   varchar2(2000) := null;
92   document_number       varchar2(2000) := null;
93   partyid               varchar2(2000) := null;
94   party_site_id         varchar2(2000) := null;
95   party_type            varchar2(2000) := null;
96   protocol_type         varchar2(2000) := null;
97   protocol_address      varchar2(2000) := null;
98   username              varchar2(2000) := null;
99   encrypt_password      varchar2(2000) := null;
100   attribute1            varchar2(2000) := null;
101   attribute2            varchar2(2000) := null;
102   attribute3            varchar2(2000) := null;
103   attribute4            varchar2(2000) := null;
104   attribute5            varchar2(2000) := null;
105   payload               clob := null;
106   l_retcode             pls_integer := 0;
107   l_retmsg              varchar2(2000) := null;
108   returnval	        varchar2(2000);
109 begin
110 
111   if (WF_EVENT_FUNCTIONS_PKG.SubParamInEvent(p_subscription_guid, p_event))
112   then
113    status := p_event.GetValueForParameter('STATUS');
114    err_msg := p_event.GetValueForParameter('LOG_MESSAGE');
115    err_params := 'msgid=' || p_event.GetValueForParameter('RECEIPT_MSGID') || '#WF#';
116    trigger_id := p_event.GetValueForParameter('ECX_TRIGGER_ID');
117    receipt_msgid := p_event.GetValueForParameter('RECEIPT_MSGID');
118    message_type := p_event.GetValueForParameter('ECX_MESSAGE_TYPE');
119    message_standard := p_event.GetValueForParameter('ECX_MESSAGE_STANDARD');
120    transaction_type := p_event.GetValueForParameter('ECX_TRANSACTION_TYPE');
121    transaction_subtype := p_event.GetValueForParameter('ECX_TRANSACTION_SUBTYPE');
122    document_number := p_event.GetValueForParameter('ECX_DOCUMENT_NUMBER');
123    partyid := p_event.GetValueForParameter('ECX_PARTY_ID');
124    party_site_id := p_event.GetValueForParameter('ECX_PARTY_SITE_ID');
125    party_type := p_event.GetValueForParameter('ECX_PARTY_TYPE');
126    protocol_type := p_event.GetValueForParameter('ECX_PROTOCOL_TYPE');
127    protocol_address := p_event.GetValueForParameter('ECX_PROTOCOL_ADDRESS');
128    username := p_event.GetValueForParameter('ECX_USERNAME');
129    encrypt_password := p_event.GetValueForParameter('ECX_PASSWORD');
130    attribute1 := p_event.GetValueForParameter('ECX_ATTRIBUTE1');
131    attribute2 := p_event.GetValueForParameter('ECX_ATTRIBUTE2');
132    attribute3 := p_event.GetValueForParameter('ECX_ATTRIBUTE3');
133    attribute4 := p_event.GetValueForParameter('ECX_ATTRIBUTE4');
134    attribute5 := p_event.GetValueForParameter('ECX_ATTRIBUTE5');
135    payload := p_event.GetEventData();
136 
137    ECX_ERRORLOG.log_receivemessage (
138                         'WEBSERVICE',
139 		        status,
140                         err_msg,
141                         receipt_msgid,
142                         trigger_id,
143                         message_type,
144                         message_standard,
145 			transaction_type,
146 			transaction_subtype,
147 			document_number,
148 			partyid,
149 			party_site_id,
150 			party_type,
151 			protocol_type,
152 			protocol_address,
153 			username,
154 			encrypt_password,
155 			attribute1,
156 			attribute2,
157 			attribute3,
158 			attribute4,
159 			attribute5,
160 			payload,
161 			returnval);
162   if (returnval <> 'SUCCESS') then
163     WF_CORE.CONTEXT('WS_RULE', 'LOG',
164                     p_event.getEventName( ), p_subscription_guid);
165     WF_EVENT.setErrorInfo(p_event, 'ERROR');
166     return 'ERROR';
167   end if;
168   end if;
169   return 'SUCCESS';
170 
171 
172 exception
173          when others then
174             WF_CORE.CONTEXT('WS_RULE', 'LOG',
175                             p_event.getEventName( ), p_subscription_guid);
176             WF_EVENT.setErrorInfo(p_event, 'ERROR');
177             return 'ERROR';
178 end log_inbound;
179 
180 
181 end WF_WS_RULE;