I hope this article gives you an idea how to use processing types in time management to flag your records n time evaluation in order to control their loading in payroll.
2. How can use this method
Almost companies in my country are running payroll in monthly period but not from 1st to 31th. The period usually is 21st to 20 or 26th to 25th. I had lots of issues to implement this solution and already have some because our legal reports for insurance must be report from 1st to 31th.
During considering different methods to solve this issues I learned a lot about time management, payroll and time and payroll integration.
One of common issues in time and payroll integration is pay overtime from last month. For example if you would pay the overtime in a period like 26th to 25th or any other an your regular payroll period and you would transfer the exact overtime hours from last period this is the solution for you.
Obviously there is other method for this issue which I would explain in second part of this article if I found time.
It’s my please to thanks a lot Luis and Pablo, my friends who are senior PY and PT consultants and helped me a lot during finding solution. I dedicate this article to them
A client who is running payroll from 1st to 31th would pay overtime from last month 26th to 25th of current month.
4. Solution ( Time management side)
I am sure you are almost familiar with following 4 most common processing types in time management:
S: Planned work
4.1 Create your own processing type in V_T510V.
My processing type is Z and I call it “Delta overtime”. I will use this processing type to flag my overtime records from 26th till 31th of month.
4.2 Create time type selection rules in V_T510S. A rule for month overtime which comes from 1st to 25th
And the second for delta overtime(26th to 31th) which will pay in next month.
4.3 Make a copy of PCR TO20 and TO21 with a small change. I put my PCR’s name >O20 and >O21 as you see I just add a “Z” to GENOT operation. We use GENOT to create overtime pairs. To see help of GENOT please push F1 in this operation.
4.4 I am using IT2007 to generate overtime because of a special requirement I had. I just change the TO20 with my new PCR(>O20).
But to control the date you should add an IF… ELSE … ENDIF structure. So I prefer to replace GOT TO20 15 ASC with a subschema like this
In ZZOV subschema PCR: >TEP controls if current day is after 25th or not. If it’s after the PCR returns False and main schema(ZZOV) will consider >O20 otherwise the normal PCR(TO20) will run.
Maybe HRS=DSCDY is a bit strange for you because I had my own mapping of Shamsi calendar days into Gregorian so if you are using Gregorian calendar you can use HRS=BCURDY for example to return current day of payroll period.
You can use VARSTREDAY or VARSTCURMO but take care both are working based on time evaluation period not payroll period. To understand the difference of time period and payroll period please look at my document at http://scn.sap.com/docs/DOC-45887
4.5 Copy subschema into main schema and disable one line.
4.6 Put a line in your schema to process the delta overtime
5. Run time evaluation to see the result.
I have put 2 hours overtime for 10th and 3 hours for 30th of current month.
5.1 Planned working time on 10th of month
As you see return condition by PCR: >TEP is True.
Therefore system selects TO20 to run.
5.2 TO20 input TIP
5.3 TO20 process
5.4 TO20 output TIP
5.5 Select time wage type
5.6 Planned working time on 30th of month. There are 3 hours of overtime.
As you see return condition by PCR: >TEP is False
5.7 >O20 input TIP
5.8 >O20 process
5.9 >O20 output TIP
5.10 Select time wage type
Now if we take a look at cluster B2 thru PT66… YES I have my overtime record. The overtime records for after 25th will have Z processing type and for the rest processing type will be M
6. Solution (Payroll side)
I am running international version of SAP payroll (Schema X000). Go into subschema XT00
And create your own PCR to load data from ZL into IT.
6.1 My PCR is -090 which loads all overtime records with processing type M into current payroll and save all overtime records with processing type Z in result table to load in next payroll period. You should develop your own PCR based on D090 and put it as first parameter of ZLIT.
6.2 We need a change to loading data from previous payroll result also to read all overtime which has saved in previous payroll result(records with processing type Z). This is small PCR you should add after ZLIT to read the delta overtime from last result table.
7. Run payroll schema to see the result.
7.1 IMPRT B2 loads data of cluster B2
PCR -090 will load data from ZL into IT thru OUTZL operation.
This article is under construction I will add missing screenshots as soon as possible.
I hope you enjoy it