This action might not be possible to undo. Are you sure you want to continue?
organization. It is integrated with other SAP modules and external systems. From the Organization Management perspective, companies can model a business hierarchy, the relationships of employees to various business units and the reporting structure among employees. The Personnel Administration (PA) sub module helps employers to track employee master data, work schedules, salary and benefits information. The Personnel Development (PD) functionality focuses on employees' skills, qualifications and career plans. Finally, the Time Evaluation and Payroll sub modules process attendance and absences, gross salary and tax calculations, and payments to employees and third party vendors.
Programming in Human Resource ______________________________________________________________________
What is HR ? The task of Human Resource Management is to produce the organizational hierarchies, relationship between employees and to allow storage and administration of employee data . 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. 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
Programming in Human Resource ______________________________________________________________________
The use of logical database is very important in HR ABAP Programming. Being an ABAP programmer you may be knowing about Logical Database (LDB). But I will give a brief description about the LDB keeping in mind the novice.
A logical database is a special ABAP/4 program which combines the contents of certain database tables. Using logical databases facilitates the process of reading database tables. A logical database is linked to an ABAP report program as one of the program attributes. It supplies the report program with a set of hierarchically structured table entries derived from different database tables. This saves the developer from having to program the data retrieval. For example The HR PA has the logical database PNP. The program behind this LDB will be SAPLDBPNP.
HR Logical Databases:
In Human Resources (HR), the following logical databases can be used
1) PNP 2) PAP 3) PCH
Logical Database PNP: Use logical database PNP to report on HR master data. It is possible to use logical database PCH (This facility can be used only to access this data, but PNP meets such reporting requirements more quickly because it is best suited to the task of selecting persons. To use logical database PNP in your program, specify in your program attributes. Main functions of the logical database PNP
• • •
Standard Selection screen Data Retrieval Authorization check
GET PERNR event: The GET PERNR event is executed for all personnel numbers where selected on the basis of selection screen entries. When you enter a date selection period. • Report Class · You can suppress input fields which are not used on the selection screen by assigning a report class to your program. • Person selection Person selection is the 'true' selection of choosing a group of employees for whom the report is to run. · SORT function allows you to sort the report data otherwise. you can create your own report class through the IMG. GET PERNR retrieves all records of the relevant infotypes from the database.Programming in Human Resource ______________________________________________________________________ Standard Selection Screen : • Date selection Date selection delimits the time period for which data is evaluated. Data is retrieved at the GET PERNR point. The time point should be viewed as a loop via the selected personnel numbers. the PROVIDE loop retrieves the infotype records whose validity period overlaps with at least one day of this period. GET PERNR fills the internal tables of the infotypes that are declared for each employee using the infotypes statement. All the sorting fields are from infotype 0001. You must declare this structure using the TABLES statement 4 . Note: PERNR is a data dictionary structure without a database. · If SAP standard delivered report classes do not satisfy your requirements. • Sorting Data · The standard sort sequence lists personnel numbers in ascending order.
PROVIDE * FROM Pnnnn BETWEEN PN-BEGDA AND PN-ENDDA If Pnnnn-XXXX = ' '.Programming in Human Resource ______________________________________________________________________ Data Retrieval from LDB 1. We Will discuss about Read master data under processing infotypes. IT0006 (Address infotype) 01/01/1990 12/31/9999 present Which record to be read depends on the date selection period specified on the selection screen? PN-BEGDA PN-ENDDA. GET PERNR. Fill data structures with the infotype records. "ORG ASSIGNMENT 0002.ENDPROVIDE loop. For example. Read Master Data • • Infotype structures (after GET PERNR) are internal tables loaded with data. The infotype records (selected within the period) are processed sequentially by the PROVIDE . End-of-selection. • Period-Related Data All infotype records are time stamped. "PERSONAL DATA 0008. GET PERNR. Create data structures for infotypes. Start-of-selection. Write:/ Pnnnn-XXXX. pn-begda = '19990931' pn-endda = '99991231' IT0006 subtype 1 is resident address RP-PROVIDE-FROM-LAST P0006 1 PN-BEGDA PN-ENDDA. • Current Data IT0006 Address .01/01/1990 12/31/9999 present RP-PROVIDE-FROM-LAST retrieves the record which is valid in the data selection period. "BASIC PAY 2. endif. INFOTYPES: 0001. 5 . ENDPROVIDE.
you are advised not to use this logical database unless you want to report on Personnel Planning data. Look at the field Logical database. Logical Database PAP: Logical database PAP enables you to access data from Recruitment. 6 . You need to declare your required logical database at this place. I have declared the LDB as PNP. Logical Database PCH: This logical database generally enables you to report on all HR infotypes.Programming in Human Resource ______________________________________________________________________ This is the attributes screen of the program. However.
Programming in Human Resource ______________________________________________________________________ This is the PNP selection screen. You can customize the selection screen with your own fields by change or create to HR report category. 7 .
Programming in Human Resource ______________________________________________________________________ We are going to discuss the following areas in HR. 1) Personnel Administration 2) Personnel Development 3) Time Management 4) Payroll 8 .
Employee groups are used to generate default values for payroll accounting area and basic pay. Executives. Time & Payroll. Define public holiday calendar. unionized employees. Organizational (Position description). Personnel areas are subdivided into personnel subareas. Personnel area 100 is for employees in Karnataka. so that work schedules. Pension). time management and payroll. Active employees. Generate default pay scale type and area for an employee's basic pay. 2. Personnel area is specific to HR and is a four character alphanumeric identification.Programming in Human Resource ______________________________________________________________________ Personnel Administration: PA involves administrating employee data. Master Data contains all employee data used in HR processing. Retired employees. • Employee Subgroups: are further differentiated within the employee group. Functions include: 1. Eg. It may represent geographical locations. The employee subgroup grouping for the payroll rule allows you to define different payroll procedures for different employee subgroups. 3. 200 is for Chennai. Infotypes are tables (for user Data entry screen) that contain logically related employee data. Salaried employees. Master Data includes Personal (Eg. You can specify whether an employee's pay should be 9 . Eg. • Employee Groups: divides or groups employees into various categories. Benefits (Insurance. Hourly employees. substitution and absence and leave types can be setup for individual personnel subareas. address). Components of PA: • Personnel Area: represents a division of a company code into subunits. Master Data is stored in Infotypes. which includes current and historical. Set groupings for Time Management. Eg. commonly referred to Master Data. • Personnel Subarea: is a further subdivision of Personnel area. Contractors. It is an organizational entity representing an area within an organization defined by specific aspects of personnel administration. Data can be stored for specific periods. For eg.
and the attendance or absence quota type determines the validity of time quotas. 10 .Programming in Human Resource ______________________________________________________________________ determined on hourly or monthly basis. The employee subgroup grouping for the work schedule defines the validity of work schedule.
Programming in Human Resource ______________________________________________________________________ Infotypes: Infotypes are units of information in the Human Resource System. 11 . From the database perspective. The prerequisites for the existence of a personnel or applicant number are infotypes 0000 Actions. The system records a validity period for each infotype record. They are used to group data fields together that all relate to the same subject matter. 0001 Organizational Assignment. infotypes are a data structure and a set of data records that belong together. infotypes are data entry screens. Each infotype entered for an employee usually has several data records that are distinguished one from the other by their validity periods. and 0003 Payroll Status. Infotypes structure information. The ability to create histories for infotypes is ensured by timedependent infotype storage. Time constraints: Enable you to determine how the validity periods of infotype data records interact: • Time constraint 1: Exactly one valid data record of the infotype in question must exist for the entire time that the employee belongs to the enterprise. 0002 Personal Data. • Time constraint 2: No more than one valid data record of the infotype in question can exist at any one time. • Time constraint 3: Any number of valid data records of the infotype in question can exist at any one time. and facilitate data entry and time-dependent data storage. From the user’s perspective.
The names of the physical table and logical table definition in the Dictionary are compatible. The following naming convention applies to infotype tables. nnnn stands for the infotype number: • • • PAnnnn for transparent tables in Personnel Administration PBnnnn for transparent tables in Recruitment HRPnnnn for transparent tables in Personnel Planning 12 .Programming in Human Resource ______________________________________________________________________ One physical table is stored on the database for each transparent table.
the data record. BEGDA: start date. and the other user unlocks . For example. One of the users creates a locked infotype record. • • ENDDA: end date.Programming in Human Resource ______________________________________________________________________ The primary key of transparent table PAnnnn consists of the following key fields: • PERNR: the personnel number is the only unique key within a client for identifying an employee. • SUBTY: subtypes are subdivisions of infotypes. • OBJPS: the object identification is used to make a distinction between records with the same infotype. and end date. the child number in infotype 0021 Family/Related Person. at least two users are involved in the process of writing an active data record to the database. lock indicator.that is. In accordance with this principle. subtype. which enables the “double verification principle” to be put into practice. • SPRPS: the lock indicator for HR master data is used to lock and unlock data records. start date. 13 . An infotype’s subtypes can have different time constraints and form their own histories. activates . It is used to access the display and maintenance screens for an employee’s master data and working time data (infotypes).
Programming in Human Resource ______________________________________________________________________ • SEQNR: the sequential number is used to make a distinction between infotype records that have the same key and time constraint '3' (any number of valid infotype data records at any one time). • Table T77ID Infotypes: Enhancements to T777D is simply an enhancement of table T777D that exists for reasons of memory space. 14 . Unlike the object identification. programs.Customer-Specific Settings is used for customer settings in Administration infotypes. it is assigned by the system automatically. • Table T777D Infotypes .Dialog/Database Assignment is the central check table (domain INFOTYP) for all HR infotypes (Administration and Planning infotypes). and so on). structures.Customer-Specific Settings is used for customer settings in planning infotypes. • Table T77CD Infotypes . • Table T582A Infotypes . It is used to store the names of all infotype-dependent repository objects (tables.
It is similar to normal select statement. Includes if required.. the internal tables of the infotypes contain records and ready for processing. .All Performs END-OF-SELECTION “event ends here Write/Download. GET PERNR “Event starts here Perform retrieve Perform Populate …. *Provide statement PROVIDE * from pnnnn between PN-BEGDA and PN-ENDDA. ENDPROVIDE Pnnnn stands for internal table for infotype nnnn.. Selection-screen formatting. 15 . STANADARD HR PROGRAM STEPS: Attach PNP Logical Database name in Attributes. Write: / pnnnn-<field>. These statements make the newest or oldest record in the PN-BEGDA to PN-ENDDA data selecting period available in the structure Pnnnn for infotype nnnn..required Validations. Declare PERNR structure in tables. RP-PROVIDE-FROM-FRST Pnnnn SPACE PN-BEGDA PN-ENDDA.Programming in Human Resource ______________________________________________________________________ INFOTYPE PROCESSING: After the Event GET PERNR point. PROCESING A SPECIFIC INFOTYPE RECORD: RP-PROVIDE-FROM-LAST Pnnnn SPACE PN-BEGDA PN-ENDDA. Start-of-Selection.
Programming in Human Resource ______________________________________________________________________ 16 .
"Personal Data SELECT-OPTIONS: language FOR p0002-sprsl.Programming in Human Resource ______________________________________________________________________ Look at the example below Using the logical database and reading master data. CHECK language. *-. pernr-ename. *-. PROVIDE * FROM p0002 BETWEEN pn-begda AND pn-endda. WRITE: / p0002-pernr. pnptimed = 'D'. p0002-gbdat.Processing GET pernr. Suppose you want to create a report which generates a list of employees with the following information • • • • Personnel number Name Language Date of birth REPORT zamar. sy-vline. sy-vline. ENDPROVIDE.Selection screen INITIALIZATION. INFOTYPES: 0002.Declaration TABLES: pernr. p0002-sprsl. *-. 17 . sy-vline.
18 . • Any number of infotypes can be linked by a JOIN Note that changing data in any one of the infotypes linked by a join causes a split in the selection period.Programming in Human Resource ______________________________________________________________________ Suppose you require additional reports that combine data from different infotypes Then you need to join one or more infotypes.
processing must be restricted to one subtype using a WHERE condition. If a partial interval for infotype Pnnnn contains data. The record is not meaningful because the join's task of retrieving data from all of the infotypes in question has not been performed. In this example. this variable is created for each Pnnnn infotype included in a join. Using variable Pnnnn_VALID. its Pnnnn_VALID variable is filled with X.Programming in Human Resource ______________________________________________________________________ • • • • • If infotypes linked by a JOIN have subtypes. 19 . the system recognizes that one partial interval only contains incomplete data. the first partial interval only contains personal data. in which a subtype is queried. When the report is run.
The logical validity of the activity period is stored in the infotype's BEGDA and ENDDA fields. which stands for all of the fields in the infotype. Data must be unique. is replaced by the five-digit field name of the infotype included in the projection. JOIN and PROJECTION can be combined in a PROVIDE statement. which means that projection is only allowed for time constraints 1 and 2. 20 .Programming in Human Resource ______________________________________________________________________ • • • • • The * in the PROVIDE statement. Infotype records are not allowed to overlap for projection. The * in a simple PROVIDE means that all of the fields in the infotype are included in the projection.
Suppose you want to create a report in which period the employee lived at which address under which name. you will be able to: • • Process the Personal Data infotype (0002) and Addresses infotype (0006) using a JOIN. Only print data for the periods for which address information is available. 0006. and the length of the city to 20 characters. Make the processing of data dependent on the content of variable Pnnnn_VALID. Use a variable with the characteristics of field P0001-ENAME. *-. Restrict the length of the name to 30. Enter a width of 100 characters for the list (addition LINE-SIZE for keyword REPORT).declaration TABLES: pernr.Processing "Personal Data "Address 21 . The created list should contain the following information: • • • • • • • Start date End date Name Place of residence Only process the records from Infotype 0006 which have subtype 1. • REPORT zpsol020 LINE-SIZE 100. *-. INFOTYPES: 0002. so that the first and last name are only separated by one space. DATA: name LIKE p0001-ename.Programming in Human Resource ______________________________________________________________________ Look at the example below Join and Projection “Joining Infotypes” At the end of this exercise. Separate the resulting field contents in your list by a vertical line (SY-VLINE). Use the statement CONCATENATE.
ENDIF. CONCATENATE p0002-nachn p0002-vorna INTO name SEPARATED BY SPACE. ENDFORM. (20) p0006-ort01. (30) name. *-------------------------------------------------------------* * FORM PRINT_DATA *-------------------------------------------------------------* FORM print_data. PROVIDE * FROM p0002 * FROM p0006 BETWEEN pn-begda AND pn-endda WHERE p0006-subty = '1'. PERFORM print_data. p0002-begda. ENDPROVIDE. p0002-endda. IF p0006_valid EQ 'X'. sy-vline. sy-vline. sy-vline. WRITE: / p0002-pernr NO-ZERO. sy-vline.Programming in Human Resource ______________________________________________________________________ GET pernr. 22 .
Restrict the length of the name to 20. Separate the resulting field contents in your list by a vertical line (SY-VLINE). If the required table entry does not exist. print the personnel number. Before reading table T513S. and the length of the job title to 15 characters. check that the table entry to be read for the job key in question is already in the work area. Enter a width of 100 characters for the list (addition LINE-SIZE for keyword REPORT).Programming in Human Resource ______________________________________________________________________ Look at the example below Join and Projection “Projection to Infotype Fields” At the end of this exercise. To do this. • 23 . use the statement CHECK. Project to field P0002-GBDAT for infotype 0002. an error text. Read texts from time-dependent table entries. Only print data for the periods in which organizational assignment information is available. Suppose you want to create a report which documents how an employee’s job has developed. End further processing with the REJECT statement. The created list should contain the following information: • • • • • • • • • Name Date of birth Start date End date Job key Job title Project to the fields P0001-STELL and P0001-ENAME for infotype 0001. you will be able to: • • Project to particular fields by joining two infotypes. and the job key text.
(15) t513s-stltx. INFOTYPES: 0001. p0002-gbdat. PERFORM re513s. WRITE: / pernr-pernr. IF p0001_valid EQ 'X'. sy-vline. T513S. sy-vline. p0001-stell. sy-vline. *-------------------------------------------------------------* * FORM RE513S *-------------------------------------------------------------* * Read Job Title *-------------------------------------------------------------* FORM re513s.Declaration TABLES: pernr. sy-vline. ENDIF. IF p0001-stell NE space. (20) p0001-ename. ENDIF. "Job Titles "Organ. *-. PROVIDE stell ename FROM p0001 gbdat FROM p0002 BETWEEN pn-begda and pn-endda. 0002. p0001-begda.Programming in Human Resource ______________________________________________________________________ REPORT zpsol030 LINE-SIZE 100. p0001-endda. SELECT * FROM t513s WHERE sprsl EQ sy-langu AND stell EQ p0001-stell 24 . sy-vline. ENDPROVIDE. sy-vline. Assignment "Personal Data *-.Processing GET pernr. CHECK sy-langu NE t513s-sprsl OR p0001-stell NE t513s-stell OR p0001-begda LT t513s-begda OR p0001-begda GT t513s-endda.
ENDFORM. REJECT.Programming in Human Resource ______________________________________________________________________ AND endda GE p0001-begda AND begda LE p0001-begda. 25 . IF sy-subrc NE 0. ENDSELECT. CLEAR t513s. ENDIF. WRITE: / pernr-pernr. ‘No entry in T513S for job key’ (001). p0001-stell.
you must include program DBPNPMAC with the keyword INCLUDE. In accordance with the naming convention. • • • • • Like subroutines and function modules. If you want to use these macros in reports that do not use the logical database PNP. These macros are defined in program SAPDBPNP (include DBPNPMAC) with the keyword DEFINE. You can also define your own macros. macro modules can be used to modularize programs. Macro modules are frequently used in HR. the first two letters stand for the application. Some macros are also stored in the Macros in ABAP Programs table (TRMAC) 26 . They can be used in any program that uses the logical database PNP.Programming in Human Resource ______________________________________________________________________ HR Macros and Function Modules: At the conclusion of this chapter you will be able to use HR macros and read infotypes without using logical database.
The parameters for RP_PROVIDE_FROM_LAST are: infotype. You can process not only the last valid data record in the data selection period. The macro return code PNP-SW-FOUND has the value 1 if a suitable entry exists in the infotype table for the specified period. 27 . subtype. If no entry is found. and end date. the value is 0. start date. enter SPACE. but also the first valid data record using the RP_PROVIDE_FROM_FRST macro. If you do not want to specify a particular subtype.Programming in Human Resource ______________________________________________________________________ • • • • The RP_PROVIDE_FROM_LAST macro retrieves the last valid data record in the data selection period.
the RP_SET_DATA_INTERVAL macro ensures that the only records imported from database table PAnnnn to internal table Pnnnn are those which are valid in the data selection period. 28 .Programming in Human Resource ______________________________________________________________________ • When the START-OF-SELECTION event occurs.
• • • • • • • • 29 . Each employee's assignment to a personnel area and subarea is stored in infotype 0001. if no entry is found: X = Termination of report with error message ‘No entry found in table . The parameters of the macro are: Personnel areas Personnel subareas Reaction. if you only want to determine the country indicator.Programming in Human Resource ______________________________________________________________________ • It is often necessary to read the groupings stored in the Personnel Area/Subarea table because they are required as keys for other tables. This must take place individually for each personnel number to be processed.. you can use the function module HR_COUNTRY_GROUPING_GET..’ SPACE = SY-SUBRC is set to 4. Alternatively.
30 . However. To do this.Programming in Human Resource ______________________________________________________________________ • • You can also read infotype records for a particular personnel number without using the logical database. use the function module HR_READ_INFOTYPE. you must ensure that the internal table for the required infotype is declared with the INFOTYPE statement.
31 . • • The following specifications are possible for the return code: 0: The return table contains all required records 4: The return table contains all records. you declare the infotypes in the statement INFOTYPES with supplement MODE N. If this is the case. In the calling program.Programming in Human Resource ______________________________________________________________________ • The function module reads the HR infotype records for a person (employee or applicant) in accordance with the specified selection criteria. it is incomplete due to missing authorization 8: The return table is empty because no records were found with the specified criteria 12: The return table is empty due to missing authorization Note: You should not use this function module in reports that use the logical database PNP. for example. you can call the subroutine READ-INFOTYPE directly in the database program SAPDBPNP (PERFORM READINFOTYPE(SAPDBPNP)). The function module performs an authorization check. however. An infotype record is selected if its validity period overlaps with the specified period.). such tables can be declared with the INFOTYPES statement. If you want to read an infotype separately in one of these reports. . . Values are returned in an internal table. the structure of which corresponds to the appropriate infotype table.
The date type '01' is usually used for the technical entry date. Most function modules in HR have the letters 'HR' or 'RP' in the first two characters of their name.P0016 Contract Elements . You can take the following infotypes into account when you determine this date: . use the search function in the Function Builder. • • 32 . The employment status (parameter STATUS2) can also be specified for infotype P0000. For infotype P0041. the corresponding date type can be given in the transfer parameter DATUMSART.P0001 Organizational Assignment . only the Entry data field (P0016-EINDT) is taken into account.P0041 Date Specifications The transfer parameter CHECK_INFOTYPES is used to determine which of these infotypes are taken into account. In infotype P0016. To find additional modules.P0000 Actions . you can determine the initial start date of an employee.Programming in Human Resource ______________________________________________________________________ • With this function module.
For other users. For this reason. access is denied. the structure is blank. this structure contains the following information:.If the step is successful. You can do this with the function module BAPI_EMPLOYEE_ENQUEUE. • 33 . you must lock the personnel number.Programming in Human Resource ______________________________________________________________________ • • Before you change employee data. You can do this with the function module BAPI_EMPLOYEE_DEQUEUE.Message type (field TYPE). only the user who has locked the data can access the data records linked to the employee.Message text (field MESSAGE). Messages are returned in the parameter RETURN. If an employee's data has been locked. you must remove the lock after the data has been changed. If an error occurs.
• • 34 .Programming in Human Resource ______________________________________________________________________ • With this function module. or whether the changes are generally carried out in the dialog mode. DEL (delete). This means the error messages for the individual maintenance screens are displayed rather than interpreted. '1' The changes are generally processed in the background. The following values are amongst those available for the parameter OPERATION: MOD (change). If an error occurs. If an error occurs (with an E or A message). All validations that would normally take place if the infotypes were maintained online with the individual maintenance screens are also carried out here. '2' The changes are processed in the dialog mode. With the parameter DIALOG_MODE. INS (insert). you specify whether the action is generally run in the background or whether it only runs in the background until an error occurs. The update is carried out by a 'Call dialog' to the module pool for the infotype. This means that some restrictions apply to the infotypes processed in that way (see documentation for module). the system switches to dialog mode so that the user can correct the entries. the complete step is terminated and the module returns the corresponding error message in the structure 'RETURN'. LIS9 (delimit). The module returns the same error messages as in the online operation. you can maintain the employee and applicant master data. You can specify one data record. Possible values:'0' The changes are generally processed in the background. COPY (copy).
the field P0002-NATIO (nationality) in DB table PA0002 is updated directly. Note that the system does not check the correctness of the new field contents when a direct DB update takes place. 35 . Authorization checks are not supported by the UPDATE statement and should be carried out on the program level. You can use the function module HR_READ_INFOTYPE to read the personal data in reports which do not use an HR logical database. In this example. The field contents is changed from ‚DE' to ‚D'. The incorrect value 'D' in field PA0002NATION then triggers an error message when the infotype record is changed or copied in dialog mode. Their program codes are stored in a table or defined locally using the DEFINE keyword.Programming in Human Resource ______________________________________________________________________ • If you cannot use the function module HR_INFOTYPE_OPERATION. The system field SY-DBCNT contains the number of changed records. you can use the UPDATE statement. The RP_PROVIDE_LAST macro writes the last valid record in the data selection period to the header line of the internal Infotype table. • • • Many HR reports use macros.
the internal table P0014 is empty at the GET PERNR event. Suppose you need to create a report that will generate a list of the recurring payments and deductions for each employee. you will be able to: • • Use the macro RP_PROVIDE_FROM_LAST to retrieve the last valid record in the data selection period. If employees do not have a record for infotype 0014. • To place the last infotype 0001 record valid in the data selection period in the header of 36 . use the macro RP_PROVIDE_FROM_LAST. Use the macro RP-READ-T001P to read the Personnel Area/Personnel Subarea table.Programming in Human Resource ______________________________________________________________________ Look at the example below Specific Commands “Macros” At the end of this exercise. print: • • • • • • Wage type Wage type text Amount Start date End date Employees who have no recurring payments or deductions should not appear on the list. internal table P0001. The list should contain the following information for each employee: • • • • Personnel number Name Personnel area Personnel subarea text In the following lines. Use the keyword DESCRIBE to query the characteristics of this table.
Assignment "Recurr. rp-read-t001p p0001-werks p0001-btrtl space. WRITE: / pernr-pernr. SKIP 2. Read the accompanying wage type texts for the wage types for infotype 0014 from table T512T. *-------------------------------------------------------------* * FORM PRINT *-------------------------------------------------------------* 37 . use the macro RP-READT001P. IF filled_lines GT 0.Programming in Human Resource ______________________________________________________________________ • To read table T001P (Personnel Area/Subarea). "Wage type text ”Plant section "Organ. ENDPROVIDE. The country indicator is part of the key for table T512T (Wage Type Texts). DATA: filled_lines LIKE sy-index. DESCRIBE TABLE p0014 LINES filled_lines. ENDIF. To do this. • REPORT zpsol040 . 0014. rp_provide_from_last p0001 space pn-begda pn-endda. p0001-werks. & Deduc. The country indicator is assigned to each personnel area/subarea in the field T001P-MOLGA. *-. Restrict the length of the name to 20 characters.Declaration TABLES: pernr. Before reading table T512T. t512t. check that the table entry to be read is already in the workarea. Earn. t001p. PROVIDE * FROM p0014 BETWEEN pn-begda AND pn-endda.Processing GET pernr. CHECK p0014-betrg NE 0. INFOTYPES: 0001. The personnel area text is taken from field T001P-BTEXT. t001p-btext. PERFORM print USING p0014-lgart p0014-betrg p0014-begda p0014-endda. (20) p0001-ename. use the statement CHECK. *-.
T512T-LGTXT. CLEAR t512t. SELECT SINGLE * FROM t512t WHERE sprsl EQ sy-langu AND molga EQ country_grouping AND lgart EQ wtype. IF sy-subrc NE 0. ENDFORM.Programming in Human Resource ______________________________________________________________________ * Print List *-------------------------------------------------------------* FORM print USING value(wtype) value(amount) value(begda) value(endda). endda. WRITE: / wtype UNDER p0001-ename. begda. CHECK t512t-sprsl NE sy-langu OR t512t-molga NE country_grouping OR t512t-lgart NE wtype. 38 . ENDIF. ENDFORM. amount. PERFORM re512t USING t001p-molga wtype. *-------------------------------------------------------------* * FORM RE512T *-------------------------------------------------------------* * Read Wage Type Texts *-------------------------------------------------------------* FORM re512t USING value(country_grouping) value(wtype).
Programming in Human Resource ______________________________________________________________________ Few things need to be known about INFOTYPE:
An Infotype has an entry in check table T777D, and several infotype-dependent elements in the Repository. In addition to the structures and database tables discussed in unit 2 (Data Structures in HR), each Infotype has a module pool containing the Infotype-specific entry and list screens with their validations, and a dialog module. When you create individual elements, take careful note of the following: Some Infotype-dependent Infotype objects must be processed using the Data Dictionary. Some Infotype elements must be processed using the Infotype copy functions within Personnel Planning and Personnel Administration. These functions have been created for this specific purpose. Some Infotype-dependent settings must be made using Customizing for infotypes. If you follow these instructions, inconsistencies will not affect your Infotype-dependent objects and table entries. Creating and enhancing infotypes is discussed in more detail later in this unit.
Programming in Human Resource ______________________________________________________________________
• When working with infotypes, it is important to comply with the above namespace conventions. • Other namespace conventions for standard infotypes: Time Management infotypes are assigned to namespace 2000-2999 Recruitment infotypes are assigned to namespace 4000-4999
There are three different ways of storing customer-specific information in infotypes: You can use the fields that already exist in standard infotypes. For example, you can store the required information in a specific field of a standard infotype that you have not used before.
You can enhance a standard Infotype, which means creating the fields that you require in a cluster
You can create a new Infotype with the fields that you require.
• Before you enhance standard infotypes or create new infotypes, you should always determine whether the infotypes included in the standard system meet your requirements.
Programming in Human Resource ______________________________________________________________________
• • • • • •
You want to store specific information in the system.
Procedure: Check all of the standard infotypes to determine whether one of the fields in a standard Infotype can be used to store this information. Situation: You find an Infotype that contains a suitable field. Procedure: Use this Infotype to store your specific information. Example: You want to store the following item of information: “position entitled to company car”. Use standard Infotype 1010 (Authorities/Resources). Note: Information on specific fields is obtained from Infotype-specific structure Pnnnn (or from structure PSnnnn or HRInnnn).
Programming in Human Resource ______________________________________________________________________ These are some of the most important HR Infotypes 0000 0001 0002 0003 0007 0008 0014 0015 0027 0041 0057 0165 0167 0168 0169 0170 0194 0195 0207 0208 0209 0210 0216 0221 0267 Actions Org assignment Personal information Payroll data Work time Basic pay Reoccurring pay Additional Payments Cost Distribution Date Specifications Membership Fees Over ride to limits on deductions Health Insurance Savings Spending Garnishment reduction Garnishment order Residence Tax Work Tax Unemployment Tax Withholding Garnishment adjustment Adjustment Off cycle 2001 Absences 2002 Attendances 2003 Substitutions 2004 Availability 2005 Over Time 2006 Absence Quotas 2007 Attendance Quotas 2010 Employee Remuneration Info 1000 Infotypes 1000 – 1999 are PD Relationship infotypes 42 .
Transaction PP02 (Infotype 1001) 43 . preferences and aspirations. Object type 'O'. which are held by employees. Table HRP1000. Position belongs to a Job which describes the Position. You can plan and implement specific personnel and training measures to promote the professional development of your employees. Use transaction PP02 to create Org. Table HRP1000. manager. Each position is occupied by one employee. Positions not assigned to employees are known as vacancies. One Position can be assigned to more than one person.Programming in Human Resource ______________________________________________________________________ PD ( Planning and Development) : You can use the Personnel Development component to maximize employees’ utility within your company. Eg. Use transaction PP02 to create Org. Org. Each Job identifies a unique classification of activity.Units. Unit can be related to another Org. Following is a three level hierarchy. Units must exist in a company organization structure and be linked to one another in order to create a hierarchical structure for your company and a link between the objects.Units. Eg. Unit. Jobs: A job is the general classification for a set of tasks. Positions: are specific jobs performed by individuals in a company. HR Manager. Jobs are linked to Positions. Equal number of positions should be created for each Job. customer service representative. Object type 'S'. A company’s personnel development needs are determined by comparing current or future work requirements with employees’ qualifications. Object type 'C'. Eg. • Organizational Units: describe the different business areas within your company. One Org. Use transaction PP02 to create Org. Employees hold positions and not Jobs.Units. Table HRP1000 Manager HR Manager Accounting Manager • • Relationship between objects: Table HRP1001. the first employee may work 50% and the other will work the remainder 50%.
each HRPnnnn infotype table is defined using the following three include structures: HRIKEY: contains the key fields of the infotype table HRIADMIN: contains administrative information on the infotype record (including the date on which it was last changed. structure HRInnnn is also included by structure Pnnnn.Programming in Human Resource ______________________________________________________________________ • In the Dictionary. 44 . and the user name of the person who made this last change) HRInnnn: contains the infotype-specific fields with the actual infotype data or information • To ensure that transparent table HRPnnnn and logical structure Pnnnn always remain mutually consistent.
non-mnemonic key that represents a single object (such as an organizational unit. SUBTY: subtypes are subdivisions of infotypes. ‘Q’ for qualification. All objects and their defining infotypes have a status. This enables you to put objects and infotypes through a planning cycle. VARYF: variation field of the PLOG file (that contains the target object for relationships). An infotype’s subtypes can have different time constraints and form their own histories. and ‘E’ for business event). or business event). OBJID: an eight-digit. qualification. 45 . OTYPE: a one or two-character alphanumeric object key (such as ‘S’ for position. It is assigned by the system automatically. BEGDA: end date. ISTAT: a one-digit key that stands for a planning status. ENDDA: start date.Programming in Human Resource ______________________________________________________________________ • The primary key of transparent table HRPnnnn consists of the following key fields: MANDT: legally and organizationally independent participants in the system. SEQNR: the sequential number is used to make a distinction between infotype records that have the same key and time constraint '3' (any number of valid infotype data records at any one time). PLVAR: a one or two-character alphanumeric plan version key that is used to make a distinction between different organizational plans.
that is. Report RHALTD00 uses a sequential dataset to create a batch input session. This is the IDoc segment structure of the infotype. 46 . Structure E1PADnn must be used for relationships with additional data of structure PADnn. Structure E1Pnnnn is expanded for table infotypes . This sequential dataset can be displayed and edited using report RHMOVE40. Structure E1Pnnn must be used for records of infotype Pnnnn. it contains the primary record and the table division of the table infotype. see table T77AD.Programming in Human Resource ______________________________________________________________________ • • • • • • Report RHMOVE00 transports Planning data records from the R/3 System to a sequential file. For the assignment.
you will be able to: • Explain the functions and data structures of logical database PCH • Create reports for sequential evalutions of the organizational structure • Create reports for structural evalutions of the organizational structure • Evaluate additional data on relationships • Relationships are stored on the database in two directions.Programming in Human Resource ______________________________________________________________________ Reporting in PD using PCH Logical database: At the end of this chapter . 47 .
48 . You form the structure (organigram) of your enterprise by creating positions and linking them to each other.Programming in Human Resource ______________________________________________________________________ • • • "Job" is used as a general classification. For example. twenty employees can have the job of secretary. sales manager. More than one employee can have the same job. A position is the assignment of an individual employee in your enterprise. secretary in the marketing department. for example. such as secretary or head of department.
Programming in Human Resource ______________________________________________________________________ • Positions must be linked to an organizational unit. 49 . However. Example: The organizational unit Personnel incorporates the positions Head of Department and Secretary. if you want to view the position hierarchy. you must create a reporting structure by relating positions to each other. A position belongs to an organizational unit. The position Secretary belongs to the organizational unit Human Resources. • An organizational unit can incorporate one or more positions.
despite the fact that the data is redundant. the holder relationship between position and person is also stored for the person in the Organizational Assignment infotype (0001).Programming in Human Resource ______________________________________________________________________ • If Organizational Management is integrated with master data. 50 .
Programming in Human Resource ______________________________________________________________________ • The Object infotype performs key functions.Object identification Records stored in the Relationships Infotype (1001) serve as a descriptive and functional link between objects. For example: A person is the holder of a position A position belongs to an organizational unit An organizational unit is assigned to a cost center in CO • • • • 51 . An object is uniquely identified by its: . such as organizational units and jobs.Object type . Once you have used this infotype to create an object. and determines the validity period of other infotypes that describe the characteristics of existing objects. You can use it to store a short text and a long text on the object. It enables you to create new objects. The Object Infotype (1000) defines an object's existence.Plan variant. its characteristics can be described using other infotypes such as the Relationships Infotype (1001) and the Description Infotype (1002).
then the position is described by the job. If a job describes a position.Programming in Human Resource ______________________________________________________________________ • • • The relationships between basic object types are defined in the standard system and should not be changed. Relationships between objects are reciprocal. This enables you to carry out reporting from either perspective. for example. 52 . When you assign a relationship. The customer namespace is from AAA to ZZZ. Each standard relationship has a three-digit code. the system automatically creates its inverse relationship.
They can be displayed and created with report RHPLOGI0.Programming in Human Resource ______________________________________________________________________ • • • • • The Pnnnn structure contains an infotype's key fields and data fields. This object directory is the basis of all evaluations using logical database PCH. The transparent HRPnnnn tables contain the infotypes used in Personnel Planning. The PADnn structure defines additional data for particular relationships. The PTnnnn structure contains the table infotype data fields for some infotypes. Additional data on relationships is stored in the HRPADnn tables. 53 . Table infotypes are stored in the HRTnnnn tables. Transparent table PLOGI contains an index of all objects on the Personnel Planning database.
internal table Pnnnn is filled per infotype with all available infotype records. 54 . The infotypes from Personnel Administration can also be imported.Programming in Human Resource ______________________________________________________________________ • • For each selected object.
a sequential evaluation is performed.Programming in Human Resource ______________________________________________________________________ • The only difference between a structural and sequential evaluation is the additional GDSTR entry in the TABLES statement. The fields for the object ID are defined in include DBPCHSEL. This ensures that the structure parameters are shown on the standard selection screen. Note: If you do not specify an evaluation path before starting the program. This is an internal table (PCHOBJID) that must be filled with APPEND. • • When the INITIALIZATION event occurs. 55 . you can set default values for the selection screen.
it includes information on the relationship used by the system to select the current object along the evaluation path. object type. object ID. the STRUC structure contains internal structure information. The GDSTR structure contains information on the current hierarchy. short text. internal table Pnnnn is filled per infotype with all available infotype records. The value of the structure does not change unless the system reaches a new hierarchy root when a structural evaluation is performed for more than one root object. the OBJEC structure contains the most important information from infotype 1000 (plan version. such as the root object and the number of objects within the hierarchy. • 56 .Programming in Human Resource ______________________________________________________________________ • • • For each selected object. In particular. For each selected object. For each selected object. and long text).
• • 57 . With this macro. Please note that you cannot use macros for logical databases PCH and PNP at the same time. See also Table Infotypes. The parameters for macro RH-GET-TBDAT are: Parameter 1 : Infotype Parameter 2 : Reference field Parameter 3 : Table for structure PTnnnn Macros for logical database PCH must not be confused with macros for logical database PNP. These macros are defined in include DBPCHCOM. you can import the data for an infotype with a repetitive structure.Programming in Human Resource ______________________________________________________________________ • RH-GET-TBDAT is a macro for logical database PCH.
Programming in Human Resource ______________________________________________________________________ • Function module RH_READ_INFTY can be used to read Personnel Planning infotype records (function group RHDB) in programs without logical database PCH (module pools. • • 58 . The function module reads all of the infotype records for a specific infotype or (parameter INFTY = SPACE) all of the infotypes for the specified set of objects. Depending on the AUTHORITY and WITH_STRU_AUTH parameters. reports of other logical databases). the function module performs an authorization check.
Process the records from infotypes 0006 and 0002 with a join. last name). In the following line. Use the evaluation path O-S-P. DATA: stabs LIKE p1003-stabs. For these infotypes. you will be able to: • Program a structural evaluation. If the position is flagged as a staff position. display the object ID. • Understand the evaluation principle ‘search to depth’. use subtype 1 from infotype 0006. project to the First name. For the telephone number. display the name and the telephone number. INFOTYPES: 0002. and Subtype fields. 59 . The object type O and the evaluation path should appear in the selection screen as default values. For the personal data (first name.Programming in Human Resource ______________________________________________________________________ Look at the example below Logical Database PCH – Exercise At the end of this exercise. • • • • Write a report that lists the staff positions in the organization structure along with the persons assigned to these positions. For holders of staff positions only. pchwegid = 'O-S-P'. INITIALIZATION. and the object name. • REPORT zhsol010. Last name. Display this in one line. gdstr. Suppose you require an overview of the staff positions with the name of the employees holding these positions and their telephone numbers. 1003. use the infotype 0002 records for the person. The staff position information is contained in infotype 1003 for the position. the object identifier. TABLES: objec. Telephone number. pchotype = 'O'. name LIKE p0001-ename. 0006. the field P1003-STABS has the value “X”. • Select administration infotypes using the logical database PCH.
p0006-telnr. ENDPROVIDE. SKIP.Programming in Human Resource ______________________________________________________________________ GET objec. ENDIF. PROVIDE vorna nachn FROM p0002 subty telnr FROM p0006 BETWEEN pc-begda and pc-endda WHERE p0006-subty = '1'. objec-stext. IF p1003-stabs = 'X'. CLEAR stabs. WRITE : / objec-objid. LOOP AT p1003 WHERE begda LE pc-endda AND endda GE pc-begda. 60 . IF objec-otype = 'S'. ENDIF. WRITE: / name. ENDIF. IF p0006_valid = 'X'. ENDIF. stabs = 'X'. ENDLOOP. IF objec-otype = 'P' AND stabs = 'X'. objec-short. CONCATENATE p0002-vorna p0002-nachn INTO name SEPARATED BY SPACE.
by management to evaluate and project costs. 61 .Programming in Human Resource ______________________________________________________________________ Time Management SAP HR Time Management functionality includes time collection. internal & external reporting. leave management and reporting. evaluation of time and absence data for payroll. Payroll needs Time data to process: • • • • • Hours worked Overtime Shift times Vacation Absence to be paid Time is also used for • • Internal reporting . shift premiums and bonuses.tracking of time data for Labor Union requirement etc. For eg. External reporting . overtime. Time data is used to process Payroll. Labor union requires statistical data concerning the amount of overtime spent on certain shifts etc. It also automatically calculates leave accruals.
• • • The employee work schedule is an integral part of R/3 Time Management containing the planned specifications for employee working time. Examples: 62 . Time data is generally collected by a third party recording terminal. The work schedule rule encompasses all the specifications required to define the work schedule. The period work schedule comprises a set sequence of daily work schedules.Programming in Human Resource ______________________________________________________________________ Time data is stored in various infotypes. The period work schedule is applied to the calendar. The daily work schedule contains information on a day’s working time including breaks. the system generates wage types and time types based on pre-defined rules within the time evaluation program. eg. Punch cards. An employee’s planned working time is represented in a work schedule. Time data is recorded in various ways. The work schedule is used as the basis for time data evaluation. reporting etc. Manual time sheets that stores hours worked for each day along with any absences. taking into account specifications in the public holiday calendar. All the absence's and attendance in a day are uploaded into SAP and analyzed using the predefined times in the employees Work Schedule rule. The work schedule is generated from a period work schedule and a public holiday calendar. This data is evaluated according to various rules during time evaluation and the processed data is transferred to payroll. After processing the time events. These wage types and time types are then used for Interfacing to payroll. The sequence can reflect regular and variable working times.
In addition. planned working time is used as the basis for time evaluation. You can change existing and define new public holidays in the public holiday list. you can change existing or define new public holiday calendars. You assign a public holiday calendar to a personnel subarea. If you only record deviations to the work schedule. • • The standard R/3 System already contains public holiday calendars that include regional public holidays. You assign a work schedule to an employee in the Planned Working Time infotype (0007) using work schedule rules. for example. 63 . Public holidays are taken into account when determining bonuses or calculating leave.Programming in Human Resource ______________________________________________________________________ • • • The work schedule shows how many hours salaried employees must work to be entitled to their full salary. Depending on the specifications defined for the individual employee. any additional hours worked are identified as overtime in R/3 Time Evaluation.
Time Recording Info (0050): This infotype is used in R/3 Time Evaluation. Employees leave entitlement is managed in the Absence Quotas infotype (2006).Programming in Human Resource ______________________________________________________________________ • • • • • • • In R/3 Time Management. The following master data infotypes are required for Time Management: Organizational Assignment (0001) Personal Data (0002) Planned Working Time (0007): You must have entered the appropriate Time Management status. Time management data is stored in the same master data records used by other HR areas. determining whether the employee‘s time data is processed in R/3 Time Evaluation or in R/3 Payroll Accounting. 64 . such as R/3 Payroll Accounting or R/3 Personnel Planning and Development. It can contain interface data on the subsystem and additional data on the employee that is relevant for time evaluation. there are certain infotype records that you must create for every employee.
Programming in Human Resource ______________________________________________________________________ • • • If an employee records his or her actual times at a time recording system. You can use list entry to enter several time events for one personnel number at the same time. and so on) or a different cost center. different pay scale group. you can view the recorded time events in the Time Events infotype (2011). The infotype contains information on the origin of the record (whether it was recorded manually or by a subsystem) and on the terminal ID. 65 . for instance. The information can either be entered manually or by a time recording system. The infotype can also store information on a different payment (premium. You can use the Time Events infotype (2011) to enter or correct time events that were not uploaded or that were incorrectly uploaded to the SAP R/3 System.
Time evaluation generally runs once daily. The time evaluation report can also be run for future periods. or for particular past evaluation periods. and is started using a batch job. It is normally used for large groups of employees. overnight. • You want to evaluate planned times in shift planning while taking anticipated overtime income into account. 66 .Programming in Human Resource ______________________________________________________________________ • • • Time evaluation is performed by the time evaluation driver RPTIME00. You can also run time evaluation for individual employees or groups of employees. for example. This function is particularly useful for test purposes. A future evaluation can be useful in the following situations: • You want time evaluation to determine an employee’s anticiapted absence entitlements when absence quotas are built up automatically. for example. It evaluates employees' time data that has been recorded either at the time recording terminals or in the time management infotypes.
This is why time data should be read only for a specific period. Let us assume that an employee becomes sick during vacation. data is determined on the basis of the validity period. WRITE: / P2001-ABWTG. This would quickly lead to a memory overload. LOOP AT P2001. if. This would lead to incorrect results in time infotypes. GET PERNR. You should not load all time infotype records from the lowest to highest system dates into the main memory. This macro uses the data selection period parameter of the selection screen. Infotypes are declared with the INFOTYPE statement. several special features must be taken into account when processing time data. The time data in these infotypes stored in tables PA2000 to PA2999. The leave record is then delimited on the first day of the sickness. TABLES: PERNR. Views of time data are generally not practical. RP-READ-ALL-TIME-ITY PN/BEGDA PN/ENDDA. Time data is basically different. Due to the time constraint of infotypes. An ABAP/4 macro reads the time data. a leave record extends from the middle of January to the middle of February and 20 days of leave are calculated for this period. then a view for the month of February would result in a leave record which extends from the beginning to the middle of February. 67 . especially if a front-end time recording system is connected to your HR system. Use the infotype declaration supplement MODE N to define that the internal time infotype tables should be declared but not filled at the GET PERNR time point. In time infotypes. In master data. In a view. and data is made available for processing in the internal infotype tables (infotype 2011 is an exception). When you enter an absence record. For example. since this data depends on the validity period.Programming in Human Resource ______________________________________________________________________ Reading Data Infotypes 2000 to 2999 are time infotypes. the number of days of absence is calculated on the basis of the absence period. and the sickness record follows. the time constraint is a definite feature of the infotype or subtype. INFOTYPES: 2001 MODE N. The number of days of leave would not have changed and the information would be incorrect. new partial periods are created without any changes being made to infotype data. Use the following report to read time data: REPORT RPABAP05. ENDLOOP. There are no time dependencies between infotypes and subtypes. Later you can fill these tables using a statement with selection period parameters.
Since views require explicit data and this prerequisite is not fulfilled by time infotypes. the infotype begin and end dates to the data selection period. The same also applies to overtime during a sickness. not only those within the date selection period. LOOP AT P0021. Moreover. GET PERNR. If P0021-XYZ = ' '. The time constraint of time infotypes is not an attribute but is defined by the relationships between infotypes. and thus changes. · Use macro RP-READ-ALL-TIME-ITY to fill infotype table. This prevents the logical database from importing all data into infotype tables at GET PERNR. 68 . · To prevent memory overload. the system prohibits the entry of a leave record that coincides with a sickness record. INFOTYPES: 2001 MODE N.Programming in Human Resource ______________________________________________________________________ Likewise. ENDLOOP. Several records may therefore exist for one infotype on a particular day. you should not use joins and projections for time data. Time infotype tables are processed with the LOOP statement since the PROVIDE statement limits. · The validity periods of different types of time data are not always the same as the date selection period specified in the selection screen. Endif. but covers all infotypes and subtypes. Processing 'Time Data'. A=B. certain time infotype records have specific clock-in/clock out times. · Dependence of time data on validity period · Importing time data · Processing time data using internal tables Time Data and Validity Period · Time data always applies to a specific validity period. Importing Time Data · GET PERNR reads all time infotypes from the lowest to highest system data. The time dependency of time infotype records is not limited only to dependencies between records of one and the same infotype. RP-READ-ALL-TIME-ITY PN/BEGDA PN/ENDDA. add MODE N to the infotype declaration. Date selection period |---------------| Leave |-------------| · PROVIDE in this case is therefore not used for time infotypes.
"COMPANY WERKS LIKE P0001-WERKS. you can use an internal table to process the interested data. ITAB-BUKRS = P0001-BURKS./ATTEND. DATA: BEGIN OF ITAB OCCURS 0./ATTEND. (OR: APPEND ITAB. "ABS. CLEAR ITAB. RP-PROVIDE-FROM-LAST P0001 SAPCE PN-BEGDA PN-ENDDA. ITAB-AWART = P2001-AWART.) ENDLOOP. TYPE ASWTG LIKE P2001-ASWTG. DAYS END OF ITAB. 69 . BUKRS LIKE P0001-BUKRS. RP-READ-ALL-TIME-ITY PN/BEGDA PN/ENDDA. COLLECT ITAB. GET PERNR. LOOP AT P2001. ITAB-WERKS = P0001-WERKS. "PERSONNEL AREA AWART LIKE P2001-AWART. ITAB-ASWTG = P2001-ASWTG. "ABS.Programming in Human Resource ______________________________________________________________________ Processing Time Data · Once data is imported into infotype tables.
Special language elements EXPORT TO DATABASE.Applicant tracking data.Programming in Human Resource ______________________________________________________________________ Cluster Tables and Payroll : • • • • • • Cluster tables combine the data from several tables with identical (or almost identical) keys into one physical record on the database. Data is written to a database in compressed form. Each HR subarea has its own cluster. PCL4 . Payroll year-end Tax data Database Tables PCLn • • PCLn database tables are divided into subareas known as data clusters.g RU for US payroll result. PCL2 . PCL1 . B2 for time evaluation result. Database Table PCL1 The database table PCL1 contains the following data areas: B1 time events/PDC G1 group incentive wages L1 individual incentive wages PC personal calendar TE travel expenses/payroll results TS travel expenses/master data TX infotype texts ZI PDC interface -> cost account Database Table PCL2 The database table PCL2 contains the following data areas: B2 time accounting results CD cluster directory of the CD manager PS generated schemas PT texts for generated schemas RX payroll accounting results/international Rn payroll accounting results/country-specific ( n = HR country indicator ) ZL personal work schedule 70 .Accounting Results (time. travel expense and payroll)..Documents. Each subarea has its own key.Database for HR work area. Data Clusters are identified by a two-character code. External programs can NOT interpret the data in a cluster table. Cluster tables are defined in the data dictionary as transparent tables.. e. IMPORT TO DATABASE and DELETE FROM DATABASE are used to process data in the cluster tables. PCL3 . Retrieval of data is very fast if the primary key is known.
A unique key has to be used when reading data from or writing data to the PCLn. RX) y = 0 for international clusters or country indicator (T500L) for different country cluster 71 .B2. Field Name KEY Length Text MANDT X 3 Client RELID X 2 Relation ID (RU. key Cluster Definition The data definition of a work area for PCLn is specified in separate programs which comply with fixed naming conventions..Programming in Human Resource ______________________________________________________________________ Database Table PCL3 The database table PCL3 contains the following data areas: AP action log / time schedule TY texts for applicant data infotypes Data Management of PCLn The ABAP commands IMPORT and EXPORT are used for management of read/write to database tables PCLn.) SRTFD X 40 Work Area Key SRTF2 X 4 Sort key for dup.g. The following naming convention applies: n = 1 or 2 (PCL1 or PCL2) xx = Relation ID (e. They are defined as INCLUDE programs (RPCnxxy0).
for monthly pay periods. B001 .Programming in Human Resource ______________________________________________________________________ Payroll is used to calculate the remuneration for work done for each employee.Subdivision of employees payscales. benefits and purchasing departments. GR01 grouping for junior clerks.Differentiates payscales based on geographical area. 10 . Period Modifier . Date Modifier . Payscale level . work schedules. SAP's complex Payroll process handles everything including vacation policies. quaterly or yearly sum totals. 10 .Generating calendars for cumulating wage types to get monthly.Differentiates employees payscales based on functionality. L1 . SAP Payroll delivers powerful and efficient gross-to-net.salary payment. eg.collective agreement for secretaries contract. ESS is an effective means for providing real-time access and data maintenance capabilities to the source or owner of the data. 72 . via Web-based technology and interactive voice response functionality. Payscale area . Z1 for salaried staff paid monthly. L2 . Eg. Wage types . Eg. 10 .401K deduction.used for segregation of employees payscales based on the type of union contracts in a company.non union workers 20 .It determines the current payroll period for a payroll area.California.Distinguishes periods with same frequency but different date. Holidays. SAP's ESS (Employee Self Service) function allows employees to view.for monthly pay period but with the pay date being 5th of every month. A001 . payroll.for senior clerks. Eg. Payroll Calendar . net-to-gross.groups employees based on the frequency of their paydates. Payroll accounting calculates the payment of work done by an employee. Control Record . regular and off-cycle payroll processing.The payments and deductions for an employee are coded as wage types.level 1 clerk. Eg. eg. Eg. Eg. Payroll components include: • • • • • • • • • • Payroll area . 10 . It has the ability to offload much of the data entry and related customer service activities that may be typically performed in an organization's human resources. GR02 .level 2 clerk. Payscale type . compensation programs. overtime pay etc. anywhere.Period in which payroll accounting is carried out. create and maintain data anytime. Payscale group . Payroll function does the following: • • • • Compute employees gross salary Make necessary deductions Calculate Net salary Generate Checks or direct deposits.
tax data. 0209. 0008. 0208. 0007. 0210. garnishment data. benefits data. which includes. payment and deduction info. These infotypes maintain personal details. 0009.Programming in Human Resource ______________________________________________________________________ Payroll Infotypes: Payroll data is stored in various infotypes. 0207. etc. Payroll Process involves: • • • • • • Maintaining payroll related infotypes Periodic payroll run Transferring data to FI/CO Transferring third party remittance data to Accounts Payable Tax reporting Standard reporting Payroll program name: RPCALCx0 73 . 0234. 0001.
More specifically. • etc. • Payroll accounting also includes a number of subsequent activities: • transfer of payroll results to Accounting • various evaluations.Programming in Human Resource ______________________________________________________________________ • Broadly speaking. 74 . bank transfers and check payments. however. payroll accounting comprises a number of work processes including the generation of payroll results and remuneration statements. payroll accounting is the calculation of payment for work performed by each employee. such as evaluating the payroll account.
These payments and deductions are included in the payment calculation by means of different wage types. The employee is usually paid by bank transfer or check and the payment amount is printed in a form for the employee.Programming in Human Resource ______________________________________________________________________ • • • The calculation of payment comprises two main steps: • Calculation of remuneration elements • Statutory and voluntary deductions (country-specific) Both the remuneration elements and the statutory and voluntary deductions consist of individual payments and deductions. which are calculated for an employee during a payroll period. 75 .
company-sponsored day care or similar benefits. Different factors determine whether such benefits increase or reduce the taxable income. the philosophy of the company. This is determined by country-specific regulations and. Payments such as basic pay. 76 . in some countries. Deductions can be made for items such as a company-owned flat. various bonuses and gratuities are included in the remuneration calculation. An employee's remuneration consists of all wage types calculated for him or her during a payroll period.Programming in Human Resource ______________________________________________________________________ • • The remuneration elements for an employee are formed from individual wage and salary types that are used during a payroll period.
Different gross values. such as tax and social insurance contributions. different totals are formed during the payroll run. are taken from the gross calculation to determine the payment amount. and these totals are be used for subsequent processing. For this reason. • The Payroll Run steps 77 . are used to calculate the deductions. and gross tax amount. total gross amount. for example.Programming in Human Resource ______________________________________________________________________ • Voluntary and statutory deductions.
The payroll area groups together personnel numbers that must be processed in the same payroll run The payroll area determines the payroll period. A typical example is that of salaried employees and hourly employees. Personnel numbers are assigned to a payroll area in the Organizational Assignment infotype (0001). • • • 78 . for whom payroll is performed using two different payroll periods. The payroll area determines when payroll is run. both of which are prerequisites for running the payroll. The payroll area serves two functions. Employees for whom payroll is performed at the same time and for the same payroll period are assigned to the same payroll area.Programming in Human Resource ______________________________________________________________________ • The payroll program is usually run separately for different employee groups.
79 . plus one. In a live run. the last period to be included in a payroll run. The payroll period is transferred directly from the payroll control record to the payroll program. The last period to be included in a payroll run is stored in the payroll control record for each payroll area. Hint: Payroll driver should be started by Personnel Number or Payroll Area only. the payroll period is determined by the system. The current payroll period is. therefore.Programming in Human Resource ______________________________________________________________________ • • • The personnel numbers to be included in the payroll run are selected by specifying a payroll area in the payroll driver selection screen.
Programming in Human Resource ______________________________________________________________________ • • • • • The structure of PCLn database tables provides a basic structure for individual subareas. The fields CLIENT and SRTF2 are filled by the system. The name of each subarea must include a two-character cluster name or relation ID. 80 . In the international payroll results. the field RELID contains the cluster name RX and the field SRTFD contains the eight-digit personnel number as well as a five-digit sequence number for each individual payroll result for a payroll period. for example. A key structure must also be defined. the RELID field must contain the cluster identifier and the SRTFD field must contain the cluster key. To enable the import of a record from a PCLn database table. 40 bytes are available in field SRTFD for this purpose.
81 . The standard import programs follow the RPCLSTxy naming convention. Instead. If this is not the case. the buffer directory is checked to determine whether the main memory already contains a record with the same key. the data records are not read directly from table PCLn. the record is read from PCLn to the buffer.Programming in Human Resource ______________________________________________________________________ • • If data is imported using macros. and retrieved from the buffer by the report. If data is read using a buffer. where xy = cluster name. the system checks the cluster authorization.
The indicator behind each name shows whether results exist in the selected period. Green: Results exist Red: No results exist Gray: No authorization for displaying personnel numbers Payroll results are stored as structures and internal tables on the database. you can display the payroll results for any country. Each payroll result has a status indicator: A = Current result P = Previous result O = All other results 82 .Programming in Human Resource ______________________________________________________________________ • • • With this report.
Report RPCEDTn0. replaces reports RPCLSTxy and HxyCLSTR. the function is enhanced by rules for specific control of the subroutines.Programming in Human Resource ______________________________________________________________________ • • • • • The payroll driver. lists the formatted result as a payroll form (n = HR country indicator from table T500L). Report H99_DISPLAY_PAYRESULT displays the payroll results for PCL2 and. uses HR data (stored in the database tables PAnnnn) and the last payroll result (stored in the database table PCL2) to run the payroll for the specified period The program (payroll driver) imports the processing logic in the form of a schema.6C. from Release 4. 83 . The payroll result generated by the payroll driver is stored in cluster xy of the database table PCL2. for example. The schema contains functions that call the subroutines contained in the payroll driver. In many cases. The report is used in all country versions and the overview of payroll results is automatically displayed according to the particular country. RPCALCn0.
In-payroll area . The report should evaluate the last payroll result for the for-period.Personnel number .For-period .For-payroll area . Read the payroll result with PYXX_READ_PAYROLL_RESULT. Process the cluster directory with CD_READ_LAST. The created list should contain the following information for each employee: 1st line: .Wage type . you will be able to: • • • • Read the cluster directory with CU_READ_RGDIR.Programming in Human Resource ______________________________________________________________________ Look at the example below Exporting/Importing DB Tables in HR “Displaying the Last Payroll Result” At the end of this exercise.Amount 2nd line: 3rd line: 4th line: 84 . Test your program using the personnel number assigned by your trainer.Wage type text .Personnel area .In-period . Write a report to import the results of international payroll to cluster RX and then display them. Display the wage types from the results table RT. Suppose you need a report with a list of wage types from the results table for the current (last) payroll result in a for-period.Name .
Programming in Human Resource ______________________________________________________________________ • Take the name of the employee from the field P0001-ENAME. TABLES: pernr. DATA: rt_header TYPE LINE OF hrpay99_rt. Then read the payroll result for the sequential number you have determined using the function module PYXX_READ_PAYROLL_RESULT. "Number of last payroll result GET pernr. The wage types and amounts are saved in table RT. "Wage type texts INFOTYPES: 0001. Only display the first 15 characters of the employee name. number LIKE pc261-seqnr. which is a structure in cluster RX. rp_provide_from_last p0001 space pn-begda pn-endda. DATA: result TYPE pay99_result. To determine the sequential number for the last payroll result. "Organizational Assignment *Table data containing directory to PCL2 payroll results file DATA: BEGIN OF rgdir OCCURS 100. First use function module CU_READ_RGDIR to read table RGDIR from cluster CU. DATA: END OF rgdir. IF sy-subrc = 1. • • • REPORT zpsol080. transfer table RGDIR to function module CD_READ_LAST. DATA: country LIKE t001p-molga. t512t. INCLUDE STRUCTURE pc261. The text belonging to the wage types can be found in table T512T. 85 . The information on the period and payroll area can be found in the fields for the field string VERSC. CALL FUNCTION 'CU_READ_RGDIR' EXPORTING persnr = p0001-pernr IMPORTING molga = country TABLES in_rgdir = rgdir EXCEPTIONS no_record_found = 1 OTHERS = 2.
WRITE: / 'No payroll result found for'(002). ELSE. pernr-pernr. pn-paper. CALL FUNCTION 'CD_READ_LAST' EXPORTING begin_date = pn-begda end_date = pn-endda IMPORTING out_seqnr = number TABLES rgdir = rgdir EXCEPTIONS no_record_found = 1 OTHERS = 2. ENDIF. PERFORM print_rx. ENDIF. * * * * * * 86 .Programming in Human Resource ______________________________________________________________________ WRITE: / 'No records found for '(001). ENDIF. WRITE: / 'Result could not be read (003). ELSE. IF sy-subrc = 0. CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT' EXPORTING clusterid = 'RX' employeenumber = p0001-pernr sequencenumber = number READ_ONLY_BUFFER = ' ' READ_ONLY_INTERNATIONAL = ' ' CHECK_READ_AUTHORITY = 'X' IMPORTING VERSION_NUMBER_PAYVN = VERSION_NUMBER_PCL2 = CHANGING payroll_result = result EXCEPTIONS illegal_isocode_or_clusterid = 1 error_generating_import = 2 import_mismatch_error = 3 subpool_dir_full = 4 no_read_authority = 5 no_record_found = 6 versions_do_not_match = 7 OTHERS = 8. IF sy-subrc = 1.
30 result-inter-versc-inper+4(2). p0001-ename(15). p0001-btrtl. WRITE: / rt_header-lgart. 30 result-inter-versc-fpper+4(2). CHECK t512t-sprsl NE sy-langu 87 . p0001-werks. result-inter-versc-fpper+0(4). *------------------------------------------------------------* * FORM RE512T * *------------------------------------------------------------* * Read Wage Type Texts *------------------------------------------------------------* FORM re512t USING value(country_grouping) value(wtype). / 'In-period/payroll area: '(005). ENDLOOP. rt_header-betrg CURRENCY rt_header-amt_curr. LOOP AT result-inter-rt INTO rt_header. result-inter-versc-iabkrs. result-inter-versc-inper+0(4). WRITE: 'Results table: '(006). PERFORM re512t USING result-inter-versc-molga rt_header-lgart.Programming in Human Resource ______________________________________________________________________ *------------------------------------------------------------* * FORM PRINT_RX * *------------------------------------------------------------* * Print Payroll Result * *------------------------------------------------------------* FORM print_rx. result-inter-versc-abkrs. SKIP 1. FORMAT INTENSIFIED OFF. T512T-LGTXT. WRITE: / p0001-pernr. WRITE: / 'For period/payroll area: '(004). ENDFORM. FORMAT INTENSIFIED ON. SKIP 1. SKIP 1.
Programming in Human Resource ______________________________________________________________________ OR t512t-molga NE country_grouping OR t512t-lgart NE wtype. 88 . IF sy-subrc NE 0. ENDIF. User exit name : ZXPADU01 Function exit EXIT_SAPF50M_002 allows an additional customer-specific check to be performed after data has been entered in a single screen and the fields have been validated. *(This program when executed will give you all the user exit *associated *with the Tcode. CLEAR t512t. Click on the exit you will be taken to the SMODE. TABLES : tstct. TABLES : tstc. tfdir. tadir. *Select the components radio button and click on display. User Exit name: ZXPADU02 • REPORT zuexit_amar_ar . *END* ---------------------------------------------------------------------------------------------------------------------- User Exits Enhancement PBAS0001 has two function exits. enlfdir. trdir.You will be *taken to the function module exit. • Function exit EXIT_SAPFP50M_001 allows customer-specific defaults to be entered in a single screen when infotypes are created or copied. modsapt. Clicking on the function exit you *will be taken to the actual function module which has the include in *it where you need to put the extra code). DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE. modact. ENDFORM. SELECT SINGLE * FROM t512t WHERE sprsl EQ sy-langu AND molga EQ country_grouping AND lgart EQ wtype.
SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR' AND object = 'PROG' AND obj_name = tstc-pgmna.Programming in Human Resource ______________________________________________________________________ DATA : field1(30). SELECT SINGLE * FROM tfdir WHERE pname = tstc-pgmna. SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode. SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR' AND object = 'FUGR' AND obj_name EQ enlfdir-area. SELECT SINGLE * FROM tstct WHERE sprsl EQ sy-langu AND tcode EQ p_tcode. SELECT * FROM tadir INTO TABLE jtab WHERE pgmid = 'R3TR' AND object = 'SMOD' AND devclass = v_devclass. ENDIF. 89 . PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY. 45(50) tstct-ttext.'. MOVE : tadir-devclass TO v_devclass. DATA : v_devclass LIKE tadir-devclass. SELECT SINGLE * FROM enlfdir WHERE funcname = tfdir-funcname. SELECTION-SCREEN END OF BLOCK selection. WRITE:/(19) 'Transaction Code . IF sy-subrc EQ 0. 20(20) p_tcode. ENDIF. IF trdir-subc EQ 'F'. MOVE : tadir-devclass TO v_devclass. FORMAT COLOR COL_POSITIVE INTENSIFIED OFF. SELECT SINGLE * FROM trdir WHERE name = tstc-pgmna. IF sy-subrc NE 0. SELECTION-SCREEN BEGIN OF BLOCK selection WITH FRAME TITLE text-z80.
SET PARAMETER ID 'MON' FIELD sy-lisel+1(10). ENDIF. sy-tfill.Programming in Human Resource ______________________________________________________________________ SKIP. ENDLOOP. 95 sy-vline. WRITE:/(95) 'No User Exit exists'. AT LINE-SELECTION. WRITE:/1 sy-vline. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. ELSE. 95 sy-vline. ENDIF. WRITE:/1 sy-vline. GET CURSOR FIELD field1. 2 'Exit Name'. WRITE:/(95) 'Transaction Code Does Not Exist'. 90 . LOOP AT jtab. 21 sy-vline . FORMAT COLOR COL_HEADING INTENSIFIED ON. IF NOT jtab IS INITIAL. 22 'Description'. SELECT SINGLE * FROM modsapt WHERE sprsl = sy-langu AND name = jtab-obj_name. FORMAT COLOR COL_TOTAL INTENSIFIED ON. 2 jtab-obj_name HOTSPOT ON. WRITE:/ 'No of Exits:' . WRITE:/(95) sy-uline. DESCRIBE TABLE jtab. WRITE:/(95) sy-uline. CHECK field1(4) EQ 'JTAB'. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. SKIP. 21 sy-vline . 22 modsapt-modtext. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. ELSE. WRITE:/(95) sy-uline.
91 .Programming in Human Resource ______________________________________________________________________ CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
Programming in Human Resource ______________________________________________________________________ HR Transactions Master Data PA10 Personnel File PA20 Display HR Master Data PA30 Maintain HR Master Data PA40 Personnel Events PA41 Change Hiring Data PA42 Fast Data Entry for Events PRMD Maintain HR Master Data PRMF Travel Expenses: Feature TRVFD PRML Set Country Grouping via Popup PRMM Personnel Events PRMO Travel Expenses: Feature TRVCO PRMP Travel Expenses: Feature TRVPA PRMS Display HR Master Data PRMT Update Matchcode PSO3 Infotype overview PSO4 Individual maintenance of infotypes Time PA51 PA53 PA61 PA62 PA63 PA64 PA70 PA71 PBAB PT01 PT02 PT03 Management Display Time Data Display Time Data Maintain Time Data List Entry of Additional Data Maintain Time Data Calendar Entry Fast Data Entry Fast Entry of Time Data Maintain vacancy assignments Create Work Schedule Change Work Schedule Display Work Schedules Payroll PC00 Run Payroll PC10 Payroll menu USA PE00 Starts Transactions PE01.PE03 PE01 Schemas PE02 Calculation Rules PE03 Features PE04 Create functions and operations PE51 HR form editor PRCA Payroll calendar PRCT Current Settings PRCU Printing Checks USA PRD1 Create DME SM31 Maintain Tables SM12 Locked Secessions TSTC Table lookup 92 .PE02.
changes PACP HR-CH: Pension fund.Jump to Views PA96 Benefits reporting PA97 Salary Administration .Call RPLBEN09 PA89 COBRA Administration PA90 Benefits Enrollment – Individual PA91 Benefits .Maintain PA93 Benefits Tables .Call RPLBEN09 93 .PE02.rel.Access Reporting Tree PA95 Benefits IMG .Call RPLBEN07 PA87 Benefits .Matrix PA98 Salary Administration PA99 Compensation Admin.Display PA94 Benefits .Call RPLBEN11 PA86 Benefits . .Programming in Human Resource ______________________________________________________________________ SPR0 IMG SE16 Data Browser (Table reports) PP03 PD Tables PP0M Change Org Unit P013 Maintain Positions PO03 Maintain Jobs Benefits PA85 Benefits .Forms PA92 Benefits Tables . interface Payroll PC00 Run Payroll PC10 Payroll menu USA PE00 Starts Transactions PE01.Call RPLBEN07 PA87 Benefits .PE03 PE01 Schemas PE02 Calculation Rules PE03 Features PE04 Create functions and operations PE51 HR form editor PRCA Payroll calendar PRCT Current Settings PRCU Printing Checks USA PRD1 Create DME SM31 Maintain Tables SM12 Locked Secessions TSTC Table lookup SPR0 IMG SE16 Data Browser (Table reports) PP03 PD Tables PP0M Change Org Unit P013 Maintain Positions PO03 Maintain Jobs Benefits PA85 Benefits .Call RPLBEN11 PA86 Benefits .
Programming in Human Resource ______________________________________________________________________
PA89 PA90 PA91 PA92 PA93 PA94 PA95 PA96 PA97 PA98 PA99 PACP COBRA Administration Benefits Enrollment – Individual Benefits - Forms Benefits Tables - Maintain Benefits Tables - Display Benefits - Access Reporting Tree Benefits IMG - Jump to Views Benefits reporting Salary Administration - Matrix Salary Administration Compensation Admin. - rel.changes HR-CH: Pension fund, interface
General/Reporting PM00 Menu for HR Reports PM01 Dialogs in HR - Create custom infotypes PRF0 Standard Form PSVT Dynamic Tools Menu PAR1 Flexible employee data PAR2 Employee list PD - Organizational Management PP0M Change Org Unit PO03 Maintain Jobs PO13 Maintain Position PO10 Maintain Organizational Unit PP01 Maintain Plan Data (menu-guided) PP02 Maintain Plan Data (Open) PP03 Maintain Plan Data (event-guided) PP05 Number Ranges PP06 Number Range Maintenance: HRADATA PP07 Tasks/Descriptions PP69 Choose Text for Organizational Unit PP90 Set Up Organization PPO1 Change Cost Center Assignment PPO2 Display Cost Center Assignment PPO3 Change Reporting Structure PPO4 Display Reporting Structure PPO5 Change Object Indicators (O/S) PPO6 Change Object Indicators O/S PPOA Display Menu Interface (with dyn.) PPOC Create Organizational Unit PPOM Maintain Organizational Plan PPOS Display Organizational Plan PQ01 Events for Work Center PQ02 Events for Training Program PQ03 Events for Job PQ04 Events for Business Event Type PQ06 Location Events PQ07 Resource Events PQ08 Events for External Person
Programming in Human Resource ______________________________________________________________________
PQ09 PQ10 PQ11 PQ12 PQ13 PQ14 PQ15 PSO5 PSOA PSOC PSOG PSOI PSOO PSOS PSOT Events for Business Event Group Events for Organizational Unit Events for Qualification Resource Type Events Events for Position Events for Task Events for Company PD: Administration Tools Work Center Reporting Job Reporting OrgManagement General Reporting Tools Integration PA-PD Organizational Unit Reporting Position Reporting Task Reporting
Recruitment PB10 Init.entry of applicant master data PB20 Display applicant master data PB30 Maintain applicant master data PB40 Applicant events PB50 Display applicant actions PB60 Maintain applicant actions PB80 Evaluate vacancies PBA0 Evaluate advertisements PBA1 Applicant index PBA2 List of applications PBA3 Applicant vacancy assignment list PBA4 Receipt of application
Useful programs for Schemas and PCRs
RPUCTF00 RPUCTI00 RPUCTJ00 RPUCCOSE RPUCTX00 RPUSCD10 RPUCTC00 Change Attributes for Schemas and PCRs (change owner) Lists Subschemas not called up in any other schema Lists Personnel Calculation Rules which are not called up Source text search in PC rules Copy Personnel Calculation Rules from client 000 to other clients Schema directory – useful after LCP to see changed schemas, also shows who changed it last and when Displays PCRs full source text
Time Management RPTQTA10 RPTQTA00 RPTLEACONV Display Leave Quotas Bulk Leave Quotas Update Transfer of Remaining Leave from Infotype 0005 to Infotype 2006
Wage Type Utilities RPU12W0C (HR utility 512W-classes) allows you to reload backups of specific
Programming in Human Resource ______________________________________________________________________
processing classes, cumulations and evaluation classes created with RPU12W0S in T512W Creates a backup of T512W in T599U or reloads the backup into T512W. Displays T599U Generically deletes entries in T599U, T512W or T512T
RPU12W0S RPU99U0V RPU5XX0D
Other Useful programs RSHOWTIM RSANAL00 RSABAPIV RCCLBISC RPUTRBK0 RPUEUSUP RPUDEL20 RPDSYS00 RSBDCSUB RSUSR006 RSPARAM RPABRIDD RPUPROTU RPINCL10 RPCIFU03 RPLTEMV0 Displays tips and tricks for ABAP Programming Program analysis Lists all ABAP commands Display contents of logical filename Updates infotype 0003 dates after data transfer Activate Additional Actions infotype 0302 Deletes payroll results (be careful !) Display System Documentation Release batch-input sessions automaticly List users last login Display all instance parameters Deletes data in payroll infotypes maintain/delete the log of report starts Use RPINCL10 to search through ABAP source code Move TemSe Unix file (e.g. BACS transfer) to PC file File transfer between TemSe and disc
com 97 .sap-img.Programming in Human Resource ______________________________________________________________________ References: The following documents from SAP were referred to do this document: HR 350 HR 550 HR 050 HR 530 HR 580 The following websites were referred to do this document: www.com www.planetsap.com www.atomhr.abaptools.com www.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue listening from where you left off, or restart the preview.