重複する一意でないメンバー名を禁止するように設定します。
構文
ESS_FUNC_M EssOtlSetDimensionNameUniqueness (
hOutline, hMember, bNameUnique
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル(入力)。 |
hMember |
ESS_HMEMBER_T |
次元ルート・メンバーのメンバー・ハンドル(入力)。 |
bNameUnique |
ESS_BOOL_T |
次元メンバー名の一意の設定(入力)。TRUEの場合、次元に重複するメンバー名を持たせることはできません。 |
備考
EssOtlFindMemberを呼び出して、ESS_HMEMBER_T (hDim)変数を設定してください。
戻り値
正常終了の場合は0が戻され、それ以外はエラーが戻されます。
例
ESS_FUNC_M ESS_GetSetDimNameUniq()
{
ESS_STS_T sts = 0;
ESS_POUTLINEINFO_T pInfo = ESS_NULL;
ESS_HOUTLINE_T hOutline;
ESS_OBJDEF_T Object;
ESS_APPNAME_T szAppName;
ESS_DBNAME_T szDbName;
ESS_OBJNAME_T szFileName;
ESS_BOOL_T pbNameUnique;
ESS_HMEMBER_T hDim = ESS_NULL;
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);
if (!sts)
{
sts = EssOtlFindMember(hOutline, "Year",&hDim);
if (sts)
printf("EssOtlFindMember failed sts %ld\n",sts);
}
/*Get the dimension's, Year, member-name uniqueness setting */
if (!sts)
{
sts = EssOtlGetDimensionNameUniqueness (hOutline, hDim, &pbNameUnique);
if (sts)
printf("EssOtlGetDimensionNameUniqueness failed sts %ld\n",sts);
else
printf("Dimension Year has Member Name Uniqueness value: %ld\n", pbNameUnique);
}
if (!sts)
{
sts = EssOtlFindMember(hOutline, "Product",&hDim);
if (sts)
printf("EssOtlFindMember failed sts %ld\n",sts);
}
if (!sts)
{
/*set Product to prohibit duplicate (non-unique) member names*/
pbNameUnique = ESS_TRUE;
sts = EssOtlSetDimensionNameUniqueness (hOutline, hDim, pbNameUnique);
if (sts)
printf("EssOtlSetDimensionNameUniqueness failed sts %ld\n",sts);
else
printf("Dimension Product has Member Name Uniqueness value: %ld\n", pbNameUnique);
}
return sts;
}
関連トピック