The following lines contain the word 'select', 'insert', 'update' or 'delete':
TYPE tMinimumSel IS TABLE OF cz_ps_nodes.minimum_selected%TYPE INDEX BY VARCHAR2(15); --kdande; Bug 6881902; 11-Mar-2008
TYPE tMaximumSel IS TABLE OF cz_ps_nodes.maximum_selected%TYPE INDEX BY VARCHAR2(15); --kdande; Bug 6881902; 11-Mar-2008
GenerateUpdatedOnly PLS_INTEGER;
logicSQL VARCHAR2(4000) := 'SELECT proj.devl_project_id, proj.last_logic_update, head.creation_date' ||
' FROM cz_devl_projects proj, cz_model_ref_expls expl, cz_lce_headers head' ||
' WHERE proj.deleted_flag = ''' || FLAG_NOT_DELETED ||
''' AND expl.deleted_flag = ''' || FLAG_NOT_DELETED ||
''' AND head.deleted_flag = ''' || FLAG_NOT_DELETED ||
''' AND expl.node_depth = 1' ||
' AND expl.model_id = :1' ||
' AND head.net_type = 1' ||
' AND proj.devl_project_id = expl.component_id' ||
' AND proj.devl_project_id = head.component_id';
'SELECT 1 FROM DUAL WHERE EXISTS' ||
' (SELECT model_id FROM cz_model_ref_expls' ||
' WHERE deleted_flag = ''' || FLAG_NOT_DELETED || '''' ||
' AND ps_node_type IN (' || PS_NODE_TYPE_REFERENCE || ', ' || PS_NODE_TYPE_CONNECTOR || ')' ||
' AND component_id = :1' ||
' AND (SELECT model_type FROM cz_devl_projects' ||
' WHERE devl_project_id = model_id) = ''' || MODEL_TYPE_CONTAINER_MODEL || ''')';
SELECT cz_lce_headers_s.NEXTVAL INTO last_id_allocated FROM DUAL;
INSERT INTO cz_db_logs (message, statuscode, caller, urgency, run_id)
VALUES (inMessage, nDebug, 'Logic Generator', inUrgency, thisRunId);
TYPE tMinimumSel IS TABLE OF cz_ps_nodes.minimum_selected%TYPE INDEX BY BINARY_INTEGER;
TYPE tMaximumSel IS TABLE OF cz_ps_nodes.maximum_selected%TYPE INDEX BY BINARY_INTEGER;
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nStructureHeaderId, nSequenceNbr, vLogicText);
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nStructureHeaderId, nSequenceNbr, vLogicText);
UPDATE cz_ps_nodes SET
accumulator_flag = TO_CHAR(TO_NUMBER(UTL_RAW.BIT_AND(ntAccumulator(j), FLAG_ACCUMULATOR_ACC)))
WHERE ps_node_id = ntPsNodeId(j);
SELECT rule_id, rule_type, antecedent_id, consequent_id, name, reason_id,
expr_rule_type, rule_folder_id, component_id, model_ref_expl_id,
effective_from, effective_until, effective_usage_mask, effectivity_set_id,
unsatisfied_msg_id, unsatisfied_msg_source, presentation_flag, class_name
FROM cz_rules
WHERE devl_project_id = inComponentId
AND deleted_flag = FLAG_NOT_DELETED
AND disabled_flag = FLAG_NOT_DISABLED;
SELECT NVL(TO_CHAR(def_num_value), def_value), data_type INTO l_def_value, x_data_type
FROM cz_properties
WHERE property_id = p_property_id
AND deleted_flag = FLAG_NOT_DELETED;
SELECT NVL(TO_CHAR(data_num_value), data_value) BULK COLLECT INTO l_tab
FROM cz_ps_prop_vals
WHERE ps_node_id = p_node_id
AND property_id = p_property_id
AND deleted_flag = FLAG_NOT_DELETED;
SELECT NVL(TO_CHAR(property_num_value), property_value) BULK COLLECT INTO l_tab
FROM cz_item_property_values
WHERE property_id = p_property_id
AND item_id = p_item_id
AND deleted_flag = FLAG_NOT_DELETED;
SELECT NULL BULK COLLECT INTO l_tab
FROM cz_item_type_properties t, cz_item_masters m
WHERE m.item_id = p_item_id
AND m.deleted_flag = FLAG_NOT_DELETED
AND t.deleted_flag = FLAG_NOT_DELETED
AND t.property_id = p_property_id
AND t.item_type_id = m.item_type_id;
SELECT localized_str INTO l_tab(1) FROM cz_localized_texts
WHERE intl_text_id = l_tab(1) AND language = USERENV('LANG');
SELECT localized_str INTO l_tab(1) FROM cz_localized_texts
WHERE intl_text_id = l_def_value AND language = USERENV('LANG');
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nHeaderId, v_tSequenceNbr(nHeaderId), vLogicText);
FOR folder IN (SELECT name FROM cz_rule_folders
WHERE deleted_flag = FLAG_NOT_DELETED
AND parent_rule_folder_id IS NOT NULL
START WITH rule_folder_id = nRuleFolderId
AND object_type = 'RFL'
CONNECT BY PRIOR parent_rule_folder_id = rule_folder_id
AND object_type = 'RFL')LOOP
IF(LENGTHB(folder.name) + LENGTHB(vQualified) + 1 < 2000 - nRuleName)THEN
vQualified := '.' || folder.name || vQualified;
FOR folder IN (SELECT name FROM cz_rule_folders
WHERE deleted_flag = FLAG_NOT_DELETED
AND parent_rule_folder_id IS NOT NULL
START WITH rule_folder_id = inFolderId
CONNECT BY PRIOR parent_rule_folder_id = rule_folder_id)LOOP
IF(LENGTHB(folder.name) + LENGTHB(vQualified) + 1 < 2000 - nameLen)THEN
vQualified := '.' || folder.name || vQualified;
SELECT data_type INTO v_data_type FROM cz_signatures
WHERE deleted_flag = FLAG_NOT_DELETED
AND signature_id = p_signature_id;
SELECT NULL INTO v_null FROM cz_conversion_rels_v
WHERE object_type = p_object_type AND subject_type = p_subject_type;
SELECT data_type, mutable_flag, collection_flag INTO v_data_type, x_mutable, x_collection
FROM cz_signature_arguments
WHERE deleted_flag = FLAG_NOT_DELETED
AND argument_signature_id = p_signature_id
AND argument_index = p_param_index;
SELECT NULL INTO v_null
FROM cz_rul_typedpsn_v psn,
cz_conversion_rels_v cnv,
cz_system_property_rels_v rel,
cz_system_properties_v sys,
cz_conversion_rels_v cnv2
WHERE psn.detailed_type_id = cnv.object_type
AND cnv.subject_type = rel.subject_type
AND rel.object_type = sys.rule_id
AND rel.rel_type_code = 'SYS'
AND sys.data_type = cnv2.object_type
AND psn.ps_node_id = v_ps_node_id
AND sys.rule_id = p_rule_id
AND sys.mutable_flag >= v_mutable
AND sys.collection_flag <= v_collection
AND cnv2.subject_type = v_data_type;
SELECT NULL INTO v_null
FROM cz_rul_typedpsn_v psn,
cz_conversion_rels_v cnv,
cz_system_property_rels_v rel,
cz_system_properties_v sys,
cz_conversion_rels_v cnv2
WHERE psn.detailed_type_id = cnv.object_type
AND cnv.subject_type = rel.subject_type
AND rel.object_type = sys.rule_id
AND rel.rel_type_code = 'SYS'
AND sys.data_type = cnv2.object_type
AND psn.ps_node_id = v_ps_node_id
AND UPPER(sys.name) = p_rule_name
AND sys.mutable_flag >= v_mutable
AND sys.collection_flag <= v_collection
AND cnv2.subject_type = v_data_type;
SELECT ps_node_id, model_ref_expl_id, effective_from, effective_until
BULK COLLECT INTO l_node_id_tbl, l_expl_id_tbl, l_eff_from_tbl, l_eff_until_tbl
FROM cz_explmodel_nodes_v
WHERE model_id = inComponentId
AND parent_psnode_expl_id = p_expl_id
AND effective_parent_id = p_node_id
AND suppress_flag = '0'
AND name = p_node_tbl(p_index);
oper.DELETE;
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nHeaderId, v_tSequenceNbr(nHeaderId), vLogicText);
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(v_HeaderId, vSeqNbrByHeader(v_HeaderId), vLogicText);
UPDATE cz_ps_nodes SET
accumulator_flag = DECODE(glAccumulator(v_NodeId), FLAG_ACCUMULATOR_ACC, FLAG_ACCUMULATOR_BOTH, FLAG_ACCUMULATOR_NT)
WHERE ps_node_id = v_NodeId;
SELECT NULL INTO v_null FROM DUAL WHERE val1 LIKE val2;
SELECT NULL INTO v_null FROM DUAL WHERE val1 LIKE val2;
SELECT NULL INTO v_null FROM DUAL WHERE val1 NOT LIKE val2;
SELECT name INTO errorMessage
FROM cz_properties
WHERE property_id = propertyId;
ELSIF(sysPropName IN (RULE_SYS_PROP_MINVALUE, RULE_SYS_PROP_MINQUANTITY, RULE_SYS_PROP_MINSELECTED))THEN
v_return := glMinimum(optionIndex);
ELSIF(sysPropName IN (RULE_SYS_PROP_MAXVALUE, RULE_SYS_PROP_MAXQUANTITY, RULE_SYS_PROP_MAXSELECTED))THEN
v_return := glMaximum(optionIndex);
v_result.DELETE;
ELSIF(sysPropName = RULE_SYS_PROP_MINSELECTED)THEN
v_return(i) := TO_CHAR(glMinimumSel(optionIndex));
ELSIF(sysPropName = RULE_SYS_PROP_MAXSELECTED)THEN
v_return(i) := TO_CHAR(glMaximumSel(optionIndex));
SELECT name INTO errorMessage
FROM cz_properties
WHERE property_id = propertyId;
IF(h_SeededName(SysPropType) = RULE_SYS_PROP_SELECTION)THEN RETURN GENERATE_DYNAMIC; END IF;
IF(h_SeededName(SysPropType) <> RULE_SYS_PROP_SELECTION AND
(NOT APPLICABLE_SYS_PROP(j, NULL, SysPropType)))THEN
localString := h_ReportName(sysPropType);
SELECT name INTO errorMessage
FROM cz_properties
WHERE property_id = v_tExprPropertyId(j);
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nHeaderId, v_tSequenceNbr(nHeaderId), vLogicText);
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(v_HeaderId, vSeqNbrByHeader(v_HeaderId), vLogicText);
UPDATE cz_ps_nodes SET
accumulator_flag = DECODE(glAccumulator(v_NodeId), FLAG_ACCUMULATOR_NT, FLAG_ACCUMULATOR_BOTH, FLAG_ACCUMULATOR_ACC)
WHERE ps_node_id = v_NodeId;
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nHeaderId, v_tSequenceNbr(nHeaderId), vLogicText);
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(v_HeaderId, vSeqNbrByHeader(v_HeaderId), vLogicText);
UPDATE cz_ps_nodes SET
accumulator_flag = DECODE(glAccumulator(v_NodeId), FLAG_ACCUMULATOR_NT, FLAG_ACCUMULATOR_BOTH, FLAG_ACCUMULATOR_ACC)
WHERE ps_node_id = v_NodeId;
v_result.DELETE;
SELECT model_ref_expl_id, expr_type, expr_node_id, expr_parent_id, template_id,
express_id, expr_subtype, ps_node_id, data_value, property_id, argument_index,
argument_name, consequent_flag, data_num_value, data_type
BULK COLLECT INTO v_NodeId, v_Type, v_Id, v_ParentId, v_TemplateId,
v_ExpressId, v_Subtype, v_PsNodeId, v_DataValue, v_PropertyId, v_ArgumentIndex,
v_ArgumentName, v_ConsequentFlag, v_DataNumValue, v_DataType
FROM cz_expression_nodes
WHERE rule_id = p_template_id
AND expr_type <> EXPR_NODE_TYPE_PUNCT
AND deleted_flag = FLAG_NOT_DELETED
ORDER BY expr_parent_id, seq_nbr;
v_IndexByExprNodeId.DELETE;
v_NumberOfChildren.DELETE;
v_ChildrenIndex.DELETE;
IF(h_SeededName.EXISTS(v_tExprSubtype(nodeChild)) AND h_SeededName(v_tExprSubtype(nodeChild)) = RULE_SYS_PROP_SELECTION)THEN
featChild := v_ChildrenIndex(CurrentId);
v_return.DELETE;
v_return.DELETE;
v_return.DELETE;
v_result.DELETE;
v_record.DELETE;
v_iterin.DELETE;
SELECT data_type, name INTO DataType, PropName
FROM cz_properties
WHERE deleted_flag = FLAG_NOT_DELETED
AND property_id = v_tExprPropertyId(propChild);
SELECT property_id, data_type, name INTO propertyId, DataType, PropName
FROM cz_properties
WHERE deleted_flag = FLAG_NOT_DELETED
AND name = v_tExprDataValue(propChild);
SELECT data_type, name INTO DataType, PropName
FROM cz_system_properties_v
WHERE rule_id = v_tExprSubtype(propChild);
SQLInsert VARCHAR2(8000);
SQLSelect VARCHAR2(8000);
bind_node_id.DELETE;
bind_node_id_ex.DELETE;
bind_node_type.DELETE;
bind_node_value.DELETE;
bind_node_obj.DELETE;
bind_values.DELETE;
v_property_id.DELETE;
v_data_type.DELETE;
v_prop_name.DELETE;
v_flag.DELETE;
iterator.DELETE;
IF(SQLSelect IS NULL)THEN SQLSelect := 'SELECT '; ELSE SQLSelect := SQLSelect || ', '; END IF;
SQLSelect := SQLSelect || tableAlias || '.node_type, ' ||
tableAlias || '.node_id, ' ||
tableAlias || '.node_value, ' ||
tableAlias || '.node_obj, ' ||
tableAlias || '.node_id_ex';
IF(SQLSelect IS NULL)THEN SQLSelect := 'SELECT '; ELSE SQLSelect := SQLSelect || ', '; END IF;
SQLSelect := SQLSelect || tableAlias || '.node_type, ' ||
tableAlias || '.node_id, ' ||
tableAlias || '.node_value, ' ||
tableAlias || '.node_obj, ' ||
tableAlias || '.node_id_ex';
SQLInsert := 'INSERT INTO ' || tableName || '(node_type, node_id, node_value, node_obj, node_id_ex';
SQLInsert := SQLInsert || ', i_' || TO_CHAR(v_property_id(ii));
SQLInsert := SQLInsert || ')';
DBMS_SQL.PARSE(v_cursor, SQLInsert || SQLValues, DBMS_SQL.NATIVE);
DBMS_SQL.PARSE(v_cursor, SQLSelect || SQLFrom || SQLWhere, DBMS_SQL.NATIVE);
parameterScope.DELETE(v_stack_start, v_stack_end);
parameterName.DELETE(v_stack_start, v_stack_end);
SQLInsert VARCHAR2(8000);
SQLSelect VARCHAR2(8000);
DBMS_SQL.PARSE(v_cursor, SQLSelect || SQLFrom || SQLWhere, DBMS_SQL.NATIVE);
v_OptionExists.DELETE;
DBMS_SQL.PARSE(v_cursor, SQLSelect || SQLFrom || SQLWhere, DBMS_SQL.NATIVE);
v_option_a.DELETE;
v_option_b.DELETE;
FOR a IN (SELECT option_a, option_b FROM TABLE(v_options) ORDER BY option_a) LOOP
IF(a.option_a <> current_option)THEN
IF(current_option <> -1)THEN
--We just moved to the next option. current_option is still the previous option for
--which the generating of the compatible set mask is completed, and the actual mask
--is still in v_mask.
--Here either add the options to an existing compatibility group mask, or create a
--new compatibility group mask.
IF(NOT v_group_by_set_mask_a.EXISTS(v_mask))THEN init_group_mask_a(v_mask); END IF;
FOR b IN (SELECT option_a, option_b FROM TABLE(v_options) ORDER BY option_b) LOOP
IF(b.option_b <> current_option)THEN
IF(current_option <> -1)THEN
IF(NOT v_group_by_set_mask_b.EXISTS(v_mask))THEN init_group_mask_b(v_mask); END IF;
v_group_by_set_mask_b.DELETE(v_group);
v_OptionExists.DELETE;
bind_node_id.DELETE;
bind_values.DELETE;
v_property_id.DELETE;
v_data_type.DELETE;
v_prop_name.DELETE;
v_flag.DELETE;
iterator.DELETE;
IF(SQLSelect IS NULL)THEN SQLSelect := 'SELECT '; ELSE SQLSelect := SQLSelect || ', '; END IF;
SQLSelect := SQLSelect || tableAlias || '.node_id';
IF(SQLSelect IS NULL)THEN SQLSelect := 'SELECT '; ELSE SQLSelect := SQLSelect || ', '; END IF;
SQLSelect := SQLSelect || tableAlias || '.node_id';
SQLInsert := 'INSERT INTO ' || tableName || '(node_id';
SQLInsert := SQLInsert || ', i_' || TO_CHAR(v_property_id(ii));
SQLInsert := SQLInsert || ')';
DBMS_SQL.PARSE(v_cursor, SQLInsert || SQLValues, DBMS_SQL.NATIVE);
v_tOptionId.DELETE;
v_OptionExists.DELETE;
SELECT secondary_opt_id BULK COLLECT INTO v_tOptionId
FROM cz_des_chart_cells
WHERE deleted_flag = FLAG_NOT_DELETED
AND rule_id = nRuleId
AND secondary_feature_id = v_tExprPsNodeId(i)
AND secondary_feat_expl_id = v_tExplNodeId(i);
SELECT primary_opt_id, primary_opt_id BULK COLLECT INTO v_tOptionId, v_tPrimaryOptId
FROM cz_des_chart_cells
WHERE rule_id = nRuleId
AND secondary_feature_id = vGridColumns(2)
AND secondary_feat_expl_id = v_tExplNodeId(vBackIndex(2))
AND deleted_flag = FLAG_NOT_DELETED
ORDER BY 1, 2;
RAISE CZ_R_NO_DEFINING_SELECTION;
v_tOptionId.DELETE;
v_tPrimaryId.DELETE;
v_OptionExists.DELETE;
SELECT secondary_opt_id, primary_opt_id BULK COLLECT INTO v_tOptionId, v_tPrimaryId
FROM cz_des_chart_cells
WHERE rule_id = nRuleId
AND secondary_feature_id = vGridColumns(i)
AND secondary_feat_expl_id = v_tExplNodeId(vBackIndex(i))
AND deleted_flag = FLAG_NOT_DELETED
ORDER BY primary_opt_id;
SELECT name INTO errorMessage FROM cz_ps_nodes
WHERE ps_node_id = v_tPrimaryId(n);
RAISE CZ_R_DELETED_OPTION;
SELECT name INTO errorMessage FROM cz_ps_nodes
WHERE ps_node_id = v_tOptionId(n);
RAISE CZ_R_DELETED_OPTION;
vGridColumns.DELETE(2, vGridColumns.COUNT);
vBackIndex.DELETE(2, vBackIndex.COUNT);
SELECT rule_id, signature_id, name BULK COLLECT INTO t_RuleId, t_SignatureId, t_RuleName
FROM cz_rules
WHERE devl_project_id = 0
AND seeded_flag = FLAG_SEEDED
AND deleted_flag = FLAG_NOT_DELETED
AND disabled_flag = FLAG_NOT_DISABLED;
FOR c_func IN (SELECT component_id, model_ref_expl_id, program_string, name, rule_folder_id
FROM cz_func_comp_specs
WHERE devl_project_id = inComponentId
AND deleted_flag = FLAG_NOT_DELETED) LOOP
IF(c_func.component_id IS NULL)THEN
--'Incomplete data: No base component specified for functional companion ''%COMPANION'' in model ''%MODELNAME''.'
REPORT(CZ_UTILS.GET_TEXT('CZ_LCE_FC_BASE_COMPONENT', 'COMPANION', COMPANION_NAME(c_func.name, c_func.rule_folder_id), 'MODELNAME', glName(glIndexByPsNodeId(inComponentId))), 1);
INSERT INTO cz_lce_headers
(lce_header_id, gen_version, gen_header, component_id, net_type,
devl_project_id, model_ref_expl_id, nbr_required_expls, deleted_flag)
VALUES
(nHeaderId, VersionString, GenHeader, v_tPsNodeId(i), LOGIC_NET_TYPE_MANDATORY,
thisProjectId, v_NodeId(i), 1, FLAG_PENDING);
INSERT INTO cz_lce_load_specs
(attachment_expl_id, lce_header_id, required_expl_id, attachment_comp_id,
model_id, net_type, deleted_flag)
VALUES
(v_NodeId(i), nHeaderId, v_NodeId(i), v_tPsNodeId(i), thisProjectId,
LOGIC_NET_TYPE_MANDATORY, FLAG_PENDING);
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES (nHeaderId, 1, vLogicLine);
v_NodeIndexPath.DELETE; --reset the table
v_tExplNodeId.DELETE;
v_tExprType.DELETE;
v_tExprSubtype.DELETE;
v_tExprId.DELETE;
v_tExprParentId.DELETE;
v_tExprTemplateId.DELETE;
v_tExpressId.DELETE;
v_tExprPsNodeId.DELETE;
v_tRealPsNodeId.DELETE;
v_tExprDataValue.DELETE;
v_tExprPropertyId.DELETE;
v_tConsequentFlag.DELETE;
v_tExprParamIndex.DELETE;
v_tExprArgumentName.DELETE;
v_tExprDataType.DELETE;
v_tExprDataNumValue.DELETE;
v_tExprArgSignature.DELETE;
v_tExprParSignature.DELETE;
v_tArgumentIndex.DELETE;
v_tDataType.DELETE;
v_tArgumentName.DELETE;
v_InstByLevel.DELETE;
v_Assignable.DELETE;
v_Participant.DELETE;
v_DistinctIndex.DELETE;
v_ParticipantIndex.DELETE;
v_RuleConnectorNet.DELETE;
v_LevelCount.DELETE;
v_LevelIndex.DELETE;
v_LevelType.DELETE;
v_MarkLoadCondition.DELETE;
v_LoadConditionId.DELETE;
v_ChildrenIndex.DELETE;
v_NodeUpPath.DELETE;
v_IndexByExprNodeId.DELETE;
v_NumberOfChildren.DELETE;
v_ExplByPsNodeId.DELETE;
v_RelativeNodePath.DELETE;
parameterScope.DELETE;
parameterName.DELETE;
SELECT model_ref_expl_id, expr_type, expr_node_id, expr_parent_id, template_id,
express_id, expr_subtype, ps_node_id, data_value, property_id, consequent_flag,
param_index, argument_name, data_type, data_num_value, param_signature_id,
relative_node_path
BULK COLLECT INTO v_tExplNodeId, v_tExprType, v_tExprId, v_tExprParentId, v_tExprTemplateId,
v_tExpressId, v_tExprSubtype, v_tExprPsNodeId, v_tExprDataValue,
v_tExprPropertyId, v_tConsequentFlag, v_tExprParamIndex, v_tExprArgumentName,
v_tExprDataType, v_tExprDataNumValue, v_tExprParSignature,
v_RelativeNodePath
FROM cz_expression_nodes
WHERE rule_id = nRuleId
AND expr_type <> EXPR_NODE_TYPE_PUNCT
AND deleted_flag = FLAG_NOT_DELETED
ORDER BY expr_parent_id, seq_nbr;
SELECT model_ref_expl_id, feature_id, EXPR_NODE_TYPE_NODE
BULK COLLECT INTO v_tExplNodeId, v_tExprPsNodeId, v_tExprType
FROM cz_des_chart_features
WHERE rule_id = nRuleId
AND deleted_flag = FLAG_NOT_DELETED;
SELECT model_ref_expl_id, feature_id, feature_type, EXPR_NODE_TYPE_NODE
BULK COLLECT INTO v_tExplNodeId, v_tExprPsNodeId, v_tFeatureType, v_tExprType
FROM cz_des_chart_features
WHERE rule_id = nRuleId
AND deleted_flag = FLAG_NOT_DELETED;
INSERT INTO cz_lce_headers
(lce_header_id, gen_version, gen_header, component_id, net_type,
devl_project_id, model_ref_expl_id, nbr_required_expls, deleted_flag)
VALUES
(nHeaderId, VersionString, GenHeader, v_tPsNodeId(v_IndexByNodeId(MaxDepthId)),
logicNetType, thisProjectId, MaxDepthId, nCounter, FLAG_PENDING);
INSERT INTO cz_lce_load_specs
(attachment_expl_id, lce_header_id, required_expl_id, attachment_comp_id,
model_id, net_type, deleted_flag, alias_name)
VALUES
(MaxDepthId, nHeaderId, nAux, v_tPsNodeId(v_IndexByNodeId(MaxDepthId)),
thisProjectId, logicNetType, FLAG_PENDING,
DECODE(v_tExplNodeType(v_IndexByNodeId(nAux)), EXPL_NODE_TYPE_CONNECTOR, 'C_' || nAux, NULL));
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nPreviousHeaderId, v_tSequenceNbr(nPreviousHeaderId), vLogicText);
WHEN CZ_R_NO_DEFINING_SELECTION THEN
--'No selection made between primary and defining feature in design chart rule, rule ''%RULENAME'' ignored'
REPORT(CZ_UTILS.GET_TEXT('CZ_R_NO_DEFINING_SELECTION', 'RULENAME', RULE_NAME), 1);
WHEN CZ_R_DELETED_OPTION THEN
--'The Model structure has changed and the Design Chart rule ''%RULENAME'' now contains deleted node ''%NODENAME''.
-- The rule will be ignored.'
REPORT(CZ_UTILS.GET_TEXT('CZ_R_DELETED_OPTION', 'RULENAME', RULE_NAME, 'NODENAME', errorMessage), 1);
INSERT INTO cz_lce_headers
(lce_header_id, gen_version, gen_header, component_id, net_type,
devl_project_id, model_ref_expl_id, nbr_required_expls, deleted_flag)
VALUES
(nHeaderId, VersionString, GenHeader, inComponentId, LOGIC_NET_TYPE_MANDATORY,
thisProjectId, thisComponentExplId, 1, FLAG_PENDING);
INSERT INTO cz_lce_load_specs
(attachment_expl_id, lce_header_id, required_expl_id, attachment_comp_id,
model_id, net_type, deleted_flag)
VALUES
(thisComponentExplId, nHeaderId, thisComponentExplId, inComponentId,
thisProjectId, LOGIC_NET_TYPE_MANDATORY, FLAG_PENDING);
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nPreviousHeaderId, v_tSequenceNbr(nPreviousHeaderId), vLogicText);
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nHeaderId, v_tSequenceNbr(nHeaderId), vLogicText);
SELECT name, model_type INTO thisProjectName, thisProjectType
FROM cz_devl_projects
WHERE devl_project_id = inComponentId;
SELECT model_ref_expl_id, parent_expl_node_id, node_depth,
ps_node_type, virtual_flag, component_id, referring_node_id,
child_model_expl_id, expl_node_type
BULK COLLECT INTO v_NodeId, v_tParentId, v_tNodeDepth,
v_tNodeType, v_tVirtualFlag, v_tPsNodeId, v_tReferringId,
v_tChildModelExpl, v_tExplNodeType
FROM cz_model_ref_expls
WHERE model_id = inComponentId AND deleted_flag = FLAG_NOT_DELETED;
INSERT INTO cz_lce_headers
(lce_header_id, gen_version, gen_header, component_id, net_type,
devl_project_id, model_ref_expl_id, nbr_required_expls, deleted_flag)
VALUES
(nStructureHeaderId, VersionString, GenHeader, inComponentId, LOGIC_NET_TYPE_STRUCTURE,
thisProjectId, thisComponentExplId, 1, FLAG_PENDING);
INSERT INTO cz_lce_load_specs
(attachment_expl_id, lce_header_id, required_expl_id, attachment_comp_id,
model_id, net_type, deleted_flag)
VALUES
(thisComponentExplId, nStructureHeaderId, thisComponentExplId, inComponentId,
thisProjectId, LOGIC_NET_TYPE_STRUCTURE, FLAG_PENDING);
SELECT head.lce_header_id, max(text.seq_nbr) INTO nStructureHeaderId, nSequenceNbr
FROM cz_lce_headers head, cz_lce_texts text
WHERE head.deleted_flag = FLAG_NOT_DELETED
AND head.net_type = LOGIC_NET_TYPE_STRUCTURE
AND head.component_id = inComponentId
AND head.lce_header_id = text.lce_header_id
GROUP BY head.lce_header_id;
SELECT ps_node_id, parent_id, item_id, minimum, maximum, name, intl_text_id, minimum_selected,
maximum_selected, ps_node_type, initial_value, virtual_flag, feature_type, bom_required_flag,
reference_id, persistent_node_id, effective_from, effective_until, effective_usage_mask,
effectivity_set_id, decimal_qty_flag, ib_trackable, accumulator_flag, initial_num_value,
instantiable_flag, shippable_item_flag, inventory_transactable_flag, assemble_to_order_flag,
serializable_item_flag
BULK COLLECT INTO
ntPsNodeId, ntParentId, ntItemId, ntMinimum, ntMaximum, ntName, ntDescriptionId, ntMinimumSel,
ntMaximumSel, ntPsNodeType, ntInitialValue, ntVirtualFlag, ntFeatureType, ntBomRequired,
ntReferenceId, ntPersistentId, dtEffFrom, dtEffUntil, vtUsageMask,
ntEffSetId, ntDecimalQty, ntIbTrackable, ntAccumulator, ntInitialNumValue,
ntInstantiableFlag, ntShippableFlag, ntTransactableFlag, ntAtoFlag, ntSerializableFlag
FROM cz_ps_nodes
WHERE deleted_flag = FLAG_NOT_DELETED
START WITH ps_node_id = inComponentId
CONNECT BY PRIOR ps_node_id = parent_id
AND (PRIOR virtual_flag IS NULL OR PRIOR virtual_flag = FLAG_VIRTUAL OR
PRIOR ps_node_id = inComponentId);
INSERT INTO cz_lce_texts (lce_header_id, seq_nbr, lce_text) VALUES
(nStructureHeaderId, nSequenceNbr, vLogicText);
localOldHeaders.DELETE;
SELECT lce_header_id BULK COLLECT INTO localOldHeaders FROM cz_lce_headers
WHERE deleted_flag = FLAG_NOT_DELETED
AND devl_project_id = NewHeadersComponents(i);
UPDATE cz_lce_headers SET deleted_flag = FLAG_DELETED
WHERE lce_header_id = OldHeaders(i);
UPDATE cz_lce_load_specs SET deleted_flag = FLAG_DELETED
WHERE lce_header_id = OldHeaders(i);
UPDATE cz_lce_headers SET deleted_flag = FLAG_NOT_DELETED
WHERE lce_header_id = NewHeaders(i);
UPDATE cz_lce_load_specs SET deleted_flag = FLAG_NOT_DELETED
WHERE lce_header_id = NewHeaders(i);
UPDATE cz_lce_headers SET deleted_flag = FLAG_DELETED
WHERE lce_header_id = NewHeaders(i);
UPDATE cz_lce_load_specs SET deleted_flag = FLAG_DELETED
WHERE lce_header_id = NewHeaders(i);
UPDATE cz_lce_headers SET deleted_flag = FLAG_NOT_DELETED
WHERE lce_header_id = OldHeaders(i);
UPDATE cz_lce_load_specs SET deleted_flag = FLAG_NOT_DELETED
WHERE lce_header_id = OldHeaders(i);
FUNCTION CHECK_DATES(inModelId IN NUMBER, inLogicUpdate IN DATE, inHeaderCreated IN DATE)
RETURN PLS_INTEGER IS
c_model refCursor;
childLogicUpdate cz_devl_projects.last_logic_update%TYPE;
FETCH c_model INTO childModelId, childLogicUpdate, childHeaderCreated;
childFlag := CHECK_DATES(childModelId, childLogicUpdate, childHeaderCreated);
(childFlag = GENERATION_REQUIRED OR inHeaderCreated < childLogicUpdate))THEN
thisFlag := GENERATION_REQUIRED;
IF(thisFlag = GENERATION_NOT_REQUIRED AND inHeaderCreated < inLogicUpdate)THEN
thisFlag := GENERATION_REQUIRED;
SELECT value INTO StoreNlsCharacters FROM NLS_SESSION_PARAMETERS
WHERE UPPER(parameter) = 'NLS_NUMERIC_CHARACTERS';
SELECT TO_NUMBER(value) INTO CommitBlockSize
FROM cz_db_settings
WHERE LOWER(setting_id) = COMMIT_BLOCK_SETTING_ID
AND LOWER(section_name) = DBSETTINGS_SECTION_NAME;
SELECT DECODE(LOWER(value), '1', 1, 'on', 1, 'y', 1, 'yes', 1,'true', 1, 'enable', 1,
'0', 0, 'off', 0, 'n', 0, 'no', 0,'false', 0, 'disable', 0,
0) --default value
INTO OptimizeNotTrue
FROM cz_db_settings
WHERE LOWER(setting_id) = OPTIMIZE_NOTTRUE_SETTING_ID
AND LOWER(section_name) = DBSETTINGS_SECTION_NAME;
SELECT DECODE(LOWER(value), '1', 1, 'on', 1, 'y', 1, 'yes', 1,'true', 1, 'enable', 1,
'0', 0, 'off', 0, 'n', 0, 'no', 0,'false', 0, 'disable', 0,
0) --default value
INTO OptimizeAllAnyOf
FROM cz_db_settings
WHERE LOWER(setting_id) = OPTIMIZE_ALLANYOF_SETTING_ID
AND LOWER(section_name) = DBSETTINGS_SECTION_NAME;
SELECT DECODE(LOWER(value), '1', 1, 'on', 1, 'y', 1, 'yes', 1,'true', 1, 'enable', 1,
'0', 0, 'off', 0, 'n', 0, 'no', 0,'false', 0, 'disable', 0,
0) --default value
INTO ChangeChildrenOrder
FROM cz_db_settings
WHERE LOWER(setting_id) = CHILDREN_ORDER_SETTING_ID
AND LOWER(section_name) = DBSETTINGS_SECTION_NAME;
SELECT DECODE(LOWER(value), '1', 1, 'on', 1, 'y', 1, 'yes', 1,'true', 1, 'enable', 1,
'0', 0, 'off', 0, 'n', 0, 'no', 0,'false', 0, 'disable', 0,
1) --default value
INTO GenerateGatedCombo
FROM cz_db_settings
WHERE LOWER(setting_id) = GATED_COMBO_SETTING_ID
AND LOWER(section_name) = DBSETTINGS_SECTION_NAME;
SELECT DECODE(LOWER(value), '1', 1, 'on', 1, 'y', 1, 'yes', 1,'true', 1, 'enable', 1,
'0', 0, 'off', 0, 'n', 0, 'no', 0,'false', 0, 'disable', 0,
1) --default value
INTO StopOnFatalRuleError
FROM cz_db_settings
WHERE LOWER(setting_id) = STOP_ON_ERROR_SETTING_ID
AND LOWER(section_name) = DBSETTINGS_SECTION_NAME;
SELECT DECODE(LOWER(value), '1', 1, 'on', 1, 'y', 1, 'yes', 1,'true', 1, 'enable', 1,
'0', 0, 'off', 0, 'n', 0, 'no', 0,'false', 0, 'disable', 0,
1) --default value
INTO GenerateUpdatedOnly
FROM cz_db_settings
WHERE LOWER(setting_id) = UPDATED_ONLY_SETTING_ID
AND LOWER(section_name) = DBSETTINGS_SECTION_NAME;
GenerateUpdatedOnly := 1;
SELECT cz_xfr_run_infos_s.NEXTVAL INTO thisRunId FROM DUAL;
SELECT effectivity_set_id, effective_from, effective_until
BULK COLLECT INTO gvSetId, gvEffFrom, gvEffUntil
FROM cz_effectivity_sets
WHERE deleted_flag = FLAG_NOT_DELETED;
l_locked_models.DELETE;
IF(GenerateUpdatedOnly = 1)THEN
--Have to always generate logic for the root model because the trigger updating
--last_logic_update column is commented out on cz_expression_nodes, and this is
--the only table Developer updates for some rule changes.
--This is why we do not care about the return value and pass the margin reverse
--dates.
nParam := CHECK_DATES(inDevlProjectId, EpochEndDate, EpochBeginDate);
SELECT config_engine_type INTO l_config_engine_type
FROM cz_devl_projects
WHERE deleted_flag = FLAG_NOT_DELETED
AND devl_project_id = inDevlProjectId;