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