on 10-04-2015 9:13 PM
Dear Gurus;
I want the system to give a one day leave quota for an employee who completes 8 hours overtime, and for the one who completes 12 hours the system should give him a one day leave quota and pay him a salary of a couple of days.
Can anyone help me do this.
Thanks in advance.
Best Regards;
Lobna
Hi Lobna,
Please clarify regarding your second query that whoever will complete the 12hours over time he will receive one day leave quota as well as couple of days salary. Could not understand that how couple of day's salary is connected with >=12hours overtime.
Regarding your 1st query you can build the below PCR logic and incorporate in the time schema.
Suppose you have created a quota type XX for this. This quota type you will sue day time type in the base entitlement and select the accrual period for quota generation.
Say the day time is YYYY and in the generation rule of quota type you will select the day accrual under the accrual period. In the Validity and deduction table you will select start of the validity period as accrual period and end of the validity is accrual period (as per my view , you can change as per your requirement). Under the deduction part you will select same like validity start date and same like validity end period. But in the Deduction end period select the relative position as 999 months i.e you can use this quota in future in any time.
PCR structure,
ZTST
*
****
HRS=PEND
HRS-PBEG
HRS?8
*
COLOP *
>
COLOP *
HRS=1
ADDDBYYYYZ
Insert this PCR with PTIP function and just after TE20 pcr in the time schema like below.
PTIP ZTST GEN
Check and let me know. Also give some your 2nd query.
Regards,
Sankarsan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sankarsan;
Look I got the requirement clear now.
They want whenever the employee works an overtime during the working days he gonna be paid as follows;
In the morning hours he's paid 1.35 per hour
In the night hours he's paid 1.75 per hour
However, in the Fridays or Public Holidays the hour gonna be multiplied by 2 then will be compensated as follows;
If the total of overtime hours (after being multiplied by 2) completed 8 hours then the employee is compensated by one day added to his leaves quota.
If the total overtime hours (after being multiplied by 2) completed 12 hours then the employee will get a one day leave quota added to his quotas and will get a 2 days salary.
Can you help me make this PCR.
Thanks in advance.
Best Regards;
Lobna
Hi,
In your requirement there have three parts.
1. Overtime calculation has different rate on working day's based upon the Morning and Night Shift. (Excluding Friday and Public Holidays)
2. If employee is working on Friday or Public Holiday then Overtime rate is double.
3. If Overtime is more than equal to 8 or 12 on Friday or public day's then quota will be generated.
Let me draw the structure of the scenario.
You have mentioned two shifts. So there would two different dws that is MSHT (Morning Shift) and NSHT(Night Shift). I am taking two types of Overtime wage type generation based two condition that is working days(except Friday) and another for Friday and Public Holiday's.
Say two wage type's are 5100 & 5200 and another wage types i.e. 5300 are required carrying two day's salary for 12hours overtime to payroll.
ZTST
*
****
VARSTFREE
Y
VARSTHOLCL
*
COLOP *
1
GCY ZFRI
N
VARSTHOLCL
*
VARSTPRSNT
N
COLOP *
Y
GCY ZTSTA
1
GCY ZFRI
A
****
VARSTWEDAY
5
GCY ZFRI
*
VARSTDAYPG
****
LEAVE
MSHT
HRS=PEND
HRS-SWTE
ADDDB1000Z
HRS=D1000
HRS?0
*
COLOP *
>
COLOP *
HRS=D1000
HRS*1.35
ADDZL 5100
NSHT
HRS=PEND
HRS-SWTE
ADDDDB1000Z
HRS=D1000
HRS?0
*
COLOP *
>
COLOP *
HRS=D1000
HRS*1.75
ADDZL 5200
Insert this PCR with PTIP function and after TE20 PCR in the custom schema.
2.
ZFRI
*
****
HRS=PEND
HRS-SWTE
ADDDB2000Z
HRS=D2000
HRS?0
*
COLOP *
>
HRS=D2000
HRS*2
ADDDB2000Z
ADDZL 5200
Insert this PCR with PTIP function just after the previous PCR in the time schema.
3.
ZQTA
*
****
HRS=D2000
HRS?8
<
LEAVE
=
HRS=1
ADDDB3000Z
>
HRS?12
<
LEAVE
*
HRS=1
ADDDB3000Z
HRS=2
ADDZL 5300
Insert this PCR with ACTIO function after CUMBT function and after insert this line add again CUMBT function.
Here Time type 1000 & 2000 is used two store day wise overtime hours. In the 3000 time type we are storing quota day balance based upon the condition of 8 hours and 12 hours OT.
For the calculation of 2 day's salary for 12 hours OT it will be done at Payroll section once WT5300 is being transferred to payroll from time management.
If in your payroll section day wise salary is there then you can write a small PCR like below and add after ZLIT function in XT00 subschema.
Suppose I am guessing you daily wages are store in WT1000 then calculation would be
ZSAL
3
5300
NUM= 5300
AMT= 1000
MULTI ANA
ADDWT 5300
****
ADDWT *
Use this PCR with PIT function in the payroll time subschema schema.
Check and let me know.
Regards,
Sankarsan
Hi,
I think you would like to quota creation for this quota type which is subject to based upon the condition on Overtime.
As I said Time Type 3000 is used for quota balance which is being used in the quota type base entitlement.
Say suppose your quota type is 90 and for this quota type base entitlement you will use day balance as 3000 time type and quota accrual would be accrual period.
Now in the generation rule for this quota you will select day accrual under the accrual period. In the validity and deduction period for this quota you would be select in this way.
Validity From Validity To
Accrual Period Accrual Period
Relative Position 3months (Say assuming client wants that quota would be used with next 3months and after that will get expire)
Deduction From Deduction To
Same as Validity from radio button Same as Validity to Radio button
Now based upon this above configuration whenever system will get an day balance in the time type based upon my previous reply on PCR and your business requirement it will generate quota type 90 and this quota would be valid upto next three months. And again when another quota will be generated then it will be again three months.
Say suppose today system is generated 1 quota against quota type 90 so validity from 15.10.2015 validity to 14.01.2016 and deduction period also be same like validity period.
And again another quota is generated on 20.10.2015 of this month then validity from 20.10.2015 validity to 19.01.2015 and deduction period also be same like validity period.
Check and let me know.
Regards,
Sankarsan
Dear Sankarsan;
I did the PCRs that you told me and inserted them in the schema as per your instructions, then I've entered a sample for the employee's attendance with a couple of days overtime and just 3 days working days.
In PT60 I entered the dates to evaluate from 01.01.2015 till 05.01.2015, but actually I got an error
LIMIT Limits for time balances
Processing
General information
001 Core time violation
010 Maximum daily working time
020 Minimum working time
111 Maximum 13 weeks target time
No entry in table $ for key $ at $ T549Q 03 01.01.2015
Technical error no. 72
01.01.2015 Processing terminated for EE 80000001 Lobna Diaa
I checked the mentioned table "T549Q" and checked that 2015 exists with all its months.
So how can I solve this.
Appreciating your cooperation.
Best Regards;
Lobna
The requirement you have stated is very vague. "for the one who completes 12 hours the system should give him a one day leave quota and pay him a salary of a couple of days."
Business requirement including - rules, data, reporting, etc - needs to be very clearly set; even in agile development, it needs to be kept up-to-date; otherwise future maintenance will be a problem. It needs to be confirmed/agreed with HR/payroll SME's (Subject Matter Experts). Config or development can not be based on assumptions. It also drives Testing requirements.
1)Config tables
1.1) In V_T511K, configure constants as below
ZONE1 OT hrs limit for 1d leave accr - 8.00
ZADP1 OT hrs limit to pay addl xx day/s pay 12.00
ZADPD No.of days to be paid as wwww w/t (configure as xx.yy days)
Based on the following:
qq - abs quota type which needs to be accrued for OT above ZONE1 hrs. Create a new abs quota - usually called as "Time in lieu" or as required. This is to be generated daily.
wwww - wage type to be paid when OT exceeds ZADP1 hrs
xx.yy - no.of days ZADPD additionally to be paid as wwww w/t
In many organizations in Australia, Time in Lieu is based on the employment type/contract; eg., shift employees. Also employees have a choice to elect whether the OT should be paid as part of payroll or as Time in Lieu. IT 2002 has a field for this purpose and can be used in the PCR to pay or accrue leave.
Eligibility may be based on Part time employment or full-time employment with short durations of reduced working hours (as in the case of post-maternity). This may be checked using the P/T flag in IT 7 or employment percentage in IT 8. However, if these fields are allowed to be changed by user who maintains data, it may not be maintained correctly because users may copy a record (either manually or because of the personnel action config) and may not correctly set up these fields. Hence it is desirable to make these fields as non-editable and set up the fields through user code in LXPADU02; or at least high-light or warn user re:incorrect value. The normal full time working hours is part of config and depends on the PSAG and ESGG.
1.2) In time types T555A, configure a time type (t/t) as below
8001 OT Hrs - daily, monthly and yearly, brought forward from previous month and year)
9qqA Addl hrs to accrue abs quota type qq - daily
1.3 )In V_T559L for abs quota qq - for all the applicable groupings as applicable - determined by the business requirements
1.3.1) Generation rules
1.3.1.1)Accrual tab - daily; transfer - when generated
1.3.2)Entitlement: use t/t 9qqA
1.4)In Abs quota deduction rules config - for the absence type which can use this abs quota type qq, include the quota type qq at the correct sequence number
2. If the time schema needs to determine whether the employee has worked more than normal hrs agreed to and the excess is OT, then this needs to be determined first; then the time pair needs to be split into normal time(which usually has 'S' as proc type) and OT (proc type 'T').
3. If you are using attendance type for OT entry or as per above the pair has been split or changed to OT, then
3.1)In one PCR called with RTIP, do as below
3.1.1)If proc type (OUTTPVTYPE checks this) is OT (usually T is for OT proc type), then accumulate the OT hrs to t/t 8001
D OUTTPVTYPE -Check the current time pairs proc type
* -others
T HRS=PNUM NEXTR -OT, Get no.of hrs for the current time pair from TIP
T 1 ADDDB8001 - Add current hrs to t/t
Note if a pcr is called by PTIP, then the pcr needs COLOP* at the end of processing to keep the time pair in the TIP; else the pair is not saved. PTIP is used only if you are changing any part of the pair - eg., the proc type or splitting the pair, etc.
3.2)Function CUMBT cumulates the time types based on each time type's config, whether it needs to be cumulated, brought forward from previous period, etc.
After CUMBT, call next PCR ZOTP with PMB, to do as below. The pcr has 3 parts.
pcr ZOTP */****
P PCY ZOTPJ PCY ZOTPR
pcr ZOTP J/****
D HRS=M8001 HRS?CZONE1 Has OT hrs reached 1st limit?
* HRS=IDAHRS ADDDB9qqA NEXTR -Yes; set to accrue 1day's hrs of qq abs quota
* D HRS=M8001 HRS?CZADP1 - - Has OT hrs reached limit to pay addl payment?
* * HRS=IDAHRS NEXTR - - -Yes; get daily ave hrs from IT 7 for the empl
* * HRS*CZADPD ADDZLwwww - - - -multiply by xx.yy days, pay as www w/t
* < - - -No
< -No
pcr ZOTP R/****
D HRS=CZADPD HRS?M8001 Has OT hrs reached 2nd limit?
* ADDMB8001- -Yes; reduce OT accumulation
> -No;no further action (NFA)
Above should do.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
94 | |
11 | |
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.