RULE user_defined_requires_user_defined_class

(* SCHEMA ship_structures_schema; *)
  RULE user_defined_requires_user_defined_class FOR (product_definition, 
             group, applied_classification_assignment);

    LOCAL
      violation   : LOGICAL := FALSE;
      cl_ass      : SET OF applied_classification_assignment := [];
      clfied_inst : SET OF classification_item := [];
    END_LOCAL;
    cl_ass := QUERY ( i <* applied_classification_assignment | ((i.role.
        name = 'class membership') AND (i.assigned_class.name = 
        'user defined')) );
    REPEAT i := 1 TO HIINDEX(cl_ass) BY 1;
      clfied_inst := clfied_inst + cl_ass[i].items;
    END_REPEAT;
    REPEAT i := 1 TO HIINDEX(clfied_inst) BY 1 WHILE NOT violation;
      violation := NOT ('user defined class' IN which_class(clfied_inst[i]));
    END_REPEAT;

  WHERE
    wr1: (NOT violation);

  END_RULE; -- user_defined_requires_user_defined_class

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:03-04:00