EssGetSrvOutlineInfo

Essbaseサーバーに保管されたアウトライン情報を取得します。この関数を使用する前にアウトライン・クエリー・モードで開くための要件はありません。

構文

            ESS_FUNC_M EssGetSrvOutlineInfo (
            hCtx
            , 
            AppName
            , 
            DbName
            , 
            pSvrOutlineInfo
            );
         
パラメータデータ型説明

hCtx

ESS_HCTX_T

APIコンテキスト・ハンドル。

AppName

ESS_STR_T

アプリケーション名。

DbName

ESS_STR_T

データベース名。

pSvrOutlineInfo

ESS_SVROTLINFO_T

Essbaseサーバーに保管されるアウトライン情報を含む構造体へのポインタ。

戻り値

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

         ESS_FUNC_M ESS_GetSrvOutlineInfo()
{
 
 ESS_STS_T    sts = 0;
 ESS_INT_T    i;
 ESS_OBJDEF_T   Object;
 ESS_APPNAME_T   szAppName;
 ESS_DBNAME_T   szDbName;
 ESS_OBJNAME_T   szFileName; 
 ESS_SVROTLINFO_T  SvrOutlineInfo;
 
 
 
 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 = EssGetSrvOutlineInfo (hCtx, szAppName, szDbName, &SvrOutlineInfo);
 
 if (!sts)
 {
      printf("\nCase sensitivity is set to: %d", (SvrOutlineInfo).fCaseSensitive);
      printf("\nOutline type is set to: %d", (SvrOutlineInfo).usOutlineType);
      printf("\nOutline allows duplicate names is set to: %d", (SvrOutlineInfo).fNonUniqueName);
      printf("\nNumber of alias tables is: %d", (SvrOutlineInfo).usNumAliasTables);
      printf("\nNames of the alias tables are:");
  
      for (i= 0; i <  (SvrOutlineInfo).usNumAliasTables; ++i)
          printf("\n   %s", (SvrOutlineInfo).pAliasTables[i]);
 }
 
 return sts;
}

      

前述の例の出力は、次のとおりです:

         Case sensitivity is set to: 0
Outline type is set to: 0
Outline allows duplicate names is set to: 1
Number of alias tables is: 2
Names of the alias tables are:
   Default
   Long Names