DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_TRIGGER_PVT

Source


1 PACKAGE BODY AMS_Trigger_PVT as
2 /* $Header: amsvtgrb.pls 120.2 2006/02/21 22:25:34 srivikri ship $*/
3 
4 --
5 -- NAME
6 --   AMS_Trigger_PVT
7 --
8 -- PURPOSE
9 --   This package is a wrapper package which calls all the Trigger APIs inside it.
10 --   It also gives call to Trigger Engine to start the Process
11 --
12 -- HISTORY
13 --   12/27/1999        ptendulk    CREATED
14 --   02/25/2000        ptendulk    Modified - Added the Workflow process calls
15 --   10/28/2000        ptendulk    Added user id in the start process call
16 --   04/04/2001        soagrawa    Modified Create_Trigger to create trigger instead of
17 --                                 just updating it
18 --   02/17/2006        srivikri    Added procedure activate_trigger
19 
20 --
21 G_PKG_NAME      CONSTANT VARCHAR2(30):='AMS_Trigger_PVT';
22 G_FILE_NAME     CONSTANT VARCHAR2(12):='amsvtgrb.pls';
23 
24 
25 -- Debug mode
26 -- g_debug boolean := FALSE;
27 -- g_debug boolean := TRUE;
28 
29 ----------------------------------------------------------------------------------------
30 ----------------------------------------------------------------------------------------
31 ----------------------------------------------------------------------------------------
32 ---------------------------------- Triggers --------------------------------------------
33 ----------------------------------------------------------------------------------------
34 ----------------------------------------------------------------------------------------
35 ----------------------------------------------------------------------------------------
36 
37 /***************************  PRIVATE ROUTINES  *********************************/
38 
39 -- Start of Comments
40 --
41 -- NAME
42 --   Create_Trigger
43 --
44 -- PURPOSE
45 --   This procedure is to create a row in ams_triggers,ams_trigger_checks,ams_trigger_actions
46 --   table that satisfy caller needs
47 --
48 -- NOTES
49 --   As soon as the Trigger is created Start the Workflow Process
50 --
51 -- HISTORY
52 --   07/26/1999        ptendulk        Created
53 --    10/25/1999       ptendulk       Modified according to new standards
54 --   01/11/2000        ptendulk        Modified API calls , Send p_commit = False
55 --                                     to API calls
56 --   02/25/2000        ptendulk        Modified - Added the Workflow process calls
57 --  15-Feb-2001        ptendulk        Modified 1. trigger action table won't be used since Hornet
58 --                                     2. Check will be mandatory so removed p_create_type para.
59 --                                     3. Commented workflow call.
60 --   04/04/2001        soagrawa        Now calling create_trigger instead of update_trigger.
61 --                                     Also, the API now returns trigger_id  of the trigger created
62 --   13/jun/03         cgoyal          modified create trigger method to create a row in the table
63 --                                     ams_trigger_actions for 11.5.8 backport
64 -- End of Comments
65 
66 AMS_DEBUG_HIGH_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_HIGH);
67 AMS_DEBUG_LOW_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW);
68 AMS_DEBUG_MEDIUM_ON CONSTANT boolean := FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_DEBUG_MEDIUM);
69 
70 PROCEDURE Create_Trigger
71 ( p_api_version              IN     NUMBER,
72   p_init_msg_list            IN     VARCHAR2    := FND_API.G_FALSE,
73   p_commit                   IN     VARCHAR2    := FND_API.G_FALSE,
74   p_validation_level         IN     NUMBER       := FND_API.G_VALID_LEVEL_FULL,
75 
76   x_return_status            OUT NOCOPY    VARCHAR2,
77   x_msg_count                OUT NOCOPY    NUMBER,
78   x_msg_data                 OUT NOCOPY    VARCHAR2,
79 
80 --  p_create_type              IN     VARCHAR2    := 'ALL'  ,
81   p_trig_Rec                 IN     Ams_Trig_pvt.trig_rec_type,
82   p_thldchk_rec              IN     Ams_Thldchk_pvt.thldchk_rec_type DEFAULT NULL,
83   p_thldact_rec              IN     Ams_Thldact_pvt.thldact_rec_type ,
84 
85   x_trigger_check_id         OUT NOCOPY    NUMBER,
86   x_trigger_action_id        OUT NOCOPY    NUMBER,
87   x_trigger_id                OUT NOCOPY     NUMBER
88 ) IS
89 
90    l_api_name      CONSTANT VARCHAR2(30)  := 'Create_Trigger';
91    l_api_version   CONSTANT NUMBER        := 1.0;
92    l_full_name     CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
93 
94 
95    -- Status Local Variables
96    l_return_status          VARCHAR2(1);  -- Return value from procedures
97    l_thldchk_rec     Ams_Thldchk_pvt.thldchk_rec_type := p_thldchk_rec;
98    l_thldact_rec     Ams_Thldact_pvt.thldact_rec_type := p_thldact_rec;
99    -- soagrawa 30-apr-2003 added for action for execution
100    l_thldact_exec_rec     Ams_Thldact_pvt.thldact_rec_type ;
101 
102    -- soagrawa 05-may-2003
103    l_parameter_list  WF_PARAMETER_LIST_T;
104    l_new_item_key    VARCHAR2(30);
105 
106    -- soagrawa added on 09-jul-2003 for bug 3043277
107    CURSOR c_st_dt (p_trigger_id NUMBER) IS
108    SELECT start_date_time
109      FROM ams_triggers
110     WHERE trigger_id = p_trigger_id;
111 
112    l_st_dt DATE;
113 
114   BEGIN
115    --
116    -- Standard Start of API savepoint
117    --
118    SAVEPOINT Create_Trig_PVT;
119 
120    IF (AMS_DEBUG_HIGH_ON) THEN
121 
122 
123 
124    AMS_Utility_PVT.debug_message(l_full_name||': start');
125 
126    END IF;
127 
128    IF FND_API.to_boolean(p_init_msg_list) THEN
129       FND_MSG_PUB.initialize;
130    END IF;
131 
132    --
133    -- Standard call to check for call compatibility.
134    --
135    IF NOT FND_API.Compatible_API_Call ( l_api_version,
136                                         p_api_version,
137                                         l_api_name,
138                                         G_PKG_NAME)
139    THEN
140          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
141    END IF;
142 
143    --
144    --  Initialize API return status to success
145    --
146    x_return_status := FND_API.G_RET_STS_SUCCESS;
147 
148    --
149    -- API body
150    --
151 
152    --
153    -- Perform the database operation Here Update Trigger is called as Trigger is already
154    -- created in Overview Screen
155    --
156 
157    IF (AMS_DEBUG_HIGH_ON) THEN
158 
159 
160 
161    AMS_Utility_PVT.debug_message(l_full_name ||': Update Trigger');
162 
163    END IF;
164 
165 
166    AMS_TRIG_PVT.Create_Trigger
167         ( p_api_version         => l_api_version,
168           p_init_msg_list       => p_init_msg_list,
169           p_commit             => FND_API.G_FALSE,
170           p_validation_level    => p_validation_level,
171 
172           x_return_status       => l_return_status,
173           x_msg_count           => x_msg_count,
174           x_msg_data            => x_msg_data,
175 
176           p_trig_rec            => p_trig_rec,
177           x_trigger_id          => x_trigger_id
178             ) ;
179 
180    --
181    -- If any errors happen abort API.
182    --
183    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
184       RAISE FND_API.G_EXC_ERROR;
185    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
186       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
187    END IF;
188 
189 
190    --IF (p_create_type = 'CREATE')  THEN
191    --
192    -- Create Check
193    --
194 
195 
196    l_thldchk_rec.trigger_id := x_trigger_id;
197    IF (AMS_DEBUG_HIGH_ON) THEN
198       AMS_Utility_PVT.debug_message(l_full_name ||'CG : Create Trigger Check' || 'Trigger type = ' || p_trig_rec.triggering_type);
199    END IF;
200 
201    IF ( p_trig_rec.triggering_type <> 'DATE' ) THEN
202    AMS_THLDCHK_PVT.Create_thldchk
203           ( p_api_version          => l_api_version,
204             p_init_msg_list        => p_init_msg_list,
205             p_commit              => FND_API.G_FALSE,
206             p_validation_level     => p_validation_level,
207             x_return_status        => l_return_status,
208             x_msg_count            => x_msg_count,
209             x_msg_data             => x_msg_data,
210             p_thldchk_Rec          => l_thldchk_rec,
211             x_trigger_check_id    => x_trigger_check_id
212               )   ;
213    --
214    -- If any errors happen abort API.
215    --
216    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
217       RAISE FND_API.G_EXC_ERROR;
218    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
219       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
220    END IF;
221    END IF;
222 
223    --
224    -- Perform the database operation
225    --
226 
227    --=================================================================================
228    -- 22/apr/03 cgoyal uncommented the Create Trigger Actions code for 11.5.8 backport
229    --=================================================================================
230 
231    IF (AMS_DEBUG_HIGH_ON) THEN
232    AMS_Utility_PVT.debug_message(l_full_name ||': Create Trigger Actions');
233    END IF;
234 
235    IF (p_trig_Rec.notify_flag = 'Y')
236    THEN
237       l_thldact_rec.trigger_id := x_trigger_id;
238       l_thldact_rec.trigger_action_id := null;
239       -- soagrawa 30-apr-2003
240       l_thldact_rec.execute_action_type := 'NOTIFY';
241       AMS_THLDACT_PVT.Create_thldact
242              ( p_api_version          => l_api_version,
243                p_init_msg_list        => p_init_msg_list,
244                p_commit               => FND_API.G_FALSE,
245                p_validation_level     => p_validation_level,
246                x_return_status        => l_return_status,
247                x_msg_count            => x_msg_count,
248                x_msg_data             => x_msg_data,
249                p_thldact_Rec          => l_thldact_rec,
250                x_trigger_action_id    => x_trigger_action_id
251               );
252       --
253       -- If any errors happen abort API.
254       --
255       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
256          RAISE FND_API.G_EXC_ERROR;
257       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
258          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
259       END IF;
260    END IF;
261 
262    -- soagrawa 30-apr-2003 added for action for execute associated schedules
263    IF (p_trig_Rec.EXECUTE_SCHEDULE_FLAG = 'Y')
264    THEN
265       l_thldact_exec_rec.trigger_id := x_trigger_id;
266       l_thldact_exec_rec.execute_action_type := 'EXECUTE';
267       AMS_THLDACT_PVT.Create_thldact
268              ( p_api_version          => l_api_version,
269                p_init_msg_list        => p_init_msg_list,
270                p_commit               => FND_API.G_FALSE,
271                p_validation_level     => p_validation_level,
272                x_return_status        => l_return_status,
273                x_msg_count            => x_msg_count,
274                x_msg_data             => x_msg_data,
275                p_thldact_Rec          => l_thldact_exec_rec,
276                x_trigger_action_id    => x_trigger_action_id
277               );
278    --
279    -- If any errors happen abort API.
280    --
281       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
282          RAISE FND_API.G_EXC_ERROR;
283       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
284          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
285       END IF;
286    END IF;
287 
288    --
289    -- Give Call to Trigger Engine here
290    --
291    --=====================================================================
292    -- Following code is modified by ptendulk on 28-Oct-2000
293    -- User id is added in the procedure
294    --=====================================================================
295    --ams_wfcamp_pvt.StartProcess( p_trigger_id => p_trig_rec.trigger_id,
296    --                              p_user_id    => FND_GLOBAL.user_id );
297 
298    -- soagrawa 05-may-2003
299    -- raise an event with send date as the trigger start date
300 
301    l_parameter_list := WF_PARAMETER_LIST_T();
302 
303    AMS_Utility_PVT.debug_message(l_full_name ||': before calling initialize var');
304 
305 --   AMS_WFTrig_PVT.Initialize_Var( p_trigger_id => x_trigger_id
306 --                             , x_param_list => l_parameter_list);
307 
308 /* srivikri - start commenting workflow
309    wf_event.AddParameterToList(p_name => 'AMS_TRIGGER_ID',
310                                    p_value => x_trigger_id,
311                                    p_parameterlist => l_parameter_list);
312 
313    AMS_Utility_PVT.debug_message(l_full_name ||': after calling initialize var');
314 
315   l_new_item_key := x_trigger_id || TO_CHAR(SYSDATE,'DDMMRRRRHH24MISS');
316 
317    -- soagrawa added on 09-jul-2003 for bug 3043277
318    OPEN  c_st_dt(x_trigger_id);
319    FETCH c_st_dt INTO l_st_dt;
320    CLOSE c_st_dt;
321 
322     AMS_Utility_PVT.Create_Log (
323             x_return_status   => x_msg_data,
324             p_arc_log_used_by => 'TRIG',
325             p_log_used_by_id  => x_trigger_id,
326             -- soagrawa modified on 09-jul-2003 for bug 3043277
327             -- p_msg_data        => 'Create_Trigger :  1. For Trigger ID = ' || x_trigger_id || ' l_new_item_key = ' || l_new_item_key || 'event send date ' || p_trig_rec.start_date_time,
328             p_msg_data        => 'Create_Trigger :  1. For Trigger ID = ' || x_trigger_id || ' l_new_item_key = ' || l_new_item_key || 'event send date ' || l_st_dt,
329             p_msg_type        => 'DEBUG'
330             );
331 
332    Wf_Event.Raise
333    ( p_event_name   =>  'oracle.apps.ams.trigger.TriggerEvent',
334      p_event_key    =>  l_new_item_key,
335      p_parameters   =>  l_parameter_list,
336      -- soagrawa modified on 09-jul-2003 for bug 3043277
337      -- p_send_date    =>  p_trig_rec.start_date_time);
338      p_send_date    =>  l_st_dt);
339 
340    AMS_Utility_PVT.debug_message(l_full_name ||': raised WF event');
341 
342     AMS_Utility_PVT.Create_Log (
343             x_return_status   => x_msg_data,
344             p_arc_log_used_by => 'TRIG',
345             p_log_used_by_id  => x_trigger_id,
346             -- soagrawa modified on 09-jul-2003 for bug 3043277
347             -- p_msg_data        => 'Create_Trigger :  raised with send date '||to_char(p_trig_rec.start_date_time,'DD-MM-YYYY HH:MI:SS AM'),
348             p_msg_data        => 'Create_Trigger :  raised with send date '||to_char(l_st_dt,'DD-MM-YYYY HH:MI:SS AM'),
349             p_msg_type        => 'DEBUG'
350             );
351 
352    UPDATE ams_triggers
353       SET process_id = to_number(l_new_item_key)
354     WHERE trigger_id = x_trigger_id;
355 
356 srivikri - end comment*/
357 
358    --
359    -- END of API body.
360    --
361 
362    -- Standard check of p_commit.
363    IF FND_API.To_Boolean ( p_commit )
364    THEN
365       COMMIT WORK;
366    END IF;
367 
368    --
369    -- Standard call to get message count AND IF count is 1, get message info.
370    --
371    FND_MSG_PUB.Count_AND_Get
372         ( p_count           =>      x_msg_count,
373           p_data            =>      x_msg_data,
374           p_encoded          =>      FND_API.G_FALSE
375         );
376 
377    IF (AMS_DEBUG_HIGH_ON) THEN
378 
379 
380 
381    AMS_Utility_PVT.debug_message(l_full_name ||': end');
382 
383    END IF;
384 
385 EXCEPTION
386    WHEN FND_API.G_EXC_ERROR THEN
387       ROLLBACK TO Create_Trig_PVT;
388       x_return_status := FND_API.G_RET_STS_ERROR ;
389       FND_MSG_PUB.Count_AND_Get
390          ( p_count           =>      x_msg_count,
391            p_data            =>      x_msg_data,
392            p_encoded         =>      FND_API.G_FALSE
393            );
394 
395    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
396       ROLLBACK TO Create_Trig_PVT;
397       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
398       FND_MSG_PUB.Count_AND_Get
399          ( p_count           =>      x_msg_count,
400            p_data            =>      x_msg_data,
401            p_encoded         =>      FND_API.G_FALSE
402            );
403 
404    WHEN OTHERS THEN
405       ROLLBACK TO Create_Trig_PVT;
406       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
407       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
408       THEN
409          FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
410       END IF;
411 
412       FND_MSG_PUB.Count_AND_Get
413          ( p_count           =>      x_msg_count,
414            p_data            =>      x_msg_data,
415            p_encoded         =>      FND_API.G_FALSE
416            );
417 END Create_Trigger;
418 
419 
420 -- Start of Comments
421 --
422 -- NAME
423 --   Update_Trigger
424 --
425 -- PURPOSE
426 --   This procedure is to update a ams_triggers,ams_trigger_checks,ams_trigger_actions table
427 --   that satisfy caller needs . It will also Call the Cancel Workflow Process
428 --
429 -- NOTES
430 --   As soon as the Trigger is modied Abort the Workflow Process and Submit the new one
431 --
432 -- HISTORY
433 --   12/27/1999        ptendulk    created
434 --   02/25/2000        ptendulk    Modified - Added the Workflow Process Calls
435 --   10/28/2000        ptendulk    Added user id in the start process call
436 --  15-Feb-2001        ptendulk    Modified 1. trigger action table won't be used since Hornet
437 --                                 2. Check will be mandatory so removed p_create_type para.
438 --                                 3. Commented workflow call to abort and start.
439 --   22/apr/03         cgoyal      modified update trigger method to update the table
440 --                                 ams_trigger_actions for 11.5.8 backport
441 -- End of Comments
442 
443 PROCEDURE Update_Trigger
444 ( p_api_version         IN     NUMBER,
445   p_init_msg_list       IN     VARCHAR2    := FND_API.G_FALSE,
446   p_commit              IN     VARCHAR2    := FND_API.G_FALSE,
447   p_validation_level    IN     NUMBER      := FND_API.G_VALID_LEVEL_FULL,
448 
449   x_return_status       OUT NOCOPY    VARCHAR2,
450   x_msg_count           OUT NOCOPY    NUMBER,
451   x_msg_data            OUT NOCOPY    VARCHAR2,
452 
453   p_trig_rec            IN     Ams_Trig_pvt.trig_rec_type,
454   p_thldchk_rec         IN     Ams_Thldchk_pvt.thldchk_rec_type DEFAULT NULL,
455   p_thldact_rec         IN     Ams_Thldact_pvt.thldact_rec_type
456 --  p_updt_type           IN     VARCHAR2
457 
458 ) IS
459 
460    l_api_name           CONSTANT VARCHAR2(30)  := 'Update_Trigger';
461    l_api_version        CONSTANT NUMBER        := 1.0;
462    l_full_name         CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
463 
464    l_trigger_check_id  NUMBER ;
465    -- Status Local Variables
466    l_return_status      VARCHAR2(1);  -- Return value from procedures
467    l_trigger_process_id  NUMBER ;
468 
469    CURSOR c_trig_process_id (l_my_trig_id IN number) IS
470    SELECT process_id
471    FROM ams_triggers
472    WHERE trigger_id = l_my_trig_id;
473 
474    CURSOR c_trig_actions_det (l_my_trig_id IN number) IS
475    SELECT notify_flag, EXECUTE_SCHEDULE_FLAG
476    FROM ams_triggers
477    WHERE trigger_id = l_my_trig_id;
478 
479    CURSOR c_actions_det (p_my_trig_id IN number, p_action_type IN VARCHAR2) IS
480    SELECT trigger_action_id, object_version_number
481    FROM ams_trigger_Actions
482    WHERE trigger_id = p_my_trig_id
483    AND   execute_Action_type = p_action_type;
484 
485    l_notify_flag            VARCHAR2(1);
486    l_execute_schedule_flag  VARCHAR2(1);
487    l_thldact_rec            Ams_Thldact_pvt.thldact_rec_type := p_thldact_rec;
488    l_thldact_exec_rec       Ams_Thldact_pvt.thldact_rec_type ;
489    l_trig_action_id         NUMBER;
490    l_object_version_number  NUMBER;
491    l_trigger_action_id      NUMBER;
492    l_thldchk_rec            Ams_Thldchk_pvt.thldchk_rec_type:= p_thldchk_rec;
493 
494 BEGIN
495    --
496    -- Standard Start of API savepoint
497    --
498    SAVEPOINT Update_Trig_PVT;
499 
500    --
501    -- Debug Message
502    --
503    IF (AMS_DEBUG_HIGH_ON) THEN
504 
505    AMS_Utility_PVT.debug_message(l_full_name||': start');
506    END IF;
507 
508    --
509    -- Initialize message list IF p_init_msg_list is set to TRUE.
510    --
511    IF FND_API.to_Boolean( p_init_msg_list ) THEN
512           FND_MSG_PUB.initialize;
513    END IF;
514 
515    --
516    -- Standard call to check for call compatibility.
517    --
518    IF NOT FND_API.Compatible_API_Call ( l_api_version,
519                                         p_api_version,
520                                         l_api_name,
521                                         G_PKG_NAME)
522    THEN
523       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
524    END IF;
525 
526    --
527    --  Initialize API return status to success
528    --
529    x_return_status := FND_API.G_RET_STS_SUCCESS;
530 
531    --
532    -- API body
533    --
534 /*
535 IF (AMS_DEBUG_HIGH_ON) THEN
536    AMS_Utility_PVT.debug_message(l_full_name||': Update Trigger');
537    END IF;
538    -- following code added by soagrawa for update modification on 04/18/2001
539    OPEN c_trig_process_id(p_trig_rec.trigger_id);
540    FETCH c_trig_process_id INTO l_trigger_process_id;
541    CLOSE c_trig_process_id;
542    AMS_TRIG_PVT.Update_Trigger
543       ( p_api_version         => l_api_version,
544         p_init_msg_list       => p_init_msg_list,
545         p_commit              => FND_API.G_FALSE,
546         p_validation_level    => p_validation_level,
547         x_return_status       => l_return_status,
548         x_msg_count           => x_msg_count,
549         x_msg_data            => x_msg_data,
550         p_trig_rec            => p_trig_rec
551           ) ;
552     --
553    -- If any errors happen abort API.
554    --
555    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
556       RAISE FND_API.G_EXC_ERROR;
557    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
558       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
559    END IF;
560    --IF (p_updt_type = 'UPDATE' ) THEN
561    --
562    -- Perform the database operation
563    --
564 */
565 
566    IF (AMS_DEBUG_HIGH_ON) THEN
567    AMS_Utility_PVT.debug_message(l_full_name ||': Create Trigger Check');
568    END IF;
569 
570    IF ( p_trig_rec.triggering_type <> 'DATE' )
571    THEN
572       l_thldchk_rec.trigger_id := p_trig_rec.trigger_id;
573       AMS_THLDCHK_PVT.Update_Thldchk
574          ( p_api_version         => l_api_version,
575          p_init_msg_list       => FND_API.G_FALSE,
576            p_commit              => FND_API.G_FALSE,
577            p_validation_level    => p_validation_level,
578            x_return_status       => l_return_status,
579            x_msg_count           => x_msg_count,
580            x_msg_data            => x_msg_data,
581          p_thldchk_rec         => l_thldchk_rec
582                ) ;
583    END IF;
584 
585       --
586       -- If any errors happen abort API.
587       --
588       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
589          RAISE FND_API.G_EXC_ERROR;
590       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
591          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
592       END IF;
593 
594    --ELSIF (p_updt_type = 'CREATE' ) THEN
595    --   AMS_THLDCHK_PVT.Create_thldchk
596    --       ( p_api_version          => l_api_version,
597    --         p_init_msg_list        => p_init_msg_list,
598    --         p_commit              => FND_API.G_FALSE,
599    --         p_validation_level     => p_validation_level,
600    --         x_return_status        => l_return_status,
601    --         x_msg_count            => x_msg_count,
602    --         x_msg_data             => x_msg_data,
603 
604    --         p_thldchk_Rec          => p_thldchk_rec,
605    --         x_trigger_check_id    => l_trigger_check_id
606    --           )   ;
607    --    --
608    --   -- If any errors happen abort API.
609    --   --
610    --   IF l_return_status = FND_API.G_RET_STS_ERROR THEN
611    --      RAISE FND_API.G_EXC_ERROR;
612    --   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
613    --      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
614    --   END IF;
615 
616    --ELSIF (p_updt_type = 'DELETE' ) THEN
617    --   AMS_THLDCHK_PVT.Delete_thldchk
618    --       ( p_api_version          => l_api_version,
619    --         p_init_msg_list        => p_init_msg_list,
620    --         p_commit              => FND_API.G_FALSE,
621 
622    --         x_return_status        => l_return_status,
623    --         x_msg_count            => x_msg_count,
624    --         x_msg_data             => x_msg_data,
625 
626    --         p_trigger_check_id          => p_thldchk_rec.trigger_check_id,
627    --         p_object_version_number    => p_thldchk_rec.object_version_number
628    --           )   ;
629 
630    --
631    -- If any errors happen abort API.
632    --
633    --  IF l_return_status = FND_API.G_RET_STS_ERROR THEN
634    --     RAISE FND_API.G_EXC_ERROR;
635    --   ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
636    --   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
637    --  END IF;
638    -- END IF ;
639 
640    --
641    -- Perform the database operation
642    --
643 --=================================================================================
644 -- 22/apr/03 cgoyal uncommented the Update Trigger Actions code for 11.5.8 backport
645 --=================================================================================
646 
647    IF (AMS_DEBUG_HIGH_ON) THEN
648      AMS_Utility_PVT.debug_message(l_full_name ||': Create Trigger Actions');
649    END IF;
650 
651    OPEN  c_trig_actions_det(p_trig_rec.trigger_id);
652    FETCH c_trig_actions_det INTO l_notify_flag, l_execute_schedule_flag;
653    IF (c_trig_actions_det%NOTFOUND) THEN
654       IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
655       THEN -- MMSG
656          FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
657          FND_MSG_PUB.Add;
658       END IF;
659       RAISE FND_API.G_EXC_ERROR;
660    END IF;
661    CLOSE c_trig_actions_det;
662 
663    IF (AMS_DEBUG_HIGH_ON) THEN
664      AMS_Utility_PVT.debug_message(l_full_name ||'l_notify_flag: '||l_notify_flag);
665      AMS_Utility_PVT.debug_message(l_full_name ||'l_execute_schedule_flag: '||l_execute_schedule_flag);
666      AMS_Utility_PVT.debug_message(l_full_name ||'p_trig_rec.notify_flag: '||p_trig_rec.notify_flag);
667      AMS_Utility_PVT.debug_message(l_full_name ||'p_trig_rec.EXECUTE_SCHEDULE_FLAG : '||p_trig_rec.EXECUTE_SCHEDULE_FLAG );
668    END IF;
669 
670    /* ----------------------- NOTIFICATION ACTION ------------------------------------- */
671 
672    -- notify flag action didnt change => update
673    IF (p_trig_rec.notify_flag = 'Y' AND l_notify_flag = 'Y')
674    THEN
675 
676       AMS_Utility_PVT.debug_message(l_full_name ||': Case 1');
677 
678       OPEN  c_actions_det(p_trig_rec.trigger_id, 'NOTIFY');
679       FETCH c_actions_det INTO l_trig_action_id, l_object_version_number;
680       IF (c_actions_det%NOTFOUND) THEN
681          IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
682          THEN -- MMSG
683             FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
684             FND_MSG_PUB.Add;
685          END IF;
686          RAISE FND_API.G_EXC_ERROR;
687       END IF;
688       CLOSE c_actions_det;
689 
690       l_thldact_rec.trigger_id := p_trig_rec.trigger_id;
691       l_thldact_rec.trigger_action_id := l_trig_action_id;
692       l_thldact_rec.object_version_number := l_object_version_number;
693       l_thldact_rec.execute_action_type := 'NOTIFY';
694 
695       AMS_THLDACT_PVT.Update_ThldAct
696                  ( p_api_version         => l_api_version,
697                    p_init_msg_list       => FND_API.G_FALSE,
698                    p_commit              => FND_API.G_FALSE,
699                    p_validation_level    => p_validation_level,
700                    x_return_status       => l_return_status,
701                    x_msg_count           => x_msg_count,
702                    x_msg_data            => x_msg_data,
703                    p_thldact_rec         => l_thldact_rec
704                 ) ;
705       --     --
706       --     -- If any errors happen abort API.
707       --     --
708       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
709          RAISE FND_API.G_EXC_ERROR;
710       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
711          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
712       END IF;
713    END IF;
714 
715    -- notify flag action was added => create
716    IF (p_trig_rec.notify_flag = 'Y' AND l_notify_flag = 'N')
717    THEN
718       AMS_Utility_PVT.debug_message(l_full_name ||': Case 2');
719       l_thldact_rec.trigger_id := p_trig_rec.trigger_id;
720       l_thldact_rec.trigger_action_id := null;
721       l_thldact_rec.execute_action_type := 'NOTIFY';
722 
723       AMS_THLDACT_PVT.Create_ThldAct
724                  ( p_api_version         => l_api_version,
725                    p_init_msg_list       => FND_API.G_FALSE,
726                    p_commit              => FND_API.G_FALSE,
727                    p_validation_level    => p_validation_level,
728                    x_return_status       => l_return_status,
729                    x_msg_count           => x_msg_count,
730                    x_msg_data            => x_msg_data,
731                    p_thldact_rec         => l_thldact_rec,
732                    x_trigger_action_id   => l_trigger_action_id
733                 ) ;
734       --     --
735       --     -- If any errors happen abort API.
736       --     --
737       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
738          RAISE FND_API.G_EXC_ERROR;
739       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
740          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
741       END IF;
742    END IF;
743 
744    -- notify flag action was removed => delete
745    IF (p_trig_rec.notify_flag = 'N' AND l_notify_flag = 'Y')
746    THEN
747       AMS_Utility_PVT.debug_message(l_full_name ||': Case 3');
748       OPEN  c_actions_det(p_trig_rec.trigger_id, 'NOTIFY');
749       FETCH c_actions_det INTO l_trig_action_id, l_object_version_number;
750       IF (c_actions_det%NOTFOUND) THEN
751          IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
752          THEN -- MMSG
753             FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
754             FND_MSG_PUB.Add;
755          END IF;
756          RAISE FND_API.G_EXC_ERROR;
757       END IF;
758       CLOSE c_actions_det;
759 
760 
761       AMS_THLDACT_PVT.Delete_ThldAct
762                  ( p_api_version         => l_api_version,
763                    p_init_msg_list       => FND_API.G_FALSE,
764                    p_commit              => FND_API.G_FALSE,
765                    x_return_status       => l_return_status,
766                    x_msg_count           => x_msg_count,
767                    x_msg_data            => x_msg_data,
768                    p_trigger_action_id   => l_trig_action_id,
769                    p_object_version_number => l_object_version_number
770                 ) ;
771       --     --
772       --     -- If any errors happen abort API.
773       --     --
774       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
775          RAISE FND_API.G_EXC_ERROR;
776       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
777          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
778       END IF;
779    END IF;
780 
781    /* ----------------------- EXECUTE SCHEDULE ACTION ------------------------------------- */
782 
783    -- EXECUTE_SCHEDULE_FLAG action didnt change => update
784    IF (p_trig_rec.EXECUTE_SCHEDULE_FLAG = 'Y' AND l_execute_schedule_flag = 'Y')
785    THEN
786       AMS_Utility_PVT.debug_message(l_full_name ||': Case 4');
787       NULL;
788       -- nothing to update
789       /*
790       OPEN  c_actions_det(p_trig_rec.trigger_id, 'EXECUTE');
791       FETCH c_actions_det INTO l_trig_action_id, l_object_version_number;
792       IF (c_actions_det%NOTFOUND) THEN
793          IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
794          THEN -- MMSG
795             FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
796             FND_MSG_PUB.Add;
797          END IF;
798          RAISE FND_API.G_EXC_ERROR;
799       END IF;
800       CLOSE c_actions_det;
801 
802       l_thldact_rec.trigger_id := p_trig_rec.trigger_id;
803       l_thldact_rec.trigger_action_id := l_trig_action_id;
804       l_thldact_rec.execute_action_type := 'EXECUTE';
805 
806       AMS_THLDACT_PVT.Update_ThldAct
807                  ( p_api_version         => l_api_version,
808                    p_init_msg_list       => FND_API.G_FALSE,
809                    p_commit              => FND_API.G_FALSE,
810                    p_validation_level    => p_validation_level,
811                    x_return_status       => l_return_status,
812                    x_msg_count           => x_msg_count,
813                    x_msg_data            => x_msg_data,
814                    p_thldact_rec         => l_thldact_rec
815                 ) ;
816       --     --
817       --     -- If any errors happen abort API.
818       --     --
819       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
820       RAISE FND_API.G_EXC_ERROR;
821       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
822       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
823       END IF;
824       */
825    END IF;
826 
827    -- EXECUTE_SCHEDULE_FLAG action was added => create
828    IF (p_trig_rec.EXECUTE_SCHEDULE_FLAG = 'Y' AND l_execute_schedule_flag = 'N')
829    THEN
830       AMS_Utility_PVT.debug_message(l_full_name ||': Case 5');
831       l_thldact_rec.trigger_id := p_trig_rec.trigger_id;
832       l_thldact_rec.trigger_action_id := null;
833       l_thldact_rec.execute_action_type := 'EXECUTE';
834       l_thldact_rec.action_for_id := null;
835 
836       AMS_THLDACT_PVT.Create_ThldAct
837                  ( p_api_version         => l_api_version,
838                    p_init_msg_list       => FND_API.G_FALSE,
839                    p_commit              => FND_API.G_FALSE,
840                    p_validation_level    => p_validation_level,
841                    x_return_status       => l_return_status,
842                    x_msg_count           => x_msg_count,
843                    x_msg_data            => x_msg_data,
844                    p_thldact_rec         => l_thldact_rec,
845                    x_trigger_action_id   => l_trigger_action_id
846                 ) ;
847       --     --
848       --     -- If any errors happen abort API.
849       --     --
850       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
851          RAISE FND_API.G_EXC_ERROR;
852       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
853          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
854       END IF;
855    END IF;
856 
857    -- EXECUTE_SCHEDULE_FLAG action was removed => delete
858    IF (p_trig_rec.EXECUTE_SCHEDULE_FLAG = 'N' AND l_execute_schedule_flag = 'Y')
859    THEN
860       AMS_Utility_PVT.debug_message(l_full_name ||': Case 6');
861       OPEN  c_actions_det(p_trig_rec.trigger_id, 'EXECUTE');
862       FETCH c_actions_det INTO l_trig_action_id, l_object_version_number;
863       IF (c_actions_det%NOTFOUND) THEN
864          IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
865          THEN -- MMSG
866             FND_MESSAGE.set_name('AMS', 'AMS_API_RECORD_NOT_FOUND');
867             FND_MSG_PUB.Add;
868          END IF;
869          RAISE FND_API.G_EXC_ERROR;
870       END IF;
871       CLOSE c_actions_det;
872 
873       AMS_THLDACT_PVT.Delete_ThldAct
874                  ( p_api_version         => l_api_version,
875                    p_init_msg_list       => FND_API.G_FALSE,
876                    p_commit              => FND_API.G_FALSE,
877                    x_return_status       => l_return_status,
878                    x_msg_count           => x_msg_count,
879                    x_msg_data            => x_msg_data,
880                    p_trigger_action_id   => l_trig_action_id,
881                    p_object_version_number => l_object_version_number
882                 ) ;
883 
884    --     --
885    --     -- If any errors happen abort API.
886    --     --
887       IF l_return_status = FND_API.G_RET_STS_ERROR THEN
888          RAISE FND_API.G_EXC_ERROR;
889       ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
890          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
891       END IF;
892    END IF;
893 
894    /* ------------------- update trigger now ---------------------- */
895    -- moved to later by soagrawa 30-apr-2003
896 
897    IF (AMS_DEBUG_HIGH_ON) THEN
898    AMS_Utility_PVT.debug_message(l_full_name||': Update Trigger');
899    END IF;
900 
901 
902    -- following code added by soagrawa for update modification on 04/18/2001
903 
904    AMS_TRIG_PVT.Update_Trigger
905       ( p_api_version         => l_api_version,
906         p_init_msg_list       => FND_API.G_FALSE,
907         p_commit              => FND_API.G_FALSE,
908         p_validation_level    => p_validation_level,
909 
910         x_return_status       => l_return_status,
911         x_msg_count           => x_msg_count,
912         x_msg_data            => x_msg_data,
913         p_trig_rec            => p_trig_rec
914           ) ;
915     --
916    -- If any errors happen abort API.
917    --
918    IF l_return_status = FND_API.G_RET_STS_ERROR THEN
919       RAISE FND_API.G_EXC_ERROR;
920    ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
921       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
922    END IF;
923 
924    --
925    -- Give Call to Trigger Engine here to Cancel and Resubmit the Process
926    --
927    -- ams_wfcamp_pvt.AbortProcess( p_trigger_id => p_trig_rec.trigger_id );
928 
929    --=====================================================================
930    -- Following code is modified by ptendulk on 28-Oct-2000
931    -- User id is added in the procedure
932    --=====================================================================
933    --ams_wfcamp_pvt.StartProcess( p_trigger_id => p_trig_rec.trigger_id ,
934    --                              p_user_id    => FND_GLOBAL.user_id );
935 
936 
937    --
938    -- END of API body.
939    --
940 
941    --
942    -- Standard check of p_commit.
943    --
944    IF FND_API.to_boolean(p_commit) THEN
945       COMMIT;
946    END IF;
947 
948    --
949    -- Get message count AND IF count is 1, get message info.
950    --
951    FND_MSG_PUB.count_and_get(
952       p_encoded => FND_API.g_false,
953       p_count   => x_msg_count,
954       p_data    => x_msg_data
955       );
956 
957 
958    IF (AMS_DEBUG_HIGH_ON) THEN
959    AMS_Utility_PVT.debug_message(l_full_name ||': end');
960    END IF;
961 
962 EXCEPTION
963    WHEN FND_API.G_EXC_ERROR THEN
964       ROLLBACK TO Update_Trig_PVT;
965       x_return_status := FND_API.G_RET_STS_ERROR ;
966       FND_MSG_PUB.Count_AND_Get
967         (p_count           =>      x_msg_count,
968          p_data            =>      x_msg_data,
969          p_encoded          =>      FND_API.G_FALSE
970          );
971 
972    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
973       ROLLBACK TO Update_Trig_PVT;
974       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
975       FND_MSG_PUB.Count_AND_Get
976         (p_count           =>      x_msg_count,
977          p_data            =>      x_msg_data,
978          p_encoded          =>      FND_API.G_FALSE
979          );
980 
981    WHEN OTHERS THEN
982       ROLLBACK TO Update_Trig_PVT;
983       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
984       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
985       THEN
986          FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
987       END IF;
988       FND_MSG_PUB.Count_AND_Get
989         (p_count           =>      x_msg_count,
990          p_data            =>      x_msg_data,
991          p_encoded          =>      FND_API.G_FALSE
992          );
993 END Update_Trigger;
994 
995 
996 /* srivikri 17-Feb-2006 */
997 -- Start of Comments
998 --
999 -- NAME
1000 --   Activate_Trigger
1001 --
1002 -- PURPOSE
1003 --   This procedure is to activate the monitor and kick off the workflow process for monitoring the
1004 --   performance of initiative
1005 --
1006 -- HISTORY
1007 --   srivikri   17-Feb-2006    Created
1008 --
1009 -- End of Comments
1010 
1011 PROCEDURE Activate_Trigger
1012 ( p_api_version              IN     NUMBER,
1013   p_init_msg_list            IN     VARCHAR2    := FND_API.G_FALSE,
1014   p_commit                   IN     VARCHAR2    := FND_API.G_FALSE,
1015 
1016   x_return_status            OUT NOCOPY    VARCHAR2,
1017   x_msg_count                OUT NOCOPY    NUMBER,
1018   x_msg_data                 OUT NOCOPY    VARCHAR2,
1019 
1020   p_trigger_id               IN     NUMBER
1021 ) IS
1022 
1023    l_api_name      CONSTANT VARCHAR2(30)  := 'Activate_Trigger';
1024    l_api_version   CONSTANT NUMBER        := 1.0;
1025    l_full_name     CONSTANT VARCHAR2(60) := g_pkg_name ||'.'|| l_api_name;
1026 
1027 
1028    -- Status Local Variables
1029    l_return_status          VARCHAR2(1);
1030 
1031    l_parameter_list  WF_PARAMETER_LIST_T;
1032    l_new_item_key    VARCHAR2(30);
1033 
1034    CURSOR c_st_dt (p_trig_id NUMBER) IS
1035    SELECT start_date_time,
1036           timezone_id,
1037           user_start_date_time
1038      FROM ams_triggers
1039     WHERE trigger_id = p_trig_id;
1040 
1041    l_st_dt DATE;
1042    l_timezone_id NUMBER;
1043    l_user_st_dt DATE;
1044 
1045   BEGIN
1046    -- Standard Start of API savepoint
1047    SAVEPOINT Activate_Trig_PVT;
1048 
1049    IF (AMS_DEBUG_HIGH_ON) THEN
1050         AMS_Utility_PVT.debug_message(l_full_name||': start');
1051    END IF;
1052 
1053    IF FND_API.to_boolean(p_init_msg_list) THEN
1054       FND_MSG_PUB.initialize;
1055    END IF;
1056 
1057    -- Standard call to check for call compatibility.
1058    IF NOT FND_API.Compatible_API_Call ( l_api_version,
1059                                         p_api_version,
1060                                         l_api_name,
1061                                         G_PKG_NAME)
1062    THEN
1063          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1064    END IF;
1065 
1066    --  Initialize API return status to success
1067    x_return_status := FND_API.G_RET_STS_SUCCESS;
1068 
1069    -- API body
1070 
1071    IF (AMS_DEBUG_HIGH_ON) THEN
1072    AMS_Utility_PVT.debug_message(l_full_name ||': Activate Trigger');
1073    END IF;
1074 
1075    -- Give Call to Trigger Engine here
1076    l_parameter_list := WF_PARAMETER_LIST_T();
1077 
1078    AMS_Utility_PVT.debug_message(l_full_name ||': before calling Activate');
1079 
1080    wf_event.AddParameterToList(p_name => 'AMS_TRIGGER_ID',
1081                                    p_value => p_trigger_id,
1082                                    p_parameterlist => l_parameter_list);
1083 
1084    AMS_Utility_PVT.debug_message(l_full_name ||': after AddParameterToList');
1085 
1086   l_new_item_key := p_trigger_id || TO_CHAR(SYSDATE,'DDMMRRRRHH24MISS');
1087 
1088    OPEN  c_st_dt(p_trigger_id);
1089    FETCH c_st_dt INTO l_st_dt, l_timezone_id, l_user_st_dt;
1090    CLOSE c_st_dt;
1091 
1092    -- if start_date_time is in past, reset it to current date time.
1093    IF l_st_dt < SYSDATE THEN
1094         l_st_dt := SYSDATE;
1095         -- get the user date for current time.
1096         AMS_UTILITY_PVT.Convert_Timezone(
1097                       p_init_msg_list   => p_init_msg_list
1098                     , x_return_status   => x_return_status
1099                     , x_msg_count       => x_msg_count
1100                     , x_msg_data        => x_msg_data
1101                     , p_user_tz_id      => l_timezone_id
1102                     , p_in_time         => l_st_dt
1103                     , p_convert_type    => 'USER'
1104                     , x_out_time        => l_user_st_dt
1105       );
1106    END IF;
1107 
1108     AMS_Utility_PVT.Create_Log (
1109             x_return_status   => x_msg_data,
1110             p_arc_log_used_by => 'TRIG',
1111             p_log_used_by_id  => p_trigger_id,
1112             p_msg_data        => 'Activate_Trigger :  1. For Trigger ID = ' || p_trigger_id || ' l_new_item_key = ' || l_new_item_key || 'event send date ' || l_st_dt,
1113             p_msg_type        => 'DEBUG'
1114             );
1115 
1116    Wf_Event.Raise
1117    ( p_event_name   =>  'oracle.apps.ams.trigger.TriggerEvent',
1118      p_event_key    =>  l_new_item_key,
1119      p_parameters   =>  l_parameter_list,
1120      p_send_date    =>  l_st_dt);
1121 
1122    AMS_Utility_PVT.debug_message(l_full_name ||': raised WF event');
1123 
1124     AMS_Utility_PVT.Create_Log (
1125             x_return_status   => x_msg_data,
1126             p_arc_log_used_by => 'TRIG',
1127             p_log_used_by_id  => p_trigger_id,
1128             p_msg_data        => 'Activate_Trigger :  raised with send date '||to_char(l_st_dt,'DD-MM-YYYY HH:MI:SS AM'),
1129             p_msg_type        => 'DEBUG'
1130             );
1131 
1132    UPDATE ams_triggers
1133       SET process_id = to_number(l_new_item_key)
1134           , start_date_time = l_st_dt
1135           , user_start_date_time = l_user_st_dt
1136     WHERE trigger_id = p_trigger_id;
1137 
1138    -- END of API body.
1139 
1140    -- Standard check of p_commit.
1141    IF FND_API.To_Boolean ( p_commit )
1142    THEN
1143       COMMIT WORK;
1144    END IF;
1145 
1146    -- Standard call to get message count AND IF count is 1, get message info.
1147    FND_MSG_PUB.Count_AND_Get
1148         ( p_count           =>      x_msg_count,
1149           p_data            =>      x_msg_data,
1150           p_encoded          =>      FND_API.G_FALSE
1151         );
1152 
1153    IF (AMS_DEBUG_HIGH_ON) THEN
1154         AMS_Utility_PVT.debug_message(l_full_name ||': end');
1155    END IF;
1156 
1157 EXCEPTION
1158    WHEN FND_API.G_EXC_ERROR THEN
1159       ROLLBACK TO Activate_Trig_PVT;
1160       x_return_status := FND_API.G_RET_STS_ERROR ;
1161       FND_MSG_PUB.Count_AND_Get
1162          ( p_count           =>      x_msg_count,
1163            p_data            =>      x_msg_data,
1164            p_encoded         =>      FND_API.G_FALSE
1165            );
1166 
1167    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1168       ROLLBACK TO Activate_Trig_PVT;
1169       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1170       FND_MSG_PUB.Count_AND_Get
1171          ( p_count           =>      x_msg_count,
1172            p_data            =>      x_msg_data,
1173            p_encoded         =>      FND_API.G_FALSE
1174            );
1175 
1176    WHEN OTHERS THEN
1177       ROLLBACK TO Activate_Trig_PVT;
1178       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1179       IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
1180       THEN
1181          FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1182       END IF;
1183 
1184       FND_MSG_PUB.Count_AND_Get
1185          ( p_count           =>      x_msg_count,
1186            p_data            =>      x_msg_data,
1187            p_encoded         =>      FND_API.G_FALSE
1188            );
1189 END Activate_Trigger;
1190 /* end srivikri 17-Feb-2006 */
1191 
1192 
1193 END AMS_Trigger_PVT;