[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;