|
RULE stock_material_reference FOR (percentage_ply_definition, make_from_usage_option, product_related_product_category); LOCAL i , j , k : INTEGER ; dkuhr : LOGICAL ; nmfuo : INTEGER ; nprpc : INTEGER ; rp : product ; END_LOCAL ; dkuhr := TRUE ; REPEAT i := LOINDEX ( percentage_ply_definition ) TO HIINDEX ( percentage_ply_definition ) ; nmfuo := 0 ; REPEAT j := LOINDEX ( make_from_usage_option ) TO HIINDEX ( make_from_usage_option ) ; IF ( percentage_ply_definition [ i ] = make_from_usage_option [ j ] . relating_product_definition ) THEN rp := make_from_usage_option [ 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 [ 'anisotropic material' , 'isotropic material' , 'stock core' , 'filament assembly' , 'discontinuous fiber assembly' ] ) ) THEN nprpc := nprpc + 1 ; END_IF ; END_REPEAT ; IF ( nprpc = 1 ) THEN nmfuo := nmfuo + 1 ; ELSE dkuhr := FALSE ; ESCAPE ; END_IF ; END_IF ; END_REPEAT ; IF ( dkuhr = FALSE ) THEN ESCAPE ; END_IF ; IF ( nmfuo = 0 ) THEN dkuhr := FALSE ; ESCAPE ; END_IF ; END_REPEAT ; WHERE wr1: dkuhr ; END_RULE; -- stock_material_reference |
|
public class RStock_material_reference public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |