Writes the existing outline information to disk.
Syntax
ESS_FUNC_M EssOtlWriteOutline (hOutline, pObject);
Parameter | Data Type | Description |
---|---|---|
hOutline | ESS_HOUTLINE_T | Outline context handle. |
pObject | ESS_POBJDEF_T | Outline object to write. |
Notes
If you are saving the outline as a server object, the outline is initially saved as a .OTN file. You should then call EssOtlRestructure() to create the actual .OTL file.
If you are saving the outline as a server object, the object name must be the same as the database name.
The database must already exist if you are saving a server outline object, or a client outline object to a local database.
This call fails if the outline is not currently locked by the specified user (hCtx parameter in the ESS_OBJDEF_T structure).
Return Value
Returns 0 if successful; otherwise one of the following:
OTLAPI_BAD_OBJTYPE
OTLAPI_ERR_NOTVERIFIED
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 write 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_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 */ if (!sts) { sts = EssOtlWriteOutline(hOutline, &Object); } /* restructure db using EssOtlRestructure() */
See Also