SAP Enhancement Package 4 EHP 4 or EHPK 4

The EHP 4 includes the following modules/functionalities in HCM
Talent Management

  • Appraisals, Evaluations and surveys – New functionality
  • Employee Qualifications for Concurrent or glabal emplyment – New functionality
  • Enterprise Compensation Management 01
  • SAP e-Recruiting 02
  • Learning Solutoin 02
  • Performanace Management 01
  • Core process in Talent Management – New functionality

Workforce process management

  • CATS Classic for concurrent employment – New functionality
  • Admistrative Services 02
  • Personnel actions for Concurrent employment
  • Time and labor management for Concurrent employment


  • HCM Localization for Russia, Japan, Italian Public sector, Spain, Sweden and Norway


  • TNM/LSO Integration – New function

Concurrent Employment – basics

The Concurrent Employment is basically an employment scenario based on several personnel assignments between the employee and the employer. The personnel assignments can run simultaneously.

Concurrent employment allows an employee to hold multiple positions at the same time and these positions are then linked together for the purposes of payroll, time and benefits processing.

This scenario is very common in educational institutions and hospitals.

For example,
–Dania works full-time as a PACE Nurse Manager for Johns Hopkins Hospital, making $43/hr
–In addition, she works as a float pool Option RN II, making $24/hr plus differentials.

Employees with concurrent employments usually have as many personnel numbers as the personnel assignment. However, they are further assigned one PERSON ID, to enable proper tracking throughout the employment of that employee in the company. The different personnel assignments are linked by the Person ID. While the personnel assignment identifies the characteristics of the assignments such as work schedule and remuneration, the Person ID describes the functions to be performed by the employee during the assignments. The infotype for maintaining Person ID is 0709.

The concurrent employment model in SAP with regards to CE is for reporting purposes. It is the logical database framework (PNPCE) for reporting on Concurrent Employment.

You can maintain infotype on concurrent assignment via PA30, PA40 and PA61.

See example at

Technological FrameWork
The variety of concurrent employment situations and the myriad administrative burdens that often accompany assignments can make HR professionals wonder how they can transform their organization from a traditional “one person, one assignment” model to a “one person, multiple assignment” culture. The answer is a technological framework that enables you to manage concurrent employment situations. This technological framework consists of the concurrent employment model delivered with mySAP ERP.

Payroll for Concurrent Employment

Payroll for concurrent employment


If you have activated concurrent employment in your SAP R/3 System, the system uses a version of the payroll program, personnel calculation schemas, and functions that all support concurrent employment.  A concurrently employed person has several personnel assignments stored in SAP R/3 as personnel numbers. The personnel assignments that belong to the same payroll area have payroll run for them at the same time. SAP R/3 therefore needs data from all personnel assignments at the same time for some processing steps in the personnel calculation schema. For these processing steps, SAP R/3 processes all personnel assignments in a synchronization point. At other places in the personnel calculation schema, SAP R/3 runs through the same steps several times, once per personnel assignment. The start and end of the processing per personnel assignment is indicated by the new function XPA. The payroll program generates a payroll result for each employee consisting of one or several parts on the level of the personnel assignment, and a common part for the person.  The payroll log shows the personnel assignment level and the person level. Using program H99_DISPLAY_PAYRESULT (Displaying the Payroll Results), you can also display the payroll result on both the personnel assignment level and person level.


If you want to evaluate wage types, which are stored in the payroll result on the person level, for each of a concurrently employed person’s personnel assignments, you must distribute them to the personnel assignments using the new function XDIST (Distribution of Person-Related Wage Types For Concurrent Employment).



Remuneration statement for concurrent employment

In a system in which concurrent employment is active, SAP R/3 outputs  the data of several personnel assignments of a concurrently employed person in one remuneration statement if payroll is run for them together.



Wage and salary payment for concurrent employment

If you use concurrent employment, you cannot implement the payment process


Cash Payment with Cash Breakdown List

 Based on wage type /557 (Cash Payment) or programs RPCMLI00 and RPCMLI09 (Cash Breakdown List). If you use concurrent employment and want to effect wage and salary payments in cash, you can implement the payment process



Posting to Accounting for concurrent employment

When posting to Accounting, SAP R/3 needs organizational information about the employee to be able to post wage types correctly. The system takes the information from table WPBP (Work Place/Basic Pay) in the payroll result. However, with concurrent employment, the wage types on the person level (in table RT_PERSON) are not directly related to organizational information about the employee. In this case, SAP R/3 uses the organizational information from table WPBP in the payroll result of the personnel assignment that is specified for each wage type entry in the field




In table RT_PERSON. Different personnel assignments can be specified for the wage type entries.



Effects on the dataset

In a system in which concurrent employment is active, SAP R/3 uses new tables, programs, functions, and personnel calculation schemas. In a system that supports concurrent employment, some programs and functions also have additional or changed functionality.



In the following, a lowercase x stands for a country-specific letter, that is, K for Canada or U for USA.



New tables in the payroll result

Some of the wage types processed in payroll are stored at the person level. To do this, SAP R/3 uses the following tables in the payroll result:

         o RT_PERSON (Results Table for Person)

         o CRT_PERSON (Cumulated Results Table for Person)

         o BT_PERSON (Payment Information Table for Person)



New programs

o RPCALCx0_CE (Payroll Driver) Version of program RPCALCx0 (Payroll Driver) that supports  concurrent employment.

 o RPCEDTx0_CE (Remuneration Statement – Person) Version of program RPCEDTx0 (Remuneration Statement) that supports concurrent employment.

o RPCDTCx0_CE (Data Medium Exchange Preliminary Program); only for USA Version of program RPCDTCx0 (Data Medium Exchange Preliminary Program) that supports concurrent employment.

o RPCIPE00_CE (Posting to Accounting: Create Posting Run) Version of program RPCIPE00 (Posting to Accounting: Generate Posting Run) that supports concurrent employment.



Changed program

o H99_DISPLAY_PAYRESULT (Displaying Payroll Results) Enables you to display payroll results on the person level.



New functions

o XPA (Start and End of Processing per Personnel Assignment)

Indicates the start and end of a loop in the personnel calculation schema, in which the personnel assignments of an employee are processed separately. The loop is started with XPA LOOP and ended with XPA ENDL. Outside of this loop, all personnel assignments of an employee are processed together within synchronization points.

o XWPBP (Compare WPBP Splits for Concurrent Employment)

Ensures that the same WPBP splits are set for a concurrently employed person in all personnel assignments to which the same grouping value is assigned for grouping reason XXPY (Payroll Run (Payroll Area)).

o PRBEG (Deductions: Preparation of V0, OV0, ORT, etc. for Retroactive Accounting)

 Prepares tables V0 (Variable Assignment), OV0, and ORT for deductions within a retroactive accounting run when arrears are processed, and ensures the data in these tables is consistent.

o XNET (Calculation of Net Amount)

Contains some of the processing steps performed by personnel calculation rules X040 (Payment Amount Before Transfer) and X041 (Read Balances Carried Forward (Differences)) in a system without concurrent employment.

o XPAY (Determining Payments)

 –  Contains the processing steps performed by functions P0009 (Processing Request for Bank Details) and P0011 (Processing Request for External Transfers) in a system without concurrent employment.

 –  Contains some of the processing steps performed by personnel calculation rules X040 (Payment Amount Before Transfer), X04A (Import Claim from Previous Period), and X047 (Cumulation of Payment Amount) in a system without concurrent employment.

o XRETR (Retroactive Accounting)

Contains the processing steps performed by personnel calculation rules X041 (Read Balances Carried Forward (Differences)), X042 (Formation of Differences, Transfer of Non-Revisable Wage Types), and X043 (Storage of New Payment Amount according to DT) in a system without concurrent employment.

o XDIST (Distribution of Person-Related Wage Types for Concurrent Employment)

Distributes person-related wage types to the personnel assignments of a concurrently employed person.



Changed functions

o EXPRT (Export Interim or Final Results to Databases)

 –  Exports payroll results to file PCL2 for all personnel assignments of an employee for which the payroll has run.

 –  Performs the processing steps contained in personnel calculation rule X070 (Termination if table IT is not Empty) in a system without concurrent employment.

o ADDCU (Update Cumulations)

 –  Forms cumulations per personnel assignment. For wage types stored on the person level, this function also forms cumulations per grouping stored for the wage type.

 –  Stores the relevant wage types of table RT_PERSON in table CRT_PERSON too.

 –  Performs the processing steps that are contained in function SORT (Sort Internal Tables) in a system without concurrent employment.

o SETCU (Process Previous Cumulations)

–  Transfers table CRT per personnel assignment and table CRT_PERSON per person from the previous payroll period to the current payroll period.

–  Also forms table LRT_PERSON from table RT_PERSON of the previous payroll period.

–  Performs on the personnel assignment level the processing steps that are performed by personnel calculation rule X006 (Import Relevant Wage Types to LRT) in a system without concurrent employment.

o P9ZNC (Zero Net Checks, Check Existence of IT9)

Creates an entry in table BT_PERSON instead of table BT.

o LIMIT (Limiting Deductions)

Forms wage type classes per personnel assignment. You can also use this function to specify a limit for a personnel assignment grouping. This limit overrides the limits for individual personnel assignments of this grouping.

o PREND (Modify DDNTK Table after Last Loop)

Controls whether personnel assignments of an employee are processed in the following payroll period if they are inactive but still have entries in table ARRRS.



New personnel calculation schemas

The new standard personnel calculation schema x00C for payroll was adjusted for the demands of concurrent employment. It has a different structure to the personnel calculation schema x000 and contains the new functions and new subschemas that support concurrent employment.



 All personnel assignments of a concurrently employed person that are under the same employer must have the same payroll area and payroll periodicity.

 If a concurrently employed person changes his or her employer for one personnel assignment, you have to create a new personnel assignment, i.e. a new personnel number. This also applies to retroactive changes in employer.

 Personnel calculation schemas are only processed at the personnel assignment level, not at the person level.

 You can only create company loans for individual personnel assignments, not for persons. If you want to create a company loan for a concurrently employed person, you have to store it is one of his or her personnel assignments. When this personnel assignment comes to an end you must transfer the company loan to another personnel assignment.

 Deductions are only processed at the personnel assignment level, not the person level.

 Averages are only processed at the personnel assignment level, not the person level.

 Using the Business Information Warehouse (BW) you can only evaluate payroll results, which payroll created on the person level, if you previously used function XDIST (Distribution of Person-Related Wage Types for Concurrent Employment) to distribute the results to the personnel assignments of the relevant employee.

 The off-cycle activities are not presently enabled for concurrent employment.

 Background processing with the HR Process Workbench is not presently enabled for concurrent employment.

 Concurrent employment is currently only available for the Canada and USA country versions.



Effects on Customizing

For concurrent employment, make the following additional settings in Customizing for Payroll

😮  In the section Distribute Person-Related Wage Types With Concurrent Employment, specify which person-related wage types are distributed by function XDIST to the personnel assignments ofan employee, and how distribution is effected.

 o  Section Limits for Deductions

: –  When creating a rule for limits, you can determine whether the amount of the rule for limits is formed on the person or personnel assignment level. You can specify this in the IMG activity Define Rules for Limits in the field From Person Tables

. –  In the IMG activity Set Up Wage Type Classes and Attach Limits, you can assign a grouping reason to a wage type class.