# EsbOtlMoveMember

Description

EsbOtlMoveMember() moves a member.

Syntax

    EsbOtlMoveMember (hOutline, hMember, hNewParent, hNewPrevSibling)

    ByVal hOutline        As Long
    ByVal hMember         As Long
    ByVal hNewParent      As Long
    ByVal hNewPrevSibling As Long

Parameters

hOutline | Outline context handle.
hMember | Handle of member to move.
hNewParent | Handle of new parent. This field is only used if the hNewPrevSibling field is ESB_NULL.
hNewPrevSibling | Handle of new previous sibling.

Return Value

Returns 0 if successful; otherwise:

OTLAPI_BAD_MOVE

Notes

- The moved member is inserted following the hPrevSibling member. If this field is ESB_NULL, the moved member becomes the first child of the parent specified by hParent.
- If both hParent and hPrevSibling are ESB_NULL, the moved member becomes the first dimension in the outline.
- Moving a zero-level (leaf node) attribute member that is not of type ESB_ATTRMBRDT_STRING resets the member's long name, using the specifications for the outline in the ESB_ATTRSPECS_T structure.
- Moving an ancestor may affect the long name of a zero-level attribute member.

Example

    Declare Function EsbOtlMoveMember Lib
    "ESBOTLW" (ByVal hOutline As Long, ByVal hMember As Long,
    ByVal hNewParent As Long, ByVal hNewPrevSibling As Long) As Long

    Sub ESB_OtlMoveMember()
    Dim sts As Long
    Dim Object As ESB_OBJDEF_T
    Dim hOutline As Long
    Dim hMemberProfit As Long
    Dim hFQ 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, "First Q", hFQ)
    End If

    If sts = 0 Then
       sts = EsbOtlFindMember(hOutline, "Profit", hMemberProfit)
    End If

    If sts = 0 And hFQ And hMemberProfit Then
       sts = EsbOtlMoveMember(hOutline, hFQ,
        hMemberProfit, ESB_NULL)
    End If
    End Sub

See Also

EsbOtlFindMember()
EsbOtlRenameMember()
EsbOtlAddMember()
EsbOtlDeleteMember()