(* SCHEMA step_ship_schema; *)
-- ONLY IN AP218
RULE ship_material_property_has_at_most_one_named_references FOR (
property_definition, applied_document_reference,
applied_classification_assignment);
LOCAL
violation : LOGICAL := FALSE;
t1_set : SET OF property_definition := [];
c_a_set : SET OF applied_classification_assignment := [];
t2_set : SET OF applied_document_reference := [];
END_LOCAL;
c_a_set := QUERY ( i <* applied_classification_assignment | (i.
assigned_class.name = 'ship material property') );
REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
t1_set := t1_set + c_a_set[i].items[j];
END_REPEAT;
END_REPEAT;
REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
t2_set := bag_to_set(USEDIN(t1_set[i],'STEP_SHIP_SCHEMA.' +
'APPLIED_DOCUMENT_REFERENCE.ITEMS'));
violation := SIZEOF(QUERY ( t2_inst <* t2_set | (t2_inst.role.name =
'material reference') )) > 1;
END_REPEAT;
WHERE
wr1: (NOT violation);
END_RULE;
Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2007-09-24T12:42:22-04:00