[Home] [Help]
PACKAGE BODY: APPS.AMS_CAMP_SCHEDULE_PUB
Source
1 PACKAGE BODY AMS_Camp_Schedule_PUB as
2 /* $Header: amspschb.pls 120.4 2006/05/31 11:48:22 srivikri ship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- AMS_Camp_Schedule_PUB
7 -- Purpose
8 --
9 -- History
10 -- 18-May-2001 soagrawa Modified schedule_rec_type according to
11 -- the latest amsvschs.pls
12 -- 22-May-2001 soagrawa Added parameter p_validation_level to
13 -- the create, update, delete and validate apis
14 -- 19-jul-2001 ptendulk Added columns for eBlast
15 -- 21-Aug-2001 ptendulk Changed the ok_to_execute call ,
16 -- replaced the PRE with B and POST with A.
17 -- 19-sep-2001 soagrawa added copy api
18 -- 24-sep-2001 soagrawa Removed security group id from everywhere
19 -- 27-jun-2003 anchaudh Added 4 new fields(columns) in the schedule_rec_type
20 -- 25-aug-2003 dbiswas Added 1 new field(sales_methodology_id) in the schedule_rec_type
21 -- 29-May-2006 srivikri added column delivery_mode
22
23 -- NOTE
24 --
25 -- End of Comments
26 -- ===============================================================
27
28
29 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_Camp_Schedule_PUB';
30 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amspschb.pls';
31
32
33 PROCEDURE Convert_PubRec_To_PvtRec(
34 p_schedule_rec_pub IN schedule_rec_type,
35 x_schedule_rec_pvt OUT NOCOPY AMS_Camp_Schedule_PVT.schedule_rec_type
36
37 )
38
39 IS
40 l_schedule_rec_pub schedule_rec_type := p_schedule_rec_pub;
41
42 BEGIN
43
44 x_schedule_rec_pvt.schedule_id := l_schedule_rec_pub.schedule_id ;
45 x_schedule_rec_pvt.last_update_date := l_schedule_rec_pub.last_update_date;
46 x_schedule_rec_pvt.last_updated_by := l_schedule_rec_pub.last_updated_by ;
47 x_schedule_rec_pvt.creation_date := l_schedule_rec_pub.creation_date;
48 x_schedule_rec_pvt.created_by := l_schedule_rec_pub.created_by;
49 x_schedule_rec_pvt.last_update_login := l_schedule_rec_pub.last_update_login;
50 x_schedule_rec_pvt.object_version_number := l_schedule_rec_pub.object_version_number;
51 x_schedule_rec_pvt.campaign_id := l_schedule_rec_pub.campaign_id;
52 x_schedule_rec_pvt.user_status_id := l_schedule_rec_pub.user_status_id;
53 x_schedule_rec_pvt.status_code := l_schedule_rec_pub.status_code;
54 x_schedule_rec_pvt.status_date := l_schedule_rec_pub.status_date;
55 x_schedule_rec_pvt.source_code := l_schedule_rec_pub.source_code;
56 x_schedule_rec_pvt.use_parent_code_flag := l_schedule_rec_pub.use_parent_code_flag;
57 x_schedule_rec_pvt.start_date_time := l_schedule_rec_pub.start_date_time;
58 x_schedule_rec_pvt.end_date_time := l_schedule_rec_pub.end_date_time;
59 x_schedule_rec_pvt.timezone_id := l_schedule_rec_pub.timezone_id;
60 x_schedule_rec_pvt.activity_type_code := l_schedule_rec_pub.activity_type_code;
61 x_schedule_rec_pvt.activity_id := l_schedule_rec_pub.activity_id;
62 x_schedule_rec_pvt.arc_marketing_medium_from := l_schedule_rec_pub.arc_marketing_medium_from;
63 x_schedule_rec_pvt.marketing_medium_id := l_schedule_rec_pub.marketing_medium_id;
64 x_schedule_rec_pvt.custom_setup_id := l_schedule_rec_pub.custom_setup_id;
65 x_schedule_rec_pvt.triggerable_flag := l_schedule_rec_pub.triggerable_flag;
66 x_schedule_rec_pvt.trigger_id := l_schedule_rec_pub.trigger_id;
67 x_schedule_rec_pvt.notify_user_id := l_schedule_rec_pub.notify_user_id;
68 x_schedule_rec_pvt.approver_user_id := l_schedule_rec_pub.approver_user_id;
69 x_schedule_rec_pvt.owner_user_id := l_schedule_rec_pub.owner_user_id;
70 x_schedule_rec_pvt.active_flag := l_schedule_rec_pub.active_flag;
71 x_schedule_rec_pvt.cover_letter_id := l_schedule_rec_pub.cover_letter_id;
72 x_schedule_rec_pvt.reply_to_mail := l_schedule_rec_pub.reply_to_mail;
73 x_schedule_rec_pvt.mail_sender_name := l_schedule_rec_pub.mail_sender_name;
74 x_schedule_rec_pvt.mail_subject := l_schedule_rec_pub.mail_subject;
75 x_schedule_rec_pvt.from_fax_no := l_schedule_rec_pub.from_fax_no;
76 x_schedule_rec_pvt.accounts_closed_flag := l_schedule_rec_pub.accounts_closed_flag;
77 x_schedule_rec_pvt.org_id := l_schedule_rec_pub.org_id;
78 x_schedule_rec_pvt.objective_code := l_schedule_rec_pub.objective_code;
79 x_schedule_rec_pvt.country_id := l_schedule_rec_pub.country_id;
80 x_schedule_rec_pvt.campaign_calendar := l_schedule_rec_pub.campaign_calendar;
81 x_schedule_rec_pvt.start_period_name := l_schedule_rec_pub.start_period_name;
82 x_schedule_rec_pvt.end_period_name := l_schedule_rec_pub.end_period_name;
83 x_schedule_rec_pvt.priority := l_schedule_rec_pub.priority;
84 x_schedule_rec_pvt.workflow_item_key := l_schedule_rec_pub.workflow_item_key;
85 x_schedule_rec_pvt.transaction_currency_code := l_schedule_rec_pub.transaction_currency_code;
86 x_schedule_rec_pvt.functional_currency_code := l_schedule_rec_pub.functional_currency_code;
87 x_schedule_rec_pvt.budget_amount_tc := l_schedule_rec_pub.budget_amount_tc;
88 x_schedule_rec_pvt.budget_amount_fc := l_schedule_rec_pub.budget_amount_fc;
89 x_schedule_rec_pvt.language_code := l_schedule_rec_pub.language_code;
90 x_schedule_rec_pvt.task_id := l_schedule_rec_pub.task_id;
91 x_schedule_rec_pvt.related_event_from := l_schedule_rec_pub.related_event_from;
92 x_schedule_rec_pvt.related_event_id := l_schedule_rec_pub.related_event_id;
93 x_schedule_rec_pvt.attribute_category := l_schedule_rec_pub.attribute_category;
94 x_schedule_rec_pvt.attribute1 := l_schedule_rec_pub.attribute1;
95 x_schedule_rec_pvt.attribute2 := l_schedule_rec_pub.attribute2;
96 x_schedule_rec_pvt.attribute3 := l_schedule_rec_pub.attribute3;
97 x_schedule_rec_pvt.attribute4 := l_schedule_rec_pub.attribute4;
98 x_schedule_rec_pvt.attribute5 := l_schedule_rec_pub.attribute5;
99 x_schedule_rec_pvt.attribute6 := l_schedule_rec_pub.attribute6;
100 x_schedule_rec_pvt.attribute7 := l_schedule_rec_pub.attribute7;
101 x_schedule_rec_pvt.attribute8 := l_schedule_rec_pub.attribute8;
102 x_schedule_rec_pvt.attribute9 := l_schedule_rec_pub.attribute9;
103 x_schedule_rec_pvt.attribute10 := l_schedule_rec_pub.attribute10;
104 x_schedule_rec_pvt.attribute11 := l_schedule_rec_pub.attribute11;
105 x_schedule_rec_pvt.attribute12 := l_schedule_rec_pub.attribute12;
106 x_schedule_rec_pvt.attribute13 := l_schedule_rec_pub.attribute13;
107 x_schedule_rec_pvt.attribute14 := l_schedule_rec_pub.attribute14;
108 x_schedule_rec_pvt.attribute15 := l_schedule_rec_pub.attribute15;
109 x_schedule_rec_pvt.activity_attribute_category := l_schedule_rec_pub.activity_attribute_category;
110 x_schedule_rec_pvt.activity_attribute1 := l_schedule_rec_pub.activity_attribute1;
111 x_schedule_rec_pvt.activity_attribute2 := l_schedule_rec_pub.activity_attribute2;
112 x_schedule_rec_pvt.activity_attribute3 := l_schedule_rec_pub.activity_attribute3;
113 x_schedule_rec_pvt.activity_attribute4 := l_schedule_rec_pub.activity_attribute4;
114 x_schedule_rec_pvt.activity_attribute5 := l_schedule_rec_pub.activity_attribute5;
115 x_schedule_rec_pvt.activity_attribute6 := l_schedule_rec_pub.activity_attribute6;
116 x_schedule_rec_pvt.activity_attribute7 := l_schedule_rec_pub.activity_attribute7;
117 x_schedule_rec_pvt.activity_attribute8 := l_schedule_rec_pub.activity_attribute8;
118 x_schedule_rec_pvt.activity_attribute9 := l_schedule_rec_pub.activity_attribute9;
119 x_schedule_rec_pvt.activity_attribute10 := l_schedule_rec_pub.activity_attribute10;
120 x_schedule_rec_pvt.activity_attribute11 := l_schedule_rec_pub.activity_attribute11;
121 x_schedule_rec_pvt.activity_attribute12 := l_schedule_rec_pub.activity_attribute12;
122 x_schedule_rec_pvt.activity_attribute13 := l_schedule_rec_pub.activity_attribute13;
123 x_schedule_rec_pvt.activity_attribute14 := l_schedule_rec_pub.activity_attribute14;
124 x_schedule_rec_pvt.activity_attribute15 := l_schedule_rec_pub.activity_attribute15;
125 -- removed by soagrawa on 24-sep-2001
126 -- x_schedule_rec_pvt.security_group_id := l_schedule_rec_pub.security_group_id;
127 x_schedule_rec_pvt.schedule_name := l_schedule_rec_pub.schedule_name;
128 x_schedule_rec_pvt.description := l_schedule_rec_pub.description;
129 x_schedule_rec_pvt.related_source_code := l_schedule_rec_pub.related_source_code;
130 x_schedule_rec_pvt.related_source_object := l_schedule_rec_pub.related_source_object;
131 x_schedule_rec_pvt.related_source_id := l_schedule_rec_pub.related_source_id;
132 x_schedule_rec_pvt.query_id := l_schedule_rec_pub.query_id;
133 x_schedule_rec_pvt.include_content_flag := l_schedule_rec_pub.include_content_flag;
134 x_schedule_rec_pvt.content_type := l_schedule_rec_pub.content_type;
135 x_schedule_rec_pvt.test_email_address := l_schedule_rec_pub.test_email_address;
136 x_schedule_rec_pvt.greeting_text := l_schedule_rec_pub.greeting_text;
137 x_schedule_rec_pvt.footer_text := l_schedule_rec_pub.footer_text;
138 -- following are added by anchaudh on 27-jun-2003
139 x_schedule_rec_pvt.trig_repeat_flag := l_schedule_rec_pub.trig_repeat_flag;
140 x_schedule_rec_pvt.tgrp_exclude_prev_flag := l_schedule_rec_pub.tgrp_exclude_prev_flag;
141 x_schedule_rec_pvt.orig_csch_id := l_schedule_rec_pub.orig_csch_id;
142 x_schedule_rec_pvt.cover_letter_version := l_schedule_rec_pub.cover_letter_version;
143 -- following are added by dbiswas on 12-aug-2003
144 x_schedule_rec_pvt.usage := l_schedule_rec_pub.usage;
145 x_schedule_rec_pvt.purpose := l_schedule_rec_pub.purpose;
146 x_schedule_rec_pvt.last_activation_date := l_schedule_rec_pub.last_activation_date;
147 x_schedule_rec_pvt.sales_methodology_id := l_schedule_rec_pub.sales_methodology_id;
148 x_schedule_rec_pvt.printer_address := l_schedule_rec_pub.printer_address;
149 x_schedule_rec_pvt.notify_on_activation_flag := l_schedule_rec_pub.notify_on_activation_flag;
150 x_schedule_rec_pvt.sender_display_name := l_schedule_rec_pub.sender_display_name;--anchaudh
151 x_schedule_rec_pvt.asn_group_id := l_schedule_rec_pub.asn_group_id;--anchaudh for leads bug
152 x_schedule_rec_pvt.delivery_mode := l_schedule_rec_pub.delivery_mode;
153
154 END;
155
156
157
158 PROCEDURE Create_Camp_Schedule(
159 p_api_version_number IN NUMBER,
160 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
161 p_commit IN VARCHAR2 := FND_API.G_FALSE,
162 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
163 x_return_status OUT NOCOPY VARCHAR2,
164 x_msg_count OUT NOCOPY NUMBER,
165 x_msg_data OUT NOCOPY VARCHAR2,
166
167 p_schedule_rec IN schedule_rec_type := g_miss_schedule_rec,
168 x_schedule_id OUT NOCOPY NUMBER
169 )
170
171 IS
172 L_API_NAME CONSTANT VARCHAR2(30) := 'Create_Camp_Schedule';
173 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
174 l_return_status VARCHAR2(1);
175 l_pvt_schedule_rec AMS_Camp_Schedule_PVT.schedule_rec_type ;
176 l_pub_schedule_rec schedule_rec_type := p_schedule_rec;
177 BEGIN
178 -- Standard Start of API savepoint
179 SAVEPOINT CREATE_Camp_Schedule_PUB;
180
181 -- Initialize message list if p_init_msg_list is set to TRUE.
182 IF FND_API.to_Boolean( p_init_msg_list )
183 THEN
184 FND_MSG_PUB.initialize;
185 END IF;
186
187 -- Debug Message
188 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
189
190
191 -- Initialize API return status to SUCCESS
192 x_return_status := FND_API.G_RET_STS_SUCCESS;
193
194 -- convert public parameter to private-type
195 Convert_PubRec_To_PvtRec(l_pub_schedule_rec,l_pvt_schedule_rec);
196
197 -- customer pre-processing
198 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
199 THEN
200 AMS_Camp_Schedule_CUHK.create_schedule_pre(
201 l_pub_schedule_rec,
202 l_return_status
203 );
204
205 IF l_return_status = FND_API.g_ret_sts_error THEN
206 RAISE FND_API.g_exc_error;
207 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
208 RAISE FND_API.g_exc_unexpected_error;
209 END IF;
210 END IF;
211
212 -- vertical industry pre-processing
213 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
214 THEN
215 AMS_Camp_Schedule_VUHK.create_schedule_pre(
216 l_pub_schedule_rec,
217 l_return_status
218 );
219
220 IF l_return_status = FND_API.g_ret_sts_error THEN
221 RAISE FND_API.g_exc_error;
222 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
223 RAISE FND_API.g_exc_unexpected_error;
224 END IF;
225 END IF;
226
227 -- call business API
228
229 -- Calling Private package: Create_Camp_Schedule
230 -- Hint: Primary key needs to be returned
231 AMS_Camp_Schedule_PVT.Create_Camp_Schedule(
232 p_api_version_number => 1.0,
233 p_init_msg_list => p_init_msg_list,
234 p_commit => p_commit,
235 p_validation_level => p_validation_level,
236 x_return_status => x_return_status,
237 x_msg_count => x_msg_count,
238 x_msg_data => x_msg_data,
239 p_schedule_rec => l_pvt_schedule_rec,
240 x_schedule_id => x_schedule_id);
241
242
243 -- Check return status from the above procedure call
244 IF x_return_status = FND_API.G_RET_STS_ERROR then
245 RAISE FND_API.G_EXC_ERROR;
246 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
247 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
248 END IF;
249 --
250 -- End of API body.
251 --
252
253 -- customer post-processing
254 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
255 THEN
256 AMS_Camp_Schedule_CUHK.create_schedule_post(
257 l_pub_schedule_rec,
258 x_schedule_id,
259 l_return_status
260 );
261
262 IF l_return_status = FND_API.g_ret_sts_error THEN
263 RAISE FND_API.g_exc_error;
264 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
265 RAISE FND_API.g_exc_unexpected_error;
266 END IF;
267 END IF;
268
269 -- vertical industry post-processing
270 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
271 THEN
272 AMS_Camp_Schedule_VUHK.create_schedule_post(
273 l_pub_schedule_rec,
274 x_schedule_id,
278 IF l_return_status = FND_API.g_ret_sts_error THEN
275 l_return_status
276 );
277
279 RAISE FND_API.g_exc_error;
280 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
281 RAISE FND_API.g_exc_unexpected_error;
282 END IF;
283 END IF;
284
285
286 -- Standard check for p_commit
287 IF FND_API.to_Boolean( p_commit )
288 THEN
289 COMMIT WORK;
290 END IF;
291
292
293 -- Debug Message
294 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
295
296 -- Standard call to get message count and if count is 1, get message info.
297 FND_MSG_PUB.Count_And_Get
298 (p_count => x_msg_count,
299 p_data => x_msg_data
300 );
301 EXCEPTION
302
303 WHEN AMS_Utility_PVT.resource_locked THEN
304 x_return_status := FND_API.g_ret_sts_error;
305 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
306 FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
307 FND_MSG_PUB.add;
308 END IF;
309
310 WHEN FND_API.G_EXC_ERROR THEN
311 ROLLBACK TO CREATE_Camp_Schedule_PUB;
312 x_return_status := FND_API.G_RET_STS_ERROR;
313 -- Standard call to get message count and if count=1, get the message
314 FND_MSG_PUB.Count_And_Get (
315 p_encoded => FND_API.G_FALSE,
316 p_count => x_msg_count,
317 p_data => x_msg_data
318 );
319
320 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
321 ROLLBACK TO CREATE_Camp_Schedule_PUB;
322 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
323 -- Standard call to get message count and if count=1, get the message
324 FND_MSG_PUB.Count_And_Get (
325 p_encoded => FND_API.G_FALSE,
326 p_count => x_msg_count,
327 p_data => x_msg_data
328 );
329
330 WHEN OTHERS THEN
331 ROLLBACK TO CREATE_Camp_Schedule_PUB;
332 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
333 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
334 THEN
335 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
336 END IF;
337 -- Standard call to get message count and if count=1, get the message
338 FND_MSG_PUB.Count_And_Get (
339 p_encoded => FND_API.G_FALSE,
340 p_count => x_msg_count,
341 p_data => x_msg_data
342 );
343 End Create_Camp_Schedule;
344
345
346 PROCEDURE Update_Camp_Schedule(
347 p_api_version_number IN NUMBER,
348 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
349 p_commit IN VARCHAR2 := FND_API.G_FALSE,
350 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
351 x_return_status OUT NOCOPY VARCHAR2,
352 x_msg_count OUT NOCOPY NUMBER,
353 x_msg_data OUT NOCOPY VARCHAR2,
354
355 p_schedule_rec IN schedule_rec_type,
356 x_object_version_number OUT NOCOPY NUMBER
357 )
358
359 IS
360 L_API_NAME CONSTANT VARCHAR2(30) := 'Update_Camp_Schedule';
361 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
362 l_object_version_number NUMBER;
363 l_return_status VARCHAR2(1);
364 l_pvt_schedule_rec AMS_Camp_Schedule_PVT.schedule_rec_type;
365 l_pub_schedule_rec schedule_rec_type := p_schedule_rec;
366 BEGIN
367 -- Standard Start of API savepoint
368 SAVEPOINT UPDATE_Camp_Schedule_PUB;
369
370
371 -- Initialize message list if p_init_msg_list is set to TRUE.
372 IF FND_API.to_Boolean( p_init_msg_list )
373 THEN
374 FND_MSG_PUB.initialize;
375 END IF;
376
377 -- Debug Message
378 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
379
380
381 -- Initialize API return status to SUCCESS
382 x_return_status := FND_API.G_RET_STS_SUCCESS;
383
384 -- convert public parameter to private-type
385 Convert_PubRec_To_PvtRec(l_pub_schedule_rec,l_pvt_schedule_rec);
386
387 -- customer pre-processing
388 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
389 THEN
390 AMS_Camp_Schedule_CUHK.update_schedule_pre(
391 l_pub_schedule_rec,
392 l_return_status
393 );
394
395 IF l_return_status = FND_API.g_ret_sts_error THEN
396 RAISE FND_API.g_exc_error;
397 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
398 RAISE FND_API.g_exc_unexpected_error;
399 END IF;
400 END IF;
401
402 -- vertical industry pre-processing
403 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
404 THEN
405 AMS_Camp_Schedule_VUHK.update_schedule_pre(
406 l_pub_schedule_rec,
407 l_return_status
408 );
409
410 IF l_return_status = FND_API.g_ret_sts_error THEN
411 RAISE FND_API.g_exc_error;
412 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
413 RAISE FND_API.g_exc_unexpected_error;
414 END IF;
418 -- call business API
415 END IF;
416
417
419 AMS_Camp_Schedule_PVT.Update_Camp_Schedule(
420 p_api_version_number => 1.0,
421 p_init_msg_list => p_init_msg_list,
422 p_commit => p_commit,
423 p_validation_level => p_validation_level,
424 x_return_status => x_return_status,
425 x_msg_count => x_msg_count,
426 x_msg_data => x_msg_data,
427 p_schedule_rec => l_pvt_schedule_rec,
428 x_object_version_number => l_object_version_number );
429
430
431 -- Check return status from the above procedure call
432 IF x_return_status = FND_API.G_RET_STS_ERROR then
433 RAISE FND_API.G_EXC_ERROR;
434 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
435 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
436 END IF;
437 --
438 -- End of API body
439 --
440
441 -- vertical industry post-processing
442 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
443 THEN
444 AMS_Camp_Schedule_VUHK.update_schedule_post(
445 l_pub_schedule_rec,
446 l_return_status
447 );
448
449 IF l_return_status = FND_API.g_ret_sts_error THEN
450 RAISE FND_API.g_exc_error;
451 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
452 RAISE FND_API.g_exc_unexpected_error;
453 END IF;
454 END IF;
455
456 -- customer post-processing
457 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
458 THEN
459 AMS_Camp_Schedule_CUHK.update_schedule_post(
460 l_pub_schedule_rec,
461 l_return_status
462 );
463
464 IF l_return_status = FND_API.g_ret_sts_error THEN
465 RAISE FND_API.g_exc_error;
466 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
467 RAISE FND_API.g_exc_unexpected_error;
468 END IF;
469 END IF;
470
471 -- Standard check for p_commit
472 IF FND_API.to_Boolean( p_commit )
473 THEN
474 COMMIT WORK;
475 END IF;
476
477
478 -- Debug Message
479 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
480
481 -- Standard call to get message count and if count is 1, get message info.
482 FND_MSG_PUB.Count_And_Get
483 (p_count => x_msg_count,
484 p_data => x_msg_data
485 );
486 EXCEPTION
487
488 WHEN AMS_Utility_PVT.resource_locked THEN
489 x_return_status := FND_API.g_ret_sts_error;
490 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
491 FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
492 FND_MSG_PUB.add;
493 END IF;
494
495 WHEN FND_API.G_EXC_ERROR THEN
496 ROLLBACK TO UPDATE_Camp_Schedule_PUB;
497 x_return_status := FND_API.G_RET_STS_ERROR;
498 -- Standard call to get message count and if count=1, get the message
499 FND_MSG_PUB.Count_And_Get (
500 p_encoded => FND_API.G_FALSE,
501 p_count => x_msg_count,
502 p_data => x_msg_data
503 );
504
505 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
506 ROLLBACK TO UPDATE_Camp_Schedule_PUB;
507 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
508 -- Standard call to get message count and if count=1, get the message
509 FND_MSG_PUB.Count_And_Get (
510 p_encoded => FND_API.G_FALSE,
511 p_count => x_msg_count,
512 p_data => x_msg_data
513 );
514
515 WHEN OTHERS THEN
516 ROLLBACK TO UPDATE_Camp_Schedule_PUB;
517 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
518 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
519 THEN
520 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
521 END IF;
522 -- Standard call to get message count and if count=1, get the message
523 FND_MSG_PUB.Count_And_Get (
524 p_encoded => FND_API.G_FALSE,
525 p_count => x_msg_count,
526 p_data => x_msg_data
527 );
528 End Update_Camp_Schedule;
529
530
531 PROCEDURE Delete_Camp_Schedule(
532 p_api_version_number IN NUMBER,
533 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
534 p_commit IN VARCHAR2 := FND_API.G_FALSE,
535 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
536 x_return_status OUT NOCOPY VARCHAR2,
537 x_msg_count OUT NOCOPY NUMBER,
538 x_msg_data OUT NOCOPY VARCHAR2,
539 p_schedule_id IN NUMBER,
540 p_object_version_number IN NUMBER
541 )
542
543 IS
544 L_API_NAME CONSTANT VARCHAR2(30) := 'Delete_Camp_Schedule';
545 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
546 l_SCHEDULE_ID NUMBER := p_SCHEDULE_ID;
547 l_object_version NUMBER := p_object_version_number;
548 l_return_status VARCHAR2(1);
549
550 l_pvt_schedule_rec AMS_Camp_Schedule_PVT.schedule_rec_type;
551 BEGIN
555 -- Initialize message list if p_init_msg_list is set to TRUE.
552 -- Standard Start of API savepoint
553 SAVEPOINT DELETE_Camp_Schedule_PUB;
554
556 IF FND_API.to_Boolean( p_init_msg_list )
557 THEN
558 FND_MSG_PUB.initialize;
559 END IF;
560
561 -- Debug Message
562 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
563
564
565 -- Initialize API return status to SUCCESS
566 x_return_status := FND_API.G_RET_STS_SUCCESS;
567
568 -- customer pre-processing
569 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
570 THEN
571 AMS_Camp_Schedule_CUHK.delete_schedule_pre(
572 l_SCHEDULE_ID,
573 l_object_version,
574 l_return_status
575 );
576
577 IF l_return_status = FND_API.g_ret_sts_error THEN
578 RAISE FND_API.g_exc_error;
579 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
580 RAISE FND_API.g_exc_unexpected_error;
581 END IF;
582 END IF;
583
584 -- vertical industry pre-processing
585 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
586 THEN
587 AMS_Camp_Schedule_VUHK.delete_schedule_pre(
588 l_SCHEDULE_ID,
589 l_object_version,
590 l_return_status
591 );
592
593 IF l_return_status = FND_API.g_ret_sts_error THEN
594 RAISE FND_API.g_exc_error;
595 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
596 RAISE FND_API.g_exc_unexpected_error;
597 END IF;
598 END IF;
599
600 -- call business API
601 AMS_Camp_Schedule_PVT.Delete_Camp_Schedule(
602 p_api_version_number => 1.0,
603 p_init_msg_list => p_init_msg_list,
604 p_commit => p_commit,
605 p_validation_level => p_validation_level,
606 x_return_status => x_return_status,
607 x_msg_count => x_msg_count,
608 x_msg_data => x_msg_data,
609 p_schedule_id => l_schedule_id,
610 p_object_version_number => l_object_version );
611
612
613 -- Check return status from the above procedure call
614 IF x_return_status = FND_API.G_RET_STS_ERROR then
615 RAISE FND_API.G_EXC_ERROR;
616 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
617 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
618 END IF;
619
620 -- vertical industry post-processing
621 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
622 THEN
623 AMS_Camp_Schedule_VUHK.delete_schedule_post(
624 l_SCHEDULE_ID,
625 l_object_version,
626 l_return_status
627 );
628
629 IF l_return_status = FND_API.g_ret_sts_error THEN
630 RAISE FND_API.g_exc_error;
631 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
632 RAISE FND_API.g_exc_unexpected_error;
633 END IF;
634 END IF;
635
636 -- customer post-processing
637 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
638 THEN
639 AMS_Camp_Schedule_CUHK.delete_schedule_post(
640 l_SCHEDULE_ID,
641 l_object_version,
642 l_return_status
643 );
644
645 IF l_return_status = FND_API.g_ret_sts_error THEN
646 RAISE FND_API.g_exc_error;
647 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
648 RAISE FND_API.g_exc_unexpected_error;
649 END IF;
650 END IF;
651
652
653
654 -- Standard check for p_commit
655 IF FND_API.to_Boolean( p_commit )
656 THEN
657 COMMIT WORK;
658 END IF;
659
660
661 -- Debug Message
662 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
663
664 -- Standard call to get message count and if count is 1, get message info.
665 FND_MSG_PUB.Count_And_Get
666 (p_count => x_msg_count,
667 p_data => x_msg_data
668 );
669 EXCEPTION
670
671 WHEN AMS_Utility_PVT.resource_locked THEN
672 x_return_status := FND_API.g_ret_sts_error;
673 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
674 FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
675 FND_MSG_PUB.add;
676 END IF;
677
678 WHEN FND_API.G_EXC_ERROR THEN
679 ROLLBACK TO DELETE_Camp_Schedule_PUB;
680 x_return_status := FND_API.G_RET_STS_ERROR;
681 -- Standard call to get message count and if count=1, get the message
682 FND_MSG_PUB.Count_And_Get (
683 p_encoded => FND_API.G_FALSE,
684 p_count => x_msg_count,
685 p_data => x_msg_data
686 );
687
688 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
689 ROLLBACK TO DELETE_Camp_Schedule_PUB;
690 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
691 -- Standard call to get message count and if count=1, get the message
692 FND_MSG_PUB.Count_And_Get (
693 p_encoded => FND_API.G_FALSE,
694 p_count => x_msg_count,
698 WHEN OTHERS THEN
695 p_data => x_msg_data
696 );
697
699 ROLLBACK TO DELETE_Camp_Schedule_PUB;
700 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
701 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
702 THEN
703 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
704 END IF;
705 -- Standard call to get message count and if count=1, get the message
706 FND_MSG_PUB.Count_And_Get (
707 p_encoded => FND_API.G_FALSE,
708 p_count => x_msg_count,
709 p_data => x_msg_data
710 );
711 End Delete_Camp_Schedule;
712
713
714
715
716 PROCEDURE Validate_Camp_Schedule(
717 p_api_version IN NUMBER,
718 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
719 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
720 x_return_status OUT NOCOPY VARCHAR2,
721
722 x_msg_count OUT NOCOPY NUMBER,
723 x_msg_data OUT NOCOPY VARCHAR2,
724 p_validation_mode IN VARCHAR2,
725 p_schedule_rec IN schedule_rec_type
726 )
727
728
729 IS
730
731 l_api_name CONSTANT VARCHAR2(30) := 'Validate_Camp_Schedule';
732 l_return_status VARCHAR2(1);
733 l_pvt_schedule_rec AMS_Camp_Schedule_PVT.schedule_rec_type;
734 l_pub_schedule_rec schedule_rec_type := p_schedule_rec;
735
736 BEGIN
737
738 SAVEPOINT validate_camp_schedule_pub;
739
740 -- initialize the message list;
741 -- won't do it again when calling private API
742 IF FND_API.to_boolean(p_init_msg_list) THEN
743 FND_MSG_PUB.initialize;
744 END IF;
745
746 Convert_PubRec_To_PvtRec(l_pub_schedule_rec,l_pvt_schedule_rec);
747
748 -- customer pre-processing
749 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
750 THEN
751 AMS_Camp_Schedule_CUHK.validate_schedule_pre(
752 l_pub_schedule_rec,
753 l_return_status
754 );
755
756 IF l_return_status = FND_API.g_ret_sts_error THEN
757 RAISE FND_API.g_exc_error;
758 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
759 RAISE FND_API.g_exc_unexpected_error;
760 END IF;
761 END IF;
762
763 -- vertical industry pre-processing
764 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
765 THEN
766 AMS_Camp_Schedule_VUHK.validate_schedule_pre(
767 l_pub_schedule_rec,
768 l_return_status
769 );
770
771 IF l_return_status = FND_API.g_ret_sts_error THEN
772 RAISE FND_API.g_exc_error;
773 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
774 RAISE FND_API.g_exc_unexpected_error;
775 END IF;
776 END IF;
777
778 -- call business API
779 AMS_Camp_Schedule_PVT.Validate_camp_schedule(
780 p_api_version_number => p_api_version,
781 p_init_msg_list => p_init_msg_list, --has done before
782 p_validation_level =>p_validation_level,
783 p_schedule_rec => l_pvt_schedule_rec,
784 p_validation_mode =>p_validation_mode,
785 x_return_status => l_return_status,
786 x_msg_count => x_msg_count,
787 x_msg_data => x_msg_data
788 );
789
790
791
792 IF l_return_status = FND_API.g_ret_sts_error THEN
793 RAISE FND_API.g_exc_error;
794 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
795 RAISE FND_API.g_exc_unexpected_error;
796 END IF;
797
798
799
800
801
802 -- vertical industry post-processing
803 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
804 THEN
805 AMS_Camp_Schedule_VUHK.validate_schedule_post(
806 l_pub_schedule_rec,
807 l_return_status
808 );
809
810 IF l_return_status = FND_API.g_ret_sts_error THEN
811 RAISE FND_API.g_exc_error;
812 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
813 RAISE FND_API.g_exc_unexpected_error;
814 END IF;
815 END IF;
816
817 -- customer post-processing
818 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
819 THEN
820 AMS_Camp_Schedule_CUHK.validate_schedule_post(
821 l_pub_schedule_rec,
822 l_return_status
823 );
824
825 IF l_return_status = FND_API.g_ret_sts_error THEN
826 RAISE FND_API.g_exc_error;
827 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
828 RAISE FND_API.g_exc_unexpected_error;
829 END IF;
830 END IF;
831
832
833 -- Debug Message
834 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
835
836 -- Standard call to get message count and if count is 1, get message info.
837 FND_MSG_PUB.Count_And_Get
838 (p_count => x_msg_count,
839 p_data => x_msg_data
840 );
841
842 EXCEPTION
843
844 WHEN FND_API.g_exc_error THEN
845 ROLLBACK TO validate_camp_schedule_pub;
846 x_return_status := FND_API.g_ret_sts_error;
850 p_data => x_msg_data
847 FND_MSG_PUB.count_and_get(
848 p_encoded => FND_API.g_false,
849 p_count => x_msg_count,
851 );
852
853 WHEN FND_API.g_exc_unexpected_error THEN
854 ROLLBACK TO validate_camp_schedule_pub;
855 x_return_status := FND_API.g_ret_sts_unexp_error ;
856 FND_MSG_PUB.count_and_get(
857 p_encoded => FND_API.g_false,
858 p_count => x_msg_count,
859 p_data => x_msg_data
860 );
861
862
863 WHEN OTHERS THEN
864 ROLLBACK TO validate_camp_schedule_pub;
865 x_return_status := FND_API.g_ret_sts_unexp_error ;
866
867 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error)
868 THEN
869 FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
870 END IF;
871
872 FND_MSG_PUB.count_and_get(
873 p_encoded => FND_API.g_false,
874 p_count => x_msg_count,
875 p_data => x_msg_data
876 );
877
878 END Validate_Camp_Schedule;
879
880
881 PROCEDURE Lock_Camp_Schedule(
882 p_api_version_number IN NUMBER,
883 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
884 x_return_status OUT NOCOPY VARCHAR2,
885 x_msg_count OUT NOCOPY NUMBER,
886 x_msg_data OUT NOCOPY VARCHAR2,
887
888 p_schedule_id IN NUMBER,
889 p_object_version IN NUMBER
890 )
891
892 IS
893 L_API_NAME CONSTANT VARCHAR2(30) := 'Lock_Camp_Schedule';
894 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
895 l_pvt_schedule_rec AMS_Camp_Schedule_PVT.schedule_rec_type;
896 l_object_version NUMBER := p_object_version;
897 l_SCHEDULE_ID NUMBER := p_schedule_id;
898 l_return_status VARCHAR2(1);
899 BEGIN
900
901 -- Standard call to check for call compatibility.
902 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
903 p_api_version_number,
904 l_api_name,
905 G_PKG_NAME)
906 THEN
907 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
908 END IF;
909
910 -- Initialize message list if p_init_msg_list is set to TRUE.
911 IF FND_API.to_Boolean( p_init_msg_list )
912 THEN
913 FND_MSG_PUB.initialize;
914 END IF;
915
916 -- Debug Message
917 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start');
918
919
920 -- Initialize API return status to SUCCESS
921 x_return_status := FND_API.G_RET_STS_SUCCESS;
922
923 -- customer pre-processing
924 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'C')
925 THEN
926 AMS_Camp_Schedule_CUHK.lock_schedule_pre(
927 l_SCHEDULE_ID,
928 l_object_version,
929 l_return_status
930 );
931
932 IF l_return_status = FND_API.g_ret_sts_error THEN
933 RAISE FND_API.g_exc_error;
934 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
935 RAISE FND_API.g_exc_unexpected_error;
936 END IF;
937 END IF;
938
939 -- vertical industry pre-processing
940 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'B', 'V')
941 THEN
942 AMS_Camp_Schedule_VUHK.lock_schedule_pre(
943 l_SCHEDULE_ID,
944 l_object_version,
945 l_return_status
946 );
947
948 IF l_return_status = FND_API.g_ret_sts_error THEN
949 RAISE FND_API.g_exc_error;
950 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
951 RAISE FND_API.g_exc_unexpected_error;
952 END IF;
953 END IF;
954
955 -- call business API
956 AMS_Camp_Schedule_PVT.Lock_Camp_Schedule(
957 p_api_version_number => 1.0,
958 p_init_msg_list => p_init_msg_list,
959 x_return_status => x_return_status,
960 x_msg_count => x_msg_count,
961 x_msg_data => x_msg_data,
962 p_schedule_id => p_schedule_id,
963 p_object_version => p_object_version);
964
965
966 -- Check return status from the above procedure call
967 IF x_return_status = FND_API.G_RET_STS_ERROR then
968 RAISE FND_API.G_EXC_ERROR;
969 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
970 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
971 END IF;
972 --
973 -- End of API body.
974 --
975
976 -- vertical industry post-processing
977 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'V')
978 THEN
979 AMS_Camp_Schedule_VUHK.lock_schedule_post(
980 l_SCHEDULE_ID,
981 l_object_version,
982 l_return_status
983 );
984
985 IF l_return_status = FND_API.g_ret_sts_error THEN
986 RAISE FND_API.g_exc_error;
987 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
988 RAISE FND_API.g_exc_unexpected_error;
989 END IF;
990 END IF;
991
992 -- customer post-processing
993 IF JTF_USR_HKS.ok_to_execute(g_pkg_name, l_api_name, 'A', 'C')
994 THEN
995 AMS_Camp_Schedule_CUHK.lock_schedule_post(
996 l_SCHEDULE_ID,
1000
997 l_object_version,
998 l_return_status
999 );
1001 IF l_return_status = FND_API.g_ret_sts_error THEN
1002 RAISE FND_API.g_exc_error;
1003 ELSIF l_return_status = FND_API.g_ret_sts_unexp_error THEN
1004 RAISE FND_API.g_exc_unexpected_error;
1005 END IF;
1006 END IF;
1007
1008
1009
1010
1011 -- Debug Message
1012 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end');
1013
1014 EXCEPTION
1015
1016 WHEN AMS_Utility_PVT.resource_locked THEN
1017 x_return_status := FND_API.g_ret_sts_error;
1018 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1019 FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
1020 FND_MSG_PUB.add;
1021 END IF;
1022
1023 WHEN FND_API.G_EXC_ERROR THEN
1024 ROLLBACK TO LOCK_Camp_Schedule_PUB;
1025 x_return_status := FND_API.G_RET_STS_ERROR;
1026 -- Standard call to get message count and if count=1, get the message
1027 FND_MSG_PUB.Count_And_Get (
1028 p_encoded => FND_API.G_FALSE,
1029 p_count => x_msg_count,
1030 p_data => x_msg_data
1031 );
1032
1033 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1034 ROLLBACK TO LOCK_Camp_Schedule_PUB;
1035 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1036 -- Standard call to get message count and if count=1, get the message
1037 FND_MSG_PUB.Count_And_Get (
1038 p_encoded => FND_API.G_FALSE,
1039 p_count => x_msg_count,
1040 p_data => x_msg_data
1041 );
1042
1043 WHEN OTHERS THEN
1044 ROLLBACK TO LOCK_Camp_Schedule_PUB;
1045 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1046 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1047 THEN
1048 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1049 END IF;
1050 -- Standard call to get message count and if count=1, get the message
1051 FND_MSG_PUB.Count_And_Get (
1052 p_encoded => FND_API.G_FALSE,
1053 p_count => x_msg_count,
1054 p_data => x_msg_data
1055 );
1056 End Lock_Camp_Schedule;
1057
1058
1059
1060 -- ==============================================================================
1061 -- Start of Comments
1062 -- ==============================================================================
1063 -- API Name
1064 -- Copy_Camp_Schedule
1065 --
1066 -- Description
1067 -- To support the "Copy Schedule" functionality from the schedule overview
1068 -- and detail pages.
1069 --
1070 -- History
1071 -- 18-sep-2001 soagrawa Added, bug# 2000042
1072 --
1073 --
1074 -- ==============================================================================
1075 --
1076
1077 PROCEDURE Copy_Camp_Schedule(
1078 p_api_version IN NUMBER,
1079 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1080 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1081 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1082
1083 x_return_status OUT NOCOPY VARCHAR2,
1084 x_msg_count OUT NOCOPY NUMBER,
1085 x_msg_data OUT NOCOPY VARCHAR2,
1086
1087 p_source_object_id IN NUMBER,
1088 p_attributes_table IN AMS_CpyUtility_PVT.copy_attributes_table_type,
1089 p_copy_columns_table IN AMS_CpyUtility_PVT.copy_columns_table_type,
1090
1091 x_new_object_id OUT NOCOPY NUMBER,
1092 x_custom_setup_id OUT NOCOPY NUMBER
1093 )
1094 IS
1095 L_API_NAME CONSTANT VARCHAR2(30) := 'Copy_Camp_Schedule';
1096 L_API_VERSION_NUMBER CONSTANT NUMBER := 1.0;
1097 BEGIN
1098
1099 SAVEPOINT COPY_Camp_Schedule_PUB;
1100 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'start copy');
1101 -- Calling Private package: Create_Camp_Schedule
1102 -- Hint: Primary key needs to be returned
1103 AMS_Camp_Schedule_PVT.Copy_Camp_Schedule(
1104 p_api_version => L_API_VERSION_NUMBER,
1105 p_init_msg_list => p_init_msg_list,
1106 p_commit => p_commit,
1107 p_validation_level => p_validation_level,
1108 x_return_status => x_return_status,
1109 x_msg_count => x_msg_count,
1110 x_msg_data => x_msg_data,
1111 p_source_object_id => p_source_object_id,
1112 p_attributes_table => p_attributes_table,
1113 p_copy_columns_table => p_copy_columns_table,
1114 x_new_object_id => x_new_object_id,
1115 x_custom_setup_id => x_custom_setup_id);
1116 AMS_UTILITY_PVT.debug_message('Public API: ' || l_api_name || 'end copy');
1117
1118 -- Check return status from the above procedure call
1119 IF x_return_status = FND_API.G_RET_STS_ERROR then
1120 RAISE FND_API.G_EXC_ERROR;
1121 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1122 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1123 END IF;
1124
1125
1126 EXCEPTION
1127
1128 WHEN AMS_Utility_PVT.resource_locked THEN
1129 x_return_status := FND_API.g_ret_sts_error;
1130 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
1131 FND_MESSAGE.set_name('AMS', 'AMS_API_RESOURCE_LOCKED');
1132 FND_MSG_PUB.add;
1136 ROLLBACK TO COPY_Camp_Schedule_PUB;
1133 END IF;
1134
1135 WHEN FND_API.G_EXC_ERROR THEN
1137 x_return_status := FND_API.G_RET_STS_ERROR;
1138 -- Standard call to get message count and if count=1, get the message
1139 FND_MSG_PUB.Count_And_Get (
1140 p_encoded => FND_API.G_FALSE,
1141 p_count => x_msg_count,
1142 p_data => x_msg_data
1143 );
1144
1145 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1146 ROLLBACK TO COPY_Camp_Schedule_PUB;
1147 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1148 -- Standard call to get message count and if count=1, get the message
1149 FND_MSG_PUB.Count_And_Get (
1150 p_encoded => FND_API.G_FALSE,
1151 p_count => x_msg_count,
1152 p_data => x_msg_data
1153 );
1154
1155 WHEN OTHERS THEN
1156 ROLLBACK TO COPY_Camp_Schedule_PUB;
1157 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1158 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1159 THEN
1160 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1161 END IF;
1162 -- Standard call to get message count and if count=1, get the message
1163 FND_MSG_PUB.Count_And_Get (
1164 p_encoded => FND_API.G_FALSE,
1165 p_count => x_msg_count,
1166 p_data => x_msg_data
1167 );
1168
1169 End Copy_Camp_Schedule;
1170
1171
1172
1173 END AMS_Camp_Schedule_PUB;