Process Definitions: Retention Tab
The Retention tab lets you control a Process Definition or Chain Definition's keep clause. The keep clause defines how many processes are kept in the system, or how long processes will be kept in the system. For information, see Keep Clauses and Retention Strategies.
You can retain processes per parameter value combination, system, user, or date. You can further limit processes retention by status. The default setting is to keep all processes.
Note: If you change the keep clause of an existing Process Definition or Chain Definition with existing processes, the conditions under which the existing processes are kept is not changed. The new keep clause will only affect future processes.
The Retention tab includes the following controls.
Field | Description |
---|---|
Keep > No retention configured | All processes will be kept. See the warning above. |
Keep > [number] processes per [option] | This option lets you limit the number of processes to be kept per Key, System, or User. |
Keep > Processes for [time period] | This option lets you specify a maximum age for processes. |
Keep > All processes indefinitely | This option should only be used when you have other strategies in place for process deletion, such as the Active Archive Module. The difference between this keep clause setting and No retention configured is that processes with this keep clause are not counted towards the ratio of processes without a keep clause. |
Keep Process in Status | Lets you specify a keep clause for processes of this type that reach one or more specific statuses. For more information, see Keep Processes In Status. |
Keep Force |
By default, if a Process Definition has a parent, it will be deleted according to the parent's keep clause, not its own keep clause. However, if you check this box, and the Process Definition has a parent with a shorter keep clause, the process will be kept according to its own keep clause (in other words, it will outlive the parent). When the parent of a process with Keep Force has been deleted, the process is no longer considered to have a parent. Note: Keep Force has no effect on manually deleting a process or Chain. If you delete the parent of a Process Definition, all of its child processes will also be deleted. Also, Keep Force also has no effect on Process Definitions with a shorter keep clause than their parent. |
Retention Strategies
Processes per Key
At least one Process Definition parameter must be marked as Part Of Key in the Parameters tab. If you use this option, the system will keep track of how many processes have that key parameter set to a particular value.
For example, assume you have a Process Definition with a parameter named P_COMPANY_ID
set Part of Key. Also assume that the keep clause for the Process Definition is set to one per key. If you execute this process definition twice with the value of P_COMPANY_ID
is set to 25
both times, the first process will be deleted when the second finishes executing.
Tip: This strategy is useful for generic Process Definitions such as a copy of the SAP_AbapRun Process Definition. For example, you can specify the program to be run in a parameter so each parameter combination defines a different process.
Processes per System
The oldest process in the system will be deleted by the keep clause processor maintenance process that is scheduled in the background once the keep clause has been exceeded.
Processes per User
This strategy allows you to keep a number of processes per user. The oldest process will be deleted by the keep clause processor maintenance process once the keep clause has been reached.
Maximum Age of Processes
This strategy allows you to keep processes for a period of time. The keep clause processor maintenance process that is scheduled in the background will delete all processes for which the keep has expired.
If you set a maximum age for a process, the system will add an expiration time stamp for the process when it finishes. For example, if the keep clause is one day and the process finishes on 12 October at 11:02, then the expiration time stamp is set to 13 October at 11:02.\
If you edit the keep clause on a Process Definition or Chain Definition, the changes affect all processes created from that definition almost immediately.
Keep Processes in Status
The codes below correspond to the possible final statuses for a process.
A
- CanceledC
- CompletedE
- ErrorK
- KilledU
- Unknown
You can enter any or all of these codes in the Keep Process In Status field . For example, to keep processes with a status of Canceled, Error, and Killed for 10 days, you could use a configuration like this:
You can also use these codes to exclude processes that have a specific status from the keep clause using the /configuration/DefaultKeepStatus
registry entry.