Oracle Workflow Engine APIs
Inside a stored procedure, you must use Workflow Engine APIs to communicate with the Workflow Engine. All Workflow Engine APIs are stored in a PL/SQL package called WF_ENGINE. The following is the list of Workflow Engine APIs present inside the WF_ENGINE package.
Procedure Name
|
Description
|
Variable(I=Input,
O=Output)
|
AddItemAttr
|
Add a new unvalidated runtime item
attribute.
|
Item type(I)
|
SetItemAttrText
|
Set the value of a text item
attribute.
|
Item type(I)
Item key(I)
Attribute name(I)
New value(I)
|
SetItemAttrNumber
|
Set the value of a number item
attribute.
|
Item type(I)
Item key(I)
Attribute name(I)
New value(I)
|
SetItemAttrDate
|
Set the value of a number item
attribute.
|
Item type(I)
Item key(I)
Attribute name(I)
New value(I)
|
GetItemAttrInfo
|
Get type information about an item
attribute.
|
Item type(I)
Attribute name(I)
Attribute type(O)
Subtype(O)
Format(O)
|
GetActivityAttrInfo
|
Get type information about an
activity attribute.
|
Item type(I)
Item key(I)
Activity ID(I)
Attribute name(I)
Attribute type(O)
Sub-type(O)
Format(O)
|
SetItemParent
|
Set the parent/master process for a
detail process.
|
Item type(I)
Item key(I)
Parent item type(I)
Parent item key(I)
Parent context(I)
|
SetItemOwner
|
Set the owner of an item.
|
Item type(I)
Item key(I)
Owner(I)
|
SetItemUserKey
|
Set the user-friendly identifier for
an item.
|
Item type(I)
Item key(I)
User key(I)
|
CB
|
Callback function used by the
Notification System to get and set
process attributes, and mark a
process complete.
|
Action(I)
Context(I)
Attribute name(I)
Attribute type(I)
Text attribute value(I,O)
Number attribute
value(I,O)
Date attribute value(I,O)
|
ProcessDeferred
|
Process all deferred activities within
the threshold limits.
|
Item type(I)
Minimum threshold(I)
Maximum threshold(I)
|
ProcessTimeOut
|
Pick up one timed-out activity and
execute time-out transition.
|
Item type(I)
|
ProcessStuckProcess
|
Pick up one stuck activity, mark
error status, and execute error
process.
|
Item type(I)
|
Background
|
Process all current deferred and/or
time-out activities within the
threshold limits.
|
Item type(I)
Minimum threshold(I)
Maximum threshold(I)
Process deferred flag(I)
Process timeout flag(I)
|
BackgroundConcurrent
|
Send background process for
deferred and/or time-out activities
to the concurrent manager.
|
Error buffer(O)
Return code(O)
Item type(I)
Minimum threshold(I)
Maximum threshold(I)
Process deferred flag
Process timeout flag
|
CreateProcess
|
Create a new runtime process for
an item.
|
Item type(I)
Item key(I)
Root process(I)
|
StartProcess
|
Begins execution of the process.
|
Item type(I)
Item key(I)
|
SuspendProcess
|
Suspends process execution.
Outstanding notifications will be
allowed to finish, but activity
transitions will not occur.
|
Item type(I)
Item key(I)
Process to suspend(I)
|
AbortProcess
|
Abort process execution.
Outstanding notifications are
cancelled. The process is then
considered complete, with a status
specified by the result variable.
|
Item type(I)
Item key(I)
Process to abort(I)
Result(O)
|
ResumeProcess
|
Returns a process to normal
execution status. Used after a
process is suspended.
|
Item type(I)
Item key(I)
Process to resume(I)
|
BeginActivity
|
Determines if the specified activity
may currently be performed on the
item.
|
Item type(I)
Item key(I)
Activity(I)
|
CompleteActivity
|
Notifies the Workflow Engine that
an activity for an item has been
completed.
|
Item type(I)
Item key(I)
Activity(I)
Result(I)
|
AssignActivity
|
Assigns the user or role (performer)
who will perform an activity.
|
Item type(I)
Item key(I)
Activity(I)
Performer(I)
|
HandleError
|
Resets the process thread to the
entered activity and begins
execution again from that point.
|
Item type(I)
Item key(I)
Activity(I)
Command(I)
Result(I)
|
The last section of the stored procedure body is the EXCEPTION block for exception handling. Any kind of exception handling is allowed in PL/SQL. The only thing you must do is set the context information.
This is done by the API calls
WF_CORE.CONTEXT(‘your_package_name’, ‘your_procedure_name’, itemtype, itemkey, to_char(actid), funcmode)
Your stored procedure can be in a PL/SQL package. The package groups store procedures with in the same category.
No comments:
Post a Comment