EssOtlQueryMembersExArray

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 EssOtlQueryMembersExArray (hOutline, pszFieldSelection, queryCount, pszMemberSelectionArr, pMaxCountArr, pphMemberArr, ppqryErrorList)
ParameterData TypeDescription

hOutline

ESS_HOUTLINE_T

Outline handle returned from EssOtlOpenOutlineQuery().

pszFieldSelection

ESS_STR_T

Selects the member fields that the queries return. The same selections are used for all queries in the array.

queryCount

ESS_SHORT_T

Count of members in the input array.

pszMemberSelectionArr

ESS_STR_T

Array of queryCount query strings for member selection. 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.

pMaxCountArr

ESS_PULONG_T

Array of queryCount values for how many members each query in the array at most should return. Each value is replaced with the actual returned count.

pphMemberArr

ESS_PPHMEMBER_T

queryCount array of returned member handle arrays (each with pMaxCountArr[i] values).

ppqryErrorList

ESS_OTLQUERYERRORLIST_T

List of members with errors.

Notes

Return Value

Returns zero (0) if successful.

Example

The following code snippet returns the name, consolidation and formula for each member that is a child of Market and for each member that is a child of Product in two separate member arrays. It combines what would have been two queries in EssOtlQueryMembersEx into just one call to EssOtlQueryMembersExArray. Note that the member fields returned will be the same for all queries in the array, and that the size of all arrays must match queryCount.

Upon return, MaxCountArray[i] contains the number of members returned in each query, and phMemberArrayArray[i] contains the array of handles for the set of members returned for each query. Further Outline API calls allow interrogation of the members using the returned array of member handles in phMemberArrayArray[i].

member_fields = "<SelectMbrInfo ( MemberName, Consolidation, MemberFormula ) ";
queryCount = 2;
member_selectionArray[0] = "@ichild(Product)";
member_selectionArray[1] = "@ichild(Market)";
MaxCountArray[0] = -1;
MaxCountArray[1] = -1;
phMemberArrayArray[0] = ESS_NULL;
phMemberArrayArray[1] = ESS_NULL;
pqryErrorListArray[0] = ESS_NULL;
pqryErrorListArray[1] = ESS_NULL;
 
sts = EssOtlQueryMembersExArray(hOutline, member_fields, queryCount, member_selectionArray, MaxCountArray, &phMemberArrayArray, pqryErrorListArray);
 
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