sap hr tutorial

29
www.SAPHRUnleashed.com March 2009 Volume #1/Issue #1 O ne problem that payroll managers or administrators repeatedly face (every month or so) while running payroll is the result of users who have locked the master data of employees. If a user has locked any number of employees’ master data through maintenance trans- actions, the payroll driver generates an error and the payroll cannot be exe- cuted. This error is then followed by the frustrated payroll administrator placing phone calls or sending emails to those users involved, saying, “Please unlock the personnel number _____ that you have locked, so that the payroll can be executed.” To identify those personnel numbers that have been locked by users, SAP provides the standard program HFIUCPL0. A number of powerful options are available in the program, giving the payroll administrator total control over the master data of their employees. This report program lets you: 1) view a list of locked personnel numbers, along with the name of the user who has locked them, 2) send the user(s) an email requesting the release (unlock) of the given employees, 3) forcefully delete the sessions of the users responsible for the locking. The report program may be executed via standard transaction PC00_M44_UCPL. Alternately, it can be executed via transactions SE38 or SA38 or from a custom-defined Z transaction. Report program HFIUCPL0 can either be executed online or scheduled in the background. The latter is particu- larly useful for companies whose payrolls are set to run at a specific (planned or set) date and time of each period. Program HFIUCPL0 may then be scheduled to run before the payroll, and emails may be generated to notify users that they must unlock any employee records that they have blocked. Identify Locked Personnel Numbers before Executing Payroll Runs Contents 5 Using Variants for Simplifying Data Input - A Guide for SAP HR Users and Consultants 9 Quickly Access Complex IMG Paths via Direct Transaction Codes 13 Time Evaluation Made Easy 19 Employee Quick Search Shortcut Strings 23 Recording Changes Made in Personnel Development Infotypes 27 Dynamic Actions - Valuable Tips and Tricks

Upload: emin3mfan7756

Post on 16-Apr-2015

240 views

Category:

Documents


16 download

DESCRIPTION

SAP HR TUTORIAL

TRANSCRIPT

Page 1: SAP HR TUTORIAL

www.SAPHRUnleashed.com

www.SAPHRUnleashed.com

March 2009Volume #1/Issue #1

Slogan Here

One problem that payroll managers or administrators repeatedly

face (every month or so) while running payroll is the result of

users who have locked the master data of employees. If a user has

locked any number of employees’ master data through maintenance trans-

actions, the payroll driver generates an error and the payroll cannot be exe-

cuted. This error is then followed by the frustrated payroll administrator

placing phone calls or sending emails to those users involved, saying,

“Please unlock the personnel number _____ that you have locked, so that

the payroll can be executed.”

To identify those personnel numbers that have been locked by users,

SAP provides the standard program HFIUCPL0. A number of powerful

options are available in the program, giving the payroll administrator total

control over the master data of their employees. This report program

lets you:

1) view a list of locked personnel numbers, along with the name of

the user who has locked them,

2) send the user(s) an email requesting the release (unlock) of the

given employees,

3) forcefully delete the sessions of the users responsible for the locking.

The report program may be executed via standard transaction

PC00_M44_UCPL.

Alternately, it can be executed via transactions SE38 or SA38 or from

a custom-defined Z transaction. Report program HFIUCPL0 can either

be executed online or scheduled in the background. The latter is particu-

larly useful for companies whose payrolls are set to run at a specific

(planned or set) date and time of each period. Program HFIUCPL0 may

then be scheduled to run before the payroll, and emails may be generated

to notify users that they must unlock any employee records that they have

blocked.

Identify LockedPersonnel Numbersbefore ExecutingPayroll Runs

Contents

5

Using Variants for

Simplifying Data

Input - A Guide for

SAP HR Users and

Consultants

9

Quickly Access

Complex IMG Paths

via Direct

Transaction Codes

13Time Evaluation

Made Easy

19

Employee Quick

Search Shortcut

Strings

23

Recording Changes

Made in Personnel

Development

Infotypes

27

Dynamic Actions -

Valuable Tips and

Tricks

Page 2: SAP HR TUTORIAL

2 All Rights Reserved March 2009/Volume #1/Issue #1

Let us have a look in detail at these three options available in the

report program.

The selection screen of the program is shown

in figure 1.

You may restrict the program’s selection by

entering suitable values for the fields provided,

such as personnel number, personnel area,

subarea, etc.

The program has three powerful options that

can be chosen by selecting the three radio-button

options shown under Additional Selection in

figure 1.

1You may simply display a list of all employ-

ees (personnel numbers) that are locked.

The report also displays the employee num-

ber, the user name, and the various user details as

shown in figure 2.

In figure 2, the personnel number 50995 has

been locked by the user STUDENT102.

Figure 1: Selection screen of program HFIUCPL0

Figure 2: Output ofProgram HFIUCPL0showing personnel number and user details

2You may also send an SAP office mail to

the users who have locked the personnel

numbers. In this case, an express message

is sent to the user who has locked the employee(s)

in question, stating that an email has arrived in

their SAP inbox as shown in figure 3.

The email may be viewed in the SBWP transac-

tion, or the user may go there directly by choos-

ing the Inbox button from the express pop-up

shown in figure 3. The text of the email is shown

in figure 4.

www.SAPHRUnleashed.com Indentify Locked Personnel Numbers before Executing Payroll Runs

Page 3: SAP HR TUTORIAL

March 2009/Volume #1/Issue #1 All Rights Reserved 3

Your Ad Here.

Email us at [email protected]

Figure 3: SAP officeexpress message

Figure 4: Email textinforming user to unlockthe personnel number(s)

Indentify Locked Personnel Numbers before Executing Payroll Runs www.SAPHRUnleashed.com

Page 4: SAP HR TUTORIAL

4 All Rights Reserved March 2009/Volume #1/Issue #1

Figure 5: Message showingno employees are locked

3You may also forcefully kill (delete)

the user sessions that have locked any

personnel numbers. Choosing the Delete

Locking Users’ Sessions kills the session of

each user involved in the locking. The session

ending function using this option is similar to

that of transaction SM04. The user running the

program must have the required authorization in

order to use this session-killing option.

Note: In order to end the sessions of the locking users, the required authorization mustbe provided to the role of the user running the program.

If no personnel numbers are locked by any

users, the program simply generates the message

“All personnel numbers are unlocked,” as

shown in figure 5.

Your Ad Here.

Email us at [email protected]

www.SAPHRUnleashed.com Indentify Locked Personnel Numbers before Executing Payroll Runs

Page 5: SAP HR TUTORIAL

SAP reports may contain a number of input

fields. This may be confusing for users. All

fields may not be required for all users at all

times. One way of avoiding the display of unnec-

essary fields is via the usage of variants. Variants’

basic function is to specify input default values

for fields, but they may also be used to hide

unnecessary report screen fields.

Most people are unaware of the numerous ways

a screen field may be modified by using variants.

In this article, I will show the various options that

are applicable for fields used in variant creations.

I will also discuss the steps required in creating

variants for a given report program

The advantages of variant creation are as follows:

• They simplify the input screen as unnec-

essary fields may be hidden.

• Variants make the user’s life easier and

work faster. They relieve the user from

remembering the default values that are

to be entered in the various screen fields.

This avoids remembering and retyping of

values that are to be entered.

• You may also make fields read-only as

well as mandatory, depending on the

requirements.

Note: You may define variants for both standardSAP reports and customer-defined reports.

Accessing the Already-existingVariants

In order to access the various variants of a pro-

gram, click the icon from the toolbar of the pro-

gram selection screen. The screen appears as

shown in figure 1.

You may either enter the variant or the user

who created it last, or change the variant in order

to narrow down your selection. Clicking the

Execute icon will display a list of the variants

applicable to the program as shown in figure 2.

Selecting a particular variant populates the

fields with the relevant values defined in the vari-

ant. Moreover, the system also hides fields that

are set as visible and makes fields mandatory that

are defined as such within the variant definition.

You may then use the Execute button in order

to run the program according to the selection

field values defined in the variant.

Using Variants for SimplifyingData Input - A Guide for SAP HR Users and Consultants

www.SAPHRUnleashed.com

March 2009/Volume #1/Issue #1 All Rights Reserved 5

Figure 1: Finding a Variant

Page 6: SAP HR TUTORIAL

6 All Rights Reserved March 2009/Volume #1/Issue #1

Defining a Variant for a

Report ProgramIn this section, we will look at the steps

required in creating a variant for a given report

program. Let us take a closer look.

1Entering the Relevant Data in the

Desired Fields of the Report: The first

step in defining variants involves running

the report program either via the transaction

SE38 or via the report transaction, and then

entering (default) values in the various fields

of the program selection screen. These default

values are to be stored in the variant and made

available to the user when the relevant variant

is imported.

2Defining the Variant: Once the field

values have been entered in the relevant

fields on the report selection screen, press

the Save icon. Alternately, you may also choose

the keyboard shortcut CTRL - S. This leads you

to the variant attributes screen as shown in

figure 3.

3Setting the Attributes of the Variant and

the Screen Fields: This is the most

important of the all the steps required in

creating the variant. In this step, we specify the

name and description of the variant, as well as

specifying which of the screen fields are to be

hidden, set as compulsory, or made read-only.

On the screen shown in figure 3, there are var-

ious attributes of the variant as well as the indi-

vidual fields contained in the table structure

below. First, you need to enter a suitable name

and description of the variant in the fields provid-

ed. You then need to set (if required) the follow-

ing indicators pertinent to the variant:

www.SAPHRUnleashed.com Using Variants for Simplifying Data Input - A Guide for SAP HR Users and Consultants

Figure 2: Variant List

Figure 3: Variant AttributesScreen

Page 7: SAP HR TUTORIAL

March 2009/Volume #1/Issue #1 All Rights Reserved 7

Your Ad Here.

Email us at [email protected]

Using Variants for Simplifying Data Input - A Guide for SAP HR Users and Consultants www.SAPHRUnleashed.com

Page 8: SAP HR TUTORIAL

8 All Rights Reserved March 2009/Volume #1/Issue #1

Only for Background Processing: If this

checkbox is not selected, the corresponding vari-

ant may be used both in foreground and the back-

ground mode. If the indicator is checked, the

variant may only be executed in the background

mode. In case you have a variant that is scheduled

to be run in background, this indicator must be

set. This will prevent users from changing the

variant by mistake in the foreground mode.

Protect Variant: As the name indicates, this

checkbox is used for protecting (preventing

changes in) the variant by other users. If this

checkbox is set, the variant may only be changed

by the user who has created the variant. If the

particular user has left the company, the variant

may be accessed or changed with the help of the

security team members.

Only Display in Catalog: If this indicator is

checked, the corresponding variant will not

appear in the list of variants shown in figure 2.

In case you want to access or change this par-

ticular variant, the procedure is somewhat diffi-

cult. The variant may be accessed by choosing the

Variants option in SE38 for the given program

and then accessing the total variants list via the

Variant g Catalog menu path.Apart from the variant-specific attributes, a

number of checkboxes are available for each field

that resides on the selection screen of the pro-

gram in question. For each field, the following

indicators (check boxes) are provided:

Protect Field. Checking the Protect field

indicator locks (protects) the relevant field for

any entries by the user. In short, the default value

assigned to the field may not be changed and

is shown in grey color. For example, figure 4

shows the Form name field in grey (protected)

using this indicator.

Hide Field. As the name indicates, this indica-

tor is used for hiding a field from the selection

screen. This is a useful function and may be used

for making unnecessary fields invisible from

the user.

Required Field. If you like a field to be

mandatory, the required field must be checked.

The respective field(s) then becomes mandatory.

The user has to definitely enter a value in the

field that is mandatory in order to execute

the program.

Save Field Without Values. Checking this

indicator will not affect the contents of the rele-

vant field when a particular variant is imported.

Rather, the field value already entered is not

replaced with a blank space or with any other

value from the imported variant.

For example, if we set this checkbox for a field

named FORM, and the field has the value XF01

when the relevant variant is imported, the same

value will remain in the field after the import is

performed.

4Saving the Variant: Finally when you have

made the necessary settings according to

your requirement, you must save the vari-

ant using the Save button or the keyboard short-

cut CTRL – S. This takes you back to the pro-

gram selection screen.

The variant will be created and added to the list

applicable to the program in question. You may

execute the program afterwards using the proce-

dure defined in the previous section.

www.SAPHRUnleashed.com Using Variants for Simplifying Data Input - A Guide for SAP HR Users and Consultants

Figure 4: Protecting the FormName from being Changed

Page 9: SAP HR TUTORIAL

www.SAPHRUnleashed.com

March 2009/Volume #1/Issue #1 All Rights Reserved 9

The IMG is a complex place and contains a

plethora of nodes representing configura-

tion activities for all modules. Searching

through the IMG for a particular activity node

may be a time-consuming and laborious activity.

Fortunately, SAP provides you a way to directly

access the activity node. This access is via direct

transaction codes specific to each activity. In this

article, I will discuss the procedure for finding out

these direct transaction codes.

Note: You may enter the transaction codes inyour Favorites of the SAP menu for quick access.

The activity information is stored as entries in

table CUS_IMGACH. In the database, each

activity (and text) is denoted by a key such as

OHIX0626. To each key record in the table, there

is an assigned transaction code that allows direct

access to the activity. Within the table, the activi-

ty key and the transaction code are stored in fields

ACTIVITY and TCODE, respectively.

The steps required in finding the direct transac-

tion code are shown below:

1In the first step, you switch on the

Additional information setting in order to

view the key pertaining to the IMG activity

in question. This may be done via the menu path

Additional Information g Display Key gIMG Activity as shown in figure 1.

Switching on the additional data displays the

technical name (key) of the IMG activity as

shown in figure 2.

For example, the key for IMG activity Infotype

Menu shown in figure 2 is OHIX0626. \

Quickly Access Complex IMG Paths via Direct Transaction Codes

Figure 1:Menu pathforDisplayingIMGActivity Key

Page 10: SAP HR TUTORIAL

10 All Rights Reserved March 2009/Volume #1/Issue #1

2Once you have the technical name, you may

then get the corresponding value of the

direct transaction code from the table

CUS_IMGACH. Use keyboard short cut CTRL +

Y to copy the name of the activity key. Then use the

transaction SE16 or SE16N to find the TCODE

value for the given value of ACTIVITY.

For example, the row corresponding to

ACTIVITY OHIX0626 is shown in figure 3.

www.SAPHRUnleashed.com Quickly Access Complex IMG Paths via Direct Transaction Codes

Figure 2:Technical NameShown in Frontof Activity Text

Figure 3: Table Row Corresponding toActivity CUS_IMGACH

Page 11: SAP HR TUTORIAL

March 2009/Volume #1/Issue #1 All Rights Reserved 11

Your Ad Here.

Email us at [email protected]

Quickly Access Complex IMG Paths via Direct Transaction Codes www.SAPHRUnleashed.com

Page 12: SAP HR TUTORIAL

12 All Rights Reserved March 2009/Volume #1/Issue #1

The required transaction code is stored in the

TCODE field (in our example, the value is

S_AHR_61011206).

The transaction code S_AHR_61011206 is the

direct transaction code used for accessing the

Infotype Menu activity node. Running this trans-

action directly will skip the initial IMG screens

and take you directly to the list of (sub)activities

pertaining to the Infotype menu node as shown

in figure 4.

Figure 4:ActivitiesPertaining toInfotype MenuNode

www.SAPHRUnleashed.com Quickly Access Complex IMG Paths via Direct Transaction Codes

Page 13: SAP HR TUTORIAL

www.SAPHRUnleashed.com

March 2009/Volume #1/Issue #1 All Rights Reserved 13

An important and complicated part of the

SAP HR module is its Time Evaluation

component. In a company, there may be

employees working on monthly salary. Such

employees may be eligible for a fixed monthly

salary and the actual times worked on each day (or

breaks within working hours) may not be impor-

tant for salary calculation.

On the other hand, a company may have

employees working on a daily or hourly rate. In

such cases, the Time In and Time Out of employ-

ees may be recorded, and the breaks during work-

ing hours may also be monitored. In addition, the

extra time worked each day or within a period

must also be determined. For example, if employ-

ees are entitled to work 10 hours a day, when they

work more than 10 hours they must be paid over-

time. Time Evaluation is useful in the latter

scenario. It provides automated calculation and

evaluation of time data. For situations where time

data is important, there may be three different

scenarios involved.

In this article, three different scenarios within

Time Management will be examined.

The Three Scenarios Within Time

Management Let us look at the various scenarios within Time

Management. These are discussed below:

1Without Time Evaluation (and Without

Time Recording): Before diving into the

details of Time Evaluation, let us see how

life is without Time Evaluation. This is the sim-

plest case. In this case, no time recording system

is involved and no Time Evaluation program is

executed.

The absences or attendance of employees are

entered in the infotypes 2001 and 2002 respec-

tively. In case any additional payment (overtime)

is to be paid to the employees, the respective

amount must be computed manually and entered

in the 2010 (Remuneration) infotype, or 0015

(Additional Payments) infotype under a suitable

wage type.

The payroll is then executed, taking the over-

time amount into account. The payroll schema

will manage all payments including the overtime

amount.

Note: In the No Time Evaluation scenario, no automated computations are involved forovertime. In the case where overtime is to bepaid, manual calculations must be done byusers. No Time Evaluation program or timeschemas or rules are used. The payroll schema(and rules) may be customized in order to meetrequirements.

2With Time Evaluation Along With

Time Recording: Let us now discuss

another scenario. You may have employee

Time Evaluation along with Time recording. In

this case, the Time In and Time Out of employ-

ees is recorded daily in a time recording system.

This time data is then sent to the SAP system for

evaluation. The actual clock times worked are

stored in the infotype 2011 (Time Events).

The Time Evaluation program is then executed

using a suitable time schema. The schema com-

pares the actual working times of the employees

within a given period of the planned working

time. In this scenario, the breaks between working

times are also taken into account.

Time Evaluation Made Easy

Page 14: SAP HR TUTORIAL

14 All Rights Reserved March 2009/Volume #1/Issue #1

The time data is evaluated and the evaluation

results, including additional hours worked by

employees (such as overtime), are stored in the

time clusters. During the Time Evaluation run,

the system generates time wage types for addi-

tional payments (overtime).

After the Time Evaluation program, the Payroll

program is run. The time results stored in clusters

may then be gathered by the Payroll program for

processing employee payments.

This scenario requires customizing of the time

schema and rules, as well as certain configurations

in the IMG.

3Using Time Evaluation Without Time

Recording: This scenario is midway

between the first two options. In this case,

the Time In and Time Out are not recorded.

Rather, the emphasis is on the hours worked by

an employee.

This is suitable for calculations where actual

time (time in and out) is not important for pay-

ment calculations. In this scenario, the data are

entered (in number of hours) in the infotype

2002 (Attendance). The Time Evaluation pro-

gram is then run using the time schema based on

the standard SAP schema TM04.

Apart from customizing the schema, some con-

figuration entries must be made in order to eval-

uate the time data. The evaluation program calcu-

lates the overtime and other results and stores

them in the time clusters. The payroll is then exe-

cuted .The time results stored in clusters may

then be gathered by the payroll program for pro-

cessing employee payments.

The behavior of the Time Evaluation program,

the schema used for the time data processing, as

well as the underlying configuration required, dif-

fer from the previous scenario.

Your Ad Here.

Email us at [email protected]

www.SAPHRUnleashed.com Time Evaluation Made Easy

Page 15: SAP HR TUTORIAL

March 2009/Volume #1/Issue #1 All Rights Reserved 15

Note: Similar to Payroll, Time Evaluation hasschemas which contain rules and operationpertaining to time calculations. For the TimeEvaluation With Clock Times scenario, SAP pro-vides the schema TM00. TM04 is the schemafor the Time Evaluation Without Clock Timesscenario.

Note: The time cluster acts as an interfacebetween the Time Evaluation and the Payrollprogram. The Payroll reads the time clusterresults in order to process payments.

Important Terms inTime Evaluation

Now let us discuss some of the importantterms related to Time Evaluation.

Personnel Subarea GroupingsAs with work schedules and other configura-

tion in the Time Management module, TimeEvaluation also allows you to define groupingsbased on personnel subarea. This lets you specifyhow the time data of employees that lie within acertain subarea are to be evaluated.

Time Types and Processing Typesi) Time TypesTime types are defined as the basic units used

for denoting time durations (time spans).However, the most important function of types

is to store the cumulate time balances computedduring the Time Evaluation program run. Withinthe definition of a Time type in the IMG, youmay specify whether the balances are cumulate ona daily or monthly basis.

Note: Prior to defining Time types, you need

to define appropriate personnel subarea

groupings.

Suppose the employees of a particular person-nel subarea grouping have a planned workingtime of 10 hours a day. However, they work for11 hours each day of a particular month.

A Time type called Compensation Time maybe defined to store the total difference of addi-tional hours worked by the employees within thegiven month.

A few examples of Time types are shown inFigure 1.

The standard system contains commonly used

Time types. Time types used may differ according

to the type of scenario involved (with clock times

or without clock times). The Time types’ calcula-

tions are specified by the rules contained within

the Time Evaluation schema. In case the standard

Time types are not sufficient, you may create your

own Time types.

Note: New Time types must only be createdwhen the standard Time types are not enoughto fulfill your requirements.

The maintenance screen of a Time type called

Absence 0020 is shown in Figure 2.

Figure 1:SomeTime TypeCodes andMeanings

Time Evaluation Made Easy www.SAPHRUnleashed.com

Code Description

0010 Attendance (generated or accessed from time events infotypes 2011)

0020 Absences (infotype 2001)

0030 Attendance Hours (stored in infotype 2002)

0040 Overtime Hours

0050 Total Hours Worked

Page 16: SAP HR TUTORIAL

16 All Rights Reserved March 2009/Volume #1/Issue #1

There are two important indicators on this

screen, namely Save as Day Balance and

Cumulate as Period Balance. The indicators

are assigned value 1, meaning that the Time type

is used both in the day balance as well as period

balance.

ii) Processing types

Along with Time types, Processing types are

also important. The Processing type is an indica-

tor that is assigned to an absence code or atten-

dance code, in order to denote how the code is to

be interpreted and handled. The attendance and

absence codes that fall in the same category are

grouped together (via processing types) and the

balances computed from them are posted to the

same Time type.

Note: The Processing types are used to creategroups of attendance or absence types that areto be processed similarly. This assignment orlinkage is made in the IMG configuration

Figure 3 shows some standard Processing types

that are available

You may also define your own Processing types.

Figure 3:SomeStandardProcessingTypes

Processing

TypeMeaning

P Attendance

A Absence

I Illness

M Over Time

Figure 2:Time type0020

www.SAPHRUnleashed.com Time Evaluation Made Easy

Page 17: SAP HR TUTORIAL

Time Evaluation Program(RPTIME00)

This program is the main program of Time

Evaluation. It may also be accessed via the trans-

action PT60. The screen of the program is shown

in Figure 4.

One of the important input fields of this pro-

gram is the Time evaluation schema (specifying

the relevant schema to be used). The schema con-

tains rules that define the various steps (and cal-

culations) that are to be performed within the

Time Evaluation run.

The Time program processes the recorded

times, and creates time balances. The absence or

attendances that are found having similar pro-

cessing types are cumulated in the same Time

types. The program then generates the Wage

types based on the Processing type and Time

type. The generated Wage types are then used for

computing the gross salary of employees in

Payroll.

March 2009/Volume #1/Issue #1 All Rights Reserved 17

Figure 4:MainScreen ofProgramRPTIME00

Time Evaluation Made Easy www.SAPHRUnleashed.com

Page 18: SAP HR TUTORIAL

18 All Rights Reserved March 2009/Volume #1/Issue #1

Your Ad Here.

Email us at [email protected]

www.SAPHRUnleashed.com Time Evaluation Made Easy

Page 19: SAP HR TUTORIAL

www.SAPHRUnleashed.com

March 2009/Volume #1/Issue #1 All Rights Reserved 19

Remembering individual employees’ person-

nel numbers may be difficult for SAP users.

This may become even more challenging

when a new SAP implementation is carried out,

and the SAP system assigns fresh numbers to

employee records when data from the previous

system are loaded. When maintaining employee

data using transactions PA30 and PA20, the usual

means that users employ for searching for

employees’ numbers is via the Search help.

Most functional consultants and users are not

aware that an even faster method for accessing

employee numbers exists. This is via the usage of

Employee Shortcut Code Strings. This method

simplifies the Search help procedure and provides

quick access to the desired numbers. In this

article, I will discuss how to write the syntax and

semantics of these shortcut strings. Since the

Shortcut method is an enhancement of Search

help, I will also discuss basic Search help method.

Basic Search Help MethodBefore diving into the details of the Shortcut

codes, let me discuss the Search help functionali-

ty. While processing an employee’s data via trans-

action PA30 or PA20, users employ the F4 help

(Search help) provided on the personnel number

field. This will open the dialog box comprising of

a number of Search helps. If you want to select

all employees whose last name is Admon and

first name begins with S, you will select the Last

name –First name Search help tab and enter val-

ues as shown in Figure 1.

Employee Quick Search Shortcut Strings

Figure 1:SearchingEmployeesWith LastName “Admon”and First NameStarting With“S”

The system will then list the value(s) found.

Page 20: SAP HR TUTORIAL

20 All Rights Reserved March 2009/Volume #1/Issue #1

Clicking a particular row will populate the per-

sonnel number field (on transaction PA30 or

PA20) with the relevant employee number.

This is the basic Search help method. One dis-

advantage to this method is that you have to nav-

igate through the Search help dialog box, select

the relevant Search help of your choice, and enter

values in the appropriate fields before reaching

the list of employee values. In next section, we

will discuss the Shortcut code method based on

Search helps.

Employee Shortcut Code StringsSAP provides a quick way of getting to the

employee (number) using Shortcut code strings.

These provide direct access to a desired set of

employee records by simply entering the string in

the personnel number field contained in the main

screen of transaction PA30 or PA20. For exam-

ple, in order to search for all employees whose

first name is Sarah, the necessary code to be

entered in the personnel number field is shown in

Figure 3.

The =n represents the code for accessing Last

name – first name Search help (this code will

vary according to the Search help to be used).

Each dot (.) represents the fields provided on the

relevant Search help (in this case, last name and

first name sequentially). The value that is to be

passed for the field is written after the correspon-

ding field period (dot). You may simply use a

period without a value or blank space if no value

is to be passed for a given field. In =n..Sarah, the

first period followed by no value means that we

do not impose a selection restriction based on the

last name.

Keep in mind the following:

• In case we need to search for the employ-

ee number having the first name Sarah

and last name Admon, we will enter the

shortcut code =n.Admon.Sarah.

• The =n.Admon. or =n.Admon.. have

the same effect, i.e, the program reads all

employees having last name Admon. In

case the latter fields are not being used in

the selection, their corresponding periods

may be omitted.

• Within Search helps, we use an asterisk (*)

to select all text beginning with a certain

pattern. The * is not used in Shortcut

codes. For example, corresponding to the

search shown in Figure 1, we will pass

=n.Admon.S as the string in order to

search for all employees having last name

Admon and first name beginning with S.

Figure 3:Searchingfor AllEmployeesHaving theFirst Name“Sarah”

www.SAPHRUnleashed.com Employee Quick Search Shortcut Strings

Figure 2:EntryFoundDisplayed

Page 21: SAP HR TUTORIAL

March 2009/Volume #1/Issue #1 All Rights Reserved 21

Entering the code string in the field and press-

ing Enter will display a list of values pertaining to

your selection criteria, as shown in Figure 4.

Figure 4:SelectionCriteriaValues

Employee Quick Search Shortcut Strinigs www.SAPHRUnleashed.com

In case there is only one personnel number

matching the specified criteria, the relevant num-

ber is directly populated in the personnel number

field without any list dialog displayed (such as

shown in Figure 2).

For the sake of illustration, I have used the last

name and first name Search help. However, you

may use the shortcut technique for other Search

helps as well. The various codes and format of

shortcut strings and some other examples of usage

are illustrated in Figure 5.

Page 22: SAP HR TUTORIAL

22 All Rights Reserved March 2009/Volume #1/Issue #1

Your Ad Here.

Email us at [email protected]

www.SAPHRUnleashed.com Employee Quick Search Shortcut Strings

Figure 5: Search Helps, Their Relevant Codes and Example Shortcut Strings

Search Help Syntax for Shortcut String Usage Example

Organizational

Assignment

=k.(Personnel Area).(Personnel

Subarea).(Employee

Group).(Employee

Subgroup).(Payroll Area).(Company

Code).(Cost Center).(Organization

Unit)

To get all employees from Cost Center

123456, enter =k…….123456. The seven

dots indicate empty values supplied for the

six fields before the Cost center, whereas the

seventh dot indicates the cost center value

Name =n.(Last Name).(First Name) Discussed in this article

Applicant =r.(Applicant Number).(Personnel

Number)

=r.1234 must be entered to get the

Personnel Number of employee whose

relevant Applicant Number is 1234

User ID =u.(Communication

Type).(ID/Number)

The relevant subtype of infotype 105 must

be passed against the communication type,

along with the relevant ID. For searching the

personnel number of user ID JAMES, the

shortcut string =u.0001.JAMES must be

entered. (the subtype 0001 represents User

Name in infotype 105)

Page 23: SAP HR TUTORIAL

www.SAPHRUnleashed.com

March 2009/Volume #1/Issue #1 All Rights Reserved 23

Like Personnel Administration, the changes

made in the Personnel Development (PD)

infotypes must also be logged. You may

record which fields were changed, the dates on

which they were changed as well as the user who

made the changes. This facility was introduced by

SAP in Release 4.7. Changes made in infotypes

1000, 1001 and 1002 could be monitored at first,

but this facility was later provided for other info-

types as well.

Most users and functional consultants are

unaware of this functionality. In this article we

will discuss various entries for switching on the

tracking of changes made in Personnel

Development data, and how the entries are

displayed.

By default, the Changes tracking functionality is

switched off for all infotypes. You need to switch

it on for infotype and subtypes of choice. This

is done by making entries in table

T77CDOC_CUST. Once these changes are

made and recorded, they may be viewed using a

standard SAP report RHCDOC_DISPLAY. The

changes made to PD infotypes are recorded as

Change documents in tables CDHDR and

CDPOS. The object name class involved is

HR_ITnnnn, where nnnn is the infotype number

(for example, HR_IT1001 for infotype 1001)

Note: You may use the steps mentioned inorder to track changes made in OM as well asTraining and Event Management data.

Entries for Switching On

Tracking of ChangesIn order to switch on the tracking of changes

made in Personnel Development data, you need

to create some customizing entries in the stan-

dard SAP table T77CDOC_CUST. One of the

IMG paths for accessing the maintenance screen

of table T77CDOC_CUST is Personnel

Management g Personnel Development g

Basic Settings g Activate ChangeDocuments.

Transaction SM31 may also be used by entering

the table name in the field provided and clicking

on the Maintain button.

Selecting either of the two options will take you

to the maintenance screen of table

T77CDOC_CUST. Click the New Entries

button.

The various fields (and the values to be entered)

on the table T77CDOC_CUST are discussed

below:

Plan Version. The value 01 for the plan ver-

sion denotes the active version. Other than 01

version, the change log may not be required. This

is normally ste as 01 (since only change log for

version 01 may be required).

Object type. As the name indicates, the field

Object type denotes the objects whose changes

are to be logged. The relevant code (comprising

of one or two characters) representing the object

type must be entered in the field (for example, O

for Organizational Object, S for Position and

likewise). If an asterisk (*) is entered in the object

type field, the infotype change log will be updat-

ed for changes made in all objects of that info-

Recording Changes Made inPersonnel DevelopmentInfotypes

Page 24: SAP HR TUTORIAL

24 All Rights Reserved March 2009/Volume #1/Issue #1

type. For example, if you want to monitor

changes made to all objects for infotype 1000,

you will enter ‘*’ in the field Object type.

Infotype. In this column, the four digit number

denoting the infotype to be monitored is speci-

fied. For example, 1000 must be entered to spec-

ify Basic Definitions infotype, whereas 1001 is

entered for Relationships infotypes, and so on.

Subtype. In case you want the Change log to

be filled only when a particular subtype record of

an infotype is changed, you must specify the rele-

vant subtype number in this field. For example, if

you want to limit the generation of Change doc-

uments for the infotype 1001 only to subtype

A012, the entry will look like the one shown in

Figure 1.

The Subtype field must be filled with an aster-

isk (*) for Infotypes to which subtypes are not

applicable. Infotype 1000 is a typical example.

Active checkbox – The Active checkbox is

meant for switching the Infotype tracking on or

off. The entry does not have to be deleted in

order to deactivate Infotype monitoring; the

Active indicator is simply switched off.

Tip: The Active check box turns InfotypeChange logging on and off, which makes it simple to deactivate an entry in tableT77CDOC_CUST (without deleting it).

After creating the appropriate entries on the

maintenance screen of table T77CDOC_CUST,

save your entries.

www.SAPHRUnleashed.com Recording Changes Made in Personnel Development Infotypes

Figure 1.ChangeDocuments

Your Ad Here.

Email us at [email protected]

Page 25: SAP HR TUTORIAL

March 2009/Volume #1/Issue #1 All Rights Reserved 25

Viewing the Change LogNow you have made all the necessary configu-

ration settings related to the tracking of changes

made to PD data. The system will automatically

create the log for changes that are done. The pro-

gram RHCDOC_DISPLAY may be used to dis-

play the changes that have been made to PD data.

The selection screen of the program is shown in

Figure 2.

Since the selection screen lets you restrict the

displayed data in a number of ways, it is a good

idea to become familiar with its input fields. Let

us take a closer look:

• In the upper part, you will find the Object

Section. This lets you restrict your selec-

tion based on the Object type and Object

ID. Enter suitable values in the Plan ver-

sion, Object type and ID fields. (The ID

field may also be left blank).

• Then, you must enter infotype-specific

data within the Infotype block. The val-

ues entered here dynamically change the

input fields of this block. A typical exam-

ple of this is when the number of a lan-

guage-dependent infotype (such as 1000)

is inputted in the Infotype field. In this

case, a language key field is added on the

screen. The language (such as EN for

English, and DE for German) may then

be specified in this field.

Recording Changes Made in Personnel Development Infotypes www.SAPHRUnleashed.com

Figure 2: Screen of ProgramRHCDOC_DISPLAY

Page 26: SAP HR TUTORIAL

Note: If Relationships infotype (1001) is speci-fied in the infotype field in the Infotype block,two additional fields (Object type and Object IDof related object) appear. In these fields, youmay enter the related object’s type and/or ID.The output of the program will be comprised ofthe modifications made in Infotype 1001records having relationship with the specifiedobject type and ID.

• The Change Data block is used to spec-

ify the change document selection based

on the ID of the user who modified the

infotype data, as well as the date and time

on which the change was made. The cur-

rent date is entered as the default for the

start and end date fields (but these may be

changed according to your requirements).

• At the end is the Output area. In this sec-

tion, you specify the format in which the

data are to be displayed. There are two

ways to do this, namely Technical View

and Summarized View. If the Technical

View is chosen, the data are displayed in

technical form, i.e., the change docu-

ments stored in the database. On the

other hand, the Summarized View will

display a single (summarized) document

for multiple documents stored for a par-

ticular set of data.

The Display Field Contents indica-

tor (within the Output block) lets you

specify the level of detail to be displayed.

If the indicator is selected, a detailed

report showing every infotype field that

has been modified (along with Old and

New Values) is displayed. When the

Display Field Contents checkbox is not

on, a single line is shown in the Output

for each change that is made

The Output of the report RHCDOC_DIS-

PLAY is shown in Figure 3.

At the beginning is the Object type (OT) col-

umn. The relevant icon indicating the Object

type is displayed in it. (In our example, organiza-

tional unit ). The second column is the Object

ID, the eight-digit number identification number

assigned by the system when the user creates

objects via transactions such as PPOME, PP01.

After that, the name of the changed object and

relevant infotype are displayed, followed by the

start and end dates of the modified record. The

Name column tells the name of the user who has

modified the infotype record in question. The

date and time of the change are denoted by the

Date and Time columns, respectively

The illustration in Figure 4 is pertinent to the

case when the Display Field Contents indicator

was checked on the main program screen. That is

why the label, the older value as well as the new

value (of each changed field) are displayed.

Note: SAP does not provide any transaction for executing the PD audit program RHCDOC_DISPLAY. The program may be executed directly via transaction SE38 or SA38.However, many organizations may not allowaccess to SA38 or SE38. The program may beprovided to users through a custom-definedtransaction code (Z transaction or Y transaction).

26 All Rights Reserved March 2009/Volume #1/Issue #1

Figure 3: Output of Program RHCDOC_DISPLAY

Figure 4: Output When “Display Field Contents” Indicator is On

www.SAPHRUnleashed.com Recording Changes Made in Personnel Development Infotypes

Page 27: SAP HR TUTORIAL

www.SAPHRUnleashed.com

March 2009/Volume #1/Issue #1 All Rights Reserved 27

Dynamic Actions are statements executed

automatically by the R/3 system during

the maintenance mode of infotypes. You

may write your own dynamic actions (stored in

table T588Z) in order to trigger activities auto-

matically linked to infotype maintenance.

There are times when dynamic actions fail to

achieve their purpose. I have heard people saying

that “Our actions are not getting triggered.” One

reason for this is that SAP does not provide any

syntax checking mechanism for guaranteeing the

accuracy of dynamic actions, and the consultant

actions are syntactically incorrect. Since there are

no syntax checkers associated within the dynamic

action editor, it makes it necessary for you to

write syntactically and semantically accurate

actions.

In this article we will cover some important tips

and tricks related to dynamic actions that will

allow you to write correct actions and avoid mis-

takes commonly made by consultants. I have

assumed that the reader is familiar with the basics

of dynamic actions. If you need an explanation of

the basics of dynamic actions, send an email to

[email protected].

Here are some useful tips for writing effective

dynamic actions:

1You should not use blank spaces within the

variable function part component of your

actions. This may cause your dynamic

actions to fail. For example, the following is not

correct:

P RP50M-FIELD1 < RP50M-FIELD2

The correct form is:

P RP50M-FIELD1<RP50M-FIELD2

(without any blank spaces in between)

2The correct use of brackets as well as

commas should be made. A common error

that consultants commit is the incorrect

usage of commas and brackets while writing

constant values and field names within P, I and W

statements

In figure 1, I have compiled an easy guide

for helping you to write error-free P, I and W

statements.

Dynamic Actions - Valuable Tips and Tricks

StatementCan quotation marks be used

while specifying constants?

Brackets allowed while

specifying field names?

P Allowed Not Allowed

I Not Allowed Allowed

W Allowed Not Allowed

Figure 1:

Page 28: SAP HR TUTORIAL

28 All Rights Reserved March 2009/Volume #1/Issue #1

I INS,’9001’,,,(P0001-BEGDA),(P0001-ENDDA)

P (RP50M-FIELD)<(RP50M-FIELD2)

The correct forms are shown below:

I INS,9001,,,(P0001-BEGDA),(P0001-ENDDA)

P RP50M-FIELD<RP50M-FIELD2

3Apart from syntax errors, semantic errors

must also be avoided. These are logical mis-

takes that will cause the dynamic action to

fail. This is typically true for OR and AND state-

ments.

Let me first clarify what OR statements and

AND statement mean within the variable part of

dynamic actions

• OR. When a number of P statements are

connected via OR, the statement follow-

ing the P statements is executed if any

one of the conditions specified by the P

statement is true.

• AND statement. On the other hand, the

statement followed by P statements

linked via AND will be executed only if

all the P statement conditions hold true.

In plausibility checks (P statements) use the

addition /X at the end of the variable function

part that you want to connect via OR condition.

In case no /X is specified, the statement is con-

sidered as an AND condition. You may use the

OR and AND together in order to create condi-

tions for representing your company’s scenario.

For clarification, let us look at a few examples:

P PSAVE-STAT2=’2’

P T001P-MOLGA=’01’

I …..

W ….

The above statements mean that the system

checks the value of the country grouping and an

employee’s employment status. The I and W

statement are executed if T001P-MOLGA equals

01 and PSAVE-STAT2 is 2.

Let us consider another example. Suppose to

the previous condition you want to add RP50M-

FIELD1. Say you want to trigger the action of

the country grouping MOLGA, 01 or (OR) the

value of RP50M-FIELD1 is equal to 02, and

(AND) the value of PSAVE-STAT2 is equal to 2.

The statements are as follows:

P T001P-MOLGA=’01’/X

P RP50M-FIELD1=’02’/X

P PSAVE-STAT2=’2’

I …..

W ….

The I statement is executed if (T001P-

MOLGA equals 01 or RP50M-FIELD1 equals

02) and PSAVE-STAT2 is equal to 2.

Many consultants generally forget to include

/X from P statements that are to be connected

with OR condition. If they do, the required pur-

pose will not be served. For example, consider

the statements below:

P PSAVE-STAT2=’02’/X

P T001P-MOLGA=’01’

I …………….

In the above case, the second P statement does

not end with /X, so the OR condition is not met

and the AND condition is implied. The I state-

ment is executed when T001P-MOLGA equals

01 and PSAVE-STAT2 is equal to 01.

4Another example of a common error done

by consultants is omitting the required

(mandatory) field values while writing W

and I statements. This is especially a problem

when the dynamic action has to be run in back-

ground mode. The necessary screen does not pop

up and the necessary action does not take place.

Two examples are:

• The Subtypes values for subtypes are not

provided in case of infotypes that have a

mandatory subtype field.

• In the case of W statements , one or more

mandatory fields have not be specified,

www.SAPHRUnleashed.com Dynamic Actions - Valuable Tips and Tricks

Page 29: SAP HR TUTORIAL

March 2009/Volume #1/Issue #1 All Rights Reserved 29

5Another common syntax error is the incor-

rect placement of commas within the I

statements. In case of I statements, you

have to be careful about the placement and

sequence of commas. The correct format of an I

statement is:

(Operation) , ( Infotype number) , ( Subtype),

( Object ID), ( Start Date) ,( End date)

The above sequence should be strictly followed.

In case a given field value is not provided, a

comma should always be included. Here are a few

examples of valid statements for I statements

I INS,9001,,,(P0001-BEGDA),(P0001-ENDDA)

I COP,0014,,,(P0000-BEGDA),(P0000-ENDDA)

I INS,9002,0012,,,

Dynamic Actions - Valuable Tips and Tricks www.SAPHRUnleashed.com