Deleting an Activity Plan Via Code

The following Apex method can be used to delete an Activity Plan via custom coding. Please be aware this method uses asynchronous processing techniques that require knowledge of Force.com best practices as they relate to asynchronous processing. It is always suggested to test your code in the Sandbox.

Syntax:
ActionPlansUtilitiesExternal.DeleteActionPlan(
    @actionPlanId,
    @deleteAction
); 

Parameters:
@actionPlanId
The Activity Plan record ID which is to be deleted.

@deleteAction 
The delete action guides action to be taken for related Activities created as part of the Activity Plan. The accepted parameter values are these:

  • ActionPlanOnly
    To delete Activity Plan only and keeping all the activities.

  • ActionPlanWithIncompleteActivitiesOnly
    To delete Activity Plan and keep past and completed activities only.

  • ActionPlanWithAllActivities
    To delete Activity Plan with all activities associated with it.
     

Result:
The function call will return a JSON formatted string in this format: {success:"",result:""} 

success
Will be either TRUE or FALSE

result
Confirmation message of process completion OR Error message if process is hauled with any unexpected error.  

Example:
ActionPlansUtilitiesExternal.DeleteActionPlan(
  'a0B900000101axm',
  'ActionPlanOnly'); 

Multiple actionPlanId parameters can be passed to delete multiple Activity Plans for several Matter objects with a single function call. Use a ',' (comma) to separate the ID values. e.g: 'a0B900000101axm,a0B900000102axm,a0B900000103axm'  

Example Using a Link from the Matter Context