Reporting in SAP Human Capital management (HCM) is often referred to as the largest challenge for customers. Limited data is available (i.e. master data or table values) while other data is quite limited to find (payroll results or time data).
SAP’s approximately 14,000 licensed customers rely on outdated solutions like the Ad Hoc Query or the SAP Query to attempt to retrieve at least some of the data without relying on an ABAP programmer to collect the data for them, as detailed here.
Because of SAP’s effective date driven RDBMS style, many Infotypes have a Start Date and an End Date at the top of each Infotype, as shown below.

A frequent challenge for customers is the ability to output data from different time-dependent records for any employee on a single line. This includes showing someone’s current position title and their previous position title.
The standard SAP Selection Screen includes a period section at the top for users to designate the time period they wish to retrieve (see below).

The most popular option used is the Today option, which brings you every valid record as of today. As many common Infotype records only permit one Infotype to be valid at a time, the report output will only give you the most current data on a single row (see sample below).
Period Selection = Today
Start Date |
End Date |
Name |
Position Title |
Cost Center |
1/1/1998 |
12/31/1999 |
Walter White |
Adm.Staf -US |
4235 |
Customers wishing to evaluate someone’s position title as of today, and their previous position title(s) as well, would need to change the Period selection accordingly - which will result in multiple rows being retrieved (see sample below).
Period Selection = Up to Today
Start Date |
End Date |
Name |
Position Title
|
Cost Center |
1/1/1992 |
7/4/1995 |
Walter White |
Mailroom Clerk |
1054 |
7/5/1995 |
6/28/1996 |
Walter White |
Front Desk Attendant |
5248 |
6/29/1996 |
12/31/1997 |
Walter White |
Front Desk Attendant |
5248 |
1/1/1998 |
12/31/1999 |
Walter White |
Adm.Staf -US |
4235 |
The user would then have the challenge of manually identifying which is the previous record, to manually identify the row with the previous position title, and try to record it appropriately. In the example above, it is easy to see that the previous position title was as a Front Desk Attendant. However, the resolution of getting that previous position title on the same as the original would be a manual effort. A manual update to every employee in a report is not a reasonable exercise.
To further complicate matters, the change in position may not always be on the immediately previous record, so you cannot even use an Excel macro to automate the process.
This is simply another shortcoming of using a tool like the Ad Hoc or SAP Query for HCM reporting. Other examples can be seen here and here. Unless you are one of the many thousands of customers leveraging a third party solution for your reporting, like Query Manager™, you would have to resort to more complicated methods.
To get single line reporting that includes information from both current and previous Infotype records you will need to use a custom ABAP report, leveraging the skills of an ABAP programmer who can modify the InfoSet that you use for Query reporting.
See below for a sample of ABAP code that was added to an SAP Query InfoSet, allowing two fields to be added to the SAP Query for the former position title and previous salary for salaried employees. This sample ABAP code is included here for reference and is based on configuration of a sample system which includes references to values for Action Codes (i.e. 01) and Employees Sub Group types (i.e. S1, S2, S3 and S4) which would need to be replaced by your organizations codes. The code is not all-inclusive, but it should you give you an idea of how that data is retrieved for previous and current data for both the position title and the annual salary, such that you can leverage it back at your organization, resulting in a report that looks like this sample below.
Period Selection = Today
Start Date |
End Date |
Name |
Position Title |
Previous Position Title |
1/1/1998 |
12/31/9999 |
Walter White |
Adm.Staf -US |
Front Desk Attendant |

You can continue to struggle with the on-premise SAP HCM reporting solutions, or you can solve the greatest challenge for SAP HCM customers and investigate the EPI-USE Labs Query Manager solution.
Danielle Larocca
With over 25 years in SAP Human Capital Management, Danielle is a recognized leader in HR technology. She holds the distinguished roles of SAP Mentor and SuccessFactors Confidant, and serves as HXM Chairperson for ASUG (America's SAP User Group). Danielle is a sought-after speaker at international conferences, sharing insights on HR tech trends. She has authored four best-selling books on SAP and holds certifications in both SAP and SuccessFactors technologies.