[Home] [Help]
PACKAGE BODY: APPS.EGO_WF_WRAPPER_PVT
Source
1 PACKAGE BODY EGO_WF_WRAPPER_PVT AS
2 /* $Header: EGOVWFWB.pls 120.12 2008/01/25 13:44:58 yjain ship $ */
3
4
5
6 ------------------------------
7 -- Private Global Variables --
8 ------------------------------
9
10 G_PKG_NAME CONSTANT VARCHAR2(30) := 'EGO_WF_WRAPPER_PVT';--R12C Batch Level Business Event switches
11 --R12C Entity level Business events switch
12 G_ITEM_BULKLOAD_BUS_EVENT VARCHAR2(1) := FND_API.G_TRUE;
13 G_REV_CHANGE_BUS_EVENT VARCHAR2(1) := FND_API.G_TRUE;
14 G_CAT_ASSIGN_BUS_EVENT VARCHAR2(1) := FND_API.G_TRUE;
15 G_POST_ATTR_BUS_EVENT VARCHAR2(1) := FND_API.G_TRUE;
16 G_POST_AML_BUS_EVENT VARCHAR2(1) := FND_API.G_TRUE;
17 G_ITEM_PEOPLE_BUS_EVENT VARCHAR2(1) := FND_API.G_TRUE;
18
19 ----------------------------------------------------------------------
20
21
22 -----------------------
23 -- Public Procedures --
24 -----------------------
25
26
27 ----------------------------------------------------------------------
28
29
30
31 PROCEDURE Raise_WF_Business_Event (
32 p_event_name IN VARCHAR2
33 ,p_event_key IN VARCHAR2
34 ,p_pre_event_flag IN VARCHAR2 DEFAULT NULL --Not null when used to raise pre event
35 ,p_request_id IN VARCHAR2 DEFAULT NULL
36 ,p_dml_type IN VARCHAR2 DEFAULT NULL
37 ,p_attr_group_name IN VARCHAR2 DEFAULT NULL
38 ,p_extension_id IN NUMBER DEFAULT NULL
39 ,p_primary_key_1_col_name IN VARCHAR2 DEFAULT NULL
40 ,p_primary_key_1_value IN VARCHAR2 DEFAULT NULL
41 ,p_primary_key_2_col_name IN VARCHAR2 DEFAULT NULL
42 ,p_primary_key_2_value IN VARCHAR2 DEFAULT NULL
43 ,p_primary_key_3_col_name IN VARCHAR2 DEFAULT NULL
44 ,p_primary_key_3_value IN VARCHAR2 DEFAULT NULL
45 ,p_primary_key_4_col_name IN VARCHAR2 DEFAULT NULL
46 ,p_primary_key_4_value IN VARCHAR2 DEFAULT NULL
47 ,p_primary_key_5_col_name IN VARCHAR2 DEFAULT NULL
48 ,p_primary_key_5_value IN VARCHAR2 DEFAULT NULL
49 ,p_data_level_id IN NUMBER DEFAULT NULL
50 ,p_data_level_1_col_name IN VARCHAR2 DEFAULT NULL
51 ,p_data_level_1_value IN VARCHAR2 DEFAULT NULL
52 ,p_data_level_2_col_name IN VARCHAR2 DEFAULT NULL
53 ,p_data_level_2_value IN VARCHAR2 DEFAULT NULL
54 ,p_data_level_3_col_name IN VARCHAR2 DEFAULT NULL
55 ,p_data_level_3_value IN VARCHAR2 DEFAULT NULL
56 ,p_data_level_4_col_name IN VARCHAR2 DEFAULT NULL
57 ,p_data_level_4_value IN VARCHAR2 DEFAULT NULL
58 ,p_data_level_5_col_name IN VARCHAR2 DEFAULT NULL
59 ,p_data_level_5_value IN VARCHAR2 DEFAULT NULL
60 ,p_user_row_identifier IN VARCHAR2 DEFAULT NULL
61 ,p_attr_name_val_tbl IN EGO_ATTR_TABLE DEFAULT NULL
62 ,p_entity_id IN VARCHAR2 DEFAULT NULL
63 ,p_entity_index IN NUMBER DEFAULT NULL
64 ,p_entity_code IN VARCHAR2 DEFAULT NULL
65 ,p_add_errors_to_fnd_stack IN VARCHAR2 DEFAULT NULL
66 ) IS
67
68 l_api_name CONSTANT VARCHAR2(30) := 'Raise_WF_Business_Event';
69
70 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
71 l_parameter_t WF_PARAMETER_T:= WF_PARAMETER_T(null, null);
72 l_index NUMBER;
73
74 BEGIN
75 IF p_request_id IS NOT NULL THEN --Not null in case of PostAttributeChange event from Bulk Load
76 l_parameter_t.SetName('REQUEST_ID');
77 l_parameter_t.SetValue(p_request_id);
78 l_parameter_list.EXTEND();
79 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
80 ELSE
81 ------------------------------------------------------------
82 -- We start our parameter list with the basic information --
83 ------------------------------------------------------------
84 l_parameter_t.SetName('DML_TYPE');
85 l_parameter_t.SetValue(p_dml_type);
86 l_parameter_list.EXTEND();
87 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
88 l_parameter_t.SetName('ATTR_GROUP_NAME');
89 l_parameter_t.SetValue(p_attr_group_name);
90 l_parameter_list.EXTEND();
91 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
92
93 l_parameter_t.SetName('DATA_LEVEL_ID');
94 l_parameter_t.SetValue(p_data_level_id);
95 l_parameter_list.EXTEND();
96 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
97
98 l_parameter_t.SetName('EXTENSION_ID');
99 IF p_pre_event_flag IS NOT NULL AND p_dml_type='CREATE' THEN --while raising preAttrbuteChange for CREATE
100 l_parameter_t.SetValue(null);
101 ELSE
102 l_parameter_t.SetValue(p_extension_id);
103 END IF;
104
105 l_parameter_list.EXTEND();
106 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
107
108 ---------------------------------------------------------------
109 -- We add as many Primary Key names/values as were passed... --
110 ---------------------------------------------------------------
111 IF (p_primary_key_1_col_name IS NOT NULL) THEN
112
113 l_parameter_t.SetName(p_primary_key_1_col_name);
114 l_parameter_t.SetValue(p_primary_key_1_value);
115 l_parameter_list.EXTEND();
116 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
117
118 IF (p_primary_key_2_col_name IS NOT NULL) THEN
119
120 l_parameter_t.SetName(p_primary_key_2_col_name);
121 l_parameter_t.SetValue(p_primary_key_2_value);
122 l_parameter_list.EXTEND();
123 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
124
125 IF (p_primary_key_3_col_name IS NOT NULL) THEN
126
127 l_parameter_t.SetName(p_primary_key_3_col_name);
128 l_parameter_t.SetValue(p_primary_key_3_value);
129 l_parameter_list.EXTEND();
130 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
131
132 IF (p_primary_key_4_col_name IS NOT NULL) THEN
133
134 l_parameter_t.SetName(p_primary_key_4_col_name);
135 l_parameter_t.SetValue(p_primary_key_4_value);
136 l_parameter_list.EXTEND();
137 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
138
139 IF (p_primary_key_5_col_name IS NOT NULL) THEN
140
141 l_parameter_t.SetName(p_primary_key_5_col_name);
142 l_parameter_t.SetValue(p_primary_key_5_value);
143 l_parameter_list.EXTEND();
144 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
145
146 END IF;
147 END IF;
148 END IF;
149 END IF;
150 END IF;
151
152 --------------------------------------------------------
153 -- ... and we do the same for Data Level names/values --
154 --------------------------------------------------------
155 IF (p_data_level_1_col_name IS NOT NULL) THEN
156
157 l_parameter_t.SetName(p_data_level_1_col_name);
158 l_parameter_t.SetValue(p_data_level_1_value);
159 l_parameter_list.EXTEND();
160 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
161
162 IF (p_data_level_2_col_name IS NOT NULL) THEN
163
164 l_parameter_t.SetName(p_data_level_2_col_name);
165 l_parameter_t.SetValue(p_data_level_2_value);
166 l_parameter_list.EXTEND();
167 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
168
169 IF (p_data_level_3_col_name IS NOT NULL) THEN
170
171 l_parameter_t.SetName(p_data_level_3_col_name);
172 l_parameter_t.SetValue(p_data_level_3_value);
173 l_parameter_list.EXTEND();
174 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
175
176 IF (p_data_level_4_col_name IS NOT NULL) THEN
177
178 l_parameter_t.SetName(p_data_level_4_col_name);
179 l_parameter_t.SetValue(p_data_level_4_value);
180 l_parameter_list.EXTEND();
181 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
182
183 IF (p_data_level_5_col_name IS NOT NULL) THEN
184
185 l_parameter_t.SetName(p_data_level_5_col_name);
186 l_parameter_t.SetValue(p_data_level_5_value);
187 l_parameter_list.EXTEND();
188 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
189
190 END IF;
191 END IF;
192 END IF;
193 END IF;
194 END IF;
195
196 IF p_pre_event_flag IS NOT NULL AND --in case of pre event
197 p_attr_name_val_tbl.COUNT > 0 THEN
198 l_index := p_attr_name_val_tbl.FIRST;
199 WHILE l_index <= p_attr_name_val_tbl.LAST LOOP
200 l_parameter_t.SetName(p_attr_name_val_tbl(l_index).attr_name);
201 l_parameter_t.SetValue(p_attr_name_val_tbl(l_index).attr_value);
202 l_parameter_list.EXTEND();
203 l_parameter_list(l_parameter_list.LAST()) := l_parameter_t;
204 l_index := p_attr_name_val_tbl.NEXT(l_index);
205 END LOOP;
206 END IF;
207
208 END IF; --Request_ID
209 BEGIN
210
211 WF_EVENT.Raise(p_event_name => p_event_name
212 ,p_event_key => p_event_key
213 ,p_parameters => l_parameter_list);
214 EXCEPTION
215 WHEN OTHERS THEN
216 --if pre event only then raise the user defined exception, put SQLERRM in to the stack
217 -- Bug 6376745 #commenting out the below check
218 -- IF p_pre_event_flag IS NOT NULL THEN
219 --for pre event only we expect the user to have a Synchronous subscriptions (phase 0-99)
220 DECLARE
221 l_token_table ERROR_HANDLER.Token_Tbl_Type;
222 BEGIN
223 -- Uncommenting the below block as part of fix
224 l_token_table(1).TOKEN_NAME := 'PKG_NAME';
225 l_token_table(1).TOKEN_VALUE := G_PKG_NAME;
226 l_token_table(2).TOKEN_NAME := 'API_NAME';
227 l_token_table(2).TOKEN_VALUE := l_api_name;
228 l_token_table(3).TOKEN_NAME := 'SQL_ERR_MSG';
229 l_token_table(3).TOKEN_VALUE := SQLERRM;
230
231 ERROR_HANDLER.Add_Error_Message(
232 p_message_name => 'EGO_EVENT_SUBSCR'
233 ,p_application_id => 'EGO'
234 --,p_token_tbl => l_token_table ---parameters Commented for bug 6518941
235 ,p_message_type => FND_API.G_RET_STS_ERROR
236 --,p_row_identifier => p_user_row_identifier
237 --,p_entity_id => p_entity_id
238 --,p_entity_index => p_entity_index
239 --,p_entity_code => p_entity_code
240 ,p_addto_fnd_stack => p_add_errors_to_fnd_stack
241 );
242 raise EGO_USER_ATTRS_COMMON_PVT.G_SUBSCRIPTION_EXC;
243 END;
244 --ELSE --for post event do the default handling
245 -- raise;
246 --END IF;
247 END;
248
249 EXCEPTION
250 -----------------------------------------------------------
251 ---Exception raised by Subscription
252 -----------------------------------------------------------
253 WHEN EGO_USER_ATTRS_COMMON_PVT.G_SUBSCRIPTION_EXC THEN
254 raise EGO_USER_ATTRS_COMMON_PVT.G_SUBSCRIPTION_EXC;
255
256 -----------------------------------------------------------
257 ---for unexpected exceptions-
258 -----------------------------------------------------------
259 WHEN OTHERS THEN
260 DECLARE
261 l_token_table ERROR_HANDLER.Token_Tbl_Type;
262 BEGIN
263 l_token_table(1).TOKEN_NAME := 'PKG_NAME';
264 l_token_table(1).TOKEN_VALUE := G_PKG_NAME;
265 l_token_table(2).TOKEN_NAME := 'API_NAME';
266 l_token_table(2).TOKEN_VALUE := l_api_name;
267 l_token_table(3).TOKEN_NAME := 'SQL_ERR_MSG';
268 l_token_table(3).TOKEN_VALUE := SQLERRM;
269
270 ERROR_HANDLER.Add_Error_Message(
271 p_message_name => 'EGO_PLSQL_ERR'
272 ,p_application_id => 'EGO'
273 ,p_token_tbl => l_token_table
274 ,p_message_type => FND_API.G_RET_STS_ERROR
275 ,p_row_identifier => p_user_row_identifier
276 ,p_entity_id => p_entity_id
277 ,p_entity_index => p_entity_index
278 ,p_entity_code => p_entity_code
279 ,p_addto_fnd_stack => p_add_errors_to_fnd_stack
280 );
281 END;
282
283 END Raise_WF_Business_Event;
284
285
286 /*-------------------------------------------------------
287 Requirement : To riase business event postAMLChange
288 -------------------------------------------------------*/
289 PROCEDURE Raise_AML_Event (
290 p_event_name IN VARCHAR2
291 ,p_dml_type IN VARCHAR2
292 ,p_Inventory_Item_Id IN NUMBER
293 ,p_Organization_Id IN NUMBER
294 ,p_Manufacturer_Id IN NUMBER
295 ,p_Mfg_Part_Num IN VARCHAR2
296 ,x_msg_data OUT NOCOPY VARCHAR2
297 ,x_return_status OUT NOCOPY VARCHAR2
298 )
299 IS
300 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
301 l_parameter_t WF_PARAMETER_T:= WF_PARAMETER_T(null, null);
302 l_event_name VARCHAR2(240);
303 l_event_key VARCHAR2(240);
304 l_event_num NUMBER;
305
306 BEGIN
307
308 l_event_name := p_event_name ;
309 --l_event_key := SUBSTRB(l_event_name, 1, 225) || '-' || TO_CHAR(SYSDATE, 'J.SSSSS');
310
311 SELECT MTL_BUSINESS_EVENTS_S.NEXTVAL into l_event_num FROM dual; --Bug: 5606011
312 l_event_key := SUBSTRB(l_event_name, 1, 255) || '-' || l_event_num;
313
314
315 --Adding the parameters
316 wf_event.AddParameterToList(p_name => 'INVENTORY_ITEM_ID'
317 ,p_value => p_Inventory_Item_Id
318 ,p_ParameterList => l_parameter_List);
319 wf_event.AddParameterToList(p_name => 'ORGANIZATION_ID'
320 ,p_value => p_Organization_Id
321 ,p_ParameterList => l_parameter_List);
322 wf_event.AddParameterToList(p_name => 'DML_TYPE'
323 ,p_value => p_dml_type
324 ,p_ParameterList => l_parameter_List);
325 wf_event.AddParameterToList(p_name => 'MANUFACTURER_ID'
326 ,p_value => p_Manufacturer_Id
327 ,p_ParameterList => l_parameter_List);
328 wf_event.AddParameterToList(p_name => 'MFG_PART_NUM'
329 ,p_value => p_Mfg_Part_Num
330 ,p_ParameterList => l_parameter_List);
331
332 /*R12: Business Events*/
333 WF_EVENT.Raise(p_event_name => l_event_name
334 ,p_event_key => l_event_key
335 ,p_parameters => l_parameter_list);
336
337 l_parameter_list.DELETE;
338 x_return_status :=FND_API.G_RET_STS_SUCCESS;
339
340 EXCEPTION
341 -----------------------------------------------------------
342 -- There are no expected errors in this procedure, so... --
343 -----------------------------------------------------------
344 WHEN OTHERS THEN
345 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
346 x_msg_data := p_event_name ||' '|| SQLERRM;
347 END Raise_AML_Event;
348
349
350 ------------------------------------------------------------------
351 -- Start : 4105841 : Business Event Enhancement
352 --Procedure to raise the event for Item Create and update --
353 --------------------------------------------------------------------
354 /*Added the new parameter p_is_master_attr_modified */
355 PROCEDURE Raise_Item_Create_Update_Event (
356 p_event_name IN VARCHAR2
357 ,p_request_id IN NUMBER DEFAULT NULL
358 ,p_Organization_Id IN NUMBER DEFAULT NULL
359 ,p_organization_code IN VARCHAR2 DEFAULT NULL
360 ,p_Inventory_Item_Id IN NUMBER DEFAULT NULL
361 ,p_item_number IN VARCHAR2 DEFAULT NULL
362 ,p_item_description IN VARCHAR2 DEFAULT NULL
363 ,p_is_master_attr_modified IN VARCHAR2 DEFAULT 'N'
364 ,x_msg_data OUT NOCOPY VARCHAR2
365 ,x_return_status OUT NOCOPY VARCHAR2
366 )
367 IS
368 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
369 l_parameter_t WF_PARAMETER_T:= WF_PARAMETER_T(null, null);
370 l_event_name VARCHAR2(240);
371 l_event_key VARCHAR2(240);
372 l_event_num NUMBER;
373 BEGIN
374
375 l_event_name := p_event_name ;
376 --l_event_key := SUBSTRB(l_event_name, 1, 225) || '-' || TO_CHAR(SYSDATE, 'J.SSSSS');
377
378 SELECT MTL_BUSINESS_EVENTS_S.NEXTVAL into l_event_num FROM dual; --Bug: 5606011
379 l_event_key := SUBSTRB(l_event_name, 1, 255) || '-' || l_event_num;
380
381
382 --Adding the parameters
383 IF p_request_id IS NOT NULL THEN --in case of Bulk Load
384 wf_event.AddParameterToList( p_name => 'REQUEST_ID'
385 ,p_value => p_request_id
386 ,p_ParameterList => l_parameter_List);
387 ELSE
388 wf_event.AddParameterToList( p_name => 'INVENTORY_ITEM_ID'
389 ,p_value => p_Inventory_Item_Id
390 ,p_ParameterList => l_parameter_List);
391 wf_event.AddParameterToList( p_name => 'ORGANIZATION_ID'
392 ,p_value => p_Organization_Id
393 ,p_ParameterList => l_parameter_List);
394 wf_event.AddParameterToList( p_name => 'ORGANIZATION_CODE'
395 ,p_value => p_organization_code
396 ,p_ParameterList => l_parameter_List);
397 wf_event.AddParameterToList( p_name => 'ITEM_NUMBER'
398 ,p_value => p_item_number
399 ,p_ParameterList => l_parameter_List);
400 wf_event.AddParameterToList( p_name => 'ITEM_DESCRIPTION'
401 ,p_value => p_item_description
402 ,p_ParameterList => l_parameter_List);
403 wf_event.AddParameterToList( p_name => 'IS_MASTER_ATTR_MODIFIED'
404 ,p_value => p_is_master_attr_modified
405 ,p_ParameterList => l_parameter_List);
406
407 END IF;
408
409 /*R12: Business Events*/
410 WF_EVENT.Raise(p_event_name => l_event_name
411 ,p_event_key => l_event_key
412 ,p_parameters => l_parameter_list);
413
414
415 l_parameter_list.DELETE;
416 x_return_status := FND_API.G_RET_STS_SUCCESS;
417 EXCEPTION
418 WHEN Others THEN
419 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
420 x_msg_data := SQLERRM ;
421 END Raise_Item_Create_Update_Event;
422
423
424 /* -------------------------------------------------------------------
425 Procedure : Raise_Item_Event
426 Purpose : Raise Work flow event
427 ------------------------------------------------------------------*/
428 PROCEDURE Raise_Item_Event(
429 p_event_name IN VARCHAR2
430 ,p_dml_type IN VARCHAR2 DEFAULT NULL
431 ,p_request_id IN VARCHAR2 DEFAULT NULL
432 ,p_Inventory_Item_Id IN NUMBER DEFAULT NULL
433 ,p_Organization_Id IN NUMBER DEFAULT NULL
434 ,p_Revision_id IN NUMBER DEFAULT NULL
435 ,p_category_id IN VARCHAR2 DEFAULT NULL
436 ,p_catalog_id IN VARCHAR2 DEFAULT NULL
437 ,p_cross_reference_type IN VARCHAR2 DEFAULT NULL --r12
438 ,p_cross_reference IN VARCHAR2 DEFAULT NULL --r12
439 ,p_customer_item_id IN NUMBER DEFAULT NULL --r12
440 ,p_related_item_id IN NUMBER DEFAULT NULL --r12
441 ,p_relationship_type_id IN NUMBER DEFAULT NULL --r12
442 ,p_role_id IN NUMBER DEFAULT NULL --r12
443 ,p_party_type IN VARCHAR2 DEFAULT NULL --r12
444 ,p_party_id IN NUMBER DEFAULT NULL --r12
448 IS
445 ,p_start_date IN DATE DEFAULT NULL --r12
446 ,x_msg_data OUT NOCOPY VARCHAR2
447 ,x_return_status OUT NOCOPY VARCHAR2)
449 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
450 l_parameter_t WF_PARAMETER_T := WF_PARAMETER_T(null, null);
451 l_event_name VARCHAR2(240);
452 l_event_key VARCHAR2(240);
453 l_event_num NUMBER;
454 l_raise_item_cat_assign VARCHAR2(2);
455 l_raise_alt_cat_hier_chg VARCHAR2(2);
456 l_raise_catalog_cat_chg VARCHAR2(2);
457 BEGIN
458 l_event_name := p_event_name ;
459 --l_event_key := SUBSTRB(l_event_name, 1, 225) || '-' || TO_CHAR(SYSDATE, 'J.SSSSS');
460
461 SELECT MTL_BUSINESS_EVENTS_S.NEXTVAL into l_event_num FROM dual; --Bug: 5606011
462 l_event_key := SUBSTRB(l_event_name, 1, 255) || '-' || l_event_num;
463
464 IF p_request_id IS NOT NULL THEN --in case of Bulk Load
465 wf_event.AddParameterToList( p_name => 'REQUEST_ID'
466 ,p_value => p_request_id
467 ,p_ParameterList => l_parameter_List);
468 ELSE
469 wf_event.AddParameterToList( p_name => 'INVENTORY_ITEM_ID'
470 , p_value => p_Inventory_Item_Id
471 , p_ParameterList => l_parameter_List);
472 wf_event.AddParameterToList( p_name => 'ORGANIZATION_ID'
473 , p_value => p_Organization_Id
474 , p_ParameterList => l_parameter_List);
475
476 IF p_dml_type IS NOT NULL THEN
477 wf_event.AddParameterToList( p_name => 'DML_TYPE'
478 , p_value => p_dml_type
479 , p_ParameterList => l_parameter_List);
480 END IF;
481
482 IF p_Revision_id IS NOT NULL THEN
483 wf_event.AddParameterToList( p_name => 'REVISION_ID'
484 , p_value => p_Revision_id
485 , p_ParameterList => l_parameter_List);
486 END IF;
487
488 IF p_catalog_id IS NOT NULL THEN
489 wf_event.AddParameterToList( p_name => 'CATALOG_ID'
490 ,p_value => p_catalog_id
491 ,p_ParameterList => l_parameter_List);
492 END IF;
493 IF p_category_id IS NOT NULL THEN
494 wf_event.AddParameterToList( p_name => 'CATEGORY_ID'
495 ,p_value => p_category_id
496 ,p_ParameterList => l_parameter_List);
497 END IF;
498
499 IF p_cross_reference_type IS NOT NULL THEN
500 wf_event.AddParameterToList( p_name => 'CROSS_REFERENCE_TYPE'
501 ,p_value => p_cross_reference_type
502 ,p_ParameterList => l_parameter_List);
503 END IF;
504
505 IF p_cross_reference IS NOT NULL THEN
506 wf_event.AddParameterToList( p_name => 'CROSS_REFERENCE'
507 ,p_value => p_cross_reference
508 ,p_ParameterList => l_parameter_List);
509 END IF;
510 /***
511 These parameters are commented as the associated events are not routed
512 through this package currently.
513 IF p_role_id IS NOT NULL THEN
514 wf_event.AddParameterToList( p_name => 'ROLE_ID'
515 ,p_value => p_role_id
516 ,p_ParameterList => l_parameter_List);
517 END IF;
518
519 IF p_party_type IS NOT NULL THEN
520 wf_event.AddParameterToList( p_name => 'PARTY_TYPE'
521 ,p_value => p_party_type
522 ,p_ParameterList => l_parameter_List);
523 END IF;
524
525 IF p_party_id IS NOT NULL THEN
526 wf_event.AddParameterToList( p_name => 'PARTY_ID'
527 ,p_value => p_party_id
528 ,p_ParameterList => l_parameter_List);
529 END IF;
530
531 IF p_start_date IS NOT NULL THEN
532 wf_event.AddParameterToList( p_name => 'START_DATE'
533 ,p_value => p_start_date
534 ,p_ParameterList => l_parameter_List);
535 END IF;
536
537 IF p_customer_item_id IS NOT NULL THEN
538 wf_event.AddParameterToList( p_name => 'CUSTOMER_ITEM_ID'
539 ,p_value => p_customer_item_id
540 ,p_ParameterList => l_parameter_List);
541 END IF;
542
543 IF p_related_item_id IS NOT NULL THEN
544 wf_event.AddParameterToList( p_name => 'RELATED_ITEM_ID'
545 ,p_value => p_related_item_id
546 ,p_ParameterList => l_parameter_List);
547 END IF;
548
549 IF p_relationship_type_id IS NOT NULL THEN
550 wf_event.AddParameterToList( p_name => 'RELATIONSHIP_TYPE_ID'
554 ***/
551 ,p_value => p_relationship_type_id
552 ,p_ParameterList => l_parameter_List);
553 END IF;
555 END IF;
556
557 /*R12: Business Events*/
558 IF p_catalog_id IS NOT NULL THEN
559 BEGIN
560 SELECT raise_item_cat_assign_event, raise_alt_cat_hier_chg_event, raise_catalog_cat_chg_event
561 INTO l_raise_item_cat_assign, l_raise_alt_cat_hier_chg, l_raise_catalog_cat_chg
562 FROM mtl_category_sets_b
563 WHERE category_set_id = p_catalog_id;
564
565 IF l_event_name = 'oracle.apps.ego.item.postCatalogAssignmentChange' AND l_raise_item_cat_assign = 'Y' THEN
566 WF_EVENT.Raise( p_event_name => l_event_name
567 ,p_event_key => l_event_key
568 ,p_parameters => l_parameter_list);
569 END IF;
570 IF l_event_name = 'oracle.apps.ego.item.postCatalogCategoryChange' AND l_raise_catalog_cat_chg = 'Y' THEN
571 WF_EVENT.Raise( p_event_name => l_event_name
572 ,p_event_key => l_event_key
573 ,p_parameters => l_parameter_list);
574 END IF;
575 IF l_event_name = 'oracle.apps.ego.item.postValidCategoryChange' AND l_raise_alt_cat_hier_chg = 'Y' THEN
576 WF_EVENT.Raise( p_event_name => l_event_name
577 ,p_event_key => l_event_key
578 ,p_parameters => l_parameter_list);
579 END IF;
580 END;
581 ELSE
582
583 WF_EVENT.Raise( p_event_name => l_event_name
584 ,p_event_key => l_event_key
585 ,p_parameters => l_parameter_list);
586 END IF;
587
588 l_parameter_list.DELETE;
589 x_return_status := FND_API.G_RET_STS_SUCCESS;
590
591 EXCEPTION
592 WHEN Others THEN
593 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
594 x_msg_data := SQLERRM;
595 END Raise_Item_Event;
596 --End : 4105841 : Business Event Enhancement
597
598 --R12 Business Event Enhancement
599 PROCEDURE Raise_Categories_Event(
600 p_event_name IN VARCHAR2
601 ,p_dml_type IN VARCHAR2 DEFAULT NULL
602 ,p_category_set_id IN NUMBER DEFAULT NULL
603 ,p_category_id IN NUMBER DEFAULT NULL
604 ,p_category_name IN VARCHAR2 DEFAULT NULL
605 ,x_msg_data OUT NOCOPY VARCHAR2
606 ,x_return_status OUT NOCOPY VARCHAR2) IS
607
608 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
609 l_parameter_t WF_PARAMETER_T := WF_PARAMETER_T(null, null);
610 l_event_name VARCHAR2(240);
611 l_event_key VARCHAR2(240);
612 l_event_num NUMBER;
613 l_raise_item_cat_assign VARCHAR2(2);
614 l_raise_alt_cat_hier_chg VARCHAR2(2);
615 l_raise_catalog_cat_chg VARCHAR2(2);
616 BEGIN
617 l_event_name := p_event_name ;
618 --l_event_key := SUBSTRB(l_event_name, 1, 225) || '-' || TO_CHAR(SYSDATE, 'J.SSSSS');
619
620 SELECT MTL_BUSINESS_EVENTS_S.NEXTVAL into l_event_num FROM dual; --Bug: 5606011
621 l_event_key := SUBSTRB(l_event_name, 1, 255) || '-' || l_event_num;
622
623 IF p_dml_type IS NOT NULL THEN
624 wf_event.AddParameterToList( p_name => 'DML_TYPE'
625 , p_value => p_dml_type
626 , p_ParameterList => l_parameter_List);
627 END IF;
628
629 IF p_category_set_id IS NOT NULL THEN
630 wf_event.AddParameterToList( p_name => 'CATEGORY_SET_ID'
631 ,p_value => p_category_set_id
632 ,p_ParameterList => l_parameter_List);
633 END IF;
634
635
636 IF p_category_id IS NOT NULL THEN
637 wf_event.AddParameterToList( p_name => 'CATEGORY_ID'
638 ,p_value => p_category_id
639 ,p_ParameterList => l_parameter_List);
640 END IF;
641
642 IF p_category_name IS NOT NULL THEN
643 wf_event.AddParameterToList( p_name => 'CATEGORY_NAME'
644 ,p_value => p_category_name
645 ,p_ParameterList => l_parameter_List);
646 END IF;
647
648 IF p_category_set_id IS NOT NULL THEN
649 BEGIN
650 SELECT raise_item_cat_assign_event, raise_alt_cat_hier_chg_event, raise_catalog_cat_chg_event
651 INTO l_raise_item_cat_assign, l_raise_alt_cat_hier_chg, l_raise_catalog_cat_chg
652 FROM mtl_category_sets_b
653 WHERE category_set_id = p_category_set_id;
654
655 IF l_event_name = 'oracle.apps.ego.item.postCatalogAssignmentChange' AND l_raise_item_cat_assign = 'Y' THEN
656 WF_EVENT.Raise( p_event_name => l_event_name
657 ,p_event_key => l_event_key
658 ,p_parameters => l_parameter_list);
659 END IF;
660 IF l_event_name = 'oracle.apps.ego.item.postCatalogCategoryChange' AND l_raise_catalog_cat_chg = 'Y' THEN
661 WF_EVENT.Raise( p_event_name => l_event_name
665 IF l_event_name = 'oracle.apps.ego.item.postValidCategoryChange' AND l_raise_alt_cat_hier_chg = 'Y' THEN
662 ,p_event_key => l_event_key
663 ,p_parameters => l_parameter_list);
664 END IF;
666 WF_EVENT.Raise( p_event_name => l_event_name
667 ,p_event_key => l_event_key
668 ,p_parameters => l_parameter_list);
669 END IF;
670 END;
671 ELSE
672 WF_EVENT.Raise( p_event_name => l_event_name
673 ,p_event_key => l_event_key
674 ,p_parameters => l_parameter_list);
675 END IF;
676
677 l_parameter_list.DELETE;
678 x_return_status := FND_API.G_RET_STS_SUCCESS;
679
680 EXCEPTION
681 WHEN Others THEN
682 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
683 x_msg_data := SQLERRM;
684 END Raise_Categories_Event;
685
686 --R12C Raise Post Process Message Event for Orchestration
687 PROCEDURE Raise_Post_Process_Msg_Event(
688 p_event_name IN VARCHAR2
689 ,p_entity_name IN VARCHAR2
690 ,p_pk1_value IN VARCHAR2
691 ,p_pk2_value IN VARCHAR2
692 ,p_pk3_value IN VARCHAR2
693 ,p_pk4_value IN VARCHAR2
694 ,p_pk5_value IN VARCHAR2
695 ,p_processing_type IN VARCHAR2
696 ,p_language_code IN VARCHAR2
697 ,p_last_update_date IN VARCHAR2
698 ,x_msg_data OUT NOCOPY VARCHAR2
699 ,x_return_status OUT NOCOPY VARCHAR2
700 )
701 IS
702
703 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
704 l_event_name VARCHAR2(240);
705 l_event_key VARCHAR2(240);
706
707 BEGIN
708
709 l_event_name := p_event_name ;
710
711 SELECT TO_CHAR( SYSTIMESTAMP, 'dd-mon-yyyy hh24:mi:ss:ffff' )
712 INTO l_event_key
713 FROM DUAL;
714
715 WF_EVENT.AddParameterToList( p_name => 'ENTITY_NAME'
716 ,p_value => p_entity_name
717 ,p_ParameterList => l_parameter_List);
718
719
720 WF_EVENT.AddParameterToList( p_name => 'PK1_VALUE'
721 ,p_value => p_pk1_value
722 ,p_ParameterList => l_parameter_List);
723
724 WF_EVENT.AddParameterToList( p_name => 'PK2_VALUE'
725 ,p_value => p_pk2_value
726 ,p_ParameterList => l_parameter_List);
727
728 WF_EVENT.AddParameterToList( p_name => 'PK3_VALUE'
729 ,p_value => p_pk3_value
730 ,p_ParameterList => l_parameter_List);
731
732 WF_EVENT.AddParameterToList( p_name => 'PK4_VALUE'
733 ,p_value => p_pk4_value
734 ,p_ParameterList => l_parameter_List);
735
736 WF_EVENT.AddParameterToList( p_name => 'PK5_VALUE'
737 ,p_value => p_pk5_value
738 ,p_ParameterList => l_parameter_List);
739
740 WF_EVENT.AddParameterToList( p_name => 'PROCESSING_TYPE'
741 ,p_value => p_processing_type
742 ,p_ParameterList => l_parameter_List);
743
744 WF_EVENT.AddParameterToList( p_name => 'LANGUAGE_CODE'
745 ,p_value => p_language_code
746 ,p_ParameterList => l_parameter_List);
747
748 WF_EVENT.AddParameterToList( p_name => 'LAST_UPDATE_DATE'
749 ,p_value => p_last_update_date
750 ,p_ParameterList => l_parameter_List);
751
752 WF_EVENT.Raise( p_event_name => l_event_name
753 ,p_event_key => l_event_key
754 ,p_parameters => l_parameter_list);
755
756 l_parameter_list.DELETE;
757
758 x_return_status := FND_API.G_RET_STS_SUCCESS;
759 x_msg_data := NULL;
760
761 EXCEPTION
762 WHEN OTHERS THEN
763 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
764 x_msg_data := SQLERRM;
765
766 END Raise_Post_Process_Msg_Event;
767
768 --R12C Setters for Entity Level Business events
769 PROCEDURE Set_Item_Bulkload_Bus_Event(p_true_false IN VARCHAR2)
770 IS
771 l_true_false VARCHAR2(1);
772 BEGIN
773 l_true_false := p_true_false;
774 IF p_true_false NOT IN (FND_API.g_true, FND_API.g_false) THEN
775 l_true_false := FND_API.g_true;
776 END IF;
777 G_ITEM_BULKLOAD_BUS_EVENT := l_true_false;
778 END Set_Item_Bulkload_Bus_Event;
779
780 PROCEDURE Set_Rev_Change_Bus_Event(p_true_false IN VARCHAR2)
781 IS
782 l_true_false VARCHAR2(1);
783 BEGIN
784 l_true_false := p_true_false;
785 IF p_true_false NOT IN (FND_API.g_true, FND_API.g_false) THEN
786 l_true_false := FND_API.g_true;
787 END IF;
788 G_REV_CHANGE_BUS_EVENT := l_true_false;
789 END Set_Rev_Change_Bus_Event;
790
794 BEGIN
791 PROCEDURE Set_Category_Assign_Bus_Event(p_true_false IN VARCHAR2)
792 IS
793 l_true_false VARCHAR2(1);
795 l_true_false := p_true_false;
796 IF p_true_false NOT IN (FND_API.g_true, FND_API.g_false) THEN
797 l_true_false := FND_API.g_true;
798 END IF;
799 G_CAT_ASSIGN_BUS_EVENT := l_true_false;
800 END Set_Category_Assign_Bus_Event;
801
802 PROCEDURE Set_PostAttr_Change_Event(p_true_false IN VARCHAR2)
803 IS
804 l_true_false VARCHAR2(1);
805 BEGIN
806 l_true_false := p_true_false;
807 IF p_true_false NOT IN (FND_API.g_true, FND_API.g_false) THEN
808 l_true_false := FND_API.g_true;
809 END IF;
810 G_POST_ATTR_BUS_EVENT := l_true_false;
811 END Set_PostAttr_Change_Event;
812
813 PROCEDURE Set_PostAml_Change_Event(p_true_false IN VARCHAR2)
814 IS
815 l_true_false VARCHAR2(1);
816 BEGIN
817 l_true_false := p_true_false;
818 IF p_true_false NOT IN (FND_API.g_true, FND_API.g_false) THEN
819 l_true_false := FND_API.g_true;
820 END IF;
821 G_POST_AML_BUS_EVENT := l_true_false;
822 END Set_PostAml_Change_Event;
823
824 PROCEDURE Set_Item_People_Event(p_true_false IN VARCHAR2)
825 IS
826 l_true_false VARCHAR2(1);
827 BEGIN
828 l_true_false := p_true_false;
829 IF p_true_false NOT IN (FND_API.g_true, FND_API.g_false) THEN
830 l_true_false := FND_API.g_true;
831 END IF;
832 G_ITEM_PEOPLE_BUS_EVENT := l_true_false;
833 END Set_Item_People_Event;
834
835 --R12C Getters for Entity Level Business events
836 FUNCTION Get_Item_Bulkload_Bus_Event RETURN VARCHAR2
837 IS
838 BEGIN
839 RETURN(G_ITEM_BULKLOAD_BUS_EVENT );
840 END Get_Item_Bulkload_Bus_Event;
841
842 FUNCTION Get_Rev_Change_Bus_Event RETURN VARCHAR2
843 IS
844 BEGIN
845 RETURN(G_REV_CHANGE_BUS_EVENT );
846 END Get_Rev_Change_Bus_Event;
847
848 FUNCTION Get_Category_Assign_Bus_Event RETURN VARCHAR2
849 IS
850 BEGIN
851 RETURN(G_CAT_ASSIGN_BUS_EVENT );
852 END Get_Category_Assign_Bus_Event;
853
854 FUNCTION Get_PostAttr_Change_Event RETURN VARCHAR2
855 IS
856 BEGIN
857 RETURN(G_POST_ATTR_BUS_EVENT );
858 END Get_PostAttr_Change_Event;
859
860 FUNCTION Get_PostAml_Change_Event RETURN VARCHAR2
861 IS
862 BEGIN
863 RETURN(G_POST_AML_BUS_EVENT );
864 END Get_PostAml_Change_Event;
865
866 FUNCTION Get_Item_People_Event RETURN VARCHAR2
867 IS
868 BEGIN
869 RETURN(G_ITEM_PEOPLE_BUS_EVENT );
870 END Get_Item_People_Event;
871
872 END EGO_WF_WRAPPER_PVT;