ROLLBACK_UC_OBJECT
Use the ROLLBACK_UC_OBJECT script function to roll back an active task. You can roll back the following types of tasks:
- A whole Workflow, including all tasks within the Workflow
 - Part of a Workflow, rolling back until a specific task earlier in the Workflow
 - An individual task
 
Important!
- Enable rollback and define rollback actions in the object definition of any tasks that you want to roll back. ROLLBACK_UC_OBJECT processes the rollback actions that are specified for the task.
 - Rolling back is only possible for tasks that have not been deactivated.
 
More Information:
Tip: Use RERUN_UC_OBJECT to rerun tasks that have been rolled back.
Syntax
ROLLBACK_UC_OBJECT (RunID)
ROLLBACK_UC_OBJECT ([Workflow RunID], RunID2)
ROLLBACK_UC_OBJECT (Workflow RunID, START)
Parameters
- 
                    
ROLLBACK_UC_OBJECT
Rolls back the task - 
                    
RunID
RunID of the task to roll back
Format: script variable, number without quotations, or script literal - 
                    
Workflow RunID
RunID of the Workflow when you want to roll back part of a Workflow until the task with RunID2
Note: The parameter is optional when you roll back part of a Workflow, and required when you roll back all the way to the START box.
Format: script variable, number without quotation marks, or script literal - 
                    
RunID2
RunID of the task that you want to roll back to within the Workflow
Format: script variable, number without quotation marks, or script literal
Note: Specify the Workflow RunID and the START keyword without quotation marks to roll back to the START box. 
Return Codes
- 11121
                    
No task was found with the specified RunID. - 12108
                    
Rollback is not possible for the task: rollback is not enabled in the object definition. - 12107
                    
Rollback is not possible for task because of the current task status. - 20282
                    
Runtime error: Object not found. 
Example
The following example activates a Job, and rolls back the task when the Job ends abnormally:
:SET &ACT# = ACTIVATE_UC_OBJECT(JOBS.TEST,WAIT)
                
:SET &RET# = GET_UC_OBJECT_STATUS(, &ACT#, "RETCODE")
                
                
:IF &RET# > 0
                
: SET &RB# = ROLLBACK_UC_OBJECT(&ACT#)
                
:ENDIF
            
See also: