RULE thickness_laminate_table_component_select FOR (thickness_laminate_definition, next_assembly_usage_occurrence, product_related_product_category); LOCAL i,j,k : INTEGER; dkuhr : LOGICAL; nnauo : INTEGER; nprpc : INTEGER; rp : product; END_LOCAL; dkuhr := TRUE; REPEAT i:= LOINDEX (thickness_laminate_definition) TO HIINDEX (thickness_laminate_definition); nnauo := 0; REPEAT j:= LOINDEX (next_assembly_usage_occurrence) TO HIINDEX (next_assembly_usage_occurrence); IF (thickness_laminate_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', 'filament laminate', 'processed core'])) 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 <> 1) THEN dkuhr := FALSE; ESCAPE; END_IF; END_REPEAT; WHERE wr1: dkuhr; END_RULE; -- thickness_laminate_table_component_select |
public class RThickness_laminate_table_component_select public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |