Search
Search

Few months ago while browsing the Human Capital Management forums I saw a lot of issues related to Carry-Forward of quotas into the next year. There is a standard configuration on how to carry forward however it seems not many consultants are either aware about it or find it difficult to configure this situation.

This blog-post is an attempt to implement the Carry forward of quota through a PCR.

Requirement: If the employee has unused Annual Leave balance from the previous year, carry-forward a maximum of 5 days.

Realization: We have a requirement which states that at the end of the year, if there is any remaining balance in Annual Leave Quota, the quota needs to be brought into the current year. A maximum of 5 day can be brought forward from the previous year’s remaining balance.

Background:

• We use Time Evaluation to generate Quota.
• Annual Leave is configured in Absence Quota 01.
• Carry Forward is generated through Time Evaluation using Day Balance (Specified in table: V_T559E: Base Entitlement for Absence Quota Generation). We will use Time Type Z=01 for  Carry-Over Leave

Personnel Calculation Rule (PCR) Z001 will complete the requirement as specified above:

Rule Z001 first checks to see if the current date is December 12 (CURMO = 12 and CURDY = 31) If this conditions are satisfied, then it checks for the cumulative remaining balance in Quota type 01 – Annual Leave (HRS=FR01C)

The HRS value is then compared with 5. If the HRS value is ?5, then the value in HRS is stored in time Type Z=01 (This Time Type is used as the Base Entitlement for Quota). If the HRS value is >5, then HRS is set to 5 and the value of  Z=01 is set to the value of HRS.

If the current month is not December, we check to see if the current date is January 1. If current date is Jan-1, then we read previous day’s (Dec-31) value of Z=01 and store the value in current day’s value of Z=01.

Once the QUTOA function in the Schema is executed, the Generations rules will be processed and appropriate value in Carry-over Annual Leave will be generated.

The above PCR deals with the 1-January date as the Carry over date… However if the company has the policy to carry-forward based on the employee’s anniversary date, the rule will need to change to verify the date from IT0041 and then comparing to see if the current date being processes is the anniversary date and then follwoing similar process as described in the above rule.

To report this post you need to login first.

You must be Logged on to comment or reply to a post.

1. vips john

Very user information. Please share few more scenarios like this in Time Evaluation ex: clock in clock out s / Time Evaluation set up etc.

Thanks,

vips

(0)
1. Sankarsan Dey

Hi Harshal,

In our system quota is accrual every month as 1.25.So now in a year he is getting 15.

Out of 15 suppose he has taken leave 10 days,so at end of the year its 5 days remaining.

Now in new year time evaluation after Jan it wold be 5+2(monthly accrual).

And in the IT2006,it should be showing 7 date from 01.01.2012 to 31.12.9999.

plz suggest what should i do.

Regards,

sankarsan

(0)
1. Harshal Soni Post author

Once quick question for you… what is the validity date for your quota records…

If you keep them until end of time, then you should just create 1 record for absence quotas and let them accrue in the same quota.

If you create a quota for every year and aCarry-over as a seperate quota every year, then you could modify the logic that I specified in the blog-post.

(0)
2. Prem Kumar Ravi

As a legal requirement for Australia, carry over has to be done on anniversary date unlike calendar year end for other countries..i e., we maintain an date type in IT0041 for capturing hire date based on which carry over has to be done.

eg.: if an employee’s hire date is 10/21/2012, then remaining quota on 10/21/2013 should be carried forward..

it would be great if you could share me ur contact details.

my email:premkumarsaphcm@gmail.com

thanks..

(0)
1. Harshal Soni Post author

you need to figure out if the current day is the anniversary date or not…

You can do that by using HRS=YDAYxx and HRS=YDRYxx

If both the values are same then it is not the anniversary date, if the values are different (HRS=YDAYxx > HRS=YDRYxx), then current date is the anniversary date.

(0)