Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2
What We’ll Cover …
• Overview of payroll and payroll objects
• Introducing and configuring schemas
• Understanding and customizing functions
• Introducing and configuring rules
• Understanding and customizing operations
• Putting them all together
• Wrap-up
3
Overview of Payroll and Payroll Objects
• First, select “Release payroll”
In this step the payroll area and payroll period to be processed
are selected
The payroll control record is set to allow payroll processing
Employee master data records are locked
• Next, select “Start payroll,” enter screen parameters, and launch
the payroll process
Payroll processes generating wage types
Assignment to company and cost center are done
Check the results by viewing the remuneration statement
• Finally, select “Exit payroll”
The payroll control record is set to finalized, allowing for
additional processing such as posting to accounting and third-
party remittance
Employee master data records are unlocked for maintenance
4
Overview of Payroll and Payroll Objects (cont.)
• Payroll screen parameters include a schema
• The schema determines how the payroll program should be
utilized
Function Rule
modules
Operation
Operation
modules
5
What We’ll Cover …
• Overview of payroll and payroll objects
• Introducing and configuring schemas
• Understanding and customizing functions
• Introducing and configuring rules
• Understanding and customizing operations
• Putting them all together
• Wrap-up
6
Schema Introduction and Configuration
• Schemas control the payroll processing steps
Provide the instructions for payroll
7
Schema Introduction and Configuration (cont.)
• Transaction code PE01 is used to maintain schemas
• Copy SAP standard schemas to a customer name range
Copy standard payroll schema U000 and then only
maintain the new Z000 schema
Reduces issues when SAP provides updates to a
standard schema with support packages or upgrades
When making an update to the custom schema, make
a back-up copy first since there is no version management
f Makes it easier to reverse changes or scrap all the changes
quickly if needed
8
Schema Introduction and Configuration Example
• We’ve made a copy of standard SAP schema UT00 and called it
ZML2 to handle customized time data processing
• The payroll driver uses ZMLT (copy of U000) and calls ZML2
instead of UT00
Customized function
Customized rules
9
Schema Introduction and Configuration Tips
• Compare schemas with menu path Schema Compare after
displaying the schema in transaction code PE01
• Program RPDASC00 outputs a schema with differing levels of
detail set by the user
10
What We’ll Cover …
• Overview of payroll and payroll objects
• Introducing and configuring schemas
• Understanding and customizing functions
• Introducing and configuring rules
• Understanding and customizing operations
• Putting them all together
• Wrap-up
11
Overview of Function Use in Schemas
• Functions are snippets of code found in the payroll program that
are called by the schema
Function may or may not have parameters set in the schema —
it isn’t always a requirement
You can determine the available parameters by using the F1
(Help) key when you put your cursor on a function in the
schema view
• Functions may read:
Infotypes
Process rules
Standard
functions
Custom
function 13
Function Use in Schemas Example (cont.)
• Maintaining or displaying the functions is done using transaction
code PE04
You may configure the characteristics of the function and
available parameters
Parameter 3
Parameter 4
14
Function Use in Schemas Example (cont.)
• Standard SAP function RAB pulls all absences in from Infotype
2001 and assigns work center split indicators
When an absence appears in an inactive period (after
termination, LOA, etc.), an error is received
This may be changed with Parameter 4, but this allows all
absences in an inactive period to pass without an error
message
• Our goal is to make it so we don’t receive the error message for
specific absence types
Copy RAB to ZRAB and modify ZRAB using transaction
code PE04
Config change
15
Function Use in Schemas Example (cont.)
• SAP standard RPCMAS09_FURAB
Calls function HR_CONVERT_2001_INTO_AB_TECH
• ZRPCMAS09_FUZRAB
The function is identical except that the custom version calls
function ZHR_CONVERT_2001_INTO_AB_TECH
And we also define a custom operation, which we’ll look at later
Code change
16
Function Use in Schemas Example (cont.)
• ZHR_CONVERT_2001_INTO_AB_TECH
zpermitabsences contains absence types that won’t cause
errors
If the absence type is found in the custom table, then no error
and allow continued processing
If the absence is not found in the custom table, then error
(follows SAP standard)
17
Summary of Function Use in Schemas
• We’ve been able to use an existing function to make quick and
easy modifications to handle business requirements
Now we are able to process a specific set of absence types in
an inactive period without errors
Other methods were available, but those methods required
much more complex configuration
Later, we’ll go through an example to show how proration has
to be modified to handle these absences
• Functions are not as difficult to review and understand as most
people first think
• Use custom functions only when existing options will not meet
business requirements
Just because you can, doesn’t mean you should
18
What We’ll Cover …
• Overview of payroll and payroll objects
• Introducing and configuring schemas
• Understanding and customizing functions
• Introducing and configuring rules
• Understanding and customizing operations
• Putting them all together
• Wrap-up
19
Rule Introduction and Configuration
• Rules provide the logic flow of processing payroll
They are attached to schemas and executed during payroll
processing
Functions in the schema process a rule
21
Rule Introduction and Configuration (cont.)
• Rules are configured in transaction code PE02
Display or maintain rules
22
Rule Introduction and Configuration (cont.)
• Transaction code PE02 is used to display/maintain rule U010
Multiple operations are performing steps for the desired output
23
Rule Introduction and Configuration Example 1
• In the ZRAB function example, we made it so a select number of
absences process through an inactive period without causing
an error
• A side effect was that the proration became skewed because of
the absence
If the payroll period is ten days, the person is inactive for the
last five days and has three absences in the last three days
f The standard proration returned two active days
24
Rule Introduction and Configuration Example 1 (cont.)
• Z000 – US accounting schema for RPCALCU0
• Z000 calls schema ZML3 for the gross calculation
25
Rule Introduction and Configuration Example 2
• In this example, let’s assume that we are using Infotype 2010 to
process time from an external system
• If we were to use standard premium code functionality, multiple
premium codes would have to be created for each type of time
(standard, overtime, double time, etc.) to generate the appropriate
premium rate
• Instead, we will use standard configuration tables and three
custom payroll rules to allow only one premium code to be
entered and generate the appropriate premium rate
26
Rule Introduction and Configuration Example 2 (cont.)
• Configuration requires table updates
The creation of time wage types, such as regular, overtime, and
doubletime
Premium wage types and values
Premium codes
27
Rule Introduction and Configuration Example 2 (cont.)
• Regular, overtime, and doubletime wage types are created
The wage types are available in Infotype 2010
28
Rule Introduction and Configuration Example 2 (cont.)
• Premium codes are created in table T510P
• Amounts are not assigned to the premiums
• Use of the Premium ID could be used to reduce the number of
premiums even further
• Premium No. could be LD with three Premium IDs — one for each
of the shifts
29
Rule Introduction and Configuration Example 2 (cont.)
• Wage types are added and assigned a value in table T510J
• Payroll rules will use the premium code entered in Infotype 2010
to generate a premium wage type
• The premium wage type then receives the value from this table
• Using the PMod (payroll modifier set in rule UMOD) grouping,
different values may be generated for the same wage type
30
Rule Introduction and Configuration Example 2 (cont.)
• Schema ZUT0 is a copy of delivered UT00
Two modifications, the first being Z930
Z930 replaces
X930
31
Rule Introduction and Configuration Example 2 (cont.)
• Rule Z930 replaces standard rule X930 in the schema
• The rule makes a decision on the payroll area
If the payroll area is not 03, standard rule X930 is called
If the payroll area is 03, rule ZPRE is called to start the premium
code dynamic valuation
32
Rule Introduction and Configuration Example 2 (cont.)
• Rule ZPRE performs a couple decisions to verify required data
fields are populated
If the amount is not zero, continue directly to the premium rule
33
Rule Introduction and Configuration Example 2 (cont.)
• Rule ZPR1 is where the premium code attached to the time wage
type in Infotype 2010 is used to generate a premium wage type
and to add Split C3
The SETIN 3 variable will be used in the new rule ZMUL added
to schema ZUT0
• The rate and amount are zeroed since these will be calculated as
part of the premium process
• The number field is brought from the time wage type to the
generated premium wage type
34
Rule Introduction and Configuration Example 2 (cont.)
• In the case of the premium L3, the Lead wage type is generated in
addition to the Shift wage type
The Lead wage type does not have the C3 Split set since the
rate does not change based on the type of time
ZMUL is added
after valuations
are performed
36
Rule Introduction and Configuration Example 2 (cont.)
• Rule ZMUL uses the C3 Split added in ZPR1 to determine which
percentage the premium wage type needs to be processed with
37
Example: Processing During Payroll
• Let’s step through example 2 – processing in payroll
• We will use a single premium code, L3, and dynamically generate
the premium wage types and rates
• End users follow the same process as they would whether this
was implemented or not
38
Example: Processing During Payroll (cont.)
• Time wage types are loaded in Infotype 2010
• Premium code L3 is assigned to each entry
Lead premium of $1.50 per hour
39
Example: Processing During Payroll (cont.)
• Process payroll with the log checked
40
Example: Processing During Payroll (cont.)
• The Input table contains the three entries from Infotype 2010
• The wage type, hours, and premium number are all pulled in and
will process through the rule Z930
41
Example: Processing During Payroll (cont.)
• Each wage type processes through Z930 individually and
generates wage types 0413 and 0412
• Wage type 0412 is generated with the C3 Split set when wage
types 0401 and 0402 process
Wage type 0401 sets Split C3 to 15 and 0402 sets Split C3 to 20
42
Example: Processing During Payroll (cont.)
• The input processes through rules Z930, ZPRE, and ZPR1 and
produces the 0412 and 0413 wage type output
Note the C3 value of 15 and 20 for two of the 0412 wage types
Split C3 values
set by rule ZPR1
43
Example: Processing During Payroll (cont.)
• Move further down in the
payroll log
44
Example: Processing During Payroll (cont.)
• The Input table shows each of the 041x wage types with a rate
from table T510J
• Two wage types still contain the C3 Split set by rule ZPR1
45
Example: Processing During Payroll (cont.)
• The wage types without a C3 Split are added to the Output table
without further processing
• The two wage types with a C3 Split process through ZMUL
46
Example: Processing During Payroll (cont.)
• The two 0412 wage types have had the rate and amount
recalculated
C3 15 changed from $3.00 to $4.50
47
Example: Processing During Payroll (cont.)
• The output remuneration statement shows the correct hours, rate,
and amount for each of the time and premium wage types
Regular
Overtime
Doubletime
Combined
48
What We’ll Cover …
• Overview of payroll and payroll objects
• Introducing and configuring schemas
• Understanding and customizing functions
• Introducing and configuring rules
• Understanding and customizing operations
• Putting them all together
• Wrap-up
49
Operation Use in Rules
• Just like functions, operations are snippets of code found in the
payroll program that are called by a rule
• Operations perform calculations or other data manipulation steps
Manipulate one wage type at a time and store the wage type in
an output table
May perform decisions within the rule to determine a path to
follow — personnel area, employee subgroup
Up to six operations may be entered on one line of a rule, and
you have the option of sequential rows allowing for more
operations when needed
Operations allow for parameters to determine how the
operation should behave
• Version management is available
50
Tips for Creating a Custom Operation
• Use standard SAP routines when possible
• Follow SAP standards when creating new operations
• Do not hardcode values in operations; look up the values in tables
allowing for easier maintenance and date effectivity
• Variables seem to get overlooked and need to be cleared so they
are not carried along
• Make sure to include error handling that provides useful feedback
• Do not sort internal tables used in the main payroll driver since
the main program might be expecting the internal table to be in a
specific order. If needed, copy data to a new internal table for use
in custom operations or functions.
51
Maintaining and Displaying Operations
• Maintaining or displaying the operations is done using transaction
code PE04
You may configure the characteristics of the operation and
available parameters
Parameters
52
Example: Operation Use in Rules
• Following our example of allowing specific absences to process
through payroll without error, we had to create operation %TACT
• Operation %TACT allows for proper proration when the absences
are in the inactive period
If we had not modified proration, the absence in the inactive
period would cause a reduction in hours paid during the
active period
The operation returns a Y or an N depending on whether the
Infotype 0000 action is the same as the parameter set
The work week contains 40 hours and runs Monday through
Friday
The allow absence occurs on Friday, and the LOA action occurs
on Wednesday
53
Example: Operation Use in Rules (cont.)
• Standard proration will end up paying eight hours of attendance
for Monday and Tuesday combined and eight hours of absence
for Friday, a total of 16 hours for the week
• Our goal is to pay eight hours of attendance for both Monday and
Tuesday and eight hours of absence for Friday, a total of 24 hours
for the week
54
Example: Operation Use in Rules (cont.)
• %TACT is used only in the United States
• The parameter input is two characters with an output of one
character
55
What We’ll Cover …
• Overview of payroll and payroll objects
• Introducing and configuring schemas
• Understanding and customizing functions
• Introducing and configuring rules
• Understanding and customizing operations
• Putting them all together
• Wrap-up
56
Putting Them All Together
• The example we will be stepping through is based on the schema,
function, rule, and operation examples we discussed previously
• We’ll start by looking at the entries in the employee master data
and then follow them through the payroll log
• Points where the custom logic differs from the standard SAP logic
will be identified
• Payroll periods are a week with five eight-hour days
• The employee was originally paid for 32 hours of attendance and
eight hours for absences
57
Putting Them All Together (cont.)
• Infotype 0008 — Basic Pay
Employee is paid 1,711.9106 per 40-hour work week
58
Putting Them All Together (cont.)
• Proration in the original period was eight hours of absence and 32
hours of attendance at an hourly rate of 42.7978 (salary divided
by 40)
Eight hours of absence = 342.38
59
Putting Them All Together (cont.)
• Under standard SAP, the absence in the inactive period will cause
an error
60
Putting Them All Together (cont.)
• However, custom function ZRAB allows processing, since the
absence type 0200 is found in the custom table zpermitabsences
61
Putting Them All Together (cont.)
• The payroll period runs from 09/09/2007 to 09/15/2007
09/09 and 09/15 are days off
Company policy is that the eight paid absence hours are not
recouped
• During the retro calculation for the period:
The employee should be paid for the two days of attendance
And, the employee should still be paid for the day of absence
after the LOA began
62
Putting Them All Together (cont.)
• However, with standard proration, the employee is paid only for
one day of attendance and one day of absence
The absence reduced the two attendance days by one
63
Putting Them All Together (cont.)
• The first 1,711.91 is multiplied by 40% to generate salary of 684.76
• The second 1,711.91 is multiplied by 20% to generate salary
of −342.38
• Salary nets to 342.38
64
Putting Them All Together (cont.)
• The custom proration rule and operation we created earlier allow
for the correct proration
• Two /801 wage types flowed into the custom rule /MLP
However, only the /801 from the active period came out
with a value
In the active period /801, as with standard SAP proration, 40,000
is equivalent to 40% of the period, or two days
65
Putting Them All Together (cont.)
• The second /801 was reduced to 0% and was dropped, since
absences are not included in the proration
In the standard SAP proration, absences are considered and
caused the −20%
• Two entries exist for the salary found in Infotype 0008
Each salary entry will be multiplied by /801
66
Putting Them All Together (cont.)
• The first 1,711.91 is multiplied by 40% to generate salary of 684.76
• The second 1,711.91 does not have a corresponding /801 and is
removed
• The result is the employee does not have absences during the
inactive period recovered from them according to company policy
67
What We’ll Cover …
• Overview of payroll and payroll objects
• Introducing and configuring schemas
• Understanding and customizing functions
• Introducing and configuring rules
• Understanding and customizing operations
• Putting them all together
• Wrap-up
68
Resources
• Schema, function, rule, and operation help at http://help.sap.com
SAP ERP ERP Central Components SAP ERP Central
Component Human Resources HR Tools
• Program RPDSYS00 or transaction code PDSY for HR
documentation about specific objects
69
7 Key Points to Take Home
• Schemas control the logical flow of data during payroll
processing
• Do not change SAP-delivered schemas, rules, functions, or
operations — make a customer copy and then modify
• Make a back-up copy of schemas and rules prior to making
changes since there is no version management
• Schemas and rules are not date delimited like table entries
• Functions and operations call snippets of code from the payroll
program
70
7 Key Points to Take Home (cont.)
• Custom functions or operations should be created when standard
functionality does not exist or configuration would be more time
consuming
• Functions and operations have version management
71
Your Turn!
73