Returns any attribute information associated with a given base member.
Syntax
EsbGetAssociatedAttributesInfo (hCtx, MbrName, AttrDimName, Count) ByVal hCtx As Long ByVal MbrName As String ByVal AttrDimName As String Count As Long
Parameter | Description |
---|---|
hCtx | Context handle |
MbrName | Base member name |
AttrDimName | (Optional) attribute dimension name |
Count | Number of attribute members returned |
Notes
This function retrieves more information for attribute members than EsbQueryDatabaseMembers.
Set AttrDimName to NULL to return all attribute members that are associated with the base member.
Optionally, provide an attribute dimension name to retrieve information only about the member of that dimension which is associated with the base member.
After you call EsbGetAssociatedAttributesInfo(), call EsbGetNextItem(), using ESB_ATTRIBUTEINFO_T, to retrieve the attribute information structure(s) that you want.
There are two situations where attribute information returned from this function might be invalid:
In the Visual Basic API, the attribute data type of a given attribute dimension is derived from the data type of the attribute dimension's name. Because of this, attribute values might not be valid for attribute dimensions. Applications should ignore the value of the Attribute field in the returned ESB_ATTRIBUTEINFO_T structure if the name passed to EsbGetAssociatedAttributesInfo() is that of an attribute dimension. Test the MbrInfo.MbrName and MbrInfo.DimName fields to see if they are equal. If equal, they refer to a base dimension, and the attributes information should be ignored.
Date attributes contain time information (a time stamp) that is automatically processed (has date math performed upon it) by Visual Basic. This could lead to invalid values for date attributes (depending upon the time zone specified in a given client machine). To avoid this automatic processing, use the attribute name as opposed to the attribute value when displaying the date attribute information.
Return Value
Returns sts = 0 when successful, otherwise returns an error number.
Access
This function requires no special privileges.
Example
Sub ESB_GetAssociatedAttributesInfo() ' NOTE: 'Out' is a sub to print the output within quotes to a listbox or text box. Dim hCtx as long Dim sts as long Dim MbrName As String Dim AttrDimName As String Dim Count As Long Dim Attribinfo As ESB_ATTRIBUTEINFO_T Dim index As Integer Dim tempstring As String MbrName = InputBox("Base member name", "Base Member Name") AttrDimName = InputBox("Attribute Dimension Name (Optional)", "Attribute Dimension Name") sts = EsbGetAssociatedAttributesInfo(hCtx, MbrName, AttrDimName, Count) If sts <> 0 Then MsgBox "Error in ESB_GetAssociatedAttributesInfo: " & sts: Exit Sub Else tempstring = "...count = " & Count & "..." out (tempstring) Out "Associated Attr info for " & "[" & MbrName & "]" Out "------------------------------------" For index = 1 To Count sts = EsbGetNextItem(hCtx, ESB_ATTRIBUTEINFO_TYPE, Attribinfo) Out "Dim Name: " & Attribinfo.DimName Out "Mbr Name: " & Attribinfo.MbrName ' NOTE: use of select case statement to discern (and act upon) type of attribute returned Select Case VarType(Attribinfo.Attribute) Case vbDouble Out "Data Type : Numeric(Double)" Out "Data Value : " & Attribinfo.Attribute Out "" Case vbBoolean Out "Data Type : Boolean" Out "Data Value : " & Attribinfo.Attribute Out "" Case vbDate Out "Data Type : Date" ' Suggested way to get Date Attribute value for display Out "Data Value : " & Attribinfo.DimName Out "" Case vbString Out "Data Type : String" Out "Data Value : " & Attribinfo.Attribute Out "" End Select Out "" Next index End If End Sub
See Also