RULE restrict_product_definitions_for_product_definition_relationship FOR (product_definition_relationship); WHERE wr3: SIZEOF ( QUERY ( pdr <* product_definition_relationship | ( 'CATALOG_DATA_INFORMATION_MIM' + '.ASSEMBLY_COMPONENT_USAGE' IN TYPEOF ( pdr ) ) AND ( ( pdr.relating_product_definition.frame_of_reference.name <> 'part definition' ) OR ( pdr.related_product_definition.frame_of_reference.name <> 'part definition' ) ) AND ( ( pdr.relating_product_definition.frame_of_reference.name <>'physical occurrence' ) OR ( pdr.related_product_definition.frame_of_reference.name <>'physical occurrence' ) ) ) ) =0; wr5: SIZEOF( QUERY( pdr <* product_definition_relationship | (pdr.name = 'physical realization') AND ((pdr.relating_product_definition.frame_of_reference.name <> 'part definition') OR (pdr.related_product_definition.frame_of_reference.name <> 'physical occurrence')) )) = 0; wr6: SIZEOF( QUERY( pdr <* product_definition_relationship | (pdr.name = 'physical occurrence usage') AND (NOT('CATALOG_DATA_INFORMATION_MIM' + '.ASSEMBLY_COMPONENT_USAGE' IN TYPEOF(pdr)) OR (pdr.relating_product_definition.frame_of_reference.name <> 'physical occurrence') OR (pdr.related_product_definition.frame_of_reference.name <> 'physical occurrence')) )) = 0; END_RULE; -- restrict_product_definitions_for_product_definition_relationship |
public class RRestrict_product_definitions_for_product_definition_relationship public int rWr6(SdaiContext _context) public int rWr5(SdaiContext _context) public int rWr3(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |