# EssOtlOpenOutlineQuery

Description

EssOtlOpenOutlineQuery() opens an existing outline.

Syntax

    ESS_FUNC_M EssOtlOpenOutlineQuery (hCtx, pObject, phOutline);

ESS_HCTX_T | hCtx
ESS_POBJDEF_T | pObject
ESS_PHOUTLINE_T | phOutline

Parameters

hCtx | Outline context handle. This must be a valid server login context.
pObject | Pointer to object structure defining the outline object to open. Currently this is ignored. You should call EssSetActive() for the database you are accessing.
phOutline | Pointer to an ESS_HOUTLINE_T variable. This will be set by the API and should be passed in to subsequent API functions.

Return Value

The return value is zero if the function was successful.

OTLAPI_BAD_OBJTYPE
OTLAPI_ERR_FILEOPEN
OTLAPI_ERR_FILEIO

Notes

- Use this function to access an outline using EssOtlQueryMembers().
- The call will not download the outline and load the entire file into memory.
- Therefore, many of the outline API calls will not work with hOutline that is passed back from this call.
- The following calls are accessible after this call is made. All other Outline API calls will return an error.
  - EssOtlCloseOutline
  - EssOtlGetMemberAlias
  - EssOtlGetMemberFormula
  - EssOtlGetMemberInfo
  - EssOtlGetNextAliasCombination
  - EssOtlGetOutlineInfo
  - EssOtlGetUserAttributes
  - EssOtlGetGenName
  - EssOtlGetGenNames
  - EssOtlGetLevelName
  - EssOtlGetLevelNames
  - EssOtlGetMemberLastFormula

Example

    #include <essapi.h>
    #include <essotl.h>

    ESS_STS_T          sts = ESS_STS_NOERR;
    ESS_HOUTLINE_T     hOutline;
    ESS_OBJDEF_T       Object;
    ESS_ACCESS_T       Access;
    ESS_STR_T          AppName;
    ESS_STR_T          DbName;

    AppName = "Sample";
    DbName = "Basic";

    sts = EssSetActive(hCtx, AppName, DbName, &Access);

    if ( sts == 0)
    {
    memset(&Object, '\0', sizeof(Object));
    sts = EssOtlOpenOutlineQuery(hCtx, &Object, &hOutline);
    }

See Also

EssOtlCloseOutline()
EssOtlOpenOutline()
EssOtlQueryMembers()
EssOtlQueryMembersByName()
EssSetActive()