アクティブなデータベース・アウトライン内に、指定されたリンクと名前を使用してドリルスルーURLを作成します。
ドリルスルーURLの制限を参照してください。
構文
ESS_FUNC_M EssCreateDrillThruURL (
hCtx, pUrl
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hCtx |
ESS_HCTX_T |
APIコンテキスト・ハンドル。 |
pUrl |
ESS_PDURLINFO_T |
URL定義。 |
戻り値
正常に処理されると、アクティブなデータベース・アウトライン内にドリルスルーURLが作成されます。
処理に失敗すると、エラー・コードが戻されます。
アクセス
呼出し側は、指定したデータベースに対してデータベース設計権限(ESS_PRIV_DBDESIGN)を持っている必要があります。
呼出し側はEssSetActive()を使用して、指定したデータベースをアクティブなデータベースとして選択しておく必要があります。
例
/* Sample Code for EssCreateDrillThruURL */
ESS_STS_T sts = ESS_STS_NOERR;
ESS_DURLINFO_T url;
ESS_USHORT_T usCountOfURLs, i;
ESS_PDURLINFO_T listOfURLs;
ESS_STR_T urlName = "";
ESS_PDURLINFO_T urlInfo;
ESS_STR_T fileName = "";
ESS_CHAR_T xmlString[XML_CHAR_MAX];
/* Valid case */
memset(&url, '\0', sizeof(ESS_DURLINFO_T));
fileName = "F:\\testarea\\mainapi\\sample1.xml";
GetFileContent(fileName, xmlString);
printf("\nValid case:\n");
url.bIsLevel0 = ESS_TRUE;
url.cpURLName = "Drill Through to EPMI";
url.cpURLXml = xmlString;
url.iURLXmlSize = (ESS_SHORT_T) strlen(xmlString)+1;
url.iCountOfDrillRegions = 2;
sts = EssAlloc (hInst, sizeof(ESS_STR_T) * url.iCountOfDrillRegions, &(url.cppDrillRegions));
url.cppDrillRegions[0] = "@idesc(\"Qtr1\")";
url.cppDrillRegions[1] = "@idesc(\"Qtr2\")";
sts = EssCreateDrillThruURL(hCtx, &url);
printf("EssCreateDrillThruURL sts: %ld\n",sts);