[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