|Oracle Workflow Developer's Guide|
Part Number B10284-02
RETRY_ONLY is the internal name of the Retry-only error process. The purpose of this error handling process is to alert an administrator when an error occurs in a process and prompt the administrator to retry the process in error. The process automatically terminates when the error is no longer active.
Although you cannot edit the Retry-only process, the process is flexible enough for you to customize its behavior. You can define two item type attributes called WF_ADMINISTRATOR and ERROR_TIMEOUT in your item type that calls the Retry-only process to control the error processing that is performed.
The Initialize Error activity calls a PL/SQL procedure named WF_STANDARD.INITIALIZEERRORS. This procedure determines if the item type of the errored process has an item type attribute defined with an internal name of WF_ADMINISTRATOR. If it does, it sets the performer of the subsequent notification activity, NTF with RETRY Only, to the role stored in WF_ADMINISTRATOR. If it does not, the subsequent notification activity remains set to the default performer, System Administrator.
By checking for an item attribute called WF_ADMINISTRATOR in your errored process' item type, the Initialize Error activity lets you specify who you want a notification to be sent to in the case of an error in your specific process without modifying the error process.
The NTF with RETRY Only activity sends the Retry As Only Option message to a performer (the System Administrator or whatever role is stored in your item type's WF_ADMINISTRATOR item attribute). The message indicates that an error has occurred in the specified process and prompts the administrator to retry the activity that errored. The error process then transitions to the Retry function activity and ends the Retry-only error process.
Note: The notification message's embedded URL link displays the process in error in the Workflow Monitor with full administrator privileges. You can perform actions such as retrying, skipping or rolling back part of your process within the Workflow Monitor to resolve the error.
The subject and body of the Retry As Only Option message are as follows:
Subject: Error in Workflow &ERROR_ITEM_TYPE/&ERROR_ITEM_KEY
Body: An Error occurred in the following Workflow.
Item Type = &ERROR_ITEM_TYPE
Item Key = &ERROR_ITEM_KEY
User Key =&ERROR_USER_KEY
Error Name = &ERROR_NAME
Error Message = &ERROR_MESSAGE
Error Stack = &ERROR_STACK
Activity Id = &ERROR_ACTIVITY_ID
Activity Label = &ERROR_ACTIVITY_LABEL
Result Code = &ERROR_RESULT_CODE
Notification Id = &ERROR_NOTIFICATION_ID
Assigned User = &ERROR_ASSIGNED_USER
The NTF with RETRY Only notification activity has a dynamic timeout value assigned to it. It checks the item type of the process in error for an item attribute that has an internal name called ERROR_TIMEOUT. ERROR_TIMEOUT must be an attribute of type NUMBER. The Workflow Engine interprets the timeout value of this attribute as a relative offset from the begin date of the activity, in the unit of MINUTES. If ERROR_TIMEOUT contains a null value, a value of zero, or is not defined at all, then NTF with RETRY Only has no timeout.
The Workflow Engine initiates the Error Still Active function activity if the NTF with RETRY Only activity times out.
The Error Still Active activity calls a PL/SQL procedure called WF_STANDARD.CHECKERRORACTIVE. The purpose of the Error Still Active activity is to determine whether the errored process is still in error before continuing with the error handling. If it is, Error Still Active returns TRUE and the Workflow Engine transitions back to the NTF with RETRY Only notification activity to send another notification to the administrator. If the errored process is no longer in error, this activity returns False and the error handling process ends, as modelled in the process diagram.
The Retry function activity executes the PL/SQL procedure WF_STANDARD.RESETERROR to clear the activity that was in error and run it again. This procedure calls the WF_ENGINE.HandleError API to rerun the activity.
Workflow Core APIs, Oracle Workflow API Reference