RULE versionable_object_has_one_version_id

(* SCHEMA ship_moulded_form_schema; *)
  RULE versionable_object_has_one_version_id FOR (
             applied_identification_assignment);

    LOCAL
      version_ids         : SET OF applied_identification_assignment := [];
      duplicate           : LOGICAL := FALSE;
      versionable_objects : BAG OF identification_item := [];
    END_LOCAL;
    version_ids := QUERY ( i <* applied_identification_assignment | (i.
        role.name = 'version identifier') );
    REPEAT i := 1 TO HIINDEX(version_ids) BY 1;
      versionable_objects := versionable_objects + version_ids[i].items;
    END_REPEAT;
    REPEAT i := 1 TO HIINDEX(versionable_objects) BY 1 WHILE NOT duplicate;
      REPEAT j := i + 1 TO HIINDEX(versionable_objects) BY 1 WHILE NOT 
          duplicate;
        duplicate := versionable_objects[i] :=: versionable_objects[j];
      END_REPEAT;
    END_REPEAT;

  WHERE
    wr1: (NOT duplicate);

  END_RULE; -- versionable_object_has_one_version_id

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:47-04:00