171:
172: /* Initially let us assign the return status to success */
173: x_return_status := FND_API.g_ret_sts_success;
174:
175: IF NOT gmd_api_grp.setup_done THEN
176: gmd_api_grp.setup_done := gmd_api_grp.setup;
177: END IF;
178: IF NOT gmd_api_grp.setup_done THEN
179: RAISE setup_failure;
172: /* Initially let us assign the return status to success */
173: x_return_status := FND_API.g_ret_sts_success;
174:
175: IF NOT gmd_api_grp.setup_done THEN
176: gmd_api_grp.setup_done := gmd_api_grp.setup;
177: END IF;
178: IF NOT gmd_api_grp.setup_done THEN
179: RAISE setup_failure;
180: END IF;
174:
175: IF NOT gmd_api_grp.setup_done THEN
176: gmd_api_grp.setup_done := gmd_api_grp.setup;
177: END IF;
178: IF NOT gmd_api_grp.setup_done THEN
179: RAISE setup_failure;
180: END IF;
181:
182: /* Make sure we are call compatible */
226:
227: /* Operation Security Validation */
228: /* Validation: Chcek if this users performing update has access to this
229: operation owner orgn code */
230: IF NOT GMD_API_GRP.Check_orgn_access(Entity => 'OPERATION'
231: ,Entity_id => l_oprn_id) THEN
232: RAISE ins_oprn_rsrc_err;
233: END IF;
234:
360: l_oprn_rsrc_tbl(i).prim_rsrc_ind := 0;
361: END IF;
362: /* Plan Type/Resource Indicator should be valid */
363: IF l_oprn_rsrc_tbl(i).prim_rsrc_ind NOT IN (0,1,2) THEN
364: gmd_api_grp.log_message ('FM_RSRCINDERR');
365: RAISE ins_oprn_rsrc_err;
366: END IF;
367:
368: /* Resource Count must be passed, otherwise give error */
374: FND_MESSAGE.SET_TOKEN ('MISSING', 'RESOURCE_COUNT');
375: FND_MSG_PUB.ADD;
376: RAISE ins_oprn_rsrc_err;
377: ELSIF l_oprn_rsrc_tbl(i).resource_count < 0 THEN
378: gmd_api_grp.log_message ('FM_RESCOUNTERR');
379: RAISE ins_oprn_rsrc_err;
380: END IF;
381:
382: /* Offset Interval must be passed, otherwise give error */
396: gmd_debug.put_line('Scale Type is null assigning default 1');
397: END IF;
398: l_oprn_rsrc_tbl(i).scale_type := 1;
399: ELSIF l_oprn_rsrc_tbl(i).scale_type NOT IN (0, 1, 2) THEN
400: gmd_api_grp.log_message ('FM_SCALETYPERR');
401: RAISE ins_oprn_rsrc_err;
402: END IF;
403:
404: /* Lets initialialize the default values */
428: OPEN check_one_prim_rsrc (p_oprn_line_id);
429: FETCH check_one_prim_rsrc INTO v_count;
430: CLOSE check_one_prim_rsrc;
431: IF v_count > 1 THEN
432: gmd_api_grp.log_message ('GMD_ONE_PRIMARY_RESOURCE');
433: RAISE inv_resource_ind;
434: END IF;
435:
436: /* This implies that we are setting this current resource as secondary or auxillary */
438: OPEN check_atleast_one (p_oprn_line_id, NULL);
439: FETCH check_atleast_one INTO v_count;
440: CLOSE check_atleast_one;
441: IF v_count = 0 THEN
442: gmd_api_grp.log_message ('GMD_MIN_ONE_PRIMARY_RESOURCE');
443: RAISE inv_resource_ind;
444: END IF;
445:
446: IF p_commit THEN
525: IF p_init_msg_list THEN
526: fnd_msg_pub.initialize;
527: END IF;
528:
529: IF NOT gmd_api_grp.setup_done THEN
530: gmd_api_grp.setup_done := gmd_api_grp.setup;
531: END IF;
532: IF NOT gmd_api_grp.setup_done THEN
533: RAISE setup_failure;
526: fnd_msg_pub.initialize;
527: END IF;
528:
529: IF NOT gmd_api_grp.setup_done THEN
530: gmd_api_grp.setup_done := gmd_api_grp.setup;
531: END IF;
532: IF NOT gmd_api_grp.setup_done THEN
533: RAISE setup_failure;
534: END IF;
528:
529: IF NOT gmd_api_grp.setup_done THEN
530: gmd_api_grp.setup_done := gmd_api_grp.setup;
531: END IF;
532: IF NOT gmd_api_grp.setup_done THEN
533: RAISE setup_failure;
534: END IF;
535:
536: IF (l_debug = 'Y') THEN
598: END IF;
599: CLOSE check_cost_analysis_code;
600: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'RESOURCE_USAGE' THEN
601: IF p_update_table(i).p_value < 0 THEN
602: gmd_api_grp.log_message('FM_RESUSGERR');
603: RAISE upd_oprn_rsrc_err;
604: END IF;
605: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'PROCESS_QTY' THEN
606: IF p_update_table(i).p_value < 0 THEN
603: RAISE upd_oprn_rsrc_err;
604: END IF;
605: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'PROCESS_QTY' THEN
606: IF p_update_table(i).p_value < 0 THEN
607: gmd_api_grp.log_message('FM_PROCQTYERR');
608: RAISE upd_oprn_rsrc_err;
609: END IF;
610: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'resource_usage_uom' THEN
611: OPEN check_uom(p_update_table(i).p_value);
629: END IF;
630: CLOSE check_cost_cmpntcls_id;
631: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'PRIM_RSRC_IND' THEN
632: IF p_update_table(i).p_value NOT IN (0, 1, 2) THEN
633: gmd_api_grp.log_message ('FM_RSRCINDERR');
634: RAISE upd_oprn_rsrc_err;
635: ELSIF p_update_table(i).p_value = 1 THEN
636: /* This implies that we are setting this current resource as primary */
637: /* so let us check if their are any other primaries already existing */
638: OPEN check_one_prim_rsrc (p_oprn_line_id);
639: FETCH check_one_prim_rsrc INTO l_exist;
640: CLOSE check_one_prim_rsrc;
641: IF l_exist > 0 THEN
642: gmd_api_grp.log_message ('GMD_ONE_PRIMARY_RESOURCE');
643: RAISE upd_oprn_rsrc_err;
644: END IF;
645: ELSIF p_update_table(i).p_value IN (0,2) THEN
646: /* This implies that we are setting this current resource as secondary or auxillary */
648: OPEN check_atleast_one (p_oprn_line_id, p_resources);
649: FETCH check_atleast_one INTO l_exist;
650: CLOSE check_atleast_one;
651: IF l_exist = 0 THEN
652: gmd_api_grp.log_message ('GMD_MIN_ONE_PRIMARY_RESOURCE');
653: RAISE upd_oprn_rsrc_err;
654: END IF;
655: END IF;
656: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'RESOURCE_COUNT' THEN
654: END IF;
655: END IF;
656: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'RESOURCE_COUNT' THEN
657: IF p_update_table(i).p_value < 0 THEN
658: gmd_api_grp.log_message ('FM_RESCOUNTERR');
659: RAISE upd_oprn_rsrc_err;
660: END IF;
661: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'OFFSET_INTERVAL' THEN
662: IF p_update_table(i).p_value < 0 THEN
659: RAISE upd_oprn_rsrc_err;
660: END IF;
661: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'OFFSET_INTERVAL' THEN
662: IF p_update_table(i).p_value < 0 THEN
663: gmd_api_grp.log_message('GMD_INVALID_OFFSET');
664: RAISE upd_oprn_rsrc_err;
665: END IF;
666: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'SCALE_TYPE' THEN
667: IF p_update_table(i).p_value NOT IN (0, 1, 2) THEN
664: RAISE upd_oprn_rsrc_err;
665: END IF;
666: ELSIF UPPER(p_update_table(i).p_col_to_update) = 'SCALE_TYPE' THEN
667: IF p_update_table(i).p_value NOT IN (0, 1, 2) THEN
668: gmd_api_grp.log_message ('FM_SCALETYPERR');
669: RAISE upd_oprn_rsrc_err;
670: END IF;
671: END IF;
672: END LOOP;
677:
678: /* Operation Security Validation */
679: /* Validation: Chcek if this users performing update has access to this
680: operation owner orgn code */
681: IF NOT GMD_API_GRP.Check_orgn_access(Entity => 'OPERATION'
682: ,Entity_id => v_oprn_id) THEN
683: RAISE upd_oprn_rsrc_err;
684: END IF;
685:
801: ,'gmd_operation_resources_pub') THEN
802: RAISE invalid_version;
803: END IF;
804:
805: IF NOT gmd_api_grp.setup_done THEN
806: gmd_api_grp.setup_done := gmd_api_grp.setup;
807: END IF;
808: IF NOT gmd_api_grp.setup_done THEN
809: RAISE setup_failure;
802: RAISE invalid_version;
803: END IF;
804:
805: IF NOT gmd_api_grp.setup_done THEN
806: gmd_api_grp.setup_done := gmd_api_grp.setup;
807: END IF;
808: IF NOT gmd_api_grp.setup_done THEN
809: RAISE setup_failure;
810: END IF;
804:
805: IF NOT gmd_api_grp.setup_done THEN
806: gmd_api_grp.setup_done := gmd_api_grp.setup;
807: END IF;
808: IF NOT gmd_api_grp.setup_done THEN
809: RAISE setup_failure;
810: END IF;
811:
812: IF (l_debug = 'Y') THEN
851:
852: /* Operation Security Validation */
853: /* Validation: Chcek if this users performing update has access to this
854: operation owner orgn code */
855: IF NOT GMD_API_GRP.Check_orgn_access(Entity => 'OPERATION'
856: ,Entity_id => v_oprn_id) THEN
857: RAISE del_oprn_rsrc_err;
858: END IF;
859:
877: OPEN check_atleast_one (p_oprn_line_id, NULL);
878: FETCH check_atleast_one INTO v_count;
879: CLOSE check_atleast_one;
880: IF v_count = 0 THEN
881: gmd_api_grp.log_message ('GMD_MIN_ONE_PRIMARY_RESOURCE');
882: RAISE inv_resource_ind;
883: END IF;
884:
885: IF p_commit THEN