# EsbOtlSetMemberInfo

Description

EsbOtlSetMemberInfo() sets member attribute information.

Syntax

    EsbOtlSetMemberInfo (hOutline, hMember, pInfo)

    ByVal hOutline As Long
    ByVal hMember  As Long
          pInfo    As ESB_MBRINFO_T

Parameters

hOutline | Outline context handle.
hMember | Handle to member to set attributes for.
pInfo | Member information structure.

Return Value

Returns 0 if successful; otherwise one of the following:

OTLAPI_BAD_CONSOL
OTLAPI_BAD_MBRNAME
OTLAPI_BAD_MEMBER
OTLAPI_ERR_ADDNAMEUSED
OTLAPI_ERR_CURTOOMANYDIMS
OTLAPI_ERR_BADSHARE
OTLAPI_ERR_BADSKIP
OTLAPI_ERR_BADSTORAGE
OTLAPI_ERR_BADSTORAGECATEGORY
OTLAPI_ERR_BADTIMEBAL
OTLAPI_ERR_ILLEGALBOOLEAN
OTLAPI_ERR_ILLEGALCURRENCY
OTLAPI_ERR_ILLEGALDATE
OTLAPI_ERR_ILLEGALNAME
OTLAPI_ERR_ILLEGALNUMERIC
OTLAPI_ERR_ILLEGALTAG
OTLAPI_ERR_LEAFLABEL
OTLAPI_ERR_NOSHAREPROTO
OTLAPI_ERR_NOTIMEDIM
OTLAPI_ERR_SHARENOTLEVEL0

Notes

- EsbOtlGetMemberInfo() should be called to initialize the fields of the ESB_MBRINFO_T structure.
- Attributes:
  - Two fields of the ESB_MBRINFO_T structure are for attributes only:

    Data Type | Field | Description
    As Variant | Attribute | Attribute value: For an attribute dimension or zero-level (leaf node) attribute member, one of the following data types: ESB_ATTRMBRDT_BOOL ESB_ATTRMBRDT_DATETIME ESB_ATTRMBRDT_DOUBLE ESB_ATTRMBRDT_STRING For any attribute member, but not an attribute dimension: ESB_ATTRMBRDT_NONE ESB_ATTRMBRDT_AUTO
    Note: Use ESB_ATTRMBRDT_AUTO only when adding a member. See Notes on Adding an Attribute Member.
    As Integer | IsAttributed | Indicates whether the member has attributes associated with it.

  - Values for two fields of the ESB_MBRINFO_T structure are for attributes only:

    Data Type | Field | Description
    As Integer | usCategory | One of the following dimension categories: ESB_CAT_ATTRIBUTE ESB_CAT_ATTRCALC (for internal use only)
    As Integer | usStorageCategory | One of the following dimension storage categories: ESB_STORECAT_ATTRIBUTE ESB_STORECAT_ATTRCALC (for internal use only)

Example

    Declare Function EsbOtlSetMemberInfo Lib
    "ESBOTLW" (ByVal hOutline As Long, ByVal hMember As Long,
    pInfo As ESB_MBRINFO_T) As Long

    Sub ESB_OtlSetMemberInfo()
    Dim sts As Long
    Dim Object As ESB_OBJDEF_T
    Dim hOutline As Long
    Dim MbrInfo As ESB_MBRINFO_T
    Dim hFeb As Long

    Object.hCtx = hCtx
    Object.Type = ESB_OBJTYPE_OUTLINE
    Object.AppName = "Sample"
    Object.DbName = "Basic"
    Object.FileName = "Basic"

    sts = EsbOtlOpenOutline(hCtx, Object,
    ESB_YES, ESB_YES, hOutline)

    If sts = 0 Then
       sts = EsbOtlFindMember(hOutline, "Feb", hFeb)
    End If

    If sts = 0 And hFeb <> 0 Then
       MbrInfo.fTwoPass = ESB_TRUE
       MbrInfo.fExpense = ESB_TRUE
       MbrInfo.usTimeBalance = ESB_TIMEBAL_AVG
       MbrInfo.usSkip = ESB_SKIP_ZEROS
       MbrInfo.usConsolidation = ESB_UCALC_MULT
       sts = EsbOtlSetMemberInfo(hOutline, hFeb, MbrInfo)
    End If
    End Sub

See Also

EsbGetMemberInfo()
EsbOtlFindMember()