You are on page 1of 11

Payroll Schemas

Transaction Code: PE01


Menu Path: Human Resources --> Payroll --> Europe --> Great Britain -->
Tools --> Maintenance Tools --> Schemas
Double-clicking on a sub-schema will take you to the maintenance screen for
that schema.
Double-clicking on any of the rules (PCR's) will take you to the rule editor. You
can tell the difference between sub-schemas a rules by looking at the
parameters. The name of the sub-schema can be found in the Par 1 column.
The main schema generally calls all the different sub-schemas. The subschemas will then call the payroll rules. In most cases, when a rule is called,
there will be parameters in the Par 2 or Par 3 columns.
In the main, most sub-schemas are called by the "copy" command.
Schemas, rules and features in SAP use the following line editor commands.
This allows you to move, delete, copy and insert lines. All the commands are
entered in the area used for the line numbers. Overwrite any of the numbers
with the commands shown below. For the commands using 1 letter - hit the
return key once you have entered the letter. For the commands using 2 letters
- hit the return key after the first 2 letters have been entered or after both sets
have been entered.
The most commonly used commands are:
Line
Command

Description

Deletes a line

Insets a line

Moves a line

Copies a line

DD

Indicates the start of a block to be deleted

DD

Indicates the end of a block to be deleted

CC

Indicates the start of a block to be copied

CC

Indicates the end of a block to be copied

MM

Indicates the start of a block to be moved

MM

Indicates the end of a block to be moved

Once you have chosen the block to move or copy, you need to show where to
move or copy it to in the schema. The following commands indicate where
you can copy or move the lines to.
Line
Command

Description

Places the block after the chosen line

Places the block before the chosen line

Remember when calling the PCR from the schema: GEN means that the
wagetype is **** i.e. you haven't specified one and NOAB means that it will
look at any EE Sub-Grouping. If you want the rule to use specific wage types
or groupings, then leave either blank.
Use the print option and VAR (PAR 2) in the schema to output the variable
table during processing.
Position is very important for schemas. Look to see where a similar piece of
processing has taken place. If in doubt, place the rule after the similar data
has been read and processed.
Commonly used Functions
Function

Description

PIT

Process Input Table

PRT

Process Results Table

COPY

Calls a schema placed in PAR1.

BLOCK

Defines the start and end of a nested node

IF/ELSE/ENDIF

The schema is processed if the condition is


fulfilled

Pxxx

Processes the information held in infotype xxxx.

ACTIO

Actio calls a PCR. It is processed, irrespective of


whether the wage type exists or not.

Commonly used Parameters


Parameter
GEN

Description
Process any wage type

9000

Processes only wage type 9000

NOAB

Process for any EE sub-group groupings

Processes the rule only for EE sub-group grouping of


1

Payroll PCR's
Transaction Code: PE02
Menu Path: Human Resources --> Payroll --> Europe --> Great Britain -->
Tools --> Maintenance Tools --> Rules
Common ...
Operation

Description

The covers all the remaining entries - if you


leave the line blank then the WT is dropped.
Remember you always have to have an option
for *.

ADDCU

Cumulates the wage type into the relevant


cumulation (/101...) and valuation(/201...) wage
types

ADDNA *

From the IT Number and Amt are cumulated


into the OT. Blank is OT whilst E refers to the
RT.

ADDNA 4067

Current Num and Amt are added in to wage


type 4067.

ADDWSI*

Store the current wage type in the IT.

ADDWT *

Store wage type in IT/OT

ADDWT 1103

All the current values for amt, num and rte are
added to the values that are currently held in wt
1103

ADDWT&T

Adds the current wage type to the variable table


as T - which can be used at a later stage

ADDWTD/APO

Add the current wage type to the difference


table (DT)

ADDWTE

Store amount in Results Table (RT) - difference


with line below

ADDWTE*

Add wage type to the results table

ADDWTE*

Add the current wage type to the results table

ADDWTE/101

Add the current wage type to the results table


as /101

ADDWTH/201

Add the current wage type to the old results


table (ORT) as wage type /201

ADDWTI*

Add the current wage type to the IT

ADDWTL*

Add the current wage type to the results table


last payroll (LRT)

ADDWTN

Used in XLON

ADDWTN/LRP

(Loans - XLON)

AMT- 9023

Subtract amount field from wage type 9023


from Table IT (if wage type 9023 is available.)

AMT-& T

Amount minus the value held in variable T

AMT*-1

Amount multiplied by negative 1

AMT*12

Multiply amount by 12

AMT/KPKWPR

Amount divided by the constant PKWRP held in


table T511K

AMT/KPKWPR

Amt is divided by constant PKWPR from table


T511K

AMT?0

Compare the value held in the amount field


against 0

AMT+ 0001

Add amount field from wage type 0001 from


Table IT (if wage type 0001 is available.)

AMT+ 9013

Add amount field from wage type 9013 from


Table IT (if wage type 9013 is available.)

AMT+O /ZPO

Add Amt from wage type /ZPO into VORT


(Summarised ORT)

AMT50

If the amount field value is smaller than 50, it is


retained. Otherwise it is set at 50 (forming a
minimum amount).

AMT= /111

Store the value in the amount field of wage type


/111 in the amount field of wage type 2110

AMT= 1000

Store the value in the amount field of wage type


1000 in the amount field of wage type 2110

AMT= PKWWR

Reset the amount on wage type xxxx to that


held in the value for KWWR held in T511K

AMT=& /426

Set the amt = amt held on technical WT /426

AMT=& TASA

Reset the amount on wage type xxxx to that


held in the temporary wage type TASA

AMT=E *

Lets the Amt = the Amt held for the current


wage type in the RT

AMT=N /LBB

Add the amount value in technical loan wage


type /LBB (loan balance) to specific loan
balance wage type

AMT=N /LOP

Add the amount value in technical loan wage


type /LOP (loan payment) to specific loan
payment wage type

AMT=N /LRP

Add the amount value in technical loan wage


type /LRP (loan repayment) to specific loan
repayment wage type

AMT=ZERO

Reduce the value in the amount field to zero

AMT-1

Multiply the amount by -1 - I think this should be


subtract 1 from the amt

AMT-K43301

Take the value held against payroll constant


43301 from the annual salary

AMT-R 9019

Amt for the current wage type less the value


held in the RT for 9019 (Results wage types
using exact splits)

AMTS*

Subtraction to 0 (not negative) for the current


wage type

AMTS* 9013

Subtraction to 0 (not negative). Current wage


type less 9013

AMTSE 9043

Subtraction to 0 (not negative). Current wage


type less Amt held in the RT for wage type 9043

Expect a decision in this line

D VWTCL 01

Make a decision on processing class 1

D AMT?0

The amount field value is compared with 0, and


the result ('>', '=' or '<') is placed in the variable
key.

DIVID ARA

Divide the value in amount field by the value in


the rate field and put the result in the amount
field

ELIMI *

Eliminate all splits

ELIMI A

Eliminate splits - work center period (WPBP)

ELIMI K

Eliminate splits - cost accounting

ELIMI R

Eliminate splits - employee sub-group grouping


for PCRs

ELIMI T

Eliminate splits - alternative payments (ALP)

ELIMI U

Eliminate splits - bank transfer (BT)

ELIMI X

Eliminate splits - variable assignment

ELIMI Y

Eliminate splits - absence assignment

ELIMI Z

Eliminate splits - time unit

ERROR

Processing terminates for the current employee

FILLF NRA

Restore the original values for NRA - ie. The


values that were held in the WT before any
processing in this rule

GCY ZUM2

Call PCR ZUM2

MEANV 01
MESSGxxxxx

Can use a 5 character message. Comes up


whether the log is turned on or off. Can be used
as a customised error message.

MODIF 1=02

Sets the modifier for Wage type generation


(T510S) to 02 as the employee grouping

MODIF 2=01

Sets the modifier for Constant valuations


(T510J) to 01 as the employee grouping

MODIF A=01

Sets the modifier for the absence valuation rule


(T544C) to 01

MULTI ARA

Multiply the value in amount field by the value


in the rate field and put the result in the amount
field

NEXTR

Process the next line. Placing an * in under the


last column in the operation column has the
same effect as "nextr". Remember to put a
letter or number in the next line under the NL
column.

NEXTR A

Continuation line. A...Z followed by 0...9

NUM*1.5

Multiply the value in the number field by 1.5

NUM?0

Test the value in the number field against 0

NUM+ 3710

Add the value in the number field of wage type

3710 to the number field in the WT being


processed
NUM+39

Add a value of 39 to the number field

NUM+C 3000

Add to the NUM value from wage type 3000


held in the CRT table - to the NUM value of the
WT being processed

NUM= 3000

Set the current NUM to the value held in wage


type 3000

NUM= ANZHL

Num = number

NUM= EMPCT

NUM = Capacity utilization level from P0007


(called record layout fields in SAP Help)

NUM=0

Set the number field to zero

NUM=39

Store 39 in the number field

NUM=E /SSP

Set the NUM = the value of /SSP held in the


results table

NUM=GSDIVP

See part period paramter help

NUM=TSAU**

See part period paramter help

NUM=YCURPP

Set the NUM = current payroll period (?)

NUM-51

Reduce the hours held in the number field by


51

OPIND

Evaluates operation indicator - used


immediately after a database record has been
read. Multiplies by -1.

OUTWPABART

Load Work Center and Basic Pay Data - payroll


area

OUTWPCTYMO

Load Work Center and Basic Pay Data country modifier

OUTWPPAYSB

Decide which payroll accounting area the


employee is in

OUTWPPERSB

Load Work Center and Basic Pay Data employee sub-group

OUTWPPERSG

Load Work Center and Basic Pay Data employee group

OUTWPPLANT

Load Work Center and Basic Pay Data personnel area

OUTWPPLTSC

Load Work Center and Basic Pay Data -

personnel sub-area
OUTWPWWEEK

Load Work Center and Basic Pay Data working week from IT 0007

PCY X93B

Runs PCR X93B

PPPAR A

Reads part period parameters: leavers during


payroll period

PPPAR B

Reads part period parameters: paid absences


during payroll period

PPPAR E

Reads part period parameters: new joiners


during payroll period

PPPAR F

Reads part period parameters: leavers on the


first day of the next payroll period

PPPAR R

Reads part period parameters: is the employee


is in an active work centre?

PPPAR S

Reads part period parameters: basic pay


changes during payroll period

PRINT

Prints the IT

PRINT& WTG

Prints WTG from the variable table

PRINTL

Prints out the contents of the old results table


(LRT)

PRINTO

Prints the summarised ORT (VORT)

PRINTC

Prints the contents of the CRT

PRINTE

Prints the contents of the RT

Employee work centre is inactive, therefore do


nothing

RESET R

Resets R - is the opposite of ELIMI. Reset * resets all the split indicators. Give the meaning
of all the other variables elsewhere in the
document.

RETRO

Checks if the payroll run is a retroactive


accounting run

ROUND

Rounds off the AMT field - see SAP help for


specifics

ROUNDG

Rounds off the AMT field - see SAP help for


specifics

ROUNDA

Rounds off the NUM field - see SAP help for

specifics
ROUNDB

Rounds off the RTE field - see SAP help for


specifics

RTE*100

Multiply percentage held in rate field by 100

RTE*KGENAU

Multiply the value in the rate field by the payroll


constant GENAU (10,000).

RTE/GKDIVI

RTE/ total working time in calendar days

RTE/TADIVI

RTE/ total working time in working days

RTE/TASOLL

RTE/ planned working time measured in work


days

RTE/TSDIVI

Divide the value in the rate field by the worked


hours for pay period being processed.

RTE/TSDIVP

RTE/ total working time measured in working


hours

RTE=0

Set the rate field to zero

RTE=10000

Store 10000 in the rate field of wage type xxxx

RTE=K30551

Store the value held against payroll constant


30551 in table T511 in the rate field of wage
type xxxx

RTE=KGENAU

RTE set to the value of GENAU from table


T511K (default set at 10 000)

RTE=TKSOLL

Store the planned calendar days in the rate


field of technical wage type /801

RTE=TSAU07

RTE = unpaid absence measured in working


hours for counting class 07

RTE=TSSOLL

RTE = planned working time measured in


working hours

RTE=ZERO

Reduce the value in the amount field to zero

RTE-TKAU**

Take away any unpaid absence, in calendar


days, from the planned calendar days

RTE-TSAU**

Take away any unpaid absence, in worked


hours, from the planned worked hours

SCOND=F IF

The condition for function IF is false

SCOND=T IF

The condition for function IF is true

SETIN A=01

Set the work center - basic pay split for the


wage type as 01

SETIN R=1

Set the ESG for PCR as 1

SETIN X=NX

You want to set X with number 01 as a variable


split; the number of the split is to be increased
by 1 by every call.

SUBRC=0

Set and query the return code as 0

SUBWT *

Subtracts the current wage type - effectively


changing the sign of the NRA.

SUBWT 1025

Subtracts the current wage type (signs change)


and stores it as 1025.

SUBWTD*

Subtracts the current wage type (sign change)


of the NRA in the difference table (DT)

SUBWTE*

Subtracts the current wage type (sign change)


of the NRA in the results table (RT)

TABLE 508A

Shifts / time groups

TABLE 510P

Premium table

TABLE 512W

Valuation of wage types

TABLE 528B

Positions table in PA

TABLEALP

Table query on the Alternative Payments table

VAKEYALZNR

Place in the variable key - Y/N alternative


payment

VAKEYAUFKZ

Place in the variable key - extra pay indicator


for overtime

VAKEYBNKSA

Place in the variable key - variable keys are


held in a certain table

VAKEYBNKSA

Place in the variable key - type of bank details


P0009

VAKEYLNCLS

Place in the variable key - loan type

VAKEYLNTPY

Place in the variable key - loan type P0045

VAKEYPRAKN

Place in the variable key - premium indicator


time ITs

VAKEYTGRLE

Place in the variable key - variable key is filled


out based on the values in the TRFGR and
TRFST fields from the current PZ record

VAKEYVERSL

Place in the variable key - clearing key for


overtime

VAKEYZEINH

Place in the variable key - time unit

VAKEYZLSCH

Place in the variable key - payment key for


bank transfers

VALBS?

The system checks to see whether a valuation


base exists

VALBS1

Replaces the current wage type with the


statement wage type that is entered in table
T512W for the second wage type derived from
the current wage type, and then you want to
valuate this using the corresponding valuation
basis.

VALEN 2

Sets the length of the variable key to 2

VAOFF 2

Variable offset - set here to 2. The system with


then ignores the first 2 digits.

VWTCL 64

Interrogate processing class 64

WGTYP?

Usually part of a decision - where the wage


type is queried

WPALL?LAST

Decide if employee has had a pay change in


pay period & if the one being processed is the
last

Expect to call another PCR in this line

ZERO= AN

Sets the AMT and NUM to zero

ZERO=& ABCD

Initialises the variable ABCD

ZERO=NRA

Sets the NUM RTE and AMT to zero

Wishing to retrieve previous payroll period results to be used in a PCR?


You can do so by using the function IMPRE with paremter NN (NN periods
before current payroll period). Also have a look at the documentation of
IMPRE.
An example in using this function is as follows (reading the period 6 months
ago):
D ZERO = NRA IMPRE 6 SUBRC?IMP *
0 AMT = O 1001SETIN A=01SETIN R=3 ZERO= NR ADDWTI1001

You might also like