on 11-10-2014 9:40 AM
Hi
Our requirement for leave is as below.
30 days of quota for year and monthly 2.5 days.
How to set this condition for maximum entitlement bases on seniority
.
Regards
Sai
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You have not written the PCR can you place in the schema.
Test case create more than 540 in 2013 on employee joining date itself
Once you execute time evaluation it updates the record with 540.
Before execution maintain date type in IT0041 other wise you will get an error while execution of time evaluation.
Place it after Quota with function P2006.
Regards
Venkatesh
Hi Venkatesh
Thanks for the PCR.
Regards
Sai
See first thing your requirement is monthly 2.5 days Quota Generation and yearly 30 days
i.e 2.5*12=30 clear.
Following to the validations part if employee is having less than 24 years of experience then maximun entitlement is 540
Per year 30 24 Years.? 24*30 = 720 if employee works for 24 years he supposed to get 720 but we are restricting it to 540
Assume that employee worked for 18 years completely 18*30 = 540 Quota balance
after a month 18.1 system generates 2.5 days then it becomes 542.5 but condition is 540 is maximum so 18.1 is less than 24 so we will reduce that 2.5 and make it as 540 the same process continues till he completes 24 2.5 generation and 2.5 reduction this is clear.
Scenario 2:
Employee is completed 24 years and his balance is 540 comes to the next month system generates 2.5 again
i.e 24.1 balance is 540+2.5 =542.5 our condition is who are having seniority greater than 24 condition satisfied but we will cross check greater than 24 what about 27 24.1 is greater than 24 but less than 27 so loop it to "B" where the balance check greater than 630 or not
not greater than so no reduction system as usual keeps it as 542.5 it continues till 27 years
27 years balance is 630 it is satisfied.
Scenario 3 :
Now 27.1 years quota should not get generate where what you do is pass value to a time type as "0"
and place this time type under multiplication with time balance in table V_T559L under accrual entitlement i.e your 2.5 will get multiplied with "0" 2.5*0 =0 NO quota generation.
If you are generating quotas through time types then no need to maintain there and pass the value "0" to same time type and place this PCR next to your rule where you are generating the value in to your time type and should be above CUMBT and QUOTA.
Regards
Venkatesh
Hi Venkatesh
thxs for the explanation. I understood the pcr.
I am generating Quota through Standard configuration. For the Maximum entitlement I am using the PCR.
Every month 2.5 days of quota is getting generated. Yearly 30 days as below.
05 01.01.2014 31.12.2014 29.999 days.
Now I maintained 540 days in 2013 Infotype. Run time evaluation on 01.01.2014. Record is like below.
05 01.01.2014 31.12.2014 540.08219 days
Now I have run time evaluation till 31.12.2014.
05 01.01.2014 31.12.2014 540.08219 days.
again I have run on 01.01.2015. the record is like below.
05 01.01.2014 31.12.2014 540 days
05 01.01.2015 31.12.2015 0.08219 days.
Now I run time evaluation till 31.12.2015. Record is like below.
05 01.01.2015 31.12.2015 30 days.
again on 01.01.2016 I am running time evaluation record is like below.
05 01.01.2016 31.12.2016 0.08197 days.
Plz help. It is not carrying 540 days of quota to next year.
Regards
sai
To carry forward the quota you have to write one more rule then only it gets carry forward to the next year.
BCURMO
**
12
BCURMO
31
HRS=FRXXC
ADDDBXXXXZ
2nd PCR
BCURMO
**
01
BCURDY
01
HRS=LXXXX(create a time type)
HRS=R
UPDTQAXX
Place the 1 st PCR after QUOTA Function before CUMBT
Place the 2nd PCR after QUOTA function and after CUMBT before end of the block.
Regards
Venkatesh
Hi Venkatesh
I have inserted the pcr for carry forward in the schema as below.
actio z456 quota carry forward for sick leave on Jan 1st.
CUMBT
Quota
Actio z222a quota carry forward for SL on Dec 31.
p2006 &SMX sick leave maximum entitlement
CUMBT
.
Employee hired on 01.01.2014 and run time evaluation till 31.12.2014. Monthly 2.5 days is generated. 30 days per year. Then 30 days of quota is carry forwarded to next year. when I run time evaluation on 01.01.2015. it is showing 30 days. In this case it is working fine.
Now I have given 545 days in 2013 infotype on 01.01.2014 and run time evaluation till 31.12.2014. quota is limiting to 540 on 31.12.2014.But it is not carried forward to 01.01.2015. when I run time evaluation on 01.01.2015 it is showing only 0.08219 days.
plz help, do you want me to attach PCR's.
Regards
sai
As far i understand the logic which is provided works fine if you place them correctly in the schema i.e we have to query the balance eon 31st DEC it should be placed after Quota then only we will get the Quota details of 31st DEC or end of the year once it is done if you are generating quotas with the help of time type then you have to place the PCR above CUMBT and QUOTA
and the PCR which has been provided to restrict the quota balances based on seniority has to be placed after Quota then it works fine.
Still if you are facing any problem share the screen shots so that we can check it.
If you do not have any issues if you feel that query is answered you can close the thread.
Regards
Venkatesh
Hi Venkatesh
I have done the above changes. I have run time evaluation till 31.12.2014. It is limiting to 540 but record is splitting like below. I have maintained 520 days in 2013 Infotype. It is calculating first month quota and showing separately. and the remaining months quota displayed separately.
05 01.01.2014 01.01.2014 522.54789 days
05 01.01.2014 31.12.2014 17.53426 days
Again I have run time evaluation on 01.01.2015. But quota is not carried forwarded.
05 01.01.2014 01.01.2014 522.54789 days
05 01.01.2014 31.12.2014 17.53426 days
05 01.01.2015 01.01.2015 0.08219 days
I have attached the schema.
regards
sai
Hi Venkatesh
In set base entitlement I have kept 30 days for 0-27 yrs seniority.
For 27 to 999 I have kept Zero.
In generation rule I have kept maximum entitlement field as blank, since it is calculating from PCR.
Now first I am checking the condition if it is less than 24 yrs of seniority, I have given 520 days in 2013 Infotype. I have run time evaluation till 31.12.2014. the following split record is created in 2006.why it is splitting the record.
05 01.01.2014 01.01.2014 522.54789 days
05 01.01.2014 31.12.2014 17.53426 days
And again I have run time evaluation on 01.01.2015.
In the log it showing under Quota function as below.
05 01.01.2014 01.01.2014 522.54789 days
05 01.01.2014 31.12.2014 17.53426 days
05 01.01.2015 01.01.2015 l0.08219 days
But in 2006 Infotype record updated correctly like below.
01.01.2015 | 31.12.2015 | 05 | sick leave | 01.01.2015 | 31.12.2015 | 539.99999 | 0.00000 |
I have run till 31.12.2015, 2006 infotype record is as below
01.01.2015 | 31.12.2015 | 05 | sick leave | 01.01.2015 | 31.12.2015 | 539.99995 | 0.00000 |
again I have run on 01.01.2016. in the time log it is like below.
05 01.01.2015 31.12.2015 539.999 days
05 01.01.2016 01.01.2016 0.08197 days
But in 2006 infotype it is updated correctly as
01.01.2016 | 31.12.2016 | 05 | sick leave | 01.01.2016 | 31.12.2016 | 539.99997 | 0.00000 |
It is working fine for seniority less than 24 years, Now I need to check for > 24 years and > 27 years. I will check and come back to you
thanks and regards
sai
Hi Venkatesh
1) if seniority is less than 24 yrs , I have given 520 days in 2013 Infotype. I have run time evaluation till 31.12.2014. the following split record is created in 2006.
05 01.01.2014 01.01.2014 522.54789 days
05 01.01.2014 31.12.2014 17.53426 days
Why two records are coming here.
2) I am attaching the configuration of table V_T559D.
3) I need to check for >24, >27 years of seniority how it is working.
regards
sai
Hi venkatesh
1) I have inserted the pcr as below in the schema, and I have run time evaluation upto 31.12.2014. It is generating 30 days but when I have run time evaluation on 01.01.2015 then it is showing 90.08219 days. But it should carry forward 30 days instead of 90. Schema is below.
2) Now I have changed the position of PCR's in the schema as below.
I have run time evaluation till 31.12.2014 it is showing 30 days.
again I have run on 01.01.2015. it is showing 0.08219 days.
but again I have rerun (on forced recalculation date as 01.01.2015 in pt60), then it is showing correctly as 30.08219 days.
every year beginning after rerun it shows the correct value .
can you plz help.
regards
sai
Do not change the PCR's in schema if you place them in wrong place in the schema it does not work place them as similar as November 20 2014 08:30 AM screen shot and then check it works fine.
and paste screen shot of 2013 Quota corrections info type how you created a record there.
Regards
Venkatesh
Hi Venkatesh
I have reset the schema to earlier as below.
Employee hired on 01.01.2014. It is working fine if we give some quota in 2013 infotype on 01.01.2014. But I am not giving any quota in 2013 infotype. I want to run time evaluation for every year till 24 years from the hiring date.
I have run till 31.12.2014 it is creating 30 days correctly. But on 01.01.2015 it is showing 90.08219 days, where it should be 30.08219 days.
on 01.01.2015, In the log up to Quota function end it is showing as below.
Quota
Output
05 01.01.2014 31.12.2014 29.99935 0.00000 Days
05 01.01.2015 31.12.2015 0.08219 0.00000 Days
While processing Z456 PCR it is processing for 3 times like below.
P2006 Z456 sl
Input
ABWKONTI
Processing
Call rule Z456
Call rule Z456
Call rule Z456
And when I check PCR &SMX in the log in the input it is showing 90 days. plz try in the system and let me know.
regards
sai
Hi Venkatesh
I have added the above lines in Z456 pcr still the same problem is coming. On 01.01.2015 it is showing 90.08219 days, where it should be 30.08219 days. on 01.01.2015, In the log up to Quota function end it is showing as below.
Quota
Output
05 01.01.2014 31.12.2014 29.99935 0.00000 Days
05 01.01.2015 31.12.2015 0.08219 0.00000 Days
While processing Z456 PCR it is processing for 3 times like below.
P2006 Z456 sl
Input
ABWKONTI
Processing
Call rule Z456
Call rule Z456
Call rule Z456
And when I check PCR &SMX in the log in the input it is showing 90 days. It is multiplying 30 days into 3 times. Can you plz check.
regards
sai
Hi Venkatesh
I am sorry , I kept Actio instead of using P2006 to call the above PCR. Now I changed to p2006 and Quota is carried forward to next year.
Employee hired on 01.01.2014 and time evaluation is run till 31.12.2037 till this value is correct it is limiting the quota to 540. But after 01.01.2038 quota is not getting generated properly, it is showing the quota as 35,634.
On 01.01.2038 , the output of quota function is as below.
05 01.01.2037 31.12.2037 539.99995 0.00000 Days
05 01.01.2038 31.12.2038 0.08219 0.00000 Days
on 02.01.2038 the out put of quota function is
05 01.01.2038 31.12.2038 660.24438 0.00000 Days
0n 03.01.2038 the out put of quota function is
05 01.01.2038 31.12.2038 756.32657 0.00000 Days
on 4.01.2038 the output of quota function is
05 01.01.2038 31.12.2038 852.40786 0.00000 Days
.
.
.
on 31.12.2038 the out put of quota function is
05 01.01.2038 31.12.2038 35,538.07935 0.00000 Days
In the set base entitlement I have kept
001. 0-27 yrs 30 days
002. 27+ I have kept zero days.
In generation rule I have kept the maximum entitlement field as blank as it is calculating from PCR.
plz let me know if you need any screenshot.
Regards
Sai
Hi Venkatesh
It is working fine. Thanks a lot for your time and efforts.
But one clarification, if employee hiring date is 01.01.2014 and he completes 26 yrs on 31.12.2040.
Quota is generated for calendar year from 01.01.2040 to 31.12.2040.
from 01.01.2041 quota will not generate. But remaining balance is 630 days. How he can apply for the leave in 2041 since quota validity expires on 31.12.2040.
For this I have changed the deduction interval end date in 2006 infotype as 31.12 .9999. Now employee can apply for a leave.
But manually we need to change the infotype 2006 record deduction interval date.
Is there any solution other than the above.
Regards
sai
Can you use operation to map your requirement with operation HRS=FDAYXX or HRS=FSAYXX where it gives yo number of years service from the date of joining later you can write your own logic and place in the schema.
Regards
Venkatesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
99 | |
12 | |
11 | |
6 | |
6 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.