RULE component_class_for_assembly_select FOR (composite_assembly_sequence_definition, next_assembly_usage_occurrence, product_related_product_category); LOCAL i,j,k : INTEGER :=0; dkuhr : LOGICAL :=TRUE; 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; -- component_class_for_assembly_select |
public class RComponent_class_for_assembly_select public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |