Execution of a disposition schedule involves calculating
the cutoff date, calculating phase dates, and performing associated
actions (including cutoff and phase actions) on an entity.
Out-of-the-box Sweep and disposition processing
Out-of-the-box
RM application and Disposition Sweep both perform disposition processing.
The disposition processing is based entirely on properties and workflows.
Properties allow Disposition Sweep and IBM® Enterprise
Records to keep track of when
to enable workflow launch, indicate which schedule and which phase
the entity is currently in. The workflow does all the action such
as destroy, review, transfer, and export. Workflow also transfers
the entity to the next phase and generates transcripts.
Calculating
cutoff-related date and performing cutoff action are initiated by
Disposition Sweep. Disposition Sweep is a daemon process that can
be configured to execute at a scheduled time. In addition, Disposition
Sweep keeps track of the specified event and entities associated with
the disposition schedule. When you run the Disposition Sweep program,
if the specified event occurs or the specified calendar date arrives,
the disposition schedule is triggered and the cutoff date is calculated.
Entities remain in the cutoff period for the specified cutoff retention
period. Once the cutoff retention is over and the cutoff date arrives,
Disposition Sweep automatically launches the cutoff workflow if there
is a cutoff workflow associated with the cutoff action, updates the
disposition data of the entity and passes the entity to the 1st phase
after completing the cutoff workflow. Else if there is no cutoff action
then simply trigger to the 1st phase and updates the disposition data.
Entities
remain in a phase period for the specified phase retention period.
Once the specified phase execution date arrives, user can manually
initiate phase action using the RM application. RM application launches
workflow if there is a workflow associated with the phase action,
updates the disposition data of the entity and passes the entity to
the next phase.
Besides use out-of-the-box Disposition Sweep
program to execute disposition schedules, you can also execute disposition
schedules using RM API classes and interfaces directly, which is shown
below.
Executing cutoff
- Calculating cutoff
- DispositionAllocatableObject object means the
object that can associate with a disposition schedule. RecordCategory, RecordFolder and RecordType object
are all DispositionAllocatableObject object. To execute
cutoff, call the DispositionSchedule.runDisposalTrigger() method,
passing the DispositionAllocatableObject object as
parameter. This method checks whether the disposal trigger for the DispositionAllocatableObject object
has been triggered. If the event has occurred or the calendar date
has arrived, this method sets the CurrentPhaseExecutionDate (CPED)
and other disposal related data on the object based on the disposal
trigger associated with the schedule.
- Calculating cutoff-related date and performing cutoff action are
initiated by a utility program called DisposalSweep. DisposalSweep is
a daemon process that is configured to execute at a scheduled time.
In addition, DisposalSweep keeps track of the specified
event and entities associated with the disposition schedule. When
the specified event occurs or the specified calendar date arrives,
the disposition schedule is triggered and the cutoff date is calculated.
Entities remain in the cutoff period for the specified cutoff retention
period. Once the cutoff retention is over and the cutoff date arrives, DisposalSweep automatically
launches the workflows associated with the cutoff action and passes
entities to the next phase.
DispositionSchedule loDS = loDispositionAllocatableObject.getAssociatedDisposalSchedule();
// Calls the runDisposaltrigger() method of DispositionSchedule and passes
// the DispositionAllocatableObject object as input parameter
loDS.runDisposaltrigger(loDispositionAllocatableObject)
- Launching cutoff workflow
- Entities remain in the cutoff period for the specified cutoff
retention period. Once the cutoff retention is over and the cutoff
date arrives, then the disposition sweep launches the cutoff workflow
using the private method launchCuttOffWorkflow() which
takes the argument as RMObjectStore, Entity, Execution
Date and VWSession Object.
- Transferring to the 1st phase
- If at least one Phase object is associated with a disposition
schedule, you can transfer the RM entity from cutoff period to the
1st phase. To accomplish that, use DisposableObject.completePhaseExecution() method.
This method recalculates the cutoff if there is any change in the
associated disposition schedule or the entity and updates the CurrentPhaseExecutionDate and
other disposal related properties. If the parameter abTriggerNextPhase is
set to true, it sets the cutoff date and other disposal related data
and then triggers next phase by internally call DispositionSchedule.triggerNextPhase() method.
Executing phase(s)
If zero or more Phase
object(s) are associated with a disposition schedule, you must execute
the phases associated with entities in a sequential order.
- Launching workflow associated with phase action
- After a particular phase is triggered, entities remain in that
phase for the time period that is specified in the retention period
of that phase. Once the retention period is over, you can launch the
workflow associated with the phase action.
- Launching the Workflow associated with the Phase Action
- If you want to launch the workflow associated with a phase action,
call RMBulkOperationsUtil.initiateDisposition() method,
passing in an object of RMObjectstore that represents
the FPOS, A String array that contains the GUIDs of RM entities for
whom disposition needs to be initiatedand VWSession object. This method
internally calls the DisposableObject.initiateDisposition() on
the entity which takes a VWSession Object as the parameter. This method
further validates whether the DisposableObject object
can be disposed. For example, it verifies that the DisposableObject object
is not on hold and that the cutoff date is not null and CurrentPhaseExecutionDate is
less than or equal to the CurrentDate. After these
validations, the initiateDisposition method launches
the workflow associated with the current phase action and passes entities
to the next phase. The following code fragment calls the initiateDisposition method.
//Initiates a disposition on the entity
public RMBulkOperationResults initiateDisposition(RMObjectStore aoRMOS, String[]asArrObjectIDs,
VWSession aoVWSession) throws RMException{
//This method gets the DisposableObject for each GUID specified in asArrObjectIDs.
//Calls the public HashMap initiateDisposition(VWSession loSession) throws RMException on the DisposableObject object.
- Transferring to the next phase
- Transferring to the next phase uses the same method as transfer
to the 1st phase. See Transferring to the 1st phase for more
detailed information.