特定の次元に対して指定されたすべてのレベル名を取得します。
構文
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); } } }
関連トピック