[Home] [Help]
1: PACKAGE BODY INVNIRIS AS
2: /* $Header: INVNIRIB.pls 120.37.12020000.2 2013/01/23 09:23:37 lmai ship $ */
3: ------------------------ validate_item_revs -----------------------------------
4:
5: FUNCTION mtl_validate_nir_item
75: l_sysdate := sysdate;
76: l_nir_rec_exists := false;
77:
78: IF l_inv_debug_level IN(101, 102) THEN
79: INVPUTLI.info('INVNIRIS: first sta..set_id'||to_char(xset_id)||'org'||to_char(org_id)||'all'||to_char(all_org));
80: END IF;
81:
82: FOR cur in c_get_processed_records(cp_process_flag=>2) LOOP
83: /* R12C : Retrieving NIR reqd for hierarchy enabled Catalogs */
457: END LOOP;
458:
459: --Start : Check for data security and user privileges
460: IF l_inv_debug_level IN(101, 102) THEN
461: INVPUTLI.info('INVNIRIS.mtl_pr_validate_item: before INV_EGO_REVISION_VALIDATE.validate_item_user_privileges');
462: END IF;
463:
464: IF l_nir_rec_exists THEN
465: status := INV_EGO_REVISION_VALIDATE.validate_item_user_privileges(
473: ,P_Set_Id => xset_id + 3000000000000
474: ,X_Err_Text => err_text);
475:
476: IF l_inv_debug_level IN(101, 102) THEN
477: INVPUTLI.info('INVNIRIS.mtl_pr_validate_item: INV_EGO_REVISION_VALIDATE.validate_item_user_privileges');
478: END IF;
479:
480: --End : Check for data security and user privileges
481:
480: --End : Check for data security and user privileges
481:
482: IF (status = 0) then
483: IF l_inv_debug_level IN(101, 102) THEN
484: INVPUTLI.info('INVNIRIS: before INVPVHDR.validate_item_header'||to_char(xset_id)||'org'||to_char(org_id)||'all'||to_char(all_org));
485: END IF;
486:
487: status := INVPVHDR.validate_item_header(
488: org_id,
504: WHERE PROCESS_FLAG = 41
505: AND ((SET_PROCESS_ID >= 3000000000000) OR (SET_PROCESS_ID = 3000000000000-999));
506:
507: IF l_inv_debug_level IN(101, 102) THEN
508: INVPUTLI.info('INVNIRIS.mtl_pr_validate_item: before INV_EGO_REVISION_VALIDATE.validate_items_lifecycle');
509: END IF;
510: /* start addition of code for bug 7255713-ccsingh */
511: status := INVPVDR5.validate_item_header5(
512: org_id,
529: WHERE PROCESS_FLAG = 45 --Changed the value from 41 to 45 as we need to validate primary attributes
530: AND ((SET_PROCESS_ID >= 3000000000000) OR (SET_PROCESS_ID = 3000000000000-999));
531:
532: IF l_inv_debug_level IN(101, 102) THEN
533: INVPUTLI.info('INVNIRIS.mtl_pr_validate_item: before INV_EGO_REVISION_VALIDATE.validate_items_lifecycle');
534: END IF;
535: /* end addition of code for bug 7255713-ccsingh */
536: status := INV_EGO_REVISION_VALIDATE.validate_items_lifecycle(
537: P_Org_Id => org_id
544: ,P_Set_Id => xset_id + 3000000000000
545: ,X_Err_Text => err_text);
546:
547: IF l_inv_debug_level IN(101, 102) THEN
548: INVPUTLI.info('INVNIRIS.mtl_pr_validate_item: INV_EGO_REVISION_VALIDATE.validate_items_lifecycle');
549: END IF;
550:
551: END IF;
552:
552:
553: -- validate item revisions
554: IF (status = 0) THEN
555: IF l_inv_debug_level IN(101, 102) THEN
556: INVPUTLI.info('INVNIRIS.mtl_pr_validate_item: before validate_item_revs');
557: END IF;
558: status := INVPVALI.validate_item_revs (
559: org_id,
560: all_org,
566: err_text,
567: xset_id + 3000000000000 );
568:
569: IF l_inv_debug_level IN(101, 102) THEN
570: INVPUTLI.info('INVNIRIS.mtl_pr_validate_item: after validate_item_revs');
571: END IF;
572: END IF;
573: END IF;
574:
572: END IF;
573: END IF;
574:
575: IF l_inv_debug_level IN(101, 102) THEN
576: INVPUTLI.info('INVNIRIS.mtl_pr_validate_item: done with status :'||status);
577: END IF;
578:
579: UPDATE mtl_system_items_interface
580: SET SET_PROCESS_ID = xset_id
606:
607: EXCEPTION
608:
609: WHEN OTHERS THEN
610: err_text := substr('INVNIRIS.mtl_pr_validate_item ' || SQLERRM, 1,240);
611: IF l_inv_debug_level IN(101, 102) THEN
612: INVPUTLI.info(err_text);
613: END IF;
614: RETURN(SQLCODE);
767: -- Bug 9884067 : Start The below code is moved here so that the validation is done after above defaulting.
768: --Start bug: 5238510
769: -- : Check for data security and user privileges
770: IF l_inv_debug_level IN(101, 102) THEN
771: INVPUTLI.info('INVNIRIS.change_poilcy_check: before INV_EGO_REVISION_VALIDATE.validate_item_user_privileges');
772: END IF;
773:
774: l_status := INV_EGO_REVISION_VALIDATE.validate_item_user_privileges(
775: P_Org_Id => org_id
783: ,X_Err_Text => err_text
784: ,P_Process_flag => 1);
785:
786: IF l_inv_debug_level IN(101, 102) THEN
787: INVPUTLI.info('INVNIRIS.change_poilcy_check: done INV_EGO_REVISION_VALIDATE.validate_item_user_privileges');
788: END IF;
789: --End bug: 5238510
790:
791: IF (INSTR(l_process_control,'PLM_UI:Y') = 0) AND (l_eng_object ='Y') THEN
829: CLOSE c_get_batch_policy;
830:
831: FOR cur IN c_check_attributes_policy LOOP
832: IF l_inv_debug_level IN(101, 102) THEN
833: INVPUTLI.info('INVNIRIS.change_policy_check: Checking Attr groups');
834: END IF;
835:
836: l_attr_grps := NULL;
837: l_policy_value := NULL;
1240: END IF;
1241:
1242: IF l_attr_grps IS NOT NULL THEN
1243: IF l_inv_debug_level IN(101, 102) THEN
1244: INVPUTLI.info('INVNIRIS.change_policy_check: Attr Grps Changed:' || l_attr_grps);
1245: END IF;
1246:
1247: IF cur.current_phase_id is NOT NULL THEN
1248: --Bug 5367962 Find if any of the AG as ChanhePolicy of 'NOT ALLOWED'
1342: THEN
1343: --4723028 If called from CO, dont move to 5.
1344: IF INSTR(l_process_control,'ENG_CALL:Y') = 0 THEN
1345: IF l_inv_debug_level IN(101, 102) THEN
1346: INVPUTLI.info('INVNIRIS.change_policy_check: Moving to 5 for CO');
1347: END IF;
1348:
1349: --4696529: Insert row into interface table to propogate changes to production.
1350: IF l_msb_rec.inventory_item_status_code <> NVL(cur.inventory_item_status_code,l_msb_rec.inventory_item_status_code)
1699: OR cur.WEB_STATUS IS NOT NULL
1700: OR cur.MINIMUM_LICENSE_QUANTITY IS NOT NULL
1701: THEN
1702: IF l_inv_debug_level IN(101, 102) THEN
1703: INVPUTLI.info('INVNIRIS.change_policy_check: Some Attr is non null');
1704: END IF;
1705:
1706: l_values_provided := TRUE;
1707: ELSE
1771: INVPUTLI.info(l_Err_Text);
1772: END IF;
1773: RETURN(l_error_logged);
1774: WHEN OTHERS THEN
1775: err_text := substr('INVNIRIS.change_policy_check ' || SQLERRM, 1,240);
1776: IF l_inv_debug_level IN(101, 102) THEN
1777: INVPUTLI.info(err_text);
1778: END IF;
1779: RETURN(SQLCODE);
1778: END IF;
1779: RETURN(SQLCODE);
1780: END change_policy_check;
1781:
1782: END INVNIRIS;