EssOtlGetGenNameEx

次元内の特定の世代について、名前とメンバーの一意性の設定を取得します。

構文

            ESS_FUNC_M 
            EssOtlGetGenName
             (
            hOutline, pszDimension, usGen, ppszName, pbNameUnique
            );
         
パラメータデータ型説明

hOutline

ESS_HOUTLINE_T

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

pszDimension

ESS_STR_T

対象の世代を含む次元の名前。

usGen

ESS_USHORT_T

名前を取得する世代の番号。次元は世代1です。

ppszName

ESS_PSTR_T

世代名が戻されるバッファ。APIによって割り当てられます。

pbNameUnique

ESS_PBOOL_T

メンバー名の一意性の設定。

備考

戻り値

正常終了の場合は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);
   }
 
}
      

関連トピック