DBA Data[Home] [Help]

APPS.CZ_LOGIC_GEN dependencies on STANDARD

Line 486: --The procedure can be called only for a BOM Option Class or Standard or a reference,

482: ---------------------------------------------------------------------------------------
483: --This procedure is used for marking BOM items that are ancestors of a trackable BOM
484: --item. Such items cannot have default quantity greater than 1, and cannot be on the
485: --RHS of a numeric rule.
486: --The procedure can be called only for a BOM Option Class or Standard or a reference,
487: --so parent always exists.
488:
489: PROCEDURE PROPAGATE_TRACKABLE_ANCESTOR IS
490:

Line 494: glPsNodeType(auxIndex) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))LOOP

490:
491: auxIndex NUMBER := glIndexByPsNodeId(ntParentId(i)); --kdande; Bug 6881902; 11-Mar-2008
492: BEGIN
493: WHILE((NOT trackableAncestor.EXISTS(glPsNodeId(auxIndex))) AND
494: glPsNodeType(auxIndex) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))LOOP
495:
496: IF(glInitialValue(auxIndex) > 1)THEN
497:
498: nParam := auxIndex;

Line 1195: IF(glPsNodeType(glIndexByPsNodeId(globalStack(i))) IN (PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTIONCLASS,PS_NODE_TYPE_BOM_STANDARD))THEN

1191: IF(globalStack(i) = inComponentId)THEN EXIT; END IF;
1192:
1193: --Account only for references to bom(s).
1194:
1195: IF(glPsNodeType(glIndexByPsNodeId(globalStack(i))) IN (PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTIONCLASS,PS_NODE_TYPE_BOM_STANDARD))THEN
1196:
1197: l_index := glIndexByPsNodeId(globalRef(i));
1198:
1199: IF(glEffFrom(l_index) > l_eff_from)THEN l_eff_from := glEffFrom(l_index); END IF;

Line 1551: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN

1547: v_result(nCount) := glPsNodeId(i);
1548: v_ExplByPsNodeId(glPsNodeId(i)) := v_tExplNodeId(j);
1549: nCount := nCount + 1;
1550: END LOOP;
1551: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
1552:
1553: FOR i IN v_start_index..v_end_index LOOP
1554:
1555: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR

Line 1555: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR

1551: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
1552:
1553: FOR i IN v_start_index..v_end_index LOOP
1554:
1555: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1556: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND
1557: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))
1558: AND glParentId(i) = v_ps_node_id)THEN
1559:

Line 1557: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))

1553: FOR i IN v_start_index..v_end_index LOOP
1554:
1555: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1556: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND
1557: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))
1558: AND glParentId(i) = v_ps_node_id)THEN
1559:
1560: IF(glPsNodeType(i) = PS_NODE_TYPE_REFERENCE)THEN
1561: v_result(nCount) := glReferenceId(glPsNodeId(i));

Line 1613: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN

1609: v_return(nCount) := GENERATE_NAME_EXPL(p_expl_id, glPsNodeId(i));
1610: nCount := nCount + 1;
1611: END LOOP;
1612:
1613: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
1614:
1615: FOR i IN v_start_index..v_end_index LOOP
1616: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1617: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND

Line 1616: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR

1612:
1613: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
1614:
1615: FOR i IN v_start_index..v_end_index LOOP
1616: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1617: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND
1618: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))
1619: AND glParentId(i) = p_ps_node_id)THEN
1620:

Line 1618: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))

1614:
1615: FOR i IN v_start_index..v_end_index LOOP
1616: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1617: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND
1618: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))
1619: AND glParentId(i) = p_ps_node_id)THEN
1620:
1621: IF(glPsNodeType(i) = PS_NODE_TYPE_REFERENCE)THEN
1622: v_return(nCount) := GENERATE_NAME_EXPL(ADJUSTED_EXPLOSION(p_expl_id, glPsNodeId(i)), glReferenceId(glPsNodeId(i)));

Line 3339: IF(NodeType IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN RETURN GENERATE_CONTRIBUTE; END IF;

3335: ELSE
3336:
3337: --Bug #4677027. No rounding operator for contributions to any bom nodes.
3338:
3339: IF(NodeType IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN RETURN GENERATE_CONTRIBUTE; END IF;
3340:
3341: IF(COMPATIBLE_DATA_TYPES(SIGNATURE_DATA_TYPE(h_SignatureId(SysPropType)), DATATYPE_INTEGER))THEN
3342: RETURN GENERATE_INCREMENT;
3343: END IF;

Line 3801: glPsNodeType(glIndexByPsNodeId(v_NodeId)) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN

3797: optimizeChain := OPTIMIZATION_UNKNOWN;
3798: optimizeContribute := OPTIMIZATION_UNKNOWN;
3799:
3800: IF(v_tLogicNetType(nHeaderId) = LOGIC_NET_TYPE_NETWORK AND
3801: glPsNodeType(glIndexByPsNodeId(v_NodeId)) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
3802:
3803: --This is a conditional numeric rule against a BOM node. We will create an accumulator and
3804: --a 'contribute' relation from the accumulator to the BOM object, if such accumulator does
3805: --not exist. We'll need to temporarily switch context to the BOM object's structure file.

Line 6215: PROCEDURE GENERATE_STANDARD_PBC IS

6211: itemCount := itemCount + 1;
6212: chainIndex := chainIndex + 1;
6213: END;
6214: ---------------------------------------------------------------------------------------
6215: PROCEDURE GENERATE_STANDARD_PBC IS
6216: BEGIN
6217: v_cursor := DBMS_SQL.OPEN_CURSOR;
6218: DBMS_SQL.PARSE(v_cursor, SQLSelect || SQLFrom || SQLWhere, DBMS_SQL.NATIVE);
6219:

Line 6292: IF(glPsNodeType(localNumber) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN

6288: localString := TO_CHAR(glMaximum(localNumber));
6289:
6290: --If it's a BOM item, we use maximum_selected instead of maximum
6291:
6292: IF(glPsNodeType(localNumber) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
6293: localString := TO_CHAR(glMaximumSel(localNumber));
6294: END IF;
6295:
6296: IF(localString IS NULL)THEN localString := '-1'; END IF;

Line 6381: END GENERATE_STANDARD_PBC;

6377: vLogicLine := NewLine;
6378: PACK;
6379: END IF; --Excludes required
6380: END LOOP;
6381: END GENERATE_STANDARD_PBC;
6382: ---------------------------------------------------------------------------------------
6383: PROCEDURE GENERATE_OPTIMIZED_PBC IS
6384:
6385: TYPE tVarcharTable IS TABLE OF VARCHAR2(32000) INDEX BY VARCHAR2(32000);

Line 6415: IF(glPsNodeType(v_idx) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN

6411: BEGIN
6412: v_idx := glIndexByPsNodeId(p_feature_id);
6413: v_min := glMinimum(v_idx);
6414:
6415: IF(glPsNodeType(v_idx) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
6416: v_min := glMinimumSel(v_idx);
6417: END IF;
6418: if(v_min IS NULL OR v_min < 1)THEN RETURN 0; END IF;
6419: RETURN 1;

Line 7004: --by EXPAND_NODE inside the GENERATE_ITERATOR). For example, if a BOM model has BOM standard

7000: --In a BOM model, options can really be references to other BOM models, therefore each option
7001: --can have its own explosion id, which should be used to generate correct logic name.
7002: --Hash the explosion id(s) here in a two-dimensional table (iterator, option_id).
7003: --Here we are supposed to hash all eligible options of the parent (the eligibility determined
7004: --by EXPAND_NODE inside the GENERATE_ITERATOR). For example, if a BOM model has BOM standard
7005: --items and a non-BOM feature, only the bom items are eligible. Therefore, this table will be
7006: --used later when generating exclusions.
7007:
7008: h_OptionExplId(i)(nodeId) := iterator(ii).node_id_ex;

Line 7047: GENERATE_STANDARD_PBC;

7043: IF(v_tFeatureId.COUNT = 2)THEN
7044: GENERATE_OPTIMIZED_PBC;
7045: ELSE
7046:
7047: GENERATE_STANDARD_PBC;
7048: END IF;
7049:
7050: RETURN v_return;
7051: END;

Line 7413: IF(glPsNodeType(localNumber) IN (PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTIONCLASS,PS_NODE_TYPE_BOM_STANDARD))THEN

7409: localString := TO_CHAR(glMaximum(localNumber));
7410:
7411: --If it's a BOM item, we use maximum_selected instead of maximum
7412:
7413: IF(glPsNodeType(localNumber) IN (PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTIONCLASS,PS_NODE_TYPE_BOM_STANDARD))THEN
7414: localString := TO_CHAR(glMaximumSel(localNumber));
7415: END IF;
7416:
7417: IF(localString IS NULL)THEN localString := '-1'; END IF;

Line 7794: IF(glPsNodeType(localNumber) IN (PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTIONCLASS,PS_NODE_TYPE_BOM_STANDARD))THEN

7790: localString := TO_CHAR(glMaximum(localNumber));
7791:
7792: --If it's a BOM item, we use maximum_selected instead of maximum
7793:
7794: IF(glPsNodeType(localNumber) IN (PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTIONCLASS,PS_NODE_TYPE_BOM_STANDARD))THEN
7795: localString := TO_CHAR(glMaximumSel(localNumber));
7796: END IF;
7797:
7798: IF(localString IS NULL)THEN localString := '-1'; END IF;

Line 8999: --There may also be no load conditions at all and then this is the 'standard' rule file

8995:
8996: --Now we can go ahead and collect the load conditions for this rule. Those would be all
8997: --type A (optional) and C (connector) descendants of the rule assignee. To collect them
8998: --we need to go up from each (distinct) rule participant's explosion id (index).
8999: --There may also be no load conditions at all and then this is the 'standard' rule file
9000: --identified by explosion id of the assignee as a load condition (NET_TYPE = 2).
9001:
9002: FOR i IN 1..v_ParticipantIndex.COUNT LOOP
9003:

Line 9025: --This is going to be a mandatory (standard) rule file.

9021: nHeaderId := NEVER_EXISTS_ID;
9022:
9023: IF(v_MarkLoadCondition.COUNT = 0)THEN
9024:
9025: --This is going to be a mandatory (standard) rule file.
9026:
9027: logicNetType := LOGIC_NET_TYPE_MANDATORY;
9028: v_LoadConditionId(1) := MaxDepthId;
9029: IF(v_tIsHeaderGenerated.EXISTS(MaxDepthId))THEN

Line 10086: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD AND ntIbTrackable(i) = FLAG_IB_TRACKABLE AND

10082: IF(NOT featOptionsCount.EXISTS(ntParentId(i)))THEN featOptionsCount(ntParentId(i)) := 0; END IF;
10083: featOptionsCount(ntParentId(i)) := featOptionsCount(ntParentId(i)) + 1;
10084: END IF;
10085:
10086: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD AND ntIbTrackable(i) = FLAG_IB_TRACKABLE AND
10087: thisProjectType IN (MODEL_TYPE_PTO_MODEL, MODEL_TYPE_ATO_MODEL) AND
10088: glPsNodeType(glIndexByPsNodeId(ntParentId(i))) = PS_NODE_TYPE_BOM_MODEL AND
10089: glIbTrackable(ntParentId(i)) = FLAG_NOT_IB_TRACKABLE) THEN
10090:

Line 10091: --A trackable BOM Standard item cannot be a direct child of a non-trackable

10087: thisProjectType IN (MODEL_TYPE_PTO_MODEL, MODEL_TYPE_ATO_MODEL) AND
10088: glPsNodeType(glIndexByPsNodeId(ntParentId(i))) = PS_NODE_TYPE_BOM_MODEL AND
10089: glIbTrackable(ntParentId(i)) = FLAG_NOT_IB_TRACKABLE) THEN
10090:
10091: --A trackable BOM Standard item cannot be a direct child of a non-trackable
10092: --ATO/PTO Model if this model is references from any Network Container model.
10093: --Re: bug #3644036.
10094:
10095: IF(NOT h_containerReferred.EXISTS(ntParentId(i)))THEN

Line 10111: RAISE CZ_S_TRACKABLE_STANDARD;

10107: IF(h_containerReferred(ntParentId(i)) = 1)THEN
10108:
10109: errorMessage := thisProjectName;
10110: nParam := glIndexByPsNodeId(ntPsNodeId(i));
10111: RAISE CZ_S_TRACKABLE_STANDARD;
10112: END IF;
10113: END IF;
10114:
10115: --Prepare the actual effective date interval for populating global effectivity dates.

Line 10241: (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN

10237: --All the following verifications are to be made only if the referenced model is
10238: --a BOM Model - bug #2509208.
10239:
10240: glPsNodeType(glIndexByPsNodeId(ntReferenceId(i))) IN
10241: (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
10242:
10243: --If the referenced model is trackable it may be a trackable leaf. However, if its
10244: --trackableAncestor flag exists, it has trackable children. In any case we need to
10245: --mark all of its ancestors and make sure their quantities are not greater than 1,

Line 10275: ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) AND

10271: --Bug #5003285. Need to move the propagation of trackable flag into this branch which
10272: --executes even if child model is up-to-date.
10273:
10274: IF(rootProjectType = MODEL_TYPE_CONTAINER_MODEL AND
10275: ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) AND
10276: glIbTrackable(ntPsNodeId(i)) = FLAG_IB_TRACKABLE)THEN
10277:
10278: PROPAGATE_TRACKABLE_ANCESTOR;
10279:

Line 10643: glPsNodeType(glIndexByPsNodeId(ntReferenceId(i))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN

10639:
10640: --All the following verifications are to be made only if the referenced model is
10641: --a BOM Model - bug #2509208.
10642:
10643: glPsNodeType(glIndexByPsNodeId(ntReferenceId(i))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
10644:
10645: errorMessage := glName(glIndexByPsNodeId(ntReferenceId(i)));
10646:
10647: --If this is a network container model, every reference to a trackable model should

Line 10768: ELSIF(ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN

10764: END IF;
10765: END IF;
10766: END IF;
10767:
10768: ELSIF(ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
10769:
10770: nDebug := 1110032;
10771:
10772: --Run the TSO with Equipment validations before generating logic.

Line 10795: -- Only BOM Standard Items can be shippable and inventory transactable.'

10791: IF((ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_MODEL)) AND
10792: (ntShippableFlag(i) = '1' OR ntTransactableFlag(i) = '1'))THEN
10793:
10794: --'Incorrect BOM Model or Option Class ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10795: -- Only BOM Standard Items can be shippable and inventory transactable.'
10796:
10797: RAISE CZ_LCE_INCORRECT_BOM;
10798: END IF; --Flags are set for a non-Standard item node.
10799:

Line 10798: END IF; --Flags are set for a non-Standard item node.

10794: --'Incorrect BOM Model or Option Class ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10795: -- Only BOM Standard Items can be shippable and inventory transactable.'
10796:
10797: RAISE CZ_LCE_INCORRECT_BOM;
10798: END IF; --Flags are set for a non-Standard item node.
10799:
10800: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN
10801: IF(ntShippableFlag(i) <> ntTransactableFlag(i))THEN
10802:

Line 10800: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN

10796:
10797: RAISE CZ_LCE_INCORRECT_BOM;
10798: END IF; --Flags are set for a non-Standard item node.
10799:
10800: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN
10801: IF(ntShippableFlag(i) <> ntTransactableFlag(i))THEN
10802:
10803: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10804: -- All shippable items should be inventory transactable and vice versa.'

Line 10803: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

10799:
10800: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN
10801: IF(ntShippableFlag(i) <> ntTransactableFlag(i))THEN
10802:
10803: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10804: -- All shippable items should be inventory transactable and vice versa.'
10805:
10806: RAISE CZ_LCE_INCORRECT_ITEM;
10807: END IF; -- ntShippableFlag <> ntTransactableFlag.

Line 10811: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

10807: END IF; -- ntShippableFlag <> ntTransactableFlag.
10808:
10809: IF(ntShippableFlag(i) = '1' AND ((ntAtoFlag(i) <> '0') OR (NVL(ntIbTrackable(i), '0') <> '1')))THEN
10810:
10811: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10812: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
10813:
10814: RAISE CZ_LCE_INCORRECT_TANGIBLE;
10815: END IF; --ntShippableFlag = '1'.

Line 10812: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'

10808:
10809: IF(ntShippableFlag(i) = '1' AND ((ntAtoFlag(i) <> '0') OR (NVL(ntIbTrackable(i), '0') <> '1')))THEN
10810:
10811: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10812: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
10813:
10814: RAISE CZ_LCE_INCORRECT_TANGIBLE;
10815: END IF; --ntShippableFlag = '1'.
10816:

Line 10819: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

10815: END IF; --ntShippableFlag = '1'.
10816:
10817: IF(ntShippableFlag(i) = '1' AND ntSerializableFlag(i) = '0')THEN
10818:
10819: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10820: -- All shippable items should be serializable trackable non-ATO standard items.'
10821:
10822: RAISE CZ_LCE_INCORRECT_SHIPPABLE;
10823: END IF; --ntShippableFlag = '1' AND ntSerializableFlag = '0';

Line 10820: -- All shippable items should be serializable trackable non-ATO standard items.'

10816:
10817: IF(ntShippableFlag(i) = '1' AND ntSerializableFlag(i) = '0')THEN
10818:
10819: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10820: -- All shippable items should be serializable trackable non-ATO standard items.'
10821:
10822: RAISE CZ_LCE_INCORRECT_SHIPPABLE;
10823: END IF; --ntShippableFlag = '1' AND ntSerializableFlag = '0';
10824: END IF; --Standard Item.

Line 10824: END IF; --Standard Item.

10820: -- All shippable items should be serializable trackable non-ATO standard items.'
10821:
10822: RAISE CZ_LCE_INCORRECT_SHIPPABLE;
10823: END IF; --ntShippableFlag = '1' AND ntSerializableFlag = '0';
10824: END IF; --Standard Item.
10825: END IF; --MACD Container.
10826:
10827: nDebug := 1110033;
10828:

Line 10835: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN

10831: vLogicLine := 'BOM P_' || TO_CHAR(ntPersistentId(i)) || ' R ';
10832:
10833: --BOM modifier.
10834:
10835: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN
10836: vLogicLine := vLogicLine || 'S';
10837: ELSIF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_OPTIONCLASS)THEN
10838: vLogicLine := vLogicLine || 'O';
10839: ELSIF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_MODEL)THEN

Line 10859: IF(ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) AND

10855: errorMessage := CZ_UTILS.GET_TEXT('CZ_S_UNKNOWN_BOM_NODE_TYPE', 'NODENAME', ntName(i));
10856: RAISE CZ_S_UNKNOWN_BOM_NODE_TYPE;
10857: END IF;
10858:
10859: IF(ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) AND
10860: glIbTrackable(ntPsNodeId(i)) = FLAG_IB_TRACKABLE)THEN
10861:
10862: --Trackable Standard Items/Option Classes are not allowed as immediate children of a
10863: --network container model.

Line 10862: --Trackable Standard Items/Option Classes are not allowed as immediate children of a

10858:
10859: IF(ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) AND
10860: glIbTrackable(ntPsNodeId(i)) = FLAG_IB_TRACKABLE)THEN
10861:
10862: --Trackable Standard Items/Option Classes are not allowed as immediate children of a
10863: --network container model.
10864:
10865: IF(thisProjectType = MODEL_TYPE_CONTAINER_MODEL AND
10866: glPsNodeType(glIndexByPsNodeId(ntParentId(i))) = PS_NODE_TYPE_BOM_MODEL)THEN

Line 10873: --As this is a trackable Standard Item or Option Class we need to mark all of its

10869: nParam := glIndexByPsNodeId(ntPsNodeId(i));
10870: RAISE CZ_S_TRACKABLE_CHILDREN;
10871: END IF;
10872:
10873: --As this is a trackable Standard Item or Option Class we need to mark all of its
10874: --ancestors and make sure their quantities are not greater than 1, if the root is
10875: --a container model.
10876:
10877: IF(rootProjectType = MODEL_TYPE_CONTAINER_MODEL)THEN

Line 10919: glPsNodeType(glIndexByPsNodeId(ntParentId(i))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN

10915:
10916: --Parent 'logic' name if any
10917:
10918: IF(ntParentId(i) IS NOT NULL AND
10919: glPsNodeType(glIndexByPsNodeId(ntParentId(i))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
10920:
10921: --Fix for the bug #1745394. If a BOM parent is of decimal quantity and it's child is of
10922: --integer quantity, fatal error will be raised.
10923:

Line 11202: --Bug #4587682. Save current nls numeric characters and set the standard characters.

11198: END;
11199: ---------------------------------------------------------------------------------------
11200: BEGIN --GENERATE_LOGIC_
11201:
11202: --Bug #4587682. Save current nls numeric characters and set the standard characters.
11203:
11204: SELECT value INTO StoreNlsCharacters FROM NLS_SESSION_PARAMETERS
11205: WHERE UPPER(parameter) = 'NLS_NUMERIC_CHARACTERS';
11206:

Line 11461: WHEN CZ_S_TRACKABLE_STANDARD THEN

11457: WHEN CZ_S_TRACKABLE_CHILDREN THEN
11458: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable BOM item cannot be a direct child of a Container Model.'
11459: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_CHILDREN', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11460: ROLLBACK_HEADERS;
11461: WHEN CZ_S_TRACKABLE_STANDARD THEN
11462: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable Standard Item cannot be
11463: -- a direct child of a non-trackable ATO or PTO BOM Model that is referenced by a Container Model.'
11464: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_STANDARD', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11465: ROLLBACK_HEADERS;

Line 11462: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable Standard Item cannot be

11458: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable BOM item cannot be a direct child of a Container Model.'
11459: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_CHILDREN', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11460: ROLLBACK_HEADERS;
11461: WHEN CZ_S_TRACKABLE_STANDARD THEN
11462: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable Standard Item cannot be
11463: -- a direct child of a non-trackable ATO or PTO BOM Model that is referenced by a Container Model.'
11464: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_STANDARD', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11465: ROLLBACK_HEADERS;
11466: WHEN CZ_S_MULTIPLE_TRACKABLE THEN

Line 11464: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_STANDARD', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);

11460: ROLLBACK_HEADERS;
11461: WHEN CZ_S_TRACKABLE_STANDARD THEN
11462: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable Standard Item cannot be
11463: -- a direct child of a non-trackable ATO or PTO BOM Model that is referenced by a Container Model.'
11464: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_STANDARD', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11465: ROLLBACK_HEADERS;
11466: WHEN CZ_S_MULTIPLE_TRACKABLE THEN
11467: --'Invalid Model structure: Multiple references exist to the trackable instance ''%CHILDNAME''.'
11468: REPORT(CZ_UTILS.GET_TEXT('CZ_S_MULTIPLE_TRACKABLE', 'CHILDNAME', errorMessage), 0);

Line 11519: -- Only BOM Standard Items can be shippable and inventory transactable.'

11515: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_MODEL_OUTOFDATE', 'MODELNAME', errorMessage), 0);
11516: ROLLBACK_HEADERS;
11517: WHEN CZ_LCE_INCORRECT_BOM THEN
11518: --'Incorrect BOM Model or Option Class ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11519: -- Only BOM Standard Items can be shippable and inventory transactable.'
11520: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_BOM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11521: ROLLBACK_HEADERS;
11522: WHEN CZ_LCE_INCORRECT_ITEM THEN
11523: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

Line 11523: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

11519: -- Only BOM Standard Items can be shippable and inventory transactable.'
11520: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_BOM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11521: ROLLBACK_HEADERS;
11522: WHEN CZ_LCE_INCORRECT_ITEM THEN
11523: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11524: -- All shippable items should be inventory transactable and vice versa.'
11525: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_ITEM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11526: ROLLBACK_HEADERS;
11527: WHEN CZ_LCE_INCORRECT_TANGIBLE THEN

Line 11528: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

11524: -- All shippable items should be inventory transactable and vice versa.'
11525: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_ITEM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11526: ROLLBACK_HEADERS;
11527: WHEN CZ_LCE_INCORRECT_TANGIBLE THEN
11528: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11529: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
11530: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_TANGIBLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11531: ROLLBACK_HEADERS;
11532: WHEN CZ_LCE_INCORRECT_SHIPPABLE THEN

Line 11529: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'

11525: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_ITEM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11526: ROLLBACK_HEADERS;
11527: WHEN CZ_LCE_INCORRECT_TANGIBLE THEN
11528: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11529: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
11530: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_TANGIBLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11531: ROLLBACK_HEADERS;
11532: WHEN CZ_LCE_INCORRECT_SHIPPABLE THEN
11533: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

Line 11533: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

11529: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
11530: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_TANGIBLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11531: ROLLBACK_HEADERS;
11532: WHEN CZ_LCE_INCORRECT_SHIPPABLE THEN
11533: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11534: -- All shippable items should be serializable trackable non-ATO standard items.'
11535: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_SHIPPABLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11536: ROLLBACK_HEADERS;
11537: WHEN CZ_G_INVALID_RULE_EXPLOSION THEN

Line 11534: -- All shippable items should be serializable trackable non-ATO standard items.'

11530: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_TANGIBLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11531: ROLLBACK_HEADERS;
11532: WHEN CZ_LCE_INCORRECT_SHIPPABLE THEN
11533: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11534: -- All shippable items should be serializable trackable non-ATO standard items.'
11535: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_SHIPPABLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11536: ROLLBACK_HEADERS;
11537: WHEN CZ_G_INVALID_RULE_EXPLOSION THEN
11538: --'Internal data error. Unable to continue because of invalid data in rule ''%RULENAME''. Disable or delete the rule to generate logic.'