|
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) |