DBA Data[Home] [Help]

APPS.CZ_LOGIC_GEN dependencies on STANDARD

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

493: ---------------------------------------------------------------------------------------
494: --This procedure is used for marking BOM items that are ancestors of a trackable BOM
495: --item. Such items cannot have default quantity greater than 1, and cannot be on the
496: --RHS of a numeric rule.
497: --The procedure can be called only for a BOM Option Class or Standard or a reference,
498: --so parent always exists.
499:
500: PROCEDURE PROPAGATE_TRACKABLE_ANCESTOR IS
501:

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

501:
502: auxIndex NUMBER := glIndexByPsNodeId(ntParentId(i)); --kdande; Bug 6881902; 11-Mar-2008
503: BEGIN
504: WHILE((NOT trackableAncestor.EXISTS(glPsNodeId(auxIndex))) AND
505: glPsNodeType(auxIndex) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))LOOP
506:
507: IF(glInitialValue(auxIndex) > 1)THEN
508:
509: nParam := auxIndex;

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

1202: IF(globalStack(i) = inComponentId)THEN EXIT; END IF;
1203:
1204: --Account only for references to bom(s).
1205:
1206: IF(glPsNodeType(glIndexByPsNodeId(globalStack(i))) IN (PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTIONCLASS,PS_NODE_TYPE_BOM_STANDARD))THEN
1207:
1208: l_index := glIndexByPsNodeId(globalRef(i));
1209:
1210: IF(glEffFrom(l_index) > l_eff_from)THEN l_eff_from := glEffFrom(l_index); END IF;

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

1558: v_result(nCount) := glPsNodeId(i);
1559: v_ExplByPsNodeId(glPsNodeId(i)) := v_tExplNodeId(j);
1560: nCount := nCount + 1;
1561: END LOOP;
1562: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
1563:
1564: FOR i IN v_start_index..v_end_index LOOP
1565:
1566: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR

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

1562: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
1563:
1564: FOR i IN v_start_index..v_end_index LOOP
1565:
1566: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1567: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND
1568: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))
1569: AND glParentId(i) = v_ps_node_id)THEN
1570:

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

1564: FOR i IN v_start_index..v_end_index LOOP
1565:
1566: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1567: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND
1568: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))
1569: AND glParentId(i) = v_ps_node_id)THEN
1570:
1571: IF(glPsNodeType(i) = PS_NODE_TYPE_REFERENCE)THEN
1572: v_result(nCount) := glReferenceId(glPsNodeId(i));

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

1620: v_return(nCount) := GENERATE_NAME_EXPL(p_expl_id, glPsNodeId(i));
1621: nCount := nCount + 1;
1622: END LOOP;
1623:
1624: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
1625:
1626: FOR i IN v_start_index..v_end_index LOOP
1627: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1628: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND

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

1623:
1624: ELSIF(v_node_type IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
1625:
1626: FOR i IN v_start_index..v_end_index LOOP
1627: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1628: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND
1629: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))
1630: AND glParentId(i) = p_ps_node_id)THEN
1631:

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

1625:
1626: FOR i IN v_start_index..v_end_index LOOP
1627: IF((glPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) OR
1628: (glPsNodeType(i) = PS_NODE_TYPE_REFERENCE AND
1629: glPsNodeType(glIndexByPsNodeId(glReferenceId(glPsNodeId(i)))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD)))
1630: AND glParentId(i) = p_ps_node_id)THEN
1631:
1632: IF(glPsNodeType(i) = PS_NODE_TYPE_REFERENCE)THEN
1633: v_return(nCount) := GENERATE_NAME_EXPL(ADJUSTED_EXPLOSION(p_expl_id, glPsNodeId(i)), glReferenceId(glPsNodeId(i)));

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

3346: ELSE
3347:
3348: --Bug #4677027. No rounding operator for contributions to any bom nodes.
3349:
3350: IF(NodeType IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN RETURN GENERATE_CONTRIBUTE; END IF;
3351:
3352: IF(COMPATIBLE_DATA_TYPES(SIGNATURE_DATA_TYPE(h_SignatureId(SysPropType)), DATATYPE_INTEGER))THEN
3353: RETURN GENERATE_INCREMENT;
3354: END IF;

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

3808: optimizeChain := OPTIMIZATION_UNKNOWN;
3809: optimizeContribute := OPTIMIZATION_UNKNOWN;
3810:
3811: IF(v_tLogicNetType(nHeaderId) = LOGIC_NET_TYPE_NETWORK AND
3812: glPsNodeType(glIndexByPsNodeId(v_NodeId)) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
3813:
3814: --This is a conditional numeric rule against a BOM node. We will create an accumulator and
3815: --a 'contribute' relation from the accumulator to the BOM object, if such accumulator does
3816: --not exist. We'll need to temporarily switch context to the BOM object's structure file.

Line 6228: PROCEDURE GENERATE_STANDARD_PBC IS

6224: itemCount := itemCount + 1;
6225: chainIndex := chainIndex + 1;
6226: END;
6227: ---------------------------------------------------------------------------------------
6228: PROCEDURE GENERATE_STANDARD_PBC IS
6229: BEGIN
6230: v_cursor := DBMS_SQL.OPEN_CURSOR;
6231: DBMS_SQL.PARSE(v_cursor, SQLSelect || SQLFrom || SQLWhere, DBMS_SQL.NATIVE);
6232:

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

6301: localString := TO_CHAR(glMaximum(localNumber));
6302:
6303: --If it's a BOM item, we use maximum_selected instead of maximum
6304:
6305: IF(glPsNodeType(localNumber) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
6306: localString := TO_CHAR(glMaximumSel(localNumber));
6307: END IF;
6308:
6309: IF(localString IS NULL)THEN localString := '-1'; END IF;

Line 6394: END GENERATE_STANDARD_PBC;

6390: vLogicLine := NewLine;
6391: PACK;
6392: END IF; --Excludes required
6393: END LOOP;
6394: END GENERATE_STANDARD_PBC;
6395: ---------------------------------------------------------------------------------------
6396: PROCEDURE GENERATE_OPTIMIZED_PBC IS
6397:
6398: TYPE tVarcharTable IS TABLE OF VARCHAR2(32000) INDEX BY VARCHAR2(32000);

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

6424: BEGIN
6425: v_idx := glIndexByPsNodeId(p_feature_id);
6426: v_min := glMinimum(v_idx);
6427:
6428: IF(glPsNodeType(v_idx) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
6429: v_min := glMinimumSel(v_idx);
6430: END IF;
6431: if(v_min IS NULL OR v_min < 1)THEN RETURN 0; END IF;
6432: RETURN 1;

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

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

Line 7062: GENERATE_STANDARD_PBC;

7058: IF(v_tFeatureId.COUNT = 2)THEN
7059: GENERATE_OPTIMIZED_PBC;
7060: ELSE
7061:
7062: GENERATE_STANDARD_PBC;
7063: END IF;
7064:
7065: RETURN v_return;
7066: END;

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

7424: localString := TO_CHAR(glMaximum(localNumber));
7425:
7426: --If it's a BOM item, we use maximum_selected instead of maximum
7427:
7428: IF(glPsNodeType(localNumber) IN (PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTIONCLASS,PS_NODE_TYPE_BOM_STANDARD))THEN
7429: localString := TO_CHAR(glMaximumSel(localNumber));
7430: END IF;
7431:
7432: IF(localString IS NULL)THEN localString := '-1'; END IF;

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

7805: localString := TO_CHAR(glMaximum(localNumber));
7806:
7807: --If it's a BOM item, we use maximum_selected instead of maximum
7808:
7809: IF(glPsNodeType(localNumber) IN (PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTIONCLASS,PS_NODE_TYPE_BOM_STANDARD))THEN
7810: localString := TO_CHAR(glMaximumSel(localNumber));
7811: END IF;
7812:
7813: IF(localString IS NULL)THEN localString := '-1'; END IF;

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

9023:
9024: --Now we can go ahead and collect the load conditions for this rule. Those would be all
9025: --type A (optional) and C (connector) descendants of the rule assignee. To collect them
9026: --we need to go up from each (distinct) rule participant's explosion id (index).
9027: --There may also be no load conditions at all and then this is the 'standard' rule file
9028: --identified by explosion id of the assignee as a load condition (NET_TYPE = 2).
9029:
9030: FOR i IN 1..v_ParticipantIndex.COUNT LOOP
9031:

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

9049: nHeaderId := NEVER_EXISTS_ID;
9050:
9051: IF(v_MarkLoadCondition.COUNT = 0)THEN
9052:
9053: --This is going to be a mandatory (standard) rule file.
9054:
9055: logicNetType := LOGIC_NET_TYPE_MANDATORY;
9056: v_LoadConditionId(1) := MaxDepthId;
9057: IF(v_tIsHeaderGenerated.EXISTS(MaxDepthId))THEN

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

10114: IF(NOT featOptionsCount.EXISTS(ntParentId(i)))THEN featOptionsCount(ntParentId(i)) := 0; END IF;
10115: featOptionsCount(ntParentId(i)) := featOptionsCount(ntParentId(i)) + 1;
10116: END IF;
10117:
10118: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD AND ntIbTrackable(i) = FLAG_IB_TRACKABLE AND
10119: thisProjectType IN (MODEL_TYPE_PTO_MODEL, MODEL_TYPE_ATO_MODEL) AND
10120: glPsNodeType(glIndexByPsNodeId(ntParentId(i))) = PS_NODE_TYPE_BOM_MODEL AND
10121: glIbTrackable(ntParentId(i)) = FLAG_NOT_IB_TRACKABLE) THEN
10122:

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

10119: thisProjectType IN (MODEL_TYPE_PTO_MODEL, MODEL_TYPE_ATO_MODEL) AND
10120: glPsNodeType(glIndexByPsNodeId(ntParentId(i))) = PS_NODE_TYPE_BOM_MODEL AND
10121: glIbTrackable(ntParentId(i)) = FLAG_NOT_IB_TRACKABLE) THEN
10122:
10123: --A trackable BOM Standard item cannot be a direct child of a non-trackable
10124: --ATO/PTO Model if this model is references from any Network Container model.
10125: --Re: bug #3644036.
10126:
10127: IF(NOT h_containerReferred.EXISTS(ntParentId(i)))THEN

Line 10143: RAISE CZ_S_TRACKABLE_STANDARD;

10139: IF(h_containerReferred(ntParentId(i)) = 1)THEN
10140:
10141: errorMessage := thisProjectName;
10142: nParam := glIndexByPsNodeId(ntPsNodeId(i));
10143: RAISE CZ_S_TRACKABLE_STANDARD;
10144: END IF;
10145: END IF;
10146:
10147: --Prepare the actual effective date interval for populating global effectivity dates.

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

10269: --All the following verifications are to be made only if the referenced model is
10270: --a BOM Model - bug #2509208.
10271:
10272: glPsNodeType(glIndexByPsNodeId(ntReferenceId(i))) IN
10273: (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
10274:
10275: --If the referenced model is trackable it may be a trackable leaf. However, if its
10276: --trackableAncestor flag exists, it has trackable children. In any case we need to
10277: --mark all of its ancestors and make sure their quantities are not greater than 1,

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

10303: --Bug #5003285. Need to move the propagation of trackable flag into this branch which
10304: --executes even if child model is up-to-date.
10305:
10306: IF(rootProjectType = MODEL_TYPE_CONTAINER_MODEL AND
10307: ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) AND
10308: glIbTrackable(ntPsNodeId(i)) = FLAG_IB_TRACKABLE)THEN
10309:
10310: PROPAGATE_TRACKABLE_ANCESTOR;
10311:

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

10671:
10672: --All the following verifications are to be made only if the referenced model is
10673: --a BOM Model - bug #2509208.
10674:
10675: glPsNodeType(glIndexByPsNodeId(ntReferenceId(i))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
10676:
10677: errorMessage := glName(glIndexByPsNodeId(ntReferenceId(i)));
10678:
10679: --If this is a network container model, every reference to a trackable model should

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

10796: END IF;
10797: END IF;
10798: END IF;
10799:
10800: ELSIF(ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
10801:
10802: nDebug := 1110032;
10803:
10804: --Run the TSO with Equipment validations before generating logic.

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

10823: IF((ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_MODEL)) AND
10824: (ntShippableFlag(i) = '1' OR ntTransactableFlag(i) = '1'))THEN
10825:
10826: --'Incorrect BOM Model or Option Class ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10827: -- Only BOM Standard Items can be shippable and inventory transactable.'
10828:
10829: RAISE CZ_LCE_INCORRECT_BOM;
10830: END IF; --Flags are set for a non-Standard item node.
10831:

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

10826: --'Incorrect BOM Model or Option Class ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10827: -- Only BOM Standard Items can be shippable and inventory transactable.'
10828:
10829: RAISE CZ_LCE_INCORRECT_BOM;
10830: END IF; --Flags are set for a non-Standard item node.
10831:
10832: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN
10833: IF(ntShippableFlag(i) <> ntTransactableFlag(i))THEN
10834:

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

10828:
10829: RAISE CZ_LCE_INCORRECT_BOM;
10830: END IF; --Flags are set for a non-Standard item node.
10831:
10832: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN
10833: IF(ntShippableFlag(i) <> ntTransactableFlag(i))THEN
10834:
10835: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10836: -- All shippable items should be inventory transactable and vice versa.'

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

10831:
10832: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN
10833: IF(ntShippableFlag(i) <> ntTransactableFlag(i))THEN
10834:
10835: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10836: -- All shippable items should be inventory transactable and vice versa.'
10837:
10838: RAISE CZ_LCE_INCORRECT_ITEM;
10839: END IF; -- ntShippableFlag <> ntTransactableFlag.

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

10839: END IF; -- ntShippableFlag <> ntTransactableFlag.
10840:
10841: IF(ntShippableFlag(i) = '1' AND ((ntAtoFlag(i) <> '0') OR (NVL(ntIbTrackable(i), '0') <> '1')))THEN
10842:
10843: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10844: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
10845:
10846: RAISE CZ_LCE_INCORRECT_TANGIBLE;
10847: END IF; --ntShippableFlag = '1'.

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

10840:
10841: IF(ntShippableFlag(i) = '1' AND ((ntAtoFlag(i) <> '0') OR (NVL(ntIbTrackable(i), '0') <> '1')))THEN
10842:
10843: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10844: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
10845:
10846: RAISE CZ_LCE_INCORRECT_TANGIBLE;
10847: END IF; --ntShippableFlag = '1'.
10848:

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

10847: END IF; --ntShippableFlag = '1'.
10848:
10849: IF(ntShippableFlag(i) = '1' AND ntSerializableFlag(i) = '0')THEN
10850:
10851: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10852: -- All shippable items should be serializable trackable non-ATO standard items.'
10853:
10854: RAISE CZ_LCE_INCORRECT_SHIPPABLE;
10855: END IF; --ntShippableFlag = '1' AND ntSerializableFlag = '0';

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

10848:
10849: IF(ntShippableFlag(i) = '1' AND ntSerializableFlag(i) = '0')THEN
10850:
10851: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
10852: -- All shippable items should be serializable trackable non-ATO standard items.'
10853:
10854: RAISE CZ_LCE_INCORRECT_SHIPPABLE;
10855: END IF; --ntShippableFlag = '1' AND ntSerializableFlag = '0';
10856: END IF; --Standard Item.

Line 10856: END IF; --Standard Item.

10852: -- All shippable items should be serializable trackable non-ATO standard items.'
10853:
10854: RAISE CZ_LCE_INCORRECT_SHIPPABLE;
10855: END IF; --ntShippableFlag = '1' AND ntSerializableFlag = '0';
10856: END IF; --Standard Item.
10857: END IF; --MACD Container.
10858:
10859: nDebug := 1110033;
10860:

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

10863: vLogicLine := 'BOM P_' || TO_CHAR(ntPersistentId(i)) || ' R ';
10864:
10865: --BOM modifier.
10866:
10867: IF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_STANDARD)THEN
10868: vLogicLine := vLogicLine || 'S';
10869: ELSIF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_OPTIONCLASS)THEN
10870: vLogicLine := vLogicLine || 'O';
10871: ELSIF(ntPsNodeType(i) = PS_NODE_TYPE_BOM_MODEL)THEN

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

10887: errorMessage := CZ_UTILS.GET_TEXT('CZ_S_UNKNOWN_BOM_NODE_TYPE', 'NODENAME', ntName(i));
10888: RAISE CZ_S_UNKNOWN_BOM_NODE_TYPE;
10889: END IF;
10890:
10891: IF(ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) AND
10892: glIbTrackable(ntPsNodeId(i)) = FLAG_IB_TRACKABLE)THEN
10893:
10894: --Trackable Standard Items/Option Classes are not allowed as immediate children of a
10895: --network container model.

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

10890:
10891: IF(ntPsNodeType(i) IN (PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD) AND
10892: glIbTrackable(ntPsNodeId(i)) = FLAG_IB_TRACKABLE)THEN
10893:
10894: --Trackable Standard Items/Option Classes are not allowed as immediate children of a
10895: --network container model.
10896:
10897: IF(thisProjectType = MODEL_TYPE_CONTAINER_MODEL AND
10898: glPsNodeType(glIndexByPsNodeId(ntParentId(i))) = PS_NODE_TYPE_BOM_MODEL)THEN

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

10901: nParam := glIndexByPsNodeId(ntPsNodeId(i));
10902: RAISE CZ_S_TRACKABLE_CHILDREN;
10903: END IF;
10904:
10905: --As this is a trackable Standard Item or Option Class we need to mark all of its
10906: --ancestors and make sure their quantities are not greater than 1, if the root is
10907: --a container model.
10908:
10909: IF(rootProjectType = MODEL_TYPE_CONTAINER_MODEL)THEN

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

10947:
10948: --Parent 'logic' name if any
10949:
10950: IF(ntParentId(i) IS NOT NULL AND
10951: glPsNodeType(glIndexByPsNodeId(ntParentId(i))) IN (PS_NODE_TYPE_BOM_MODEL, PS_NODE_TYPE_BOM_OPTIONCLASS, PS_NODE_TYPE_BOM_STANDARD))THEN
10952:
10953: --Fix for the bug #1745394. If a BOM parent is of decimal quantity and it's child is of
10954: --integer quantity, fatal error will be raised.
10955:

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

11273: END;
11274: ---------------------------------------------------------------------------------------
11275: BEGIN --GENERATE_LOGIC_
11276:
11277: --Bug #4587682. Save current nls numeric characters and set the standard characters.
11278:
11279: SELECT value INTO StoreNlsCharacters FROM NLS_SESSION_PARAMETERS
11280: WHERE UPPER(parameter) = 'NLS_NUMERIC_CHARACTERS';
11281:

Line 11542: WHEN CZ_S_TRACKABLE_STANDARD THEN

11538: WHEN CZ_S_TRACKABLE_CHILDREN THEN
11539: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable BOM item cannot be a direct child of a Container Model.'
11540: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_CHILDREN', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11541: ROLLBACK_HEADERS;
11542: WHEN CZ_S_TRACKABLE_STANDARD THEN
11543: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable Standard Item cannot be
11544: -- a direct child of a non-trackable ATO or PTO BOM Model that is referenced by a Container Model.'
11545: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_STANDARD', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11546: ROLLBACK_HEADERS;

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

11539: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable BOM item cannot be a direct child of a Container Model.'
11540: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_CHILDREN', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11541: ROLLBACK_HEADERS;
11542: WHEN CZ_S_TRACKABLE_STANDARD THEN
11543: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable Standard Item cannot be
11544: -- a direct child of a non-trackable ATO or PTO BOM Model that is referenced by a Container Model.'
11545: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_STANDARD', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11546: ROLLBACK_HEADERS;
11547: WHEN CZ_S_MULTIPLE_TRACKABLE THEN

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

11541: ROLLBACK_HEADERS;
11542: WHEN CZ_S_TRACKABLE_STANDARD THEN
11543: --'Invalid Model structure: ''%CHILDNAME'' is a direct child of ''%MODELNAME''. A trackable Standard Item cannot be
11544: -- a direct child of a non-trackable ATO or PTO BOM Model that is referenced by a Container Model.'
11545: REPORT(CZ_UTILS.GET_TEXT('CZ_S_TRACKABLE_STANDARD', 'CHILDNAME', glName(nParam), 'MODELNAME', errorMessage), 0);
11546: ROLLBACK_HEADERS;
11547: WHEN CZ_S_MULTIPLE_TRACKABLE THEN
11548: --'Invalid Model structure: Multiple references exist to the trackable instance ''%CHILDNAME''.'
11549: REPORT(CZ_UTILS.GET_TEXT('CZ_S_MULTIPLE_TRACKABLE', 'CHILDNAME', errorMessage), 0);

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

11596: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_MODEL_OUTOFDATE', 'MODELNAME', errorMessage), 0);
11597: ROLLBACK_HEADERS;
11598: WHEN CZ_LCE_INCORRECT_BOM THEN
11599: --'Incorrect BOM Model or Option Class ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11600: -- Only BOM Standard Items can be shippable and inventory transactable.'
11601: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_BOM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11602: ROLLBACK_HEADERS;
11603: WHEN CZ_LCE_INCORRECT_ITEM THEN
11604: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

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

11600: -- Only BOM Standard Items can be shippable and inventory transactable.'
11601: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_BOM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11602: ROLLBACK_HEADERS;
11603: WHEN CZ_LCE_INCORRECT_ITEM THEN
11604: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11605: -- All shippable items should be inventory transactable and vice versa.'
11606: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_ITEM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11607: ROLLBACK_HEADERS;
11608: WHEN CZ_LCE_INCORRECT_TANGIBLE THEN

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

11605: -- All shippable items should be inventory transactable and vice versa.'
11606: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_ITEM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11607: ROLLBACK_HEADERS;
11608: WHEN CZ_LCE_INCORRECT_TANGIBLE THEN
11609: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11610: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
11611: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_TANGIBLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11612: ROLLBACK_HEADERS;
11613: WHEN CZ_LCE_INCORRECT_SHIPPABLE THEN

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

11606: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_ITEM', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11607: ROLLBACK_HEADERS;
11608: WHEN CZ_LCE_INCORRECT_TANGIBLE THEN
11609: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11610: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
11611: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_TANGIBLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11612: ROLLBACK_HEADERS;
11613: WHEN CZ_LCE_INCORRECT_SHIPPABLE THEN
11614: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.

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

11610: -- All shippable items should be trackable non-ATO standard items with maximum quantity 1.'
11611: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_TANGIBLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11612: ROLLBACK_HEADERS;
11613: WHEN CZ_LCE_INCORRECT_SHIPPABLE THEN
11614: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11615: -- All shippable items should be serializable trackable non-ATO standard items.'
11616: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_SHIPPABLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11617: ROLLBACK_HEADERS;
11618: WHEN CZ_G_INVALID_RULE_EXPLOSION THEN

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

11611: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_TANGIBLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11612: ROLLBACK_HEADERS;
11613: WHEN CZ_LCE_INCORRECT_SHIPPABLE THEN
11614: --'Incorrect BOM Standard Item ''%NODENAME'' with parent ''%PARENTNAME'' in BOM Model ''%MODELNAME''.
11615: -- All shippable items should be serializable trackable non-ATO standard items.'
11616: REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_INCORRECT_SHIPPABLE', 'NODENAME', thisName, 'PARENTNAME', parentName, 'MODELNAME', errorMessage), 0);
11617: ROLLBACK_HEADERS;
11618: WHEN CZ_G_INVALID_RULE_EXPLOSION THEN
11619: --'Internal data error. Unable to continue because of invalid data in rule ''%RULENAME''. Disable or delete the rule to generate logic.'