You use this function to determine that your process, depending on the situation, can only be performed under certain conditions or not at all.
Restriction on initiator roles
You can determine that only users that are assigned a particular initiator role, for example only managers, can run the process.
Restriction on object groups
You can determine that the initiator role can only run the process for certain groups of objects, for example, employees from a particular country.
Parallel run of a process
If you want to run a process that was already run for the same object, for example, the same employee, and this process is not yet completed, the system issues an error message by default. You can change this system response for your process and permit the process to be run more than once in parallel.
Example
It can be useful to permit a process to be run more than once in parallel, for example, a process that employees can use to request leave. This prevents employees from having to wait until their leave is approved and the process is completed before they can create their next leave request.
Conditions for starting a process
You can use the BAdI HRASR00PROCESS_START_RESTRICT to set conditions under which a process can be started.
Example
For example, for the
Maternity Leave
process, you can set the condition that only female employees can run this process.
Frequency restriction
You can determine how often a process can be run for the same object, for example, the same employee.
Collision check
You can determine that a process cannot be run while certain other processes are running for the same object.
Restriction on initiator roles
For more information, see Assignment of Roles to a Process .
Restriction on object groups
For more information, see Assignment of Roles to a Process .
Parallel run of a process
To enable your process to be run more than once in parallel, in the object hierarchy area choose
<Process Name>
and under
Executability of the Process
, set the
Permit Parallel Run
indicator.
Conditions for starting a process
To set the conditions, choose
<Process Name>
in the object hierarchy area. Under
Executability of the Process
, branch to the editing of the BAdI HRASR00PROCESS_START_RESTRICT and create an implementation for the BAdI.
For more information, see the documentation on the BAdI. To display the documentation, branch to the IMG activity
Determine Restrictions for Starting Processes
.
Frequency restriction
For more information, see Frequency Restrictions for a Process .
Collision check
For more information, see Collision Checks for a Process .
When a user wants to run a process for a certain object, for example, a particular employee, in the list of processes that can be run, the system displays only those processes for which the following conditions apply:
The processes can be run by the initiator role that is assigned to the user.
The processes can be run for the object group (for example, country grouping) to which the object (for example, the employee) belongs.
To determine the object group that the selected object belongs to, the system evaluates the feature for object group determination. For more information, see Assignment of Roles to a Process .
The system then checks whether there are additional restrictions, in the following sequence:
In the standard system, the system checks whether the same process was already started for the same object and is not yet completed.
Depending on the result, the system proceeds as follows:
If the process was already started and is not yet completed, the system issues an error message.
If the process was not started, the system continues with the check in step 2.
Note
If you have set the
Permit Parallel Run
indicator for the process, the system skips this check.
The system checks whether the BAdI HRASR00PROCESS_START_RESTRICT has been implemented for the process.
Depending on the result, the system proceeds as follows:
If the BAdI is implemented, the system opens the BAdI method. The method returns the parameter IS_PROCESS_EXECUTABLE that determines whether the process can be run or not.
If the process
cannot
be run, the system displays the error message
The conditions for starting the process are not met
.
If the process can be run, the system continues with the check in step 3.
If there is no implementation, the system continues with the check in step 3.
The system checks whether there is a frequency restriction for the process.
Depending on the result, the system proceeds as follows:
If the process
cannot
be run, the system displays the error message
The maximum number of instances for the process start has been reached
.
If the process can be run, the system continues with the check in step 4.
The system checks whether the process would collide with another process.
Depending on the result, the system proceeds as follows:
If there is a collision, depending on your settings, the system displays an information, warning, or error message.
If there is no collision, the system runs the process.