Verifies that an outline is correct. The function returns both global outline errors and errors for each incorrect member.
Syntax
ESS_FUNC_M EssOtlVerifyOutline (hOutline, pulErrors, pulCount, pMbrErrors);
Parameter | Data Type | Description |
---|---|---|
hOutline | ESS_HOUTLINE_T | Outline context handle. |
pulErrors | ESS_PULONG_T | Pointer to bitmask destination for global outline errors. Currently, this field has only one value: ESS_OUTERROR_CURTOOMANYDIMS |
pulCount | ESS_PULONG_T | Count of members with errors. This defines the number of elements of the pMbrErrors array. |
pMbrErrors | ESS_OUTERROR_T | Pointer to an array with *pulCount members. Each element of the array contains the errors for a single member. |
Notes
This function checks for:
Duplicate user attributes in shared members
Duplicate level or generation names or aliases
Restrictions on adding and associating attributes
Saving the outline to the server succeeds only when the outline is free of errors (*pulErrors == 0 and *pulCount == 0).
Use EssFree() to free the pMbrErrors array.
Return Value
Returns 0 if successful; otherwise one of the following:
ESS_OUTERROR_SHAREUDA
ESS_OUTERROR_DUPGENLEVNAME
Example
#include <essapi.h> #include <essotl.h> ESS_STS_T sts = 0; ESS_OBJDEF_T Object; ESS_HOUTLINE_T hOutline; ESS_ULONG_T ulErrors; ESS_ULONG_T ulCount; ESS_POUTERROR_T pMbrErrors = ESS_NULL; 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); if (!sts) { sts = EssOtlVerifyOutline(hOutline, &ulErrors, &ulCount, &pMbrErrors); } if (pMbrErrors) { EssFree(hInst, pMbrErrors); }
See Also