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 
ParameterDescription

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.

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.

Return Value

The return value is zero if the function was successful.

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