Function
activities are stored in PL/SQL procedures. There is a standard API format for
all stored procedures called by function activities. When the Workflow Engine
executes the function activity, the Workflow Engine passes four input variables
and, if a result type is set up for the activity, expects one output variable
in return. Output variables are:
· Itemtype A category of items that share the same
set of attributes (e.g., purchase order).
· Itemkey A unique identifier within the same item type for the
specific item passing through the workflow process.
· Actid The unique identifier of the activity that calls this stored
procedure.
· Funcmode The execution mode of the function
activity. It can be run, cancel, or timeout. The timeout mode is used for an
expired notification that was intended to solicit a response. Each notification
has a time-out value. If a notification has received no response after the
time-out value has been exceeded, the Workflow Engine will execute the
dependent activities with an execution mode of TIMEOUT.
· Result The result of the stored procedure. Results can be:
o
COMPLETE: result_code Stored procedure
completed. The result code is specified in the type of the function activity.
o
DEFERRED: date The stored procedure
is deferred, to be processed in the background or at a specified date
(optional).
o
ERROR: error_code The stored procedure
erred. You can, if you wish, provide the error code.
o
NOTIFIED:
notification_ID: user The stored procedure sent out a notification to a user. You
may return the unique identifier for the notification, the notification ID, and
the user who sent the notification.
o
WAITING The stored procedure
has been completed, but there is a waiting period before the function activity
is marked as Complete. The background Workflow Engine will mark the function
activity Complete after the waiting period has expired.
The
stored procedure declaration will be in the following format:
PROCEDURE
your_procedure_name (
itemtype in varchar2,
itemkey in varchar2,
actid in number,
funcmode in varchar2,
result out varchar2) IS
itemtype in varchar2,
itemkey in varchar2,
actid in number,
funcmode in varchar2,
result out varchar2) IS
Once
the procedure declaration is completed, you will then have the stored procedure
body. A pair of BEGIN and END markers encloses the stored procedure body. In
the procedure body, you must check the Funcmode variable to execute codes that
correspond to the RUN, CANCEL, and TIMEOUT modes.
1.
What does the input variable Itemkey represent?
2.
What does the input variable Actid represent?
3.
What three function activity execution modes are in a stored procedure?
4.
What are the possible results of a stored procedure in a function activity?