EsbOtlQueryMembers() queries the outline.
EsbOtlQueryMembers (hOutline, hMember, pPredicate, pMbrCounts, pulCount)
ByVal hOutline As Long
ByVal hMember As Long
pPredicate As ESB_PREDICATE_T
pMbrCounts As ESB_MBRCOUNTS_T
| hOutline | Essbase outline handle. This must have been returned from EsbOtlOpenOutlineQuery(). |
| hMember | The member handle of the member to do the operation on. If this value is NULL, it is assumed to be the very top of the outline, representing the logical parent of the dimensions. This value will be ignored for the following options:
ESB_NAMEDGENERATION ESB_NAMEDLEVEL ESB_USERATTRIBUTE ESB_SEARCH ESB_WILDSEARCH |
| pPredicate | Structure defining the query. The fields of this structure are used as follows:
ulQuery
ulOptions
szDimension
pszString1
pszString2 |
| pMbrCounts | Structure defining information about counts It contains the following fields: ulStart Starting number to return.
ulMaxCount
ulTotalCount
pulReturnCount |
| phMemberArray | An array of member handles returned from the query. |
The return value is zero if the function was successful.
Declare Function EsbOtlQueryMembers Lib "ESBOTLW"
(ByVal hOutline As Long, ByVal hMember As Long,
pPredicate As ESB_PREDICATE_T, pCounts As ESB_MBRCOUNTS_T) As Long
Declare Function EsbOtlFreeMember Lib "ESBOTLW"
(ByVal hOutline As Long, ByVal hMember As Long) As Long
Sub ESB_OtlQueryMembers()
Dim sts As Long
Dim hOutline As Long
Dim hMember As Long
Dim ihMember As Long
Dim Object As ESB_OBJDEF_T
Dim MbrInfo As ESB_MBRINFO_T
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_CHILDREN
Predicate.pszDimension = "Year"
Counts.ulStart = 0
Counts.ulMaxCount = 10
If sts = 0 Then
sts = EsbOtlQueryMembers(hOutline, hMember, Predicate, Counts)
If sts = 0 And Counts.ulReturnCount <> 0 Then
For n% = 1 To Counts.ulReturnCount
sts = EsbGetNextItem(hCtx, ESB_HMEMBER_TYPE, ihMember)
If sts = 0 And ihMember <> 0 Then
sts = EsbOtlFreeMember(hOutline, ihMember)
End If
Next
End If
End If
End If
End Sub
EsbGetNextItem()
EsbOtlFreeMember()
EsbOtlGetDimensionUserAttributes()
EsbOtlOpenOutlineQuery()
EsbOtlQueryMembersByName()