特定の次元に対して指定されたすべてのレベル名を取得します。レベル名はEsbOtlSetLevelNameでアウトラインに明示的に追加されます。
構文
EsbOtlGetLevelNames ( hOutline, pszDimension, ulOptions, pulCount ) ByVal hOutline As Long ByVal pszDimension As String ByVal ulOptions As Long pulCount As Long
パラメータ | 説明 |
---|---|
hOutline |
Esbbaseのアウトラインのハンドル。 |
pszDimension |
レベル名を取得する次元。 |
ulOptions |
これは、次のいずれかの値にできます:
|
pulCount |
pNameArrayに要素数が戻されます。指定したメンバーのレベル名の数です。 |
pulCount |
指定した次元に対するレベル名の構造体の配列。 |
備考
呼出し元は、pNameArray構造体の使用後、EsbFree()を呼び出してこの構造体を解放する必要があります。
プログラマは各レベル名構造体が戻されると、EsbGetNextItem()を1度呼び出す必要があります。
この呼出しは、EsbOtlOpenOutline()およびEsbOtlOpenOutlineQuery()の両方に機能します。EsbOtlOpenOutlineQuery()呼出し中にサーバーから戻されるため、情報は両方に対してローカルに存在します。
戻り値
関数が正常終了した場合、戻り値は0になります。
例
Declare Function EsbOtlGetLevelNames Lib "ESBOTLN" (ByVal hOutline As Long, ByVal pszDimension As String, ByVal ulOptions As Long, pulCount As Long) As Long Sub ESB_OtlGetLevelNames() Dim sts As Long Dim hOutline As Long Dim Object As ESB_OBJDEF_T Dim Dimension As String Dim LevOpt As Long Dim Count As Long Dim pLevName As ESB_GENLEVELNAME_T Dim Access As Integer Dim AppName As String Dim DbName As String AppName = "Sample" DbName = "Basic" sts = EsbSetActive(hCtx, AppName, DbName, Access) If sts = 0 Then sts = EsbOtlOpenOutlineQuery(hCtx, Object, hOutline) '************** Get Level Names ****************** Dimension = "Year" LevOtp = ESB_GENLEV_DEFAULT If sts = 0 Then sts = EsbOtlGetLevelNames(hOutline, Dimension, LevOpt, Count) If sts = 0 And pCount <> 0 Then For n = 1 To Count sts = EsbGetNextItem(hCtx, ESB_GENLEVELNAME_TYPE, pLevName) Next End If End If End If End Sub
関連トピック