特定の次元に対して指定されたすべてのレベル名を取得します。
構文
ESS_FUNC_M
EssOtlGetLevelNames
(
hOutline, pszDimension, ulOptions, pulCount, pNameArray
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
Essbaseアウトライン・ハンドル。 |
pszDimension |
ESS_STR_T |
レベル名を取得する次元。 |
ulOptions |
ESS_ULONG_T |
これは、次のいずれかの値にできます:
|
pulCount |
ESS_PULONG_T |
pNameArrayに要素数が戻されます。指定したメンバーのレベル名の数です。 |
pNameArray |
ESS_GENLEVELNAME_T |
指定した次元に対するレベル名の構造体の配列。 |
備考
呼出し元は、EssFree()を呼び出して、使用後にpNameArray構造体を解放する必要があります。
この呼出しは、EssOtlOpenOutline()およびEssOtlOpenOutlineQuery()の両方に機能します。情報はEssOtlOpenOutlineQuery()呼出し中にサーバーから戻されるため、情報は両方に対してローカルに存在します。
戻り値
関数が正常終了した場合、戻り値は0になります。
例
#include <essapi.h>
#include <essotl.h>
ESS_STS_T sts = ESS_STS_NOERR;
ESS_HOUTLINE_T hOutline;
ESS_OBJDEF_T Object;
ESS_STR_T Dimension;
ESS_ULONG_T LevOpt;
ESS_ULONG_T pCount = 0, i;
ESS_PGENLEVELNAME_T pNameArray = ESS_NULL;
ESS_ACCESS_T Access;
ESS_STR_T AppName;
ESS_STR_T DbName;
AppName = "Sample";
DbName = "Basic";
sts=EssSetActive(hCtx, AppName, DbName, &Access);
if (sts == 0)
{
memset(&Object, '\0', sizeof(Object));
sts = EssOtlOpenOutlineQuery(hCtx, &Object, &hOutline);
Dimension = "Year";
LevOpt = ESS_GENLEV_ALL;
if (!sts)
{
sts = EssOtlGetLevelNames(hOutline, Dimension,
LevOpt, &Count, &pNameArray);
if(!sts && Count )
{
for(i = 0; i<Count; i++)
{
printf("\nNumber %ld, Name %s ",
pNameArray[i].usNumber, pNameArray[i].szName);
}
EssFree(hInst, pNameArray);
}
}
}
関連トピック