Updates a drill-through URL, with the given name, within the active database outline.
Syntax
ESS_FUNC_M EssUpdateDrillThruURL (hCtx, ESS_PDURLINFO_T pUrl);| Parameter | Data Type | Description |
|---|---|---|
hCtx | ESS_HCTX_T | API context handle |
pUrl | ESS_PDURLINFO_T | URL definition |
bMerge | ESS_BOOL_T |
|
Return Value
If successful, updates the named drill-through URL in the active database by replacing the URL XML and either updating or replacing the drill-through region list with the corresponding fields in pUrl.
If there is no URL with the given name, returns an error code.
Access
Caller must have database Design privilege (ESS_PRIV_DBDESIGN) for the specified database.
Caller must have selected the specified database as the active database using EssSetActive().
Example
/* Sample Code for EssUpdateDrillThruURL */
ESS_STS_T sts = ESS_STS_NOERR;
ESS_DURLINFO_T url;
ESS_PDURLINFO_T urlInfo;
ESS_STR_T fileName = "";
ESS_CHAR_T xmlString[XML_CHAR_MAX];
ESS_BOOL_T bMerge;
ESS_USHORT_T i;
memset(&url, '\0', sizeof(ESS_DURLINFO_T));
fileName = "F:\\testarea\\mainapi\\sample1.xml";
GetFileContent(fileName, xmlString);
/* Update URL*/
url.bIsLevel0 = ESS_TRUE;
url.cpURLName = "Drill Through to EPMI";
url.cpURLXml = xmlString;
url.iURLXmlSize = (ESS_SHORT_T) strlen(xmlString)+1;
url.iCountOfDrillRegions = 1;
sts = EssAlloc (hInst, sizeof(ESS_STR_T) * url.iCountOfDrillRegions, &(url.cppDrillRegions));
/* With bMerge = ESS_FALSE, update Drill Regions */
bMerge = ESS_FALSE; // replace
url.cppDrillRegions[0] = "Mar";
sts = EssUpdateDrillThruURL(hCtx, &url, bMerge);
printf("EssUpdateDrillThruURL sts: %ld\n",sts);