182: CLOSE c_status;
183: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_STATUS_ID');
184: fnd_message.set_token ('P_TASK_STATUS_ID', p_task_status_id);
185: fnd_msg_pub.add;
186: RAISE fnd_api.g_exc_unexpected_error;
187: END IF;
188: CLOSE c_status;
189:
190: IF rec_status.completed_flag = jtf_task_utl.g_yes OR
237: l_show_2day varchar2(1);
238: l_date_profile varchar2(30) := fnd_profile.value('JTF_TASK_DEFAULT_DATE_SELECTED');
239:
240: begin
241: x_return_status := fnd_api.g_ret_sts_success;
242:
243: -- get the default date_selected value from the profile
244: -- if not set, assume 'S'
245:
248: -- Only when date_selected is not passed,
249: -- then get the value from the profile.
250: ------------------------------------------------
251: IF p_date_selected IS NULL OR
252: p_date_selected = fnd_api.g_miss_char
253: THEN
254: -- Fix for bug 2932012
255: --open c_date_selected;
256: --fetch c_date_selected into l_date_selected;
255: --open c_date_selected;
256: --fetch c_date_selected into l_date_selected;
257: --if c_date_selected%NOTFOUND then
258: -- close c_date_selected;
259: -- raise fnd_api.g_exc_unexpected_error;
260: --end if;
261: --close c_date_selected;
262: IF (l_date_profile = 'PLANNED')
263: THEN
306: x_calendar_start_date => l_cal_start_date,
307: x_calendar_end_date => l_cal_end_date,
308: x_return_status => x_return_status);
309:
310: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
311: THEN
312: RAISE fnd_api.g_exc_unexpected_error;
313: END IF;
314: ----------------------------------------
308: x_return_status => x_return_status);
309:
310: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
311: THEN
312: RAISE fnd_api.g_exc_unexpected_error;
313: END IF;
314: ----------------------------------------
315: end if;
316:
325: -- For Fix bug 2467890, 2629463:
326: -- At this stage, decide show_on_calendar flag only
327: -- Hence removed the assignment statement for date_selected AND calendar dates
328: --------------------------------------------------------------------------------
329: if (p_show_on_calendar is null or p_show_on_calendar = fnd_api.g_miss_char)
330: then
331: if l_cal_start_date is not null and
332: l_cal_end_date is not null
333: then
330: then
331: if l_cal_start_date is not null and
332: l_cal_end_date is not null
333: then
334: if (p_date_selected is null or p_date_selected = fnd_api.g_miss_char)
335: then
336: x_show_on_calendar := 'Y';
337: else
338: x_show_on_calendar := p_show_on_calendar;
362: x_show_on_calendar := p_show_on_calendar;
363: end if;
364:
365: EXCEPTION
366: WHEN fnd_api.g_exc_unexpected_error THEN
367: x_return_status := fnd_api.g_ret_sts_unexp_error;
368:
369: WHEN OTHERS
370: THEN
363: end if;
364:
365: EXCEPTION
366: WHEN fnd_api.g_exc_unexpected_error THEN
367: x_return_status := fnd_api.g_ret_sts_unexp_error;
368:
369: WHEN OTHERS
370: THEN
371: fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
370: THEN
371: fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
372: fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
373: fnd_msg_pub.add;
374: x_return_status := fnd_api.g_ret_sts_unexp_error;
375: end;
376:
377: PROCEDURE set_start_n_due_date (
378: p_task_status_id IN NUMBER,
399: -- Added by SBARAT on 21/12/2005 for bug# 4616119
400: l_date_profile varchar2(30) := fnd_profile.value('JTF_TASK_DEFAULT_DATE_SELECTED');
401:
402: BEGIN
403: x_return_status := fnd_api.g_ret_sts_success;
404:
405: ---------------------------------------------------
406: -- Get status information
407: OPEN c_status;
412: CLOSE c_status;
413: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_STATUS_ID');
414: fnd_message.set_token ('P_TASK_STATUS_ID', p_task_status_id);
415: fnd_msg_pub.add;
416: RAISE fnd_api.g_exc_unexpected_error;
417: END IF;
418: CLOSE c_status;
419:
420: IF rec_status.start_date_type IS NULL OR
460: -- If date type is deriven by planned start date and its value is null
461: -- then throw an error "The planned start date must be provided."
462: fnd_message.set_name ('JTF', 'JTF_TASK_NULL_PLANNED_ST_DATE');
463: fnd_msg_pub.add;
464: x_return_status := fnd_api.g_ret_sts_unexp_error;
465: END IF;
466:
467: x_calendar_start_date := p_planned_start_date;
468:
473: -- If date type is deriven by schedule start date and its value is null,
474: -- then throw an error "The scheduled start date must be provided."
475: fnd_message.set_name ('JTF', 'JTF_TASK_NULL_SCHEDULE_ST_DATE');
476: fnd_msg_pub.add;
477: x_return_status := fnd_api.g_ret_sts_unexp_error;
478: END IF;
479:
480: x_calendar_start_date := p_scheduled_start_date;
481:
486: -- If date type is deriven by actual start date and its value is null
487: -- then throw an error "The actual start date must be provided."
488: fnd_message.set_name ('JTF', 'JTF_TASK_NULL_ACTUAL_ST_DATE');
489: fnd_msg_pub.add;
490: x_return_status := fnd_api.g_ret_sts_unexp_error;
491: END IF;
492:
493: x_calendar_start_date := p_actual_start_date;
494: END IF;
506: -- If date type is deriven by planned end date and its value is null
507: -- then throw an error "The planned end date must be provided."
508: fnd_message.set_name ('JTF', 'JTF_TASK_NULL_PLANNED_EN_DATE');
509: fnd_msg_pub.add;
510: x_return_status := fnd_api.g_ret_sts_unexp_error;
511: END IF;
512:
513: x_calendar_end_date := p_planned_end_date;
514:
519: -- If date type is deriven by schedule end date and its value is null,
520: -- then throw an error "The scheduled end date must be provided."
521: fnd_message.set_name ('JTF', 'JTF_TASK_NULL_SCHEDULE_EN_DATE');
522: fnd_msg_pub.add;
523: x_return_status := fnd_api.g_ret_sts_unexp_error;
524: END IF;
525:
526: x_calendar_end_date := p_scheduled_end_date;
527:
532: -- If date type is deriven by actual end date and its value is null
533: -- then throw an error "The actual end date must be provided."
534: fnd_message.set_name ('JTF', 'JTF_TASK_NULL_ACTUAL_EN_DATE');
535: fnd_msg_pub.add;
536: x_return_status := fnd_api.g_ret_sts_unexp_error;
537: END IF;
538:
539: x_calendar_end_date := p_actual_end_date;
540: END IF;
538:
539: x_calendar_end_date := p_actual_end_date;
540: END IF;
541:
542: IF x_return_status = fnd_api.g_ret_sts_unexp_error
543: THEN
544: RAISE fnd_api.g_exc_unexpected_error;
545: END IF;
546:
540: END IF;
541:
542: IF x_return_status = fnd_api.g_ret_sts_unexp_error
543: THEN
544: RAISE fnd_api.g_exc_unexpected_error;
545: END IF;
546:
547: EXCEPTION
548: WHEN fnd_api.g_exc_unexpected_error THEN
544: RAISE fnd_api.g_exc_unexpected_error;
545: END IF;
546:
547: EXCEPTION
548: WHEN fnd_api.g_exc_unexpected_error THEN
549: x_return_status := fnd_api.g_ret_sts_unexp_error;
550:
551: WHEN OTHERS THEN
552: x_return_status := fnd_api.g_ret_sts_unexp_error;
545: END IF;
546:
547: EXCEPTION
548: WHEN fnd_api.g_exc_unexpected_error THEN
549: x_return_status := fnd_api.g_ret_sts_unexp_error;
550:
551: WHEN OTHERS THEN
552: x_return_status := fnd_api.g_ret_sts_unexp_error;
553: fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
548: WHEN fnd_api.g_exc_unexpected_error THEN
549: x_return_status := fnd_api.g_ret_sts_unexp_error;
550:
551: WHEN OTHERS THEN
552: x_return_status := fnd_api.g_ret_sts_unexp_error;
553: fnd_message.set_name ('JTF', 'JTF_TASK_UNKNOWN_ERROR');
554: fnd_message.set_token ('P_TEXT', SQLCODE || SQLERRM);
555: fnd_msg_pub.add;
556: END set_start_n_due_date;
594: CLOSE c_seq;
595: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_SEQ');
596: fnd_message.set_token ('P_SEQ', p_sequence_name);
597: fnd_msg_pub.add;
598: raise fnd_api.g_exc_unexpected_error;
599: END IF;
600: CLOSE c_seq;
601:
602: RETURN rec_seq.last_number;
619: CONNECT BY PRIOR task_id = parent_task_id ;
620:
621: cyclic_task_rec c_cyclic_task%ROWTYPE;
622: BEGIN
623: x_return_status := fnd_api.g_ret_sts_success;
624:
625: IF (p_parent_task_id IS NOT NULL)
626: THEN
627: FOR cyclic_task_rec IN c_cyclic_task
627: FOR cyclic_task_rec IN c_cyclic_task
628: LOOP
629: IF (p_parent_task_id = cyclic_task_rec.task_id)
630: THEN
631: x_return_status := fnd_api.g_ret_sts_unexp_error;
632: fnd_message.set_name ('JTF', 'JTF_TASK_CYCLIC_TASKS');
633: fnd_message.set_token ('P_TASK_NAME', jtf_task_utl_ext.get_task_name(p_task_id));
634: fnd_message.set_token ('P_PARENT_TASK_NAME', jtf_task_utl_ext.get_task_name(p_parent_task_id));
635: fnd_msg_pub.add;
663:
664: l_task_ref_id NUMBER;
665: l_obj_version_number NUMBER;
666: BEGIN
667: x_return_status := fnd_api.g_ret_sts_success;
668:
669: IF p_old_object_code NOT IN ('TASK', 'APPOINTMENT')
670: THEN
671: IF (NVL(p_new_object_id, 0) <> fnd_api.g_miss_num AND
667: x_return_status := fnd_api.g_ret_sts_success;
668:
669: IF p_old_object_code NOT IN ('TASK', 'APPOINTMENT')
670: THEN
671: IF (NVL(p_new_object_id, 0) <> fnd_api.g_miss_num AND
672: NVL(p_new_object_id, 0) <> NVL(p_old_object_id, 0))
673: THEN
674: -----------------------------
675: -- Delete the old reference
684: x_msg_count => x_msg_count,
685: x_msg_data => x_msg_data,
686: x_return_status => x_return_status
687: );
688: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
689: THEN
690: RAISE fnd_api.g_exc_unexpected_error;
691: END IF;
692: ELSE -- other than party Relation, Person, Organization 2102281
686: x_return_status => x_return_status
687: );
688: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
689: THEN
690: RAISE fnd_api.g_exc_unexpected_error;
691: END IF;
692: ELSE -- other than party Relation, Person, Organization 2102281
693: OPEN c_ref (p_task_id, p_old_object_id);
694: FETCH c_ref INTO l_task_ref_id, l_obj_version_number;
697: jtf_task_utl.g_show_error_for_dup_reference := FALSE;
698:
699: jtf_task_references_pub.delete_references (
700: p_api_version => 1.0,
701: p_init_msg_list => fnd_api.g_false,
702: p_commit => fnd_api.g_false,
703: p_object_version_number => l_obj_version_number,
704: p_task_reference_id => l_task_ref_id,
705: x_return_status => x_return_status,
698:
699: jtf_task_references_pub.delete_references (
700: p_api_version => 1.0,
701: p_init_msg_list => fnd_api.g_false,
702: p_commit => fnd_api.g_false,
703: p_object_version_number => l_obj_version_number,
704: p_task_reference_id => l_task_ref_id,
705: x_return_status => x_return_status,
706: x_msg_count => x_msg_count,
706: x_msg_count => x_msg_count,
707: x_msg_data => x_msg_data
708: );
709:
710: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
711: THEN
712: RAISE fnd_api.g_exc_unexpected_error;
713: END IF;
714: END IF;
708: );
709:
710: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
711: THEN
712: RAISE fnd_api.g_exc_unexpected_error;
713: END IF;
714: END IF;
715: END IF;
716: END IF;
719: THEN
720: --------------------------
721: -- Create a new reference
722: --------------------------
723: IF (NVL(p_new_object_id, 0) <> fnd_api.g_miss_num AND
724: NVL(p_new_object_id, 0) <> NVL(p_old_object_id, 0))
725: THEN
726: IF p_new_object_code IN ('PARTY')
727: THEN
734: x_msg_data => x_msg_data,
735: x_return_status => x_return_status
736: );
737:
738: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
739: THEN
740: RAISE fnd_api.g_exc_unexpected_error;
741: END IF;
742: ELSE -- other than party Relation, Person, Organization 2102281
736: );
737:
738: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
739: THEN
740: RAISE fnd_api.g_exc_unexpected_error;
741: END IF;
742: ELSE -- other than party Relation, Person, Organization 2102281
743: jtf_task_utl.g_show_error_for_dup_reference := False;
744:
743: jtf_task_utl.g_show_error_for_dup_reference := False;
744:
745: jtf_task_references_pvt.create_references (
746: p_api_version => 1.0,
747: p_init_msg_list => fnd_api.g_false,
748: p_commit => fnd_api.g_false,
749: p_task_id => p_task_id,
750: p_object_type_code => p_new_object_code,
751: p_object_name => p_new_object_name,
744:
745: jtf_task_references_pvt.create_references (
746: p_api_version => 1.0,
747: p_init_msg_list => fnd_api.g_false,
748: p_commit => fnd_api.g_false,
749: p_task_id => p_task_id,
750: p_object_type_code => p_new_object_code,
751: p_object_name => p_new_object_name,
752: p_object_id => p_new_object_id,
755: x_msg_data => x_msg_data,
756: x_task_reference_id => l_task_ref_id
757: );
758:
759: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
760: THEN
761: RAISE fnd_api.g_exc_unexpected_error;
762: END IF;
763: END IF;
757: );
758:
759: IF NOT (x_return_status = fnd_api.g_ret_sts_success)
760: THEN
761: RAISE fnd_api.g_exc_unexpected_error;
762: END IF;
763: END IF;
764: END IF;
765: END IF;
765: END IF;
766:
767: EXCEPTION
768: WHEN OTHERS THEN
769: x_return_status := fnd_api.g_ret_sts_unexp_error;
770: END update_object_code;
771:
772: -- For Fix Bug 2896532
773: FUNCTION get_object_details (p_object_code IN VARCHAR2
799: CLOSE c_object;
800: fnd_message.set_name ('JTF', 'JTF_TASK_INVALID_OBJECT_CODE');
801: fnd_message.set_token ('P_OBJECT_CODE', p_object_code);
802: fnd_msg_pub.add;
803: RAISE fnd_api.g_exc_unexpected_error;
804: END IF;
805: CLOSE c_object;
806:
807: IF l_detail_column IS NOT NULL
830:
831: RETURN l_object_details;
832:
833: EXCEPTION
834: WHEN fnd_api.g_exc_unexpected_error THEN
835: RETURN NULL;
836:
837: WHEN NO_DATA_FOUND THEN
838: RETURN NULL;