[Home] [Help]
PACKAGE BODY: APPS.RCV_EXTERNAL_INTERFACE_SV
Source
1 PACKAGE BODY rcv_external_interface_sv AS
2 /* $Header: RCVRSEVB.pls 120.1 2010/01/26 20:07:32 vthevark noship $ */
3
4 g_asn_debug VARCHAR2(1) := asn_debug.is_debug_on; -- Bug 9152790
5
6 G_PKG_NAME CONSTANT VARCHAR2(50) := 'RCV_EXTERNAL_INTERFACE_SV';
7
8
9 /*===========================================================================
10 | |
11 | PROCEDURE NAME Raise_Event |
12 | |
13 | DESCRIPTION This procedure raises an event in Work Flow. It raises |
14 | an appropriate procedure depending on the parameters |
15 | passed. |
16 | |
17 | MODIFICATION HISTORY |
18 | |
19 | 24-Dec-09 Sunil Mididuddi Created |
20 | |
21 ============================================================================*/
22
23 PROCEDURE Raise_Event ( P_txn_hist_record IN RCV_TRANSACTIONS_HISTORY_PKG.Txns_History_Record_Type,
24 P_xml_document_id IN NUMBER,
25 x_return_status IN OUT NOCOPY VARCHAR2)
26 IS
27
28 l_event_name VARCHAR2 (120);
29 l_event_key VARCHAR2 (30);
30
31 l_return_status VARCHAR2 (1);
32 l_Transaction_Code VARCHAR2 (100);
33 l_Org_ID NUMBER;
34 l_Party_Site_ID NUMBER;
35 l_txns_id NUMBER := NULL;
36 l_xml_document_id NUMBER;
37
38 l_msg_parameter_list WF_PARAMETER_LIST_T;
39 l_txn_hist_record RCV_TRANSACTIONS_HISTORY_PKG.Txns_History_Record_Type;
40
41 l_wms_deployment_mode varchar2(1);
42
43 invalid_event_name EXCEPTION;
44 update_history EXCEPTION;
45
46 BEGIN
47
48 IF (g_asn_debug = 'Y') THEN
49 asn_debug.put_line('Entering RCV_EXTERNAL_INTERFACE_SV.Raise_Event Call');
50 asn_debug.put_line('transaction_id is ' || P_txn_hist_record.transaction_id);
51 asn_debug.put_line('transaction_status is ' || P_txn_hist_record.transaction_status);
52 END IF;
53
54 x_return_status := rcv_error_pkg.g_ret_sts_success;
55
56 l_txn_hist_record := P_txn_hist_record;
57 l_xml_document_id := P_xml_document_id;
58
59
60 -- Get the event name from the Transaction History Table.
61 l_event_name := l_txn_hist_record.Event_Name;
62
63 -- Check if the event name is valid or not.
64
65 IF ( l_event_name NOT IN ('oracle.apps.po.standalone.rcpto') ) THEN
66 RAISE invalid_event_name;
67 END IF;
68
69 l_Transaction_Code := UPPER (SUBSTRB (l_event_name, INSTRB(l_Event_Name, '.', -1) + 1));
70
71 IF (g_asn_debug = 'Y') THEN
72 asn_debug.put_line('Transaction Code is ' || l_transaction_code);
73 END If;
74
75 l_event_key := l_txn_hist_record.Event_Key;
76 l_wms_deployment_mode := WMS_DEPLOY.WMS_DEPLOYMENT_MODE;
77
78
79 IF ( l_Transaction_Code in ('RCPTO') ) THEN --{
80
81 IF (l_wms_deployment_mode = 'L') then
82
83 SELECT trading_partner_site_id
84 INTO l_Party_Site_ID
85 FROM mtl_client_parameters
86 WHERE client_id IN (SELECT cust_account_id
87 FROM hz_cust_accounts
88 WHERE party_id = P_txn_hist_record.trading_partner_id);
89
90
91 ELSE
92
93 l_Party_Site_ID := P_txn_hist_record.trading_partner_id;
94
95 END IF;
96
97
98 IF (g_asn_debug = 'Y') THEN
99 asn_debug.put_line('trading_partner_site_id is '||l_Party_Site_ID);
100 END IF;
101
102 END IF; --}
103
104
105 IF ( l_wms_deployment_mode = 'L') then
106
107 WF_EVENT.AddParameterToList (p_name => 'ECX_PARTY_ID',
108 p_value => l_txn_hist_record.Trading_Partner_ID,
109 p_parameterlist => l_msg_parameter_list);
110
111 WF_EVENT.AddParameterToList (p_name => 'ECX_PARTY_SITE_ID',
112 p_value => l_Party_Site_ID,
113 p_parameterlist => l_msg_parameter_list);
114
115 WF_EVENT.AddParameterToList (p_name => 'ECX_PARTY_TYPE',
116 p_value => 'C',
117 p_parameterlist => l_msg_parameter_list);
118 IF (g_asn_debug = 'Y') THEN
119 asn_debug.put_line('Party Type is '|| 'C');
120 END IF;
121
122 WF_EVENT.AddParameterToList (p_name => 'ECX_TRANSACTION_TYPE',
123 p_value => 'PO',
124 p_parameterlist => l_msg_parameter_list);
125 IF (g_asn_debug = 'Y') THEN
126 asn_debug.put_line('Transaction Type is '|| 'PO');
127 END IF;
128
129
130 WF_EVENT.AddParameterToList (p_name => 'ECX_TRANSACTION_SUBTYPE',
131 p_value => 'RCPTO',
132 p_parameterlist => l_msg_parameter_list);
133 IF (g_asn_debug = 'Y') THEN
134 asn_debug.put_line('Transaction SubType is '|| 'RCPTO');
135 END IF;
136
137 ELSE
138
139 WF_EVENT.AddParameterToList (p_name => 'ECX_PARTY_ID',
140 p_value => l_txn_hist_record.Trading_Partner_ID,
141 p_parameterlist => l_msg_parameter_list);
142
143 WF_EVENT.AddParameterToList (p_name => 'ECX_PARTY_SITE_ID',
144 p_value => l_Party_Site_ID,
145 p_parameterlist => l_msg_parameter_list);
146
147 WF_EVENT.AddParameterToList (p_name => 'ECX_PARTY_TYPE',
148 p_value => 'I',
149 p_parameterlist => l_msg_parameter_list);
150 IF (g_asn_debug = 'Y') THEN
151 asn_debug.put_line('Party Type is '|| 'I');
152 END IF;
153
154 WF_EVENT.AddParameterToList (p_name => 'ECX_TRANSACTION_TYPE',
155 p_value => 'PO',
156 p_parameterlist => l_msg_parameter_list);
157 IF (g_asn_debug = 'Y') THEN
158 asn_debug.put_line('Transaction Type is '|| 'PO');
159 END IF;
160
161
162 WF_EVENT.AddParameterToList (p_name => 'ECX_TRANSACTION_SUBTYPE',
163 p_value => 'RCPTO-INT',
164 p_parameterlist => l_msg_parameter_list);
165 IF (g_asn_debug = 'Y') THEN
166 asn_debug.put_line('Transaction SubType is '|| 'RCPTO-INT');
167 END IF;
168
169 END IF;
170
171
172 WF_EVENT.AddParameterToList (p_name => 'ECX_DOCUMENT_ID',
173 p_value => l_txn_hist_record.Entity_Number, --shipment_header_id
174 p_parameterlist => l_msg_parameter_list);
175
176 IF (g_asn_debug = 'Y') THEN
177 asn_debug.put_line('Document ID is '|| l_txn_hist_record.Entity_Number);
178 END IF;
179
180
181 WF_EVENT.AddParameterToList (p_name => 'USER_ID',
182 p_value => FND_GLOBAL.USER_ID,
183 p_parameterlist => l_msg_parameter_list);
184
185 IF (g_asn_debug = 'Y') THEN
186 asn_debug.put_line('User ID is '|| FND_GLOBAL.USER_ID);
187 END IF;
188
189 --
190 WF_EVENT.AddParameterToList (p_name => 'APPLICATION_ID',
191 p_value => FND_GLOBAL.RESP_APPL_ID,
192 p_parameterlist => l_msg_parameter_list);
193
194
195 IF (g_asn_debug = 'Y') THEN
196 asn_debug.put_line('Responsibility Application ID is '|| FND_GLOBAL.RESP_APPL_ID);
197 END IF;
198
199
200 WF_EVENT.AddParameterToList (p_name => 'RESPONSIBILITY_ID',
201 p_value => FND_GLOBAL.RESP_ID,
202 p_parameterlist => l_msg_parameter_list);
203
204 IF (g_asn_debug = 'Y') THEN
205 asn_debug.put_line('Responsibility ID is '|| FND_GLOBAL.RESP_ID);
206 END IF;
207
208
209 WF_EVENT.AddParameterToList (p_name => 'USER',
210 p_value => FND_GLOBAL.user_name,
211 p_parameterlist => l_msg_parameter_list);
212
213 IF (g_asn_debug = 'Y') THEN
214 asn_debug.put_line('User_Name is '||FND_GLOBAL.user_name);
215 END IF;
216
217 WF_EVENT.AddParameterToList (p_name => 'ECX_PARAMETER1',
218 p_value => l_txn_hist_record.Action_Type,
219 p_parameterlist => l_msg_parameter_list);
220
221 WF_EVENT.AddParameterToList (p_name => 'ECX_PARAMETER2',
222 p_value => l_txn_hist_record.Client_Code,
223 p_parameterlist => l_msg_parameter_list);
224
225 IF (g_asn_debug = 'Y') THEN
226 asn_debug.put_line('ECX Parameter1 is '||l_txn_hist_record.Action_Type);
227 END IF;
228
229 IF (g_asn_debug = 'Y') THEN
230 asn_debug.put_line('ECX Parameter2 is '||l_txn_hist_record.Client_Code);
231 END IF;
232
233
234
235 SELECT receipt_num
236 INTO l_txn_hist_record.Entity_Number
237 FROM rcv_shipment_headers
238 WHERE shipment_header_id = l_txn_hist_record.Entity_Number;
239
240 IF (g_asn_debug = 'Y') THEN
241 asn_debug.put_line('Receipt Number is '||l_txn_hist_record.Entity_Number);
242 END IF;
243
244 RCV_TRANSACTIONS_HISTORY_PKG.Create_Update_Txns_History ( l_txn_hist_record,
245 l_xml_document_id,
246 l_txns_id,
247 l_return_status );
248
249 IF (g_asn_debug = 'Y') THEN
250 asn_debug.put_line('l_txns_id is '||l_txns_id);
251 asn_debug.put_line('l_return_status is '||To_Char(l_Return_Status));
252 END IF;
253
254 IF ( l_return_status <> rcv_error_pkg.g_ret_sts_success ) THEN
255 IF (g_asn_debug = 'Y') THEN
256 asn_debug.put_line('Raise_Event.l_Return_Status is '|| l_Return_Status);
257 END IF;
258 RAISE update_history;
259 END IF;
260
261 -- Commit the data into the Transaction History table.
262 COMMIT;
263
264
265 IF ( l_Transaction_Code IN ('RCPTO') ) THEN
266
267 IF (g_asn_debug = 'Y') THEN
268 asn_debug.put_line('Raising Business Event');
269 END IF;
270
271 WF_EVENT.raise ( p_event_name => l_event_name,
272 p_event_key => l_event_key,
273 p_parameters => l_msg_parameter_list );
274
275 IF (g_asn_debug = 'Y') THEN
276 asn_debug.put_line('Completed the Business Event execution');
277 END IF;
278
279 END IF;
280
281 IF (g_asn_debug = 'Y') THEN
282 asn_debug.put_line('Exiting RCV_EXTERNAL_INTERFACE_SV.Raise_Event call');
283 END IF;
284
285 EXCEPTION
286 WHEN invalid_event_name THEN
287 x_return_status := rcv_error_pkg.g_ret_sts_error;
288 IF (g_asn_debug = 'Y') THEN
289 asn_debug.put_line('invalid_event_name exception has occured.');
290 END IF;
291
292 WHEN update_history THEN
293 x_return_status := rcv_error_pkg.g_ret_sts_error;
294 IF (g_asn_debug = 'Y') THEN
295 asn_debug.put_line('update_history exception has occured.');
296 END IF;
297
298 WHEN OTHERS THEN
299 x_return_status := rcv_error_pkg.g_ret_sts_unexp_error;
300
301 IF (g_asn_debug = 'Y') THEN
302 asn_debug.put_line('Unexpected error has occured. Oracle error message is '|| SQLERRM);
303 END IF;
304
305 END Raise_Event;
306
307 END RCV_EXTERNAL_INTERFACE_SV;