56: AND TRUNC(SYSDATE) BETWEEN TRUNC(NVL(start_date_active, SYSDATE))
57: AND TRUNC(NVL(end_date_active,SYSDATE));
58: END IF;
59:
60: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
61: EXCEPTION
62: WHEN NO_DATA_FOUND THEN
63: x_return_status := Fnd_Api.G_RET_STS_ERROR;
64: WHEN TOO_MANY_ROWS THEN
59:
60: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
61: EXCEPTION
62: WHEN NO_DATA_FOUND THEN
63: x_return_status := Fnd_Api.G_RET_STS_ERROR;
64: WHEN TOO_MANY_ROWS THEN
65: x_return_status := Fnd_Api.G_RET_STS_ERROR;
66: WHEN OTHERS THEN
67: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
61: EXCEPTION
62: WHEN NO_DATA_FOUND THEN
63: x_return_status := Fnd_Api.G_RET_STS_ERROR;
64: WHEN TOO_MANY_ROWS THEN
65: x_return_status := Fnd_Api.G_RET_STS_ERROR;
66: WHEN OTHERS THEN
67: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
68: RAISE;
69: END;
63: x_return_status := Fnd_Api.G_RET_STS_ERROR;
64: WHEN TOO_MANY_ROWS THEN
65: x_return_status := Fnd_Api.G_RET_STS_ERROR;
66: WHEN OTHERS THEN
67: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
68: RAISE;
69: END;
70:
71: --------------------------------------------------------------------
98: IF G_DEBUG='Y' THEN
99: Ahl_Debug_Pub.debug(': Inside Check Serial Id= ' || x_serial_id);
100: END IF;
101:
102: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
103: EXCEPTION
104: WHEN NO_DATA_FOUND THEN
105: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
106: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
101:
102: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
103: EXCEPTION
104: WHEN NO_DATA_FOUND THEN
105: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
106: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
107: WHEN TOO_MANY_ROWS THEN
108: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
109: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
104: WHEN NO_DATA_FOUND THEN
105: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
106: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
107: WHEN TOO_MANY_ROWS THEN
108: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
109: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
110: WHEN OTHERS THEN
111: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
112: RAISE;
107: WHEN TOO_MANY_ROWS THEN
108: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
109: x_error_msg_code:= 'AHL_PP_SERIAL_NOT_EXISTS';
110: WHEN OTHERS THEN
111: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
112: RAISE;
113: END Check_Serial_Name_Or_Id;
114:
115: --------------------------------------------------------------------
141: IF G_DEBUG='Y' THEN
142: Ahl_Debug_Pub.debug(': Inside Check Resource Id= ' || x_Resource_id);
143: END IF;
144:
145: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
146: EXCEPTION
147: WHEN NO_DATA_FOUND THEN
148: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
149: x_error_msg_code:= 'AHL_PP_RESOURCE_NOT_EXISTS';
144:
145: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
146: EXCEPTION
147: WHEN NO_DATA_FOUND THEN
148: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
149: x_error_msg_code:= 'AHL_PP_RESOURCE_NOT_EXISTS';
150: WHEN TOO_MANY_ROWS THEN
151: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
152: x_error_msg_code:= 'AHL_PP_RESOURCE_NOT_EXISTS';
147: WHEN NO_DATA_FOUND THEN
148: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
149: x_error_msg_code:= 'AHL_PP_RESOURCE_NOT_EXISTS';
150: WHEN TOO_MANY_ROWS THEN
151: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
152: x_error_msg_code:= 'AHL_PP_RESOURCE_NOT_EXISTS';
153: WHEN OTHERS THEN
154: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
155: RAISE;
150: WHEN TOO_MANY_ROWS THEN
151: x_return_status:= Fnd_Api.G_RET_STS_ERROR;
152: x_error_msg_code:= 'AHL_PP_RESOURCE_NOT_EXISTS';
153: WHEN OTHERS THEN
154: x_return_status:= Fnd_Api.G_RET_STS_UNEXP_ERROR;
155: RAISE;
156: END Check_Resource_Name_Or_Id;
157:
158: --------------------------------------------------------------------
398: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || 'WORKORDER_OPERATION_ID = ' || p_resrc_Require_rec.WORKORDER_OPERATION_ID);
399: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || 'Resource ID = ' || p_resrc_Require_rec.Resource_Id);
400: END IF;
401:
402: IF p_resrc_Require_rec.OPERATION_RESOURCE_ID = Fnd_Api.G_MISS_NUM OR p_resrc_Require_rec.OPERATION_RESOURCE_ID IS NULL THEN
403: IF G_DEBUG='Y' THEN
404: Ahl_Debug_Pub.debug('Inside Check_Resrc_Require_Req_Items check while adding');
405: END IF;
406: -- OPERATION_SEQ_NUMBER
403: IF G_DEBUG='Y' THEN
404: Ahl_Debug_Pub.debug('Inside Check_Resrc_Require_Req_Items check while adding');
405: END IF;
406: -- OPERATION_SEQ_NUMBER
407: IF (p_resrc_Require_rec.OPERATION_SEQ_NUMBER IS NULL OR p_resrc_Require_rec.OPERATION_SEQ_NUMBER = Fnd_Api.G_MISS_NUM) THEN
408: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
409: IF G_DEBUG='Y' THEN
410: Ahl_Debug_Pub.debug ( 'OPERATION_SEQUENCE NUMBER PROB');
411: END IF;
411: END IF;
412: Fnd_Message.set_name ('AHL', 'AHL_PP_OPER_SEQ_MISSING');
413: Fnd_Msg_Pub.ADD;
414: END IF;
415: x_return_status := Fnd_Api.g_ret_sts_error;
416: RETURN;
417: END IF;
418:
419: -- OPERATION_SEQ_NUMBER - Positive
416: RETURN;
417: END IF;
418:
419: -- OPERATION_SEQ_NUMBER - Positive
420: IF (p_resrc_Require_rec.OPERATION_SEQ_NUMBER IS NOT NULL AND p_resrc_Require_rec.OPERATION_SEQ_NUMBER <> Fnd_Api.G_MISS_NUM) THEN
421: IF p_resrc_Require_rec.OPERATION_SEQ_NUMBER < 0 THEN
422: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
423: IF G_DEBUG='Y' THEN
424: Ahl_Debug_Pub.debug ( 'ONLY POSITIVE');
425: END IF;
426: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
427: Fnd_Msg_Pub.ADD;
428: END IF;
429: x_return_status := Fnd_Api.g_ret_sts_error;
430: RETURN;
431: END IF;
432: END IF;
433:
431: END IF;
432: END IF;
433:
434: -- RESOURCE_SEQ_NUMBER
435: IF (p_resrc_Require_rec.RESOURCE_SEQ_NUMBER IS NULL OR p_resrc_Require_rec.RESOURCE_SEQ_NUMBER = Fnd_Api.G_MISS_NUM) THEN
436: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
437: Fnd_Message.set_name ('AHL', 'AHL_PP_RESRC_SEQ_MISSING');
438: Fnd_Msg_Pub.ADD;
439: END IF;
436: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
437: Fnd_Message.set_name ('AHL', 'AHL_PP_RESRC_SEQ_MISSING');
438: Fnd_Msg_Pub.ADD;
439: END IF;
440: x_return_status := Fnd_Api.g_ret_sts_error;
441: RETURN;
442: END IF;
443:
444: -- RESOURCE_SEQ_NUMBER -- Positive / Multiples of 10
441: RETURN;
442: END IF;
443:
444: -- RESOURCE_SEQ_NUMBER -- Positive / Multiples of 10
445: IF (p_resrc_Require_rec.RESOURCE_SEQ_NUMBER IS NOT NULL AND p_resrc_Require_rec.RESOURCE_SEQ_NUMBER <> Fnd_Api.G_MISS_NUM) THEN
446: IF p_resrc_Require_rec.RESOURCE_SEQ_NUMBER < 0 THEN
447: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
448: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
449: Fnd_Msg_Pub.ADD;
447: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
448: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
449: Fnd_Msg_Pub.ADD;
450: END IF;
451: x_return_status := Fnd_Api.g_ret_sts_error;
452: RETURN;
453: END IF;
454:
455: IF (p_resrc_Require_rec.RESOURCE_SEQ_NUMBER mod 10) <> 0 THEN
456: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
457: Fnd_Message.set_name ('AHL', 'AHL_PP_RESRC_SEQ_MULTI_OF_TEN');
458: Fnd_Msg_Pub.ADD;
459: END IF;
460: x_return_status := Fnd_Api.g_ret_sts_error;
461: RETURN;
462: END IF;
463: END IF;
464: END IF;
469: -- Schedule seq number validation
470: -- JKJAIN US space FP for ER # 6998882-- start
471: IF (
472: p_resrc_Require_rec.schedule_seq_num IS NOT NULL AND
473: p_resrc_Require_rec.schedule_seq_num <> Fnd_Api.G_MISS_NUM
474: )
475: THEN
476:
477: IF (
483: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
484: Fnd_Message.set_name ('AHL', 'AHL_COM_SCHED_SEQ_INV');
485: Fnd_Msg_Pub.ADD;
486: END IF;
487: x_return_status := Fnd_Api.g_ret_sts_error;
488: RETURN;
489:
490: END IF;
491:
493: -- JKJAIN US space FP for ER # 6998882 end
494:
495: IF g_MODULE_TYPE='JSP' THEN
496:
497: IF p_Resrc_Require_Rec.RESOURCE_NAME IS NULL OR p_Resrc_Require_Rec.RESOURCE_NAME = Fnd_Api.G_MISS_CHAR THEN
498: IF G_DEBUG='Y' THEN
499: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- RESOURCE_NAME ='|| p_resrc_Require_rec.RESOURCE_NAME);
500: END IF;
501:
502: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
503: Fnd_Message.set_name ('AHL', 'AHL_PP_RESOURCE_MISSING');
504: Fnd_Msg_Pub.ADD;
505: END IF;
506: x_return_status := Fnd_Api.g_ret_sts_error;
507: RETURN;
508: END IF;
509: END IF;
510:
511: IF G_DEBUG='Y' THEN
512: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- Duration =' || p_resrc_Require_rec.Duration);
513: END IF;
514: -- DURATION
515: IF (p_resrc_Require_rec.Duration IS NULL OR p_resrc_Require_rec.Duration = Fnd_Api.G_MISS_NUM) THEN
516: IF G_DEBUG='Y' THEN
517: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- Duration =' || p_resrc_Require_rec.Duration);
518: END IF;
519: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
519: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
520: Fnd_Message.set_name ('AHL', 'AHL_PP_DURATION_MISSING');
521: Fnd_Msg_Pub.ADD;
522: END IF;
523: x_return_status := Fnd_Api.g_ret_sts_error;
524: RETURN;
525: END IF;
526: -- DURATION - Positive
527: IF (p_resrc_Require_rec.Duration IS NOT NULL AND p_resrc_Require_rec.Duration <> Fnd_Api.G_MISS_NUM) THEN
523: x_return_status := Fnd_Api.g_ret_sts_error;
524: RETURN;
525: END IF;
526: -- DURATION - Positive
527: IF (p_resrc_Require_rec.Duration IS NOT NULL AND p_resrc_Require_rec.Duration <> Fnd_Api.G_MISS_NUM) THEN
528: IF p_resrc_Require_rec.Duration < 0 THEN
529: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
530: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
531: Fnd_Msg_Pub.ADD;
529: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
530: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
531: Fnd_Msg_Pub.ADD;
532: END IF;
533: x_return_status := Fnd_Api.g_ret_sts_error;
534: RETURN;
535: END IF;
536: END IF;
537:
539: IF G_DEBUG='Y' THEN
540: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- Quantity =' || p_resrc_Require_rec.quantity);
541: END IF;
542:
543: IF (p_resrc_Require_rec.QUANTITY IS NULL OR p_resrc_Require_rec.QUANTITY = Fnd_Api.G_MISS_NUM) THEN
544: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- Quantity =' || p_resrc_Require_rec.quantity);
545: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
546: Fnd_Message.set_name ('AHL', 'AHL_PP_QUANTITY_MISSING');
547: Fnd_Msg_Pub.ADD;
545: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
546: Fnd_Message.set_name ('AHL', 'AHL_PP_QUANTITY_MISSING');
547: Fnd_Msg_Pub.ADD;
548: END IF;
549: x_return_status := Fnd_Api.g_ret_sts_error;
550: RETURN;
551: END IF;
552:
553: -- QUANTITY - Positive
550: RETURN;
551: END IF;
552:
553: -- QUANTITY - Positive
554: IF (p_resrc_Require_rec.QUANTITY IS NOT NULL AND p_resrc_Require_rec.QUANTITY <> Fnd_Api.G_MISS_NUM) THEN
555: IF p_resrc_Require_rec.QUANTITY < 0 THEN
556: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
557: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
558: Fnd_Msg_Pub.ADD;
556: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
557: Fnd_Message.set_name ('AHL', 'AHL_PP_ONLY_POSITIVE_VALUE');
558: Fnd_Msg_Pub.ADD;
559: END IF;
560: x_return_status := Fnd_Api.g_ret_sts_error;
561: RETURN;
562: END IF;
563: END IF;
564:
566: IF G_DEBUG='Y' THEN
567: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- REQ_START_DATE =' || p_resrc_Require_rec.REQ_START_DATE);
568: END IF;
569:
570: IF (p_resrc_Require_rec.REQ_START_DATE IS NULL OR p_resrc_Require_rec.REQ_START_DATE = Fnd_Api.G_MISS_DATE) THEN
571: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
572: Fnd_Message.set_name ('AHL', 'AHL_PP_REQUIRE_ST_DT_MISSING');
573: Fnd_Msg_Pub.ADD;
574: END IF;
571: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
572: Fnd_Message.set_name ('AHL', 'AHL_PP_REQUIRE_ST_DT_MISSING');
573: Fnd_Msg_Pub.ADD;
574: END IF;
575: x_return_status := Fnd_Api.g_ret_sts_error;
576: RETURN;
577: END IF;
578:
579: -- REQ_END_DATE
580: IF G_DEBUG='Y' THEN
581: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- REQ_START_DATE =' || p_resrc_Require_rec.REQ_START_DATE);
582: END IF;
583:
584: IF (p_resrc_Require_rec.REQ_END_DATE IS NULL OR p_resrc_Require_rec.REQ_END_DATE = Fnd_Api.G_MISS_DATE) THEN
585: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
586: Fnd_Message.set_name ('AHL', 'AHL_PP_REQUIRE_END_DT_MISSING');
587: Fnd_Msg_Pub.ADD;
588: END IF;
585: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
586: Fnd_Message.set_name ('AHL', 'AHL_PP_REQUIRE_END_DT_MISSING');
587: Fnd_Msg_Pub.ADD;
588: END IF;
589: x_return_status := Fnd_Api.g_ret_sts_error;
590: RETURN;
591: END IF;
592: --
593: -- Use local vars to reduce amount of typing.
590: RETURN;
591: END IF;
592: --
593: -- Use local vars to reduce amount of typing.
594: IF p_resrc_Require_rec.Req_start_date IS NOT NULL OR p_resrc_Require_rec.Req_start_date <> Fnd_Api.g_miss_date THEN
595: l_Require_start_date := p_resrc_Require_rec.Req_start_date;
596: END IF;
597:
598: IF p_resrc_Require_rec.Req_end_date IS NOT NULL OR p_resrc_Require_rec.Req_end_date <> Fnd_Api.g_miss_date THEN
594: IF p_resrc_Require_rec.Req_start_date IS NOT NULL OR p_resrc_Require_rec.Req_start_date <> Fnd_Api.g_miss_date THEN
595: l_Require_start_date := p_resrc_Require_rec.Req_start_date;
596: END IF;
597:
598: IF p_resrc_Require_rec.Req_end_date IS NOT NULL OR p_resrc_Require_rec.Req_end_date <> Fnd_Api.g_miss_date THEN
599: l_Require_end_date := p_resrc_Require_rec.Req_end_date;
600: END IF;
601:
602: IF G_DEBUG='Y' THEN
611: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
612: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_FROMDT_GTR_TODT');
613: Fnd_Msg_Pub.ADD;
614: END IF;
615: x_return_status := Fnd_Api.g_ret_sts_error;
616: RETURN;
617: END IF;
618: END IF;
619:
618: END IF;
619:
620: ------------------- Start Uncommented on 27 Jan 2003 as bug#2771573 -----------------
621: IF g_MODULE_TYPE='JSP' THEN
622: IF p_resrc_Require_rec.OPERATION_RESOURCE_ID = Fnd_Api.G_MISS_NUM OR p_resrc_Require_rec.OPERATION_RESOURCE_ID IS NULL THEN
623: OPEN c_wo_oper(p_resrc_Require_rec.WORKORDER_OPERATION_ID);
624: FETCH c_wo_oper INTO l_eff_st_date, l_eff_end_date, l_sch_st_date, l_sch_end_date;
625: IF c_wo_oper%NOTFOUND THEN
626: CLOSE c_wo_oper;
678: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
679: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_STDT_LESS_ACT_STDT');
680: Fnd_Msg_Pub.ADD;
681: END IF;
682: x_return_status := Fnd_Api.g_ret_sts_error;
683: RETURN;
684: END IF;
685: ELS*/
686: IF l_sch_st_date IS NOT NULL THEN
689: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
690: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_STDT_LESS_SCH_STDT');
691: Fnd_Msg_Pub.ADD;
692: END IF;
693: x_return_status := Fnd_Api.g_ret_sts_error;
694: RETURN;
695: END IF;
696: END IF;
697:
701: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
702: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_STDT_MORE_ACT_EDDT');
703: Fnd_Msg_Pub.ADD;
704: END IF;
705: x_return_status := Fnd_Api.g_ret_sts_error;
706: RETURN;
707: END IF;
708: ELS */
709: IF l_sch_end_date IS NOT NULL THEN
712: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
713: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_STDT_MORE_SCH_EDDT');
714: Fnd_Msg_Pub.ADD;
715: END IF;
716: x_return_status := Fnd_Api.g_ret_sts_error;
717: RETURN;
718: END IF;
719: END IF;
720: END IF;
727: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
728: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_EDDT_MORE_ACT_EDDT');
729: Fnd_Msg_Pub.ADD;
730: END IF;
731: x_return_status := Fnd_Api.g_ret_sts_error;
732: RETURN;
733: END IF;
734: ELS */
735: IF l_sch_end_date IS NOT NULL THEN
738: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
739: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_EDDT_MORE_SCH_EDDT');
740: Fnd_Msg_Pub.ADD;
741: END IF;
742: x_return_status := Fnd_Api.g_ret_sts_error;
743: RETURN;
744: END IF;
745: END IF;
746:
750: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
751: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_EDDT_LESS_ACT_STDT');
752: Fnd_Msg_Pub.ADD;
753: END IF;
754: x_return_status := Fnd_Api.g_ret_sts_error;
755: RETURN;
756: END IF;
757: ELS */
758: IF l_sch_st_date IS NOT NULL THEN
761: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
762: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_EDDT_LESS_SCH_STDT');
763: Fnd_Msg_Pub.ADD;
764: END IF;
765: x_return_status := Fnd_Api.g_ret_sts_error;
766: RETURN;
767: END IF;
768: END IF;
769: END IF; -- CHECK FOR l_Require_end_date IS NOT NULL
781: IS
782: l_valid_flag VARCHAR2(1);
783: l_ctr NUMBER:=0;
784: BEGIN
785: x_return_status := Fnd_Api.g_ret_sts_success;
786:
787: --
788: -- For when ID is passed in, we need to check if this ID is unique.
789: IF G_DEBUG='Y' THEN
794: Ahl_Debug_Pub.debug( ' OPERATION_RESOURCE_ID -->' ||p_resrc_Require_rec.OPERATION_RESOURCE_ID);
795: Ahl_Debug_Pub.debug( ' WORKORDER_OPERATION_ID -->' ||p_resrc_Require_rec.WORKORDER_OPERATION_ID);
796: END IF;
797:
798: IF p_validation_mode = Jtf_Plsql_Api.g_create AND (p_resrc_Require_rec.OPERATION_RESOURCE_ID IS NULL OR p_resrc_Require_rec.OPERATION_RESOURCE_ID = FND_API.g_miss_num) THEN
799: Ahl_Debug_Pub.debug( 'For create l_valid_flag -->' || l_valid_flag);
800: Ahl_Debug_Pub.debug( 'QUERY -->' || 'RESOURCE_SEQUENCE_NUM = ' || p_resrc_Require_rec.RESOURCE_SEQ_NUMBER ||
801: ' AND WORKORDER_OPERATION_ID = ' || p_resrc_Require_rec.WORKORDER_OPERATION_ID);
802:
823: ' AND WORKORDER_OPERATION_ID = ' || p_resrc_Require_rec.WORKORDER_OPERATION_ID ||
824: ' AND OPERATION_RESOURCE_ID <> ' || p_resrc_Require_rec.OPERATION_RESOURCE_ID);
825: END IF;
826:
827: IF l_valid_flag = Fnd_Api.g_false
828: THEN
829:
830: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
831: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_NOT_UNIQUE');
830: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
831: Fnd_Message.set_name ('AHL', 'AHL_PP_REQ_NOT_UNIQUE');
832: Fnd_Msg_Pub.ADD;
833: END IF;
834: x_return_status := Fnd_Api.g_ret_sts_error;
835: RETURN;
836: END IF;
837:
838: END Check_Resrc_Require_UK_Items;
858: p_resrc_Require_rec => p_resrc_Require_rec,
859: x_return_status => x_return_status
860: );
861:
862: IF x_return_status <> Fnd_Api.g_ret_sts_success THEN
863: RETURN;
864: END IF;
865: --
866: -- Validate uniqueness.
869: p_validation_mode => p_validation_mode,
870: x_return_status => x_return_status
871: );
872:
873: IF x_return_status <> Fnd_Api.g_ret_sts_success THEN
874: RETURN;
875: END IF;
876:
877: END Check_Resrc_Require_Items;
882: --
883: --------------------------------------------------------------------
884: PROCEDURE Validate_Resrc_Require (
885: p_api_version IN NUMBER,
886: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
887: p_commit IN VARCHAR2 := Fnd_Api.g_false,
888: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
889: p_resrc_Require_rec IN Resrc_Require_Rec_Type,
890:
883: --------------------------------------------------------------------
884: PROCEDURE Validate_Resrc_Require (
885: p_api_version IN NUMBER,
886: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
887: p_commit IN VARCHAR2 := Fnd_Api.g_false,
888: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
889: p_resrc_Require_rec IN Resrc_Require_Rec_Type,
890:
891: x_return_status OUT NOCOPY VARCHAR2,
884: PROCEDURE Validate_Resrc_Require (
885: p_api_version IN NUMBER,
886: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
887: p_commit IN VARCHAR2 := Fnd_Api.g_false,
888: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
889: p_resrc_Require_rec IN Resrc_Require_Rec_Type,
890:
891: x_return_status OUT NOCOPY VARCHAR2,
892: x_msg_count OUT NOCOPY NUMBER,
916: IF G_DEBUG='Y' THEN
917: Ahl_Debug_Pub.debug( l_full_name ||':Start');
918: END IF;
919:
920: IF Fnd_Api.to_boolean (p_init_msg_list) THEN
921: Fnd_Msg_Pub.initialize;
922: END IF;
923:
924: IF NOT Fnd_Api.compatible_api_call (
920: IF Fnd_Api.to_boolean (p_init_msg_list) THEN
921: Fnd_Msg_Pub.initialize;
922: END IF;
923:
924: IF NOT Fnd_Api.compatible_api_call (
925: l_api_version,
926: p_api_version,
927: l_api_name,
928: G_PKG_NAME
926: p_api_version,
927: l_api_name,
928: G_PKG_NAME
929: ) THEN
930: RAISE Fnd_Api.g_exc_unexpected_error;
931: END IF;
932: x_return_status := Fnd_Api.g_ret_sts_success;
933:
934: ---------------------- validate ------------------------
928: G_PKG_NAME
929: ) THEN
930: RAISE Fnd_Api.g_exc_unexpected_error;
931: END IF;
932: x_return_status := Fnd_Api.g_ret_sts_success;
933:
934: ---------------------- validate ------------------------
935: IF G_DEBUG='Y' THEN
936: Ahl_Debug_Pub.debug( l_full_name ||':Check items');
942: p_validation_mode => Jtf_Plsql_Api.g_create,
943: x_return_status => l_return_status
944: );
945:
946: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
947: RAISE Fnd_Api.g_exc_unexpected_error;
948: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
949: RAISE Fnd_Api.g_exc_error;
950: END IF;
943: x_return_status => l_return_status
944: );
945:
946: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
947: RAISE Fnd_Api.g_exc_unexpected_error;
948: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
949: RAISE Fnd_Api.g_exc_error;
950: END IF;
951: END IF;
944: );
945:
946: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
947: RAISE Fnd_Api.g_exc_unexpected_error;
948: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
949: RAISE Fnd_Api.g_exc_error;
950: END IF;
951: END IF;
952: --FP for Bug 6625880. AMSRINIV. Doing away with below validation as misc resources can be scheduled.
945:
946: IF l_return_status = Fnd_Api.g_ret_sts_unexp_error THEN
947: RAISE Fnd_Api.g_exc_unexpected_error;
948: ELSIF l_return_status = Fnd_Api.g_ret_sts_error THEN
949: RAISE Fnd_Api.g_exc_error;
950: END IF;
951: END IF;
952: --FP for Bug 6625880. AMSRINIV. Doing away with below validation as misc resources can be scheduled.
953: -- Fix for bug# 6512803. Validate scheduled type with resource type.
952: --FP for Bug 6625880. AMSRINIV. Doing away with below validation as misc resources can be scheduled.
953: -- Fix for bug# 6512803. Validate scheduled type with resource type.
954: /*
955: IF (p_resrc_Require_rec.scheduled_type_code IS NOT NULL AND
956: p_resrc_Require_rec.scheduled_type_code <> FND_API.G_MISS_NUM) THEN
957: IF (p_resrc_Require_rec.resource_type_code IS NULL AND
958: p_resrc_Require_rec.resource_type_code = FND_API.G_MISS_NUM) THEN
959: OPEN get_res_type(p_resrc_Require_rec.resource_id);
960: FETCH get_res_type INTO l_resource_type_code;
954: /*
955: IF (p_resrc_Require_rec.scheduled_type_code IS NOT NULL AND
956: p_resrc_Require_rec.scheduled_type_code <> FND_API.G_MISS_NUM) THEN
957: IF (p_resrc_Require_rec.resource_type_code IS NULL AND
958: p_resrc_Require_rec.resource_type_code = FND_API.G_MISS_NUM) THEN
959: OPEN get_res_type(p_resrc_Require_rec.resource_id);
960: FETCH get_res_type INTO l_resource_type_code;
961: CLOSE get_res_type;
962: ELSE
964: END IF;
965: IF (l_resource_type_code NOT IN (1,2)) AND p_resrc_Require_rec.scheduled_type_code = 1 THEN
966: FND_MESSAGE.set_name( 'AHL', 'AHL_PRD_INVALID_SCHEDULE_TYPE' );
967: Fnd_Msg_Pub.ADD;
968: RAISE Fnd_Api.g_exc_error;
969: END IF;
970: END IF;
971: */
972: -------------------- finish --------------------------
970: END IF;
971: */
972: -------------------- finish --------------------------
973: Fnd_Msg_Pub.count_and_get (
974: p_encoded => Fnd_Api.g_false,
975: p_count => x_msg_count,
976: p_data => x_msg_data
977: );
978: IF G_DEBUG='Y' THEN
984: Ahl_Debug_Pub.disable_debug;
985: END IF;
986:
987: EXCEPTION
988: WHEN Fnd_Api.g_exc_error THEN
989: x_return_status := Fnd_Api.g_ret_sts_error;
990: Fnd_Msg_Pub.count_and_get (
991: p_encoded => Fnd_Api.g_false,
992: p_count => x_msg_count,
985: END IF;
986:
987: EXCEPTION
988: WHEN Fnd_Api.g_exc_error THEN
989: x_return_status := Fnd_Api.g_ret_sts_error;
990: Fnd_Msg_Pub.count_and_get (
991: p_encoded => Fnd_Api.g_false,
992: p_count => x_msg_count,
993: p_data => x_msg_data
987: EXCEPTION
988: WHEN Fnd_Api.g_exc_error THEN
989: x_return_status := Fnd_Api.g_ret_sts_error;
990: Fnd_Msg_Pub.count_and_get (
991: p_encoded => Fnd_Api.g_false,
992: p_count => x_msg_count,
993: p_data => x_msg_data
994: );
995: WHEN Fnd_Api.g_exc_unexpected_error THEN
991: p_encoded => Fnd_Api.g_false,
992: p_count => x_msg_count,
993: p_data => x_msg_data
994: );
995: WHEN Fnd_Api.g_exc_unexpected_error THEN
996: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
997: Fnd_Msg_Pub.count_and_get (
998: p_encoded => Fnd_Api.g_false,
999: p_count => x_msg_count,
992: p_count => x_msg_count,
993: p_data => x_msg_data
994: );
995: WHEN Fnd_Api.g_exc_unexpected_error THEN
996: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
997: Fnd_Msg_Pub.count_and_get (
998: p_encoded => Fnd_Api.g_false,
999: p_count => x_msg_count,
1000: p_data => x_msg_data
994: );
995: WHEN Fnd_Api.g_exc_unexpected_error THEN
996: x_return_status := Fnd_Api.g_ret_sts_unexp_error ;
997: Fnd_Msg_Pub.count_and_get (
998: p_encoded => Fnd_Api.g_false,
999: p_count => x_msg_count,
1000: p_data => x_msg_data
1001: );
1002: WHEN OTHERS THEN
999: p_count => x_msg_count,
1000: p_data => x_msg_data
1001: );
1002: WHEN OTHERS THEN
1003: x_return_status := Fnd_Api.g_ret_sts_unexp_error;
1004: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_unexp_error)
1005: THEN
1006: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
1007: END IF;
1006: Fnd_Msg_Pub.add_exc_msg (G_PKG_NAME, l_api_name);
1007: END IF;
1008:
1009: Fnd_Msg_Pub.count_and_get (
1010: p_encoded => Fnd_Api.g_false,
1011: p_count => x_msg_count,
1012: p_data => x_msg_data
1013: );
1014: END Validate_Resrc_Require;
1149: -- is same as that of visit master work orders end date.
1150: AHL_PRD_WORKORDER_PVT.update_job
1151: (
1152: p_api_version => 1.0 ,
1153: p_init_msg_list => FND_API.G_FALSE ,
1154: p_commit => FND_API.G_FALSE ,
1155: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
1156: p_default => FND_API.G_TRUE ,
1157: p_module_type => NULL ,
1150: AHL_PRD_WORKORDER_PVT.update_job
1151: (
1152: p_api_version => 1.0 ,
1153: p_init_msg_list => FND_API.G_FALSE ,
1154: p_commit => FND_API.G_FALSE ,
1155: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
1156: p_default => FND_API.G_TRUE ,
1157: p_module_type => NULL ,
1158: x_return_status => l_return_status ,
1151: (
1152: p_api_version => 1.0 ,
1153: p_init_msg_list => FND_API.G_FALSE ,
1154: p_commit => FND_API.G_FALSE ,
1155: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
1156: p_default => FND_API.G_TRUE ,
1157: p_module_type => NULL ,
1158: x_return_status => l_return_status ,
1159: x_msg_count => l_msg_count ,
1152: p_api_version => 1.0 ,
1153: p_init_msg_list => FND_API.G_FALSE ,
1154: p_commit => FND_API.G_FALSE ,
1155: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
1156: p_default => FND_API.G_TRUE ,
1157: p_module_type => NULL ,
1158: x_return_status => l_return_status ,
1159: x_msg_count => l_msg_count ,
1160: x_msg_data => l_msg_data ,
1162: p_x_prd_workorder_rec => l_up_workorder_rec ,
1163: p_x_prd_workoper_tbl => l_up_workoper_tbl
1164: );
1165:
1166: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
1167: RAISE FND_API.G_EXC_ERROR;
1168: END IF;
1169:
1170: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
1163: p_x_prd_workoper_tbl => l_up_workoper_tbl
1164: );
1165:
1166: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
1167: RAISE FND_API.G_EXC_ERROR;
1168: END IF;
1169:
1170: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL)
1171: THEN
1186: -- Parameters :
1187: --
1188: -- Standard IN Parameters :
1189: -- p_api_version IN NUMBER Required
1190: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1191: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1192: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1193: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
1194: -- p_module_type IN VARCHAR2 Default NULL.
1187: --
1188: -- Standard IN Parameters :
1189: -- p_api_version IN NUMBER Required
1190: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1191: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1192: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1193: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
1194: -- p_module_type IN VARCHAR2 Default NULL.
1195: --
1188: -- Standard IN Parameters :
1189: -- p_api_version IN NUMBER Required
1190: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1191: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1192: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1193: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
1194: -- p_module_type IN VARCHAR2 Default NULL.
1195: --
1196: -- Standard OUT Parameters :
1189: -- p_api_version IN NUMBER Required
1190: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1191: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1192: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1193: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
1194: -- p_module_type IN VARCHAR2 Default NULL.
1195: --
1196: -- Standard OUT Parameters :
1197: -- x_return_status OUT VARCHAR2 Required
1208: -- End of Comments.
1209:
1210: PROCEDURE Create_Resrc_Require (
1211: p_api_version IN NUMBER,
1212: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
1213: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
1214: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
1215: p_module_type IN VARCHAR2 := NULL,
1216: p_interface_flag IN VARCHAR2,
1209:
1210: PROCEDURE Create_Resrc_Require (
1211: p_api_version IN NUMBER,
1212: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
1213: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
1214: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
1215: p_module_type IN VARCHAR2 := NULL,
1216: p_interface_flag IN VARCHAR2,
1217: p_x_resrc_Require_Tbl IN OUT NOCOPY AHL_PP_RESRC_Require_PVT.Resrc_Require_Tbl_Type,
1210: PROCEDURE Create_Resrc_Require (
1211: p_api_version IN NUMBER,
1212: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
1213: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
1214: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
1215: p_module_type IN VARCHAR2 := NULL,
1216: p_interface_flag IN VARCHAR2,
1217: p_x_resrc_Require_Tbl IN OUT NOCOPY AHL_PP_RESRC_Require_PVT.Resrc_Require_Tbl_Type,
1218: x_return_status OUT NOCOPY VARCHAR2,
1386: END IF;
1387: G_MODULE_TYPE:=P_MODULE_TYPE;
1388:
1389: -- Standard call to check for call compatibility.
1390: IF FND_API.to_boolean(p_init_msg_list)
1391: THEN
1392: FND_MSG_PUB.initialize;
1393: END IF;
1394:
1392: FND_MSG_PUB.initialize;
1393: END IF;
1394:
1395: -- Initialize API return status to success
1396: x_return_status := FND_API.G_RET_STS_SUCCESS;
1397:
1398: -- Initialize message list if p_init_msg_list is set to TRUE.
1399: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
1400: p_api_version,
1395: -- Initialize API return status to success
1396: x_return_status := FND_API.G_RET_STS_SUCCESS;
1397:
1398: -- Initialize message list if p_init_msg_list is set to TRUE.
1399: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
1400: p_api_version,
1401: l_api_name,G_PKG_NAME)
1402: THEN
1403: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1399: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
1400: p_api_version,
1401: l_api_name,G_PKG_NAME)
1402: THEN
1403: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1404: END IF;
1405: --------------------Start of API Body-----------------------------------
1406: IF p_x_resrc_Require_tbl.COUNT > 0 THEN
1407: FOR i IN p_x_resrc_Require_tbl.FIRST..p_x_resrc_Require_tbl.LAST
1426:
1427: END IF;
1428:
1429: IF l_Resrc_Require_Rec.workorder_id IS NOT NULL THEN
1430: IF l_Resrc_Require_Rec.operation_seq_number IS NOT NULL AND l_Resrc_Require_Rec.operation_seq_number <> FND_API.G_MISS_NUM THEN
1431:
1432: OPEN c_wo_oper(l_Resrc_Require_Rec.workorder_id, l_Resrc_Require_Rec.operation_seq_number);
1433: FETCH c_wo_oper INTO l_wo_operation_id;
1434: IF c_wo_oper%NOTFOUND THEN
1440: CLOSE c_wo_oper;
1441: l_Resrc_Require_Rec.workorder_operation_id := l_wo_operation_id;
1442:
1443: IF l_Resrc_Require_Rec.resource_seq_number IS NOT NULL AND
1444: l_Resrc_Require_Rec.resource_seq_number <> FND_API.G_MISS_NUM THEN
1445: OPEN c_resrc_seq(l_Resrc_Require_Rec.workorder_id, l_Resrc_Require_Rec.operation_seq_number,l_Resrc_Require_Rec.resource_seq_number);
1446: FETCH c_resrc_seq INTO l_count;
1447: CLOSE c_resrc_seq;
1448:
1479: p_workorder_id => l_resrc_require_rec.workorder_id,
1480: p_ue_id => NULL,
1481: p_visit_id => NULL,
1482: p_item_instance_id => NULL);
1483: IF l_return_status = FND_API.G_TRUE THEN
1484: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_CRT_RESREQ_UNTLCKD');
1485: FND_MSG_PUB.ADD;
1486: RAISE FND_API.G_EXC_ERROR;
1487: END IF;
1482: p_item_instance_id => NULL);
1483: IF l_return_status = FND_API.G_TRUE THEN
1484: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_CRT_RESREQ_UNTLCKD');
1485: FND_MSG_PUB.ADD;
1486: RAISE FND_API.G_EXC_ERROR;
1487: END IF;
1488: --rroy
1489: -- ACL Changes
1490:
1557: END IF;
1558: --
1559: -- For Resource Type
1560: IF ( l_Resrc_Require_Rec.resource_type_name IS NOT NULL AND
1561: l_Resrc_Require_Rec.resource_type_name <> Fnd_Api.G_MISS_CHAR )
1562: THEN
1563: Check_Lookup_Name_Or_Id (
1564: p_lookup_type => 'BOM_RESOURCE_TYPE',
1565: p_lookup_code => NULL,
1571: IF NVL(l_return_status, 'X') <> 'S'
1572: THEN
1573: Fnd_Message.SET_NAME('AHL','AHL_PP_RESRC_TYPE_NOT_EXISTS');
1574: Fnd_Msg_Pub.ADD;
1575: RAISE Fnd_Api.G_EXC_ERROR;
1576: END IF;
1577: END IF;
1578: IF G_DEBUG='Y' THEN
1579: Ahl_Debug_Pub.debug ( ' Resource Type Code = ' || l_Resrc_Require_Rec.resource_type_code);
1583: Ahl_Debug_Pub.debug ( l_full_name || '*******************BEFORE RESOURCE NAME CHECK');
1584: END IF;
1585: -- For Resource
1586: IF l_Resrc_Require_Rec.RESOURCE_NAME IS NOT NULL AND
1587: l_Resrc_Require_Rec.RESOURCE_NAME <> Fnd_Api.G_MISS_CHAR
1588: THEN
1589: Check_Resource_Name_Or_Id
1590: (p_Resource_Id => l_Resrc_Require_Rec.Resource_Id,
1591: p_Resource_code => l_Resrc_Require_Rec.Resource_Name,
1599: IF NVL(l_return_status, 'X') <> 'S'
1600: THEN
1601: Fnd_Message.SET_NAME('AHL','AHL_PP_RESOURCE_NOT_EXISTS');
1602: Fnd_Msg_Pub.ADD;
1603: RAISE Fnd_Api.G_EXC_ERROR;
1604: END IF;
1605: END IF;
1606: IF G_DEBUG='Y' THEN
1607: Ahl_Debug_Pub.debug ( l_full_name || '*******************AFTER RESOURCE NAME CHECK');
1638: --
1639: p_x_resrc_Require_tbl(i).uom_code := l_Resrc_Require_Rec.UOM_CODE;
1640: -- For Units of Measure
1641: IF l_Resrc_Require_Rec.UOM_NAME IS NOT NULL AND
1642: l_Resrc_Require_Rec.UOM_NAME <> Fnd_Api.G_MISS_CHAR
1643: THEN
1644: OPEN c_UOM(l_Resrc_Require_Rec.UOM_NAME);
1645: FETCH c_UOM INTO l_Resrc_Require_Rec.UOM_CODE;
1646: IF c_UOM%NOTFOUND THEN
1653: END IF;
1654:
1655: -- For AutoCharge Type
1656: IF ( l_Resrc_Require_Rec.CHARGE_TYPE_NAME IS NOT NULL AND
1657: l_Resrc_Require_Rec.CHARGE_TYPE_NAME <> Fnd_Api.G_MISS_CHAR )
1658: THEN
1659: Check_Lookup_Name_Or_Id (
1660: p_lookup_type => 'BOM_AUTOCHARGE_TYPE',
1661: p_lookup_code => NULL,
1667: IF NVL(l_return_status, 'X') <> 'S'
1668: THEN
1669: Fnd_Message.SET_NAME('AHL','AHL_PP_CHARGE_TYPE_NOT_EXISTS');
1670: Fnd_Msg_Pub.ADD;
1671: RAISE Fnd_Api.G_EXC_ERROR;
1672: END IF;
1673: END IF;
1674: IF G_DEBUG='Y' THEN
1675: Ahl_Debug_Pub.debug ( l_full_name || ' AutoCharge Code = ' || l_Resrc_Require_Rec.CHARGE_TYPE_CODE);
1677: Ahl_Debug_Pub.debug ( l_full_name || ' COST BASIS CODE = ' || l_Resrc_Require_Rec.COST_BASIS_CODE);
1678: END IF;
1679: -- For Cost Basis
1680: IF ( l_Resrc_Require_Rec.COST_BASIS_NAME IS NOT NULL AND
1681: l_Resrc_Require_Rec.COST_BASIS_NAME <> Fnd_Api.G_MISS_CHAR )
1682: THEN
1683: Check_Lookup_Name_Or_Id (
1684: p_lookup_type => 'CST_BASIS',
1685: p_lookup_code => NULL,
1691: IF NVL(l_return_status, 'X') <> 'S'
1692: THEN
1693: Fnd_Message.SET_NAME('AHL','AHL_PP_COST_BASIS_NOT_EXISTS');
1694: Fnd_Msg_Pub.ADD;
1695: RAISE Fnd_Api.G_EXC_ERROR;
1696: END IF;
1697: END IF;
1698: IF G_DEBUG='Y' THEN
1699: Ahl_Debug_Pub.debug ( l_full_name || ' COST BASIS CODE = ' || l_Resrc_Require_Rec.COST_BASIS_CODE);
1701: Ahl_Debug_Pub.debug ( l_full_name || ' SCHEDULED TYPE CODE = ' || l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE);
1702: END IF;
1703: -- For Scheduled Type
1704: IF ( l_Resrc_Require_Rec.SCHEDULED_TYPE_NAME IS NOT NULL AND
1705: l_Resrc_Require_Rec.SCHEDULED_TYPE_NAME <> Fnd_Api.G_MISS_CHAR )
1706: THEN
1707: Check_Lookup_Name_Or_Id (
1708: p_lookup_type => 'BOM_RESOURCE_SCHEDULE_TYPE',
1709: p_lookup_code => NULL,
1715: IF NVL(l_return_status, 'X') <> 'S'
1716: THEN
1717: Fnd_Message.SET_NAME('AHL','AHL_PP_SCHED_TYPE_NOT_EXISTS');
1718: Fnd_Msg_Pub.ADD;
1719: RAISE Fnd_Api.G_EXC_ERROR;
1720: END IF;
1721: END IF;
1722: IF G_DEBUG='Y' THEN
1723: Ahl_Debug_Pub.debug ( l_full_name || ' SCHEDULED TYPE CODE = ' || l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE);
1724: Ahl_Debug_Pub.debug ( l_full_name || ' STANDARD RATE FLAG = ' || l_Resrc_Require_Rec.STD_RATE_FLAG_CODE);
1725: END IF;
1726: -- To find meaning for fnd_lookups code
1727: IF (l_Resrc_Require_Rec.STD_RATE_FLAG_CODE IS NOT NULL AND
1728: l_Resrc_Require_Rec.STD_RATE_FLAG_CODE <> Fnd_Api.G_MISS_NUM) THEN
1729: SELECT meaning
1730: INTO l_std_rate_flag
1731: FROM MFG_LOOKUPS
1732: WHERE lookup_code = l_Resrc_Require_Rec.STD_RATE_FLAG_CODE
1776: l_msg_count := Fnd_Msg_Pub.count_msg;
1777:
1778: IF l_msg_count > 0 THEN
1779: x_msg_count := l_msg_count;
1780: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1781: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1782: END IF;
1783:
1784: --
1777:
1778: IF l_msg_count > 0 THEN
1779: x_msg_count := l_msg_count;
1780: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
1781: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1782: END IF;
1783:
1784: --
1785: IF l_Resrc_Require_Rec.Operation_Resource_Id = FND_API.G_MISS_NUM OR l_Resrc_Require_Rec.Operation_Resource_Id IS NULL
1781: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1782: END IF;
1783:
1784: --
1785: IF l_Resrc_Require_Rec.Operation_Resource_Id = FND_API.G_MISS_NUM OR l_Resrc_Require_Rec.Operation_Resource_Id IS NULL
1786: THEN
1787: IF G_DEBUG='Y' THEN
1788: Ahl_Debug_Pub.debug ( l_full_name || ' ******INSIDE DEFAULT VALUES****');
1789: END IF;
1789: END IF;
1790:
1791: -- These conditions are Required for optional fields
1792: IF (l_Resrc_Require_Rec.CHARGE_TYPE_CODE IS NULL OR
1793: l_Resrc_Require_Rec.CHARGE_TYPE_CODE = Fnd_Api.G_MISS_NUM) THEN
1794: l_Resrc_Require_Rec.charge_type_code := 2;
1795: END IF;
1796:
1797: IF (l_Resrc_Require_Rec.COST_BASIS_CODE IS NULL OR
1794: l_Resrc_Require_Rec.charge_type_code := 2;
1795: END IF;
1796:
1797: IF (l_Resrc_Require_Rec.COST_BASIS_CODE IS NULL OR
1798: l_Resrc_Require_Rec.COST_BASIS_CODE = Fnd_Api.G_MISS_NUM) THEN
1799: l_Resrc_Require_Rec.cost_basis_code := 1;
1800: END IF;
1801:
1802: IF (l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE IS NULL OR
1799: l_Resrc_Require_Rec.cost_basis_code := 1;
1800: END IF;
1801:
1802: IF (l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE IS NULL OR
1803: l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE = Fnd_Api.G_MISS_NUM) THEN
1804: l_Resrc_Require_Rec.scheduled_type_code := 1;
1805: END IF;
1806:
1807: -- As part of fix for bug# 6512803, merged validation of STD_RATE_FLAG_CODE and
1806:
1807: -- As part of fix for bug# 6512803, merged validation of STD_RATE_FLAG_CODE and
1808: -- SCHEDULED_TYPE_CODE under one IF block.
1809: IF (l_Resrc_Require_Rec.STD_RATE_FLAG_CODE IS NULL OR
1810: l_Resrc_Require_Rec.STD_RATE_FLAG_CODE = Fnd_Api.G_MISS_NUM) OR
1811: (l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE IS NULL OR
1812: l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE = Fnd_Api.G_MISS_NUM) THEN
1813:
1814: -- Balaji modified the code for Bug # 5951435-- Begin
1808: -- SCHEDULED_TYPE_CODE under one IF block.
1809: IF (l_Resrc_Require_Rec.STD_RATE_FLAG_CODE IS NULL OR
1810: l_Resrc_Require_Rec.STD_RATE_FLAG_CODE = Fnd_Api.G_MISS_NUM) OR
1811: (l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE IS NULL OR
1812: l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE = Fnd_Api.G_MISS_NUM) THEN
1813:
1814: -- Balaji modified the code for Bug # 5951435-- Begin
1815:
1816: OPEN c_get_std_rate_flag(l_Resrc_Require_Rec.Resource_Id);
1820:
1821: -- Balaji modified the code for Bug # 5951435-- End
1822: -- Added to fix bug# 6512803.
1823: IF (l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE IS NULL OR
1824: l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE = Fnd_Api.G_MISS_NUM) THEN
1825: IF (l_resource_type IN (1,2)) THEN
1826: l_Resrc_Require_Rec.scheduled_type_code := 1;
1827: ELSE
1828: l_Resrc_Require_Rec.scheduled_type_code := 2;
1831:
1832: END IF;
1833:
1834: -- Last Updated Date
1835: IF l_Resrc_Require_Rec.last_update_login = FND_API.G_MISS_NUM
1836: THEN
1837: l_Resrc_Require_Rec.last_update_login := NULL;
1838: ELSE
1839: l_Resrc_Require_Rec.last_update_login := l_Resrc_Require_Rec.last_update_login;
1838: ELSE
1839: l_Resrc_Require_Rec.last_update_login := l_Resrc_Require_Rec.last_update_login;
1840: END IF;
1841: -- Attribute Category
1842: IF l_Resrc_Require_Rec.attribute_category = FND_API.G_MISS_CHAR
1843: THEN
1844: l_Resrc_Require_Rec.attribute_category := NULL;
1845: ELSE
1846: l_Resrc_Require_Rec.attribute_category := l_Resrc_Require_Rec.attribute_category;
1845: ELSE
1846: l_Resrc_Require_Rec.attribute_category := l_Resrc_Require_Rec.attribute_category;
1847: END IF;
1848: -- Attribute1
1849: IF l_Resrc_Require_Rec.attribute1 = FND_API.G_MISS_CHAR
1850: THEN
1851: l_Resrc_Require_Rec.attribute1 := NULL;
1852: ELSE
1853: l_Resrc_Require_Rec.attribute1 := l_Resrc_Require_Rec.attribute1;
1852: ELSE
1853: l_Resrc_Require_Rec.attribute1 := l_Resrc_Require_Rec.attribute1;
1854: END IF;
1855: -- Attribute2
1856: IF l_Resrc_Require_Rec.attribute2 = FND_API.G_MISS_CHAR
1857: THEN
1858: l_Resrc_Require_Rec.attribute2 := NULL;
1859: ELSE
1860: l_Resrc_Require_Rec.attribute2 := l_Resrc_Require_Rec.attribute2;
1859: ELSE
1860: l_Resrc_Require_Rec.attribute2 := l_Resrc_Require_Rec.attribute2;
1861: END IF;
1862: -- Attribute3
1863: IF l_Resrc_Require_Rec.attribute3 = FND_API.G_MISS_CHAR
1864: THEN
1865: l_Resrc_Require_Rec.attribute3 := NULL;
1866: ELSE
1867: l_Resrc_Require_Rec.attribute3 := l_Resrc_Require_Rec.attribute3;
1866: ELSE
1867: l_Resrc_Require_Rec.attribute3 := l_Resrc_Require_Rec.attribute3;
1868: END IF;
1869: -- Attribute4
1870: IF l_Resrc_Require_Rec.attribute4 = FND_API.G_MISS_CHAR
1871: THEN
1872: l_Resrc_Require_Rec.attribute4 := NULL;
1873: ELSE
1874: l_Resrc_Require_Rec.attribute4 := l_Resrc_Require_Rec.attribute4;
1873: ELSE
1874: l_Resrc_Require_Rec.attribute4 := l_Resrc_Require_Rec.attribute4;
1875: END IF;
1876: -- Attribute5
1877: IF l_Resrc_Require_Rec.attribute5 = FND_API.G_MISS_CHAR
1878: THEN
1879: l_Resrc_Require_Rec.attribute5 := NULL;
1880: ELSE
1881: l_Resrc_Require_Rec.attribute5 := l_Resrc_Require_Rec.attribute5;
1880: ELSE
1881: l_Resrc_Require_Rec.attribute5 := l_Resrc_Require_Rec.attribute5;
1882: END IF;
1883: -- Attribute6
1884: IF l_Resrc_Require_Rec.attribute6 = FND_API.G_MISS_CHAR
1885: THEN
1886: l_Resrc_Require_Rec.attribute6 := NULL;
1887: ELSE
1888: l_Resrc_Require_Rec.attribute6 := l_Resrc_Require_Rec.attribute6;
1887: ELSE
1888: l_Resrc_Require_Rec.attribute6 := l_Resrc_Require_Rec.attribute6;
1889: END IF;
1890: -- Attribute7
1891: IF l_Resrc_Require_Rec.attribute7 = FND_API.G_MISS_CHAR
1892: THEN
1893: l_Resrc_Require_Rec.attribute7 := NULL;
1894: ELSE
1895: l_Resrc_Require_Rec.attribute7 := l_Resrc_Require_Rec.attribute7;
1894: ELSE
1895: l_Resrc_Require_Rec.attribute7 := l_Resrc_Require_Rec.attribute7;
1896: END IF;
1897: -- Attribute8
1898: IF l_Resrc_Require_Rec.attribute8 = FND_API.G_MISS_CHAR
1899: THEN
1900: l_Resrc_Require_Rec.attribute8 := NULL;
1901: ELSE
1902: l_Resrc_Require_Rec.attribute8 := l_Resrc_Require_Rec.attribute8;
1901: ELSE
1902: l_Resrc_Require_Rec.attribute8 := l_Resrc_Require_Rec.attribute8;
1903: END IF;
1904: -- Attribute9
1905: IF l_Resrc_Require_Rec.attribute9 = FND_API.G_MISS_CHAR
1906: THEN
1907: l_Resrc_Require_Rec.attribute9 := NULL;
1908: ELSE
1909: l_Resrc_Require_Rec.attribute9 := l_Resrc_Require_Rec.attribute9;
1908: ELSE
1909: l_Resrc_Require_Rec.attribute9 := l_Resrc_Require_Rec.attribute9;
1910: END IF;
1911: -- Attribute10
1912: IF l_Resrc_Require_Rec.attribute10 = FND_API.G_MISS_CHAR
1913: THEN
1914: l_Resrc_Require_Rec.attribute10 := NULL;
1915: ELSE
1916: l_Resrc_Require_Rec.attribute10 := l_Resrc_Require_Rec.attribute10;
1915: ELSE
1916: l_Resrc_Require_Rec.attribute10 := l_Resrc_Require_Rec.attribute10;
1917: END IF;
1918: -- Attribute11
1919: IF l_Resrc_Require_Rec.attribute11 = FND_API.G_MISS_CHAR
1920: THEN
1921: l_Resrc_Require_Rec.attribute11 := NULL;
1922: ELSE
1923: l_Resrc_Require_Rec.attribute11 := l_Resrc_Require_Rec.attribute11;
1922: ELSE
1923: l_Resrc_Require_Rec.attribute11 := l_Resrc_Require_Rec.attribute11;
1924: END IF;
1925: -- Attribute12
1926: IF l_Resrc_Require_Rec.attribute12 = FND_API.G_MISS_CHAR
1927: THEN
1928: l_Resrc_Require_Rec.attribute12 := NULL;
1929: ELSE
1930: l_Resrc_Require_Rec.attribute12 := l_Resrc_Require_Rec.attribute12;
1929: ELSE
1930: l_Resrc_Require_Rec.attribute12 := l_Resrc_Require_Rec.attribute12;
1931: END IF;
1932: -- Attribute13
1933: IF l_Resrc_Require_Rec.attribute13 = FND_API.G_MISS_CHAR
1934: THEN
1935: l_Resrc_Require_Rec.attribute13 := NULL;
1936: ELSE
1937: l_Resrc_Require_Rec.attribute13 := l_Resrc_Require_Rec.attribute13;
1936: ELSE
1937: l_Resrc_Require_Rec.attribute13 := l_Resrc_Require_Rec.attribute13;
1938: END IF;
1939: -- Attribute14
1940: IF l_Resrc_Require_Rec.attribute14 = FND_API.G_MISS_CHAR
1941: THEN
1942: l_Resrc_Require_Rec.attribute14 := NULL;
1943: ELSE
1944: l_Resrc_Require_Rec.attribute14 := l_Resrc_Require_Rec.attribute14;
1943: ELSE
1944: l_Resrc_Require_Rec.attribute14 := l_Resrc_Require_Rec.attribute14;
1945: END IF;
1946: -- Attribute15
1947: IF l_Resrc_Require_Rec.attribute15 = FND_API.G_MISS_CHAR
1948: THEN
1949: l_Resrc_Require_Rec.attribute15 := NULL;
1950: ELSE
1951: l_Resrc_Require_Rec.attribute15 := l_Resrc_Require_Rec.attribute15;
2050:
2051: -- possible that EAM api returns error status but no error messages.
2052: -- not chking return status causes data corruption - see bug# 7632674
2053: -- Raise errors if exceptions occur
2054: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2055: IF G_DEBUG='Y' THEN
2056: Ahl_Debug_Pub.debug ('Error returned from AHL_EAM_JOB_PVT.process_resource_req:'||l_return_status);
2057: END IF;
2058: RAISE FND_API.G_EXC_ERROR;
2054: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2055: IF G_DEBUG='Y' THEN
2056: Ahl_Debug_Pub.debug ('Error returned from AHL_EAM_JOB_PVT.process_resource_req:'||l_return_status);
2057: END IF;
2058: RAISE FND_API.G_EXC_ERROR;
2059: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2060: IF G_DEBUG='Y' THEN
2061: Ahl_Debug_Pub.debug ('Error returned from AHL_EAM_JOB_PVT.process_resource_req:'||l_return_status);
2062: END IF;
2055: IF G_DEBUG='Y' THEN
2056: Ahl_Debug_Pub.debug ('Error returned from AHL_EAM_JOB_PVT.process_resource_req:'||l_return_status);
2057: END IF;
2058: RAISE FND_API.G_EXC_ERROR;
2059: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2060: IF G_DEBUG='Y' THEN
2061: Ahl_Debug_Pub.debug ('Error returned from AHL_EAM_JOB_PVT.process_resource_req:'||l_return_status);
2062: END IF;
2063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2059: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2060: IF G_DEBUG='Y' THEN
2061: Ahl_Debug_Pub.debug ('Error returned from AHL_EAM_JOB_PVT.process_resource_req:'||l_return_status);
2062: END IF;
2063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2064: END IF;
2065: END IF;
2066:
2067: END IF; -- interface flag
2075: --Standard check to count messages
2076: l_msg_count := Fnd_Msg_Pub.count_msg;
2077: IF l_msg_count > 0 THEN
2078: X_msg_count := l_msg_count;
2079: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2080: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2081: END IF;
2082:
2083: -- IF l_return_status ='S' THEN
2076: l_msg_count := Fnd_Msg_Pub.count_msg;
2077: IF l_msg_count > 0 THEN
2078: X_msg_count := l_msg_count;
2079: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2080: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2081: END IF;
2082:
2083: -- IF l_return_status ='S' THEN
2084: --
2089: Ahl_Debug_Pub.debug ( l_full_name || ' ******INSIDE REQUIRE LOOP****');
2090: END IF;
2091:
2092: l_Resrc_Require_Rec := p_x_resrc_Require_tbl(i);
2093: IF l_Resrc_Require_Rec.Operation_Resource_id = FND_API.G_MISS_NUM OR l_Resrc_Require_Rec.Operation_Resource_Id IS NULL
2094: THEN
2095: IF G_DEBUG='Y' THEN
2096: Ahl_Debug_Pub.debug ( l_full_name || ' ******INSIDE REQUIRE ID IF CASE****');
2097: END IF;
2109: --
2110: IF l_dummy IS NOT NULL THEN
2111: Fnd_Message.SET_NAME('AHL','AHL_PP_SEQUENCE_NO_EXISTS');
2112: Fnd_Msg_Pub.ADD;
2113: RAISE FND_API.G_EXC_ERROR;
2114: END IF;
2115: IF G_DEBUG='Y' THEN
2116: Ahl_Debug_Pub.debug ( l_full_name || ' ******Before calling Insert_Row****');
2117: Ahl_Debug_Pub.debug ( 'l_Resrc_Require_Rec.workorder_operation_id'||l_Resrc_Require_Rec.workorder_operation_id);
2201: --Standard check to count messages
2202: l_msg_count := Fnd_Msg_Pub.count_msg;
2203: IF l_msg_count > 0 THEN
2204: X_msg_count := l_msg_count;
2205: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2206: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2207: END IF;
2208:
2209: --Standard check for commit
2202: l_msg_count := Fnd_Msg_Pub.count_msg;
2203: IF l_msg_count > 0 THEN
2204: X_msg_count := l_msg_count;
2205: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2206: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2207: END IF;
2208:
2209: --Standard check for commit
2210: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
2206: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2207: END IF;
2208:
2209: --Standard check for commit
2210: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
2211: COMMIT;
2212: END IF;
2213: IF G_DEBUG='Y' THEN
2214: -- Debug info
2218: --
2219: END IF;
2220:
2221: EXCEPTION
2222: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2223: ROLLBACK TO Create_Resrc_Require;
2224: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2225: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2226: p_count => x_msg_count,
2220:
2221: EXCEPTION
2222: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2223: ROLLBACK TO Create_Resrc_Require;
2224: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2225: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2226: p_count => x_msg_count,
2227: p_data => x_msg_data);
2228: IF G_DEBUG='Y' THEN
2221: EXCEPTION
2222: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2223: ROLLBACK TO Create_Resrc_Require;
2224: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2225: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2226: p_count => x_msg_count,
2227: p_data => x_msg_data);
2228: IF G_DEBUG='Y' THEN
2229: -- Debug info.
2232: -- Check if API is called in debug mode. If yes, disable debug.
2233: AHL_DEBUG_PUB.disable_debug;
2234: END IF;
2235:
2236: WHEN FND_API.G_EXC_ERROR THEN
2237: ROLLBACK TO Create_Resrc_Require;
2238: X_return_status := FND_API.G_RET_STS_ERROR;
2239: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2240: p_count => x_msg_count,
2234: END IF;
2235:
2236: WHEN FND_API.G_EXC_ERROR THEN
2237: ROLLBACK TO Create_Resrc_Require;
2238: X_return_status := FND_API.G_RET_STS_ERROR;
2239: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2240: p_count => x_msg_count,
2241: p_data => X_msg_data);
2242: IF G_DEBUG='Y' THEN
2235:
2236: WHEN FND_API.G_EXC_ERROR THEN
2237: ROLLBACK TO Create_Resrc_Require;
2238: X_return_status := FND_API.G_RET_STS_ERROR;
2239: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2240: p_count => x_msg_count,
2241: p_data => X_msg_data);
2242: IF G_DEBUG='Y' THEN
2243:
2251: END IF;
2252:
2253: WHEN OTHERS THEN
2254: ROLLBACK TO Create_Resrc_Require;
2255: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2256:
2257: Ahl_Debug_Pub.debug('Inside Exception' || '**SQL ERRORS');
2258: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2259: THEN
2260: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_Require_PVT',
2261: p_procedure_name => 'Create_Resrc_Require',
2262: p_error_text => SUBSTR(SQLERRM,1,240));
2263: END IF;
2264: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
2265: p_count => x_msg_count,
2266: p_data => X_msg_data);
2267: IF G_DEBUG='Y' THEN
2268:
2285: -- Parameters :
2286: --
2287: -- Standard IN Parameters :
2288: -- p_api_version IN NUMBER Required
2289: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2290: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2291: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2292: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
2293: -- p_module_type IN VARCHAR2 Default NULL.
2286: --
2287: -- Standard IN Parameters :
2288: -- p_api_version IN NUMBER Required
2289: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2290: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2291: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2292: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
2293: -- p_module_type IN VARCHAR2 Default NULL.
2294: --
2287: -- Standard IN Parameters :
2288: -- p_api_version IN NUMBER Required
2289: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2290: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2291: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2292: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
2293: -- p_module_type IN VARCHAR2 Default NULL.
2294: --
2295: -- Standard OUT Parameters :
2288: -- p_api_version IN NUMBER Required
2289: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2290: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2291: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2292: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
2293: -- p_module_type IN VARCHAR2 Default NULL.
2294: --
2295: -- Standard OUT Parameters :
2296: -- x_return_status OUT VARCHAR2 Required
2307: -- End of Comments.
2308:
2309: PROCEDURE Update_Resrc_Require (
2310: p_api_version IN NUMBER,
2311: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
2312: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
2313: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
2314: p_module_type IN VARCHAR2 := Null,
2315: p_interface_flag IN VARCHAR2,
2308:
2309: PROCEDURE Update_Resrc_Require (
2310: p_api_version IN NUMBER,
2311: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
2312: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
2313: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
2314: p_module_type IN VARCHAR2 := Null,
2315: p_interface_flag IN VARCHAR2,
2316:
2309: PROCEDURE Update_Resrc_Require (
2310: p_api_version IN NUMBER,
2311: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
2312: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
2313: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
2314: p_module_type IN VARCHAR2 := Null,
2315: p_interface_flag IN VARCHAR2,
2316:
2317: p_x_resrc_Require_Tbl IN OUT NOCOPY Resrc_Require_Tbl_Type,
2455: END IF;
2456:
2457: G_MODULE_TYPE:=P_MODULE_TYPE;
2458: -- Standard call to check for call compatibility.
2459: IF FND_API.to_boolean(p_init_msg_list)
2460: THEN
2461: FND_MSG_PUB.initialize;
2462: END IF;
2463:
2461: FND_MSG_PUB.initialize;
2462: END IF;
2463:
2464: -- Initialize API return status to success
2465: x_return_status := FND_API.G_RET_STS_SUCCESS;
2466:
2467: -- Initialize message list if p_init_msg_list is set to TRUE.
2468: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2469: p_api_version,
2464: -- Initialize API return status to success
2465: x_return_status := FND_API.G_RET_STS_SUCCESS;
2466:
2467: -- Initialize message list if p_init_msg_list is set to TRUE.
2468: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2469: p_api_version,
2470: l_api_name,G_PKG_NAME)
2471: THEN
2472: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2468: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
2469: p_api_version,
2470: l_api_name,G_PKG_NAME)
2471: THEN
2472: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2473: END IF;
2474: --------------------Start of API Body-----------------------------------
2475: IF p_x_resrc_Require_tbl.COUNT > 0 THEN
2476: FOR i IN p_x_resrc_Require_tbl.FIRST..p_x_resrc_Require_tbl.LAST
2503: p_workorder_id => l_workorder_id,
2504: p_ue_id => NULL,
2505: p_visit_id => NULL,
2506: p_item_instance_id => NULL);
2507: IF l_return_status = FND_API.G_TRUE THEN
2508: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_UPD_RESREQ_UNTLCKD');
2509: FND_MSG_PUB.ADD;
2510: RAISE FND_API.G_EXC_ERROR;
2511: END IF;
2506: p_item_instance_id => NULL);
2507: IF l_return_status = FND_API.G_TRUE THEN
2508: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_UPD_RESREQ_UNTLCKD');
2509: FND_MSG_PUB.ADD;
2510: RAISE FND_API.G_EXC_ERROR;
2511: END IF;
2512:
2513: -- rroy
2514: -- ACL changes
2602: Ahl_Debug_Pub.debug ( l_full_name || ' Resource Type Code = ' || l_Resrc_Require_Rec.resource_type_code);*/
2603:
2604: -- For Resource Type
2605: IF ( l_Resrc_Require_Rec.resource_type_name IS NOT NULL AND
2606: l_Resrc_Require_Rec.resource_type_name <> Fnd_Api.G_MISS_CHAR )
2607: THEN
2608: Check_Lookup_Name_Or_Id (
2609: p_lookup_type => 'BOM_RESOURCE_TYPE',
2610: p_lookup_code => NULL,
2616: IF NVL(l_return_status, 'X') <> 'S'
2617: THEN
2618: Fnd_Message.SET_NAME('AHL','AHL_PP_RESRC_TYPE_NOT_EXISTS');
2619: Fnd_Msg_Pub.ADD;
2620: RAISE Fnd_Api.G_EXC_ERROR;
2621: END IF;
2622: END IF;
2623:
2624: --Ahl_Debug_Pub.debug ( l_full_name || ' Resource Type Code = ' || l_Resrc_Require_Rec.resource_type_code);
2624: --Ahl_Debug_Pub.debug ( l_full_name || ' Resource Type Code = ' || l_Resrc_Require_Rec.resource_type_code);
2625: --Ahl_Debug_Pub.debug ( l_full_name || ' Resource Name = ' || l_Resrc_Require_Rec.RESOURCE_NAME);
2626: -- For Resource
2627: IF l_Resrc_Require_Rec.RESOURCE_NAME IS NOT NULL AND
2628: l_Resrc_Require_Rec.RESOURCE_NAME <> Fnd_Api.G_MISS_CHAR
2629: THEN
2630: Check_Resource_Name_Or_Id
2631: (p_Resource_id => l_Resrc_Require_Rec.Resource_Id,
2632: p_Resource_code => l_Resrc_Require_Rec.Resource_Name,
2640: IF NVL(l_return_status, 'X') <> 'S'
2641: THEN
2642: Fnd_Message.SET_NAME('AHL','AHL_PP_RESOURCE_NOT_EXISTS');
2643: Fnd_Msg_Pub.ADD;
2644: RAISE Fnd_Api.G_EXC_ERROR;
2645: END IF;
2646: END IF;
2647: IF G_DEBUG='Y' THEN
2648: Ahl_Debug_Pub.debug ( l_full_name || 'After Resource ID = ' || l_Resrc_Require_Rec.Resource_Id);
2650: --Assign workorder
2651: l_Resrc_Require_Rec.workorder_id := l_workorder_id;
2652:
2653: -- RESOURCE_TYPE_NAME
2654: IF (l_Resrc_Require_Rec.RESOURCE_TYPE_NAME IS NULL OR l_Resrc_Require_Rec.RESOURCE_TYPE_NAME = Fnd_Api.G_MISS_CHAR) THEN
2655: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- Resource Type Name =' || l_Resrc_Require_Rec.RESOURCE_TYPE_NAME);
2656: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
2657: Fnd_Message.set_name ('AHL', 'AHL_PP_RESRC_TYPE_MISSING');
2658: Fnd_Msg_Pub.ADD;
2660: END IF;
2661:
2662: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- Resource Name =' || l_Resrc_Require_Rec.RESOURCE_NAME);
2663: -- RESOURCE_NAME
2664: IF (l_Resrc_Require_Rec.RESOURCE_NAME IS NULL OR l_Resrc_Require_Rec.RESOURCE_NAME = Fnd_Api.G_MISS_CHAR) THEN
2665: Ahl_Debug_Pub.debug('Check_Resrc_Require_Req_Items' || '-- Resource Name =' || l_Resrc_Require_Rec.RESOURCE_NAME);
2666: IF Fnd_Msg_Pub.check_msg_level (Fnd_Msg_Pub.g_msg_lvl_error) THEN
2667: Fnd_Message.set_name ('AHL', 'AHL_PP_RESRC_NAME_MISSING');
2668: Fnd_Msg_Pub.ADD;
2701: Ahl_Debug_Pub.debug ( l_full_name || ' UOM Code = ' || l_Resrc_Require_Rec.UOM_CODE);
2702: END IF;
2703: -- For Units of Measure
2704: IF l_Resrc_Require_Rec.UOM_NAME IS NOT NULL AND
2705: l_Resrc_Require_Rec.UOM_NAME <> Fnd_Api.G_MISS_CHAR
2706: THEN
2707: OPEN c_UOM(l_Resrc_Require_Rec.UOM_NAME);
2708: FETCH c_UOM INTO l_Resrc_Require_Rec.UOM_CODE;
2709: IF c_UOM%NOTFOUND THEN
2727: Ahl_Debug_Pub.debug ( l_full_name || ' AutoCharge Code = ' || l_Resrc_Require_Rec.CHARGE_TYPE_CODE);
2728: END IF;
2729: -- For AutoCharge Type
2730: IF ( l_Resrc_Require_Rec.CHARGE_TYPE_NAME IS NOT NULL AND
2731: l_Resrc_Require_Rec.CHARGE_TYPE_NAME <> Fnd_Api.G_MISS_CHAR )
2732: THEN
2733: Check_Lookup_Name_Or_Id (
2734: p_lookup_type => 'BOM_AUTOCHARGE_TYPE',
2735: p_lookup_code => NULL,
2741: IF NVL(l_return_status, 'X') <> 'S'
2742: THEN
2743: Fnd_Message.SET_NAME('AHL','AHL_PP_CHARGE_TYPE_NOT_EXISTS');
2744: Fnd_Msg_Pub.ADD;
2745: RAISE Fnd_Api.G_EXC_ERROR;
2746: END IF;
2747: END IF;
2748: IF G_DEBUG='Y' THEN
2749: Ahl_Debug_Pub.debug ( l_full_name || ' AutoCharge Code = ' || l_Resrc_Require_Rec.CHARGE_TYPE_CODE);
2751: Ahl_Debug_Pub.debug ( l_full_name || ' COST BASIS CODE = ' || l_Resrc_Require_Rec.COST_BASIS_CODE);
2752: END IF;
2753: -- For Cost Basis
2754: IF ( l_Resrc_Require_Rec.COST_BASIS_NAME IS NOT NULL AND
2755: l_Resrc_Require_Rec.COST_BASIS_NAME <> Fnd_Api.G_MISS_CHAR )
2756: THEN
2757: Check_Lookup_Name_Or_Id (
2758: p_lookup_type => 'CST_BASIS',
2759: p_lookup_code => NULL,
2765: IF NVL(l_return_status, 'X') <> 'S'
2766: THEN
2767: Fnd_Message.SET_NAME('AHL','AHL_PP_COST_BASIS_NOT_EXISTS');
2768: Fnd_Msg_Pub.ADD;
2769: RAISE Fnd_Api.G_EXC_ERROR;
2770: END IF;
2771: END IF;
2772: IF G_DEBUG='Y' THEN
2773: Ahl_Debug_Pub.debug ( l_full_name || ' COST BASIS CODE = ' || l_Resrc_Require_Rec.COST_BASIS_CODE);
2775: Ahl_Debug_Pub.debug ( l_full_name || ' SCHEDULED TYPE CODE = ' || l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE);
2776: END IF;
2777: -- For Scheduled Type
2778: IF ( l_Resrc_Require_Rec.SCHEDULED_TYPE_NAME IS NOT NULL AND
2779: l_Resrc_Require_Rec.SCHEDULED_TYPE_NAME <> Fnd_Api.G_MISS_CHAR )
2780: THEN
2781: Check_Lookup_Name_Or_Id (
2782: p_lookup_type => 'BOM_RESOURCE_SCHEDULE_TYPE',
2783: p_lookup_code => NULL,
2789: IF NVL(l_return_status, 'X') <> 'S'
2790: THEN
2791: Fnd_Message.SET_NAME('AHL','AHL_PP_SCHED_TYPE_NOT_EXISTS');
2792: Fnd_Msg_Pub.ADD;
2793: RAISE Fnd_Api.G_EXC_ERROR;
2794: END IF;
2795: END IF;
2796: IF G_DEBUG='Y' THEN
2797: Ahl_Debug_Pub.debug ( l_full_name || ' SCHEDULED TYPE CODE = ' || l_Resrc_Require_Rec.SCHEDULED_TYPE_CODE);
2798: Ahl_Debug_Pub.debug ( l_full_name || ' STANDARD RATE FLAG = ' || l_Resrc_Require_Rec.STD_RATE_FLAG_CODE);
2799: END IF;
2800: -- To find meaning for fnd_lookups code
2801: IF (l_Resrc_Require_Rec.STD_RATE_FLAG_CODE IS NOT NULL AND
2802: l_Resrc_Require_Rec.STD_RATE_FLAG_CODE <> Fnd_Api.G_MISS_NUM) THEN
2803: SELECT meaning
2804: INTO l_std_rate_flag
2805: FROM MFG_LOOKUPS
2806: WHERE lookup_code = l_Resrc_Require_Rec.STD_RATE_FLAG_CODE
2824: l_msg_count := Fnd_Msg_Pub.count_msg;
2825:
2826: IF l_msg_count > 0 THEN
2827: x_msg_count := l_msg_count;
2828: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2829: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2830: END IF;
2831:
2832: --
2825:
2826: IF l_msg_count > 0 THEN
2827: x_msg_count := l_msg_count;
2828: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2829: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2830: END IF;
2831:
2832: --
2833: IF l_Resrc_Require_Rec.Operation_Resource_id <> FND_API.G_MISS_NUM OR l_Resrc_Require_Rec.Operation_Resource_Id IS NOT NULL
2829: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2830: END IF;
2831:
2832: --
2833: IF l_Resrc_Require_Rec.Operation_Resource_id <> FND_API.G_MISS_NUM OR l_Resrc_Require_Rec.Operation_Resource_Id IS NOT NULL
2834: THEN
2835: -- These conditions are Required for optional fields
2836:
2837: -- Last Updated Date
2834: THEN
2835: -- These conditions are Required for optional fields
2836:
2837: -- Last Updated Date
2838: IF l_Resrc_Require_Rec.last_update_login = FND_API.G_MISS_NUM
2839: THEN
2840: l_Resrc_Require_Rec.last_update_login := NULL;
2841: ELSE
2842: l_Resrc_Require_Rec.last_update_login := l_Resrc_Require_Rec.last_update_login;
2841: ELSE
2842: l_Resrc_Require_Rec.last_update_login := l_Resrc_Require_Rec.last_update_login;
2843: END IF;
2844: -- Attribute Category
2845: IF l_Resrc_Require_Rec.attribute_category = FND_API.G_MISS_CHAR
2846: THEN
2847: l_Resrc_Require_Rec.attribute_category := NULL;
2848: ELSE
2849: l_Resrc_Require_Rec.attribute_category := l_Resrc_Require_Rec.attribute_category;
2848: ELSE
2849: l_Resrc_Require_Rec.attribute_category := l_Resrc_Require_Rec.attribute_category;
2850: END IF;
2851: -- Attribute1
2852: IF l_Resrc_Require_Rec.attribute1 = FND_API.G_MISS_CHAR
2853: THEN
2854: l_Resrc_Require_Rec.attribute1 := NULL;
2855: ELSE
2856: l_Resrc_Require_Rec.attribute1 := l_Resrc_Require_Rec.attribute1;
2855: ELSE
2856: l_Resrc_Require_Rec.attribute1 := l_Resrc_Require_Rec.attribute1;
2857: END IF;
2858: -- Attribute2
2859: IF l_Resrc_Require_Rec.attribute2 = FND_API.G_MISS_CHAR
2860: THEN
2861: l_Resrc_Require_Rec.attribute2 := NULL;
2862: ELSE
2863: l_Resrc_Require_Rec.attribute2 := l_Resrc_Require_Rec.attribute2;
2862: ELSE
2863: l_Resrc_Require_Rec.attribute2 := l_Resrc_Require_Rec.attribute2;
2864: END IF;
2865: -- Attribute3
2866: IF l_Resrc_Require_Rec.attribute3 = FND_API.G_MISS_CHAR
2867: THEN
2868: l_Resrc_Require_Rec.attribute3 := NULL;
2869: ELSE
2870: l_Resrc_Require_Rec.attribute3 := l_Resrc_Require_Rec.attribute3;
2869: ELSE
2870: l_Resrc_Require_Rec.attribute3 := l_Resrc_Require_Rec.attribute3;
2871: END IF;
2872: -- Attribute4
2873: IF l_Resrc_Require_Rec.attribute4 = FND_API.G_MISS_CHAR
2874: THEN
2875: l_Resrc_Require_Rec.attribute4 := NULL;
2876: ELSE
2877: l_Resrc_Require_Rec.attribute4 := l_Resrc_Require_Rec.attribute4;
2876: ELSE
2877: l_Resrc_Require_Rec.attribute4 := l_Resrc_Require_Rec.attribute4;
2878: END IF;
2879: -- Attribute5
2880: IF l_Resrc_Require_Rec.attribute5 = FND_API.G_MISS_CHAR
2881: THEN
2882: l_Resrc_Require_Rec.attribute5 := NULL;
2883: ELSE
2884: l_Resrc_Require_Rec.attribute5 := l_Resrc_Require_Rec.attribute5;
2883: ELSE
2884: l_Resrc_Require_Rec.attribute5 := l_Resrc_Require_Rec.attribute5;
2885: END IF;
2886: -- Attribute6
2887: IF l_Resrc_Require_Rec.attribute6 = FND_API.G_MISS_CHAR
2888: THEN
2889: l_Resrc_Require_Rec.attribute6 := NULL;
2890: ELSE
2891: l_Resrc_Require_Rec.attribute6 := l_Resrc_Require_Rec.attribute6;
2890: ELSE
2891: l_Resrc_Require_Rec.attribute6 := l_Resrc_Require_Rec.attribute6;
2892: END IF;
2893: -- Attribute7
2894: IF l_Resrc_Require_Rec.attribute7 = FND_API.G_MISS_CHAR
2895: THEN
2896: l_Resrc_Require_Rec.attribute7 := NULL;
2897: ELSE
2898: l_Resrc_Require_Rec.attribute7 := l_Resrc_Require_Rec.attribute7;
2897: ELSE
2898: l_Resrc_Require_Rec.attribute7 := l_Resrc_Require_Rec.attribute7;
2899: END IF;
2900: -- Attribute8
2901: IF l_Resrc_Require_Rec.attribute8 = FND_API.G_MISS_CHAR
2902: THEN
2903: l_Resrc_Require_Rec.attribute8 := NULL;
2904: ELSE
2905: l_Resrc_Require_Rec.attribute8 := l_Resrc_Require_Rec.attribute8;
2904: ELSE
2905: l_Resrc_Require_Rec.attribute8 := l_Resrc_Require_Rec.attribute8;
2906: END IF;
2907: -- Attribute9
2908: IF l_Resrc_Require_Rec.attribute9 = FND_API.G_MISS_CHAR
2909: THEN
2910: l_Resrc_Require_Rec.attribute9 := NULL;
2911: ELSE
2912: l_Resrc_Require_Rec.attribute9 := l_Resrc_Require_Rec.attribute9;
2911: ELSE
2912: l_Resrc_Require_Rec.attribute9 := l_Resrc_Require_Rec.attribute9;
2913: END IF;
2914: -- Attribute10
2915: IF l_Resrc_Require_Rec.attribute10 = FND_API.G_MISS_CHAR
2916: THEN
2917: l_Resrc_Require_Rec.attribute10 := NULL;
2918: ELSE
2919: l_Resrc_Require_Rec.attribute10 := l_Resrc_Require_Rec.attribute10;
2918: ELSE
2919: l_Resrc_Require_Rec.attribute10 := l_Resrc_Require_Rec.attribute10;
2920: END IF;
2921: -- Attribute11
2922: IF l_Resrc_Require_Rec.attribute11 = FND_API.G_MISS_CHAR
2923: THEN
2924: l_Resrc_Require_Rec.attribute11 := NULL;
2925: ELSE
2926: l_Resrc_Require_Rec.attribute11 := l_Resrc_Require_Rec.attribute11;
2925: ELSE
2926: l_Resrc_Require_Rec.attribute11 := l_Resrc_Require_Rec.attribute11;
2927: END IF;
2928: -- Attribute12
2929: IF l_Resrc_Require_Rec.attribute12 = FND_API.G_MISS_CHAR
2930: THEN
2931: l_Resrc_Require_Rec.attribute12 := NULL;
2932: ELSE
2933: l_Resrc_Require_Rec.attribute12 := l_Resrc_Require_Rec.attribute12;
2932: ELSE
2933: l_Resrc_Require_Rec.attribute12 := l_Resrc_Require_Rec.attribute12;
2934: END IF;
2935: -- Attribute13
2936: IF l_Resrc_Require_Rec.attribute13 = FND_API.G_MISS_CHAR
2937: THEN
2938: l_Resrc_Require_Rec.attribute13 := NULL;
2939: ELSE
2940: l_Resrc_Require_Rec.attribute13 := l_Resrc_Require_Rec.attribute13;
2939: ELSE
2940: l_Resrc_Require_Rec.attribute13 := l_Resrc_Require_Rec.attribute13;
2941: END IF;
2942: -- Attribute14
2943: IF l_Resrc_Require_Rec.attribute14 = FND_API.G_MISS_CHAR
2944: THEN
2945: l_Resrc_Require_Rec.attribute14 := NULL;
2946: ELSE
2947: l_Resrc_Require_Rec.attribute14 := l_Resrc_Require_Rec.attribute14;
2946: ELSE
2947: l_Resrc_Require_Rec.attribute14 := l_Resrc_Require_Rec.attribute14;
2948: END IF;
2949: -- Attribute15
2950: IF l_Resrc_Require_Rec.attribute15 = FND_API.G_MISS_CHAR
2951: THEN
2952: l_Resrc_Require_Rec.attribute15 := NULL;
2953: ELSE
2954: l_Resrc_Require_Rec.attribute15 := l_Resrc_Require_Rec.attribute15;
2963: IF (c_oper_req_rec.object_version_number <> l_Resrc_Require_Rec.object_version_number)
2964: THEN
2965: Fnd_Message.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
2966: Fnd_Msg_Pub.ADD;
2967: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2968: --
2969: END IF;
2970:
2971: END IF;
3053: IF p_x_resrc_Require_tbl.COUNT > 0 THEN
3054: FOR i IN p_x_resrc_Require_tbl.FIRST..p_x_resrc_Require_tbl.LAST
3055: LOOP
3056: l_Resrc_Require_Rec := p_x_resrc_Require_tbl(i);
3057: IF l_Resrc_Require_Rec.Operation_Resource_id <> FND_API.G_MISS_NUM
3058: THEN
3059: IF G_DEBUG='Y' THEN
3060: Ahl_Debug_Pub.debug ( l_full_name || 'after WORKORDER_OPERATION_ID = ' || l_Resrc_Require_Rec.WORKORDER_OPERATION_ID);
3061: Ahl_Debug_Pub.debug ( l_full_name || 'after RESOURCE_ID = ' || l_Resrc_Require_Rec.RESOURCE_ID);
3135: l_msg_count := Fnd_Msg_Pub.count_msg;
3136:
3137: IF l_msg_count > 0 THEN
3138: X_msg_count := l_msg_count;
3139: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3140: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3141: END IF;
3142:
3143: --Standard check for commit
3136:
3137: IF l_msg_count > 0 THEN
3138: X_msg_count := l_msg_count;
3139: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3140: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3141: END IF;
3142:
3143: --Standard check for commit
3144: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
3140: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3141: END IF;
3142:
3143: --Standard check for commit
3144: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
3145: COMMIT;
3146: END IF;
3147:
3148: -- Debug info
3152: -- Check if API is called in debug mode. If yes, disable debug.
3153: Ahl_Debug_Pub.disable_debug;
3154: END IF;
3155: EXCEPTION
3156: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3157: ROLLBACK TO Update_Resrc_Require;
3158: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3159: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3160: p_count => x_msg_count,
3154: END IF;
3155: EXCEPTION
3156: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3157: ROLLBACK TO Update_Resrc_Require;
3158: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3159: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3160: p_count => x_msg_count,
3161: p_data => x_msg_data);
3162: IF G_DEBUG='Y' THEN
3155: EXCEPTION
3156: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3157: ROLLBACK TO Update_Resrc_Require;
3158: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3159: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3160: p_count => x_msg_count,
3161: p_data => x_msg_data);
3162: IF G_DEBUG='Y' THEN
3163: -- Debug info.
3166:
3167: -- Check if API is called in debug mode. If yes, disable debug.
3168: AHL_DEBUG_PUB.disable_debug;
3169: END IF;
3170: WHEN FND_API.G_EXC_ERROR THEN
3171: ROLLBACK TO Update_Resrc_Require;
3172: X_return_status := FND_API.G_RET_STS_ERROR;
3173: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3174: p_count => x_msg_count,
3168: AHL_DEBUG_PUB.disable_debug;
3169: END IF;
3170: WHEN FND_API.G_EXC_ERROR THEN
3171: ROLLBACK TO Update_Resrc_Require;
3172: X_return_status := FND_API.G_RET_STS_ERROR;
3173: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3174: p_count => x_msg_count,
3175: p_data => X_msg_data);
3176: IF G_DEBUG='Y' THEN
3169: END IF;
3170: WHEN FND_API.G_EXC_ERROR THEN
3171: ROLLBACK TO Update_Resrc_Require;
3172: X_return_status := FND_API.G_RET_STS_ERROR;
3173: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3174: p_count => x_msg_count,
3175: p_data => X_msg_data);
3176: IF G_DEBUG='Y' THEN
3177: -- Debug info.
3183: --
3184: END IF;
3185: WHEN OTHERS THEN
3186: ROLLBACK TO Update_Resrc_Require;
3187: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3188: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3189: THEN
3190: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_Require_PVT',
3191: p_procedure_name => 'UPDATE_Resrc_Require',
3190: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_Require_PVT',
3191: p_procedure_name => 'UPDATE_Resrc_Require',
3192: p_error_text => SUBSTR(SQLERRM,1,240));
3193: END IF;
3194: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
3195: p_count => x_msg_count,
3196: p_data => X_msg_data);
3197: IF G_DEBUG='Y' THEN
3198: -- Debug info.
3212: -- Get a particular Resource Requirement with all details
3213: --------------------------------------------------------------------
3214: PROCEDURE Get_Resource_Requirement (
3215: p_api_version IN NUMBER,
3216: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
3217: p_commit IN VARCHAR2 := Fnd_Api.g_false,
3218: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
3219: p_module_type IN VARCHAR2 := 'JSP',
3220: p_x_resrc_Require_Tbl IN OUT NOCOPY AHL_PP_RESRC_Require_PVT.Resrc_Require_Tbl_Type,
3213: --------------------------------------------------------------------
3214: PROCEDURE Get_Resource_Requirement (
3215: p_api_version IN NUMBER,
3216: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
3217: p_commit IN VARCHAR2 := Fnd_Api.g_false,
3218: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
3219: p_module_type IN VARCHAR2 := 'JSP',
3220: p_x_resrc_Require_Tbl IN OUT NOCOPY AHL_PP_RESRC_Require_PVT.Resrc_Require_Tbl_Type,
3221: x_return_status OUT NOCOPY VARCHAR2,
3214: PROCEDURE Get_Resource_Requirement (
3215: p_api_version IN NUMBER,
3216: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
3217: p_commit IN VARCHAR2 := Fnd_Api.g_false,
3218: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
3219: p_module_type IN VARCHAR2 := 'JSP',
3220: p_x_resrc_Require_Tbl IN OUT NOCOPY AHL_PP_RESRC_Require_PVT.Resrc_Require_Tbl_Type,
3221: x_return_status OUT NOCOPY VARCHAR2,
3222: x_msg_count OUT NOCOPY NUMBER,
3350: Ahl_Debug_Pub.debug ( l_full_name || ' Start ');
3351: END IF;
3352:
3353: -- Standard call to check for call compatibility.
3354: IF Fnd_Api.to_boolean(p_init_msg_list)
3355: THEN
3356: Fnd_Msg_Pub.initialize;
3357: END IF;
3358:
3356: Fnd_Msg_Pub.initialize;
3357: END IF;
3358:
3359: -- Initialize API return status to success
3360: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
3361:
3362: -- Initialize message list if p_init_msg_list is set to TRUE.
3363: IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
3364: p_api_version,
3359: -- Initialize API return status to success
3360: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
3361:
3362: -- Initialize message list if p_init_msg_list is set to TRUE.
3363: IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
3364: p_api_version,
3365: l_api_name,G_PKG_NAME)
3366: THEN
3367: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3363: IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
3364: p_api_version,
3365: l_api_name,G_PKG_NAME)
3366: THEN
3367: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3368: END IF;
3369:
3370: IF p_x_resrc_Require_tbl.COUNT > 0 THEN
3371: FOR i IN p_x_resrc_Require_tbl.FIRST..p_x_resrc_Require_tbl.LAST
3504: -- Standard call to get message count and if count is 1, get message info
3505: Fnd_Msg_Pub.Count_And_Get
3506: ( p_count => x_msg_count,
3507: p_data => x_msg_data,
3508: p_encoded => Fnd_Api.g_false);
3509:
3510: -- Check if API is called in debug mode. If yes, enable debug.
3511: IF G_DEBUG='Y' THEN
3512: Ahl_Debug_Pub.enable_debug;
3520: Ahl_Debug_Pub.disable_debug;
3521: RETURN;
3522:
3523: EXCEPTION
3524: WHEN Fnd_Api.G_EXC_ERROR THEN
3525: x_return_status := Fnd_Api.G_RET_STS_ERROR;
3526: ROLLBACK TO Get_Resource_Requirement;
3527: Fnd_Msg_Pub.count_and_get( p_count => x_msg_count,
3528: p_data => x_msg_data,
3521: RETURN;
3522:
3523: EXCEPTION
3524: WHEN Fnd_Api.G_EXC_ERROR THEN
3525: x_return_status := Fnd_Api.G_RET_STS_ERROR;
3526: ROLLBACK TO Get_Resource_Requirement;
3527: Fnd_Msg_Pub.count_and_get( p_count => x_msg_count,
3528: p_data => x_msg_data,
3529: p_encoded => Fnd_Api.g_false);
3525: x_return_status := Fnd_Api.G_RET_STS_ERROR;
3526: ROLLBACK TO Get_Resource_Requirement;
3527: Fnd_Msg_Pub.count_and_get( p_count => x_msg_count,
3528: p_data => x_msg_data,
3529: p_encoded => Fnd_Api.g_false);
3530:
3531:
3532: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
3533: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3528: p_data => x_msg_data,
3529: p_encoded => Fnd_Api.g_false);
3530:
3531:
3532: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
3533: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3534: ROLLBACK TO Get_Resource_Requirement;
3535: Fnd_Msg_Pub.count_and_get( p_count => x_msg_count,
3536: p_data => x_msg_data,
3529: p_encoded => Fnd_Api.g_false);
3530:
3531:
3532: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
3533: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3534: ROLLBACK TO Get_Resource_Requirement;
3535: Fnd_Msg_Pub.count_and_get( p_count => x_msg_count,
3536: p_data => x_msg_data,
3537: p_encoded => Fnd_Api.g_false);
3533: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3534: ROLLBACK TO Get_Resource_Requirement;
3535: Fnd_Msg_Pub.count_and_get( p_count => x_msg_count,
3536: p_data => x_msg_data,
3537: p_encoded => Fnd_Api.g_false);
3538:
3539: WHEN OTHERS THEN
3540: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3541: ROLLBACK TO Get_Resource_Requirement;
3536: p_data => x_msg_data,
3537: p_encoded => Fnd_Api.g_false);
3538:
3539: WHEN OTHERS THEN
3540: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3541: ROLLBACK TO Get_Resource_Requirement;
3542: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
3543: p_procedure_name => 'Get_Resource_Requirement',
3544: p_error_text => SQLERRM);
3544: p_error_text => SQLERRM);
3545:
3546: Fnd_Msg_Pub.count_and_get( p_count => x_msg_count,
3547: p_data => x_msg_data,
3548: p_encoded => Fnd_Api.g_false);
3549: END Get_Resource_Requirement;
3550: --
3551: PROCEDURE Remove_Resource_Requirement (
3552: p_api_version IN NUMBER,
3549: END Get_Resource_Requirement;
3550: --
3551: PROCEDURE Remove_Resource_Requirement (
3552: p_api_version IN NUMBER,
3553: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
3554: p_commit IN VARCHAR2 := Fnd_Api.g_false,
3555: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
3556: p_module_type IN VARCHAR2 := 'JSP',
3557: p_interface_flag IN VARCHAR2,
3550: --
3551: PROCEDURE Remove_Resource_Requirement (
3552: p_api_version IN NUMBER,
3553: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
3554: p_commit IN VARCHAR2 := Fnd_Api.g_false,
3555: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
3556: p_module_type IN VARCHAR2 := 'JSP',
3557: p_interface_flag IN VARCHAR2,
3558: p_x_resrc_Require_Tbl IN OUT NOCOPY AHL_PP_RESRC_Require_PVT.Resrc_Require_Tbl_Type,
3551: PROCEDURE Remove_Resource_Requirement (
3552: p_api_version IN NUMBER,
3553: p_init_msg_list IN VARCHAR2 := Fnd_Api.g_false,
3554: p_commit IN VARCHAR2 := Fnd_Api.g_false,
3555: p_validation_level IN NUMBER := Fnd_Api.g_valid_level_full,
3556: p_module_type IN VARCHAR2 := 'JSP',
3557: p_interface_flag IN VARCHAR2,
3558: p_x_resrc_Require_Tbl IN OUT NOCOPY AHL_PP_RESRC_Require_PVT.Resrc_Require_Tbl_Type,
3559: x_return_status OUT NOCOPY VARCHAR2,
3669: -- Debug info.
3670: Ahl_Debug_Pub.debug( 'Enter ahl_pp_resrc_require_pvt Remove Resource Requirement +APRRP+');
3671: END IF;
3672: -- Standard call to check for call compatibility.
3673: IF Fnd_Api.to_boolean(p_init_msg_list)
3674: THEN
3675: Fnd_Msg_Pub.initialize;
3676: END IF;
3677:
3675: Fnd_Msg_Pub.initialize;
3676: END IF;
3677:
3678: -- Initialize API return status to success
3679: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
3680:
3681: -- Initialize message list if p_init_msg_list is set to TRUE.
3682: IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
3683: p_api_version,
3678: -- Initialize API return status to success
3679: x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
3680:
3681: -- Initialize message list if p_init_msg_list is set to TRUE.
3682: IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
3683: p_api_version,
3684: l_api_name,G_PKG_NAME)
3685: THEN
3686: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3682: IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
3683: p_api_version,
3684: l_api_name,G_PKG_NAME)
3685: THEN
3686: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3687: END IF;
3688:
3689: ------------------------Start API Body ---------------------------------
3690:
3696: Ahl_Debug_Pub.debug ( ' p_x_resrc_Require_tbl(i).operation_resource_id = ' || p_x_resrc_Require_tbl(i).operation_resource_id);
3697: END IF;
3698: --
3699: IF (p_x_resrc_Require_tbl(i).operation_resource_id IS NOT NULL AND
3700: p_x_resrc_Require_tbl(i).operation_resource_id <> FND_API.G_MISS_NUM)
3701: THEN
3702: --
3703: OPEN Get_resource_cur (p_x_resrc_Require_tbl(i).operation_resource_id);
3704: FETCH Get_resource_cur INTO l_resource_rec;
3705: IF Get_resource_cur%NOTFOUND THEN
3706: Fnd_Message.Set_Name('AHL','AHL_PP_RECORD_INVALID');
3707: Fnd_Msg_Pub.ADD;
3708: CLOSE Get_resource_cur;
3709: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3710: END IF;
3711: CLOSE Get_resource_cur;
3712: END IF;
3713: --
3716: END IF;
3717: --
3718: --Check for object version number
3719: IF (p_x_resrc_Require_tbl(i).object_version_number IS NOT NULL AND
3720: p_x_resrc_Require_tbl(i).object_version_number <> FND_API.G_MISS_NUM)
3721: THEN
3722: IF(p_x_resrc_Require_tbl(i).object_version_number <> l_resource_rec.object_version_number )
3723: THEN
3724: --
3723: THEN
3724: --
3725: Fnd_Message.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
3726: Fnd_Msg_Pub.ADD;
3727: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3728: END IF;
3729: END IF;
3730: --
3731: --Get workorder id, operation sequence number
3755: p_workorder_id => p_x_resrc_require_tbl(i).workorder_id,
3756: p_ue_id => NULL,
3757: p_visit_id => NULL,
3758: p_item_instance_id => NULL);
3759: IF l_return_status = FND_API.G_TRUE THEN
3760: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_DEL_RESREQ_UNTLCKD');
3761: FND_MSG_PUB.ADD;
3762: RAISE FND_API.G_EXC_ERROR;
3763: END IF;
3758: p_item_instance_id => NULL);
3759: IF l_return_status = FND_API.G_TRUE THEN
3760: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_DEL_RESREQ_UNTLCKD');
3761: FND_MSG_PUB.ADD;
3762: RAISE FND_API.G_EXC_ERROR;
3763: END IF;
3764:
3765: -- rroy
3766: -- ACL changes
3774: FND_MESSAGE.Set_Name('AHL', 'AHL_PP_DEL_RESREQ_RESTXN');
3775: FND_MESSAGE.Set_Token('OPER_RES', l_wo_oper_rec.operation_sequence_num || '-' || l_resource_rec.resource_sequence_num);
3776: FND_MSG_PUB.ADD;
3777: CLOSE check_resrc_txn;
3778: RAISE FND_API.G_EXC_ERROR;
3779: END IF;
3780: CLOSE check_resrc_txn;
3781:
3782: -- Get operation Resource details
3826: END IF;
3827:
3828: IF l_msg_count > 0 THEN
3829: X_msg_count := l_msg_count;
3830: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3831: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3832: END IF;
3833:
3834: END LOOP;
3827:
3828: IF l_msg_count > 0 THEN
3829: X_msg_count := l_msg_count;
3830: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3831: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3832: END IF;
3833:
3834: END LOOP;
3835: END IF; --Count
3914: l_msg_count := Fnd_Msg_Pub.count_msg;
3915:
3916: IF l_msg_count > 0 THEN
3917: X_msg_count := l_msg_count;
3918: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3919: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3920: END IF;
3921:
3922: --Standard check for commit
3915:
3916: IF l_msg_count > 0 THEN
3917: X_msg_count := l_msg_count;
3918: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3919: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3920: END IF;
3921:
3922: --Standard check for commit
3923: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
3919: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
3920: END IF;
3921:
3922: --Standard check for commit
3923: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
3924: COMMIT;
3925: END IF;
3926:
3927: -- Debug info
3931: -- Check if API is called in debug mode. If yes, disable debug.
3932: Ahl_Debug_Pub.disable_debug;
3933: END IF;
3934: EXCEPTION
3935: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
3936: ROLLBACK TO Remove_Resource_Requirement;
3937: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3938: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3939: p_count => x_msg_count,
3933: END IF;
3934: EXCEPTION
3935: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
3936: ROLLBACK TO Remove_Resource_Requirement;
3937: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3938: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3939: p_count => x_msg_count,
3940: p_data => x_msg_data);
3941: IF G_DEBUG='Y' THEN
3934: EXCEPTION
3935: WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
3936: ROLLBACK TO Remove_Resource_Requirement;
3937: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3938: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3939: p_count => x_msg_count,
3940: p_data => x_msg_data);
3941: IF G_DEBUG='Y' THEN
3942: Ahl_Debug_Pub.log_app_messages (
3944:
3945: -- Check if API is called in debug mode. If yes, disable debug.
3946: Ahl_Debug_Pub.disable_debug;
3947: END IF;
3948: WHEN Fnd_Api.G_EXC_ERROR THEN
3949: ROLLBACK TO Remove_Resource_Requirement;
3950: X_return_status := Fnd_Api.G_RET_STS_ERROR;
3951: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3952: p_count => x_msg_count,
3946: Ahl_Debug_Pub.disable_debug;
3947: END IF;
3948: WHEN Fnd_Api.G_EXC_ERROR THEN
3949: ROLLBACK TO Remove_Resource_Requirement;
3950: X_return_status := Fnd_Api.G_RET_STS_ERROR;
3951: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3952: p_count => x_msg_count,
3953: p_data => X_msg_data);
3954: IF G_DEBUG='Y' THEN
3947: END IF;
3948: WHEN Fnd_Api.G_EXC_ERROR THEN
3949: ROLLBACK TO Remove_Resource_Requirement;
3950: X_return_status := Fnd_Api.G_RET_STS_ERROR;
3951: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3952: p_count => x_msg_count,
3953: p_data => X_msg_data);
3954: IF G_DEBUG='Y' THEN
3955: -- Debug info.
3961: END IF;
3962:
3963: WHEN OTHERS THEN
3964: ROLLBACK TO Remove_Resource_Requirement;
3965: X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
3966: IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR)
3967: THEN
3968: Fnd_Msg_Pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_Require_PVT',
3969: p_procedure_name => 'Remove_Resource_Requirement',
3968: Fnd_Msg_Pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_Require_PVT',
3969: p_procedure_name => 'Remove_Resource_Requirement',
3970: p_error_text => SUBSTR(SQLERRM,1,240));
3971: END IF;
3972: Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
3973: p_count => x_msg_count,
3974: p_data => x_msg_data);
3975: IF G_DEBUG='Y' THEN
3976: -- Debug info.
3993: -- Parameters :
3994: --
3995: -- Standard IN Parameters :
3996: -- p_api_version IN NUMBER Required
3997: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
3998: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
3999: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
4000: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
4001: -- p_module_type IN VARCHAR2 Default NULL.
3994: --
3995: -- Standard IN Parameters :
3996: -- p_api_version IN NUMBER Required
3997: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
3998: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
3999: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
4000: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
4001: -- p_module_type IN VARCHAR2 Default NULL.
4002: --
3995: -- Standard IN Parameters :
3996: -- p_api_version IN NUMBER Required
3997: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
3998: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
3999: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
4000: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
4001: -- p_module_type IN VARCHAR2 Default NULL.
4002: --
4003: -- Standard OUT Parameters :
3996: -- p_api_version IN NUMBER Required
3997: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
3998: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
3999: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
4000: -- p_default IN VARCHAR2 Default FND_API.G_TRUE
4001: -- p_module_type IN VARCHAR2 Default NULL.
4002: --
4003: -- Standard OUT Parameters :
4004: -- x_return_status OUT VARCHAR2 Required
4015: -- End of Comments.
4016:
4017: PROCEDURE Process_Resrc_Require (
4018: p_api_version IN NUMBER,
4019: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
4020: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
4021: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
4022: p_module_type IN VARCHAR2 := NULL,
4023: p_operation_flag IN VARCHAR2,
4016:
4017: PROCEDURE Process_Resrc_Require (
4018: p_api_version IN NUMBER,
4019: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
4020: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
4021: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
4022: p_module_type IN VARCHAR2 := NULL,
4023: p_operation_flag IN VARCHAR2,
4024: p_interface_flag IN VARCHAR2,
4017: PROCEDURE Process_Resrc_Require (
4018: p_api_version IN NUMBER,
4019: p_init_msg_list IN VARCHAR2 := Fnd_Api.G_FALSE,
4020: p_commit IN VARCHAR2 := Fnd_Api.G_FALSE,
4021: p_validation_level IN NUMBER := Fnd_Api.G_VALID_LEVEL_FULL,
4022: p_module_type IN VARCHAR2 := NULL,
4023: p_operation_flag IN VARCHAR2,
4024: p_interface_flag IN VARCHAR2,
4025: p_x_resrc_Require_tbl IN OUT NOCOPY AHL_PP_RESRC_Require_PVT.Resrc_Require_Tbl_Type,
4059: -- Debug info.
4060: Ahl_Debug_Pub.debug( 'Enter AHL_PP_RESRC_Require.process_resrc_Require +PPResrc_Require_Pvt+');
4061: END IF;
4062: -- Standard call to check for call compatibility.
4063: IF FND_API.to_boolean(p_init_msg_list)
4064: THEN
4065: FND_MSG_PUB.initialize;
4066: END IF;
4067: -- Initialize API return status to success
4064: THEN
4065: FND_MSG_PUB.initialize;
4066: END IF;
4067: -- Initialize API return status to success
4068: x_return_status := FND_API.G_RET_STS_SUCCESS;
4069: -- Initialize message list if p_init_msg_list is set to TRUE.
4070: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
4071: p_api_version,
4072: l_api_name,G_PKG_NAME)
4066: END IF;
4067: -- Initialize API return status to success
4068: x_return_status := FND_API.G_RET_STS_SUCCESS;
4069: -- Initialize message list if p_init_msg_list is set to TRUE.
4070: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
4071: p_api_version,
4072: l_api_name,G_PKG_NAME)
4073: THEN
4074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4070: IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
4071: p_api_version,
4072: l_api_name,G_PKG_NAME)
4073: THEN
4074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4075: END IF;
4076: --------------------Start of API Body-----------------------------------
4077: IF p_operation_flag = 'C' THEN
4078: --
4147:
4148: -- Fix for Bug # 9201220 (FP for Bug # 9115435) -- start
4149: IF l_msg_count > 0 THEN
4150: x_msg_count := l_msg_count;
4151: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
4152: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
4153: END IF;
4154: -- Fix for Bug # 9201220 (FP for Bug # 9115435) -- end
4155:
4148: -- Fix for Bug # 9201220 (FP for Bug # 9115435) -- start
4149: IF l_msg_count > 0 THEN
4150: x_msg_count := l_msg_count;
4151: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
4152: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
4153: END IF;
4154: -- Fix for Bug # 9201220 (FP for Bug # 9115435) -- end
4155:
4156: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4152: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
4153: END IF;
4154: -- Fix for Bug # 9201220 (FP for Bug # 9115435) -- end
4155:
4156: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4157: RAISE FND_API.G_EXC_ERROR;
4158: END IF;
4159:
4160: -- Balaji added following piece of code for bug # 5099536
4153: END IF;
4154: -- Fix for Bug # 9201220 (FP for Bug # 9115435) -- end
4155:
4156: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4157: RAISE FND_API.G_EXC_ERROR;
4158: END IF;
4159:
4160: -- Balaji added following piece of code for bug # 5099536
4161: -- Update_Job API is called to recalculate Master workorder actual dates
4201:
4202: AHL_PRD_WORKORDER_PVT.update_job
4203: (
4204: p_api_version => 1.0 ,
4205: p_init_msg_list => FND_API.G_FALSE ,
4206: p_commit => FND_API.G_FALSE ,
4207: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
4208: p_default => FND_API.G_TRUE ,
4209: p_module_type => NULL ,
4202: AHL_PRD_WORKORDER_PVT.update_job
4203: (
4204: p_api_version => 1.0 ,
4205: p_init_msg_list => FND_API.G_FALSE ,
4206: p_commit => FND_API.G_FALSE ,
4207: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
4208: p_default => FND_API.G_TRUE ,
4209: p_module_type => NULL ,
4210: x_return_status => l_return_status ,
4203: (
4204: p_api_version => 1.0 ,
4205: p_init_msg_list => FND_API.G_FALSE ,
4206: p_commit => FND_API.G_FALSE ,
4207: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
4208: p_default => FND_API.G_TRUE ,
4209: p_module_type => NULL ,
4210: x_return_status => l_return_status ,
4211: x_msg_count => l_msg_count ,
4204: p_api_version => 1.0 ,
4205: p_init_msg_list => FND_API.G_FALSE ,
4206: p_commit => FND_API.G_FALSE ,
4207: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
4208: p_default => FND_API.G_TRUE ,
4209: p_module_type => NULL ,
4210: x_return_status => l_return_status ,
4211: x_msg_count => l_msg_count ,
4212: x_msg_data => l_msg_data ,
4214: p_x_prd_workorder_rec => l_up_workorder_rec ,
4215: p_x_prd_workoper_tbl => l_up_workoper_tbl
4216: );
4217:
4218: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4219: RAISE FND_API.G_EXC_ERROR;
4220: END IF;
4221:
4222: END IF;
4215: p_x_prd_workoper_tbl => l_up_workoper_tbl
4216: );
4217:
4218: IF ( l_return_status <> FND_API.G_RET_STS_SUCCESS ) THEN
4219: RAISE FND_API.G_EXC_ERROR;
4220: END IF;
4221:
4222: END IF;
4223: END LOOP;
4226:
4227: -- Fix for Bug # 8329755 (FP for Bug # 7697909) -- end
4228:
4229: --Standard check for commit
4230: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
4231: COMMIT;
4232: END IF;
4233: IF G_DEBUG='Y' THEN
4234: -- Debug info
4237: -- Check if API is called in debug mode. If yes, disable debug.
4238: Ahl_Debug_Pub.disable_debug;
4239: END IF;
4240: EXCEPTION
4241: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4242: ROLLBACK TO Process_Resrc_Require;
4243: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4244: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4245: p_count => x_msg_count,
4239: END IF;
4240: EXCEPTION
4241: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4242: ROLLBACK TO Process_Resrc_Require;
4243: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4244: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4245: p_count => x_msg_count,
4246: p_data => x_msg_data);
4247: IF G_DEBUG='Y' THEN
4240: EXCEPTION
4241: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4242: ROLLBACK TO Process_Resrc_Require;
4243: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4244: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4245: p_count => x_msg_count,
4246: p_data => x_msg_data);
4247: IF G_DEBUG='Y' THEN
4248: AHL_DEBUG_PUB.log_app_messages (
4249: x_msg_count, x_msg_data, 'ERROR' );
4250: -- Check if API is called in debug mode. If yes, disable debug.
4251: AHL_DEBUG_PUB.disable_debug;
4252: END IF;
4253: WHEN FND_API.G_EXC_ERROR THEN
4254: ROLLBACK TO Process_Resrc_Require;
4255: X_return_status := FND_API.G_RET_STS_ERROR;
4256: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4257: p_count => x_msg_count,
4251: AHL_DEBUG_PUB.disable_debug;
4252: END IF;
4253: WHEN FND_API.G_EXC_ERROR THEN
4254: ROLLBACK TO Process_Resrc_Require;
4255: X_return_status := FND_API.G_RET_STS_ERROR;
4256: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4257: p_count => x_msg_count,
4258: p_data => X_msg_data);
4259: IF G_DEBUG='Y' THEN
4252: END IF;
4253: WHEN FND_API.G_EXC_ERROR THEN
4254: ROLLBACK TO Process_Resrc_Require;
4255: X_return_status := FND_API.G_RET_STS_ERROR;
4256: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4257: p_count => x_msg_count,
4258: p_data => X_msg_data);
4259: IF G_DEBUG='Y' THEN
4260: -- Debug info.
4264: AHL_DEBUG_PUB.disable_debug;
4265: END IF;
4266: WHEN OTHERS THEN
4267: ROLLBACK TO Process_Resrc_Require;
4268: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4269: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4270: THEN
4271: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_Require_PVT',
4272: p_procedure_name => 'Process_Resrc_Require',
4271: fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_PP_RESRC_Require_PVT',
4272: p_procedure_name => 'Process_Resrc_Require',
4273: p_error_text => SUBSTR(SQLERRM,1,240));
4274: END IF;
4275: FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
4276: p_count => x_msg_count,
4277: p_data => x_msg_data);
4278: IF G_DEBUG='Y' THEN
4279: -- Debug info.