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:
DefinitionType
 product_category_relationship ENTITY


[Top Level Definitions]

Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:25-02:00