|
RULE ply_stock_material_select FOR (product_related_product_category, make_from_usage_option); LOCAL i , j , k , kp : INTEGER ; dkuhr : LOGICAL ; nmfuo : INTEGER ; nprpc : INTEGER := 0 ; rp : product ; END_LOCAL ; dkuhr := TRUE ; REPEAT kp := LOINDEX ( product_related_product_category ) TO HIINDEX ( product_related_product_category ) ; IF ( product_related_product_category [ kp ] . name = 'ply' ) THEN REPEAT i := LOINDEX ( product_related_product_category [ kp ] . products ) TO HIINDEX ( product_related_product_category [ kp ] . products ) ; nmfuo := 0 ; REPEAT j := LOINDEX ( make_from_usage_option ) TO HIINDEX ( make_from_usage_option ) ; IF ( product_related_product_category [ kp ] . products [ i ] = make_from_usage_option [ j ] . relating_product_definition . formation . of_product ) THEN rp := make_from_usage_option [ j ] . related_product_definition . formation . of_product ; 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 [ 'isotropic material' , '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 <> 1 ) THEN dkuhr := FALSE ; ESCAPE ; END_IF ; END_REPEAT ; END_IF ; END_REPEAT ; WHERE wr1: dkuhr ; END_RULE; -- ply_stock_material_select |
|
public class RPly_stock_material_select public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |