データ・セルに関連付けられたドリルスルー・レポートを、セルのメンバーの組合せを使用し、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); }