SAP HR TUTORIAL
-
Upload
emin3mfan7756 -
Category
Documents
-
view
241 -
download
16
description
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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.
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)
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
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]
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
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
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
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:
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
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