Are you a beginner?

Are you new to SAP HR/HCM modules? Are you conisidering a new career in SAP HR?

Learn SAP by joining our google groups/orkut forums. Learn by asking questions.
We have set of basic materials which helps novices learn. This is the best teach-it-yourself kit available in the market.
First things you need to learn:
Difference between HR and HCM
There are many modules inside HR/HCM modules
Are you into Blueprinting? Which questionnaire do you use?

SAP HR Q & A

UNDERSTANDING CUSTOMER REQUIREMENTS

——————————————————————————–

Deviating from the question and answers, I would like to highlight a
story from the Indian mythology. A teacher teaching his student
archers asked them all to shoot an arrow at a clay bird perched on the
top of a tree and hit the eye of the bird. All the archers shot at the
bird but only one of them managed to hit the eye of the bird. When the
teacher asked all the student archers what did they see when they shot
the clay bird,some said they saw the bird on a tree,some said they saw
the bird perched on the branch. The archer who shot the bird was
quiet. When he was asked by the teacher as to what he saw , prompt
came his reply “I saw the eye of the bird”.What I am trying to
highlight here is that it is very important for an SAP HR consultant
to understand what the customer requirements are and be focused on
those requirements only.

[edit]PROJECT SCOPING
All projects are time defined based upon agreed business requirements.
Delivering what has been agreed upon is what the consultants need to
focus upon. Do not try to deviate from what is defined unless agreed
upon by the customer and the project team. Save the frills, fancies
and anything extra for the enhancements.SAP projects cost a lot of
money and the estimation is based on work to be done. A project’s
success depends on meeting the objectives, goals and requirements for
what the project endeavor was carried out within the defined time
lines. If the project deviates in cost, quality and time , it
indicates that what was defined as required by the customer is not
being met. Deviations to projects makes the project team loose
motivation and interest, disturbes human resource planning for other
projects when they are to be released from the existing projects and
begin work on the other projects. In short it creates a chaos besides
financial losses.Many of us are in consulting and we need to
understand the bottomline- time is money. If your projects make
profit, your company makes profit and you too profit. This should be
your motto.

So remember and drill this in your mind that requirements for an sap
hr project are to meet the company’s goals and objectives in
initiating the project and clearly not what the sap hr user or even
for that matter the sap configurator fancies or wants.The success of
the sap hr project is only when the project sponsor states that it is
a success.


——————————————————————————–

[edit]QUESTIONS AND ANSWERS

——————————————————————————–

[edit]INFOTYPES
I have decided to answer all the questions directly to begin with now
that you have some fundamentals explained and then go ahead with more
discussions

1.What are info types ?

Infotypes, known as information types are units of human resources
information formed by grouping related data fields together. These are
represented in the sap hr system by a unique 4 digit number eg.
Personal Data (0002), Address (0006) etc. All customer infotypes fall
in the number range from 9000 to 9999. The fields in the infotype
would vary based on the country grouping for eg. if any employee
belongs to country grouping 10 then he would have the SSN no field in
the Personal Data infotype which would not be seen in same infotype
for country grouping 99.

*Infotype no SAP HR sub module

0000-0999 Personal Administration (HR Master Data)
1000-1999 PD Infotypes ( OM etc)
2000-2999 Time Infotypes
4000-4999 Recruitment Infotypes
[edit]PERSONNEL ACTIONS& HIRING ACTION

——————————————————————————–

2.What are personnel actions? What is the transaction for executing
personnel actions? Personnel Actions are the events of an employee’s
employment history within the organization beginning from hiring an
employee to termination of the employee.Each of these events need
specific information to be captured. This is achieved in sap hr by
grouping together infotypes called as infogroup which appear one after
another in sequence to capture/change information in the infotypes
whenever the personnel action is executed. Personnel Actions are
executed by transaction pa40.

3.What are the important info types for a hiring action? The important
infotypes for executing a hiring action are.

0000- Actions
0001- Organizational Assignment
0002- Personal Data
0003- Payroll Status ( this is automatically maintained by the sap
system and not required to be maintained in the info group for
hiring)
0006-Address
0007-Planned Working Time ( This should always be maintained before
infotype 0008 Basic Pay)
0008- Basic Pay
0009- Bank Details
0016-Contract Elements
0041- Date Specifications
2006- ( For annual leave & sick leave)
Note that it is the hiring action that allows you to assign an
employee to the hr structures.

[edit]IMG & PROJECT IMG

——————————————————————————–

4.5 & 6 What is IMG? What is its importance? What are the functions
you can execute using IMG? What is customizing? What does customizing
support? How do you create a Project IMG? What are project views?

IMG means the implementation guide. The configurators would customize
the sap hr system as per the customer requirements in the img. In the
img you can create project img’s which limit the customizing nodes to
the requirement of the projects and for each project img you can
create multiple views like MM,SD,HR etc to get more specific. To go to
the implementation guide or img from the sap easy access menu ,you
have to enter transaction spro in the command line.

[edit]ENTERPRISE & PERSONNEL STRUCTURE

——————————————————————————–

5.What is an enterprise structure?

The enterprise structure is one of the HR structures. The HR
enterprise structure composition depends upon the hr administrative,
time and payroll functions for that company. It comprises the client,
company code, personal area, personnel subarea and the organization
key. The hiring action assign an employee via infotype 0001-
Organizational Assignment to the enterprise structure. The enterprise
structure is the enterprise perspective of an employee.

6.What is a personnel structure?

The organizational personnel structure describes how the employee is
positioned in the organization. This is an individual perspective of
an employee in an organization. It comprises of the employee group,
the employee sub group and the organization plan (org unit, position,
job) for that employee. The hiring action assigns an employee via
infotype 0001- Organizational Assignment to the personnel structure.

7.What is the highest level of the enterprise structure?

The client is the highest level of the enterprise structure.

8.What is company code? Is it defined in HR? If not where is it
defined?

The company code is an organization unit(this is different from the hr
organization unit. Different modules like SD, MM, etc have their own
organization structures with their own organization units) which has
its own balance sheet and profit and loss account and is defined in
the FI module.

9.What are personnel areas and its functions?

Personnel (( Please note the spelling -> its Personnel (group of
people)and not Personal(Individual)) Area is the sub division
(understand these two words) of the company code and can represent a
functional area or geographical location.These play a very important
role in the time and payroll configurations. Each personnel area is
unique to a company code (mark these words) and is represented by a 4
character code.

10.What are personnel sub areas and its functions?

The further divisions (understand this word) of a personnel area are
defined as personnel subareas. The functions are similar to the
personnel area. Each personnel subarea too is unique to a personal
area (mark these words) and is represented by a 4 character code.

Hi everyone, i would be continuing with the answers to the rest of the
questions as an when i get the time and try to keep this going till
completion.

11.How is an employee in the HR Master data linked to a company to
which he belongs?

EMPLOYEE—>PERSONNEL AREA—>COMPANY CODE—>COUNTRY GROUPING–
>CLIENT

12.Can a personnel area be assigned to many company codes?

No. A Personnel Area can be only assigned to one company code. Many
personnel areas can be assigned to the same company code but the vice
versa is not true.

13.What are the indicators defined by personnel sub areas?

The indicators are all personnel sub area groupings for hr, time,
payroll which are very critical to the sap hr implementation. They are
also used tolimit HR authorizations.

14.How do you categorize the employee groups?

Employee groups are categorized based on employee/staff regulations of
work and pay such as

Active
Retiree/Pensioner ….. and so on.
These are also used to limit HR authorizations.

15.What are employee subgroups and what are the indicators set up
using employee subgroups?

Further division of the employee groups are called the employee
subgroups such as under employee group 1-Active you could have
employee subgroups such as AA–Hourly wage earner, AH–Salaried Employee
…. And so on.The indicators are all employee sub area groupings for
hr, time, payroll which are very critical to the sap hr
implementation. They are also used to limit HR authorizations.

16.Employee groups are two character and employee subgroup are two
character representations in the IMG. Do you support this statement?

False. Employee groups are one character and employee subgroups are
two character representations.

17.In the HR Master data where are planned working times for an
employee seen?

IT 0007- Planned Working Time using transaction pa51 – Display time
data

18.Do I need to give country assignment to personnel sub areas in
customizing? If true support the statement and if not what’s true?

No. You do not need to give country assignment to personnel sub areas.
You need to give country assignments to the employee subgroups on
assigning to employee groups in the enterprise structure.

The Payroll Exceptions Report

The Payroll Exceptions Report

Accessing the report

The report can be accessed by using the menu path: 
Human Resources -> Payroll -> Countryxx -> Subsequent activities -> Per payroll period -> Lists/statistics

The report can also be accessed from SE38 using the report name RPCEXCX0 or by using transaction code PC00_M08_CEXC

The purpose of this report is to list exception messages (per employee) for a given payroll run. For example, a payment which exceeds the maximum limit specified in the tolerance group.

Configuration

You can run the report without doing much of the configuration. The report can be enhanced further by undertaking config which is specific to your company.

The configuration is done in the payroll part of the IMG. Look for the entry “Exception Handling” in your country menu for payroll.

There are two steps in the configuration of this report.

The first one revolves around the feature “EXCEP”. This feature is used to assign a tolerance group to different groups of employees. Generally the feature will make a decision on country code and then assign a specific tolerance group to all your employees.

The second step which can be configured relates to the specific message within the tolerance group. You can create your own messages here. This is useful if you have specific rules relating to different wagetypes. The rules can be set on table fields as well.

The configuration is quite straight forward. Look at all the different settings and see which ones can be used within your organisation.

If you have certain rules which are to be used for specific groups of individuals, you can use the feature to create different tolerance groups. The different tolerance groups can then be assigned to different rules.

Running the report

Upon executing this report, the SAP R/3 System allocates a message and severity number to the exception. The severity number will either be a warning or an information message.

The category Error is not used, as any errors that are detected would cause the payroll calculation to fall over for that employee.

The report is displayed via the SAP List Viewer. If you need more information on how to best configure the output of the report, see in the SAP Library : SAP R/3 Enterprise Application Components -> Cross-Application Components -> General Application Functions -> SAP List Viewer.

The report prints the statistics from the payroll run as follows:

Employees selected for processing – indicates the number of employees for whom the exception reporting was run.
Employees processed in payroll – indicates the number of employees who have a payroll result in the selected payroll period.
Employees processed for exception reporting – indicates the number of employees for whom exception messages were generated (in the selected period).

Prerequisites

You obviously need to have run and saved payroll results which the report can use.

Output

The output of the report is either Statistic or Exception Reporting

Selection Criteria

Enter the required payroll area and period you wish to report on.
In the section titled “additional data”, you can specify the selection criteria to search for exceptions – based on the message class and number. The HR message classes generally starts with a 5 followed by a letter. For example the message class for the UK is 5G.

You can narrow it down further by inserting specific message numbers or at least a range of numbers.

Set the indicator in the field Messages for retro periods, if you would like exception reporting to be processed for retroactive payroll runs.

Payslips

Payslips

  • The form editor includes certain validation. This validation precludes you from entering, for example, a field where it clashes with another field. To get around this, you can enter the fields directly on the tables holding the form entries (table T512E/F etc). If there is a clash then the one will overwrite the other.
  • If you wish to copy a SAP standard form that exists within client 000, you can do so using the menu path in the IMG –> Forms –> Remuneration Statement –> Copy Standard Form
  • If you wish to stop everyone from being able to modify the form, change the attributes to allow only a designated person to modify the form.
  • Remember that when forms are placed in transport requests, it is the snapshot of the form, at that time that is saved. Be careful then, when more than one person is working on the form – especially when it comes to the order of the transports.
  • When creating a new form, you will invariably copy another form which closely matches the desired form. Remember to look at the size of the form you are copying. You may be constrained later on – if you are wishing to increase the form area.
  • If the table or field you wish to print on the payslip, is not available, then you can add the table entries to table T514K and the field entries to table T514N. You need to enter the table entry first and then the field entry.
  • When setting up the windows for payments and deductions, use the entry **F2 to catch all the wage types with the setting of F2 on evaluation class 02.
  • To show the text of a payroll area on the remuneration statement. In the HR Form editor, single fields sub-object, use table VERSC (header data from payroll results) and use table field ABKRS (payroll area). In the print options, ensure that 01 is in the conversion box to “replace key with text”

Copying a Standard Payslip

Whenever you wish to copy a SAP standard payslip

  • Copy the standard form from client 000 to your client (transaction code PDF8).
  • Copy the standard form you have copied to another form name (using the customer naming convention – starting with Z.)
  • Never copy across country versions – always choose a standard form in your own country version.

Compress Payslip

  • Use the transaction code SPAD.
  • Device formats – change
  • Device type: your printer type
  • Format : existing format (X_65_80 or another)
  • EXECUTE
  • Device formats copy to new device format
  • Modify the printer initialization (escape sequences).

Payslip Display – Retro Amounts

You wish to show retro calculation payments separately on the same payslip or together with the current monthly amount

  • Look at the front screen of the remuneration statement. Look at the different options offered at the bottom of the screen.

Page Numbers on a Payslip

You wish to display payslip page numbers.

  • Create field “xrt-pagno” in individual fields (form editor) for page number of remuneration statement.

Schemas and Personnel calculation rules

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 sub-schemas 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
D Deletes a line
I Inserts a line
M Moves a line
C 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
A Places the block after the chosen line
B 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 Description
GEN Process any wage type
9000 Processes only wage type 9000
NOAB Process for any EE sub-group groupings
1 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

Commonly used operations in payroll configuration

Operation Description
* This covers all the remaining entries not already specified. If you leave the line blank for the operation then the WT is dropped. Remember you always have to have an option for * in your PCR.
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.
ADDWSE9N03 This operation is very similar to ADDWT. The only difference is that it writes the value to table V0 as well
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
ADDWTA* The values in the wage type are copied to the previous employer table VAG – called in the rules XDPI, XDPR & XDPT
ADDWTC* The values in the current wage type are added into the CRT
ADDWTC/101 The values in the current wage type are added into the CRT for the technical wage type /101
ADDWTD* The values in the current wage type are added into the Difference table DT
ADDWTD/551 The values in the current wage type are added into the difference table DT for the technical wage type /551
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 the current wage type to the results table RT
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 input table IT
ADDWTI/101 The values in the current wage type are added into the input table IT for the technical wage type /101
ADDWTL* Add the current wage type to the results table last payroll (LRT)
ADDWTN Used in XLON
ADDWTN/LRP (Loans – XLON)
ADDWTW Add the current wage type to the wage maintenance table
AMT- 9023 Subtract amount field from wage type 9023 from Table IT (if wage type 9023 is available.)
AMT%33.33 Multiply the amount by 33.33%
AMT%KSAPRO Multiply the amount by the value SAPRO held in table T511k
AMT-& T Amount minus the value held in variable T
AMT*-1 Amount multiplied by negative 1
AMT*12 Multiply amount by 12
AMT*KGENAU Multiply the amount by the constant GENAU held in table T511k. GENAU is used to factor up by 4 or 5 factors of 10 to avoid the issue of errors caused by rounding.
AMT-.04 Subtract 0.4 from the amount field
AMT/2 Divide the amount by 2
AMT/KGENAU Divide the amount by the factor GENAU held in the constants table T511k
AMT/KPKWPR Amount divided by the constant PKWRP held in table T511K
AMT/KZF001 Amount is divided by constant ZF001 from table T511K
AMT? * Compare the value held in the amount field for all wage types
AMT? /GPY Compare the value held in the amount field for wage type /GPY
AMT?& ZAPR Compare the value held in the amount field against the constant ZAPR
AMT?0 Compare the value held in the amount field against 0
AMT?E /167 Compare the amount against the value of the amount held in the results table RT for wage type /167
AMT?IGRUEB Compare the current amount against the limit held for the bank transfer
AMT+ /564 Add the amount from wage type /564 from the IT
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+& ZSAP Add the value held in the variable ZSAP to the amount for the current wage type being processed
AMT+E 910B Add the current amount to the RT and place in wage type 910B
AMT+O /ZPO Add Amt from wage type /ZPO into VORT (Summarised ORT)
AMT< /562 Checks whether the currently held amount is less that that held in the wage type /562
AMT= * This sets the amount = zero for the wage type in question
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= BETRG Let the amount equal the value held in the BETRG (amount) field for the wage type in question
AMT= PKWWR Reset the amount on wage type xxxx to that held in the value for KWWR held in T511K
AMT= PLANS Sets the amount = position number
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=0 Let the amount equal zero
AMT=A * The amount is set to the value held in the table VAG – previous employee data
AMT=E * Lets the Amt = the Amt held for the current wage type in the RT
AMT=E /167 Lets the Amt = the Amt held for technical wage type /167 in the RT
AMT=KSAPLR Set the amount = the value SAPLR held in table T511k
AMT=L * Lets the Amt = the Amt held for the current wage type in the LRT – last result table
AMT=L /561 Lets the Amt = the Amt held for the wage type /561 in the LRT – last result table
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=Q /GPY Lets the Amt = the Amt held for the wage type /561 in the OCRT – old cumulative result table
AMT=ZERO Reduce the value in the amount field to zero
AMT>* “Maximum formation: The greater value of * and the current value of the AMT field

is determined and written to the current AMT field.”

AMT-1 Multiply the amount by -1 – I think this should be subtract 1 from the amt
AMT50 If the amount field value is smaller than 50, it is retained. Otherwise it is set at 50 (forming a minimum amount).
AMT-E /167 Subtract the Amt value held in the RT for /167 from the currently stored amount
AMT-K43301 Take the value held against payroll constant 43301 from the annual salary
AMT-O /167 Subtract the Amt value held in the ORT for /167 from the currently stored amount
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 /564 Subtraction to zero – the value cannot be less than zero.
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
BTREC /558 “Sets the recipient data for bank transfers. Can only be run after bank transfer data has been read from

an infotype. Data on wage type and amount are transferred from the current fields (OT) and retained in the transfer table together with data on the recipient of the record last read.”

CMPER 0510 Compares the current amount with that held for period 10 in year 05.
D Expect a decision in this line
D AMT?0 The amount field value is compared with 0, and the result (‘>’, ‘=’ or ‘<') is placed in the variable key.
D VWTCL 01 Make a decision on processing class 01
DIVID ANR Divide the amount by the number and store the result in the rate field
DIVID ARA Divide the value in amount field by the value in the rate field and put the result in the amount field
DIVID ARR Divide the amount by the rate and store the answer in the rate for the wagetype
DIVID NRN Divide the number by the rate and store the answer in the number field
ELIMI * Eliminate all splits
ELIMI A Eliminate splits – work center period (WPBP)
ELIMI K Eliminate splits – cost accounting
ELIMI KTX Eliminate the splits for cost accounting, alternative payments and variable assignment
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 A Restore the original values for the amount – i.e. The values that were held for the amount field in the WT before any processing in this rule
FILLF N Restore the original values for the number – i.e. The values that were held for the number field in the WT before any processing in this rule
FILLF NRA Restore the original values for the number, rate and amount – i.e. The values that were held for the number, rate and amount fields in the WT before any processing in this rule
FILLF R Restore the original values for the rate – i.e. The values that were held in the WT before any processing in this rule
GBVRT “GB specific processing of AWE operation

GB specific operation to overwrite the average RATE of wage type /MAE in table RT in case of a retro calculation.”

GCY ZUM2 Call PCR ZUM2
GCYGXALQ Calls PCR XALQ for all wage types – sets wage type to ****
GEWRT Elimination of WPBP split in the RT
GSXP2 New Changes Across End of Year solution active for GBSXP phase 2
GSXPD Check on Implementation Date of AVERA for SxP AWE. Called in GG70 and ensures that the old and new technical wage types for averages don’t both exist.
LRTST Y Evaluates the status of the LRT table. Processing is only continued if the previous month falls in the current year.
MEANV 01 Calculation of averages for 01 (from table T511A)
MEANVG03 Calcualation of averages for 03 (from table T511A) – not sure what the G implies
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 ANN Multiply the amount by the number and store as the number field for the wage type
MULTI NRA Multiply the value in number field by the value in the rate field and put the result in the amount field
NEXTR Process the next line. Placing an * in 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 Don’t forget to put in the letter following the NEXTR in the continuation line of the next line.
NEXTR B Continuation line. A…Z followed by 0…9 Don’t forget to put in the letter following the NEXTR in the continuation line of the next line.
NUM* BSGRD Multiply the value in the number field by the value held against the capacity utilization level on infotype 0008
NUM*1.5 Multiply the value in the number field by 1.5
NUM/100 Divide the value in the number field by 100
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+& ZNIL Adds the number held in the temporary variable ZNIL to the currently held value for the number
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+E /852 Adds the number held in technical wage type /852 to the currently held value for the number
NUM+TSAP** Adds the number from the partial period parameter for the paid absence measured in working hours for xx is the sum of all paid absences (totalled over all classes)
NUM= 3000 Set the current NUM to the value held in wage type 3000
NUM= ANZHL Transfers the value of the ANZHL field to the number field.
NUM= BWGRL Sets the number equal to the valuation basis per hour
NUM= EMPCT NUM = Capacity utilization level from P0007 (called record layout fields in SAP Help)
NUM= PLANS Sets the number equal to the position number of the employee
NUM= STDAZ Sets the number equal to the number of hours taken from IT 0007
NUM=& ZSHF Sets the number equal to the number held in the temporary variable ZSHF
NUM=0 Set the number field to zero
NUM=39 Store 39 in the number field
NUM=BJRSTD Sets the number equal to the position number of the employee
NUM=BTGSTD Sets the number equal to the daily hours worked by the employee
NUM=BWOSTD Sets the number equal to the weekly hours worked by the employee
NUM=E /SSP Set the NUM = the value of /SSP held in the results table
NUM=GSDIVP Sets the number equal to the working hours for the employee for the entire payroll period
NUM=GSSOLL Set the number = planned working time measured in working hours taken from the work schedule rule
NUM=TSAU** See part period parameter help (function PARTT)
NUM=TSAX** See part period parameter help (function PARTT)
NUM=TSDIVI See part period parameter help (function PARTT)
NUM=WOSTD See part period parameter help (function PARTT)
NUM=YCURPP Set the NUM = current payroll period (?)
NUM-51 Reduce the hours held in the number field by 51
NUM-E /845 Take away the number for technical wage type /845 held in the RT from the currently held number
NUM-TSDIVP Current value in the number field less the total working time measured in working hours taken from the total working time in payroll accounting period
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
OUTWPSHIFT Load Work Center and Basic Pay Data – shift indicator
OUTWPTRFAR Load Work Center and Basic Pay Data – pay scale type
OUTWPWWEEK Load Work Center and Basic Pay Data – working week from IT 0007
PCY X05D* Runs PCR X05D for all employee subgroup groupings
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 P Reads part period parameters: if the time unit for the payroll area is different to the time unit for the pay scale type and area
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
PPPAR U Reads part period parameters: for unpaid absences in the period
PRINT Prints the IT
PRINT& WTG Prints WTG from the variable table
PRINTC Prints the contents of the CRT
PRINTE Prints the contents of the RT
PRINTL Prints out the contents of the old results table (LRT)
PRINTO Prints the summarised ORT (VORT)
R Employee work centre is inactive, therefore do nothing
R51P1?10N You want to know if there is an entry in table T51P1 with indicator 10 for the current IT wage type. If an entry is found, processing should be continued.
R51P1=01R You want to read the entry in table T51P1 with indicator 01 for the current IT wage type, and store it in the OT table. If an entry is found it should be rejected
R51P6A “Operation R51P6 reads an entry from table T51P6. This table determines the characteristics of the deduction wage types.

The value of the arrears characteristic should be placed in the variable

key.”

RE510T Read Pay Scale Table – group and level
RESET * Sets the splits back up again – has the opposite effect to the ELIMI * operation.
RESET 1 Resets the first national split (/SI)
RESET AR Resets the amount and the rate – is the opposite of ELIMI. Reset * – resets all the split indicators. Give the meaning of all the other variables elsewhere in the document.
RESET KR Resets the cost accounting and employee subgroup grouping values
RESET R Resets R – is the opposite of ELIMI – resets the employee subgroup groupings for the employee
RETRO Checks if the payroll run is a retroactive accounting run
ROUND Rounds off the AMT field – see SAP help for specifics
ROUND 005 Rounds the AMT field up so that it is divisible by 005
ROUND +100 Rounds the AMT field to the next available number
ROUNDA Rounds off the NUM field – see SAP help for specifics
ROUNDB Rounds off the RTE field – see SAP help for specifics
ROUNDG Rounds off the AMT field – see SAP help for specifics
RTE%33.33 Multiply the value held in the rate by 33.33% – so effectively multiply by .3333
RTE-& HALF Subtract the value held in the constant HALF from the rate
RTE* BSGRD Multiply the value held in the rate by the capacity utilization level field on infotype 0008
RTE*-1 Multiply the rate by negative 1 – effectively switch the sign for the value
RTE*100 Multiply percentage held in rate field by 100
RTE*KGENAU Multiply the rate by the constant GENAU held in table T511k
RTE*KGENAU Multiply the value in the rate field by the payroll constant GENAU (10,000).
RTE/100 Rate divide by 100
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/TKDIVI RTE/ Total working time measured in calendar 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?& VLBS Check to see how the current rate compares against the value held in the temporary variable VLBS
RTE?0 Check to see how the current rate compares against a value of zero
RTE+ 1001 Adds the rate held in wage type 1001 to the currently held rate
RTE+& MM Adds the rate held in the variable MM to the currently held rate
RTE+* Adds the current rate to the IT
RTE+100.00 Adds a value of 100 to the currently held rate
RTE+BBETRG Add the amount from table to the currently held rate
RTE+TKAU10 Add the unpaid absences measured in calendar days for counting class 10 from table T554C
RTE= 1001 Set the rate equal to the value held in the rate field for wage type 1001
RTE= BETRG Set the rate equal to the amount
RTE= BSGRD Set the rate equal to the capacity utilization level held on infotype 0008
RTE= BWGRL Sets the rate equal to the valuation basis per hour
RTE=& AB Sets the rate equal to the value held in the temporary variable AB
RTE=0 Set the rate field to zero
RTE=10000 Store 10000 in the rate field of wage type xxxx
RTE=BBETRG Set the rate equal to the amount pulled from the table
RTE=BWOSTD Sets the RTE equal to the weekly hours worked by the employee
RTE=GKSOLL Set the rate as the planned calendar days
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=TADIVP RTE = Total working time measured in working days
RTE=TASOLL RTE = planned working time measured in work days
RTE=TKDIVI RTE = Total working time measured in calendar days
RTE=TKSOLL Store the planned calendar days in the rate field of the wage type being processed
RTE=TSAU07 RTE = unpaid absence measured in working hours for counting class 07
RTE=TSDIVP RTE = total working time measured in working hours
RTE=TSSOLL RTE = planned working time measured in working hours
RTE=ZERO Reduce the value in the amount field to zero
RTE-GKAU** Rate subtract the part period unpaid absences in calendar days for all unpaid absences (totalled over all absence counting classes)
RTE-TAAU** Rate subtract the part period unpaid absences in working days for all unpaid absences (totalled over all absence counting classes)
RTE-TKAU** Take away any unpaid absence, in calendar days, from the current rate (totalled over all absence counting classes)
RTE-TKAU20 Take away any unpaid absence, in calendar days, from the current rate (for absence counting class 20)
RTE-TSAU** Take away any unpaid absence, in worked hours, from the currently held rate (totalled over all absence counting classes)
SCOND=F IF The condition for function IF is false
SCOND=T AL Set condition for Function LPBEG when the condition is true
SCOND=T IF The condition for function IF is true
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.
STATU 2P Status field 2 which is valid at the start of the in-period is entered in the variable key.
SUBRC?SET The return code set in the second example must be evaluated.
SUBRC=0 The internal return code is set to the value 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.
SUBWT&ZREG Subtracts the current wage type and stores it as a temporary variable ZREG.
SUBWTD* Subtracts the current wage type (sign change) of the NRA in the difference table (DT)
SUBWTD/551 Subtracts the current wage type and stores it in the difference table (DT) as a temporary variable ZREG.
SUBWTE Flicks the sign for NRA of the currently processed wage type and stores it in the RT
SUBWTE* Subtracts the current wage type (sign change) of the NRA and stores in the results table (RT)
SUBWTE/121 Flicks the sign for NRA of the currently processed wage type and stores it in the RT as technical wage type /121
SUBWTI* Flicks the sign for NRA of the currently processed wage type and stores it in the input table (IT)
SUBWTI/101 Flicks the sign for NRA of the currently processed wage type and stores it in the input table (IT) as technical wage type /101
TABLE 503 Table query on employee groupings / areas
TABLE 508A Table query on shifts / time groups
TABLE 510P Table query on premium table
TABLE 512W Table query on valuation of wage types
TABLE 528B Table query on positions table in PA
TABLEALP Table query on the Alternative Payments table
TABLEP0014 Table query on data held in infotype 0014 – recurring payments and deductions
TABLEP0015 Table query on data held in infotype 0015 – additional payments
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
VAKEYLGART Store in the variable key the wage type
VAKEYLNCLS Place in the variable key – loan type
VAKEYLNTPY Place in the variable key – loan type P0045
VAKEYLNTYP Place in the variable key – loan type P0045
VAKEYPAYTY Place in the variable key – payroll type
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
VALBS?0 The system checks if a valuation basis is for the current wage type in table T512W. (That the “0” line of view V_T512_B is read).
VALBS0 The current wage type is evaluated with the valuation basis that is entered for the current wage type itself. (That is, the “0” line of view V_512W_B).
VALBS0 * The system multiplies an entry that already exists in the RTE field for the current wage type with the percentage rate from a line 0 of view V_512W and then replaces the wage type names of the current wage type with the name of the wage type from the same line in V_512W.
VALBS0 B Same as VALBS0 * with the exception that the data from infotype 2010 is used.
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
VALEN 3 Sets the length of the variable key to 3
VAOFF 2 Variable offset – set here to 2. The system with then ignores the first 2 digits.
VARGBINDBW Place the table field “indicator for indirect valuation” in the variable key
VARGBPRAKN Place the table field “premium number” in the variable key
VARGBTRFKZ Place the table field “ES grouping for collective agreement provision” in the variable key
VWTCL 64 Interrogate processing class 64
WGTYP? Usually part of a decision – where the wage type is queried
WGTYP=* Passes through the wage type as unchanged
WPALL?LAST Decide if employee has had a pay change in pay period & if the one being processed is the last
WPBPC Operation WPBPC distributes the amount of the current wage type to the active WPBP periods in the payroll period.
WPBPCW This operation splits the amounts but does not distribute them to the different periods
Z Expect to call another PCR in this line
ZERO= AN Sets the AMT and NUM to zero
ZERO= RNA Set the values for the rate, number and amount equal 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 operation IMPRE with parameter NN (NN periods before current payroll period). Also have a look at the documentation of IMPRE.

An example in using this operation 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

WRICEF (also called RICEFW, RICEF)

WRICEF is an acronym commonly used in SAP projects for workflows, reports, interfaces, conversions, enhancements and forms
W workflow
R reports
I interfaces
C Conversion
E enhancements
F Forms
Sometimes also termed RICEFW or RICEF
WRICEF documents are prepared based on the blueprints and are also the most important to-be documents.

SAP HR Reports

SAP HR Reports

For list of HR reports by Module Click here

Using Mail Merge

If you would like to use mail merge with results obtained from SAP, you can do so after having run a report in SAP.

  • Once you have the results on the screen, choose the download –> Word Processor option.
  • A dialogue will then prompt you to enter certain choices. Choose the form processing option.
  • Choose new Word document or existing Word document if you have one already set up.
  • Change the password option to “No password” unless of course you really do wish to have a password set.
  • Word should then be opened up and the data source transferred to Word. Enter your text for the letter and insert the mail merge fields from the drop-down button on the top left hand side.
  • Click on the <> button to toggle between the data fields and the actual data.

You can now print or email off the results of the mail merge.

Key Reports within SAP HR

This table contains commonly used SAP HR Reports

Report Name Report Description
RDDKOR54 Customer naming conventions for SAP tables etc
RPCDTFG0 Data Medium Exchange: Cancelling Transfers
RFBVALL_0 Loads bank sort codes, branches etc
RHBEGDA0 The report sets a new start date for the records found using the selection screen. It primarily serves to correct the start date of records retrospectively. To access the correct selection of records, enter the old start date. All records with the old start date are given the new start date. All other records remain unchanged.
RHINTE00 Transfer Org Assignment from PA to PD
RHINTE10 Prepare Integration (OM with PA)
RHINTE20 Check program for PA-OM Integration
RHINTE30 Creates batch input session for IT 0001 – using PD relationships.
RHMARP00 Returns the material requirements per business event
RHMOVE00 Outputs a sequential file – PD_DATASET
RHMOVE30 Used to manually transport objects in Org Mgt
RHMOVE40 Display and edit sequential PD Dataset
RHSTRU00 useful report for displaying all related objects in a structure (hierarchy) according to the defined evaluation path. Can be used for any PD object in any database HRPnnnn.
RPCDTFG0 DME – cancelling transfers
RPCGTNG0 New Gross to Net Control Report for the UK
RPCSC000 Payroll batch scheduler for breaking up the payroll run into jobs allowing payroll to be processsed in parallel as a number of batches
RPDASC00 Explodes the whole schema – ctrl+F to find items. For PCR’s and sub-schemas use 0000 to zzzz as the “from” and “to” values.
RPDKON00 Assignment of wage types to G/L accounts (chart of accounts)
RPDLGA00 Wage type statement – shows the permissibility of wage types.
RPDLGA20 Use of wage types in payroll accounting – very useful. Shows the inner workings of how all the wage types are passed through the PCR’s and what processing classes are accessed. Enter your country version. I always find it easier to us the “tree” option rather than the “table” option.
RPDLGA40 Similar to RPDLGA20. Gives each wage type and shows each PC, EC and CC for each.
RPDSYS00 Takes you to all the documentation in the SAP system
RPIBRT00 Evaluation of Appraisals – creates a batch session to update IT 0008 based on the employees IT 0025 record.
RPIBRT01 Group value of Appraisal criterion
RPINCL10 Search for specific text in any report
RPLEAT00 Starters and Leavers Report
RPLINFC0 Infotype overview for an employee – very useful and much better than using the Personnel File on PA10. Shows all the infotypes for an employee.
RPLNHRU0 New Hire Report
RPLNICG0 Displays NI and CNIC values from the payroll results
RPPCUPG0 Batch update for infotype 0071 – pensions GB
RPSDEV00 Headcount report – quite good. Gives EE numbers per organisation entity
RPSEEOU1 Equal Employment Opportunities – US driven report for statutory legislation
RPTIME00 Time Evaluation
RPTKOK00 Used to identify inconsistencies with absence quotas
RPTBPC10 Used to correct inconsistencies – takes ages to run – rather correct them manually
RPTQTA00 Used to generate absence quotas
RPU12W0S Saves backup and allows you to restore T512W from a previously saved copy
RPU51000 Updates the values in table T510 – pay scale data
RPUAUD00 Logged Changes in Infotype Data
RPUAUDDL Deletes documents from the database that were created
RPUAUDW0 Allows you to view the records created from the above reports – have to have table T585A maintained as well
RPUCC000 Check PCRs – allows you to run checks on PCR’s
RPUCCCQ0 Check Personnel Calculation Rules
RPUCCCX0 Check Personnel Calculation Rules (International Version)
RPUCCOSE Allows you to search for text in any PCR
RPUCTC00 Lists PCR’s for any ESG and the associated processing steps
RPUCTE00 Environment Analyzer: Functions, Operations, Schemas, PCRs
RPUCTER3 Environment Analyzer: Functions, Operations, Schemas, PCRs
RPUCTF00 Change attributes for schemas and PCR’s (especially if you have executed the IMG step by mistake)
RPUCTI00 Lists subschemas not called up in any other schema
RPUCTJ00 Lists PCR’s not called up in the schemas or PCR’s
RPUCTP00 Generation of payroll periods
RPUCTP10 Generates calendars
RPUCTP20 Generate further date specifications
RPUCTX00 Copy PCR’s from client 000 to other clients on the same server
RPUDEL20 Delete payroll results. After deletion you must perform at least one retroactive accounting run for the earliest deleted payroll run
RPUDELPN Allows you to delete personnel numbers as a batch
RPUDIR00 Restores the payroll results directory
RPUDNIG0 Update table T5G_DTONI. Format can be a pain to get right. Rather maintain the table directly or cut and paste from Excel. Another alternative is to use a CATT procedure or LSMW to update the table.
RPUDPSM0 Download source text of a program (type “PROG” in TADIR)
RPUDRQQ0 Payroll Results (RQ) – originals and differences from retro periods
RPUDTEM0 Downloads table entries
RPUDTSM0 Downloads table structures
RPUGCC00 Generates calculation rule check
RPUMKD00 Features Directory – lists all available features
RPUMKG00 Generates features
RPUMKS00 Feature structure
RPUPROTD Log of report starts
RPUPROTU Maintain log
RPUPRRM0 Pension report
RPUREP00 Submit country-specific report in the info system
RPUSCC00 Compare schemas
RPUSCD00 Schema directory
RPUSCD10 Schema directory
RPUSCG00 Generate/check schemas
RPUSCGT0 Generate/check schemas
RPUSTD00 Used to transfer master data
RPUTAXU0 Delete/insert tax table entries
RPUTCUG0 HR-GB: Batch Input: Tax code uplift
RPUTMSE0 TemSe files display
RPUTMSG0 HR-GB: TemSe view and download program
RPUTMSI0 Program for TEMSE catalog display
RPUTRBK0 Update any field on IT 0003 – payroll status
RPUTSD00 Download a TemSe object to presentation server
RPUTSV00 List of HR TemSe objects
RPUTSVDD Download from data medium to Disk
RPUTTUU0 Wage type update program
RPUTXT00 Comparison of text elements
RPUWGTX0 Used to create/delete new wage types
RSAQR3TR Transports queries, user groups & functional areas
RSCLCCOP Offers slightly more functionality than the transaction SSC1. You can run jobs in background mode – using SCC1 for a really big transport causes the system to time-out after a certain period
RSCMPADJ View / table comparison
RSTXTRAN Allows you to transport SAP Scripts – eg letters in Recruitment
RSUSR006 List users last login