During application stage
When an OSA invocation includes a list of object instances,
Server API breaks it
down in the application stage and processes each object instance
individually. Each execution procedure should perform its intended
application as a whole or not at all.
Those that are run per attribute
should just be concerned whether there will be any errors effecting the
modification of that one attribute. If there are none, then the application
of the attribute's change can be completed. Otherwise the application of the
attribute's change should not be attempted.
Those that are run per object should be concerned whether they can
complete the entire operation without error or not. If the entire operation
can be completed, only then should it be done. If any error would occur then
the entire application should be aborted and the error returned.
The execution procedures should return one of the following errors
at the top of the error stack (other messages can be placed lower
on the stack):
These can be generated by these commands:
The invoker does not have permission to run the specified operation.
The class is asked to create an object that already exists.
The class encounters an otherwise unspecified error
in a get operation.
The class encounters an otherwise unspecified error in a set,
add, or remove operation.
The value passed to an action
in a argument is illegal or out of bounds.
The value passed to an operation or
filter in an attribute is illegal or out of bounds.
The value passed to an action does not exist, or has no meaning.
The value action type passed to an action is unrecognized.
The filter function is unrecognized, a value is out of bounds, or otherwise
The named object instance violates the naming rules.
An operation (not create) asked to run on a non-existent object.
SCO_OSA_ERR_NO_SUCH_OBJECT_REFERENCE A create
operation asked to base new object instance on a non-existent object.
A failure occurs because of a resource limitation.
ErrorPush errStackVar throw messageId [argList] Tcl
ErrorPush(errStatus_cl *, const intlMsg_t *, ...) C/C++
Any execution procedure returning and error stack
without one of the previous
errors at the top of the error stack will have the
placed on the top of the stack. See
for more information.
Execution procedure data structures
During validation stage
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 03 June 2005