IBM Enterprise Records, Version 5.1.2    

Creating a disposition schedule

To control the retention and disposal of entities, you define and associate a disposition schedule with entities. In a disposition schedule, you specify the retention rules for entities and the disposal action to be performed at the end of the retention period.

You can specify review, transfer to an archive for permanent preservation, export to another location, or destruction as a disposal action.

To define a disposition schedule, first create a Properties collection and pass a calendar date or Event object into the collection. Then create a DispositionSchedule object and one or more Phase object(s) and associate the DispositionSchedule object with Phase object(s). This section discusses the following topics:

Creating a properties collection

To create a DispositionSchedule object, first create a Properties collection of the required properties. See Properties for more detailed information on how to retrieve the property descriptions of required properties, or how to examine which properties are required for an object using IBM® Administration Console for Content Platform Engine.

Passing the calendar date property or an Event object

When you create the Properties collection of the property descriptions obtained earlier in this topic, you must specify a disposal trigger that triggers a date or an event to start the disposal process for an entity. This disposal trigger can be a calendar date or an event. To accomplish this, you pass a value for either a calendar date or an Event object into the properties collection.

Passing the calendar date property

The calendar date property refers to a java.util.Date value from which the cutoffset period is determined. The following code passes the calendar date value into the Properties collection.
// Creates a Properties collection for the DispositionSchedule object with the 
// calendar date property for aoAction refer to RMCustomObject documentation on how 
// to create an action object 
public Properties getPropsforDSWithCalendardate (Date aoCalanderDate, 
   RMCustomObject aoAction) 
{ 
   Properties loProperties = ObjectFactory.getProperties(); 
   Property loPropDSName = ObjectFactory.getProperty(RMProperty.DISPOSAL_SCHEDULE_NAME);    
   loPropDSName.setValue("DisposalScheduleCalendarDate"); 
   loProperties.add(loPropDSName); Property loPropCalendarDate = 
      ObjectFactory.getProperty(RMProperty.CALENDAR_DATE);  
   oPropCalendarDate.setValue(aoCalanderDate); loProperties.add(loPropCalendarDate); 
   
   Property loPropCutOffDays = 
      ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_DAYS);   
   loPropCutOffDays.setValue(1); loProperties.add(loPropCutOffDays); 
   
   Property loPropCutOffMonths = 
      ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_MONTHS); 
   loPropCutOffMonths.setValue(1); loProperties.add(loPropCutOffMonths); 
   
   Property loPropCutOffYears = 
      ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_YEARS);  
   loPropCutOffYears.setValue(1); loProperties.add(loPropCutOffYears); 

   //Specifying an action is mandatory, if workflow 
   //is to be launched for cutoff 
   Property loPropCutOffAction = ObjectFactory.getProperty(RMProperty.CUTOFF_ACTION); 
   loPropCutOffAction.setValue(aoAction.thisBaseObject()); 
   loProperties.add(loPropCutOffAction); 

   return loProperties; 
}

Passing an Event object

Instead of passing in the calendar date property, you can create a Properties collection for a DispositionSchedule object that includes an Event object, as shown in the following code fragment.
//Creates a Properties collection for a DispositionSchedule object passing an 
//Event object 
public Properties getPropsForDSWithEvent(RMCustomObject aoEvent, RMCustomObject aoAction) 
{ 
   Properties loProperties = ObjectFactory.getProperties(); 
   Property loPropDSName = ObjectFactory.getProperty(RMProperty.DISPOSAL_SCHEDULE_NAME);
   loPropDSName.setValue("DisposalScheduleCalendarDate"); 
   loProperties.add(loPropDSName); 

   Property loPropDisposalTrigger = 
      ObjectFactory.getProperty(RMProperty.CUTOFF_DISPOSAL_TRIGGER);
   loPropDisposalTrigger.setValue(aoEvent.thisBaseObject()); 
   loProperties.add(loPropDisposalTrigger); 

   Property loPropCutOffDays = ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_DAYS); 
   loPropCutOffDays.setValue(1); 
   loProperties.add(loPropCutOffDays); 

   Property loPropCutOffMonths = 
      ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_MONTHS); 
   loPropCutOffMonths.setValue(1); 
   loProperties.add(loPropCutOffMonths); 

   Property loPropCutOffYears = 
      ObjectFactory.getProperty(RMProperty.CUTOFF_OFFSET_YEARS);
   loPropCutOffYears.setValue(1); 
   loProperties.add(loPropCutOffYears); 

   //Specifies an action 
   Property loPropCutOffAction = ObjectFactory.getProperty(RMProperty.CUTOFF_ACTION); 
   loPropCutOffAction.setValue(aoAction.thisBaseObject()); 
   loProperties.add(loPropCutOffAction); 

   return loProperties; 
}
After you create and populate the Properties collection, you can create the DispositionSchedule object by calling the createDispositionSchedule method on an RMObjectStore object. The following code fragment calls the createDispositionSchedule method.
//Creates a disposition schedule 
Public DispositionSchedule createDipositionSchedule (RMObjectStore aoRMobjectStore, 
   Properties aoProperties, Permissions aoAcls) 

{ 
   DispositionSchedule loDispositionSchedule = (DispositionSchedule) aoRMObjectStore. 
      createDispositionSchedule (aoPropertries, aoAcls); 

} 

Creating a Phase object

After creating a DispositionSchedule object, you can associate it with different phases. To create a Phase object, first create a Properties collection of the required properties.
//Creates a Properties collection 
public void getPropertiesForPhase(RMCustomObject aoPhaseAction) 

{ 
   Properties loProperties = ObjectFactory.getProperties(); 
   Property loPhaseName = ObjectFactory.getProperty(RMProperty.PHASE_NAME); 
   loPhaseName.setValue("Test-Phase"); loProperties.add(loPhaseName);

   Property loPhaseAction = ObjectFactory.getProperty(RMProperty.PHASE_ACTION); 
   loPhaseAction.setValue(aoPhaseAction.thisBaseObject()); 
   loProperties.add(loPhaseAction);

   Property loIsScrReq = ObjectFactory.getProperty(RMProperty.IS_SCREENINGREQUIRED); 
   loIsScrReq.setValue(false); 
   loProperties.add(loIsScrReq); 
}
Note: You can specify a screening action for an entity before launching cutoff or any disposal action. For screening to occur before cutoff, set the IsScreeningRequired property to true for the DispositionSchedule object. However, for screening to occur before the occurrence of a disposal action, set the IsScreeningRequired property to true for the Phase object.

See Properties for more detailed information on how to retrieve the property descriptions of required properties, or how to examine which properties are required for an object using Enterprise Manager.

After you create and populate the Properties collection, you can create the Phase object by calling the createPhase method on a DispositionSchedule object, as shown in the following code fragment.
//Creates a Phase object 
Public RMCustomObject createPhase (DispositionSchedule aoDS, Properties aoProperties, 
   Permissions aoAcls) 

{ 
   // Creates a Phase object for the given disposition schedule 
   RMCustomObject loPhase = aoDS.createPhase (aoPropertries, aoAcls); 

}


Feedback

Last updated: November 2013
ierdg026.htm

© Copyright IBM Corporation 2013