EssOtlQueryMembersEx

Queries the outline for specific members and member fields, and returns an array of member handles. The returned member handles can be used with other Outline API functions such as EssOtlGetMemberInfo(). (EssOtlGetMemberInfo() can retrieve any of the individual fields contained in ESS_MEMBERINFO_T and ESS_MBRINFO_T.)

Syntax

ESS_FUNC_M EssOtlQueryMembersEx (hOutline, pszFieldSelection, pszMemberSelection,
                                   pMaxCount, ppMemberArray, ppqryErrorList)
ParameterData TypeDescription

hOutline

ESS_HOUTLINE_T

Essbase outline handle. This must have been returned from EssOtlOpenOutlineQuery().

pszFieldSelection

ESS_STR_T

The query string which defines the set of fields that will be returned for each member. The syntax of pszFieldSelection is shown in Notes.

pszMemberSelection

ESS_STR_T

The query string which defines the set of members to be returned. The syntax of this query string is the syntax for member selection; that is, the query string can be anything that you can use in a FIX() statement.

pMaxCount

ESS_PULONG_T

Input: A pointer to the maximum number of member handles to be returned.

Output: A pointer to the number of member handles returned.

ppMemberArray

ESS_PPHMEMBER_T

Reference to a pointer to the first in an array of member handles returned.

ppqryErrorList

ESS_OTLQUERYERRORLIST_T

Reference to a pointer to a structure containing the list of errors in the query.

Notes

Return Value

The return value is zero if the function was successful.

Example

The following code snippet return the name, consolidation and formula for each menmber which is a child of Market or a child of Product. Upon return, MaxCount contains the number of members returned, and phMemberArray contains the array of handles for the set of members returned. Further Outline API calls allow interrogation of the members using the returned array of member handles in phMemberArray.

member_fields     = "<SelectMbrInfo ( MemberName, Consolidation, MemberFormula ) ";
member_selection  = "@ichild(Product), @ichild(Market)";
MaxCount          = -1;
phMemberArray     = ESS_NULL;
pqryErrorList     = ESS_NULL;

sts = EssOtlQueryMembersEx(hOutline,
                           member_fields,
                           member_selection,
                           &MaxCount,
                           &phMemberArray,
                           &pqryErrorList);
                                                   
if (sts != 0) goto error_exit;

See Extended Member Query Code Example for an example that uses EssOtlQueryMembersEx(), EssOtlGetMemberField(), and ESS_OTLQUERYERRORLIST_T, and includes calls to EssOtlFreeMembers() and EssFree().

See Also