Gets the name for a specific level within a dimension.
Syntax
ESS_FUNC_M EssOtlGetLevelName (hOutline, pszDimension, usLevel, pszName);
| Parameter | Data Type | Description |
|---|---|---|
hOutline | ESS_HOUTLINE_T | Outline context handle. |
pszDimension | ESS_STR_T | Name of dimension that contains the generation. |
usLevel | ESS_USHORT_T | Number of level number for which to get a name. Leaf members are level 0. |
pszName | ESS_PSTR_T | Buffer for return of the level of the specified dimension, allocated by the API. |
Notes
In C programs, call EssFree() to free the returned buffer.
Level names are not automatically assigned. For this function to return the name, a name must have been assigned. The name can be assigned with EssOtlSetLevelName
Return Value
Returns 0 if successful; otherwise one of the following:
OTLAPI_NO_GENLEVELNAME
OTLAPI_ERR_NOTADIM
OTLAPI_ ERR_GENLEVELNAMEMBR
Example
#include <essapi.h>
#include <essotl.h>
ESS_STS_T sts = 0;
ESS_HOUTLINE_T hOutline;
ESS_OBJDEF_T Object;
ESS_APPNAME_T szAppName;
ESS_DBNAME_T szDbName;
ESS_OBJNAME_T szFileName;
ESS_STR_T Dimension;
ESS_USHORT_T LevelNum;
ESS_STR_T LevelName;
memset(&Object, '\0', sizeof(Object));
Object.hCtx = hCtx;
Object.ObjType = ESS_OBJTYPE_OUTLINE;
strcpy(szAppName, "Sample");
strcpy(szDbName, "Basic");
strcpy(szFileName, "Basic");
Object.AppName = szAppName;
Object.DbName = szDbName;
Object.FileName = szFileName;
sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE,
ESS_TRUE, &hOutline);
/*************** Get Level Name **************/
Dimension = "Year";
LevelNum = 0;
if (!sts)
{
sts = EssOtlGetLevelName(hOutline, Dimension,
LevelNum, &LevelName);
}
if (!sts && LevelName)
{
printf("Level Name: %s\n",LevelName);
EssFree(hInst, LevelName);
}See Also