FUNCTION acyclic_product_category_relationship
(* SCHEMA integrated_cnc_schema; *)
FUNCTION acyclic_product_category_relationship (
relation : product_category_relationship;
children : SET OF product_category
) : BOOLEAN;
LOCAL
x : SET OF product_category_relationship;
local_children : SET OF product_category;
END_LOCAL;
REPEAT i := 1 TO HIINDEX(children);
IF relation.category :=: children[i] THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
x := bag_to_set(USEDIN(relation.category, 'INTEGRATED_CNC_SCHEMA.' +
'PRODUCT_CATEGORY_RELATIONSHIP.SUB_CATEGORY'));
local_children := children + relation.category;
IF SIZEOF(x) > 0 THEN
REPEAT i := 1 TO HIINDEX(x);
IF NOT acyclic_product_category_relationship(x[i], local_children)
THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
RETURN (TRUE);
END_FUNCTION; -- 10303-41: product_definition_schema
Referenced By
Defintion acyclic_product_category_relationship is references by the following definitions:
[Top Level Definitions] Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:25-02:00