FUNCTION acyclic_product_definition_relationship

(* SCHEMA integrated_cnc_schema; *)
FUNCTION acyclic_product_definition_relationship (
    relation          : product_definition_relationship;
    relatives         : SET [1:?] OF product_definition;
    specific_relation : STRING 
    ) : BOOLEAN;
  LOCAL
    x : SET OF product_definition_relationship;
  END_LOCAL;
    IF relation.relating_product_definition IN relatives THEN
      RETURN (FALSE);
    END_IF;
    x := QUERY (pd <* bag_to_set(USEDIN(relation.
      relating_product_definition, 'INTEGRATED_CNC_SCHEMA.' + 
      'PRODUCT_DEFINITION_RELATIONSHIP.' + 'RELATED_PRODUCT_DEFINITION'))| 
      specific_relation IN TYPEOF(pd));
    REPEAT i := 1 TO HIINDEX(x);
      IF NOT acyclic_product_definition_relationship(x[i], (relatives + 
        relation.relating_product_definition), specific_relation) THEN
        RETURN (FALSE);
      END_IF;
    END_REPEAT;
    RETURN (TRUE);
END_FUNCTION; -- 10303-41: product_definition_schema

Referenced By

Defintion acyclic_product_definition_relationship is references by the following definitions:
DefinitionType
 product_definition_usage ENTITY


[Top Level Definitions]

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