3. Points of Difference*
Normal (General) ABAP
• Less Usage of Logical
Databases
• Do not cover much additional
functional concepts
• Non coverage of Time
dependent data
• Less Usage of Macros and
Function Modules
• Storage and Access of Data
• Authorization Checks
• No Use of Provide Statements
and repetitive structure
HR ABAP
• More Usage of Logical
Databases
• Covers more additional HR
functional concepts
• Coverage of Time Dependent
data
• More Usage of HR specific
Macros and Function Modules
• Storage & Access of Data
• Authorization Checks
• Use of Provide Statements and
repetitive structure
* Described further in lateral slides
4. Logical Databases
• In General ABAP, we rarely use Logical
Databases in our programs while in HR ABAP,
most of the time we are using Logical
Databases to select data from Infotypes by
using GET event.
• Logical Databases used in HR module are:
PNP, PNPCE, PCH, PAP, PTRVP etc. It provides
Standard Selection-Screen, Data retrieval and
Automatic authorization check facilities to the
user.
5. Functional Concepts
• In ABAP HR, use of certain SAP HR specific
functional concepts are involved such as,
Infotype Concepts, Time Constraint concepts,
Retroactive evaluation of employee data etc.
• HR module uses a system of data grouped
together called Infotypes. It’s a four character
numerical string. It can be processed
Individually or in Fast entry mode.
• Infotype can be saved as time-dependent to
enable retroactive evaluation of employee data.
6. Time Dependent Data
• Infotype provides facility of storing Time
dependent data of employee. It enable you to
determine how the validity periods of Infotype
data records interact. For that mostly used three
time constraints are: Time Constraint 1: Exactly
one valid data record of Infotype exist. Gaps and
Overlapping not allowed. Time Constraint 2: No
more than one valid data record exist at any
given time. Gaps are allowed but Overlapping
not allowed. Time Constraint 3: Any number of
records exist at any given time. Both Gaps and
Overlapping are allowed.
7. Macros and Functional Modules
• Program that process the cluster data, do not
access the cluster independently. The data is
accessed using a defined Interface created with
macros. Macro contain some part of source code
which may be useful for no. of applications. Ex.
RP_PROVIDE_FROM_FRST,
RP_PROVIDE_FROM_LAST etc. (PNP-SW-FOUND
= 1 for successful records).
• Generally but Not in every cases, HR Specific
function modules starts with HR* and RH*. Ex.
HR_READ_INFOTYPE, R_INFOTYPE_OPERATION,
CU_READ_RGDIR etc.
8. Storage and Access of Data
• HR specific Data are stored in Infotypes, which can be
accessed through special kind of ABAP/4 program
which is called as Logical Database. Using LDBs,
facilitates the process of reading Database tables.
• Data Retrieval/Access from LDBs:
1. Create Data Structure for Infotype
- INFOTYPES: 0001. “Org. Assignment
2. Fill Data Structure with Infotype records
- START-OF-SELECTION.
GET PERNR. “ Get Event
3. Read Data
- PROVIDE * FROM… “ Provide Statement
ENDPROVIDE.
- END-OF-SELECTION.
9. Authorization Checks
• Authorization for Persons:
In the authorization check for persons, the system
determines whether the user has the authorizations
required for the organizational features of the
employees selected with GET PERNR.
• Authorization for Data:
In the authorization check for data, the system determines
whether the user is authorized to read the Infotypes
specified in the report.
• Deactivating the Authorization Check:
In certain reports, it may be useful to deactivate the
authorization check in order to improve performance.
(e.g. when running payroll)
10. Provide Statements and Repetitive Structure
• The infotype records (selected within the period) are
processed sequentially by the PROVIDE - ENDPROVIDE
loop. Ex. PROVIDE * FROM Pnnnn BETWEEN PN/BEGDA
AND PN/ENDDA
If Pnnnn-XXXX = ' '. write:/ Pnnnn-XXXX. endif.
ENDPROVIDE.
• In the Repetitive structure, you must define the starting
point, the increment and the work area which contains
the complete field group definition. Ex.
DO 6 TIMES VARYING VACATION
FROM P0005-UAR01 "Starting point
NEXT P0005-UAR02. "Increment
If p0005-xyz then ... endif.
ENDDO.