49: AND SYSDATE BETWEEN start_date_active
50: AND NVL(end_date_active,SYSDATE);
51: END IF;
52:
53: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
54: EXCEPTION
55: WHEN NO_DATA_FOUND THEN
56: x_return_status := Fnd_Api.G_RET_STS_ERROR;
57: WHEN TOO_MANY_ROWS THEN
52:
53: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
54: EXCEPTION
55: WHEN NO_DATA_FOUND THEN
56: x_return_status := Fnd_Api.G_RET_STS_ERROR;
57: WHEN TOO_MANY_ROWS THEN
58: x_return_status := Fnd_Api.G_RET_STS_ERROR;
59: WHEN OTHERS THEN
60: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
54: EXCEPTION
55: WHEN NO_DATA_FOUND THEN
56: x_return_status := Fnd_Api.G_RET_STS_ERROR;
57: WHEN TOO_MANY_ROWS THEN
58: x_return_status := Fnd_Api.G_RET_STS_ERROR;
59: WHEN OTHERS THEN
60: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
61: RAISE;
62: END;
56: x_return_status := Fnd_Api.G_RET_STS_ERROR;
57: WHEN TOO_MANY_ROWS THEN
58: x_return_status := Fnd_Api.G_RET_STS_ERROR;
59: WHEN OTHERS THEN
60: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
61: RAISE;
62: END;
63:
64: --------------------------------------------------------------------
116: IF G_DEBUG='Y' THEN
117: Ahl_Debug_Pub.debug(': Inside Check Serial Number = ' || x_instance_id);
118: END IF;
119:
120: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
121: EXCEPTION
122: WHEN NO_DATA_FOUND THEN
123: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
124: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
119:
120: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
121: EXCEPTION
122: WHEN NO_DATA_FOUND THEN
123: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
124: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
125: WHEN TOO_MANY_ROWS THEN
126: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
127: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
122: WHEN NO_DATA_FOUND THEN
123: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
124: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
125: WHEN TOO_MANY_ROWS THEN
126: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
127: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
128: WHEN OTHERS THEN
129: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
130: RAISE;
125: WHEN TOO_MANY_ROWS THEN
126: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
127: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
128: WHEN OTHERS THEN
129: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
130: RAISE;
131: END Check_Serial_Name_Or_Id;
132:
133: --------------------------------------------------------------------
206: IF G_DEBUG='Y' THEN
207: Ahl_Debug_Pub.debug(': Inside Check Employee Id= ' || x_Employee_id);
208: END IF;
209:
210: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
211: EXCEPTION
212: WHEN NO_DATA_FOUND THEN
213: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
214: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
209:
210: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
211: EXCEPTION
212: WHEN NO_DATA_FOUND THEN
213: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
214: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
215: WHEN TOO_MANY_ROWS THEN
216: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
217: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
212: WHEN NO_DATA_FOUND THEN
213: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
214: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
215: WHEN TOO_MANY_ROWS THEN
216: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
217: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
218: WHEN OTHERS THEN
219: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
220: RAISE;
215: WHEN TOO_MANY_ROWS THEN
216: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
217: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
218: WHEN OTHERS THEN
219: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
220: RAISE;
221: END Check_Employee_Number_Or_Id;
222:
223: --------------------------------------------------------------------
300: and bre.instance_id = bdri.instance_id
301: and pf.employee_num = p_employee_number;
302:
303: END IF;
304: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
305:
306: EXCEPTION
307: WHEN NO_DATA_FOUND THEN
308: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
304: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
305:
306: EXCEPTION
307: WHEN NO_DATA_FOUND THEN
308: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
309: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
310: WHEN TOO_MANY_ROWS THEN
311: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
312: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
307: WHEN NO_DATA_FOUND THEN
308: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
309: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
310: WHEN TOO_MANY_ROWS THEN
311: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
312: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
313: WHEN OTHERS THEN
314: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
315: RAISE;
310: WHEN TOO_MANY_ROWS THEN
311: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
312: x_error_msg_code:= 'AHL_VWP_EMPLOYEE_NOT_EXISTS';
313: WHEN OTHERS THEN
314: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
315: RAISE;
316: END Check_Employee_Name_Or_Id;
317:
318: ---------------------------------------------------------------------
534: Ahl_Debug_Pub.debug( ': OPERATION_SEQ_NUMBER = ' || p_resrc_assign_rec.OPERATION_SEQ_NUMBER);
535: Ahl_Debug_Pub.debug( ': RESOURCE_SEQ_NUMBER = ' || p_resrc_assign_rec.RESOURCE_SEQ_NUMBER);
536: END IF;
537:
538: IF (p_resrc_assign_rec.ASSIGNMENT_ID IS NULL OR p_resrc_assign_rec.ASSIGNMENT_ID = Fnd_Api.G_MISS_NUM) THEN
539: -- OPERATION_SEQ_NUMBER
540: IF (p_resrc_assign_rec.OPERATION_SEQ_NUMBER IS NULL OR p_resrc_assign_rec.OPERATION_SEQ_NUMBER = Fnd_Api.G_MISS_NUM) THEN
541: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
542: Fnd_Message.set_name ('AHL', 'AHL_PP_OPER_SEQ_MISSING');
536: END IF;
537:
538: IF (p_resrc_assign_rec.ASSIGNMENT_ID IS NULL OR p_resrc_assign_rec.ASSIGNMENT_ID = Fnd_Api.G_MISS_NUM) THEN
539: -- OPERATION_SEQ_NUMBER
540: IF (p_resrc_assign_rec.OPERATION_SEQ_NUMBER IS NULL OR p_resrc_assign_rec.OPERATION_SEQ_NUMBER = Fnd_Api.G_MISS_NUM) THEN
541: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
542: Fnd_Message.set_name ('AHL', 'AHL_PP_OPER_SEQ_MISSING');
543: Fnd_Msg_Pub.ADD;
544: END IF;
541: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
542: Fnd_Message.set_name ('AHL', 'AHL_PP_OPER_SEQ_MISSING');
543: Fnd_Msg_Pub.ADD;
544: END IF;
545: x_return_status := Fnd_Api.g_ret_sts_error;
546: RETURN;
547: END IF;
548:
549: -- OPERATION_SEQ_NUMBER - Positive
546: RETURN;
547: END IF;
548:
549: -- OPERATION_SEQ_NUMBER - Positive
550: IF (p_resrc_assign_rec.OPERATION_SEQ_NUMBER IS NOT NULL AND p_resrc_assign_rec.OPERATION_SEQ_NUMBER <> Fnd_Api.G_MISS_NUM) THEN
551: IF p_resrc_assign_rec.OPERATION_SEQ_NUMBER < 0 THEN
552: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
553: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
554: Fnd_Msg_Pub.ADD;
552: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
553: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
554: Fnd_Msg_Pub.ADD;
555: END IF;
556: x_return_status := Fnd_Api.g_ret_sts_error;
557: RETURN;
558: END IF;
559: END IF;
560:
558: END IF;
559: END IF;
560:
561: -- RESOURCE_SEQ_NUMBER
562: IF (p_resrc_assign_rec.RESOURCE_SEQ_NUMBER IS NULL OR p_resrc_assign_rec.RESOURCE_SEQ_NUMBER = Fnd_Api.G_MISS_NUM) THEN
563: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
564: Fnd_Message.set_name ('AHL', 'AHL_PP_RESRC_SEQ_MISSING');
565: Fnd_Msg_Pub.ADD;
566: RAISE FND_API.G_EXC_ERROR;
562: IF (p_resrc_assign_rec.RESOURCE_SEQ_NUMBER IS NULL OR p_resrc_assign_rec.RESOURCE_SEQ_NUMBER = Fnd_Api.G_MISS_NUM) THEN
563: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
564: Fnd_Message.set_name ('AHL', 'AHL_PP_RESRC_SEQ_MISSING');
565: Fnd_Msg_Pub.ADD;
566: RAISE FND_API.G_EXC_ERROR;
567: END IF;
568: x_return_status := Fnd_Api.g_ret_sts_error;
569: RETURN;
570: END IF;
564: Fnd_Message.set_name ('AHL', 'AHL_PP_RESRC_SEQ_MISSING');
565: Fnd_Msg_Pub.ADD;
566: RAISE FND_API.G_EXC_ERROR;
567: END IF;
568: x_return_status := Fnd_Api.g_ret_sts_error;
569: RETURN;
570: END IF;
571:
572: -- RESOURCE_SEQ_NUMBER - Positive
569: RETURN;
570: END IF;
571:
572: -- RESOURCE_SEQ_NUMBER - Positive
573: IF (p_resrc_assign_rec.RESOURCE_SEQ_NUMBER IS NOT NULL AND p_resrc_assign_rec.RESOURCE_SEQ_NUMBER <> Fnd_Api.G_MISS_NUM) THEN
574: IF p_resrc_assign_rec.RESOURCE_SEQ_NUMBER < 0 THEN
575: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
576: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
577: Fnd_Msg_Pub.ADD;
575: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
576: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
577: Fnd_Msg_Pub.ADD;
578: END IF;
579: x_return_status := Fnd_Api.g_ret_sts_error;
580: RETURN;
581: END IF;
582: END IF;
583: END IF;
594: END IF;
595:
596: --IF (p_resrc_assign_rec.employee_id IS NULL) THEN
597: /*
598: IF (p_resrc_assign_rec.EMPLOYEE_NUMBER IS NULL OR p_resrc_assign_rec.EMPLOYEE_NUMBER = Fnd_Api.G_MISS_CHAR) THEN
599: IF G_DEBUG='Y' THEN
600: Ahl_Debug_Pub.debug( ': Resource Type 22222= ' || p_resrc_assign_rec.RESOURCE_TYPE_CODE);
601: END IF;
602:
603: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
604: Fnd_Message.set_name ('AHL', 'AHL_PP_EMP_NUM_MISSING');
605: Fnd_Msg_Pub.ADD;
606: END IF;
607: x_return_status := Fnd_Api.g_ret_sts_error;
608: RETURN;
609: END IF; */
610: --END IF; -- p_resrc_assign_rec.employee_id IS NULL
611: IF (p_resrc_assign_rec.EMPLOYEE_ID IS NULL OR p_resrc_assign_rec.EMPLOYEE_ID = Fnd_Api.G_MISS_NUM) THEN
607: x_return_status := Fnd_Api.g_ret_sts_error;
608: RETURN;
609: END IF; */
610: --END IF; -- p_resrc_assign_rec.employee_id IS NULL
611: IF (p_resrc_assign_rec.EMPLOYEE_ID IS NULL OR p_resrc_assign_rec.EMPLOYEE_ID = Fnd_Api.G_MISS_NUM) THEN
612: IF G_DEBUG='Y' THEN
613: Ahl_Debug_Pub.debug( ': Resource Type 22222= ' || p_resrc_assign_rec.RESOURCE_TYPE_CODE);
614: END IF;
615:
616: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
617: Fnd_Message.set_name ('AHL', 'AHL_PP_EMP_NUM_MISSING');
618: Fnd_Msg_Pub.ADD;
619: END IF;
620: x_return_status := Fnd_Api.g_ret_sts_error;
621: RETURN;
622: END IF;
623: END IF; -- p_resrc_assign_rec.RESOURCE_TYPE_CODE
624:
623: END IF; -- p_resrc_assign_rec.RESOURCE_TYPE_CODE
624:
625: IF p_resrc_assign_rec.RESOURCE_TYPE_CODE <> 2 THEN
626: -- SERIAL NUMBER
627: IF (p_resrc_assign_rec.SERIAL_NUMBER IS NULL OR p_resrc_assign_rec.SERIAL_NUMBER = Fnd_Api.G_MISS_CHAR) THEN
628: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
629: Fnd_Message.set_name ('AHL', 'AHL_PP_SERIAL_MISSING');
630: Fnd_Msg_Pub.ADD;
631: END IF;
628: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
629: Fnd_Message.set_name ('AHL', 'AHL_PP_SERIAL_MISSING');
630: Fnd_Msg_Pub.ADD;
631: END IF;
632: x_return_status := Fnd_Api.g_ret_sts_error;
633: RETURN;
634: END IF;
635: END IF;
636:
634: END IF;
635: END IF;
636:
637: -- ASSIGN_START_DATE
638: IF (p_resrc_assign_rec.ASSIGN_START_DATE IS NULL OR p_resrc_assign_rec.ASSIGN_START_DATE = Fnd_Api.G_MISS_DATE)THEN
639: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
640: Fnd_Message.set_name ('AHL', 'AHL_PP_ASSIGN_ST_DT_MISSING');
641: Fnd_Msg_Pub.ADD;
642: END IF;
639: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
640: Fnd_Message.set_name ('AHL', 'AHL_PP_ASSIGN_ST_DT_MISSING');
641: Fnd_Msg_Pub.ADD;
642: END IF;
643: x_return_status := Fnd_Api.g_ret_sts_error;
644: RETURN;
645: END IF;
646:
647: -- ASSIGN_END_DATE
644: RETURN;
645: END IF;
646:
647: -- ASSIGN_END_DATE
648: IF (p_resrc_assign_rec.ASSIGN_END_DATE IS NULL OR p_resrc_assign_rec.ASSIGN_END_DATE = Fnd_Api.G_MISS_DATE)THEN
649: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
650: Fnd_Message.set_name ('AHL', 'AHL_PP_ASSIGN_END_DT_MISSING');
651: Fnd_Msg_Pub.ADD;
652: END IF;
649: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
650: Fnd_Message.set_name ('AHL', 'AHL_PP_ASSIGN_END_DT_MISSING');
651: Fnd_Msg_Pub.ADD;
652: END IF;
653: x_return_status := Fnd_Api.g_ret_sts_error;
654: RETURN;
655: END IF;
656: END Check_Resrc_Assign_Req_Items;
657:
663: )
664: IS
665: l_valid_flag VARCHAR2(1);
666: BEGIN
667: x_return_status := Fnd_Api.g_ret_sts_success;
668: --
669: -- For Create_Visit, when ID is passed in, we need to
670: -- check if this ID is unique.
671: RETURN;
689: p_resrc_assign_rec => p_resrc_assign_rec,
690: x_return_status => x_return_status
691: );
692:
693: IF x_return_status <> Fnd_Api.g_ret_sts_success THEN
694: RETURN;
695: END IF;
696:
697: --
701: p_validation_mode => p_validation_mode,
702: x_return_status => x_return_status
703: );
704:
705: IF x_return_status <> Fnd_Api.g_ret_sts_success THEN
706: RETURN;
707: END IF;
708:
709: END Check_Resrc_Assign_Items;
714: --
715: --------------------------------------------------------------------
716: PROCEDURE Validate_Resrc_Assign (
717: p_api_version IN NUMBER,
718: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
719: p_commit IN VARCHAR2 := Fnd_Api.g_false,
720: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
721: p_resrc_assign_rec IN Resrc_Assign_Rec_Type,
722:
715: --------------------------------------------------------------------
716: PROCEDURE Validate_Resrc_Assign (
717: p_api_version IN NUMBER,
718: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
719: p_commit IN VARCHAR2 := Fnd_Api.g_false,
720: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
721: p_resrc_assign_rec IN Resrc_Assign_Rec_Type,
722:
723: x_return_status OUT NOCOPY VARCHAR2,
716: PROCEDURE Validate_Resrc_Assign (
717: p_api_version IN NUMBER,
718: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
719: p_commit IN VARCHAR2 := Fnd_Api.g_false,
720: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
721: p_resrc_assign_rec IN Resrc_Assign_Rec_Type,
722:
723: x_return_status OUT NOCOPY VARCHAR2,
724: x_msg_count OUT NOCOPY NUMBER,
777: IF G_DEBUG='Y' THEN
778: Ahl_Debug_Pub.debug( l_full_name ||':Start');
779: END IF;
780:
781: IF Fnd_Api.to_boolean (p_init_msg_list) THEN
782: Fnd_Msg_Pub.initialize;
783: END IF;
784:
785: IF NOT Fnd_Api.compatible_api_call (
781: IF Fnd_Api.to_boolean (p_init_msg_list) THEN
782: Fnd_Msg_Pub.initialize;
783: END IF;
784:
785: IF NOT Fnd_Api.compatible_api_call (
786: l_api_version,
787: p_api_version,
788: l_api_name,
789: G_PKG_NAME
787: p_api_version,
788: l_api_name,
789: G_PKG_NAME
790: ) THEN
791: RAISE Fnd_Api.g_exc_unexpected_error;
792: END IF;
793: x_return_status := Fnd_Api.g_ret_sts_success;
794:
795: ---------------------- validate ------------------------
789: G_PKG_NAME
790: ) THEN
791: RAISE Fnd_Api.g_exc_unexpected_error;
792: END IF;
793: x_return_status := Fnd_Api.g_ret_sts_success;
794:
795: ---------------------- validate ------------------------
796: IF G_DEBUG='Y' THEN
797: Ahl_Debug_Pub.debug( l_full_name ||':Check items');
803: p_validation_mode => Jtf_Plsql_Api.g_create,
804: x_return_status => l_return_status
805: );
806:
807: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
808: RAISE Fnd_Api.g_exc_unexpected_error;
809: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
810: RAISE Fnd_Api.g_exc_error;
811: END IF;
804: x_return_status => l_return_status
805: );
806:
807: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
808: RAISE Fnd_Api.g_exc_unexpected_error;
809: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
810: RAISE Fnd_Api.g_exc_error;
811: END IF;
812: END IF;
805: );
806:
807: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
808: RAISE Fnd_Api.g_exc_unexpected_error;
809: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
810: RAISE Fnd_Api.g_exc_error;
811: END IF;
812: END IF;
813:
806:
807: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
808: RAISE Fnd_Api.g_exc_unexpected_error;
809: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
810: RAISE Fnd_Api.g_exc_error;
811: END IF;
812: END IF;
813:
814: --
812: END IF;
813:
814: --
815: -- Use local vars to reduce amount of typing.
816: IF p_resrc_assign_rec.assign_start_date IS NOT NULL AND p_resrc_assign_rec.assign_start_date <> Fnd_Api.g_miss_date THEN
817: l_assign_start_date := p_resrc_assign_rec.assign_start_date;
818: END IF;
819:
820: IF p_resrc_assign_rec.assign_end_date IS NOT NULL AND p_resrc_assign_rec.assign_end_date <> Fnd_Api.g_miss_date THEN
816: IF p_resrc_assign_rec.assign_start_date IS NOT NULL AND p_resrc_assign_rec.assign_start_date <> Fnd_Api.g_miss_date THEN
817: l_assign_start_date := p_resrc_assign_rec.assign_start_date;
818: END IF;
819:
820: IF p_resrc_assign_rec.assign_end_date IS NOT NULL AND p_resrc_assign_rec.assign_end_date <> Fnd_Api.g_miss_date THEN
821: l_assign_end_date := p_resrc_assign_rec.assign_end_date;
822: END IF;
823:
824: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
820: IF p_resrc_assign_rec.assign_end_date IS NOT NULL AND p_resrc_assign_rec.assign_end_date <> Fnd_Api.g_miss_date THEN
821: l_assign_end_date := p_resrc_assign_rec.assign_end_date;
822: END IF;
823:
824: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
825: --
826: -- Validate the active dates.
827: IF l_assign_start_date IS NOT NULL AND l_assign_end_date IS NOT NULL THEN
828:
832: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
833: Fnd_Message.set_name ('AHL', 'AHL_PP_ASG_FROMDT_GTR_TODT');
834: Fnd_Msg_Pub.ADD;
835: END IF;
836: x_return_status := Fnd_Api.g_ret_sts_error;
837: RETURN;
838: END IF;
839:
840: -----Validate Assignment Dates against Job start-end dates
853: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
854: Fnd_Message.set_name ('AHL', 'AHL_PP_ASG_EARLY_ACTUAL');
855: Fnd_Msg_Pub.ADD;
856: END IF;
857: x_return_status := Fnd_Api.g_ret_sts_error;
858: RETURN;
859: END IF;
860:
861: IF l_actual_end_date is not null and l_assign_end_date > l_actual_end_date THEN
863: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
864: Fnd_Message.set_name ('AHL', 'AHL_PP_ASG_LATER_ACTUAL');
865: Fnd_Msg_Pub.ADD;
866: END IF;
867: x_return_status := Fnd_Api.g_ret_sts_error;
868: RETURN;
869: END IF;
870:
871: ELSE
875: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
876: Fnd_Message.set_name ('AHL', 'AHL_PP_ASG_EARLY_SCHEDULE');
877: Fnd_Msg_Pub.ADD;
878: END IF;
879: x_return_status := Fnd_Api.g_ret_sts_error;
880: RETURN;
881: END IF;
882:
883: IF l_scheduled_end_date is not null and l_assign_end_date > l_scheduled_end_date THEN
885: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
886: Fnd_Message.set_name ('AHL', 'AHL_PP_ASG_LATER_SCHEDULE');
887: Fnd_Msg_Pub.ADD;
888: END IF;
889: x_return_status := Fnd_Api.g_ret_sts_error;
890: RETURN;
891: END IF;
892:
893: END IF;
910: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
911: Fnd_Message.set_name ('AHL', 'AHL_PP_ASG_STDT_GTR_EMP_STDT');
912: Fnd_Msg_Pub.ADD;
913: END IF;
914: x_return_status := Fnd_Api.g_ret_sts_error;
915: RETURN;
916: END IF;
917: */
918: IF trunc(l_assign_end_date) > trunc(l_eff_end_date) THEN
919: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
920: Fnd_Message.set_name ('AHL', 'AHL_PP_EMP_ENDDT_GTR_ASG_ENDDT');
921: Fnd_Msg_Pub.ADD;
922: END IF;
923: x_return_status := Fnd_Api.g_ret_sts_error;
924: RETURN;
925: END IF;
926: END IF;
927:
926: END IF;
927:
928: -------------------- finish --------------------------
929: Fnd_Msg_Pub.count_and_get (
930: p_encoded => Fnd_Api.g_false,
931: p_count => x_msg_count,
932: p_data => x_msg_data
933: );
934:
941: Ahl_Debug_Pub.disable_debug;
942: END IF;
943:
944: EXCEPTION
945: WHEN Fnd_Api.g_exc_error THEN
946: x_return_status := Fnd_Api.g_ret_sts_error;
947: Fnd_Msg_Pub.count_and_get (
948: p_encoded => Fnd_Api.g_false,
949: p_count => x_msg_count,
942: END IF;
943:
944: EXCEPTION
945: WHEN Fnd_Api.g_exc_error THEN
946: x_return_status := Fnd_Api.g_ret_sts_error;
947: Fnd_Msg_Pub.count_and_get (
948: p_encoded => Fnd_Api.g_false,
949: p_count => x_msg_count,
950: p_data => x_msg_data
944: EXCEPTION
945: WHEN Fnd_Api.g_exc_error THEN
946: x_return_status := Fnd_Api.g_ret_sts_error;
947: Fnd_Msg_Pub.count_and_get (
948: p_encoded => Fnd_Api.g_false,
949: p_count => x_msg_count,
950: p_data => x_msg_data
951: );
952: WHEN Fnd_Api.g_exc_unexpected_error THEN
948: p_encoded => Fnd_Api.g_false,
949: p_count => x_msg_count,
950: p_data => x_msg_data
951: );
952: WHEN Fnd_Api.g_exc_unexpected_error THEN
953: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
954: Fnd_Msg_Pub.count_and_get (
955: p_encoded => Fnd_Api.g_false,
956: p_count => x_msg_count,
949: p_count => x_msg_count,
950: p_data => x_msg_data
951: );
952: WHEN Fnd_Api.g_exc_unexpected_error THEN
953: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
954: Fnd_Msg_Pub.count_and_get (
955: p_encoded => Fnd_Api.g_false,
956: p_count => x_msg_count,
957: p_data => x_msg_data
951: );
952: WHEN Fnd_Api.g_exc_unexpected_error THEN
953: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
954: Fnd_Msg_Pub.count_and_get (
955: p_encoded => Fnd_Api.g_false,
956: p_count => x_msg_count,
957: p_data => x_msg_data
958: );
959: WHEN OTHERS THEN
956: p_count => x_msg_count,
957: p_data => x_msg_data
958: );
959: WHEN OTHERS THEN
960: x_return_status := Fnd_Api.g_ret_sts_unexp_error;
961: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_unexp_error)
962: THEN
963: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
964: END IF;
963: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
964: END IF;
965:
966: Fnd_Msg_Pub.count_and_get (
967: p_encoded => Fnd_Api.g_false,
968: p_count => x_msg_count,
969: p_data => x_msg_data
970: );
971: END Validate_Resrc_Assign;
983: -- Parameters :
984: --
985: -- Standard IN Parameters :
986: -- p_api_version IN NUMBER Required
987: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
988: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
989: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
990: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
991: -- p_module_type IN VARCHAR2 Default NULL.
984: --
985: -- Standard IN Parameters :
986: -- p_api_version IN NUMBER Required
987: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
988: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
989: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
990: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
991: -- p_module_type IN VARCHAR2 Default NULL.
992: --
985: -- Standard IN Parameters :
986: -- p_api_version IN NUMBER Required
987: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
988: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
989: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
990: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
991: -- p_module_type IN VARCHAR2 Default NULL.
992: --
993: -- Standard OUT Parameters :
986: -- p_api_version IN NUMBER Required
987: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
988: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
989: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
990: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
991: -- p_module_type IN VARCHAR2 Default NULL.
992: --
993: -- Standard OUT Parameters :
994: -- x_return_status OUT VARCHAR2 Required
1005: -- End of Comments.
1006:
1007: PROCEDURE Create_Resrc_Assign (
1008: p_api_version IN NUMBER,
1009: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
1010: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
1011: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
1012: p_module_type IN VARCHAR2 := NULL,
1013: p_x_resrc_assign_tbl IN OUT NOCOPY Resrc_Assign_Tbl_Type,
1006:
1007: PROCEDURE Create_Resrc_Assign (
1008: p_api_version IN NUMBER,
1009: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
1010: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
1011: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
1012: p_module_type IN VARCHAR2 := NULL,
1013: p_x_resrc_assign_tbl IN OUT NOCOPY Resrc_Assign_Tbl_Type,
1014: x_return_status OUT NOCOPY VARCHAR2,
1007: PROCEDURE Create_Resrc_Assign (
1008: p_api_version IN NUMBER,
1009: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
1010: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
1011: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
1012: p_module_type IN VARCHAR2 := NULL,
1013: p_x_resrc_assign_tbl IN OUT NOCOPY Resrc_Assign_Tbl_Type,
1014: x_return_status OUT NOCOPY VARCHAR2,
1015: x_msg_count OUT NOCOPY NUMBER,
1210: AHL_DEBUG_PUB.debug( 'Enter AHL_PP_RESRC_ASSIGN_PVT. Create_Resrc_Assign','+PPResrc_Assign_Pvt+');
1211: END IF;
1212:
1213: -- Standard call to check for call compatibility.
1214: IF FND_API.to_boolean(p_init_msg_list)
1215: THEN
1216: FND_MSG_PUB.initialize;
1217: END IF;
1218:
1216: FND_MSG_PUB.initialize;
1217: END IF;
1218:
1219: -- Initialize API return status to success
1220: x_return_status := FND_API.G_RET_STS_SUCCESS;
1221:
1222: -- Initialize message list if p_init_msg_list is set to TRUE.
1223: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
1224: p_api_version,
1219: -- Initialize API return status to success
1220: x_return_status := FND_API.G_RET_STS_SUCCESS;
1221:
1222: -- Initialize message list if p_init_msg_list is set to TRUE.
1223: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
1224: p_api_version,
1225: l_api_name,G_PKG_NAME)
1226: THEN
1227: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1223: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
1224: p_api_version,
1225: l_api_name,G_PKG_NAME)
1226: THEN
1227: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1228: END IF;
1229:
1230: --------------------Start of API Body-----------------------------------
1231: --------------------Value OR ID conversion------------------------------
1246: END IF;
1247: --
1248: IF p_x_resrc_assign_tbl(i).workorder_id IS NOT NULL THEN
1249: IF p_x_resrc_assign_tbl(i).operation_seq_number IS NOT NULL AND
1250: p_x_resrc_assign_tbl(i).operation_seq_number <> FND_API.G_MISS_NUM AND
1251: p_x_resrc_assign_tbl(i).resource_seq_number IS NOT NULL AND
1252: p_x_resrc_assign_tbl(i).resource_seq_number <> FND_API.G_MISS_NUM THEN
1253: OPEN c_oper_resrc(p_x_resrc_assign_tbl(i).workorder_id, p_x_resrc_assign_tbl(i).operation_seq_number,
1254: p_x_resrc_assign_tbl(i).resource_seq_number);
1248: IF p_x_resrc_assign_tbl(i).workorder_id IS NOT NULL THEN
1249: IF p_x_resrc_assign_tbl(i).operation_seq_number IS NOT NULL AND
1250: p_x_resrc_assign_tbl(i).operation_seq_number <> FND_API.G_MISS_NUM AND
1251: p_x_resrc_assign_tbl(i).resource_seq_number IS NOT NULL AND
1252: p_x_resrc_assign_tbl(i).resource_seq_number <> FND_API.G_MISS_NUM THEN
1253: OPEN c_oper_resrc(p_x_resrc_assign_tbl(i).workorder_id, p_x_resrc_assign_tbl(i).operation_seq_number,
1254: p_x_resrc_assign_tbl(i).resource_seq_number);
1255: FETCH c_oper_resrc INTO l_oper_resrc_id, l_wo_operation_id,l_resource_id;
1256: IF c_oper_resrc%NOTFOUND THEN
1256: IF c_oper_resrc%NOTFOUND THEN
1257: AHL_DEBUG_PUB.debug(l_full_name || 'c_oper_resrc i.e Cursor not found');
1258: Fnd_Message.SET_NAME('AHL','AHL_PP_RESRC_REQ_NOT_EXISTS');
1259: Fnd_Msg_Pub.ADD;
1260: RAISE Fnd_Api.G_EXC_ERROR;
1261: END IF;
1262: CLOSE c_oper_resrc;
1263:
1264: END IF; -- Check resrc sequence number
1272: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => p_x_resrc_assign_tbl(i).workorder_id,
1273: p_ue_id => NULL,
1274: p_visit_id => NULL,
1275: p_item_instance_id => NULL);
1276: IF l_return_status = FND_API.G_TRUE THEN
1277: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_CRT_RESASG_UNTLCKD');
1278: FND_MSG_PUB.ADD;
1279: RAISE FND_API.G_EXC_ERROR;
1280: END IF;
1275: p_item_instance_id => NULL);
1276: IF l_return_status = FND_API.G_TRUE THEN
1277: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_CRT_RESASG_UNTLCKD');
1278: FND_MSG_PUB.ADD;
1279: RAISE FND_API.G_EXC_ERROR;
1280: END IF;
1281: -- rroy
1282: -- ACL Changes
1283:
1304:
1305: CLOSE c_resource;
1306: Fnd_Message.SET_NAME('AHL','AHL_PP_NO_RES_TYPE_FOUND');
1307: Fnd_Msg_Pub.ADD;
1308: RAISE Fnd_Api.G_EXC_ERROR;
1309: END IF;
1310:
1311: Ahl_Debug_Pub.debug( 'l_resource_type = ' || l_resource_type);
1312: Ahl_Debug_Pub.debug( 'p_x_resrc_assign_tbl(i).instance_id = ' || p_x_resrc_assign_tbl(i).instance_id);
1433: AHL_DEBUG_PUB.debug(l_full_name || 'Serial:' || p_x_resrc_assign_tbl(i).serial_number);
1434: END IF;
1435:
1436: IF l_resource_type <> 2 THEN
1437: /*IF ((l_Resrc_Assign_Rec.employee_number IS NOT NULL AND l_Resrc_Assign_Rec.employee_number <> Fnd_Api.G_MISS_CHAR)
1438: Ot
1439: (l_Resrc_Assign_Rec.employee_name IS NOT NULL AND l_Resrc_Assign_Rec.employee_name <> Fnd_Api.G_MISS_CHAR))
1440: THEN
1441: Fnd_Message.SET_NAME('AHL','AHL_PP_EMPLOYEE_NOT_REQ');
1435:
1436: IF l_resource_type <> 2 THEN
1437: /*IF ((l_Resrc_Assign_Rec.employee_number IS NOT NULL AND l_Resrc_Assign_Rec.employee_number <> Fnd_Api.G_MISS_CHAR)
1438: Ot
1439: (l_Resrc_Assign_Rec.employee_name IS NOT NULL AND l_Resrc_Assign_Rec.employee_name <> Fnd_Api.G_MISS_CHAR))
1440: THEN
1441: Fnd_Message.SET_NAME('AHL','AHL_PP_EMPLOYEE_NOT_REQ');
1442: Fnd_Msg_Pub.ADD;
1443: RAISE Fnd_Api.G_EXC_ERROR;
1439: (l_Resrc_Assign_Rec.employee_name IS NOT NULL AND l_Resrc_Assign_Rec.employee_name <> Fnd_Api.G_MISS_CHAR))
1440: THEN
1441: Fnd_Message.SET_NAME('AHL','AHL_PP_EMPLOYEE_NOT_REQ');
1442: Fnd_Msg_Pub.ADD;
1443: RAISE Fnd_Api.G_EXC_ERROR;
1444: END IF;*/
1445:
1446: -- Convert serial number to instance/ serial id
1447: IF (p_x_resrc_assign_tbl(i).serial_number IS NOT NULL AND
1444: END IF;*/
1445:
1446: -- Convert serial number to instance/ serial id
1447: IF (p_x_resrc_assign_tbl(i).serial_number IS NOT NULL AND
1448: p_x_resrc_assign_tbl(i).serial_number <> Fnd_Api.G_MISS_CHAR ) THEN
1449:
1450: OPEN c_assign (p_x_resrc_assign_tbl(i).workorder_id, p_x_resrc_assign_tbl(i).operation_seq_number,
1451: p_x_resrc_assign_tbl(i).resource_seq_number);
1452: FETCH c_assign INTO l_resource_id;
1470: IF NVL(l_return_status,'x') <> 'S'
1471: THEN
1472: Fnd_Message.SET_NAME('AHL','AHL_PP_SERIAL_NOT_EXISTS');
1473: Fnd_Msg_Pub.ADD;
1474: RAISE Fnd_Api.G_EXC_ERROR;
1475: END IF;
1476: END IF;
1477:
1478: --Assign the returned value
1493: IF G_DEBUG='Y' THEN
1494: AHL_DEBUG_PUB.debug(l_full_name || 'RESOURCE TYPE in Cursor' || l_resource_type);
1495: END IF;
1496:
1497: /*IF (l_Resrc_Assign_Rec.serial_number IS NOT NULL AND l_Resrc_Assign_Rec.serial_number <> Fnd_Api.G_MISS_CHAR)
1498: THEN
1499: Fnd_Message.SET_NAME('AHL','AHL_PP_EMPLOYEE_NOT_REQ');
1500: Fnd_Msg_Pub.ADD;
1501: RAISE Fnd_Api.G_EXC_ERROR;
1497: /*IF (l_Resrc_Assign_Rec.serial_number IS NOT NULL AND l_Resrc_Assign_Rec.serial_number <> Fnd_Api.G_MISS_CHAR)
1498: THEN
1499: Fnd_Message.SET_NAME('AHL','AHL_PP_EMPLOYEE_NOT_REQ');
1500: Fnd_Msg_Pub.ADD;
1501: RAISE Fnd_Api.G_EXC_ERROR;
1502: END IF;*/
1503: IF G_DEBUG='Y' THEN
1504: AHL_DEBUG_PUB.debug(l_full_name || 'RESOURCE TYPE in record -- ' || p_x_resrc_assign_tbl(i).resource_type_code);
1505: END IF;
1504: AHL_DEBUG_PUB.debug(l_full_name || 'RESOURCE TYPE in record -- ' || p_x_resrc_assign_tbl(i).resource_type_code);
1505: END IF;
1506:
1507: -- For Employee Number
1508: IF (p_x_resrc_assign_tbl(i).employee_number IS NOT NULL AND p_x_resrc_assign_tbl(i).employee_number <> Fnd_Api.G_MISS_CHAR)
1509: THEN
1510: IF G_DEBUG='Y' THEN
1511: Ahl_Debug_Pub.debug(': Inside EMployee Number = ' || p_x_resrc_assign_tbl(i).employee_number);
1512: END IF;
1526: IF NVL(l_return_status, 'X') <> 'S'
1527: THEN
1528: Fnd_Message.SET_NAME('AHL','AHL_PP_EMP_NUM_NOT_EXISTS');
1529: Fnd_Msg_Pub.ADD;
1530: RAISE Fnd_Api.G_EXC_ERROR;
1531: END IF;
1532:
1533: END IF;
1534:
1532:
1533: END IF;
1534:
1535: -- For Employee Name
1536: IF (p_x_resrc_assign_tbl(i).employee_name IS NOT NULL AND p_x_resrc_assign_tbl(i).employee_name <> Fnd_Api.G_MISS_CHAR)
1537: THEN
1538: IF G_DEBUG='Y' THEN
1539: Ahl_Debug_Pub.debug( l_full_name ||': Inside Employee Name = ' || p_x_resrc_assign_tbl(i).employee_name);
1540: END IF;
1554: IF NVL(l_return_status, 'X') <> 'S'
1555: THEN
1556: Fnd_Message.SET_NAME('AHL','AHL_PP_EMP_NAME_NOT_EXISTS');
1557: Fnd_Msg_Pub.ADD;
1558: RAISE Fnd_Api.G_EXC_ERROR;
1559: END IF;
1560:
1561: IF p_x_resrc_assign_tbl(i).employee_id <> l_employee_id THEN
1562: Fnd_Message.SET_NAME('AHL','AHL_PP_USE_EMP_NAME_LOV');
1572: p_x_resrc_assign_tbl(i).employee_id := l_employee_id;
1573: END IF;
1574:
1575: -- Get instance id
1576: IF (p_x_resrc_assign_tbl(i).employee_id IS NOT NULL AND p_x_resrc_assign_tbl(i).employee_id <> Fnd_Api.G_MISS_NUM)
1577: THEN
1578: --
1579: OPEN c_instance_cur (p_x_resrc_assign_tbl(i).employee_id,
1580: l_resource_id, p_x_resrc_assign_tbl(i).department_id);
1611: l_msg_count := Fnd_Msg_Pub.count_msg;
1612:
1613: IF l_msg_count > 0 THEN
1614: X_msg_count := l_msg_count;
1615: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1616: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1617: END IF;
1618: -- Call Eam Api to create resource assignment in WIP
1619: IF p_x_resrc_assign_tbl.COUNT > 0 THEN
1612:
1613: IF l_msg_count > 0 THEN
1614: X_msg_count := l_msg_count;
1615: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1616: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1617: END IF;
1618: -- Call Eam Api to create resource assignment in WIP
1619: IF p_x_resrc_assign_tbl.COUNT > 0 THEN
1620: j := 1;
1666: --
1667: IF l_return_status = 'S' THEN
1668: IF p_x_resrc_assign_tbl.COUNT > 0 THEN
1669: FOR i IN p_x_resrc_assign_tbl.FIRST..p_x_resrc_assign_tbl.LAST LOOP
1670: IF p_x_resrc_assign_tbl(i).Assignment_id is null or p_x_resrc_assign_tbl(i).Assignment_id = FND_API.G_MISS_NUM
1671: THEN
1672: -- These conditions are required for optional fields
1673: -- Employee Id
1674: IF p_x_resrc_assign_tbl(i).Employee_id = FND_API.G_MISS_NUM
1670: IF p_x_resrc_assign_tbl(i).Assignment_id is null or p_x_resrc_assign_tbl(i).Assignment_id = FND_API.G_MISS_NUM
1671: THEN
1672: -- These conditions are required for optional fields
1673: -- Employee Id
1674: IF p_x_resrc_assign_tbl(i).Employee_id = FND_API.G_MISS_NUM
1675: THEN
1676: l_resrc_assign_tbl(i).Employee_id := NULL;
1677: ELSE
1678: l_resrc_assign_tbl(i).Employee_id := p_x_resrc_assign_tbl(i).Employee_id;
1678: l_resrc_assign_tbl(i).Employee_id := p_x_resrc_assign_tbl(i).Employee_id;
1679: END IF;
1680:
1681: -- Serial Number
1682: IF p_x_resrc_assign_tbl(i).Serial_Number = FND_API.G_MISS_CHAR
1683: THEN
1684: l_resrc_assign_tbl(i).Serial_Number := NULL;
1685: ELSE
1686: l_resrc_assign_tbl(i).Serial_Number := p_x_resrc_assign_tbl(i).Serial_Number;
1685: ELSE
1686: l_resrc_assign_tbl(i).Serial_Number := p_x_resrc_assign_tbl(i).Serial_Number;
1687: END IF;
1688: -- Instance Id
1689: IF p_x_resrc_assign_tbl(i).Instance_id = FND_API.G_MISS_NUM
1690: THEN
1691: l_resrc_assign_tbl(i).Instance_id := NULL;
1692: ELSE
1693: l_resrc_assign_tbl(i).Instance_id := p_x_resrc_assign_tbl(i).Instance_id;
1692: ELSE
1693: l_resrc_assign_tbl(i).Instance_id := p_x_resrc_assign_tbl(i).Instance_id;
1694: END IF;
1695: -- Last Updated Date
1696: IF p_x_resrc_assign_tbl(i).last_update_login = FND_API.G_MISS_NUM
1697: THEN
1698: l_resrc_assign_tbl(i).last_update_login := NULL;
1699: ELSE
1700: l_resrc_assign_tbl(i).last_update_login := p_x_resrc_assign_tbl(i).last_update_login;
1699: ELSE
1700: l_resrc_assign_tbl(i).last_update_login := p_x_resrc_assign_tbl(i).last_update_login;
1701: END IF;
1702: -- Attribute Category
1703: IF p_x_resrc_assign_tbl(i).attribute_category = FND_API.G_MISS_CHAR
1704: THEN
1705: l_resrc_assign_tbl(i).attribute_category := NULL;
1706: ELSE
1707: l_resrc_assign_tbl(i).attribute_category := p_x_resrc_assign_tbl(i).attribute_category;
1706: ELSE
1707: l_resrc_assign_tbl(i).attribute_category := p_x_resrc_assign_tbl(i).attribute_category;
1708: END IF;
1709: -- Attribute1
1710: IF p_x_resrc_assign_tbl(i).attribute1 = FND_API.G_MISS_CHAR
1711: THEN
1712: l_resrc_assign_tbl(i).attribute1 := NULL;
1713: ELSE
1714: l_Resrc_Assign_tbl(i).attribute1 := p_x_Resrc_Assign_tbl(i).attribute1;
1713: ELSE
1714: l_Resrc_Assign_tbl(i).attribute1 := p_x_Resrc_Assign_tbl(i).attribute1;
1715: END IF;
1716: -- Attribute2
1717: IF p_x_resrc_assign_tbl(i).attribute2 = FND_API.G_MISS_CHAR
1718: THEN
1719: l_Resrc_Assign_tbl(i).attribute2 := NULL;
1720: ELSE
1721: l_Resrc_Assign_tbl(i).attribute2 := p_x_resrc_assign_tbl(i).attribute2;
1720: ELSE
1721: l_Resrc_Assign_tbl(i).attribute2 := p_x_resrc_assign_tbl(i).attribute2;
1722: END IF;
1723: -- Attribute3
1724: IF p_x_resrc_assign_tbl(i).attribute3 = FND_API.G_MISS_CHAR
1725: THEN
1726: l_Resrc_Assign_tbl(i).attribute3 := NULL;
1727: ELSE
1728: l_Resrc_Assign_tbl(i).attribute3 := p_x_resrc_assign_tbl(i).attribute3;
1727: ELSE
1728: l_Resrc_Assign_tbl(i).attribute3 := p_x_resrc_assign_tbl(i).attribute3;
1729: END IF;
1730: -- Attribute4
1731: IF p_x_resrc_assign_tbl(i).attribute4 = FND_API.G_MISS_CHAR
1732: THEN
1733: l_Resrc_Assign_tbl(i).attribute4 := NULL;
1734: ELSE
1735: l_Resrc_Assign_tbl(i).attribute4 := p_x_resrc_assign_tbl(i).attribute4;
1734: ELSE
1735: l_Resrc_Assign_tbl(i).attribute4 := p_x_resrc_assign_tbl(i).attribute4;
1736: END IF;
1737: -- Attribute5
1738: IF p_x_resrc_assign_tbl(i).attribute5 = FND_API.G_MISS_CHAR
1739: THEN
1740: l_Resrc_Assign_tbl(i).attribute5 := NULL;
1741: ELSE
1742: l_Resrc_Assign_tbl(i).attribute5 := p_x_resrc_assign_tbl(i).attribute5;
1741: ELSE
1742: l_Resrc_Assign_tbl(i).attribute5 := p_x_resrc_assign_tbl(i).attribute5;
1743: END IF;
1744: -- Attribute6
1745: IF p_x_resrc_assign_tbl(i).attribute6 = FND_API.G_MISS_CHAR
1746: THEN
1747: l_Resrc_Assign_tbl(i).attribute6 := NULL;
1748: ELSE
1749: l_Resrc_Assign_tbl(i).attribute6 := p_x_resrc_assign_tbl(i).attribute6;
1748: ELSE
1749: l_Resrc_Assign_tbl(i).attribute6 := p_x_resrc_assign_tbl(i).attribute6;
1750: END IF;
1751: -- Attribute7
1752: IF p_x_resrc_assign_tbl(i).attribute7 = FND_API.G_MISS_CHAR
1753: THEN
1754: l_Resrc_Assign_tbl(i).attribute7 := NULL;
1755: ELSE
1756: l_Resrc_Assign_tbl(i).attribute7 := p_x_resrc_assign_tbl(i).attribute7;
1755: ELSE
1756: l_Resrc_Assign_tbl(i).attribute7 := p_x_resrc_assign_tbl(i).attribute7;
1757: END IF;
1758: -- Attribute8
1759: IF p_x_resrc_assign_tbl(i).attribute8 = FND_API.G_MISS_CHAR
1760: THEN
1761: l_Resrc_Assign_tbl(i).attribute8 := NULL;
1762: ELSE
1763: l_Resrc_Assign_tbl(i).attribute8 := p_x_resrc_assign_tbl(i).attribute8;
1762: ELSE
1763: l_Resrc_Assign_tbl(i).attribute8 := p_x_resrc_assign_tbl(i).attribute8;
1764: END IF;
1765: -- Attribute9
1766: IF p_x_resrc_assign_tbl(i).attribute9 = FND_API.G_MISS_CHAR
1767: THEN
1768: l_Resrc_Assign_tbl(i).attribute9 := NULL;
1769: ELSE
1770: l_Resrc_Assign_tbl(i).attribute9 := p_x_resrc_assign_tbl(i).attribute9;
1769: ELSE
1770: l_Resrc_Assign_tbl(i).attribute9 := p_x_resrc_assign_tbl(i).attribute9;
1771: END IF;
1772: -- Attribute10
1773: IF p_x_resrc_assign_tbl(i).attribute10 = FND_API.G_MISS_CHAR
1774: THEN
1775: l_Resrc_Assign_tbl(i).attribute10 := NULL;
1776: ELSE
1777: l_Resrc_Assign_tbl(i).attribute10 := p_x_resrc_assign_tbl(i).attribute10;
1776: ELSE
1777: l_Resrc_Assign_tbl(i).attribute10 := p_x_resrc_assign_tbl(i).attribute10;
1778: END IF;
1779: -- Attribute11
1780: IF p_x_resrc_assign_tbl(i).attribute11 = FND_API.G_MISS_CHAR
1781: THEN
1782: l_Resrc_Assign_tbl(i).attribute11 := NULL;
1783: ELSE
1784: l_Resrc_Assign_tbl(i).attribute11 := p_x_resrc_assign_tbl(i).attribute11;
1783: ELSE
1784: l_Resrc_Assign_tbl(i).attribute11 := p_x_resrc_assign_tbl(i).attribute11;
1785: END IF;
1786: -- Attribute12
1787: IF p_x_resrc_assign_tbl(i).attribute12 = FND_API.G_MISS_CHAR
1788: THEN
1789: l_Resrc_Assign_tbl(i).attribute12 := NULL;
1790: ELSE
1791: l_Resrc_Assign_tbl(i).attribute12 := p_x_resrc_assign_tbl(i).attribute12;
1790: ELSE
1791: l_Resrc_Assign_tbl(i).attribute12 := p_x_resrc_assign_tbl(i).attribute12;
1792: END IF;
1793: -- Attribute13
1794: IF p_x_resrc_assign_tbl(i).attribute13 = FND_API.G_MISS_CHAR
1795: THEN
1796: l_Resrc_Assign_tbl(i).attribute13 := NULL;
1797: ELSE
1798: l_Resrc_Assign_tbl(i).attribute13 := p_x_resrc_assign_tbl(i).attribute13;
1797: ELSE
1798: l_Resrc_Assign_tbl(i).attribute13 := p_x_resrc_assign_tbl(i).attribute13;
1799: END IF;
1800: -- Attribute14
1801: IF p_x_resrc_assign_tbl(i).attribute14 = FND_API.G_MISS_CHAR
1802: THEN
1803: l_Resrc_Assign_tbl(i).attribute14 := NULL;
1804: ELSE
1805: l_Resrc_Assign_tbl(i).attribute14 := p_x_resrc_assign_tbl(i).attribute14;
1804: ELSE
1805: l_Resrc_Assign_tbl(i).attribute14 := p_x_resrc_assign_tbl(i).attribute14;
1806: END IF;
1807: -- Attribute15
1808: IF p_x_resrc_assign_tbl(i).attribute15 = FND_API.G_MISS_CHAR
1809: THEN
1810: l_Resrc_Assign_tbl(i).attribute15 := NULL;
1811: ELSE
1812: l_Resrc_Assign_tbl(i).attribute15 := p_x_resrc_assign_tbl(i).attribute15;
1816: l_msg_count := Fnd_Msg_Pub.count_msg;
1817:
1818: IF l_msg_count > 0 THEN
1819: X_msg_count := l_msg_count;
1820: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1821: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1822: END IF;
1823:
1824: --
1817:
1818: IF l_msg_count > 0 THEN
1819: X_msg_count := l_msg_count;
1820: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1821: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1822: END IF;
1823:
1824: --
1825: -- Get Sequence Number for Resource Assignment ID
1833: --
1834: IF l_dummy IS NOT NULL THEN
1835: Fnd_Message.SET_NAME('AHL','AHL_PP_SEQUENCE_NO_EXISTS');
1836: Fnd_Msg_Pub.ADD;
1837: RAISE FND_API.G_EXC_ERROR;
1838: END IF;
1839:
1840:
1841: -- Create Record in schedule Resources
1885: l_msg_count := Fnd_Msg_Pub.count_msg;
1886:
1887: IF l_msg_count > 0 THEN
1888: X_msg_count := l_msg_count;
1889: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1890: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1891: END IF;
1892:
1893: --Standard check for commit
1886:
1887: IF l_msg_count > 0 THEN
1888: X_msg_count := l_msg_count;
1889: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1890: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1891: END IF;
1892:
1893: --Standard check for commit
1894: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
1890: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1891: END IF;
1892:
1893: --Standard check for commit
1894: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
1895: COMMIT;
1896: END IF;
1897: -- Debug info
1898: IF G_DEBUG='Y' THEN
1901: Ahl_Debug_Pub.disable_debug;
1902: END IF;
1903:
1904: EXCEPTION
1905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1906: ROLLBACK TO Create_Resrc_Assign;
1907: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1908: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1909: p_count => x_msg_count,
1903:
1904: EXCEPTION
1905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1906: ROLLBACK TO Create_Resrc_Assign;
1907: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1908: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1909: p_count => x_msg_count,
1910: p_data => x_msg_data);
1911:
1904: EXCEPTION
1905: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1906: ROLLBACK TO Create_Resrc_Assign;
1907: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1908: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1909: p_count => x_msg_count,
1910: p_data => x_msg_data);
1911:
1912: IF G_DEBUG='Y' THEN
1916: -- Check if API is called in debug mode. If yes, disable debug.
1917: AHL_DEBUG_PUB.disable_debug;
1918: END IF;
1919:
1920: WHEN FND_API.G_EXC_ERROR THEN
1921: ROLLBACK TO Create_Resrc_Assign;
1922: X_return_status := FND_API.G_RET_STS_ERROR;
1923: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1924: p_count => x_msg_count,
1918: END IF;
1919:
1920: WHEN FND_API.G_EXC_ERROR THEN
1921: ROLLBACK TO Create_Resrc_Assign;
1922: X_return_status := FND_API.G_RET_STS_ERROR;
1923: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1924: p_count => x_msg_count,
1925: p_data => X_msg_data);
1926: IF G_DEBUG='Y' THEN
1919:
1920: WHEN FND_API.G_EXC_ERROR THEN
1921: ROLLBACK TO Create_Resrc_Assign;
1922: X_return_status := FND_API.G_RET_STS_ERROR;
1923: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1924: p_count => x_msg_count,
1925: p_data => X_msg_data);
1926: IF G_DEBUG='Y' THEN
1927: -- Debug info.
1933: END IF;
1934:
1935: WHEN OTHERS THEN
1936: ROLLBACK TO Create_Resrc_Assign;
1937: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1938: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1939: THEN
1940: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_ASSIGN_PVT',
1941: p_procedure_name => 'CREATE_Resrc_Assign',
1940: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_ASSIGN_PVT',
1941: p_procedure_name => 'CREATE_Resrc_Assign',
1942: p_error_text => SUBSTR(SQLERRM,1,240));
1943: END IF;
1944: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
1945: p_count => x_msg_count,
1946: p_data => X_msg_data);
1947:
1948: IF G_DEBUG='Y' THEN
1970: -- Parameters :
1971: --
1972: -- Standard IN Parameters :
1973: -- p_api_version IN NUMBER Required
1974: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1975: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1976: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1977: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
1978: -- p_module_type IN VARCHAR2 Default NULL.
1971: --
1972: -- Standard IN Parameters :
1973: -- p_api_version IN NUMBER Required
1974: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1975: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1976: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1977: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
1978: -- p_module_type IN VARCHAR2 Default NULL.
1979: --
1972: -- Standard IN Parameters :
1973: -- p_api_version IN NUMBER Required
1974: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1975: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1976: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1977: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
1978: -- p_module_type IN VARCHAR2 Default NULL.
1979: --
1980: -- Standard OUT Parameters :
1973: -- p_api_version IN NUMBER Required
1974: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1975: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1976: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1977: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
1978: -- p_module_type IN VARCHAR2 Default NULL.
1979: --
1980: -- Standard OUT Parameters :
1981: -- x_return_status OUT VARCHAR2 Required
1992: -- End of Comments.
1993:
1994: PROCEDURE Update_Resrc_Assign (
1995: p_api_version IN NUMBER,
1996: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
1997: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
1998: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
1999: p_module_type IN VARCHAR2 := NULL,
2000: p_x_resrc_assign_tbl IN OUT NOCOPY Resrc_Assign_Tbl_Type,
1993:
1994: PROCEDURE Update_Resrc_Assign (
1995: p_api_version IN NUMBER,
1996: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
1997: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
1998: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
1999: p_module_type IN VARCHAR2 := NULL,
2000: p_x_resrc_assign_tbl IN OUT NOCOPY Resrc_Assign_Tbl_Type,
2001: x_return_status OUT NOCOPY VARCHAR2,
1994: PROCEDURE Update_Resrc_Assign (
1995: p_api_version IN NUMBER,
1996: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
1997: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
1998: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
1999: p_module_type IN VARCHAR2 := NULL,
2000: p_x_resrc_assign_tbl IN OUT NOCOPY Resrc_Assign_Tbl_Type,
2001: x_return_status OUT NOCOPY VARCHAR2,
2002: x_msg_count OUT NOCOPY NUMBER,
2175: AHL_DEBUG_PUB.debug( 'Enter ahl_pp_assign_pvt. Update Resource reqst','+PPResrc_Assign_Pvt+');
2176: END IF;
2177:
2178: -- Standard call to check for call compatibility.
2179: IF FND_API.to_boolean(p_init_msg_list)
2180: THEN
2181: FND_MSG_PUB.initialize;
2182: END IF;
2183:
2181: FND_MSG_PUB.initialize;
2182: END IF;
2183:
2184: -- Initialize API return status to success
2185: x_return_status := FND_API.G_RET_STS_SUCCESS;
2186:
2187: -- Initialize message list if p_init_msg_list is set to TRUE.
2188: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2189: p_api_version,
2184: -- Initialize API return status to success
2185: x_return_status := FND_API.G_RET_STS_SUCCESS;
2186:
2187: -- Initialize message list if p_init_msg_list is set to TRUE.
2188: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2189: p_api_version,
2190: l_api_name,G_PKG_NAME)
2191: THEN
2192: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2188: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2189: p_api_version,
2190: l_api_name,G_PKG_NAME)
2191: THEN
2192: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2193: END IF;
2194:
2195: --------------------Start of API Body-----------------------------------
2196: --Start API Body
2238: l_return_status := AHL_PRD_UTIL_PKG.Is_Unit_Locked(p_workorder_id => p_x_resrc_assign_tbl(i).workorder_id,
2239: p_ue_id => NULL,
2240: p_visit_id => NULL,
2241: p_item_instance_id => NULL);
2242: IF l_return_status = FND_API.G_TRUE THEN
2243: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_UPD_RESASG_UNTLCKD');
2244: FND_MSG_PUB.ADD;
2245: RAISE FND_API.G_EXC_ERROR;
2246: END IF;
2241: p_item_instance_id => NULL);
2242: IF l_return_status = FND_API.G_TRUE THEN
2243: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_UPD_RESASG_UNTLCKD');
2244: FND_MSG_PUB.ADD;
2245: RAISE FND_API.G_EXC_ERROR;
2246: END IF;
2247:
2248: -- rroy
2249: -- ACL Changes
2363:
2364: IF l_resource_type <> 2 THEN
2365: -- Convert serial number to instance/ serial id
2366: IF (p_x_resrc_assign_tbl(i).serial_number IS NOT NULL AND
2367: p_x_resrc_assign_tbl(i).serial_number <> Fnd_Api.G_MISS_CHAR ) THEN
2368:
2369: OPEN c_assign1 (p_x_resrc_assign_tbl(i).workorder_id,
2370: p_x_resrc_assign_tbl(i).operation_seq_number,
2371: p_x_resrc_assign_tbl(i).resource_seq_number);
2390: IF NVL(l_return_status,'x') <> 'S'
2391: THEN
2392: Fnd_Message.SET_NAME('AHL','AHL_PP_SERIAL_NOT_EXISTS');
2393: Fnd_Msg_Pub.ADD;
2394: RAISE Fnd_Api.G_EXC_ERROR;
2395: END IF;
2396: END IF;
2397:
2398: --Assign the returned value
2412: IF l_resource_type = 2 THEN
2413:
2414: -- For Employee Number
2415: IF p_x_resrc_assign_tbl(i).employee_number IS NOT NULL AND
2416: p_x_resrc_assign_tbl(i).employee_number <> Fnd_Api.G_MISS_CHAR
2417: THEN
2418: Check_Employee_Number_Or_Id
2419: (p_employee_id => p_x_resrc_assign_tbl(i).employee_id,
2420: p_employee_number => p_x_resrc_assign_tbl(i).employee_number,
2430: IF NVL(l_return_status, 'X') <> 'S'
2431: THEN
2432: Fnd_Message.SET_NAME('AHL','AHL_PP_EMP_NUM_NOT_EXISTS');
2433: Fnd_Msg_Pub.ADD;
2434: RAISE Fnd_Api.G_EXC_ERROR;
2435: END IF;
2436:
2437: -- For Employee Name
2438: IF p_x_resrc_assign_tbl(i).employee_name IS NOT NULL AND
2435: END IF;
2436:
2437: -- For Employee Name
2438: IF p_x_resrc_assign_tbl(i).employee_name IS NOT NULL AND
2439: p_x_resrc_assign_tbl(i).employee_name <> Fnd_Api.G_MISS_CHAR
2440: THEN
2441: Check_Employee_Name_Or_Id
2442: (p_employee_id => l_employee_id,
2443: p_employee_number => p_x_resrc_assign_tbl(i).employee_number,
2454: IF NVL(l_return_status, 'X') <> 'S'
2455: THEN
2456: Fnd_Message.SET_NAME('AHL','AHL_PP_EMP_NAME_NOT_EXISTS');
2457: Fnd_Msg_Pub.ADD;
2458: RAISE Fnd_Api.G_EXC_ERROR;
2459: END IF;
2460:
2461: IF p_x_resrc_assign_tbl(i).employee_id <> l_employee_id THEN
2462: Fnd_Message.SET_NAME('AHL','AHL_PP_USE_EMP_NAME_LOV');
2478: AHL_DEBUG_PUB.debug('Employee id' || p_x_resrc_assign_tbl(i).employee_id);
2479: END IF;
2480:
2481: -- Get instance id
2482: IF (p_x_resrc_assign_tbl(i).employee_id IS NOT NULL AND p_x_resrc_assign_tbl(i).employee_id <> Fnd_Api.G_MISS_NUM)
2483: THEN
2484: --
2485: OPEN c_instance_cur (p_x_resrc_assign_tbl(i).employee_id,
2486: l_resource_id,
2511: l_msg_count := Fnd_Msg_Pub.count_msg;
2512:
2513: IF l_msg_count > 0 THEN
2514: X_msg_count := l_msg_count;
2515: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2516: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2517: END IF;
2518:
2519: --
2512:
2513: IF l_msg_count > 0 THEN
2514: X_msg_count := l_msg_count;
2515: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2516: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2517: END IF;
2518:
2519: --
2520:
2586: IF (p_x_resrc_assign_tbl(i).object_version_number <> c_assign_rec.object_version_number) THEN
2587: AHL_DEBUG_PUB.debug(l_full_name || 'Inside OVN comparison');
2588: Fnd_Message.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
2589: Fnd_Msg_Pub.ADD;
2590: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2591: END IF;
2592:
2593: IF p_x_resrc_assign_tbl(i).Assignment_id <> FND_API.G_MISS_NUM THEN
2594: -- These conditions are required for optional fields
2589: Fnd_Msg_Pub.ADD;
2590: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2591: END IF;
2592:
2593: IF p_x_resrc_assign_tbl(i).Assignment_id <> FND_API.G_MISS_NUM THEN
2594: -- These conditions are required for optional fields
2595: /*
2596: -- Operation Resource Id
2597: IF p_x_resrc_assign_tbl(i).Operation_resource_id = FND_API.G_MISS_NUM
2593: IF p_x_resrc_assign_tbl(i).Assignment_id <> FND_API.G_MISS_NUM THEN
2594: -- These conditions are required for optional fields
2595: /*
2596: -- Operation Resource Id
2597: IF p_x_resrc_assign_tbl(i).Operation_resource_id = FND_API.G_MISS_NUM
2598: THEN
2599: p_x_resrc_assign_tbl(i).Operation_resource_id := NULL;
2600: ELSIF p_x_resrc_assign_tbl(i).Operation_resource_id IS NULL THEN
2601: p_x_resrc_assign_tbl(i).Operation_resource_id := c_assign_rec.Operation_resource_id;
2602: END IF;
2603: */
2604:
2605: -- Employee Id
2606: IF p_x_resrc_assign_tbl(i).Employee_id = FND_API.G_MISS_NUM
2607: THEN
2608: p_x_resrc_assign_tbl(i).Employee_id := NULL;
2609: ELSIF p_x_resrc_assign_tbl(i).Employee_id IS NULL THEN
2610: p_x_resrc_assign_tbl(i).Employee_id := c_assign_rec.Employee_id;
2610: p_x_resrc_assign_tbl(i).Employee_id := c_assign_rec.Employee_id;
2611: END IF;
2612:
2613: -- Serial Number
2614: IF p_x_resrc_assign_tbl(i).serial_number = FND_API.G_MISS_CHAR
2615: THEN
2616: p_x_resrc_assign_tbl(i).serial_number := NULL;
2617: ELSIF p_x_resrc_assign_tbl(i).serial_number IS NULL THEN
2618: p_x_resrc_assign_tbl(i).serial_number := c_assign_rec.serial_number;
2617: ELSIF p_x_resrc_assign_tbl(i).serial_number IS NULL THEN
2618: p_x_resrc_assign_tbl(i).serial_number := c_assign_rec.serial_number;
2619: END IF;
2620: -- Instance Id
2621: IF p_x_resrc_assign_tbl(i).Instance_id = FND_API.G_MISS_NUM
2622: THEN
2623: p_x_resrc_assign_tbl(i).Instance_id := NULL;
2624: ELSIF p_x_resrc_assign_tbl(i).instance_id IS NULL THEN
2625: p_x_resrc_assign_tbl(i).Instance_id := c_assign_rec.Instance_id;
2624: ELSIF p_x_resrc_assign_tbl(i).instance_id IS NULL THEN
2625: p_x_resrc_assign_tbl(i).Instance_id := c_assign_rec.Instance_id;
2626: END IF;
2627: -- Assign start date
2628: IF p_x_resrc_assign_tbl(i).Assign_start_date = FND_API.G_MISS_DATE
2629: THEN
2630: p_x_resrc_assign_tbl(i).Assign_start_date := NULL;
2631: ELSIF p_x_resrc_assign_tbl(i).assign_start_date IS NULL THEN
2632: p_x_resrc_assign_tbl(i).Assign_start_date := c_assign_rec.Assign_start_date;
2632: p_x_resrc_assign_tbl(i).Assign_start_date := c_assign_rec.Assign_start_date;
2633: END IF;
2634:
2635: -- Assign end date
2636: IF p_x_resrc_assign_tbl(i).Assign_end_date = FND_API.G_MISS_DATE
2637: THEN
2638: p_x_resrc_assign_tbl(i).Assign_end_date := NULL;
2639: ELSIF p_x_resrc_assign_tbl(i).assign_end_date IS NULL THEN
2640: p_x_resrc_assign_tbl(i).Assign_end_date := c_assign_rec.Assign_end_date;
2639: ELSIF p_x_resrc_assign_tbl(i).assign_end_date IS NULL THEN
2640: p_x_resrc_assign_tbl(i).Assign_end_date := c_assign_rec.Assign_end_date;
2641: END IF;
2642: -- Attribute Category
2643: IF p_x_resrc_assign_tbl(i).attribute_category = FND_API.G_MISS_CHAR
2644: THEN
2645: p_x_resrc_assign_tbl(i).attribute_category := NULL;
2646: ELSIF p_x_resrc_assign_tbl(i).attribute_category IS NULL THEN
2647: p_x_resrc_assign_tbl(i).attribute_category := c_assign_rec.attribute_category;
2646: ELSIF p_x_resrc_assign_tbl(i).attribute_category IS NULL THEN
2647: p_x_resrc_assign_tbl(i).attribute_category := c_assign_rec.attribute_category;
2648: END IF;
2649: -- Attribute1
2650: IF p_x_resrc_assign_tbl(i).attribute1 = FND_API.G_MISS_CHAR
2651: THEN
2652: p_x_resrc_assign_tbl(i).attribute1 := NULL;
2653: ELSIF p_x_resrc_assign_tbl(i).attribute1 IS NULL THEN
2654: p_x_resrc_assign_tbl(i).attribute1 := c_assign_rec.attribute1;
2653: ELSIF p_x_resrc_assign_tbl(i).attribute1 IS NULL THEN
2654: p_x_resrc_assign_tbl(i).attribute1 := c_assign_rec.attribute1;
2655: END IF;
2656: -- Attribute2
2657: IF p_x_resrc_assign_tbl(i).attribute2 = FND_API.G_MISS_CHAR
2658: THEN
2659: p_x_resrc_assign_tbl(i).attribute2 := NULL;
2660: ELSIF p_x_resrc_assign_tbl(i).attribute2 IS NULL THEN
2661: p_x_resrc_assign_tbl(i).attribute2 := c_assign_rec.attribute2;
2660: ELSIF p_x_resrc_assign_tbl(i).attribute2 IS NULL THEN
2661: p_x_resrc_assign_tbl(i).attribute2 := c_assign_rec.attribute2;
2662: END IF;
2663: -- Attribute3
2664: IF p_x_resrc_assign_tbl(i).attribute3 = FND_API.G_MISS_CHAR
2665: THEN
2666: p_x_resrc_assign_tbl(i).attribute3 := NULL;
2667: ELSIF p_x_resrc_assign_tbl(i).attribute3 IS NULL THEN
2668: p_x_resrc_assign_tbl(i).attribute3 := c_assign_rec.attribute3;
2667: ELSIF p_x_resrc_assign_tbl(i).attribute3 IS NULL THEN
2668: p_x_resrc_assign_tbl(i).attribute3 := c_assign_rec.attribute3;
2669: END IF;
2670: -- Attribute4
2671: IF p_x_resrc_assign_tbl(i).attribute4 = FND_API.G_MISS_CHAR
2672: THEN
2673: p_x_resrc_assign_tbl(i).attribute4 := NULL;
2674: ELSIF p_x_resrc_assign_tbl(i).attribute4 IS NULL THEN
2675: p_x_resrc_assign_tbl(i).attribute4 := c_assign_rec.attribute4;
2674: ELSIF p_x_resrc_assign_tbl(i).attribute4 IS NULL THEN
2675: p_x_resrc_assign_tbl(i).attribute4 := c_assign_rec.attribute4;
2676: END IF;
2677: -- Attribute5
2678: IF p_x_resrc_assign_tbl(i).attribute5 = FND_API.G_MISS_CHAR
2679: THEN
2680: p_x_resrc_assign_tbl(i).attribute5 := NULL;
2681: ELSIF p_x_resrc_assign_tbl(i).attribute5 IS NULL THEN
2682: p_x_resrc_assign_tbl(i).attribute5 := c_assign_rec.attribute5;
2681: ELSIF p_x_resrc_assign_tbl(i).attribute5 IS NULL THEN
2682: p_x_resrc_assign_tbl(i).attribute5 := c_assign_rec.attribute5;
2683: END IF;
2684: -- Attribute6
2685: IF p_x_resrc_assign_tbl(i).attribute6 = FND_API.G_MISS_CHAR
2686: THEN
2687: p_x_resrc_assign_tbl(i).attribute6 := NULL;
2688: ELSIF p_x_resrc_assign_tbl(i).attribute6 IS NULL THEN
2689: p_x_resrc_assign_tbl(i).attribute6 := c_assign_rec.attribute6;
2688: ELSIF p_x_resrc_assign_tbl(i).attribute6 IS NULL THEN
2689: p_x_resrc_assign_tbl(i).attribute6 := c_assign_rec.attribute6;
2690: END IF;
2691: -- Attribute7
2692: IF p_x_resrc_assign_tbl(i).attribute7 = FND_API.G_MISS_CHAR
2693: THEN
2694: p_x_resrc_assign_tbl(i).attribute7 := NULL;
2695: ELSIF p_x_resrc_assign_tbl(i).attribute7 IS NULL THEN
2696: p_x_resrc_assign_tbl(i).attribute7 := c_assign_rec.attribute7;
2695: ELSIF p_x_resrc_assign_tbl(i).attribute7 IS NULL THEN
2696: p_x_resrc_assign_tbl(i).attribute7 := c_assign_rec.attribute7;
2697: END IF;
2698: -- Attribute8
2699: IF p_x_resrc_assign_tbl(i).attribute8 = FND_API.G_MISS_CHAR
2700: THEN
2701: p_x_resrc_assign_tbl(i).attribute8 := NULL;
2702: ELSIF p_x_resrc_assign_tbl(i).attribute8 IS NULL THEN
2703: p_x_resrc_assign_tbl(i).attribute8 := c_assign_rec.attribute8;
2702: ELSIF p_x_resrc_assign_tbl(i).attribute8 IS NULL THEN
2703: p_x_resrc_assign_tbl(i).attribute8 := c_assign_rec.attribute8;
2704: END IF;
2705: -- Attribute9
2706: IF p_x_resrc_assign_tbl(i).attribute9 = FND_API.G_MISS_CHAR
2707: THEN
2708: p_x_resrc_assign_tbl(i).attribute9 := NULL;
2709: ELSIF p_x_resrc_assign_tbl(i).attribute9 IS NULL THEN
2710: p_x_resrc_assign_tbl(i).attribute9 := c_assign_rec.attribute9;
2709: ELSIF p_x_resrc_assign_tbl(i).attribute9 IS NULL THEN
2710: p_x_resrc_assign_tbl(i).attribute9 := c_assign_rec.attribute9;
2711: END IF;
2712: -- Attribute10
2713: IF p_x_resrc_assign_tbl(i).attribute10 = FND_API.G_MISS_CHAR
2714: THEN
2715: p_x_resrc_assign_tbl(i).attribute10 := NULL;
2716: ELSIF p_x_resrc_assign_tbl(i).attribute10 IS NULL THEN
2717: p_x_resrc_assign_tbl(i).attribute10 := c_assign_rec.attribute10;
2716: ELSIF p_x_resrc_assign_tbl(i).attribute10 IS NULL THEN
2717: p_x_resrc_assign_tbl(i).attribute10 := c_assign_rec.attribute10;
2718: END IF;
2719: -- Attribute11
2720: IF p_x_resrc_assign_tbl(i).attribute11 = FND_API.G_MISS_CHAR
2721: THEN
2722: p_x_resrc_assign_tbl(i).attribute11 := NULL;
2723: ELSIF p_x_resrc_assign_tbl(i).attribute11 IS NULL THEN
2724: p_x_resrc_assign_tbl(i).attribute11 := c_assign_rec.attribute11;
2723: ELSIF p_x_resrc_assign_tbl(i).attribute11 IS NULL THEN
2724: p_x_resrc_assign_tbl(i).attribute11 := c_assign_rec.attribute11;
2725: END IF;
2726: -- Attribute12
2727: IF p_x_resrc_assign_tbl(i).attribute12 = FND_API.G_MISS_CHAR
2728: THEN
2729: p_x_resrc_assign_tbl(i).attribute12 := NULL;
2730: ELSIF p_x_resrc_assign_tbl(i).attribute12 IS NULL THEN
2731: p_x_resrc_assign_tbl(i).attribute12 := c_assign_rec.attribute12;
2730: ELSIF p_x_resrc_assign_tbl(i).attribute12 IS NULL THEN
2731: p_x_resrc_assign_tbl(i).attribute12 := c_assign_rec.attribute12;
2732: END IF;
2733: -- Attribute13
2734: IF p_x_resrc_assign_tbl(i).attribute13 = FND_API.G_MISS_CHAR
2735: THEN
2736: p_x_resrc_assign_tbl(i).attribute13 := NULL;
2737: ELSIF p_x_resrc_assign_tbl(i).attribute13 IS NULL THEN
2738: p_x_resrc_assign_tbl(i).attribute13 := c_assign_rec.attribute13;
2737: ELSIF p_x_resrc_assign_tbl(i).attribute13 IS NULL THEN
2738: p_x_resrc_assign_tbl(i).attribute13 := c_assign_rec.attribute13;
2739: END IF;
2740: -- Attribute14
2741: IF p_x_resrc_assign_tbl(i).attribute14 = FND_API.G_MISS_CHAR
2742: THEN
2743: p_x_resrc_assign_tbl(i).attribute14 := NULL;
2744: ELSIF p_x_resrc_assign_tbl(i).attribute14 IS NULL THEN
2745: p_x_resrc_assign_tbl(i).attribute14 := c_assign_rec.attribute14;
2744: ELSIF p_x_resrc_assign_tbl(i).attribute14 IS NULL THEN
2745: p_x_resrc_assign_tbl(i).attribute14 := c_assign_rec.attribute14;
2746: END IF;
2747: -- Attribute15
2748: IF p_x_resrc_assign_tbl(i).attribute15 = FND_API.G_MISS_CHAR
2749: THEN
2750: p_x_resrc_assign_tbl(i).attribute15 := NULL;
2751: ELSIF p_x_resrc_assign_tbl(i).attribute15 IS NULL THEN
2752: p_x_resrc_assign_tbl(i).attribute15 := c_assign_rec.attribute15;
2751: ELSIF p_x_resrc_assign_tbl(i).attribute15 IS NULL THEN
2752: p_x_resrc_assign_tbl(i).attribute15 := c_assign_rec.attribute15;
2753: END IF;
2754: -- Self Assigned Flag
2755: IF p_x_resrc_assign_tbl(i).self_assigned_flag = FND_API.G_MISS_NUM
2756: THEN
2757: p_x_resrc_assign_tbl(i).self_assigned_flag := NULL;
2758: ELSIF p_x_resrc_assign_tbl(i).self_assigned_flag IS NULL THEN
2759: p_x_resrc_assign_tbl(i).self_assigned_flag := c_assign_rec.self_assigned_flag;
2759: p_x_resrc_assign_tbl(i).self_assigned_flag := c_assign_rec.self_assigned_flag;
2760: END IF;
2761: /*
2762: -- Login Date
2763: IF p_x_resrc_assign_tbl(i).login_date = FND_API.G_MISS_DATE
2764: THEN
2765: p_x_resrc_assign_tbl(i).login_date := NULL;
2766: ELSIF p_x_resrc_assign_tbl(i).login_date IS NULL THEN
2767: p_x_resrc_assign_tbl(i).login_date := c_assign_rec.login_date;
2772: l_msg_count := Fnd_Msg_Pub.count_msg;
2773:
2774: IF l_msg_count > 0 THEN
2775: x_msg_count := l_msg_count;
2776: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2777: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2778: END IF;
2779:
2780: IF G_DEBUG='Y' THEN
2773:
2774: IF l_msg_count > 0 THEN
2775: x_msg_count := l_msg_count;
2776: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2777: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2778: END IF;
2779:
2780: IF G_DEBUG='Y' THEN
2781: AHL_DEBUG_PUB.debug(l_full_name || ' Before calling Update Row procedure');
2829: l_msg_count := Fnd_Msg_Pub.count_msg;
2830:
2831: IF l_msg_count > 0 THEN
2832: X_msg_count := l_msg_count;
2833: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2834: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2835: END IF;
2836:
2837: --Standard check for commit
2830:
2831: IF l_msg_count > 0 THEN
2832: X_msg_count := l_msg_count;
2833: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2834: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2835: END IF;
2836:
2837: --Standard check for commit
2838: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
2834: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2835: END IF;
2836:
2837: --Standard check for commit
2838: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
2839: COMMIT;
2840: END IF;
2841: -- Debug info
2842: IF G_DEBUG='Y' THEN
2845: Ahl_Debug_Pub.disable_debug;
2846: --
2847: END IF;
2848: EXCEPTION
2849: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2850: ROLLBACK TO update_Resrc_Assign;
2851: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2852: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2853: p_count => x_msg_count,
2847: END IF;
2848: EXCEPTION
2849: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2850: ROLLBACK TO update_Resrc_Assign;
2851: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2852: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2853: p_count => x_msg_count,
2854: p_data => x_msg_data);
2855: IF G_DEBUG='Y' THEN
2848: EXCEPTION
2849: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2850: ROLLBACK TO update_Resrc_Assign;
2851: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2852: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2853: p_count => x_msg_count,
2854: p_data => x_msg_data);
2855: IF G_DEBUG='Y' THEN
2856: AHL_DEBUG_PUB.log_app_messages(x_msg_count, x_msg_data, 'ERROR' );
2858: -- Check if API is called in debug mode. If yes, disable debug.
2859: AHL_DEBUG_PUB.disable_debug;
2860: --
2861: END IF;
2862: WHEN FND_API.G_EXC_ERROR THEN
2863: ROLLBACK TO update_Resrc_Assign;
2864: X_return_status := FND_API.G_RET_STS_ERROR;
2865: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2866: p_count => x_msg_count,
2860: --
2861: END IF;
2862: WHEN FND_API.G_EXC_ERROR THEN
2863: ROLLBACK TO update_Resrc_Assign;
2864: X_return_status := FND_API.G_RET_STS_ERROR;
2865: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2866: p_count => x_msg_count,
2867: p_data => X_msg_data);
2868: IF G_DEBUG='Y' THEN
2861: END IF;
2862: WHEN FND_API.G_EXC_ERROR THEN
2863: ROLLBACK TO update_Resrc_Assign;
2864: X_return_status := FND_API.G_RET_STS_ERROR;
2865: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2866: p_count => x_msg_count,
2867: p_data => X_msg_data);
2868: IF G_DEBUG='Y' THEN
2869: -- Debug info.
2874: AHL_DEBUG_PUB.disable_debug;
2875: END IF;
2876: WHEN OTHERS THEN
2877: ROLLBACK TO update_Resrc_Assign;
2878: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2879: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2880: THEN
2881: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_ASSIGN_PVT',
2882: p_procedure_name => 'UPDATE_Resrc_Assign',
2881: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_ASSIGN_PVT',
2882: p_procedure_name => 'UPDATE_Resrc_Assign',
2883: p_error_text => SUBSTR(SQLERRM,1,240));
2884: END IF;
2885: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2886: p_count => x_msg_count,
2887: p_data => X_msg_data);
2888:
2889: IF G_DEBUG='Y' THEN
2896: END Update_Resrc_Assign;
2897: --
2898: PROCEDURE Remove_Resource_Assignment (
2899: p_api_version IN NUMBER,
2900: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
2901: p_commit IN VARCHAR2 := Fnd_Api.g_false,
2902: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
2903: p_module_type IN VARCHAR2 := 'JSP',
2904: p_x_resrc_assign_tbl IN OUT NOCOPY Resrc_Assign_tbl_Type,
2897: --
2898: PROCEDURE Remove_Resource_Assignment (
2899: p_api_version IN NUMBER,
2900: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
2901: p_commit IN VARCHAR2 := Fnd_Api.g_false,
2902: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
2903: p_module_type IN VARCHAR2 := 'JSP',
2904: p_x_resrc_assign_tbl IN OUT NOCOPY Resrc_Assign_tbl_Type,
2905: x_return_status OUT NOCOPY VARCHAR2,
2898: PROCEDURE Remove_Resource_Assignment (
2899: p_api_version IN NUMBER,
2900: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
2901: p_commit IN VARCHAR2 := Fnd_Api.g_false,
2902: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
2903: p_module_type IN VARCHAR2 := 'JSP',
2904: p_x_resrc_assign_tbl IN OUT NOCOPY Resrc_Assign_tbl_Type,
2905: x_return_status OUT NOCOPY VARCHAR2,
2906: x_msg_count OUT NOCOPY NUMBER,
2966: IF G_DEBUG='Y' THEN
2967: Ahl_Debug_Pub.debug( 'enter ahl_ltp_reqst_matrl_pvt Remove Resource Assignment ','+MAATP+');
2968: END IF;
2969: -- Standard call to check for call compatibility.
2970: IF Fnd_Api.to_boolean(p_init_msg_list)
2971: THEN
2972: Fnd_Msg_Pub.initialize;
2973: END IF;
2974:
2972: Fnd_Msg_Pub.initialize;
2973: END IF;
2974:
2975: -- Initialize API return status to success
2976: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
2977:
2978: -- Initialize message list if p_init_msg_list is set to TRUE.
2979: IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
2980: p_api_version,
2975: -- Initialize API return status to success
2976: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
2977:
2978: -- Initialize message list if p_init_msg_list is set to TRUE.
2979: IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
2980: p_api_version,
2981: l_api_name,G_PKG_NAME)
2982: THEN
2983: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2979: IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
2980: p_api_version,
2981: l_api_name,G_PKG_NAME)
2982: THEN
2983: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2984: END IF;
2985:
2986: ------------------------Start API Body ---------------------------------
2987:
2990: FOR i IN p_x_resrc_assign_tbl.FIRST..p_x_resrc_assign_tbl.LAST
2991: LOOP
2992: --
2993: IF (p_x_resrc_assign_tbl(i).assignment_id IS NOT NULL AND
2994: p_x_resrc_assign_tbl(i).assignment_id <> FND_API.G_MISS_NUM) THEN
2995: --Get the exisitng record
2996: OPEN get_resrc_assign_cur(p_x_resrc_assign_tbl(i).assignment_id);
2997: FETCH get_resrc_assign_cur INTO l_resrc_assign_rec;
2998: IF get_resrc_assign_cur%NOTFOUND THEN
2998: IF get_resrc_assign_cur%NOTFOUND THEN
2999: Fnd_Message.Set_Name('AHL','AHL_COM_INVALID_RECORD');
3000: Fnd_Msg_Pub.ADD;
3001: CLOSE get_resrc_assign_cur;
3002: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3003: END IF;
3004: --
3005: CLOSE get_resrc_assign_cur;
3006: END IF;
3008: IF p_x_resrc_assign_tbl(i).object_version_number <> l_resrc_assign_rec.object_version_number
3009: THEN
3010: Fnd_Message.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
3011: Fnd_Msg_Pub.ADD;
3012: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3013: END IF;
3014: --
3015: -- Get Wip entity ,operation resource details
3016: OPEN get_resource_details(l_resrc_assign_rec.operation_resource_id);
3032: -- rroy
3033: -- ACL Changes
3034: l_return_status := AHL_PRD_UTIL_PKG.IsDelAsg_Enabled(p_assignment_id => p_x_resrc_assign_tbl(i).assignment_id,
3035: p_workorder_id => p_x_resrc_assign_tbl(i).workorder_id);
3036: IF l_return_status = FND_API.G_FALSE THEN
3037: RAISE FND_API.G_EXC_ERROR;
3038: END IF;
3039:
3040:
3033: -- ACL Changes
3034: l_return_status := AHL_PRD_UTIL_PKG.IsDelAsg_Enabled(p_assignment_id => p_x_resrc_assign_tbl(i).assignment_id,
3035: p_workorder_id => p_x_resrc_assign_tbl(i).workorder_id);
3036: IF l_return_status = FND_API.G_FALSE THEN
3037: RAISE FND_API.G_EXC_ERROR;
3038: END IF;
3039:
3040:
3041: -- rroy
3047: l_msg_count := Fnd_Msg_Pub.count_msg;
3048:
3049: IF l_msg_count > 0 THEN
3050: x_msg_count := l_msg_count;
3051: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3052: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3053: END IF;
3054:
3055:
3048:
3049: IF l_msg_count > 0 THEN
3050: x_msg_count := l_msg_count;
3051: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3052: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3053: END IF;
3054:
3055:
3056: -- Call Eam Api to create resource assignment in WIP
3108: l_msg_count := Fnd_Msg_Pub.count_msg;
3109:
3110: IF l_msg_count > 0 THEN
3111: X_msg_count := l_msg_count;
3112: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3113: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3114: END IF;
3115:
3116: --Standard check for commit
3109:
3110: IF l_msg_count > 0 THEN
3111: X_msg_count := l_msg_count;
3112: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3113: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3114: END IF;
3115:
3116: --Standard check for commit
3117: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
3113: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3114: END IF;
3115:
3116: --Standard check for commit
3117: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
3118: COMMIT;
3119: END IF;
3120: -- Debug info
3121: IF G_DEBUG='Y' THEN
3124: Ahl_Debug_Pub.disable_debug;
3125: --
3126: END IF;
3127: EXCEPTION
3128: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
3129: ROLLBACK TO Remove_Resource_Assignment;
3130: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3131: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3132: p_count => x_msg_count,
3126: END IF;
3127: EXCEPTION
3128: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
3129: ROLLBACK TO Remove_Resource_Assignment;
3130: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3131: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3132: p_count => x_msg_count,
3133: p_data => x_msg_data);
3134: IF G_DEBUG='Y' THEN
3127: EXCEPTION
3128: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
3129: ROLLBACK TO Remove_Resource_Assignment;
3130: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3131: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3132: p_count => x_msg_count,
3133: p_data => x_msg_data);
3134: IF G_DEBUG='Y' THEN
3135: Ahl_Debug_Pub.log_app_messages (
3138: -- Check if API is called in debug mode. If yes, disable debug.
3139: Ahl_Debug_Pub.disable_debug;
3140: END IF;
3141:
3142: WHEN Fnd_Api.G_EXC_ERROR THEN
3143: ROLLBACK TO remove_Resource_Assignment;
3144: X_return_status := Fnd_Api.G_RET_STS_ERROR;
3145: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3146: p_count => x_msg_count,
3140: END IF;
3141:
3142: WHEN Fnd_Api.G_EXC_ERROR THEN
3143: ROLLBACK TO remove_Resource_Assignment;
3144: X_return_status := Fnd_Api.G_RET_STS_ERROR;
3145: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3146: p_count => x_msg_count,
3147: p_data => X_msg_data);
3148: IF G_DEBUG='Y' THEN
3141:
3142: WHEN Fnd_Api.G_EXC_ERROR THEN
3143: ROLLBACK TO remove_Resource_Assignment;
3144: X_return_status := Fnd_Api.G_RET_STS_ERROR;
3145: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3146: p_count => x_msg_count,
3147: p_data => X_msg_data);
3148: IF G_DEBUG='Y' THEN
3149: -- Debug info.
3155: END IF;
3156:
3157: WHEN OTHERS THEN
3158: ROLLBACK TO remove_Resource_Assignment;
3159: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3160: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR)
3161: THEN
3162: Fnd_Msg_Pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_ASSIGN_PVT',
3163: p_procedure_name => 'REMOVE_Resource_Assignment',
3162: Fnd_Msg_Pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_ASSIGN_PVT',
3163: p_procedure_name => 'REMOVE_Resource_Assignment',
3164: p_error_text => SUBSTR(SQLERRM,1,240));
3165: END IF;
3166: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3167: p_count => x_msg_count,
3168: p_data => X_msg_data);
3169: IF G_DEBUG='Y' THEN
3170: -- Debug info.
3187: -- Parameters :
3188: --
3189: -- Standard IN Parameters :
3190: -- p_api_version IN NUMBER Required
3191: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
3192: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
3193: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
3194: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
3195: -- p_module_type IN VARCHAR2 Default NULL.
3188: --
3189: -- Standard IN Parameters :
3190: -- p_api_version IN NUMBER Required
3191: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
3192: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
3193: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
3194: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
3195: -- p_module_type IN VARCHAR2 Default NULL.
3196: --
3189: -- Standard IN Parameters :
3190: -- p_api_version IN NUMBER Required
3191: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
3192: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
3193: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
3194: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
3195: -- p_module_type IN VARCHAR2 Default NULL.
3196: --
3197: -- Standard OUT Parameters :
3190: -- p_api_version IN NUMBER Required
3191: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
3192: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
3193: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
3194: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
3195: -- p_module_type IN VARCHAR2 Default NULL.
3196: --
3197: -- Standard OUT Parameters :
3198: -- x_return_status OUT VARCHAR2 Required
3209: -- End of Comments.
3210:
3211: PROCEDURE Process_Resrc_Assign (
3212: p_api_version IN NUMBER,
3213: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
3214: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
3215: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
3216: p_module_type IN VARCHAR2 := NULL,
3217: p_operation_flag IN VARCHAR2,
3210:
3211: PROCEDURE Process_Resrc_Assign (
3212: p_api_version IN NUMBER,
3213: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
3214: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
3215: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
3216: p_module_type IN VARCHAR2 := NULL,
3217: p_operation_flag IN VARCHAR2,
3218: p_x_resrc_assign_tbl IN OUT NOCOPY AHL_PP_RESRC_ASSIGN_PVT.Resrc_Assign_Tbl_Type,
3211: PROCEDURE Process_Resrc_Assign (
3212: p_api_version IN NUMBER,
3213: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
3214: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
3215: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
3216: p_module_type IN VARCHAR2 := NULL,
3217: p_operation_flag IN VARCHAR2,
3218: p_x_resrc_assign_tbl IN OUT NOCOPY AHL_PP_RESRC_ASSIGN_PVT.Resrc_Assign_Tbl_Type,
3219: x_return_status OUT NOCOPY VARCHAR2,
3241: IF G_DEBUG='Y' THEN
3242: AHL_DEBUG_PUB.debug( 'Enter AHL_PP_RESRC_ASSIGN.process_resrc_assign','+PPResrc_Assign_Pvt+');
3243: END IF;
3244: -- Standard call to check for call compatibility.
3245: IF FND_API.to_boolean(p_init_msg_list)
3246: THEN
3247: FND_MSG_PUB.initialize;
3248: END IF;
3249:
3247: FND_MSG_PUB.initialize;
3248: END IF;
3249:
3250: -- Initialize API return status to success
3251: x_return_status := FND_API.G_RET_STS_SUCCESS;
3252:
3253: -- Initialize message list if p_init_msg_list is set to TRUE.
3254: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
3255: p_api_version,
3250: -- Initialize API return status to success
3251: x_return_status := FND_API.G_RET_STS_SUCCESS;
3252:
3253: -- Initialize message list if p_init_msg_list is set to TRUE.
3254: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
3255: p_api_version,
3256: l_api_name,G_PKG_NAME)
3257: THEN
3258: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3254: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
3255: p_api_version,
3256: l_api_name,G_PKG_NAME)
3257: THEN
3258: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3259: END IF;
3260:
3261: --------------------Start of API Body-----------------------------------
3262: IF p_x_resrc_assign_tbl.COUNT > 0 THEN
3321: l_msg_count := Fnd_Msg_Pub.count_msg;
3322:
3323: IF l_msg_count > 0 THEN
3324: x_msg_count := l_msg_count;
3325: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3326: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3327: END IF;
3328:
3329: --Standard check for commit
3322:
3323: IF l_msg_count > 0 THEN
3324: x_msg_count := l_msg_count;
3325: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3326: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3327: END IF;
3328:
3329: --Standard check for commit
3330: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
3326: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3327: END IF;
3328:
3329: --Standard check for commit
3330: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
3331: COMMIT;
3332: END IF;
3333:
3334: -- Debug info
3340: Ahl_Debug_Pub.disable_debug;
3341: END IF;
3342:
3343: EXCEPTION
3344: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3345: ROLLBACK TO Process_Resrc_Assign;
3346: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3347: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3348: p_count => x_msg_count,
3342:
3343: EXCEPTION
3344: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3345: ROLLBACK TO Process_Resrc_Assign;
3346: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3347: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3348: p_count => x_msg_count,
3349: p_data => x_msg_data);
3350: IF G_DEBUG='Y' THEN
3343: EXCEPTION
3344: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3345: ROLLBACK TO Process_Resrc_Assign;
3346: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3347: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3348: p_count => x_msg_count,
3349: p_data => x_msg_data);
3350: IF G_DEBUG='Y' THEN
3351: AHL_DEBUG_PUB.log_app_messages (
3353: -- Check if API is called in debug mode. If yes, disable debug.
3354: AHL_DEBUG_PUB.disable_debug;
3355: END IF;
3356:
3357: WHEN FND_API.G_EXC_ERROR THEN
3358: ROLLBACK TO Process_Resrc_Assign;
3359: X_return_status := FND_API.G_RET_STS_ERROR;
3360: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3361: p_count => x_msg_count,
3355: END IF;
3356:
3357: WHEN FND_API.G_EXC_ERROR THEN
3358: ROLLBACK TO Process_Resrc_Assign;
3359: X_return_status := FND_API.G_RET_STS_ERROR;
3360: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3361: p_count => x_msg_count,
3362: p_data => X_msg_data);
3363: IF G_DEBUG='Y' THEN
3356:
3357: WHEN FND_API.G_EXC_ERROR THEN
3358: ROLLBACK TO Process_Resrc_Assign;
3359: X_return_status := FND_API.G_RET_STS_ERROR;
3360: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3361: p_count => x_msg_count,
3362: p_data => X_msg_data);
3363: IF G_DEBUG='Y' THEN
3364: -- Debug info.
3368: AHL_DEBUG_PUB.disable_debug;
3369: END IF;
3370: WHEN OTHERS THEN
3371: ROLLBACK TO Process_Resrc_Assign;
3372: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3373: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3374: THEN
3375: FND_MSG_PUB.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_ASSIGN_PVT',
3376: p_procedure_name => 'Process_Resrc_Assign',
3375: FND_MSG_PUB.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_ASSIGN_PVT',
3376: p_procedure_name => 'Process_Resrc_Assign',
3377: p_error_text => SUBSTR(SQLERRM,1,240));
3378: END IF;
3379: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3380: p_count => x_msg_count,
3381: p_data => X_msg_data);
3382: IF G_DEBUG='Y' THEN
3383: -- Debug info.