Overview Schemas Index

AUTOMOTIVE_DESIGN (jsdai.SAutomotive_design)


RULE restrict_product_definitions_for_product_definition_relationship FOR (assembly_component_usage, product_definition_relationship);
 
WHERE
          wr1:  SIZEOF ( QUERY ( pdr <* product_definition_relationship | ( pdr . name = 'definition usage' ) AND ( ( pdr . relating_product_definition . frame_of_reference . name <> 'part definition' ) OR ( pdr . related_product_definition . frame_of_reference . name <> 'part occurrence' ) ) ) ) = 0 ;
          wr2:  SIZEOF ( QUERY ( pdr <* product_definition_relationship | ( pdr . name IN [ 'geometrical relationship' , 'definition replacement' ] ) AND ( ( pdr . relating_product_definition . frame_of_reference . name <> 'part definition' ) OR ( pdr . related_product_definition . frame_of_reference . name <> 'part definition' ) ) ) ) = 0 ;
          wr3:  SIZEOF ( QUERY ( pdr <* product_definition_relationship | ( 'automotive_design.' + '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 ;
          wr4:  SIZEOF ( QUERY ( pdr <* product_definition_relationship | ( 'automotive_design.' + 'assembly_component_usage' IN TYPEOF ( pdr ) ) AND  ( pdr . name = 'selected instance usage' ) AND ( ( pdr . relating_product_definition . frame_of_reference . name <> 'part definition' ) OR ( pdr . related_product_definition . frame_of_reference . name <> 'part definition' ) ) ) ) = 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 ( 'automotive_design.' + '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 ;
          wr7:  SIZEOF ( QUERY ( pdr <* product_definition_relationship | ( pdr . name = 'solution alternative definition' ) AND ( NOT ( pdr . relating_product_definition . frame_of_reference . name IN [ 'alternative definition' , 'functional definition' , 'conceptual definition' ] ) OR ( pdr . related_product_definition . frame_of_reference . name <> 'alternative definition' ) ) ) ) = 0 ;
          wr8:  SIZEOF  ( QUERY  ( pdr <* product_definition_relationship | ( pdr . name = 'collection membership' ) AND  ( ( pdr . relating_product_definition . frame_of_reference . name <> 'part definition' ) OR  ( pdr . related_product_definition . frame_of_reference . name <> 'part occurrence' ) OR ( SIZEOF ( QUERY ( pdca <* USEDIN ( pdr . relating_product_definition , 'automotive_design.product_definition_context_association.definition' ) | ( pdca . role . name = 'part definition type' ) AND ( pdca . frame_of_reference . name = 'collection definition' ) ) ) = 0 ) ) ) ) = 0 ;
          wr9:  SIZEOF ( QUERY ( pdr <* product_definition_relationship | ( pdr . name = 'design constraint association' ) AND ( ( pdr . relating_product_definition . frame_of_reference . name <> 'design constraint definition' ) OR NOT ( pdr . related_product_definition . frame_of_reference . name IN [ 'alternative definition' , 'functional definition' , 'conceptual definition' ] ) ) ) ) = 0 ;
          wr10:  SIZEOF ( QUERY ( pdr <* product_definition_relationship | ( pdr . name = 'final specification' ) AND ( NOT  ( pdr . relating_product_definition . name IN  [ 'final' , 'technical final' , 'supplier final' , 'technical supplier final' ] ) OR  ( pdr . relating_product_definition . frame_of_reference . name <> 'alternative definition' ) OR NOT ( pdr . related_product_definition . frame_of_reference . name IN [ 'part definition' , 'physical occurrence' ] ) ) ) ) = 0 ;
END_RULE; -- restrict_product_definitions_for_product_definition_relationship

public class RRestrict_product_definitions_for_product_definition_relationship
          public int rWr10(SdaiContext _context)
          public int rWr9(SdaiContext _context)
          public int rWr8(SdaiContext _context)
          public int rWr7(SdaiContext _context)
          public int rWr6(SdaiContext _context)
          public int rWr5(SdaiContext _context)
          public int rWr4(SdaiContext _context)
          public int rWr3(SdaiContext _context)
          public int rWr2(SdaiContext _context)
          public int rWr1(SdaiContext _context)
          public int run(SdaiContext _context, A_string violations)