EssOtlRestructure

Description

EssOtlRestructure() restructures an outline on the server. This is an asynchronous call.

Syntax

ESS_FUNC_M EssOtlRestructure (hCtx, usRestructType);
ESS_HCTX_T hCtx
ESS_USHORT_T usRestructType

Parameters

hCtxServer login context handle. This must be the server on which the outline was saved using EssOtlWriteOutline().
usRestructTypeType of restructuring to do. This can be one of the following values:
ESS_DOR_ALLDATA
ESS_DOR_INDATA
ESS_DOR_LOWDATA
ESS_DOR_NODATA

Return Value

Returns 0 if successful; otherwise:

OTLAPI_BAD_RESTRUCTTYPE

Notes

Access

This function requires you to have the appropriate level of access to the specified application and/or database to contain the outline object. To restructure the outline object, you must have Application Designer or Database Designer privilege (ESS_PRIV_APPDESIGN or ESS_PRIV_DBDESIGN) for the specified application or database containing the outline.

Example

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

ESS_STS_T          sts = 0;
ESS_HCTX_T         hCtx;
ESS_HOUTLINE_T     hOutline;
ESS_OBJDEF_T       Object;
ESS_APPNAME_T      szAppName;
ESS_DBNAME_T       szDbName;
ESS_OBJNAME_T      szFileName;  

memset(&Object, '\0', sizeof(Object));
Object.hCtx = hCtx;
Object.ObjType = ESS_OBJTYPE_OUTLINE;
strcpy(szAppName, "Sample");
strcpy(szDbName, "Basic");
strcpy(szFileName, "Basic");
Object.AppName = szAppName;
Object.DbName = szDbName;
Object.FileName = szFileName;

sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE,
     ESS_TRUE, &hOutline);

/* body of code */
/* write outline to server using */
/* EssOtlWriteOutline()          */

if (!sts)
{
   sts = EssOtlRestructure(hCtx, ESS_DOR_ALLDATA);
}

/* need to call EssGetProcessState() */
/* to check for completion before proceeding */

See Also

EssOtlOpenOutline()
EssOtlNewOutline()
EssOtlWriteOutline()
EssOtlVerifyOutline()
EssOtlCloseOutline()