RULE simple_list_of_files_constraint

(* SCHEMA step_merged_ap_schema; *)
-- IN AP232
RULE simple_list_of_files_constraint FOR (applied_document_reference );
   LOCAL
      drt : SET OF document_representation_type;
      dri : SET OF document_reference_item;
      adr : SET OF applied_document_reference;
      nameok : BOOLEAN;
      result : BOOLEAN := TRUE;
   END_LOCAL;
      adr := applied_document_reference;
      REPEAT i := 1 TO SIZEOF(adr) BY 1;
         IF EXISTS(adr[i]\document_reference.role) THEN
            IF adr[i]\document_reference.role.name = 'list of files' THEN
               dri := adr[i].items;
               IF SIZEOF(dri) < 1 THEN
                  result := FALSE;
               END_IF;
               REPEAT j := 1 TO SIZEOF(dri) BY 1;
                  IF NOT ('STEP_MERGED_AP_SCHEMA.DOCUMENT_FILE' IN TYPEOF(dri[j])) THEN
                     result := FALSE;
                  END_IF;
                  drt := dri[j].representation_types;
                  nameok := FALSE;
                  REPEAT k := 1 TO SIZEOF(drt) BY 1;
                     IF (drt[k].name = 'digital') OR (drt[k].name = 'physical') THEN
                        nameok := TRUE;
                     END_IF;
                  END_REPEAT;
                  IF NOT nameok THEN
                     result := FALSE;
                  END_IF;
               END_REPEAT;
            END_IF;
         END_IF;
      END_REPEAT;
   WHERE
      wr1:
         result;
END_RULE;

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00