Advanced Customization > Windchill Adapter > Windchill Adapter Webject Library > Query Webjects > Expand-References
  
Expand-References
Traverses the objects in an input group and retrieves objects referenced by specified attributes in each object of the input group.
The attributes of each object that is retrieved are then merged with the referencing object to create an element of the output group. The name of each attribute for each element in the output group is determined as follows:
If the attribute is a copy of an attribute of the input group, the name is the same as its name in the input group.
If the attribute is an attribute obtained from a dereferenced object, the name in the output group is formed by concatenating the attribute name of the reference attribute in the input group with the name of the attribute from the dereferenced object, and inserting a period ( . ) between the two. For example:
projectId.name
Where projectId is the name of the reference attribute in the input group, and name is the name of the attribute in the object referenced by the projectId value.
Syntax
<ie:webject name="Expand-References" type="OBJ">
<ie:param name="ACCEPT_LANGUAGE"
data="$(@SERVER[]accept_language[])"/>
<ie:param name="ATTRIBUTE" data="attribute"/>
<ie:param name="AUTHORIZATION"
data="$(@SERVER[]authorization[0])"/>
<ie:param name="CONNECTION_ATTEMPTS" data="attempts"/>
<ie:param name="CONNECTION_ATTEMPT_INTERVAL" data="interval"/>
<ie:param name="CONTAINER_REF" data="[ufid | MEMBERSHIP]"/>
<ie:param name="DBUSER" data="username"/>
<ie:param name="DESCRIPTOR" data="attribute_name"/>
<ie:param name="FORMAT" data="[TRUE | FALSE]"/>
<ie:param name="GROUP_FILTER" data="group_name"/>
<ie:param name="GROUP_IN" data="group_in"/>
<ie:param name="GROUP_OUT" data="group_out"/>
<ie:param name="INCLUDE_ARGS" data="[TRUE | FALSE]"/>
<ie:param name="INCLUDE_CONSTRAINTS" data="[TRUE | FALSE]"/>
<ie:param name="INCLUDE_DESCRIPTORS" data="[TRUE | FALSE]"/>
<ie:param name="INSTANCE" data="appl_name"/>
<ie:param name="NEXT_OP" data="operation_name"/>
<ie:param name="OBJECT_REF" data="ufid"/>
<ie:param name="PASSWD" data="password"/>
<ie:param name="REFERENCE" data="reference_attribute"/>
<ie:param name="REFERENCE_DELIMITER" data="^" />
<ie:param name="REFERENCE_EXCEPTIONS" data="[TRUE | FALSE]"/>
<ie:param name="REFERENCE_OUTPUT_DELIMITER" data="^" />
<ie:param name="TYPE" data="type_name"/>
<ie:param name="UNFORMATED" data="dataType" />
<ie:param name="WHERE" data="where-clause"/>
<ie:param name="WHERE_CASE_SENSITIVITY" data="[TRUE | FALSE]"/>
</ie:webject>
Parameters
Required
Interdependent
Optional
INSTANCE
AUTHORIZATION
ACCEPT_LANGUAGE
REFERENCE
CONTAINER_REF
ATTRIBUTE
DBUSER
CONNECTION_ATTEMPTS
DESCRIPTOR
CONNECTION_ATTEMPT_INTERVAL
GROUP_FILTER
CONTAINER_REF
GROUP_IN
FORMAT
INCLUDE_ARGS
GROUP_OUT
INCLUDE_CONSTRAINTS
REFERENCE_DELIMITER
INCLUDE_DESCRIPTORS
REFERENCE_OUTPUT_DELIMITER
NEXT_OP
UNFORMATTED
OBJECT_REF
PASSWD
REFERENCE_EXCEPTIONS
TYPE
WHERE
WHERE_CASE_SENSITIVITY
* 
If a parameter is listed in the table but is not defined below, then it has a common parameter definition. For descriptions of those parameters, see the Common Webject Parameters section in Adapter Webjects Overview.
ATTRIBUTE
This parameter is used in two different contexts. Usually it specifies the attributes to be produced in the output group for each returned object. But in the case that GROUP_IN is the same as GROUP_OUT and there is no TYPE, WHERE, or OBJECT_REF, it specifies the attributes of each referenced object to be merged with the attributes of the element from the input group.
A value of "*" returns all attributes in the input group, plus all the expanded attributes of the referenced object.
Composite names of the expanded attribute or simple attribute names of the attribute from the input group can be explicitly specified to filter the attributes returned. If explicit attributes are specified, all the attributes desired must be specified, including the unexpanded attributes of the input group if those attributes are desired.
Except for the above special case, only the desired attributes from the referenced object need to be specified because all the attributes from the input group are implicitly returned.
If this parameter is not specified, then a default set of attributes is returned. The default set of attributes for a type is configured in the DefaultAttributes property value of the wt.adapter.delegates.properties file.
If a DefaultAttributes property is not defined, then all attributes of all objects are returned. Multiple values can be specified for this parameter. This parameter is optional.
CONTAINER_REF
A Windchill context to apply the webject against. This parameter accepts the following types of input:
The UFID of a Windchill context. Multiple UFIDs can be specified for this parameter.
MEMBERSHIP—The query finds only those contexts of which the user is a member.
When this parameter is specified, the scope of queries executed against the TYPE and WHERE parameters are restricted to the associated context.
GROUP_IN
The name of the input group containing one or more objects whose attributes are retained in the output group and whose reference attributes will be dereferenced.
The GROUP_IN parameter value can be obtained from Query-Objects webject specified within the same task file. This parameter can be specified instead of or in addition to TYPE, WHERE, or OBJECT_REF.
GROUP_OUT
The name of the output group containing the results. If this parameter is omitted, then the name of the output group is constructed by appending the string “-Output” to the webject name. This parameter is optional.
OBJECT_REF
The Unique Federation Identifier (UFID) of a Windchill object. Multiple values can be specified for this parameter to identify multiple objects.
This parameter can be used instead of or in combination with WHERE. If WHERE is not specified, then OBJECT_REF must be specified.
REFERENCE
The name of an attribute whose value is a reference to an object (a UFID). For each such attribute found in an element of the input group, the referenced object is retrieved, and its attributes are merged with the attributes of the element from the input group to produce an element of the output group. This parameter is required.
TYPE
Specifies the name of the notifiable Windchill type of the objects to be queried for. If WHERE is specified, then TYPE must also be specified. OBJECT_REF can be specified instead of, or in addition to, this parameter.
WHERE
A query expression identifying the objects for which to query. This parameter can be used instead of or in combination with OBJECT_REF.
If OBJECT_REF is not specified, WHERE must be specified. If WHERE is specified, TYPE must also be specified. For more information, see Specifying the TYPE and WHERE Parameters.