The following lines contain the word 'select', 'insert', 'update' or 'delete':
p_max_selected IN NUMBER) RETURN VARCHAR2 IS
l_req_nodes_counter NUMBER;
IF p_max_selected=1 THEN
RETURN '1'; -- it's mutex
ELSIF p_max_selected=-1 THEN
RETURN '0'; -- it's not mutex
SELECT COUNT(ps_node_id) INTO l_ps_counter FROM CZ_PS_NODES
WHERE parent_id=p_ps_node_id AND deleted_flag='0' AND rownum<3;
SELECT COUNT(ps_node_id) INTO l_req_nodes_counter FROM CZ_PS_NODES
WHERE parent_id=p_ps_node_id AND deleted_flag='0' AND
bom_required_flag='1';
IF ( l_req_nodes_counter+1 = p_max_selected ) THEN
RETURN '1'; -- it's mutex
l_max_selected NUMBER;
SELECT maximum_selected INTO l_max_selected FROM CZ_PS_NODES
WHERE ps_node_id=p_ps_node_id AND deleted_flag='0';
RETURN is_Mutex(p_ps_node_id, l_max_selected);
p_max_selected IN NUMBER,
x_mutex_flag OUT NOCOPY VARCHAR2) IS
BEGIN
x_mutex_flag := is_Mutex(p_ps_node_id,p_max_selected);
l_max_selected NUMBER;
SELECT maximum_selected INTO l_max_selected FROM CZ_PS_NODES
WHERE ps_node_id=p_ps_node_id AND deleted_flag='0';
x_mutex_flag := is_Mutex(p_ps_node_id, l_max_selected);
SELECT '1' INTO l_flag FROM CZ_PS_NODES a
WHERE a.parent_id=p_ps_node_id AND a.deleted_flag='0' AND
(
(a.ps_node_type IN(PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTION_CLASS))
OR
(a.ps_node_type=PS_NODE_TYPE_REFERENCE AND a.instantiable_flag=MANDATORY_EXPL_TYPE AND
EXISTS(SELECT NULL FROM CZ_PS_NODES b
WHERE b.devl_project_id=a.reference_id AND
b.deleted_flag='0' AND b.ps_node_type=PS_NODE_TYPE_BOM_MODEL))
)
AND rownum<2 ;
FOR l IN(SELECT ps_node_id,reference_id,ps_node_type,maximum,maximum_selected FROM CZ_PS_NODES
WHERE parent_id=p_ps_node_id AND deleted_flag='0')
LOOP
IF (l.maximum<>1 AND
l.ps_node_type IN(PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTION_CLASS,
PS_NODE_TYPE_BOM_STANDART_ITEM)) THEN
RETURN TRUE;
ELSIF (l.ps_node_type IN(PS_NODE_TYPE_REFERENCE) AND l.maximum_selected<>1) THEN
BEGIN
SELECT '1' INTO l_flag FROM dual
WHERE EXISTS(SELECT NULL FROM CZ_PS_NODES
WHERE ps_node_id=l.reference_id AND
deleted_flag='0' AND ps_node_type=PS_NODE_TYPE_BOM_MODEL);
FOR k IN(SELECT ps_node_id FROM CZ_PS_NODES
WHERE parent_id=l.reference_id AND deleted_flag='0' AND
ps_node_type IN(PS_NODE_TYPE_BOM_MODEL,PS_NODE_TYPE_BOM_OPTION_CLASS,
PS_NODE_TYPE_BOM_STANDART_ITEM) AND
maximum<>1 AND rownum<2)
LOOP
RETURN TRUE;
p_max_selected IN NUMBER)
RETURN NUMBER IS
v_model_type CZ_DEVL_PROJECTS.model_type%TYPE;
SELECT model_type INTO v_model_type FROM CZ_DEVL_PROJECTS
WHERE devl_project_id=p_reference_id AND deleted_flag='0';
SELECT ps_node_type INTO v_ps_node_type FROM CZ_PS_NODES
WHERE ps_node_id=p_reference_id AND deleted_flag='0';
SELECT model_type INTO v_model_type FROM CZ_DEVL_PROJECTS
WHERE devl_project_id=p_reference_id AND deleted_flag='0';
SELECT ps_node_type INTO v_ps_node_type FROM CZ_PS_NODES
WHERE ps_node_id=p_reference_id AND deleted_flag='0';
is_Mutex(p_ps_node_id,p_max_selected)='1' THEN
IF child_Nodes_Have_Quantities(p_ps_node_id) THEN
IF contains_Nested_BOM(p_ps_node_id) THEN
RETURN UBOM_NSTBOM_QMTX_TYPEID;
is_Mutex(p_ps_node_id,p_max_selected)='0' THEN
IF child_Nodes_Have_Quantities(p_ps_node_id) THEN
IF contains_Nested_BOM(p_ps_node_id) THEN
RETURN UBOM_NSTBOM_QNMTX_TYPEID;
SELECT persistent_node_id INTO l_persistent_node_id FROM CZ_PS_NODES
WHERE ps_node_id=p_ps_node_id;
p_max_selected IN NUMBER,
p_decimal_qty_flag IN VARCHAR2,
p_ib_trackable IN VARCHAR2,
p_devl_project_id IN NUMBER)
RETURN NUMBER IS
v_model_type CZ_DEVL_PROJECTS.model_type%TYPE;
SELECT NVL(config_engine_type,'L') INTO v_config_engine_type FROM CZ_DEVL_PROJECTS
WHERE devl_project_id=p_devl_project_id AND deleted_flag='0';
SELECT model_type INTO v_model_type FROM CZ_DEVL_PROJECTS
WHERE devl_project_id=p_reference_id AND deleted_flag='0';
SELECT model_type INTO v_model_type FROM CZ_DEVL_PROJECTS
WHERE devl_project_id=p_reference_id AND deleted_flag='0';
SELECT model_type INTO v_model_type FROM CZ_DEVL_PROJECTS
WHERE devl_project_id=p_reference_id AND deleted_flag='0';
ELSIF p_ps_node_type=PS_NODE_TYPE_BOM_MODEL AND NVL(p_max_selected,-1)=1 THEN
IF(p_ib_trackable = '1')THEN RETURN TRACKABLE_MODEL_MTX_TYPEID;
ELSIF p_ps_node_type=PS_NODE_TYPE_BOM_MODEL AND NVL(p_max_selected,-1)<>1 THEN
IF(p_ib_trackable = '1')THEN RETURN TRACKABLE_MODEL_NMTX_TYPEID;
ELSIF p_ps_node_type=PS_NODE_TYPE_BOM_OPTION_CLASS AND NVL(p_max_selected,-1)=1 THEN
IF(p_ib_trackable = '1')THEN RETURN TRACKABLE_OC_MTX_TYPEID;
ELSIF p_ps_node_type=PS_NODE_TYPE_BOM_OPTION_CLASS AND NVL(p_max_selected,-1)<>1 THEN
IF(p_ib_trackable = '1')THEN RETURN TRACKABLE_OC_NMTX_TYPEID;
SELECT 1
INTO retval
FROM dual
WHERE EXISTS (
SELECT *
FROM CZ_NODE_NO_PROPERTIES_V lov
WHERE lov.ps_node_id = p_ps_node_id
AND lov.data_type = p_exp_data_type
AND lov.mutable_flag >= Nvl(p_exp_mutable_flag,0)
AND lov.collection_flag <= Nvl(p_exp_collection_flag,0)
);
SELECT 1
INTO retval
FROM dual
WHERE EXISTS (
SELECT *
FROM CZ_NODE_USER_PROPERTIES_V lov
WHERE lov.ps_node_id = p_ps_node_id
AND lov.data_type = p_exp_data_type
AND lov.mutable_flag >= Nvl(p_exp_mutable_flag,0)
AND lov.collection_flag <= Nvl(p_exp_collection_flag,0)
);
SELECT 1
INTO retval
FROM dual
WHERE EXISTS (
SELECT *
FROM CZ_NODE_CAPTION_PROPERTIES_V lov
WHERE lov.ps_node_id = p_ps_node_id
AND lov.data_type = p_exp_data_type
AND lov.mutable_flag >= Nvl(p_exp_mutable_flag,0)
AND lov.collection_flag <= Nvl(p_exp_collection_flag,0)
AND lov.property_type <> -1
);
SELECT signature_type
INTO sig_type
FROM cz_data_types_v
WHERE signature_id = p_data_type;