SAP HR Overview Last modified by: Bunty Jain – SAP HR ABAP, Delhi, India, IT SAP Training [email_address]
Why HR is different from other modules ? The following concepts are defined in HR which differs this module with other modules 1. Use of Infotypes 2. The use of Logical Database 3. Use of Macros 4. Storage and Access of data 5 Authorization checks
The HR module is divided mainly into the following components. 1.Personnel Administration and Payroll Accounting 2.Personnel Planning and Development
Personnel Administration It relieves you from the daily administrative routine activities which are costly and time consuming, while simultaneously supporting you in demanding planning activities. Eg Organization management comes under administration.
Payroll accounting It deals with the employee salaries in the Organization . Eg : Calculating the Gross salary,Net salary.
Personnel Planning and Development : It was designed to support the decision making process in any organization. It deals with giving inputs and taking outputs from the employees and setting up goals to individual employees and impart training to the employees. It also deals with recruitment of employees for the organization. Eg. Recruitment ,Training and event management comes under planning. There are other functions like time and travel management in HR
Organization : We can define an Organization as an individual Enterprise (company or industry) in which someone is leading it and with some departments like HR,Marketing,Finance,R&D etc. For any organization Employees are the most powerful resource. So to maintain the employee related data we require one system which ensures accuracy and consistent within the Organization.
XYZ Inc. XYZ Chemicals XYZ Pharmaceuticals Chennai HYD Manufacturing Planning Company code Personnel Area Personnel Sub-area ORGANIZATION HIERARCHY
The company structure or corporate group is divided into :
Company code : Represents the highest level of Company structure. Personnel Area : It can represent large divisions within a company and Geographic locations . Personnel Sub-area : Personnel sub areas are a subdivision of the personnel area. At this level ,the organizational aspects are controlled . Country groupings , Public Holiday calendar and wage type structures comes under organizational aspects . Company Structure (Contd…)
XYZ Inc. XYZ Chemicals XYZ Pharmaceuticals Chennai HYD Manufacturing Planning Company code Personnel Area Personnel Sub-area ORGANIZATION HIERARCHY
The components in Personnel structure are Administrative : Employee Group, Employee Subgroup and Payroll area. Organizational : Job, Position and Organizational unit.
Employee Group : General classification of employees. Active , Retired, Contractors and External Employees. Employee Sub group : Division of employee groups. Hourly based, Salaried, Executives and Trainees Personnel structure (Contd…)
Payroll Area : The active employees are also divided into payroll areas that determine when they receive their paychecks like weekly or semi-monthly. Personnel structure (Contd…)
Job : Description of activity performed by the Employee. Coding, Management Position : Employee Placement or individual employee assignment within the company. Software Engineer or Manager Organization Unit : Performs a specific set of functions within company. Department or subsidiary etc Personnel structure (Contd…)
Developer S / W Engineer Trainee Job Positions Management General Manager Sr.Manager Job Positions Personnel structure (Contd…)
Job Positions One to many relationship APCI Project - Job Designing Coding Testing Quality control Positions Personnel structure (Contd…)
A function that groups together infotypes for processing personnel procedures.
Business Procedures in Personnel Administration
When managing employee data the following tasks can perform
Hiring an employee
Leaving the company
Hiring an employee : When assigning a new employee in a company, we have to enter large amount of data for employee into the system. In HR different types of employee data are stored in infotypes. When hiring an employee, we need to maintain lot of infotypes, Hiring can be carried out using a personnel event.
Organizational reassignments : Important changes in an employee's career path must be documented in the system. Consequently, the standard SAP system contains the personnel event Organizational reassignment. When you run this personnel event, the system will automatically offer you the infotypes that you need to maintain.
Leaving the company : When the employee leaves the company, certain infotypes cannot be changed .The personnel event Leaving is used to depict an employee leaving the company in the system. This event gives the infotypes for maintaining the data of when an employee leaves the company.
Data handling in HR (Using of Infotypes): Master data in HR is stored in infotypes. Each infotype pertains to a specific type of data. Each infotype has a database table associated with it. Example : For Infotype 0000, the corresponding database table associated with it is PA0000 .
What is Infotype The information units used to enter the data of an employee are called infotypes. The Infotypes are used to group related data fields together. E.g.. IT0006.(address) Why Infotype As HR is related to time , we require old data as well as new data. The data we enter into the infotypes are automatically checked for accuracy and against the table entries. In simple, HR data is huge and to access data easily we require Infotype.
What is logical database? The LDB is special type of ABAP program that combines the contents of certain related database tables and retrieve some related data and make it available to application programs. In other words, a LDB is a method by which ABAP programs read and process the data. The sequence in which the data is supplied to the program is determined by a tree structure.
The LDB usually consists of the following components.
Logical Database (Contd…)
Logical databases have a tree structure . A logical database can contain a maximum of 300 tables Logical Database (Contd…)
SAPDBPNP is the name of the database program for the logical database PNP. Logical Database (Contd…)
How are logical database used 1.Logical databases when generating an ABAP program o The selection screen generated contains the selections (SELECT-OPTIONS AND PARAMETERS) of both the logical database and the program. o The only database-specific selections displayed on the selection screen are those needed by the program for data retrieval purposes Logical Database (Contd…)
2. Logical databases at run-time of an ABAP program At run-time, the system processes the events in the program and in the logical database in the following order o Before displaying the selection screen, certain initializations (e.g. calculating default values such as key date, etc.) are performed for the selection screen by the logical database and the program. o The selection screen is displayed and the user enters data in the input fields. Logical Database (Contd…)
o The logical database and the program check that the input is correct and complete , but also that the user has the appropriate authorizations. If an error occurs, some fields are made ready for input again, so that the user can make the necessary correction(s). o In the event START-OF-SELECTION, the ABAP program performs any preliminary work (for ex, importing files). o The logical database reads the selected data and the program processes it within the GET events according to the sequence specified by the structure. o In the event END-OF-SELECTION, the ABAP program performs any concluding operations (for example, calculating totals, exporting files). Logical Database (Contd…)
3 . Designing the selection screens o The standard selection screen of a logical database has a standard layout where SELECT-OPTIONS and PARAMETERS appear in the sequence they are declared, each on a new line. The system automatically generates such a screen for each program that does not have its own selection screen entered in the attributes. Logical Database (Contd…)
o You can define your own selection screens for any logical database . If the attributes of a program include the number of its own selection screen, the system uses this screen as a model when generating. Any program-specific selections appear after the database selections. The flow logic for such screens is also generated automatically and therefore cannot be modified. You cannot delete database selections Logical Database (Contd…)
Functions of LDB : Data retrieval : The personnel data of each employee is loaded into the main memory where it can be accessed for processing. Screening : Employees can be selected according to the organizational criteria entered on the selection screen. E.g...Hourly wage earners in a particular personnel sub area.
There are two types of screening.. Person selection and data selection period. Person selection defines those employees for whom a report is to be run. E.g..Monthly wage earners in a specific personnel sub-area. E.g..Personnel number range E.g..Features of org.Assignment...Employees who assigned to certain cost center. E.g..Employee status..Active or inactive. Functions of LDB (Contd…)
The data selection period delimits the time period for which data is evaluated. When you enter the data selection period,the provide loop retrieves the infotype records whose validity period overlaps with at least one day of this period. Authorization check : This ensures that the person starting the evaluation Is authorized to access the report data. Functions of LDB (Contd…)
REPORT CLASS WITH LDB : You can change the layout of the selection screen by assigning classes to reports of the logical database PNP.This allows you to suppress the input fields which are not used. All reports without a report class are assigned the customer default report class '00000000'.Otherwise the sap default report class ' ' is assigned. Report class assignments are stored in table t599b or t599w. Table t599b contains customer report classes and t599w the sap report classes.
Continue... If a report has no report class,either the customer default class(t599c) or the SAP default class(t599f) is used. All reports that use the logical database PNP automatically contains DBPNPCOM module. You can also read the records of an infotype for a particular personnel number without using the logical database,through RP-READ-INFOTYPE . Report Class With LDB (Contd…)
GET PERNR : This event fills the data structures of declared infotypes with all records that exists for a personnel number. Data selection does not delimit the records that retrieved from the database. Last modified by: Bunty Jain – SAP HR ABAP, Delhi, India, IT SAP Training [email_address]
Whenever GET PERNR statement is included in your program, check the following two . 1.Have you included PNP for the logical database screen field in the program attributes. 2.Have you included PERNR structure in the tables declaration. Get Pernr (Contd…)
Macros : Macro contains some part of source code which it will be useful for number of applications. The macro RP-PROVIDE-FROM-LAST retrieves the last(latest) data record which is valid in the data selection period. The macro RP-PROVIDE-FROM-FRST retrieves the first(start) data record which is valid in the data selection period. For every macro, whether the operation was successful or not will be checked with PNP-SW-FOUND. If PNP-SW-FOUND = 1 , then the operation is successful.
Macros (Contd…) The macro RP-READ-INFOTYPE retrieves all the data record(s) which is valid in the data selection period. If SY-SUBRC = 0 , then the process is successful. The program code pertaining to this macro is stored in the control table TRMAC Macros
Macros (Contd…) Whenever you are using the macros like RP-PROVIDE-FROM-LAST or RP-PROVIDE-FROM-FRST , check whether you have included logical database PNP in program attributes. Macros
It is not necessary to include logical database PNP in your program when you are using the macro like RP-READ-INFOTYPE A B C D E , where A corresponds to PERNR which describes for which personnel number you require records. B corresponds to INFOTYPE which describes from which infotype you require records. C corresponds to data structure of the declared infotype (internal table like p0000 for infotype 0000) where all the records of the particular personnel number will be stored. D corresponds to Start date . E corresponds to End date . Macros (Contd…)
Consider a personnel number , for example 37. With the GET PERNR statement, when the personnel number 37 comes all the records available with that personnel number will be retrieved. Let us assume those records as follows. P.NO. End date Begin date 010 00000037 13.07.1998 12.09.1997 010 00000037 30.05.2000 14.07.1998 010 00000037 04.07.2001 31.05.2000 010 00000037 31.01.2002 05.07.2001 010 00000037 31.12.9999 01.02.2002 Macros (Contd…)
Consider the macro shown below. RP-PROVIDE-FROM- LAST SPACE PN-BEGDA PN-ENDDA If we assign 01.01.1997 to PN-BEGDA and 31.12.1998 to PN-ENDDA. Then the following record will be retrieved. 010 00000037 13.07.1998 12.09.1997 If we assign 05.07.1997 to PN-BEGDA and 01.06.2000 to PN-ENDDA . Then the following record will be retrieved. 010 00000037 04.07.2001 31.05.2000 Macros (Contd…)
Consider the macro shown below. RP-PROVIDE-FROM- FRST SPACE PN-BEGDA PN-ENDDA If we assign 01.01.1997 to PN-BEGDA and 31.12.1998 to PN-ENDDA. Then the following record will be retrieved. 010 00000037 13.07.1998 12.09.1997 If we assign 15.07.1998 to PN-BEGDA and 01.06.2000 to PN-ENDDA . Then the following record will be retrieved. 010 00000037 30.05.2000 14.07.1998 Macros (Contd…)
Subtypes : The sub-division of infotype records are subtypes.Each subtype representing an infotype category with its own time character. Infotype 0006 is for addresses.This addresses are sub-divided in the IT0006 as permanent residence,secondary residence and home address .
Cluster : set of data objects. Elementary fields , field strings and internal tables etc. will come under data objects. You can store data clusters in ABAP/4 memory for short time and in database for longer time.
Cluster (Contd…) To write data objects from ABAP/4 program to ABAP/4 memory,the following statement is used. Export f1 f2 to memory id 'table'. Import f1 f2 from memory id 'table'. Free memory id 'table'...Cluster will be deleted from the memory. Cluster
These cluster databases come into picture to keep the information relating to a company more secure. e.g. Payroll, time related data. e.g. cluster database tables PCL1, PCL2, PCL3 and PCL4. PCL1 is the database for HR application areas.It contains information regarding the time recording. PCL2 contains information regarding payroll accounting. PCL3 contains applicant data. PCL4 contains change documents for HR master data. Cluster rx contains the payroll results for country x according to table T500l. Cluster (Contd…)
The clusters can be called from macros. RP-IMP-Cn-xx ( n = 1,2,3,4 and xx is cluster) When macro is used to import data,it is not directly get from database table PCL, instead it checks for the buffer directory whether it contains it in main memory. If it is there it takes it from main memory..otherwise it reads from PCL to main memory and from there to the report. Standard import programs follow the naming convention RPCLSTxx..xx is cluster. RP-EXP-Cn-xx ( n = 1,2,3,4 and xx is cluster) Cluster (Contd…)