Show TOC

 Restrictions for Starting a Process

Use

You use this function to determine that your process, depending on the situation, can only be performed under certain conditions or not at all.

Features

  • 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 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.

    End of the example.
  • Conditions for starting a process

    You can use the BAdI HRASR00PROCESS_START_RESTRICT to set conditions under which a process can be started.

    Example Example

    For example, for the Maternity Leave process, you can set the condition that only female employees can run this process.

    End of the example.
  • 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.

Activities

Determining Restrictions
  • 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 .

System Check of Determined Restrictions

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:

  1. 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 Note

    If you have set the Permit Parallel Run indicator for the process, the system skips this check.

    End of the note.
  2. 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.

  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.

  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.