(* SCHEMA Ship_arrangement_schema; *)
RULE external_instance_reference_has_same_identifier FOR (applied_external_identification_assignment );
LOCAL
violation : LOGICAL := FALSE;
extref_set : SET OF applied_external_identification_assignment := [];
aia_set : SET OF applied_identification_assignment := [];
END_LOCAL;
extref_set := QUERY (i <* applied_external_identification_assignment| i.role.NAME = 'external instance reference');
REPEAT i := 1 TO HIINDEX(extref_set) BY 1 WHILE NOT violation;
aia_set := bag_to_set(USEDIN(extref_set[i].items[1], 'SHIP_ARRANGEMENT_SCHEMA.APPLIED_IDENTIFICATION_ASSIGNMENT.ITEMS'));
violation := NOT (aia_set[1].assigned_id = extref_set[i].assigned_id);
END_REPEAT;
WHERE
WR1:
NOT violation;
END_RULE;
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:37-04:00