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