次元内の特定の世代の名前を取得します。
構文
ESS_FUNC_M
EssOtlGetGenName
(
hOutline, pszDimension, usGen, ppszName
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。 |
pszDimension |
ESS_STR_T |
対象の世代を含む次元の名前。 |
usGen |
ESS_USHORT_T |
名前を取得する世代の番号。次元は世代1です。 |
ppszName |
ESS_PSTR_T |
世代名が戻されるバッファ。APIによって割り当てられます。 |
備考
世代名はメンバー名と同じルールに従い、メンバー名全体で一意性が必要です。他の世代、レベル、メンバー名、または別名と重複できません。重複した名前を追加しようとすると、エラーが発生します。
世代名は自動的には付与されません。この関数で名前を戻すには、名前を割り当てておく必要があります。名前はEssOtlSetGenNameで割り当てられます
戻りバッファを解放するには、EssFree()を呼び出します。
戻り値
正常終了の場合は0が戻されます。それ以外の場合は、次のいずれかの値が戻されます:
OTLAPI_NO_GENLEVELNAME
OTLAPI_ERR_NOTADIM
OTLAPI_ ERR_GENLEVELNAMEMBR
例
#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 GenNum;
ESS_STR_T GenName;
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 Gen Name ***************/
Dimension = "Year";
GenNum = 3;
if (!sts)
{
sts = EssOtlGetGenName(hOutline, Dimension,
GenNum, &GenName);
}
if (!sts && GenName)
{
printf("Gen Name: %s\n",GenName);
EssFree(hInst, GenName);
}
関連トピック