(* SCHEMA ship_moulded_form_schema; *)
RULE version_history_referenced_by_exactly_one_current_version FOR (
applied_group_assignment, group);
LOCAL
violate : LOGICAL := FALSE;
t1_set : SET OF group := [];
a_set : SET OF applied_group_assignment := [];
END_LOCAL;
t1_set := QUERY ( a <* group | VALUE_IN(which_class(a),
'version history') );
REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violate;
a_set := QUERY ( b <* applied_group_assignment | ((b.assigned_group
= t1_set[i]) AND (b.role.name = 'current version')) );
violate := SIZEOF(a_set) <> 1;
END_REPEAT;
WHERE
wr1: (NOT violate);
END_RULE; -- version_history_referenced_by_exactly_one_current_version
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:47-04:00