指定した世代番号に関する世代名とメンバーの一意性を設定します。
構文
ESS_FUNC_M EssOtlSetGenNameEx (
hOutline, pszDimension, usGen, pszName, bUniqueName
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル。 |
pszDimension |
ESS_STR_T |
次元名。 |
usGen |
ESS_USHORT_T |
名前を設定する世代の番号。 |
pszName |
ESS_STR_T |
世代に与える名前。 |
bUniqueName |
ESS_BOOL_T |
TRUEの場合は、pszDimensionの次元のusGen世代のメンバーに重複した名前は指定できません。 |
備考
この関数は世代名と世代の一意性を設定します。世代名のみを設定する場合は、EssOtlSetGenNameを使用します。
一意性のみを設定し、名前は変更しない場合でも、名前を渡す必要があります。その場合は、EssOtlGetGenNameを呼び出して、この関数への値としてusGenを渡します。
usGenパラメータにNULLを渡さないでください。
戻り値
正常終了の場合は0が戻されます。それ以外はエラー・コードが戻されます。
例
void ESS_GetGenNameEx()
{
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;
ESS_BOOL_T bUnique= ESS_FALSE;
memset(&Object, '\0', sizeof(Object));
Object.hCtx = hCtx;
Object.ObjType = ESS_OBJTYPE_OUTLINE;
strcpy(szAppName, "Demo");
strcpy(szDbName, "Test");
strcpy(szFileName, "Test");
Object.AppName = szAppName;
Object.DbName = szDbName;
Object.FileName = szFileName;
sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE,
ESS_TRUE, &hOutline);
printf("EssOtlOpenOutline sts: %ld\n",sts);
/*************** Set and Get GenName **************/
Dimension = "Year";
GenNum = 1;
GenName = "Gen 1 Year";
//SetGenNameEx() so that Gen 1 members of Year cannot be non-unique
if (!sts)
{
sts = EssOtlSetGenNameEx(hOutline, Dimension,
GenNum, GenName, ESS_TRUE);
}
// GetGenNameEx() to see if the gen is able to be non-unique
if (!sts)
{
sts = EssOtlGetGenNameEx(hOutline, Dimension,
GenNum, &GenName, &bUnique);
printf("Generation 1 members of Year have bUnique value of %ld\n", bUnique);
printf("EssOtlGetGenNameEx sts: %ld\n",sts);
}
if (!sts && GenName)
{
printf("Gen Name: %s\n",GenName);
EssFree(hInst, GenName);
}
}
関連トピック