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