52: Begin
53:
54:
55: SAVEPOINT purge_task_attach;
56: x_return_status := fnd_api.g_ret_sts_success;
57:
58:
59:
60: Open c_fetch_task_ids;
84:
85: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
86:
87: EXCEPTION
88: WHEN fnd_api.g_exc_unexpected_error
89: THEN
90: ROLLBACK TO purge_task_attach;
91: x_return_status := fnd_api.g_ret_sts_unexp_error;
92: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
87: EXCEPTION
88: WHEN fnd_api.g_exc_unexpected_error
89: THEN
90: ROLLBACK TO purge_task_attach;
91: x_return_status := fnd_api.g_ret_sts_unexp_error;
92: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
93: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
94: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.delete_atth_to_tasks', ' x_return_status= '||x_return_status);
95: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.delete_atth_to_tasks', ' x_msg_data= '||x_msg_data);
107: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.delete_atth_to_tasks', ' x_msg_data= '||x_msg_data);
108: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.delete_atth_to_tasks', ' x_msg_count= '||x_msg_count);
109: end if;
110:
111: x_return_status := fnd_api.g_ret_sts_unexp_error;
112: fnd_msg_pub.count_and_get (
113: p_count => x_msg_count,
114: p_data => x_msg_data
115: );
117: end delete_atth_to_tasks;
118:
119: Procedure purge_tasks(
120: p_api_version IN NUMBER,
121: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
122: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
123: x_return_status OUT NOCOPY VARCHAR2,
124: x_msg_data OUT NOCOPY VARCHAR2,
125: x_msg_count OUT NOCOPY NUMBER,
118:
119: Procedure purge_tasks(
120: p_api_version IN NUMBER,
121: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
122: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
123: x_return_status OUT NOCOPY VARCHAR2,
124: x_msg_data OUT NOCOPY VARCHAR2,
125: x_msg_count OUT NOCOPY NUMBER,
126: p_object_type IN VARCHAR2,
162: l_msg_index_out VARCHAR2(100);
163: BEGIN
164:
165: SAVEPOINT purge_tasks;
166: x_return_status := fnd_api.g_ret_sts_success;
167:
168: IF NOT fnd_api.compatible_api_call (
169: l_api_version,
170: p_api_version,
164:
165: SAVEPOINT purge_tasks;
166: x_return_status := fnd_api.g_ret_sts_success;
167:
168: IF NOT fnd_api.compatible_api_call (
169: l_api_version,
170: p_api_version,
171: l_api_name,
172: g_pkg_name
171: l_api_name,
172: g_pkg_name
173: )
174: THEN
175: RAISE fnd_api.g_exc_unexpected_error;
176: END IF;
177:
178: IF fnd_api.to_boolean (p_init_msg_list)
179: THEN
174: THEN
175: RAISE fnd_api.g_exc_unexpected_error;
176: END IF;
177:
178: IF fnd_api.to_boolean (p_init_msg_list)
179: THEN
180: fnd_msg_pub.initialize;
181: END IF;
182: --Logging input parameters
233: end if;
234:
235: CSM_TASK_PURGE_PKG.DELETE_MFS_TASKS(
236: P_API_VERSION => 1.0,
237: P_INIT_MSG_LIST => FND_API.G_FALSE,
238: P_COMMIT => FND_API.G_FALSE,
239: P_PROCESSING_SET_ID => proc_seq_num ,
240: P_OBJECT_TYPE => 'TASK' ,
241: X_RETURN_STATUS => x_return_status,
234:
235: CSM_TASK_PURGE_PKG.DELETE_MFS_TASKS(
236: P_API_VERSION => 1.0,
237: P_INIT_MSG_LIST => FND_API.G_FALSE,
238: P_COMMIT => FND_API.G_FALSE,
239: P_PROCESSING_SET_ID => proc_seq_num ,
240: P_OBJECT_TYPE => 'TASK' ,
241: X_RETURN_STATUS => x_return_status,
242: X_MSG_COUNT => x_msg_count,
241: X_RETURN_STATUS => x_return_status,
242: X_MSG_COUNT => x_msg_count,
243: X_MSG_DATA => x_msg_data);
244:
245: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
246: THEN
247: x_return_status := fnd_api.g_ret_sts_unexp_error;
248:
249: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
243: X_MSG_DATA => x_msg_data);
244:
245: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
246: THEN
247: x_return_status := fnd_api.g_ret_sts_unexp_error;
248:
249: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
250: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling CSM_TASK_PURGE_PKG.DELETE_MFS_TASKS');
251: end if;
248:
249: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
250: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling CSM_TASK_PURGE_PKG.DELETE_MFS_TASKS');
251: end if;
252: RAISE fnd_api.g_exc_unexpected_error;
253: end if;
254:
255: /************* Start of addition by SBARAT on 03/02/2006 for bug# 4997851 *************/
256:
262: END IF;
263:
264: IEU_WR_PUB.Purge_Wr_Item(
265: p_api_version_number => 1.0,
266: p_init_msg_list => FND_API.G_FALSE,
267: p_commit => FND_API.G_FALSE,
268: p_processing_set_id => proc_seq_num,
269: p_object_type => 'TASK',
270: x_return_status => x_return_status,
263:
264: IEU_WR_PUB.Purge_Wr_Item(
265: p_api_version_number => 1.0,
266: p_init_msg_list => FND_API.G_FALSE,
267: p_commit => FND_API.G_FALSE,
268: p_processing_set_id => proc_seq_num,
269: p_object_type => 'TASK',
270: x_return_status => x_return_status,
271: x_msg_count => x_msg_count,
270: x_return_status => x_return_status,
271: x_msg_count => x_msg_count,
272: x_msg_data => x_msg_data);
273:
274: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
275: THEN
276: x_return_status := fnd_api.g_ret_sts_unexp_error;
277:
278: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
272: x_msg_data => x_msg_data);
273:
274: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
275: THEN
276: x_return_status := fnd_api.g_ret_sts_unexp_error;
277:
278: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
279: THEN
280: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling IEU_WR_PUB.PURGE_WR_ITEM');
279: THEN
280: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling IEU_WR_PUB.PURGE_WR_ITEM');
281: END IF;
282:
283: RAISE fnd_api.g_exc_unexpected_error;
284:
285: END IF;
286:
287:
293: END IF;
294:
295: JTF_IH_PURGE.P_Delete_Interactions(
296: p_api_version => 1.0,
297: p_init_msg_list => FND_API.G_FALSE,
298: p_commit => FND_API.G_FALSE,
299: p_processing_set_id => proc_seq_num,
300: p_object_type => 'TASK',
301: x_return_status => x_return_status,
294:
295: JTF_IH_PURGE.P_Delete_Interactions(
296: p_api_version => 1.0,
297: p_init_msg_list => FND_API.G_FALSE,
298: p_commit => FND_API.G_FALSE,
299: p_processing_set_id => proc_seq_num,
300: p_object_type => 'TASK',
301: x_return_status => x_return_status,
302: x_msg_count => x_msg_count,
301: x_return_status => x_return_status,
302: x_msg_count => x_msg_count,
303: x_msg_data => x_msg_data);
304:
305: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
306: THEN
307: x_return_status := fnd_api.g_ret_sts_unexp_error;
308:
309: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
303: x_msg_data => x_msg_data);
304:
305: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
306: THEN
307: x_return_status := fnd_api.g_ret_sts_unexp_error;
308:
309: IF( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
310: THEN
311: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling JTF_IH_PURGE.P_DELETE_INTERACTIONS');
310: THEN
311: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling JTF_IH_PURGE.P_DELETE_INTERACTIONS');
312: END IF;
313:
314: RAISE fnd_api.g_exc_unexpected_error;
315:
316: END IF;
317:
318: /************* End of addition by SBARAT on 03/02/2006 for bug# 4997851 *************/
329: x_return_status => x_return_status,
330: x_msg_count => x_msg_count,
331: x_msg_data => x_msg_data);
332:
333: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
334:
335: THEN
336:
337: x_return_status := fnd_api.g_ret_sts_unexp_error;
333: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
334:
335: THEN
336:
337: x_return_status := fnd_api.g_ret_sts_unexp_error;
338:
339:
340: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
341:
340: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
341:
342: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling cac_task_purge_pub.delete_atth_to_tasks');
343: end if;
344: RAISE fnd_api.g_exc_unexpected_error;
345: end if;
346:
347:
348: --Calling notes api
359: x_msg_data => x_msg_data,
360: p_processing_set_id => proc_seq_num,
361: p_object_type => 'TASK' );
362:
363: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
364: THEN
365: x_return_status := fnd_api.g_ret_sts_unexp_error;
366:
367: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
361: p_object_type => 'TASK' );
362:
363: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
364: THEN
365: x_return_status := fnd_api.g_ret_sts_unexp_error;
366:
367: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
368: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling cac_note_purge_pub.purge_notes');
369: end if;
366:
367: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
368: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling cac_note_purge_pub.purge_notes');
369: end if;
370: RAISE fnd_api.g_exc_unexpected_error;
371: end if;
372:
373:
374: --calling the cac_task_purge_pvt.purge_task_entities API
378: end if;
379:
380: cac_task_purge_pvt.purge_task_entities(
381: p_api_version => 1.0,
382: p_init_msg_list => fnd_api.g_false,
383: p_commit => fnd_api.g_false,
384: x_return_status => x_return_status,
385: x_msg_data => x_msg_data,
386: x_msg_count => x_msg_count,
379:
380: cac_task_purge_pvt.purge_task_entities(
381: p_api_version => 1.0,
382: p_init_msg_list => fnd_api.g_false,
383: p_commit => fnd_api.g_false,
384: x_return_status => x_return_status,
385: x_msg_data => x_msg_data,
386: x_msg_count => x_msg_count,
387: p_processing_set_id => proc_seq_num,
389: );
390:
391:
392:
393: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
394: THEN
395: x_return_status := fnd_api.g_ret_sts_unexp_error;
396:
397: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
391:
392:
393: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
394: THEN
395: x_return_status := fnd_api.g_ret_sts_unexp_error;
396:
397: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
398: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', ' return status error after calling cac_task_purge_pvt.purge_task_entities');
399: end if;
397: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
398: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', ' return status error after calling cac_task_purge_pvt.purge_task_entities');
399: end if;
400:
401: RAISE fnd_api.g_exc_unexpected_error;
402: END IF;
403:
404:
405: else --no task data exists for the selected service requests
413:
414: end if;-- for If ( l_tab_tasks_id.COUNT > 0)
415:
416:
417: IF fnd_api.to_boolean (p_commit)
418: THEN
419: COMMIT WORK;
420: END IF;
421:
422: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
423:
424:
425: EXCEPTION
426: WHEN fnd_api.g_exc_unexpected_error
427: THEN
428: ROLLBACK TO purge_tasks;
429: x_return_status := fnd_api.g_ret_sts_unexp_error;
430: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
425: EXCEPTION
426: WHEN fnd_api.g_exc_unexpected_error
427: THEN
428: ROLLBACK TO purge_tasks;
429: x_return_status := fnd_api.g_ret_sts_unexp_error;
430: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
431: if (get_tasks_ids%ISOPEN) then
432: Close get_tasks_ids;
433: END IF;
460: ROLLBACK TO purge_tasks;
461: fnd_message.set_name ('JTF', 'CAC_TASK_UNKNOWN_ERROR');
462: fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
463: fnd_msg_pub.add;
464: x_return_status := fnd_api.g_ret_sts_unexp_error;
465: if (get_tasks_ids%ISOPEN) then
466: Close get_tasks_ids;
467: END IF;
468: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
495:
496:
497: Procedure validate_tasks(
498: p_api_version IN NUMBER,
499: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
500: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
501: x_return_status OUT NOCOPY VARCHAR2,
502: x_msg_data OUT NOCOPY VARCHAR2,
503: x_msg_count OUT NOCOPY NUMBER,
496:
497: Procedure validate_tasks(
498: p_api_version IN NUMBER,
499: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
500: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
501: x_return_status OUT NOCOPY VARCHAR2,
502: x_msg_data OUT NOCOPY VARCHAR2,
503: x_msg_count OUT NOCOPY NUMBER,
504: p_object_type IN VARCHAR2,
526: proc_seq_num NUMBER;
527: l_msg_index_out VARCHAR2(100);
528: BEGIN
529: SAVEPOINT validate_tasks;
530: x_return_status := fnd_api.g_ret_sts_success;
531:
532: IF NOT fnd_api.compatible_api_call (
533: l_api_version,
534: p_api_version,
528: BEGIN
529: SAVEPOINT validate_tasks;
530: x_return_status := fnd_api.g_ret_sts_success;
531:
532: IF NOT fnd_api.compatible_api_call (
533: l_api_version,
534: p_api_version,
535: l_api_name,
536: g_pkg_name
535: l_api_name,
536: g_pkg_name
537: )
538: THEN
539: RAISE fnd_api.g_exc_unexpected_error;
540: END IF;
541:
542: IF fnd_api.to_boolean (p_init_msg_list)
543: THEN
538: THEN
539: RAISE fnd_api.g_exc_unexpected_error;
540: END IF;
541:
542: IF fnd_api.to_boolean (p_init_msg_list)
543: THEN
544: fnd_msg_pub.initialize;
545: END IF;
546: --Logging input parameters
595: end if;
596:
597: CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS(
598: P_API_VERSION => 1.0,
599: P_INIT_MSG_LIST => FND_API.G_FALSE,
600: P_COMMIT => FND_API.G_FALSE,
601: P_PROCESSING_SET_ID => proc_seq_num ,
602: P_OBJECT_TYPE => 'TASK' ,
603: X_RETURN_STATUS => x_return_status,
596:
597: CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS(
598: P_API_VERSION => 1.0,
599: P_INIT_MSG_LIST => FND_API.G_FALSE,
600: P_COMMIT => FND_API.G_FALSE,
601: P_PROCESSING_SET_ID => proc_seq_num ,
602: P_OBJECT_TYPE => 'TASK' ,
603: X_RETURN_STATUS => x_return_status,
604: X_MSG_COUNT => x_msg_count,
603: X_RETURN_STATUS => x_return_status,
604: X_MSG_COUNT => x_msg_count,
605: X_MSG_DATA => x_msg_data);
606:
607: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
608: THEN
609: x_return_status := fnd_api.g_ret_sts_unexp_error;
610:
611: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
605: X_MSG_DATA => x_msg_data);
606:
607: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
608: THEN
609: x_return_status := fnd_api.g_ret_sts_unexp_error;
610:
611: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
612: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS');
613: end if;
610:
611: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
612: FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'cac_task_purge_pub.purge_tasks', 'return status error after calling CSM_TASK_PURGE_PKG.VALIDATE_MFS_TASKS');
613: end if;
614: RAISE fnd_api.g_exc_unexpected_error;
615: end if;
616:
617:
618: --bulk update the rows with error status E for which tasks validations have failed.
642:
643:
644: END IF;-- for If ( l_tab_tasks_id.COUNT > 0) then
645:
646: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
647: THEN
648: x_return_status := fnd_api.g_ret_sts_unexp_error;
649: RAISE fnd_api.g_exc_unexpected_error;
650: END IF;
644: END IF;-- for If ( l_tab_tasks_id.COUNT > 0) then
645:
646: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
647: THEN
648: x_return_status := fnd_api.g_ret_sts_unexp_error;
649: RAISE fnd_api.g_exc_unexpected_error;
650: END IF;
651:
652: IF fnd_api.to_boolean (p_commit)
645:
646: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
647: THEN
648: x_return_status := fnd_api.g_ret_sts_unexp_error;
649: RAISE fnd_api.g_exc_unexpected_error;
650: END IF;
651:
652: IF fnd_api.to_boolean (p_commit)
653: THEN
648: x_return_status := fnd_api.g_ret_sts_unexp_error;
649: RAISE fnd_api.g_exc_unexpected_error;
650: END IF;
651:
652: IF fnd_api.to_boolean (p_commit)
653: THEN
654: COMMIT WORK;
655: END IF;
656:
656:
657: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
658:
659: EXCEPTION
660: WHEN fnd_api.g_exc_unexpected_error
661: THEN
662: ROLLBACK TO validate_tasks;
663: if (tasks_ids%ISOPEN) then
664: CLOSE tasks_ids;
662: ROLLBACK TO validate_tasks;
663: if (tasks_ids%ISOPEN) then
664: CLOSE tasks_ids;
665: end if;
666: x_return_status := fnd_api.g_ret_sts_unexp_error;
667: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
668:
669:
670: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
699: end if;
700: fnd_message.set_name ('JTF', 'JTF_TASK_VALID_UNKNOWN_ERR');
701: fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
702: fnd_msg_pub.add;
703: x_return_status := fnd_api.g_ret_sts_unexp_error;
704:
705: if( FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) then
706: IF FND_MSG_PUB.Count_Msg > 0
707: THEN