Expanding a GetMetadata Request to Get All Attributes and Associations

To get all of a metadata object's attributes and associations, set the OMI_ALL (1) flag in the GetMetadata request. The flag gets all attributes and direct associations of the specified metadata object. It does not get associations of associated objects. The following is an example of a GetMetadata request that sets the OMI_ALL flag:
<GetMetadata>
 <Metadata>
   <Column Id="A53TPPVI.A5000001"/>
 </Metadata>
 <NS>SAS</NS>
 <!--OMI_ALL flag -->
 <Flags>1</Flags>
 <Options/>
</GetMetadata>
In the request, note the following:
  • The <METADATA> element specifies a metadata type and an object instance identifier.
  • The <NS> parameter specifies the SAS namespace.
  • The <FLAGS> element specifies the OMI_ALL (1) flag.
Here is an example of the output returned by the SAS Metadata Server:
<!-- Using the GETMETADATA Method -->
<Column Id="A5TJRDIT.B700002E" BeginPosition="0" ChangeState="" ColumnLength="8" 
ColumnName="IDNUM" ColumnType="0" Desc="Identification Number" EndPosition="0" 
IsDiscrete="1" IsHidden="0" IsNullable="1" LockedBy="" 
MetadataCreated="10Jan2011:21:20:36" MetadataUpdated="14Jan2011:22:37:17" Name="IDNUM" 
PublicType="Column" SASAttribute="" SASColumnLength="8" SASColumnName="IDNUM" 
SASColumnType="N" SASExtendedColumnType="" SASExtendedLength="0" SASFormat="SSN11." 
SASInformat="F11." SASPrecision="0" SASScale="0" SortOrder="" SummaryRole="" 
UsageVersion="1000000">
	<AccessControls/>
	<AnalyticColumns/>
	<Changes/>
	<CustomAssociations/>
	<DisplayForKeys/>
	<Documents/>
	<Extensions/>
	<ExternalIdentities/>
	<FavoritesContainers/>
	<ForeignKeyAssociations/>
	<Groups/>
	<Implementors/>
	<Indexes>
		<Index Id="A5TJRDIT.BI000003" Name="IDNUM" Desc=""/>
</Indexes>
	<Keys>
		<UniqueKey Id="A5TJRDIT.BH000003" Name="EMPINFO.ic_id" Desc=""/>
</Keys>
	<Keywords/>
	<LocalizedAttributes/>
	<Notes/>
	<PrimaryPropertyGroup/>
	<Prompts/>
	<Properties/>
	<PropertySets/>
	<QueryClauses/>
	<ReferencedObjects/>
	<ResponsibleParties/>
	<SourceFeatureMaps/>
	<SourceTransformations/>
	<SpecSourceTransformations/>
	<SpecTargetTransformations/>
	<Table>
		<PhysicalTable Id="A5TJRDIT.B200000J" Name="EMPINFO" Desc=""/>
</Table>
	<TargetFeatureMaps/>
	<TargetTransformations/>
	<Timestamps/>
	<Trees/>
	<TSObjectNamespace/>
	<UniqueKeyAssociations/>
	<UsedByPrototypes/>
	<UsingPrototype/>
	<Variables/>
	<XPaths/></Column>
The output includes all attributes and associations that are documented for the Column metadata type, including attributes and associations for which values have not been defined. To limit the output to attributes and associations that have values, also set the OMI_SUCCINCT (2048) flag. The OMI_SUCCINCT flag instructs the SAS Metadata Server to omit any attributes and associations that do not contain a value or that contain a null value from the output.
This Column object has three associated objects defined: an Index object is associated to the Column through the Indexes association name; a UniqueKey object is associated with the Column through the Keys association name; and a PhysicalTable object is associated to the Column through the Table association name. The OMI_ALL flag returns the Id, Name, and Desc values for associated objects.