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