RULE component_class_for_assembly_select

(* SCHEMA step_merged_ap_schema; *)
-- DIFF IN AP203e2
-- IN AP203e2/AP242
RULE component_class_for_assembly_select FOR (composite_assembly_sequence_definition, next_assembly_usage_occurrence, product_related_product_category );
   LOCAL
      i : INTEGER := 0;
      j : INTEGER := 0;
      k : INTEGER := 0;
      dkuhr : LOGICAL := FALSE;
      nnauo : INTEGER := 0;
      nprpc : INTEGER := 0;
      rp : product;
   END_LOCAL;
      REPEAT i := LOINDEX(composite_assembly_sequence_definition) TO HIINDEX(composite_assembly_sequence_definition);
         nnauo := 0;
         REPEAT j := LOINDEX(next_assembly_usage_occurrence) TO HIINDEX(next_assembly_usage_occurrence);
            IF composite_assembly_sequence_definition[i] = next_assembly_usage_occurrence[j].relating_product_definition THEN
               rp := next_assembly_usage_occurrence[j].related_product_definition.formation.of_product;
               nprpc := 0;
               REPEAT k := LOINDEX(product_related_product_category) TO HIINDEX(product_related_product_category);
                  IF (rp IN product_related_product_category[k].products) AND (product_related_product_category[k].name IN [ 'ply', 'ply laminate', 'filament laminate', 'processed core', 'composite assembly' ]) THEN
                     nprpc := nprpc + 1;
                  END_IF;
               END_REPEAT;
               IF nprpc = 1 THEN
                  nnauo := nnauo + 1;
               ELSE
                  dkuhr := FALSE;
                  ESCAPE;
               END_IF;
            END_IF;
         END_REPEAT;
         IF dkuhr = FALSE THEN
            ESCAPE;
         END_IF;
         IF nnauo = 0 THEN
            dkuhr := FALSE;
            ESCAPE;
         END_IF;
      END_REPEAT;
   WHERE
      WR1:
         dkuhr;
END_RULE;

[Top Level Definitions] [Exit]

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