データ・セルに関連付けられたドリルスルー・レポートを、セルのメンバーの組合せを使用し、URL XMLのリストとして取得します。
構文
ESS_FUNC_M EssGetCellDrillThruReports (
hCtx, noMbrs, pMbrs, nURLXML, ppURLXMLLen, ppURLXML
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
noMbrs |
ESS_USHORT_T |
メンバー・リストpMbrsに含まれるメンバー数。 |
pMbrs |
ESS_PSTR_T |
メンバー名(または別名)のリストへのポインタ。配列サイズは次元カウントであるとみなされます。 |
nURLXML |
ESS_PUSHORT_T |
戻されたURL XMLの数。 |
ppURLXMLLen |
ESS_PPUSHORT_T |
生成されたURL XMLの長さが戻されます。 |
ppURLXML |
ESS_PPVOID_T |
URL XMLバイト・ストリームへのポインタが戻されます。 |
備考
この呼出しを行うためには、アプリケーション・データベースをアクティブに設定する必要があります。クライアントで必要とされる追加情報をサポートするには、この関数を拡張する必要があります。
戻り値
正常に処理されると、URL XMLのリストが取得されます。
処理に失敗すると、エラー・コードが戻されます。
アクセス
呼出し側は、指定したデータベースに対してデータベース読取り権限(ESS_PRIV_READ)を持っている必要があります。
呼出し側はEssSetActiveを使用して、指定したデータベースをアクティブ・データベースとして選択しておく必要があります。
例
/* 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);
}