Skip to Content

Understanding Absence Quota

I have seen a lot of questions involving generate absence quota in scn. Thus I would like to share my knowledge to you.

In order to easy understand I will resolve 1 requirement in actual as below:

Generate absence quota 2 days per month for every employee.

If employee is hired:

  1. Before 10th he will be able to have 2 days in his absence quota.
  2. From 10th to 20th: 1day.
  3. From 21st to end of this month: 0 day

I will show you how to do it in my document:

The important points are 2 PCRs here:


HRS=BCURDY -> get the date that it’s running in PT60 (Time Evaluation).

HRS?01 -> Check with the first date of month.

If true, assign 2 into 9H00.

Else check M9H00 ( check absence quota has been created in IT2006 or not).

If not, go to ZE01.


In ZE01, I checked:

If date > 20: Absence Quota = 0.

If date >9 & date <= 20: Absence Quota = 1

If date > 1 & date <= 9, Absence Quota = 2.

And 9H00 is a time type to hold the value of Absence Quota in Infotype 2006.

Hope you can control it soon.



You must be Logged on to comment or reply to a post.
      • Dear Woody,

        I want to thank you for your support & advice on this site in which l believed it help a lot of people including myself. May you continue to be blessed, flourished in knowledge and wisdom.

        I am new, and currently in training to be HR Consultant. There is one problem l really doesn’t know how to go about it and any help to solve it will be highly appreciated. I have no idea on how to determine the return value of QUOMO feature.



        • Plz check view V_T559L in Sm30 or Sm31, you can see, there are 4 grouping to select which rule to generate Absence / Attendance Quota.

          The last grouping (Quota grp) could be set up through 2 options: in schema (function or pcr are okie) and Feature QUOMO. It’s quite clear 😀 not complicated.

          For example:

          you have 2 Pay Group (in IT8) A & B

               Pay Group A has entitlement 20 days per year.

               Pay Group B has entitlement 30 days per year.

                    => the requirement is very simple to handle by using QUOMO.

          If you need more documents for generating Absence Quota, plz check Absence Quota and pressing F1 key in SAP system 😀



  • Hi Woody,

    Nicely explained. But i have questions, here only i have to learn writing schemas,

    you have explained very nicely but its for people who know bit knowledge in schemas,

    But people like me still unable to understand. which dates it checks. how its checking employee IT0001 and all.

    i need such a explanation. is it possible for you to give?



    • Thanks Sap enjoy 😀 Happy new year!


      As I understand your question. you wanna know how Time Evaluation start running, right?

      Let’s look at example below: if you hire employee on 01-Jan-2012, Time Evaluation will start on that date until current date (System date). Whenever you change Time Data of employee, Time Evaluation will re-run of the first date that you changed until current date 😀

      Please look at document How PT60 start for more information. Hope it helps!



      • Hi Woody,

        thanks for the sharing the same. i understood now how actually pt60 works, thanks for that.

        however i copied the standard schema tqta to my own schema zrqt and i wrote the two same PCR which you have given below for us  and i put it before cumbt and quota. called function ACTIO. same requirement if he joins before 10th 2 days between 10 to 20th 1day.

        whenever i run the time evaluation i get 2 days constantly. i dont know whats happening exactly.

        I have few questions could you clarify please?

        my employee hiring date is 01.01.2011 and i have another action which position promotion from 01.01.2012 to 31.12.9999, if i run the time evaluation from 01.01.2012 to 31.12.2012 it gives me 2 days WHY?, since in IT0003 date is 01.02.2012.

        And also how system is checking the IT0000 o IT0001 and gives value depend on it.

        how in IT0003 particular date is getting stored automatically, at what basis it stores in IT0003?

        I learnt to configure absence quota without time evaulation, now i am learning with time evaluation and i understood if i give the constant value in base entitlement table how system calculates and generates from your document you have provided.

        but whenever i use day balance- and write pcr and run the time evaluation means i am getting some answers but how system calculates really unable to understand. thats y i posted such a question.

        will u please help me solving this?

        still struggling with basic steps?



        • I don’t think you question is clear 🙁 It makes me confused. However Let me try answer as below:

          my employee hiring date is 01.01.2011 and i have another action which position promotion from 01.01.2012 to 31.12.9999, if i run the time evaluation from 01.01.2012 to 31.12.2012 it gives me 2 days WHY?, since in IT0003 date is 01.02.2012.

          => have you check my document carefully? Please run PT60 with Display LOG option. If we run Time Evaluation from 01.01.2012 -> 31.12.2012, so of course PT60 will start on 01.01.2012 ( I mentioned here 6.  Forced retro date of Time Evaluation Run: the date you input in screen of T-Code PT60:). Start date is 01st < 10 (right), so 2 days was generated.

          And also how system is checking the IT0000 o IT0001 and gives value depend on it.

          => PT60 will pick the first date for running. Any changing in IT0000 & IT0001 will be updated automatically in PDC date in infotype 0003.

          how in IT0003 particular date is getting stored automatically, at what basis it stores in IT0003?

          => Any changing in Time Date will modify IT0003. Look at my document Understaning Infotype. There are 2 most important info in IT003: PDC date: for Time Evaluation and Earliest MD change for Payroll. Please pressing F1 key to have more information.

          Hope it helps! Btw look at my blog for more useful documents.



          • hi Woody,

            first of all thank you very much for your reply,i knew i was gonna confuse you. sorry for that

            Let me put my questions directly to you.

            1. i have copied schema TQTA to my own schema ZQTA, is this correct?

            2 . I have employee who has two actions now in IT000- one is hiring from 01.01.2011 to   31.12.2011 and position promotion from 01.01.2012 to 31.12.9999 okay.

            3. in IT0003 – PDC recalculation field now it shows date 03.01.2013, because i ran time evaulation for the day 02.01.2013 , so it shows 03.01.2013- which is correct – absence quota generated 2 days for the employee in IT 2006

            4 .but it got validity from 01.01.2013 to 01.01.2013? why ? how about the validity 02.01.2013 to 02.01.2013? since i ran for 02.01.2013 na?

            i ran time evaluation for 14.01.2013 also again it gives only 2 days of quota and validity still shows 01.01.2013 to 01.01.2013.

            5. how system taking hiring date of person here, which one will it consider hiring action or promotion action?

            these are my questions?



          • I will answer 5 questions by order as below:

            1. Up to you, no problem. But just only generate Absence Quota, I recommend you should only you T-code PT_QTA00 – Generate Absence Quotas. Just change a little bit configuration. Let’s find overview document in wiki

            2.of-course, it’s okie 😀

            3. It’s correct and inputted automatically by SAP. Whenever we accomplish running Time Evaluation until date: I assume it’s A (01 -Dec-2012), PDC in IT0003 will updated by value A+1 (02-Dec-2012).

            4, Validity base on your configuration in V_T559L -> Validity/deduction interval or you can come here by view V_T559D in SM31.

            5. Time Evaluation is just base on start date (my document has mentioned it), don’t care DOJ or promotion date. If you want to know the current date running in PT60 (NOTE: it’s not system date), you can you operation

            HRS=BCURDY Enters the current day in the HRS field

            If you want to check these kind of date in Time Schema, you have to maintain these date on IT0041 and use HRS=Y… ( Time interval between two date entries is calculated: Operation HRS1Y) Please look at Schema – useful links & T-Codes

            Time Schema is very difficult, please using these links and T-Code to investigate.



          • hi Woody,

            chanceless. nicely explained ,

            So Bcurdy is the date running in time evaluation – which means it picks up the date from this field  Evaluation up to in PT60 am i right – – ?

            Yes woody i know its very difficult. but since through SCN only i am learning time management really struggled with workschdules calendar itself. then i learnt everything one by one. now learnt absence quota through your configuration which is excellent.  but now learning schema which is bit difficult so learning it.



          • Nope.

            Assuming that your employee will run PT60 from 01.01.2012 to 10.01.2012, so PT60 will run 10 times ( form 01st to 10th Jan 2012). When first day running: Bcurdy is 01, second time: Bcurdy is 02, etc until the last date Bcurdy is 10. Hope u clear is now 😉

            Running PT60 with Display Log option, you will have more information 😉



          • hi Woody,

            Once again, excellent. understood the process now, in your example you are running time evaluation from 01.01.2010 to 28.02.2012, and you have chosen daily accrual. but depend on the joining date it gives you 2 quotas for two months , which means 2 for january and 2 for february. but while i am running now from 01.01.2012 to 11.01.2012, it gives me 22 days actually i mean per day it calculates 2 days since i gave daily accural. you too in your screenshot given daily only. then how come u got 2 days per month alone…

          • Hi Woody,

            anyway to see what each operation holds any value. i mean in programming like write

            statement. so we can see what exactly it holds.



          • Could you please read & investigate my document carefully. In document I already explain why we have to you 2 PCRs: ZE00 & ZE01. As you can see in ZE00, I have checked M9H00 (accumulated of time type 9H00). If M9H00 > 0, do nothing. Why? M9H00 > 0, it means Absence Quota created in this month already 😀 Look at my document carefully again please.

            Operation holds any value: => you can see when running PT60 with Display log option. I also mentioned this point before 🙁

            Could you please check, configure, testing carefully? With basic questions here, please contact directly to me through email or skype (same email). We should not post basic questions in forum,



          • Hi Woody,

            I understand , we should not put basic questions here, but through your document only i learnt so far, since i am new to this, i am confusing you,.

            Ok woody please give your email id – i contact you from my personal mail id. with screenshots in display log option.



    • Hi Woody,

      I have dropped a mail to you with screen shots. please let me know. where i am doing mistake.

      just mould me in basic things. then i can pick up on my own by studying everything deeply.



    • Thanks for your kind words Vib, Khaiser and Anil 🙂 Hope it’s helpful for your work and you all will be clear how to process Absence Quota by using PCR & Time Type.


  • Thanks a lot woody for sharing, and I need to ask if there is configuration document for time management if I am gonna use positive time management and the most commonly used operation in time management schema.

    Thanks and regards,