DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_LISTACTION_PUB

Source


1 Package Body AMS_LISTACTION_PUB AS
2 /* $Header: amsplsab.pls 120.1 2005/06/16 05:04:57 appldev  $ */
3 
4 
5 g_pkg_name  CONSTANT VARCHAR2(30):='AMS_LISTACTION_PUB';
6 ---------------------------------------------------------------------
7 -- PROCEDURE
8 --    Create_ListAction
9 --
10 -- PURPOSE
11 --    Create a new List Select Action.
12 --
13 -- PARAMETERS
14 --    p_action_rec: the new record to be inserted
15 --    x_action_id: return the campaign_id of the new campaign
16 --
17 -- NOTES
18 --    1. object_version_number will be set to 1.
19 --    2. If action_id is passed in, the uniqueness will be checked.
20 --       Raise exception in case of duplicates.
21 --    3. If action_id is not passed in, generate a unique one from
22 --       the sequence.
23 --    4. If a flag column is passed in, check if it is 'Y' or 'N'.
24 --       Raise exception for invalid flag.
25 --    5. If a flag column is not passed in, default it to 'Y' or 'N'.
26 --    6. Please don't pass in any FND_API.g_mess_char/num/date.
27 ---------------------------------------------------------------------
28 PROCEDURE Create_ListAction
29 ( p_api_version                          IN     NUMBER,
30   p_init_msg_list                        IN     VARCHAR2    := FND_API.G_FALSE,
31   p_commit                               IN     VARCHAR2    := FND_API.G_FALSE,
32   p_validation_level                     IN     NUMBER
33                                                 := FND_API.G_VALID_LEVEL_FULL,
34   x_return_status                        OUT NOCOPY    VARCHAR2,
35   x_msg_count                            OUT NOCOPY    NUMBER,
36   x_msg_data                             OUT NOCOPY    VARCHAR2,
37 
38   p_action_rec                           IN     AMS_LISTACTION_PVT.action_rec_type,
39   x_action_id                            OUT NOCOPY    NUMBER
40 ) IS
41 
42       l_api_name            CONSTANT VARCHAR2(30)  := 'Create_ListAction';
43       l_api_version         CONSTANT NUMBER        := 1.0;
44 
45       l_return_status                VARCHAR2(1);  -- Return value from procedures
46       l_action_rec                   AMS_LISTACTION_PVT.action_rec_type := p_action_rec;
47       l_action_id                    NUMBER;
48 Begin
49 
50 
51    SAVEPOINT create_listaction_pub;
52 
53    -- initialize the message list;
54    -- won't do it again when calling private API
55    IF FND_API.to_boolean(p_init_msg_list) THEN
56       FND_MSG_PUB.initialize;
57    END IF;
58 
59     AMS_LISTACTION_PVT.Create_ListAction
60     ( p_api_version      => p_api_version,
61       p_init_msg_list    => FND_API.G_FALSE,
62       p_commit           => FND_API.G_FALSE,
63       p_validation_level => FND_API.G_VALID_LEVEL_FULL,
64       x_return_status    => l_return_status,
65       x_msg_count        => x_msg_count,
66       x_msg_data         => x_msg_data,
67 
68       p_action_rec       => l_action_rec,
69       x_action_id        => l_action_id);
70 
71 
72    IF l_return_status = FND_API.g_ret_sts_error THEN
73       RAISE FND_API.g_exc_error;
74    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
75       RAISE FND_API.g_exc_unexpected_error;
76    END IF;
77 
78    IF FND_API.to_boolean(p_commit) THEN
79       COMMIT;
80    END IF;
81 
82    x_return_status := FND_API.g_ret_sts_success;
83 
84    FND_MSG_PUB.count_and_get(
85          p_encoded => FND_API.g_false,
86          p_count   => x_msg_count,
87          p_data    => x_msg_data
88    );
89 
90 EXCEPTION
91 
92    WHEN FND_API.g_exc_error THEN
93       ROLLBACK TO create_ListAction_pub;
94       x_return_status := FND_API.g_ret_sts_error;
95       FND_MSG_PUB.count_and_get(
96             p_encoded => FND_API.g_false,
97             p_count   => x_msg_count,
98             p_data    => x_msg_data
99       );
100 
101    WHEN FND_API.g_exc_unexpected_error THEN
102       ROLLBACK TO create_ListAction_pub;
103       x_return_status := FND_API.g_ret_sts_unexp_error ;
104       FND_MSG_PUB.count_and_get(
105             p_encoded => FND_API.g_false,
106             p_count   => x_msg_count,
107             p_data    => x_msg_data
108       );
109 
110 
111    WHEN OTHERS THEN
112       ROLLBACK TO create_ListAction_pub;
113       x_return_status := FND_API.g_ret_sts_unexp_error ;
114 
115       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
116 		THEN
117          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
118       END IF;
119 
120       FND_MSG_PUB.count_and_get(
121             p_encoded => FND_API.g_false,
122             p_count   => x_msg_count,
123             p_data    => x_msg_data
124       );
125 
126 End Create_ListAction;
127 
128 -- Start of Comments
129 ---------------------------------------------------------------------
130 -- PROCEDURE
131 --    Update_ListAction
132 --
133 -- PURPOSE
134 --    Update a List Action.
135 --
136 -- PARAMETERS
137 --    p_action_rec: the record with new items
138 --
139 -- NOTES
140 --    1. Raise exception if the object_version_number doesn't match.
141 --    2. If an attribute is passed in as FND_API.g_miss_char/num/date,
142 --       that column won't be updated.
143 ----------------------------------------------------------------------
144 -- End Of Comments
145 PROCEDURE Update_ListAction
146 ( p_api_version                          IN     NUMBER,
147   p_init_msg_list                        IN     VARCHAR2    := FND_API.G_FALSE,
148   p_commit                               IN     VARCHAR2    := FND_API.G_FALSE,
149   p_validation_level                     IN     NUMBER
150                                                             := FND_API.G_VALID_LEVEL_FULL,
151   x_return_status                        OUT NOCOPY    VARCHAR2,
152   x_msg_count                            OUT NOCOPY    NUMBER,
153   x_msg_data                             OUT NOCOPY    VARCHAR2,
154 
155   p_action_rec                           IN     AMS_LISTACTION_PVT.action_rec_type
156 ) IS
157 
158         l_api_name            CONSTANT VARCHAR2(30)  := 'Update_ListAction';
159         l_api_version         CONSTANT NUMBER        := 1.0;
160 
161         -- Status Local Variables
162         l_return_status                VARCHAR2(1);  -- Return value from procedures
163         l_action_rec                   AMS_LISTACTION_PVT.action_rec_type := p_action_rec;
164 
165 Begin
166 
167    SAVEPOINT update_listaction_pub;
168 
169    -- initialize the message list;
170    -- won't do it again when calling private API
171    IF FND_API.to_boolean(p_init_msg_list) THEN
172       FND_MSG_PUB.initialize;
173    END IF;
174 
175    AMS_LISTACTION_PVT.Update_ListAction
176    ( p_api_version      => p_api_version,
177      p_init_msg_list    => FND_API.G_FALSE,
178      p_commit           => FND_API.G_FALSE,
179      p_validation_level => FND_API.G_VALID_LEVEL_FULL,
180      x_return_status    => l_return_status,
181      x_msg_count        => x_msg_count,
182      x_msg_data         => x_msg_data ,
183 
184      p_action_rec       => l_action_rec);
185 
186    IF l_return_status = FND_API.g_ret_sts_error THEN
187       RAISE FND_API.g_exc_error;
188    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
189       RAISE FND_API.g_exc_unexpected_error;
190    END IF;
191 
192    IF FND_API.to_boolean(p_commit) THEN
193       COMMIT;
194    END IF;
195    x_return_status := FND_API.g_ret_sts_success;
196    FND_MSG_PUB.count_and_get(
197          p_encoded => FND_API.g_false,
198          p_count   => x_msg_count,
199          p_data    => x_msg_data
200    );
201 
202 EXCEPTION
203 
204    WHEN FND_API.g_exc_error THEN
205       ROLLBACK TO update_listaction_pub;
206       x_return_status := FND_API.g_ret_sts_error;
207       FND_MSG_PUB.count_and_get(
208             p_encoded => FND_API.g_false,
209             p_count   => x_msg_count,
210             p_data    => x_msg_data
211       );
212 
213    WHEN FND_API.g_exc_unexpected_error THEN
214       ROLLBACK TO create_campaign_pub;
215       x_return_status := FND_API.g_ret_sts_unexp_error ;
216       FND_MSG_PUB.count_and_get(
217             p_encoded => FND_API.g_false,
218             p_count   => x_msg_count,
219             p_data    => x_msg_data
220       );
221 
222 
223    WHEN OTHERS THEN
224       ROLLBACK TO update_listaction_pub;
225       x_return_status := FND_API.g_ret_sts_unexp_error ;
226 
227       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
228 		THEN
229          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
230       END IF;
231 
232       FND_MSG_PUB.count_and_get(
233             p_encoded => FND_API.g_false,
234             p_count   => x_msg_count,
235             p_data    => x_msg_data
236       );
237 
238 
239 End Update_ListAction;
240 
241 -- Start of Comments
242 --------------------------------------------------------------------
243 -- PROCEDURE
244 --    Delete_ListAction
245 --
246 -- PURPOSE
247 --    Delete a List Action.
248 --
249 -- PARAMETERS
250 --    p_action_id:      the action_id
251 --    p_object_version: the object_version_number
252 --
253 -- NOTES
254 --    1. Raise exception if the object_version_number doesn't match.
255 --------------------------------------------------------------------
256 -- End Of Comments
257 PROCEDURE Delete_ListAction
258 ( p_api_version                          IN     NUMBER,
259   p_init_msg_list                        IN     VARCHAR2    := FND_API.G_FALSE,
260   p_commit                               IN     VARCHAR2    := FND_API.G_FALSE,
261   p_validation_level                     IN     NUMBER      := FND_API.G_VALID_LEVEL_FULL,
262 
263   x_return_status                        OUT NOCOPY    VARCHAR2,
264   x_msg_count                            OUT NOCOPY    NUMBER,
265   x_msg_data                             OUT NOCOPY    VARCHAR2,
266 
267   p_action_id                           IN     NUMBER
268 ) IS
269 
270         l_api_name            CONSTANT VARCHAR2(30)  := 'Delete_ListAction';
271         l_api_version         CONSTANT NUMBER        := 1.0;
272 
273         -- Status Local Variables
274         l_return_status                VARCHAR2(1);  -- Return value from procedures
275         l_action_id                    NUMBER :=p_action_id;
276 
277   BEGIN
278 
279    SAVEPOINT Delete_ListAction_pub;
280 
281    -- initialize the message list;
282    -- won't do it again when calling private API
283    IF FND_API.to_boolean(p_init_msg_list) THEN
284       FND_MSG_PUB.initialize;
285    END IF;
286 
287    Delete_ListAction
288    ( p_api_version      => p_api_version,
289      p_init_msg_list    => FND_API.G_FALSE,
290      p_commit           => FND_API.G_FALSE,
291      p_validation_level => FND_API.G_VALID_LEVEL_FULL,
292 
293      x_return_status    => l_return_status,
294      x_msg_count        => x_msg_count,
295      x_msg_data         => x_msg_data,
296 
297      p_action_id        => l_action_id);
298 
299 
300    IF l_return_status = FND_API.g_ret_sts_error THEN
301       RAISE FND_API.g_exc_error;
302    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
303       RAISE FND_API.g_exc_unexpected_error;
304    END IF;
305 
306    IF FND_API.to_boolean(p_commit) THEN
307       COMMIT;
308    END IF;
309    x_return_status := FND_API.g_ret_sts_success;
310    FND_MSG_PUB.count_and_get(
311          p_encoded => FND_API.g_false,
312          p_count   => x_msg_count,
313          p_data    => x_msg_data
314    );
315 
316 EXCEPTION
317 
318    WHEN FND_API.g_exc_error THEN
319       ROLLBACK TO Delete_ListAction_pub;
320       x_return_status := FND_API.g_ret_sts_error;
321       FND_MSG_PUB.count_and_get(
322             p_encoded => FND_API.g_false,
323             p_count   => x_msg_count,
324             p_data    => x_msg_data
325       );
326 
327    WHEN FND_API.g_exc_unexpected_error THEN
328       ROLLBACK TO create_campaign_pub;
329       x_return_status := FND_API.g_ret_sts_unexp_error ;
330       FND_MSG_PUB.count_and_get(
331             p_encoded => FND_API.g_false,
332             p_count   => x_msg_count,
333             p_data    => x_msg_data
334       );
335 
336 
337    WHEN OTHERS THEN
338       ROLLBACK TO Delete_ListAction_pub;
339       x_return_status := FND_API.g_ret_sts_unexp_error ;
340 
341       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
342 		THEN
343          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
344       END IF;
345 
346       FND_MSG_PUB.count_and_get(
347             p_encoded => FND_API.g_false,
348             p_count   => x_msg_count,
349             p_data    => x_msg_data
350       );
351   END Delete_ListAction;
352 
353 
354 -- Start of Comments
355 -------------------------------------------------------------------
356 -- PROCEDURE
357 --     Lock_ListAction
358 --
359 -- PURPOSE
360 --    Lock a List Action.
361 --
362 -- PARAMETERS
363 --    p_action_id: the action_id
364 --    p_object_version: the object_version_number
365 --
366 -- NOTES
367 --    1. Raise exception if the object_version_number doesn't match.
368 --------------------------------------------------------------------
369 -- End Of Comments
370 PROCEDURE Lock_ListAction
371 ( p_api_version                          IN     NUMBER,
372   p_init_msg_list                        IN     VARCHAR2 := FND_API.G_FALSE,
373   p_validation_level                     IN     NUMBER   := FND_API.G_VALID_LEVEL_FULL,
374 
375   x_return_status                        OUT NOCOPY    VARCHAR2,
376   x_msg_count                            OUT NOCOPY    NUMBER,
377   x_msg_data                             OUT NOCOPY    VARCHAR2,
378 
379   p_action_id                            IN     NUMBER,
380   p_object_version                       IN     NUMBER
381 ) IS
382 
383 
384         l_api_name            CONSTANT VARCHAR2(30)  := 'Lock_ListAction';
385         l_api_version         CONSTANT NUMBER        := 1.0;
386 
387         -- Status Local Variables
388         l_return_status                VARCHAR2(1);  -- Return value from procedures
389         l_action_id                    number := p_action_id;
390         l_object_version_number        number := p_object_version;
391 
392 Begin
393 
394    SAVEPOINT Lock_ListAction_pub;
395 
396    -- initialize the message list;
397    -- won't do it again when calling private API
398    IF FND_API.to_boolean(p_init_msg_list) THEN
399       FND_MSG_PUB.initialize;
400    END IF;
401 
402    AMS_LISTACTION_PVT.Lock_ListAction
403    ( p_api_version       => p_api_version,
404      p_init_msg_list     => FND_API.G_FALSE,
405      p_validation_level  => FND_API.G_VALID_LEVEL_FULL,
406 
407      x_return_status     => l_return_status,
408      x_msg_count         => x_msg_count,
409      x_msg_data          => x_msg_data,
410 
411      p_action_id        => l_action_id,
412      p_object_version    => l_object_version_number  );
413 
414    IF l_return_status = FND_API.g_ret_sts_error THEN
415       RAISE FND_API.g_exc_error;
416    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
417       RAISE FND_API.g_exc_unexpected_error;
418    END IF;
419 
420    x_return_status := FND_API.g_ret_sts_success;
421    FND_MSG_PUB.count_and_get(
422          p_encoded => FND_API.g_false,
423          p_count   => x_msg_count,
424          p_data    => x_msg_data
425    );
426 
427 EXCEPTION
428 
429    WHEN FND_API.g_exc_error THEN
430       ROLLBACK TO Lock_ListAction_pub;
434             p_count   => x_msg_count,
431       x_return_status := FND_API.g_ret_sts_error;
432       FND_MSG_PUB.count_and_get(
433             p_encoded => FND_API.g_false,
435             p_data    => x_msg_data
436       );
437 
438    WHEN FND_API.g_exc_unexpected_error THEN
439       ROLLBACK TO Lock_ListAction_pub;
440       x_return_status := FND_API.g_ret_sts_unexp_error ;
441       FND_MSG_PUB.count_and_get(
442             p_encoded => FND_API.g_false,
443             p_count   => x_msg_count,
444             p_data    => x_msg_data
445       );
446 
447 
448    WHEN OTHERS THEN
449       ROLLBACK TO Lock_ListAction_pub;
450       x_return_status := FND_API.g_ret_sts_unexp_error ;
451 
452       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
453 		THEN
454          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
455       END IF;
456 
457       FND_MSG_PUB.count_and_get(
458             p_encoded => FND_API.g_false,
459             p_count   => x_msg_count,
460             p_data    => x_msg_data
461       );
462 End Lock_ListAction;
463 
464 -- Start of Comments
465 ---------------------------------------------------------------------
466 -- PROCEDURE
467 --    Validate_ListAction
468 --
469 -- PURPOSE
470 --    Validate a List Action.
471 --
472 -- PARAMETERS
473 --    p_action_rec: the list action record to be validated
474 --
475 -- NOTES
476 --    1. p_action_rec should be the complete list action record. There
477 --       should not be any FND_API.g_miss_char/num/date in it.
478 ----------------------------------------------------------------------
479 -- End Of Comments
480 PROCEDURE Validate_ListAction
481 ( p_api_version                          IN     NUMBER,
482   p_init_msg_list                        IN     VARCHAR2    := FND_API.G_FALSE,
483   p_validation_level                     IN     NUMBER
484                                                             := FND_API.G_VALID_LEVEL_FULL,
485   x_return_status                        OUT NOCOPY    VARCHAR2,
486   x_msg_count                            OUT NOCOPY    NUMBER,
487   x_msg_data                             OUT NOCOPY    VARCHAR2,
488 
489   p_action_rec                           IN     AMS_LISTACTION_PVT.action_rec_type
490 ) IS
491 
492 	    l_api_name            CONSTANT VARCHAR2(30)  := 'Validate_ListAction';
493         l_api_version         CONSTANT NUMBER        := 1.0;
494 
495         -- Status Local Variables
496         l_return_status                VARCHAR2(1);  -- Return value from procedures
497         l_action_rec                   AMS_LISTACTION_PVT.action_rec_type :=  p_action_rec;
498 
499 BEGIN
500 
501    SAVEPOINT Validate_ListAction_pub;
502 
503    -- initialize the message list;
504    -- won't do it again when calling private API
505    IF FND_API.to_boolean(p_init_msg_list) THEN
506       FND_MSG_PUB.initialize;
507    END IF;
508 
509    Validate_ListAction
510    ( p_api_version      => p_api_version,
511      p_init_msg_list    => FND_API.G_FALSE,
512      p_validation_level => FND_API.G_VALID_LEVEL_FULL,
513      x_return_status    => l_return_status,
514      x_msg_count        => x_msg_count,
515      x_msg_data         => x_msg_data ,
516 
517      p_action_rec       => l_action_rec);
518 
519    IF l_return_status = FND_API.g_ret_sts_error THEN
520       RAISE FND_API.g_exc_error;
521    ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
522       RAISE FND_API.g_exc_unexpected_error;
523    END IF;
524 
525 
526    x_return_status := FND_API.g_ret_sts_success;
527    FND_MSG_PUB.count_and_get(
528          p_encoded => FND_API.g_false,
529          p_count   => x_msg_count,
530          p_data    => x_msg_data
531    );
532 
533 EXCEPTION
534 
535    WHEN FND_API.g_exc_error THEN
536       ROLLBACK TO Validate_ListAction_pub;
537       x_return_status := FND_API.g_ret_sts_error;
538       FND_MSG_PUB.count_and_get(
539             p_encoded => FND_API.g_false,
540             p_count   => x_msg_count,
541             p_data    => x_msg_data
542       );
543 
544    WHEN FND_API.g_exc_unexpected_error THEN
545       ROLLBACK TO Validate_ListAction_pub;
546       x_return_status := FND_API.g_ret_sts_unexp_error ;
547       FND_MSG_PUB.count_and_get(
548             p_encoded => FND_API.g_false,
549             p_count   => x_msg_count,
550             p_data    => x_msg_data
551       );
552 
553 
554    WHEN OTHERS THEN
555       ROLLBACK TO Validate_ListAction_pub;
556       x_return_status := FND_API.g_ret_sts_unexp_error ;
557 
558       IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
559 		THEN
560          FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
561       END IF;
562 
563       FND_MSG_PUB.count_and_get(
564             p_encoded => FND_API.g_false,
565             p_count   => x_msg_count,
566             p_data    => x_msg_data
567       );
568 End Validate_ListAction;
569 
570 END;--package body