EssOtlIsMemberNameUniqueWithinDimAtGenLevel

指定した世代またはレベルにある次元内ですべてのメンバー名が一意であるかどうかを判定します。

構文

            ESS_FUNC_M EssOtlIsMemberNameUniqueWithinDimAtGenLevel (
            hOutline, hDim, bGen, usGenLevel, *pbNameUnique
            );
         
パラメータデータ型説明

hOutline

ESS_HOUTLINE_T

アウトラインのコンテキスト・ハンドル。

hDim

ESS_HMEMBER_T

入力の次元。これは、EssOtlQueryGetFirstDimension()またはEssOtlQueryGetNextDimension()によって戻されます。

bGen

ESS_BOOL_T

入力。TRUEの場合は、usGenLevelが世代番号とみなされます。FALSEの場合は、usGenLevelはレベル番号とみなされます。

usGenLevel

ESS_USHORT_T

入力された世代またはレベルの番号。

*pbNameUnique

ESS_BOOL_T

出力。クエリーされた次元に、指定した世代またはレベルで重複するメンバー名が含まれている場合にはTRUEが戻され、それ以外の場合はFALSEが戻されます。

備考

戻り値

正常終了の場合は0が戻され、それ以外はエラーが戻されます。

         ESS_FUNC_M ESS_ISUniqMemberNameWithinDimatGenLev()
{
 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_HMEMBER_T   hDim,hNextDim;
 ESS_BOOL_T    pbNameUnique, bGen = ESS_TRUE;
 ESS_USHORT_T   usGenLevel = 3;
 

 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 = EssOtlOpenOutlineQuery (hCtx, &Object, &hOutline);
 

 if (!sts)
 {
  sts = EssOtlQueryGetFirstDimension(hOutline, &hDim);
    
  if (sts)
   printf("EssOtlQueryGetFirstDimension failed sts %ld\n",sts);
 }
 

 if (!sts)
 {
   sts =  EssOtlIsMemberNameUniqueWithinDimAtGenLevel (hOutline, hDim, bGen, usGenLevel, &pbNameUnique);
   if (sts)
    printf("EssOtlIsMemberNameUniqueWithinDimAtGenLevel failed sts %ld\n",sts);
   else
    printf("pbNameUnique is %d\n", pbNameUnique);
 }
 
     if (!sts)
  {
  sts = EssOtlQueryGetNextDimension (hOutline, hDim, &hNextDim);
    
  if (sts)
   printf("EssOtlQueryGetFirstDimension failed sts %ld\n",sts);
  }
 

 if (!sts)
 {
   sts =  EssOtlIsMemberNameUniqueWithinDimAtGenLevel (hOutline, hNextDim, bGen, usGenLevel, &pbNameUnique);
   if (sts)
    printf("EssOtlIsMemberNameUniqueWithinDimAtGenLevel failed sts %ld\n",sts);
   else
    printf("pbNameUnique is %d\n", pbNameUnique);
 }
 
 
 
 return sts;
}
      

関連トピック