Verifies that an outline is correct. Returns both global outline errors and errors for each incorrect member.
Syntax
EsbOtlVerifyOutline (hOutline, pulErrors, pulCount) ByVal hOutline As Long pulErrors As Long pulCount As Long
| Parameter | Description |
|---|---|
hOutline | Outline context handle. |
pulErrors | Return variable representing the bitmask for return of global outline errors. Currently, this field has only one value: ESB_OUTERROR_CURTOOMANYDIMS |
pulCount | Count of members with errors. |
Notes
This function checks for duplicate user attributes in shared members and duplicate level or generation names or aliases.
Saving the outline to the server succeeds only when the outline is free of errors (*pulErrors == 0 and *pulCount == 0).
To retrieve error values:
Allocate an ESB_OUTERROR_T structure.
Call EsbGetNextItem() once for each member error (returned in the pulCount variable).
Each call to EsbGetNextItem() returns the error information for a member in an ESB_OUTERROR_T structure.
Return Value
Returns 0 if successful; otherwise one of the following:
ESB_OUTERROR_SHAREUDA
ESB_OUTERROR_DUPGENLEVNAME
Example
Declare Function EsbOtlVerifyOutline Lib
"ESBOTLN" (ByVal hOutline As Long, pulErrors As Long,
pulCount As Long) As Long
Sub ESB_OtlVerifyOutline()
Dim sts As Long
Dim Object As ESB_OBJDEF_T
Dim hOutline As Long
Dim ulErrors As Long
Dim ulCount As Long
Dim pOutError As ESB_OUTERROR_T
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)
'body of code
If sts = 0 Then
sts = EsbOtlVerifyOutline(hOutline,
ulErrors, ulCount)
Do While sts = 0 And ulCount > 0
sts = EsbGetNextItem(hCtx,
ESB_OUTERROR_TYPE, pOutError)
ulCount = ulCount - 1
'do something with the error value
Loop
End If
End SubSee Also