In a GetMetadata or
GetMetadataObjects method call, a template specifies attributes or
associations to retrieve for the main metadata type of the method
call, one of its subtypes, or an associated metadata type. This is
beyond attributes and associations that are requested in the INMETADATA
parameter and by the method's flags. While the OMI_ALL flag returns
all attributes and directly associated objects for the specified object,
and the OMI_SIMPLE flag returns all simple attributes for the specified
object and any associated objects that are requested, neither flag
affects the associations of the associated objects.
A template enables you
to exactly specify the attributes and associations that you want to
retrieve for a specified metadata type. The specified metadata type
can be the main metadata type in the request or an associated metadata
type. To request associations of associated objects, you specify additional
templates.
Prior to SAS 9.3, user-defined
templates were the only way to retrieve information about the associations
of associated objects. In SAS 9.3, SAS provides the OMI_FULL_OBJECT
(2) flag. The OMI_FULL_OBJECT flag returns the full logical metadata
definition of objects that are managed by the SAS type dictionary.
For more information,
see Using the OMI_FULL_OBJECT Flag.
User-defined templates
can be used to expand the logical metadata definitions of objects
that are not managed by the SAS type dictionary. You can also use
templates to get some of the information that would be returned by
the OMI_FULL_OBJECT flag.