Skip to Content
Technical Articles
Author's profile photo Pampa Ray

Half-day unpaid absence calculation in payroll

Hi Everyone,

In SAP payroll we often get requirement to calculate salary when employee is on half-day unpaid absence. Recently I have implemented the rule for one of my client where I came across the following requirement:

  • A single absence type to be used for full day and half day unpaid absence.
  • The planned working hours are different for different employee groups depending on their work schedule rules.

Since we can not calculate on 0.5 calendar days or absence days, we need to convert the working days to working hours for reducing the absence hours and again we need to reconvert from hours to days which  shown in below PCR.

To achieve the calculation we have created unpaid absence type from time management configuration.

I have copied standard PCR GPP1 and created my own PCR ZGPP which is placed in GPP0 for factoring calculation


I am considering factoring wagetype /801 for calculation partial period as my wagetype has specification ‘1’ in processing class 10.

Followings are the codes written in custom  PCR ZGPP

Code Explanation



** Stores the calendar days for current month in Rate field



** It stores the employee’s monthly working hours for current month in NUM field



** This line divides the total working hours by the total working days to get the daily  planned working hours



** This line multiplies the calendar days with the daily working hours to get the total calendar hours for this employee




** This line reduces the unpaid absence hours from the planned working hours



** This line divides the total reduced working hours by the daily working hours to convert the calculation into days



** This line multiplies the value with 10000 which is  stored in table V_T511K as constant



** This line divides the value with monthly working days



** The value added to wagetype /801

Below is the screenshot  of PCR :



I have entered PRINT command in the PCR to explain the calculation line by line with example:

Taking example of an employee who’s planned daily working hour is 7 and applied unpaid leave for 3.5 hours in April 2020

The employee’s monthly salary is 5000.00 GBP.

So the salary should be paid to him after deduction is :  5000-((5000/30)/2) = 4916.67 GBP



I have executed payroll and expanded the calculation rule in payroll log:


Below is the payslip with reduced salary for half day:



I have explained the calculation rule for generating value in wagetype /801. The wagetype  then passed to PCR GVAL to calculate the total salary to be paid.

If anyone interested to know about the PCR GVAL please leave you message comment section I will explain in my next blog.


Appreciate your feedback or suggestions.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Sikindar T
      Sikindar T

      Good Post which will be helpful to all the new bees in Payroll.

      Partial period hours will be calculated in SAP, for that we need to convert the hours into days by changing the PCRs which you have done.

      Can you please check if the following is working in the following scenarios.

      1. Half-Day unpaid leave during Mid-month hiring and termination
      2. Hald day unpaid leave when there is mid-month change in Basic pay or WPBP info types

      by the above testing, we can come to a clear picture on system behaviour In whole.

      Author's profile photo Pampa Ray
      Pampa Ray
      Blog Post Author

      Hi Sikindar,

      Thank you for your valuable comment. Yes, this is working for Mid- month split scenarios and to do so I have edited the divider factor from TKSOLL to TKDIVI.  Thank you once again.




      Author's profile photo pooja kammar
      pooja kammar

      Hi Pamap,


      I check for mid month hired employee but the PCR is not working properly.



      Pooja K

      Author's profile photo Sikindar T
      Sikindar T

      Can you share the PCR

      Author's profile photo pooja kammar
      pooja kammar

      Hi Sikindar,

      The issue is resolved now. I had made some mistake in the PCR.


      Pooja K

      Author's profile photo RAGINI NIKAM


      This is Ragini, one more issue, I am facing after using this PCR, for half day LOP i changed to this PCR, but in case of holiday in between leaves system is not considering non working period, eg. LOP applied from 01st may to 3rd may, 2nd is holiday as per IT 0007, but leave is deducted for 3 days, but as per this PCR, system is considering only 2 days LOP.

      Please suggest, how should in consider non working period also


      Ragini Nikam


      Author's profile photo Manish Garg - KPMG
      Manish Garg - KPMG

      Hi Pampa,

      Thank you for writing such a nice blog. How we can make it work of those week off as per work schedule where client is giving LOP on the weekoff as the absence hours on such type is 0.



      Manish Garg

      Author's profile photo siddhartha parhi
      siddhartha parhi

      Really nice with proper explanation...


      Author's profile photo Arun Kumar Nandiraju
      Arun Kumar Nandiraju

      Very useful post, its resolved my issue. Thank you so much for sharing.

      Author's profile photo BALASUBRAMANIAN AP

      Good and informative blog...keep it up..