Function Name: Add Component Relationship

Definition

Adds an object as a component of another object.

The aggregate_object (and link_object, if provided) must always be resolved. The component_object may be either resolved or unresolved.

NOTE: Relationships between objects in different transmittals are NOT implicitly bi-directional, so if the component object is unresolved, then the relationship will be uni-directional from the aggregate to the component.

Returns

SE_SUCCESS - and the requested composition relationship is added, if valid parameters were passed in and all operations succeeded.

SE_INVALID_OR_NULL_OBJECT - and no changes are made, if

  1. aggregate_object is NULL, is unsaved, or does not belong to a valid SDRM class;
  2. component_object is NULL, is unsaved, or does not belong to a valid SDRM class;
  3. link_object is provided but either is unsaved, or does not belong to a valid SDRM class.

SE_UNPUBLISHED_OBJECT - and no changes are made, if component_object is in another transmittal than aggregate_object, but is not published by that transmittal.

SE_UNRESOLVED_START_OBJECT - and no changes are made, if

  1. aggregate_object is an unresolved object, or
  2. link_object is an unresolved object.

SE_INVALID_ACCESS_MODE - and no changes are made, if

  1. aggregate_object (and link_object if specified) is in a transmittal that is not open for creation or modification.
  2. component_object is is in a transmittal that is not open for creation or modification.

SE_FAILURE - and no changes are made, if the API implementation specified does not provide this function in its shared library, and dynamic binding is specified at compile time.

Prototype


extern SE_STATUS_CODE_ENUM
SE_AddComponentRelationship
(
SE_OBJECT aggregate_object, (notes)
SE_OBJECT component_object, (notes)
SE_OBJECT link_object (notes)
);

Parameters Notes

aggregate_object

 object to which a component is being added - must
    be resolved.

component_object

 component object being added - can be resolved or
    unresolved.

link_object

 the link object that will be traversed to reach
    the component object, if applicable; must be resolved, if provided.

Prev: Add Associate Relationship. Next: Add Symbolic Associate. Up:Index.