FUNCTION unambiguously_specified_multi_level_reference_designator

(* SCHEMA step_merged_ap_schema; *)
-- IN AP238 STEP-NC/AP242
FUNCTION unambiguously_specified_multi_level_reference_designator
      (links : LIST [1:?] OF next_assembly_usage_occurrence ) : BOOLEAN;
      REPEAT i := 1 TO SIZEOF(links) - 1;
         CASE TRUE OF
            (('STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.relating_product_definition)) AND ('STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition))) AND ('STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(links[(i + 1)]\product_definition_relationship.relating_product_definition)) :
                  BEGIN
                     IF NOT ((links[i]\product_definition_relationship.related_product_definition :=: links[(i + 1)]\product_definition_relationship.relating_product_definition) OR (SIZEOF(QUERY (pdr <* USEDIN(links[i]\product_definition_relationship.related_product_definition, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION')| (pdr\product_definition_relationship.relating_product_definition :=: links[(i + 1)]\product_definition_relationship.relating_product_definition))) = 1) AND (links[i]\product_definition_relationship.related_product_definition\product_definition.formation\product_definition_formation.of_product :=: links[(i + 1)]\product_definition_relationship.relating_product_definition\product_definition.formation\product_definition_formation.of_product)) THEN
                        RETURN (FALSE);
                     END_IF;
                  END;
            ('STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) AND ('STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[(i + 1)]\product_definition_relationship.relating_product_definition)) :
                  BEGIN
                     IF NOT ((links[i]\product_definition_relationship.related_product_definition :=: links[(i + 1)]\product_definition_relationship.relating_product_definition) OR (((SIZEOF(QUERY (pdr <* USEDIN(links[i]\product_definition_relationship.related_product_definition, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION')| (pdr\product_definition_relationship.relating_product_definition :=: links[(i + 1)]\product_definition_relationship.relating_product_definition))) = 1) AND (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_id = links[(i + 1)]\product_definition_relationship.relating_product_definition\product_definition_reference.product_id)) AND (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.id_owning_organization_name = links[(i + 1)]\product_definition_relationship.relating_product_definition\product_definition_reference.id_owning_organization_name)) AND (links[i]\product_definition_relationship.related_product_definition\product_definition_reference.product_definition_id <> links[(i + 1)]\product_definition_relationship.relating_product_definition\product_definition_reference.product_definition_id)) THEN
                        RETURN (FALSE);
                     END_IF;
                  END;
            ('STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_REFERENCE' IN TYPEOF(links[i]\product_definition_relationship.relating_product_definition)) AND ('STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(links[i]\product_definition_relationship.related_product_definition)) :
                  RETURN (FALSE);
         OTHERWISE :
               RETURN (FALSE);
         END_CASE;
      END_REPEAT;
      RETURN (TRUE);
END_FUNCTION;

Referenced By

Defintion unambiguously_specified_multi_level_reference_designator is references by the following definitions:
DefinitionType
 multi_level_reference_designator ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2023-12-22T16:32:03-05:00