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