EssGetCellDrillThruReports

Gets the drill-through reports associated with a data cell as a list of URL XMLs, given the cell's member combination.

Syntax

ESS_FUNC_M EssGetCellDrillThruReports (hCtx, noMbrs, pMbrs, nURLXML, ppURLXMLLen, ppURLXML);
ParameterData TypeDescription

hCtx

ESS_HCTX_T

API context handle

noMbrs

ESS_USHORT_T

Number of members in the member list pMbrs

pMbrs

ESS_PSTR_T

Pointer to the list of member names (or Aliases); the array size is assumed to be the dimension count

nURLXML

ESS_PUSHORT_T

Number of URL XMLs returned

ppURLXMLLen

ESS_PPUSHORT_T

Returns length of URL XML generated

ppURLXML

ESS_PPVOID_T

Returns pointers to the URL XML byte stream

Notes

The application database must be set to Active for this call. This function must be extended to support any additional information needed by the clients.

Return Value

Access

Example

/* Sample Code for EssGetCellDrillThruReports */

ESS_STS_T sts = ESS_STS_NOERR;
ESS_SHORT_T	numMbrs = 0;
ESS_STR_T	*pMbrs = ESS_NULL;
ESS_USHORT_T	numURLXML, i = 0;
ESS_USHORT_T	*URLXMLLen = ESS_NULL;
ESS_PPVOID_T	*URLXML = ESS_NULL;
ESS_CHAR_T	pTmpXML[XML_CHAR_MAX];

/* Valid case */

numMbrs = 5;
sts = EssAlloc (hInst, sizeof(ESS_STR_T) * numMbrs , &pMbrs);
pMbrs[0] = "Jul";
pMbrs[1] = "100-10";
pMbrs[2] = "Actual";
pMbrs[3] = "New York";
pMbrs[4] = "Sales";
sts = EssGetCellDrillThruReports(hCtx, numMbrs, pMbrs, &numURLXML, &URLXMLLen, &URLXML);
printf("EssGetCellDrillThruReports sts: %ld\n",sts);
   if(!sts)
   {
      printf("\nNumber of URL XML: %d", numURLXML);
      for (i = 0; i < numURLXML; i++)
      {
         memset(pTmpXML, 0, XML_CHAR_MAX);
         memcpy(pTmpXML, URLXML[i], URLXMLLen[i]);

         if ( URLXML[i] != ESS_NULL )
            printf("\tXML [%d] : %s\n", i, pTmpXML );
         else
            printf("\tXML [%d] : NULL STRING \n", i );
      if ( URLXML[i] != ESS_NULL )
         EssFree(hInst, URLXML[i]);
      }
   if ( URLXML != ESS_NULL )
      EssFree(hInst, URLXML);
   if ( URLXMLLen != ESS_NULL )
      EssFree(hInst, URLXMLLen);
   }