# EsbOtlGetDimensionUserAttributes

Description

EsbOtlGetDimensionUserAttributes() returns the user defined attributes used in the specified dimension.

Syntax

    EsbOtlGetDimensionUserAttributes (hOutline, pPredicate, pCounts)

    ByVal hOutline   As Long
          pPredicate As ESB_PREDICATE_T
          pCounts    As ESB_MBRCOUNTS_T

Parameters

hOutline | Essbase outline handle. This must have been returned from EsbOtlOpenOutlineQuery().
pPredicate | Structure defining the query. The fields of this structure are used as follows: ulQuery Value defining the operation to perform. The only valid value is: ESB_DIMUSERATTRIBUTES szDimension Dimension to limit the scope of the query. Specify a valid dimension name.
pCounts | Structure defining information about counts It contains the following fields: ulStart Starting number to return. ulMaxCount Maximum number of member names to return. ulTotalCount Total number of members that are defined in the results of the query. pulReturnCount Number of member names returned in this query.

Return Value

The return value is zero if the function was successful.

Notes

- This function is used only to get the user's defined attributes on a specific dimension. Therefore, the only valid value for Predicate is ESB_DIMUSERATTRIBUTES_T.

Example

    Declare Function EsbOtlGetDimensionUserAttributes Lib "ESBOTLN"
    (ByVal hOutline As Long, pPredicate As ESB_PREDICATE_T,
    pCounts As ESB_MBRCOUNTS_T) As Long

    Sub ESB_OtlQueryMembers()
       Dim sts As Long
       Dim hOutline As Long
       Dim AttrName As String * ESB_MBRNAMELEN
       Dim Predicate As ESB_PREDICATE_T
       Dim Counts As ESB_MBRCOUNTS_T
       Dim Access As Integer
       Dim AppName As String
       Dim DbName As String

       AppName = "Sample"
       DbName = "Basic"

       sts = EsbOtlOpenOutlineQuery(hCtx, Object, hOutline)
       If sts = 0 Then
         sts = EsbOtlOpenOutlineQuery(hCtx, Object, hOutline)

       Predicate.ulQuery = ESB_DIMUSERATTRIBUTES_T
       Predicate.pszDimension = "Product"
       Counts.ulStart = 0
       Counts.ulMaxCount = 10

       If sts = 0 Then
          sts = EsbOtlGetDimensionUserAttributes(hOutline, Predicate, Counts)

         If sts = 0 And Counts.ulReturnCount <> 0 Then
           For n% = 1 To Counts.ulReturnCount
              sts = EsbGetNextItem(hCtx, ESB_MBRNAME_TYPE, ByVal AttrName)
    		  MsgBox AttrName
          Next
         End If
       End If
    End If
    End Sub

See Also

EsbGetNextItem()
EsbOtlOpenOutlineQuery()
EsbOtlQueryMembers()
EsbOtlQueryMembersByName()