Queries member information for a given attribute member or dimension.
Syntax
Parameter | Data Type | Description |
---|---|---|
hOutline; | ESS_HOUTLINE_T | Handle to the outline |
pAttributeQuery; | ESS_ATTRIBUTEQUERY_T | Structure that defines the query |
pCount; | ESS_PULONG_T | Number of member handles returned |
pphMemberArray; | ESS_PPHMEMBER_T | Pointer to an array of member handles returned |
Notes
Before you call this function, call EssOtlOpenOutlineQuery to open the outline in query mode.
Example
void ESS_OtlQueryAttributes() { ESS_STS_T sts = ESS_STS_NOERR; ESS_HMEMBER_T hMember; ESS_OBJDEF_T Object; ESS_APPNAME_T szAppName; ESS_DBNAME_T szDbName; ESS_OBJNAME_T szFileName; ESS_SHORT_T hOutlineQuery; ESS_ATTRIBUTEQUERY_T pAttributeQuery; ESS_ULONG_T Count = 0; ESS_PHMEMBER_T phMemberArray = ESS_NULL; ESS_PMBRINFO_T pMbrInfo = ESS_NULL; int index; memset(&pAttributeQuery, 0x00, sizeof(ESS_ATTRIBUTEQUERY_T)); memset(&Object, '\0', sizeof(Object)); Object.hCtx = hCtx; Object.ObjType = ESS_OBJTYPE_OUTLINE; strcpy(szAppName, "Sample"); strcpy(szDbName, "Basic"); strcpy(szFileName, "Basic"); Object.AppName = szAppName; Object.DbName = szDbName; Object.FileName = szFileName; sts = EssOtlOpenOutlineQuery(hCtx, &Object, &hOutlineQuery); printf("EssOtlOpenOutlineQuery() sts: %ld\n",sts); pAttributeQuery.bInputMemberIsHandle == ESS_FALSE; pAttributeQuery.uInputMember.szMember = "100-10"; pAttributeQuery.usInputMemberType = ESS_BASE_MEMBER; pAttributeQuery.usOutputMemberType = ESS_ATTRIBUTE_MEMBER; pAttributeQuery.usOperation = ESS_ALL; pAttributeQuery.Attribute.usDataType = ESS_ATTRMBRDT_NONE; sts = EssOtlQueryAttributes(hOutlineQuery, &pAttributeQuery, &Count, &phMemberArray); printf("EssOtlQueryAttributes() sts: %ld\n",sts); if (!sts && phMemberArray) { printf("\n------- Query Results -------\n"); for (index = 0; index < Count; index++) { sts = EssOtlGetMemberInfo(hOutlineQuery,phMemberArray[index],&pMbrInfo); printf("\t%s\n",pMbrInfo->szMember); } if (Count && phMemberArray) { sts = EssOtlFreeMembers(hOutlineQuery,Count, phMemberArray); } } }
See Also