FUNCTION acyclic_organization_relationship

(* SCHEMA STRUCTURAL_FRAME_SCHEMA; *)
(* Modified for LPM/6 *)
FUNCTION acyclic_organization_relationship
  (relation          : organization_relationship;
   relatives         : SET [1:?] OF organization;
   specific_relation : STRING) : BOOLEAN;
  LOCAL
    x                : SET OF organization_relationship;
  END_LOCAL;
  IF relation.relating_organization IN relatives THEN
    RETURN (FALSE);
  END_IF;
  x := QUERY (org <* bag_to_set
             (USEDIN (relation.relating_organization,
             'STRUCTURAL_FRAME_SCHEMA.' +
             'ORGANIZATION_RELATIONSHIP.' +
             'RELATED_ORGANIZATION')) |
              specific_relation IN TYPEOF (org));
  REPEAT i := 1 TO HIINDEX(x);
    IF NOT acyclic_organization_relationship
      (x[i], 
       relatives + relation.relating_organization, 
       specific_relation) THEN
      RETURN(FALSE);
    END_IF;
  END_REPEAT;
  RETURN(TRUE);
END_FUNCTION; (* STEP Part 41 (modified in 2nd edition)  *)

Referenced By

Defintion acyclic_organization_relationship is references by the following definitions:
DefinitionType
 organization_relationship_contractual ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2023-03-25T00:11:39-04:00