Technical Document on HR Programming.pdf

Published on February 2017 | Categories: Documents | Downloads: 59 | Comments: 0 | Views: 531
of 100
Download PDF   Embed   Report

Comments

Content

 

Technic Te chnic al Document on HR Programming By Amar Am ar Chintam Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Introduction on SAP HR module-:

The SAP HR module enables companies to effectively manage information about the  people in their 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 Administration   (PA) sub module helps employers to track employee master data, work schedules, salary and benefits information.. The Personnel Development (PD) information Development (PD) functionality focuses on employees' skills, qualifications and career plans. Finally, the Time Evaluation Evaluation   and Payroll sub modules  process attendance and absences, gross salary and tax calculations, and payments to employees and third party vendors.

2 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ What is HR ?  ? 

The task of Human Resou Resource rce Management is to pro produce duce the organizational hierarchies , relationship between employees and ttoo allow storage and administration of em employee ployee data . Organization : 

We can define an organization as an individual enterprise(com enterprise(company pany 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 ooff Infotypes 2. The use of Logical Database 3. Use of Macros 4. Storage and Access of data 5 Authorization checks

3 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Logical Database: 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.

Introduction: 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. attributes. Main functions ooff the logical database PNP •

Standard Selection screen



Data Retrieval



Authorization check

4 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Standard Selection Screen :



Date selection Date selection delimits the time period for which data is evaluated. GET PERNR retrieves all records of the the relevant infotypes ffrom rom the database. When you enter a date selection period, the PROVIDE loop retrieves the infotype records whose validity period overlaps with at least one day of this period.



Person selection Person selection is the 'true' selection of choosing a group of employees for whom the report is to run.



Sorting Data · The standard sort sequence lists personnel numbers in ascending order. · SORT function allows you to sort the report data otherwise. All the sorting fields are from infotype 0001.



Report Class · You can suppress input fields which are not used on the selection screen by assigning a report class to your program. · If SAP standard delivered report classes do not satisfy your requirements, you can create your own report class through the IMG.

GET PERNR event:

The GET PERNR event is executed for all personnel numbers where selected on the basis of selection screen entries. Data is retrieved at the GET PERNR point. GET PERNR fills the internal tables of the infotypes that are declared for each e ach employee using the infotypes statement. The time point should be viewed as a loop via the selected personnel numbers.  Note: PERNR is a data dictionary structure structure without a database. database. You must declare this structure using the TABLES statement

5 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Data Retrieval from LDB 

. Create data structures for infotypes.

1

INFOTYPES: 0001, "ORG ASSIGNMENT 0002, "PERSONAL DATA 0008. "BASIC PAY 2. Fill data structures with the infotype records. Start-of-selection. GET PERNR. End-of-selection. 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 - ENDPROVIDE loop.

• •

GET PERNR. PROVIDE * FROM Pnnnn BETWEEN PN-BEGDA AND PN-ENDDA

If Pnnnn-XXXX = ' '. write:/ Pnnnn-XXXX. endif. ENDPROVIDE. Period-Related Data All infotype records are time stamped.



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. Current Data IT0006 Address - 01/01/1990 12/31/9999 present



 RP-PROVIDE-FROM-LAST  retrieves  retrieves the record which is valid in the data selection

 period. For example, pn-begda = '19990931' pn-endda = '99991231' IT0006 subtype 1 is resident address RP-PROVIDE-FROM-LAST P0006 1 PN-BEGDA PN-ENDDA. 

W e W i ll l l di di s c u s s a b o u t R e a d  m a s t e r d a ta t a  u n d e r p r o ce ce s s i n g infotypes.

6 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

This is the attributes screen of the program. Look at the field Logical database. 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. However, you are advised not to use this logical database unless you want to report on Personnel Planning data. Logical Database PAP: Logical database PAP enables you to access data from

Recruitment.

7 Document by:- Amar Chintam

 

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.

8 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

We are going to to  discuss the the  foll owin owing g areas areas in HR.  HR.  1) Personnel Administration 2) Personnel Development 3) Time Management 4) Payroll 

9 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Personnel Administration: PA involves administrating employee data, commonly referred to Master Data. Master Data contains all employee data used in HR processing. Master Data includes Personal (Eg. address), Organizational (Position description), Benefits (Insurance, Pension), Time & Payroll. Master Data is stored in Infotypes. Infotypes are tables (for user Data entry screen) that contain logically related employee data. Data can be stored for specific periods, which includes current and historical. Components of PA:



Personnel Area:  represents a division of a company code into subunits. It is an

organizational entity representing an area within an organization defined by specific aspects of personnel administration, time management and payroll. Personnel areas are subdivided into personnel subareas. Personnel area is specific to HR and is a four character alphanumeric identification. Eg. Personnel area 100 is for employees in Karnataka, 200 is for Chennai. •

Personnel Subarea: is a further subdivision of Personnel area. It may represent

geographical locations. Functions include: 1. Set groupings for Time Managemen Management, t, so that work schedules, substitution substitution and absence and leave types can be setup for individual personnel subareas. 2. Generate default pay scale type and area for an employee's basic pay. 3. Define public holiday calendar. •

Employee Groups:  divides or groups employees into various categories. Eg.

Active employees, Retired employees, Contractors. Employee groups are used to generate default values for payroll accounting area and basic pay. •

Employee Subgroups:  are further differentiated within the employee group. Eg.

Salaried employees, Hourly employees, Unionized employees, Executives. The employee subgroup grouping for the payroll rule allows you to define different  payroll procedures for different employee subgroup subgroups. s. For eg. you can specify whether an employee's pay should should be determined on hourly or mo monthly nthly basis. 10 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ The employee subgroup grouping for the work schedule defines the validity of work schedule, and the the attendance or absence quota type determ determines ines the validity of time quotas.

11 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Infotypes: Infotypes are units of information in the Human Resource System. They are a re used to group data fields together that all relate to the same subject matter. Infotypes structure information, and facilitate data entry and time-dependent data storage. From the user’s perspective, infotypes are data entry screens. From the database perspective, infotypes are a data structure and a set of data records that belong together. The ability to create histories for infotypes is ensured by time-dependent infotyp infotypee storage. The system

records a validity period for each infotype record. Each infotype entered for an employee usually has several data records that are distinguished one from the other by their validity  periods. 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. •

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. The prerequisites for the existence of a personnel or applicant a pplicant number are infotypes 0000  Actions, 0001 Organizational Assignment , 0002 Personal Data, and 0003 Payroll Status.

12 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

One physical table is stored on the database for each transparent table. The names of the  physical table and logical logical table definition in the Dictionary are compatib compatible. le. 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 

13 Document by:- Amar Chintam

 

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. It is used to access the display and maintenance screens for an employee’s master data and working time data (infotypes). •

SUBTY :  subtypes are subdivisions of infotypes. An infotype’s subtypes can have

different time constraints and form their own histories. •

OBJPS : the object identification is used to make a distinction between records

with the same infotype, subtype, lock indicator, start date, and end date. For Family/Related Person. •

example, the child number in infotype 0021 SPRPS : the lock indicator for HR master data is used to lock and unlock data records, which enables the “double verification principle” to be put into practice. In accordance with this principle, at least two users are involved in the process of writing an active data record to the database. One of the users creates a locked infotype record, and the other user unlocks - that is, activates ac tivates - the data record.



 ENDDA: end date.



 BEGDA: start date.

14 Document by:- Amar Chintam

 

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). Unlike the object identification, 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). It is used to stor storee the names of all infotype-depen infotype-dependent dent repositor repository y objects (tables, structures, programs, and so on).



Table T77ID  Infotypes: Enhancements to T777D is simply an enhancement of table T777D that that exists for reasons of memory space.



Table T582A  Infotypes - Customer-Specific Settings is used for customer settings in Administration infotypes.



Table T77CD Infotypes - Customer-Specific Cu stomer-Specific Settings is used for customer c ustomer settings in Planning infotypes.

15 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

INFOTYPE PROCESSING: After the Event GET PERNR  point,  point, the internal tables of the infotypes contain records and ready for processing. *Provide statement PROVIDE * from pnnnn between PN-BEGDA and PN-ENDDA. Write: / pnnnn-<field pnnnn-<field>. >. ENDPROVIDE



 Pnnnn stands for internal table for infotype nnnn. It is similar to normal  select statement.

PROCESING A SPECIFIC INFOTYPE RECORD: RP-PROVIDE-FROM-LAST Pnnnn SPACE PN-BEGDA PN-ENDDA. RP-PROVIDE-FROM-FRST Pnnnn SPACE PN-BEGDA PN-ENDDA. 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.

STANADARD HR PROGRAM STEPS: Attach PNP Logical Database name in Attributes. Declare PERNR structure in tables. Includes if required. Selection-screen formatting. Start-of-Selection. ...required Validations. GET PERNR  “Event starts here Perform retrieve Perform Populate …..All Performs END-OF-SELECTION  “event ends here Write/Download .

16 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Look at the example below

Using the logical database and reading master data.

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. *-- Declaration TABLES: pernr. INFOTYPES: 0002.language FOR p0002-sprsl. "Personal Data SELECT-OPTIONS: *-- Selection screen INITIALIZATION. pnptimed = 'D'. *-- Processing GET pernr. PROVIDE * FROM p0002 BETWEEN pn-begda AND pn-endda. CHECK language. WRITE: / p0002-pernr, sy-vline, pernr-ename, sy-vline, p0002-sprsl, sy-vline, p0002-gbdat. ENDPROVIDE.

17 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Suppose you require additional reports that combine data from different infotypes Then you need to join one or more infotypes.



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 c auses a split in the selection period.

18 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __











If infotypes linked by a JOIN have subtypes, processing must be restricted to one subtype using a WHERE condition, in which a subtype is queried. In this example, the first partial interval only contains personal 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. Using variable Pnnnn_VALID, the system recognizes that one partial interval only contains incomplete data. When the report is run, this variable is created for each Pnnnn infotype included in a join. If a partial interval for infotype Pnnnn contains data, its Pnnnn_VALID variable  with X. is filled  with

19 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __











The * in the PROVIDE statement, which stands for all of the fields in the infotype, is replaced by the five-digit field name of the infotype included in the  projection. The * in a simple PROVIDE means that all of the fields in the infotype are included in the projection. JOIN and PROJECTION can be combined in a PROVIDE statement. Infotype records are not allowed to overlap for projection. Data must be unique, which means that projection is only allowed for time constraints 1 and 2. The logical validity of the activity period is stored in the infotype's BEGDA and ENDDA fields.

20 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Look at the example below

Join and Projection “Joining Infotypes”

At the end of this exercise, you will be able to: Process the Personal Data infotype (0002) and Addresses infotype (0006) using a JOIN.



Make the processing of data dependent on the content of variable Pnnnn_VALID.



 

Suppose you want to create a report in which period the employee lived at which aaddress ddress under which name. The created list should contain the following information: information: •

Start date



End date



 Name



Place of residence



Only process the records from Infotype 0006 which have subtype 1.



Only print data for the periods for which address information is available.





Use a variable with the characteristics of field P0001-ENAME, so that the first and last name are only separated by one space. Use the statement CONCATENATE. Enter a width of 100 characters for the list (addition LINE-SIZE for keyword REPORT). Restrict the length of the name to 30, and the length of the city to 20 characters. Separate the resulting field contents in your list by a vertical line ( SY-VLINE).

REPORT zpamar1 LINE-SIZE 100. *-- declaration TABLES: pernr. INFOTYPES: 0002, 0006. DATA: name LIKE p0001-ename.

"Personal Data "Address

*-- Processing GET pernr.

21 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ PROVIDE * FROM p0002 * FROM p0006 BETWEEN pn-begda AND pn-endda WHERE p0006-subty = '1'. IF p0006_valid EQ 'X'. CONCATENATE p0002-nachn p0002-vorna INTO name SEPARATED BY SPACE. PERFORM print_data. ENDIF. ENDPROVIDE. *------------------------------------------------------------* * FORM PRINT_DATA *------------------------------------------------------------* FORM print_data.   WRITE: / p0002-pernr NO-ZERO, sy-vline, p0002-begda, sy-vline, p0002-endda, sy-vline, (30) name, sy-vline, (20) p0006-ort01. ENDFORM.

22 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Look at the example below

Join and Projection “Projection to Infotype Fields” 

At the end of this exercise, you will be able to: •

Project to particular fields by joining two infotypes.



Read texts from time-dependent table entries.

Suppose you want to create a report which documents how an employee’s job has developed. 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. Project to field P0002-GBDAT for infotype 0002. Only print data for the periods in which organizational assignment inform information ation is available. Before reading table T513S, check that the table entry to be read for the job key in question is already in the work area. To do this, use the statement CHECK. If the required table entry does not exist, print the personnel number, an error text, and the job key text. End further processing with the REJECT statement. Enter a width of 100 characters for the list (addition LINE-SIZE for keyword REPORT). Restrict the length of the name to 20, and the length of the job title to 15 characters. Separate the resulting field contents in your list by a vertical line ( SY-VLINE).

23 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ REPORT zpsol030 LINE-SIZE 100. *-- Declaration TABLES: pernr, T513S. INFOTYPES: 0001, 0002.

"Job Titles "Organ. Assignment  "Personal Data

*-- Processing GET pernr. PROVIDE stell ename FROM p0001 gbdat FROM p0002 BETWEEN pn-begda and pnendda. IF p0001_valid EQ 'X'. IF p0001-stell NE space. PERFORM re513s. WRITE: / pernr-pernr, sy-vline, (20) p0001-ename, sy-vline, p0002-gbdat, sy-vline, p0001-stell, sy-vline, (15) t513s-stltx, sy-vline, p0001-begda, sy-vline, p0001-endda. ENDIF. ENDIF. ENDPROVIDE.

*------------------------------------------------------------* * FORM RE513S *------------------------------------------------------------* * Read Job Title *------------------------------------------------------------* FORM re513s. CHECK sy-langu NE t513s-sprsl OR p0001-stell NE t513s-stell OR p0001-begda LT t513s-begda OR p0001-begda GT t513s-endda. SELECT * FROM t513s WHERE stell sprsl EQ  AND EQ sy-langu p0001-stell p0001-stell

24 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __  AND endda GE GE p0001-begda p0001-begda  AND begda LE LE p0001-begda p0001-begda. . ENDSELECT. IF sy-subrc NE 0. CLEAR t513s. WRITE: / pernr-pernr, ‘No entry in T513S for job key’ (001), p0001-stell. REJECT. ENDIF. ENDFORM. 

25 Document by:- Amar Chintam

 

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.











Like subroutines and function modules, macro modules can be used to modularize  programs. Macro modules are frequently used in HR. These macros are defined in program SAPDBPNP (include DBPNPMAC) with the keyword DEFINE. They can be used in any program that uses the logical database PNP. If you want to use these macros in reports that do not use the logical database PNP, you must include program DBPNPMAC with the keyword INCLUDE. You can also define your own macros. In accordance with the naming convention, the first two letters stand for the application. Some macros are also stored in the Macros in ABAP Programs table (TRMAC)

26 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __









The RP_PROVIDE_FROM_LAST macro retrieves the last valid data record in the data selection period. The parameters for RP_PROVIDE_FROM_LAST are: infotype, subtype, start date, and end date. If you do not want to specify a particular subtype, enter SPACE. You can process not only the last valid data record in the data selection period, but also the first valid data record using the RP_PROVIDE_FROM_FRST macro. The macro return code PNP-SW-FOUND has the value 1 if a suitable entry exists in the infotype table for the specified period. If no entry is found, the value is 0.

27 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __



When the START-OF-SELECTION event occurs, 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 Document by:- Amar Chintam

 

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. Each employee's assignment to a personnel area and subarea is stored in infotype 0001. The parameters of the macro are: Personnel areas











Personnel subareas Reaction, if no entry is found: X = Termination of report with error message ‘No entry found in table ...’ SPACE = SY-SUBRC is set to 4. Alternatively, if you only want to determine the country indicator, you can use the function module HR_COUNTRY_GROUPING_GET.

29 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __





You can also read infotype records for a particular personnel number without using the logical database. To do this, use the function module HR_READ_INFOTYPE. However, you must ensure that the internal table for the required infotype is declared with the INFOTYPE statement.

30 Document by:- Amar Chintam

 

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. Values are returned in an internal table, the structure of which corresponds to the appropriate infotype table. In the calling program, such tables can be declared with the INFOTYPES statement, for example. An infotype record is selected if its validity period overlaps with the specified period. The function module performs an authorization check.

The following specifications are possible for the return code: 0: The return table contains all required records 4: The return table con contains tains all records, however, it is incomplete due tto o missing authorization 8: The retur returnn table is emp empty ty bbecause ecause no records were fou found nd wi with th th thee 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. If you want to read an infotype separately in one of these reports, you can call the subroutine READ-INFOTYPE  directly in the database program SAPDBPNP  (PERFORM READ-INFOTYPE(SAPDBPNP)). . .). If this is the case, you declare the infotypes in the statement INFOTYPES with supplement MODE N.

31 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







With this function module, you can determine the initial start date of an employee. You can take the following infotypes into account when you determine this date: - P0000 Actions - P0001 Organizational Assignment - P0016 Contract Elements - P0041 Date Specifications The transfer parameter CHECK_INFOTYPES  is used to determine which of these infotypes are taken into account. The employment status (parameter STATUS2) can also be specified for infotype P0000. In infotype P0016, only the Entry data field (P0016-EINDT) is taken into account. For infotype P0041, the corresponding date type can be given in the transfer parameter DATUMSART. 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. To find additional modules, use the search function in the Function Builder.

32 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







Before you change employee data, you must lock the personnel number. You can do this with the function module BAPI_EMPLOYEE_ENQUEUE. Messages are returned in the parameter RETURN. If an error occurs, occurs, this structure contains the following information:- Message type (field TYPE ))- Message text (field  MESSAGE ).If ).If the step is successful, the structure is blank. If an employee's data has been locked, only the user who has locked the data can access the data records linked to the employee. For other users, access is denied. For this reason, you must remove the lock after the data has been changed. You can do this with the function module BAPI_EMPLOYEE_DEQUEUE.

33 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







With this function module, you can maintain the employee and applicant master data. You can specify one data record. All validations that would normally take place if the infotypes were maintained online with the individual maintenance screens are also carried out here. The module returns the same error messages as in the online operation. This means the error messages for the individual maintenance screens are displayed rather than interpreted. 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 following values are amongst those available for the parameter OPERATION: MOD (change), COPY (copy), DEL (delete), INS (insert), LIS9 (delimit). With the parameter DIALOG_MODE, you specify whether the action is generally run in the background or whether it only runs in the background until an error occurs, or whether the changes are generally generally carried out in the dialog mode. Possible values:'0' The changes are generally processed in the background. If an error occurs (with an E or A message), the complete step is terminated and the module returns the corresponding error message in the structure 'RETURN'. '1' The changes are generally processed in the background. If an error occurs, the system switches to dialog mode so that the user can correct the entries. '2' The changes are processed in the t he dialog mode.

34 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __









If you cannot use the function module HR_INFOTYPE_OPERATION, you can use the UPDATE statement. Note that the system does not check the correctness of the new field contents when a direct DB update takes place. In this example, the field P0002-NATIO (nationality) in DB table PA0002 is updated directly. The field contents is changed from ‚DE' to ‚D'. The incorrect value 'D' in field PA0002-NATION then triggers an error message when the infotype record is changed or copied in dialog mode. The system field SY-DBCNT contains the number of changed records. Authorization checks are not supported by the UPDATE statement and should be carried out on the program level.

 Many HR reports use macros. Their program program codes are stored in a table or defined locally using the DEFINE keyword.  The RP_PROVIDE_LAST macro writes the last valid record in the data selection  period to the header line of the internal Infotype table.  You can use the function module HR_READ_INFOTYPE to read the personal data in reports which do not use an HR logical database.

35 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Look at the example below

Specific Commands “Macros”

At the end of this exercise, you will be able to: Use the macro RP_PROVIDE_FROM_LAST to retrieve the last valid record in the data selection period.



Use the macro RP-READ-T001P Area/Personnel Subarea table.



to

read

the

Personnel

Suppose you need to create a report that will generate a list of the recurring payments and deductions for each employee. The list should contain the following informat information ion for each employee: •

Personnel number

 Name





Personnel area



Personnel subarea text

In the following lines, 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. If employees do not have a record for infotype 0014, the internal table P0014 is empty at the GET PERNR event. Use the keyword DESCRIBE to query the characteristics of this table.

36 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







To place the last infotype 0001 record valid in the data selection period in the header of internal table P0001, use the macro RP_PROVIDE_FROM_LAST. To read table T001P (Personnel Area/Subarea), use the macro RP-READT001P. The country indicator is assigned to each personnel area/subarea in the field T001P-MOLGA. The country indicator is part of the key for table T512T (Wage Type Texts). The personnel area text is taken from field T001P-BTEXT. Read the accompanying wage type texts for the wage types for infotype 0014 from table T512T. Before reading table T512T, check that the table entry to be read is already in the workarea. To do this, use the statement CHECK. Restrict the length of the name to 20 characters.

REPORT zpamar2 . *-- Declaration TABLES: pernr, t512t, t001p. INFOTYPES: 0001, 0014. Deduc. DATA: filled_lines LIKE sy-index.

"Wage type text ”Plant section "Organ. Assignment  "Recurr. Earn. &

*-- Processing GET pernr. DESCRIBE TABLE p0014 LINES filled_lines. IF filled_lines GT 0. rp_provide_from_last p0001 space pn-begda pn-endda. rp-read-t001p p0001-werks p0001-btrtl space. SKIP 2./ pernr-pernr, WRITE: (20) p0001-ename, p0001-werks, t001p-btext. PROVIDE * FROM p0014 BETWEEN pn-begda AND pn-endda. CHECK p0014-betrg NE 0. PERFORM print USING p0014-lgart p0014-betrg p0014-begda p0014-endda. ENDPROVIDE. ENDIF.

37 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ *------------------------------------------------------------* * FORM PRINT *------------------------------------------------------------* * Print List *------------------------------------------------------------* FORM print USING value(wtype) value(amount) value(begda) value(endda). PERFORM re512t USING t001p-molga wtype. WRITE: / wtype UNDER p0001-ename, T512T-LGTXT, amount, begda, endda. ENDFORM.

*---------------------------*-----------------------------------------------------------------------------------------* --* * FORM RE512T *------------------------------------------------------------* * Read Wage Type Texts *------------------------------------------------------------* FORM re512t USING value(country_grouping) value(wtype). CHECK t512t-sprsl NE sy-langu OR t512t-molga NE country_grouping OR t512t-lgart NE wtype. SELECT SINGLE * FROM t512t WHERE sprsl EQ sy-langu  AND molga EQ country_gr country_grouping ouping  AND lgart EQ wtype. wtype. IF sy-subrc NE 0. CLEAR t512t. ENDIF. ENDFORM.

38 Document by:- Amar Chintam

 

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 Infotypedependent objects and table entries. Creating and enhancing infotypes is discussed in more detail later in this unit.

39 Document by:- Amar Chintam

 

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 ass igned to namespace 2000-2999  Recruitment infotypes are assigned ass igned 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 include.  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. •

40 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __













Problem: You want to store specific information in the system. Procedure: Check all of the standard infotypes to determine whether one 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 st ructure Pnnnn (or from structure PSnnnn or HRInnnn).

41 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ These are some of the most important HR Infotypes 0000 Events 0001 Org assignment 0002 Personal info 0003 0007 0008 0014 0015 0027 0041 0057 0165 0167 0168 0169 0170 0194 0195 0207 0208 0209 0210 0216 0221 0267 2005 2010 1000

Payroll data Work time Basic pay Reoccurring pay 1 X pay Cost Center Event Dates Membership dues 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 OT Catts direct to cluster Infotypes 1000 – 1999 are PD Relationshi Relationshipp infoty infotypes pes

42 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

PD ( Planning and Development) :  You can use the Personnel Development component to maximize employees’ utility within your company. You can plan and implement specific personnel and training measures to promote the professional development of your employees. A company’s personnel development needs are determined by comparing current or future work requirements with employees’ qualifications, preferences and aspirations. •

Organizational Units:  describe the different business areas within your

company. Org. 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. Use transaction PP02 to create Org.Units. Object type 'O'. Following is a three level hierarchy. Table HRP1000. One Org. Unit can be related to another Org. Unit.  •

Jobs:  A job is the general classification for a set of tasks. Eg. manager, customer

service representative. Each Job identifies a unique classification of activity. Employees hold positions and not Jobs. Jobs are linked to Positions, which are held by employees. Equal number of positions should be created for each Job. Use transaction PP02 to create Org.Units. Object type 'C'. Table HRP1000. •

Positions:  are specific jobs perfo performed rmed by indi individuals viduals in a com company. pany. Each

 position is occupied by one employee. employee. Eg. HR Manager. Positions not assigned to employees are known as vacancies.One Position can be assigned to more than one  person. Eg. the first employee may work 50% and the other will work the remainder 50%. Position belongs to a Job which describes the Position. Use transaction PP02 to create Org.Units. Object type ' S'. Table HRP1000 Manager   HR Manager

Accounting Manager  

s: Table  Table HRP1001. Transaction PP02 (Infotype 1001) Relationship between objects:

43 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __





In the Dictionary, 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, 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 ensureconsistent, that transparent table HRPnnnn and logical Pnnnn always remain mutually structure HRInnnn is also includedstructure by structure Pnnnn.

44 Document by:- Amar Chintam

 

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.  PLVAR: a one or two-character alphanumeric plan version key that is used to make a distinction between different organizational plans.  OTYPE : a one or two-character alphanumeric object key (such as ‘S’ for position, ‘Q’ for qualification, and ‘E’ for business event).  OBJID: an eight-digit, non-mnemonic key that represents a single object (such as an organizational unit, qualification, or business event).  SUBTY : subtypes are subdivisions of infotypes. An infotype’s subtypes can have different time constraints and form their own histories.   ISTAT : a one-digit key that stands for a planning status. All objects and their defining infotypes have a status. This enables you to put objects and infotypes through a planning cycle.   BEGDA: end date.   ENDDA: start date.  VARYF : variation field of the PLOG file (that contains the target object for relationships).  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). It is assigned by the system automatically.

45 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __



• •







Report RHMOVE00 transports Planning data records from the R/3 System to a sequential file. This sequential dataset can be displayed and edited using report RHMOVE40. Report RHALTD00 uses a sequential dataset to create c reate a batch input session. Structure E1Pnnn must be used for records of infotype Pnnnn. This is the IDoc segment structure of the infotype. Structure E1Pnnnn is expanded  for  for table infotypes - that is, it contains the primary record and the table division of the table infotype. Structure E1PADnn must be used for relationships with additional data of structure PADnn. For the assignment, see table T77AD.

46 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Reporting in PD using PCH Logical database: At the end of this chapter , you will be able to: Explain the the functio functions ns and data structures of log logical ical database PCH Create reports for sequential evalutions of the organizational structure Create reports for structural structural evalutions of the organizational sstructure tructure Evaluate additional additional data on relation relationships ships •



• •



Relationships are stored on the database in two directions.

47 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







"Job" is used as a general classification, such as secretary or head of department. More than one employee can have the same s ame job. For example, twenty employees can have the  job of secretary. A position is the assignment of an individual employee in your enterprise, for example, sales manager, secretary in the marketing department. You form the structure (organigram) of your enterprise by creating positions and linking them to each other.

48 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __





Positions must be linked to an organizational unit. However, if you want to view the  position hierarchy, hierarchy, you must create a reporting reporting structure by rrelating elating position positionss to each other. An organizational unit can incorporate one or more positions. A position belongs to an organizational unit.  Example: The organizational unit Personnel incorporates the positions Head of Department De partment and Secretary. The position Secretary belongs to the organizational unit Human Resources.

49 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __



If Organizational Management is integrated with master data, the holder relationship between  position and person is also stored for the person in the Organizational Assignment infotype (0001), despite the fact that the data is redundant.

50 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __











The Object Object  infotype performs key functions. It enables you to create new objects, such as organizational units and jobs, and determines the validity period of other infotypes that describe the characteristics of existing objects. Once you have used this infotype to create an object, its characteristics can be described using other infotypes such as the Relationships  Infotype (1001) and the Description Infotype (1002). The Object Infotype (1000) defines an object's existence. You can use it to store a short text and a long text on the object. An object is uniquely identified by its: - Plan variant- Object type - Object identification Records stored in the Relationships Infotype (1001) serve as a descriptive descript ive 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 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







The relationships between basic object types are defined in the standard system and should not be changed. Each standard relationship has a three-digit code. The customer namespace is from AAA to ZZZ. Relationships between objects are reciprocal. If a job describes a position, for example, then the position is described by the job. When you assign a relationship, the system automatically creates its inverse relationship. This enables you to carry out reporting from either  perspective.

52 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __











The Pnnnn structure contains an infotype's key fields and data fields. The PTnnnn structure contains the table infotype data fields for some infotypes. The PADnn structure defines additional data for particular relationships. The transparent HRPnnnn tables contain the infotypes used in Personnel Planning. Table infotypes are stored in the HRTnnnn tables. Additional data on relationships is stored in the HRPADnn tables. Transparent table PLOGI contains an index of all objects on the Personnel Planning database. They can be displayed and created with report RHPLOGI0. This object directory is the basis of all evaluations using logical database PCH.

53 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __





For each selected object, internal table Pnnnn  is filled per infotype with all available infotype records. The infotypes from Personnel Administration can also be imported.

54

Document by: Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __



The only difference between a structural and sequential evaluation is the additional GDSTR entry in the TABLES statement. 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, a sequential evaluation is performed.

55

Document by: Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __





When the INITIALIZATION event occurs, you can set default values for the selection screen. The fields for the object ID are defined in include DBPCHSEL. This is an internal table (PCHOBJID) that must be filled with APPEND.

56

Document by: Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __









For each selected object, internal table Pnnnn is filled per infotype with all available infotype records. For each selected object, the OBJEC structure contains the most important information from infotype 1000 (plan version, object type, object ID, short text, and long text). The GDSTR structure contains information on the current hierarchy, such as the root object and the number of objects within the hierarchy. 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. For each selected object, the STRUC structure contains internal structure information. In  particular, it includes information on the relationship used by the system sys tem to select the current object along the evaluation path.

57

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







RH-GET-TBDAT is a macro for logical database PCH. These macros are defined in include DBPCHCOM. With this macro, you can import the data for an infotype with a repetitive structure. 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. Please note that you cannot use macros for logical databases PCH and PNP at the same time.

58

Document by:- Amar Chintam

 

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, reports of other logical databases). 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, the function module  performs an authorization check.

59

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Look at the example below

Logical Database PCH – Exercise At the end of this exercise, you will be able to: •

Program a structural evaluation.



Select administration infotypes using the logical database PCH.



Understand the evaluation principle ‘search to depth’.

Suppose you require an overview of the staff positions with the name of the employees holding these positions and their telephone numbers.













Write a report that lists the staff positions in the organization structure structure along with the persons assigned to these positions. Use the evaluation path O-S-P. For the personal data (first name, last name), use the infotype 0002 records for the person. For the telephone number, use subtype 1 from infotype 0006. The staff position information is contained in infotype 1003 for the position. If the position is flagged as a staff position, the field P1003-STABS has the value “X”. Process the records from infotypes 0006 and 0002 with a join. For these infotypes, project to the First name, Last name, Telephone T elephone number, and Subtype fields. For holders of staff positions only, display the object ID, the object identifier, and the object name. Display this in one line. In the followin followingg line, display the name and the telephone number. The object type O and the evaluation path should appear in the selection screen as default values.

REPORT zhsol010. TABLES: objec, gdstr. INFOTYPES: 0002, 0006, 1003. DATA: stabs LIKE p1003-stabs, name LIKE p0001-ename. INITIALIZATION. pchotype = 'O'.

60

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ pchwegid = 'O-S-P'. GET objec. IF objec-otype = 'S'. CLEAR stabs. LOOP AT p1003 WHERE begda LE pc-endda  AND endda endda GE pc-begda. pc-begda. IF p1003-stabs = 'X'. stabs = 'X'. WRITE : / objec-objid, objec-short, objec-stext. ENDIF. ENDLOOP. ENDIF. IF objec-otype = 'P' AND stabs = 'X'. PROVIDE vorna nachn FROM p0002 subty telnr FROM p0006 BETWEEN pc-begda and pc-endda WHERE p0006-subty = '1'. IF p0006_valid = 'X'. CONCATENATE p0002-vorna p0002-nachn INTO name SEPARATED BY SPACE. WRITE: / name, p0006-telnr. SKIP. ENDIF. ENDPROVIDE. ENDIF.

61

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Time Management

SAP HR Time Management functionality inclu includes des time collection, evaluation of time and absence data for payroll, leave management and reporting. It also automatically calculates leave accruals, overtime, shift premiums and bonuses. Time data is used to process Payroll, internal & external reporting. Payroll needs Time data to process: Hours worked Overtime Shift times Vacation Absence to be paid • • • • •

Time is also used for • •

Internal reporting - by management to evaluate and project costs. External reporting - tracking of time data for Labor Union requirement etc. For eg. Labor union requires statistical data concerning the amount of overtime spent on certain shifts etc. 62

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Time data is stored in various infotypes. This data is evaluated e valuated according to various rules during time evalution and the processed data is transferred to payroll. Time data is generally collected by a third party recording terminal. Time data is recorded in various ways. eg. Punch cards, Manual time sheets that stores hours worked for each day alongwith any absenses. All the absence's and attendance in a day are uploaded into SAP and analysed using the  pre-defined times in the employees Wo Work rk Schedule rule. After pr processing ocessing the time even events, ts, the system generates wage types and time types based on pre-defined rules within the time evaluation program. These wage types and time types are then used for Interfacing to payroll, reporting etc.

63

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







The employee work schedule is an integral part of R/3 Time Management Management containing the  planned specifications for employee working time. An employee’s planned working time is represented in a work schedule. The work schedule is generated from a period work w ork schedule and a public holiday cal calendar. endar. The  period work schedule comprises a set sequence of daily work schedules. The daily work schedule contains information on a day’s working time including breaks. The sequence can reflect regular and variable working times. The period work schedule is applied to the calendar, taking into account specifications in the public holiday calendar. The work schedule rule encompasses all the specifications required to define the work schedule. The work schedule is used as the basis for time data evaluation.

Examples:  •





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 Evaluation. If you only record deviations to the work schedule, planned working time is used as the  basis for time evaluation. You assign a work schedule to an employee in the Planned Working Time infotype (0007) using work schedule rules.

64

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __





The standard R/3 System already contains public holiday calendars that include regional public holidays. You can change existing and define new public holidays in the public holiday list. In addition, you can change existing or define new  public holiday calendars. calendars. You assign a pub public lic holiday calendar to a ppersonnel ersonnel subarea. Public holidays are taken into account when determining bonuses or calculating leave, for example.

65

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __



• • • •





In R/3 Time Management , there are certain infotype records that you must create for every employee. Time management data is stored in the same master data records used by other HR areas, such as R/3 Payroll Accounting or R/3 Personnel Planning and Development . 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, determining whether the employee‘s time data is processed in  R/3 Time Evaluation or in R/3 Payroll Accounting. Time Recording Info (0050): This infotype is used in R/3 Time Evaluation. It can contain interface data on the subsystem and additional data on the employee that is relevant for time evaluation. Employees leave entitlement is managed in the Absence Quotas infotype (2006).

66

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







If an employee records his or her actual times at a time recording system, you can view the recorded time events in the Time Events infotype (2011). 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. You can use list entry to enter several time events for one personnel number at the same time. The infotype contains information on the origin of the record (whether it was recorded manually or by a subsystem) and on the terminal ID, for instance. The infotype can also store information on a different payment (premium, different pay scale group, and so on) or a different cost center. The information can either be entered manually or by a time recording system.

67

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







Time evaluation is performed by the time evaluation driver RPTIME00. It evaluates employees' time data that has been recorded either at the time recording terminals or in the time management infotypes. Time evaluation generally runs once daily, overnight, and is started using a batch job. It is normally used for large groups of employees. You can also run time evaluation for individual employees or groups of employees, or for  particular past evaluation periods. This function is particularly parti cularly useful for test purposes, for example. The time evaluation report can also be run for future periods. A future evaluation can be useful in want the following situations: You time evaluation to determine an employee’s anticiapted absence entitlements when absence quotas are built up automatically. You want to evaluate planned times in shift planning while taking anticipated overtime income into account, for example. •



68

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Reading Data Infotypes 2000 to 2999 are time infotypes. The time data in these infotypes stored in tables PA2000 to PA2999. Infotypes are declared with the INFOTYPE statement, and data is made available for processing in the internal infotype tables (infotype (infotype 2011 is an exception). You should not load all time infotype records from the lowest to highest system dates into the main memory. This would quickly lead to a memory overload, especially if a front-end time recording system is connected to your HR system. This is why time data should be read only for a specific period. 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. Later you can fill these tables using a statement with selection period parameters. Use the following report to read time data: REPORT RPABAP05. TABLES: PERNR. INFOTYPES: 2001 MODE N. GET PERNR. RP-READ-ALL-TIME-ITY PN/BEGDA PN/ENDDA. LOOP AT P2001. WRITE: / P2001-ABWTG. ENDLOOP.

An ABAP/4 macro reads the time data. This macro uses the data selection period  parameter of the selection screen. screen. Due to the time constraint of infotypes, several special features must be taken into account when processing time data. Views of time data are generally not practical. In time infotypes, data is determined on the basis of the validity period. When you enter an absence record, the number of days of absence is calculated on the  basis of the absence period. period. In a view, new partial periods are created without any changes being made to infotype data. This would lead to incorrect results in time infotypes, since this data depends on the validity period. For example, if, 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. The number of days of leave would not have changed and the information would be incorrect. In master data, the time constraint c onstraint is a definite feature of the infotype or subtype. There are no time dependencies between infotypes and subtypes. Time data is basically different. Let us assume that an employee becomes sick during vacation. The leave record is then delimited on the first day of the sickness, and the sickness record follows. 69

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Likewise, the system prohibits the entry of a leave record that coincides with a sickness record. The same also applies to overtime during a sickness. The time dependency of time infotype records is not limited only to dependencies  between records of one one and the same infotyp infotype, e, but covers all info infotypes types and subty subtypes. pes. The time constraint of time infotypes is not an attribute but is defined by the relationships between infotypes. Moreover, certain time infotype records have specific clock-in/clock out times. Several records may therefore exist for one infotype on a particular day. Since views require explicit data and this prerequisite is not fulfilled by time infotypes, you should not use joins and projections for time data. Time infotype tables are processed with the LOOP statement since the PROVIDE statement limits, and thus changes, the infotype begin and end dates to the data selection  period. 

Processing 'Time Data'. 

· Dependence of time data on validity period · Importing time data · Processing time data using internal tables Time Data and Validity Period · Time data always a lways applies to a specific validity period. · The validity periods of different types of time data are a re not always the same as the date selection period specified in the selection screen. Date selection period |---------------| Leave |-------------| · PROVIDE in this case ca se is therefore not used for time infotypes. Data   Importing Time Data · GET PERNR reads all time infotypes from the lowest to highest system data, not only those within the date selection period. · To prevent memory overload, add MODE N to the infotype declaration. This prevents the logical database from importing all data into infotype tables at GET PERNR. · Use macro RP-READ-ALL-TIME-ITY to fill infotype table.  INFOTYPES: 2001 MODE N. GET PERNR. RP-READ-ALL-TIME-ITY PN/BEGDA PN/ENDDA. LOOP AT P0021. If P0021-XYZ = ' '. A=B. Endif. ENDLOOP.  

70

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Processing Time Data  · Once data is imported into infotype tables, you can use an internal table to process the interested data. DATA: BEGIN OF ITAB OCCURS 0, BUKRS LIKE P0001-BUKRS, "COMPANY WERKS LIKE P0001-WERKS, "PERSONNEL AREA  AWART LIKE LIKE P2001-AWAR P2001-AWART, T, "ABS./ "ABS./ATTEND. ATTEND. TYPE  ASWTG LIKE LIKE P2001-ASWTG, P2001-ASWTG, "ABS./ "ABS./ATTEND. ATTEND. DAYS END OF ITAB. GET PERNR. RP-PROVIDE-FROM-LAST P0001 SAPCE PN-BEGDA PN-ENDDA. CLEAR ITAB. ITAB-BUKRS = P0001-BURKS. ITAB-WERKS = P0001-WERKS. RP-READ-ALL-TIME-ITY PN/BEGDA PN/ENDDA. LOOP AT P2001. ITAB-AWART = P2001-AWART. ITAB-ASWTG = P2001-ASWTG. COLLECT ITAB. (OR: APPEND ITAB.) ENDLOOP.

 

71

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Cluster Tables and Payroll : •

• • • • •

Cluster tables combine the data from several tables with identical (or almost identical) keys into one pphysical hysical record oonn the database. Data is written to a database in compressed form. Retrieval of data is very fast if the primary key is known. Cluster tables are defined in the data dictionary as transparent tables. External programs can NOT interpret the data in a cluster table. Special language elements EXPORT TO DATABASE, IMPORT TO DATABASE and DELETE FROM DATABASE are used to process data in the cluster tables. PCL1 - Database for HR work area; PCL2 - Accounting Results (time, travel expense and payroll); PCL3 - Applicant tracking data; PCL4 - Documents, Payroll year-end Tax data

Database Tables PCLn • •

PCLn database tables are divided into subareas known as data clusters. Data Clusters are identified by a two-character code. c ode. e.g RU for US payroll result, B2 for time evaluation result... Each HR subarea has its own cluster. Each subarea has its own key. 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 a ccounting results/internatio results/international nal Rn payroll accounting results/country-specific results/country-specific ( n = HR country indicator ) ZL personal work schedule 72

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

Database Table PCL3 

The database table PCL3 contains the following data areas: AP action log / time schedule   TY texts ffor or applicant data infoty infotypes pes Data Management of PCLn

The ABAP commands IMPORT and EXPORT are used for management of read/write to database tables PCLn. A unique key has to be used when reading data from or writing data to the PCLn. Field Name KEY Length Text   MANDT X 3 Cli Client ent RELID X 2 Relation ID (RU,B2..)   SRTFD X 40 W Work ork Area Key   SRTF2 X 4 Sort key for ddup. up. key Cluster Definition 

The data definition of a work area for PCLn is specified in separate programs which comply with fixed naming conventions. They are defined as INCLUDE programs (RPCnxxy0). The following naming convention applies: n = 1 or 2 (PCL1 or PCL2) xx = Relation ID (e.g. RX)   y = 0 ffor or international clusters or country indicator (T500L) for different country cluster  

73

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Payroll is used to calculate the remuneration for work done for each employee. SAP Payroll delivers powerful and efficient gross-to-net, net-to-gross, regular and off-cycle  payroll processing. SAP's complex Payroll process handles everything including vacation policies, compensation programs, work schedules, Holidays, overtime pay etc. SAP's ESS (Employee Self Service) function allows employees to view, create and maintain data anytime, anywhere, via Web-based technology and interactive voice response functionality. ESS is an effective means for providing real-time access and data maintenance capabilities to the source or owner of the data. 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, payroll, benefits and purchasing departments. Payroll accounting calculates the payment of work done by an employee. Payroll function does the following: • • • •

Compute employees gross salary   Make necessary deductions   Calculate Net salary  Generate Checks or direct deposits.  

Payroll components include:  •

Payroll area - groups employees employees based on the frequency of their paydates. eg. Z1



for salaried staff paid monthly. Control Record - It determines the current payroll period for a payroll area. Period Modifier - Period in which payroll accounting is carried out. eg. 10 - for monthly pay periods. Date Modifier - Distinguish Distinguishes es periods with same frequency but different date.



Payroll Calendar - Generating calendars for cumulating wage types to get

• •











Eg. 10 - for monthly pay period but with the pay date being 5th of every month.

monthly, quaterly or yearly sum totals. Payscale type - used for segregation of employees payscales based on the type of union contracts in a company. Eg. 10 - non union workers 20 - collective agreement for secretaries contract. Payscale area - Differentiates payscales based on geographical area. Eg. 10 California. Payscale group - Differentiates employees payscales based on functionality. Eg. GR01 - grouping for junior clerks, GR02 - for senior clerks. Payscale level - Subdivision of employees employees payscales. Eg. L1 - level 1 clerk, L L22 level 2 clerk. Wage types - The payments and deductions for an employee are coded as wage types. Eg. A001 - salary payment, B001 - 401K deduction. 74

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Payroll Infotypes: Payroll data is stored in various infotypes infotypes,, which includes, 0001,

0007, 0008, 0009, 0207, 0208, 0209, 0210, 0234. These infotypes maintain personal details, payment and deduction info, benefits data, garnishment data, tax data, 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 

75

Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __





Broadly speaking, payroll accounting is the calculation of payment for work  performed by each employee. employee. More specifically, however, however, payroll accounting comprises a number of work processes including the generation of payroll results and remuneration statements, bank transfers and check payments. Payroll accounting also includes a number of subsequent activities: transfer of payroll results to Accounting various evaluations, such as evaluating the payroll account. etc. 

• •



76

76 Document by:- Amar Chintam

 

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, deductions, which are calculated for an employee during a  payroll period. These These payments and deductions deductions are included in th thee 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 for the employee.  • •





77 Document by:- Amar Chintam

 

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. Payments such as basic pay, various  bonuses and gratuities gratuities are included in the rem remuneration uneration calculation. Deductions Deductions can  be made for items such as a company-owned fl flat, at, company-spon company-sponsored sored day care or similar benefits. Different factors determine whether such benefits increase or reduce the taxable income. This is determined by country-specific regulations and, in some countries, the philosophy of the company. An employee's remuneration consists of all wage types calculated for him or her during a payroll period.

78 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __





Voluntary and statutory deductions, such as tax and social insurance contributions, are taken from the gross calculation to determine the payment amount. Different gross values, for example, total gross amount, and gross tax amount, are used to calculate the deductions. For this reason, different totals are formed during the payroll run, and these totals are be used for subsequent processing processing..

The Payroll Run steps

79 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __









The payroll program is usually run separately for different employee groups. A typical example is that of salaried employees and hourly employees, for whom  payroll is performed performed using two ddifferent ifferent payroll peri periods. ods. The payroll area determ determines ines when payroll is run. The payroll area serves two functions, both of which are prerequisites for runnin runningg the  payroll. The payroll area area groups together ppersonnel ersonnel numbers numbers that must be pro processed cessed in the same payroll run The payroll area determines the payroll period. Employees for whom payroll is performed at the same time and for the same payroll  period are assigned to the the same payroll area. Personnel numbers numbers are assigned to a  payroll area in the Organizational Organizational Assignment in infotype fotype (0001 (0001). ). 

80 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __







The personnel numbers to be included in the payroll run are selected by specifying a  payroll area in the payroll payroll driver selection screen. The payroll payroll period is trans transferred ferred directly from the payroll control record to the payroll program. In a live run, the payroll period is determined by the system. The last period to be included in a payroll run is stored in the payroll control record for each payroll area. The current  plus one. payroll period is, therefore, the last period to be included in a payroll run, Hint: Payroll driver should be started by Personnel Number or Payroll Area only. 

81 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __



• •





The structure of PCLn database tables provides a basic structure for individual subareas. The name of each subarea must include a two-character cluster name or relation ID. A key structure must also be defined; 40 bytes are available in field SRTFD for this  purpose. In the international payroll results, for example, the field RELID contains the cluster name RX and the field SRTFD contains the eight-digit personnel number number as well as a five-digit sequence number for each individual payroll result for a payroll period. To enable the import of a record from a PCLn database table, the RELID field must contain the cluster identifier and the SRTFD field must contain the cluster key. The fields CLIENT and SRTF2 are filled by the system.

82 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __



If data is imported using macros, the data records are not read directly from table



ory PCLn. buffer with directory is checked determine therecord main is mem alreadyInstead, containsthe a record the same key. Iftothis is not thewhether case, the read from PCLn to the buffer, and retrieved from the buffer by the report. If data is read using a buffer, the system checks the cluster authorization. The standard import programs follow the RPCLSTxy naming convention, where xy = cluster name. 

83 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __



• •

With this report, you can display the payroll results for any country. The indicator  behind each name shows whether 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. Each payroll has a status A = resultCurrent resultindicator:  

P O

= =

Previous result All other results

84 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __











The payroll driver, RPCALCn0, uses HR data (stored in the database tables PAnnnn) and the last payroll result (stored in the database table PCL2) P CL2) to run the payroll for the specified period The program (payroll driver) imports the processing logic logic in the form of a schema. The schema contains functions that call the subroutines contained in the payroll driver. In many cases, the function is enhanced by rules for specific control of the subroutines. The payroll result generated by the payroll driver is stored in cluster xy of the database table PCL2. Report H99_DISPLAY_PAYRESULT displays the payroll results for PCL2 and, a nd, from Release 4.6C, replaces reports RPCLSTxy and HxyCLSTR. The report is used in all country c ountry versions and the overview of payroll results is automatically displayed according to the particular country. Report RPCEDTn0, for example, lists the formatted result as a payroll form (n = HR country indicator from table T500L).

85 Document by:- Amar Chintam

 

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, you will be able to: •

Read the cluster directory with CU_READ_RGDIR.



Process the cluster directory with CD_READ_LAST.



Read the payroll result with PYXX_READ_PAYROLL_RESULT.



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. Write a report to import the results of international payroll to cluster RX and then display them. The report should evaluate the last payroll result for the for-period. Test your  program using using the personnel nnumber umber assigned by your trainer. The created list should contain the following information for each employee: 1st line:

- Personnel number - Name - Personnel area

2nd line:

- For-period - For-payroll area

3rd line:

- In-period - In-payroll area

4th line:

- Wage type - Wage type text - Amount

86 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __





Take the name of the employee from the field P0001-ENAME.  The information on the period and payroll area can be found in the fields for the field string VERSC, which is a structure in cluster RX. First use function module CU_READ_RGDIR  to read table RGDIR from cluster determin the spequential number for the last transferCU. tableTo RGDIR to function module CD_READ_LAST . payroll result,





Then read the payroll result for the sequential number you have determined using the function module PYXX_READ_PAYROLL_RESULT. The wage types and amounts are saved in table RT. The text belonging to the wage types can be found in table T512T. Only display the first 15 characters of the employee name.

REPORT zpsol080. TABLES: pernr, t512t. "Wage type texts INFOTYPES: 0001. "Organizational Assignment *Table data containing directory to PCL2 payroll results file DATA: BEGIN OF rgdir OCCURS 100. INCLUDE STRUCTURE pc261. DATA: END OF rgdir. DATA: result TYPE pay99_result. DATA: rt_header TYPE LINE OF hrpay99_rt. DATA: country LIKE t001p-molga, number LIKE pc261-seqnr. "Number of last payroll result GET pernr. rp_provide_from_last p0001 space pn-begda pn-endda. CALL FUNCTION 'CU_READ_RGDIR' EXPORTING persnr = p0001-pernr IMPORTING molga = country TABLES in_rgdir = rgdir EXCEPTIONS no_record_found = 1 OTHERS = 2. IF sy-subrc = 1. WRITE: / 'No records found for '(001), pernr-pernr. ENDIF.

87 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

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. IF sy-subrc = 1. WRITE: / 'No payroll result found for'(002), pn-paper. ELSE. CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT' EXPORTING clusterid = 'RX' employeenumber = p0001-pernr * * * * * *

sequencenumber = READ_ONLY_BUFFER = ' ' READ_ONLY_INTERNATIONAL = ' ' CHECK_READ_AUTHORITY = 'X' IMPORTING VERSION_NUMBER_PAYVN = VERSION_NUMBER_PCL2 = CHANGING payroll_result = EXCEPTIONS illegal_isocode_or_clusterid = error_generating_import = import_mismatch_error = subpool_dir_full = no_read_authority = no_record_found = 6 versions_do_not_match = OTHERS = 8.

number

result 1 2 3 4 5 7

IF sy-subrc = 0. PERFORM print_rx. ELSE. WRITE: / 'Result could not be read (003). ENDIF. ENDIF. *-----------------------------------------------------------* * FORM PRINT_RX * *-----------------------------------------------------------*

88 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ * Print Payroll Result * *-----------------------------------------------------------* FORM print_rx. FORMAT ON. WRITE: INTENSIFIED / p0001-pernr, p0001-ename(15), p0001-werks, p0001-btrtl. FORMAT INTENSIFIED OFF. SKIP 1. WRITE: / 'For period/payroll area: '(004), 30 result-inter-versc-fpper+4(2), result-inter-versc-fpper+0(4), result-inter-versc-abkrs, / 'In-period/payroll area: '(005), 30 result-inter-versc-inper+4(2), result-inter-versc-inper+0(4), result-inter-versc-iabkrs. SKIP 1. WRITE: 'Results table: '(006). SKIP 1.

LOOP AT result-inter-rt INTO rt_header. PERFORM re512t USING result-inter-versc-molga rt_header-lgart. WRITE: / rt_header-lgart, T512T-LGTXT, rt_header-betrg CURRENCY rt_header-amt_curr. ENDLOOP. ENDFORM. *-----------------------------------------------------------* * FORM RE512T * *-----------------------------------------------------------* * Read Wage Type Texts *-----------------------------------------------------------* FORM re512t USING value(country_grouping) value(wtype). CHECK t512t-sprsl NE sy-langu OR OR t512t-molga t512t-lgart NE NE country_grouping wtype. SELECT SINGLE * FROM t512t

89 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ WHERE sprsl EQ sy-langu  AND molga EQ country_gr country_grouping ouping  AND lgart EQ wtype. wtype. IF sy-subrc NE 0. CLEAR t512t. ENDIF. ENDFORM. *END* ----------------------------------------------------------------------------------------------------------------------

User Exits

Enhancement PBAS0001 has two function exits. •



Function exit EXIT_SAPFP50M_001 allows customer-specific defaults to be entered in a single screen when infotypes are created or copied. 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. User Exit name: ZXPADU02

REP EPO ORT zue zuexi xi t _ amar _ ar . *( Thi s p prr ogr am when exe xecu cutt ed wi l l gi ve yo you u al l t he user exi t *a *asso ssoci ci at ed *wi t h t he Tco cod de. Cl i ck o on n t he exi t you wi l l be t ake ken n to t he SMODE. *Sell ect t he co *Se com mponent s r adi o b bu ut t on a an nd cl i ck on di sp spll ay. You wi l l be *t ake ken n t o t he f unct i on modul e exi t . Cl i cki ng on t he f unct i on exi t you *wii l l be t ake *w ken n t o t he act ual f unct i on modul e whi ch has t he i ncl ude i n *i t wher e yo you u need t o put t he ext r a co cod de) .

90 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __  TAB ABLES : t s t c, t ad adii r , mod ods s ap aptt , mod odact act , t r di r , t f di r , enl f di r .  TAB ABLES : t s t ct . DATA : j t ab LI KE t ad adii r OCCURS 0 WI TH HEA EAD DER LI NE. DATA : f i el d1( 30) . DATA : v_d _de evcl ass LI KE t adi r - devcl ass. SELECTI SELEC TI ON- SC SCR REEN BEGI N OF BLOCK s el ect i on WI TH FR FRA AME TI TLE t ex extt - z80 z80.. PARAMET PAR ETER ERS S : p_t code LI KE t s t c- t code OBLI GATORY. SELECTI SELEC TI ON- SC SCR REEN EN END D OF BLOCK s el ect i on.

SELECT SELEC T S SII NGLE * FR FRO OM t s t c WHER ERE E t code E EQ Q p_t code. I F sy sy-- su sub br c E EQ Q 0. SELECT SELEC T S SII NGLE * FROM t adi r WHER ERE E p pgm gmi d = ' R3TR 3TR'' AND ob objj ect = ' PR PRO OG' AND obj _ name = t s t c- pg pgm mna. MOVE : t adi r - devcl ass TO v_d v_de evcl ass . I F sy sy-- su sub br c N NE E 0. SELEC SE LECT T SI NGLE * FR FRO OM t r di r WHERE ERE na nam me = t s t c- pg pgm mna na.. I F t rd dii r - s u ub bc E EQ Q ' F' . SELEC SE LECT T SI NGLE * FR FRO OM t f di r WHER ERE E pn pnam ame = t s t cpgmna. SELECT SIncn NGa LE ERE E f uncname = tSELEC f di r -Tf u cna me*. FROM enl f di r WHER SELECT SELEC T SI NGLE * FROM t adi r WHER ERE E p pgm gmi d = ' R3TR 3TR'' AND ob objj ect = ' FU FUG GR' AND ob objj _na _nam me E EQ Q enl enl f di r - ar ea ea.. MOVE : t adi r - devcl ass TO v_d v_de evcl ass . ENDI F. ENDI F. SELEC SE LECT T * FR FRO OM t ad adii r I NTO TA TAB BLE j t ab WHERE pgmi d = ' R3TR R3TR'' AND obj ect = ' SMOD' AND de devcl vcl ass = v_de v_devcl vcl ass ass..

91 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ SELEC SE LECT T S SII NGLE * FR FRO OM t s t ct WHER ERE E spr s l EQ s y- l an angu gu AND t cod code e EQ p_ t cod code. e. FOR FO RMAT C CO OLO LOR R COL_ PO POSI SI TI VE I NTEN TENSI SI FI ED OFF FF.. WRI TE: / ( 19) ' Tr ansa sact ct i on Code - ' , 20( 20) p_t co cod de, 45( 50) t s t c t - t t ext . SKI P. I F NOT j t ab[ ] I S I NI TI AL . WRI TE: / ( 95) sy sy-- ul i ne. FORMAT C CO OL OR C CO OL _ HEAD EADII NG I NTEN TENSI SI FI ED ON. WRI TE: / 1 sy sy-- vl i ne, 2 ' Exi t Name' , 21 s y y-- vl i ne , 22 ' Des c crr i pt i on' , 95 s y y-- vl i ne. WRI TE: / ( 95) sy sy-- ul i ne. LOO LO OP A AT T j t ab ab.. SELECT SELEC T SI NGLE * FROM modsapt WHER ERE E s spr pr s l = s y- l ang angu u A AN ND nam na me = j t ab ab-- ob objj _ na nam me. FORMAT COL OR C CO OL _ NORMAL I NTEN TENSI SI FI ED OFF. WRI TE: / 1 sy sy-- vl i ne, 2 j t ab- obj _ name H HO OTSPOT ON, 21 s yy- vl i ne , 22 mod ods s ap aptt - mod odtt ext , 95 s yy- vl i ne.

ENDL OOP. END WRI TE: / ( 95) sy sy-- ul i ne. DES ESC CRI BE TA TAB BLE j t ab ab.. SKI P. FORMAT C CO OL OR COL _ TO TOTAL TAL I NTEN TENSI SI FI ED ON. WRI TE: / ' No of Exi t s : ' , s yy- t f i l l . ELS LSE E. FOR FO RMAT C CO OL OR C CO OL _ NEG EGATI ATI VE I NTEN TENSI SI FI ED ON. WRI TE: / ( 95) ' No Use serr Exi t exi st s' . ENDI F. ELS LSE E. FORMAT C CO OL OR C CO OL _ NEG EGATI ATI VE I NTEN TENSI SI FI ED ON.

92 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ WRI TE: / ( 95) ' Tr ansac sactt i on Code Does N No ot Exi st ' . ENDI F. AT LI NE- SELE ELEC CTI ON. GET CURSOR FI ELD f i el d1 d1.. CHECK f i el d1( 4) EQ ' J TAB' . SET SE T PA PAR RAMET ETER ER I D ' MON' FI ELD sy- l i sel +1( 10) . CALL TR TRA ANSA SAC CTI ON ' SMOD' AND SK SKII P FI RST SC SCR REEN EEN..

93 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

HR  Transactions Transactions  

 Master Data 

PA1 PA 10

Perr son Pe sonn nel Fi l e

PA20 PA20 PA30 PA 30 PA4 PA 40 PA41 PA 41 PA4 PA 42 PRM PR MD PRM PR MF PRM PR ML PRM PR MM PRM PR MO PRM PR MP PRM PR MS PRMT PSO PS O3 PSO PS O4

Di s pl ay HR Mast er Dat a Mai nt ai n HR Mast er Dat a Perr sonn Pe sonnel el Ev Even entt s Cha hang nge e Hi r i ng Dat a Fast Fa st Dat a Ent r y f or Eve ven nt s Mai nt ai n HR Mas astt er Dat a Tr ave avell Expen Expens s es: Feat ur e TR TRV VFD Sett Cou Se Count nt r y Gr ou oupi pi ng vi a Pop Popup up Perr son Pe sonn nel Eve Even nt s Tr avel Expen Expens s es: Feat F eat ur e TR TRV VCO Tr ave avell Expen Expens s es: Feat ur e TR TRV VPA Di s pl ay HR Mast er Dat a Updat e Mat c hc hcode ode I nf ot yp ype e ov over er vi ew I ndi vi dual mai nt enance of i nf ot yp ype es

Time Management 

PA51 PA51 PA53 PA 53 PA61 PA 61 PA62 PA63 PA 63 PA6 PA 64 PA7 PA 70 PA7 PA 71 PBA PB AB PT01 PT0 1 PT02 PT03 PT0 3

Di s pl ay Ti me Dat a Di s pl ay Ti me Dat a Mai nt ai n Ti me Dat a Li st Ent r y of Ad Addi t i onal Da Dat a Mai nt ai n Ti me Dat a Cal en end dar En Entt r y Fast Dat a En Entt r y Fast En Ent r y of Ti Ti me Dat a Mai nt ai n vacan vacancy cy ass i gn gnm men entt s Cr eat e Wor k Sche Schedu dull e Chang hange e Wor k Schedul e Di s pl ay Wor k Sch Sched edul ul es

Payroll 

PC00 PC0 PC10 PC 10 PE0 PE 00 PE01 PE02 PE0 PE 03 PE0 PE 04 PE51 PRC PR CA PRC PR CT

Run Pa Payr yr ol l Payr ol l menu USA St ar t s Tr an ansact sact i on ons s PE PE0 01, PE PE0 02, PE PE0 03 Schem Sc hemas Cal cu cull at i on Rul es Feat ur es Feat Cr eat e f unct i ons and oper at i on ons s HR f or m edi t or Payr Pa yr ol l cal endar Cur r ent Set t i ngs

94 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ PRC CU PR PRD1 PRD 1 SM31 SM12  TSTC STC SPR0 SE16 PP03 PP0 3 PP0M PP0 M P013 PO03

Pr i nt i ng Che hecks cks USA Cr eat e DME Mai nt ai n Tab Tabll es Locked Lock ed Se Seces ces s i on ons s Tabll e l ooku Tab ookup p I MG Dat a Br owser ( Ta Tab bl e r ep epor or t s) PD Tab Tabll es Cha hang nge e Or g Uni t Mai nt ai n Posi t i ons Mai nt ai n J ob obs s

Benefits 

PA85 PA8 PA8 PA 86 PA8 PA 87 PA89 PA 89 PA90 PA9 PA 91 PA92 PA93 PA9 PA 94 PA9 PA 95 PA96 PA97 PA9 PA 98 PA9 PA 99 PAC PA CP

Ben enef ef i t s - Cal l RPLB RPLBE EN11 Ben enef ef i t s - Cal l RPLB RPLBE EN07 Ben enef ef i t s - Cal l RPLB RPLBE EN09 COBRA Admi ni s t r at i on Benef i t s Enr ol l ment – I ndi vi dual Ben enef ef i t s - Fo Forr ms Benef i t s Tabl es - Mai nt ai n Benef i t s Tabl es - Di sp spll ay Benef i t s - Acce Access ss Repor t i ng Tr ee Ben enef ef i t s I MG - J ump t o Vi ews Benef i t s r epor t i ng Sal ar y Admi ni st r at i on - Mat r i x Sal ar y Admi ni st r at i on Compen ensat sat i on Admi n. - r el . cha chan nges HR- CH: Pen Pensi si on f und, i nt er f ace

Payroll 

PC0 00 Run ol Payr Pa olenu l PC PC10 10 Payr lyr m USA PE0 PE 00 St ar t s Tr an ansact sact i on ons s PE PE0 01, PE PE0 02, PE PE0 03 PE01 Schem Sc hemas PE02 Cal cu cull at i on Rul es PE0 PE 03 Feat ur es Feat PE0 PE 04 Cr eat e f unct i ons and oper at i on ons s PE51 HR f or m edi t or PRC PR CA Payr Pa yr ol l cal endar PRC PR CT Cur r ent Set t i ngs PRC PR CU Pr i nt i ng Che hecks cks USA PRD1 PRD 1 Cr eat e DME SM31 Mai nt ai n Tab Tabll es Lock Seces cesps i on ons s  SM TSTC S12 TC Locked Tabll ed Tab e l Se ookup ooku SPR0 I MG

95 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ SE16 PP03 PP0 3 PP0M PP0 M P013 PO03

Dat a Br owser ( Ta Tab bl e r ep epor or t s) PD Tab Tabll es Cha hang nge e Or g Uni t Mai nt ai n Posi t i ons Mai nt ai n J ob obs s

Benefits 

PA85 PA8 PA8 PA 86 PA8 PA 87 PA89 PA 89 PA90 PA9 PA 91 PA92 PA93 PA9 PA 94 PA9 PA 95 PA96 PA97 PA9 PA 98 PA9 PA 99 PAC PA CP

Ben enef ef i t s - Cal l RPLB RPLBE EN11 Ben enef ef i t s - Cal l RPLB RPLBE EN07 Ben enef ef i t s - Cal l RPLB RPLBE EN09 COBRA Admi ni s t r at i on Benef i t s Enr ol l ment – I ndi vi dual Ben enef ef i t s - Fo Forr ms Benef i t s Tabl es - Mai nt ai n Benef i t s Tabl es - Di sp spll ay Benef i t s - Acce Access ss Repor t i ng Tr ee Ben enef ef i t s I MG - J ump t o Vi ews Benef i t s r epor t i ng Sal ar y Admi ni st r at i on - Mat r i x Sal ar y Admi ni st r at i on Compen ensat sat i on Admi n. - r el . cha chan nges HR- CH: Pen Pensi si on f und, i nt er f ace

General/Reporting 

PM00 PM01 PRF0 PR F0 PSVT PSV T PAR PA R1 PAR PA R2

Menu f or HR Repor t s Di al ogs i n HR - Cr eat e cu cust st om i nf ot yp ype es St an and dar d For m Dynami c Tool s Menu Fl ex exii bl e empl oy oyee ee dat a Empl oy oyee ee l i st

PD - Organizational Management 

PP0M Cha PP0M hang nge e Or g Uni t PO03 Mai nt ai n J ob obs s PO13 Mai nt ai n Po Posi si t i on PO10 Mai nt ai n Or gani zat i onal Uni t PP0 PP 01 Mai nt ai n Pl an Dat a ( men enu u- gui de ded d) PP0 PP 02 Mai nt ai n Pl an Dat a ( Open en)) PP0 PP 03 Mai nt ai n Pl an Dat a ( eve ven nt - gui ded) PP05 PP 05 Number Ranges PP06 Number Range Mai nt enanc enance: e: HR HRADATA PP07 Tasks/ Descr i pt i ons Ta PP6 PP 69 Choose Tex extt f or Or gani zat i onal Un Uni t PP PP9 90 PPO 1 PPO PP O2

S Up gan ani Cet hang ha nge e O Cros ost t iCen Czat entt ieronAs s i gn gnm men entt Di spl ay Cost Cen entt er Ass i gnmen entt

96 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ PPO O3 PP PPO PP O4 PPO PP O5 PPO PP O6 PPO PP OA PPO PP OC PPOM PPO PP OS PQ01 PQ02 PQ03 PQ04 PQ06 PQ07 PQ08 PQ09 PQ10 PQ11 PQ12 PQ13 PQ14 PQ15 PQ 15 PSO PS O5 PSOA PSO PS OC PSOG PSOI PSO PS OO PSO PS OS PSO PS OT

Chan ang ge Rep epor or t i ng St r uct ur e Di spl ay Repor t i ng St r uct ur e Chan ang ge Obj ect I ndi cat or s ( O/ S) Chan ang ge Obj ect I ndi cat or s O/ S Di spl ay Menu I nt er f ace ( wi t h dyn yn.. ) Cr eat e Or gani zat i onal Uni t Mai nt ai n Or gani za zatt i onal Pl an Di spl ay Or gani zat i onal Pl an Event Eve nt s f or Wor k Cen entt er Eve ven nt s f or Tr ai ni ng Pr ogr am Eve ven nt s f or J ob Even Ev entt s f or Busi ness Ev Even entt Typ Type e Locat i on Ev Even entt s Resour ce Even Eventt s Eve ven nt s f or Ext er nal Pe Perr son Even Ev entt s f or Busi ness Ev Even entt Gr ou oup p Eve ven nt s f or Or gani za zatt i onal Un Uni t Event s f or Qual i f i ca catt i on Resour ce Typ Type e Even Eventt s Eve ven nt s f or Posi t i on Even Ev entt s f or Ta Task sk Event s f or Compan pany y PD: Admi ni st r at i on Tool s Wor k Cen entt er Rep epor or t i ng J ob Rep epor or t i ng Or gManag anagem ement Gener al Repor Repor t i ng Tool s I nt egr at i on PA- PD Or gani zat i onal Uni t Repor t i ng Posi Po si t i on Repor t i ng Tas Ta s k Rep epor or t i ng

Recruitment 

PB10 PB2 PB 20 PB3 PB 30 PB4 PB 40 PB50 PB60 PB8 PB 80 PBA PB A0 PBA PB A1 PBA2 PBA PB A3

I ni t . ent r y of ap appl i ca can nt mast er dat a Di spl ay ap app pl i can cantt mast er dat a Mai nt ai n ap app pl i can cantt mast er dat a Appl i can cantt ev even entt s Di sp spll ay appl i ca can nt act i ons Mai nt ai n appl i ca can nt act i ons Eval Ev al uat e va vacan canci ci es Eval Ev al uat e ad adve verr t i semen entt s Appl i can cantt i ndex Li st of appl i ca catt i ons Appl i ca can nt va vaca can ncy ass i gnment l i st

PBA4

Rece ceii pt of appl i ca catt i on

97 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __ Useful programs for Schemas and PCRs

RPUCTF00

Chan ang ge At At t r i but es f or Sche chem mas and and PCR PC Rs ( chan change ge owne nerr )

RPU PUC CTI 00

Li st s ot he herr Li st s whi ch

RPU PUC CTJ 00 RPU PUC CCOSE RPUCTX00 RPUSCD10 RPU PUC CTC TC0 00

Sub Su bsche schem mas not not cal l ed up i n an any y s chema Per so Per son nnel Cal cu cull at i on Rul es ar e no not ca call l ed up

Sou ourr ce t ex extt sear ch i n PC r ul es Copy Pe Per son sonn nel Cal cu cull at i on Rul es f r om cl i ent 000 t o ot her cl i ent s Sch che ema di r ect or y – usef usef ul af t er LC LCP P t o see change changed d schemas, al s o shows who chan change ged d i t l ast an and d whe hen n Di spl ay ays s PC PCR Rs f ul l sou sourr ce t ex extt

 Ti me Man anag agem emen entt   TA10 10 Di s pl ay Leave Quo uott as RPTQTA RPTQTA TA00 00

Bul k Leave Quot as Upd pdat at e  Tr an ans s f er of Remai ni ng Leave f r om RPTLEACONV I nf ot yp ype e 00 0005 t o I nf ot yp ype e 20 2006 Wage Typ ype e Ut i l i t i es  

RPU12 U12W W0C RP

RPU12 RP U12W W0S RPU PU99 99U U0V RPU5XX0D

( HR ut i l i t y 51 512W- cl asse sses) s) al l ows you you t o r el oad back cku ups of of sp spe eci f i c pr oce cessi ssi ng cl asses, cu cum mul at i ons and eval uat i on cl asse sses s cr eat ed wi t h RPU12W0S i n T512W RPU12W Cr ea eatt es a backup backup of T5 T51 12W i n T T5 599U or r el oads t he ba backup ckup i nt o T51 T512W 2W. Di s pl ays T59 T599U 9U Gener i ca call l y del et es en ent r i es i n T599U,  T512 512W W or T5 T512 12T T

Ot her Usef ul pr og ogrr ams   RSHOWTI M

Di sp spll ays t i ps an and t r i ck cks s f or ABAP Pr ogr ammi ng

RSANAL00 RSA SAB BAPI V

Pr og ogrr am an anal al ysi s Li s t s al l ABAP comman ands ds

98 Document by:- Amar Chintam

 

Programming in Human Resource

 _______________  _______ _______________ _______________ ________________ _______________ _______________ ________________ _______________ _________ __

LBII SC RCCLB RPUTRBK0 RPUEUSUP RPUDEL20 RPD PDSY SYS0 S00 0 RSBDCSUB RSUSR006 RSPARAM RPA PAB BRI DD RPUPROTU RPI NCL10 RPC PCII FU FU03 03 RPLTE PLTEM MV0

Di sp spll ay co con nt ent s of l ogi ca call f i l ename Updat es i nf ot yp ype e 00 0003 dat es af af t er dat a t r ansf er Act i vat e Addi t i onal Act i ons i nf ot ype 0302 Del et es pa payr ol l r esu sull t s ( be ca carr ef ul !) Di s pl ay Sys Sys t em Documen entt at i on Rel ease bat chch- i nput sessi ons aut omat i cl y Li st user user s l ast l ogi n Di sp spll ay al al l i nst ance par amet er s Del et es dat a i n payr ol l i nf ot yp ype es mai nt ai n/ del et e t he l og of r epor t starts Us e RPI RPI NCL10 t o sear ch t hr ou ough gh ABAP sour ce code Mov ove e Tem TemSe Un Uni x f i l e ( e. g. BACS t r ans f er ) t o PC f i l e Fi l e t r an ans s f er bet bet wee een n Te Tem mSe an and d di s c

99 Document by:- Amar Chintam

 

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 d o this document: www.planetsap.com   www.planetsap.com www.atomhr.com www.atomhr.com   www.sap-img.com  www.sap-img.com  www.abaptools.com   www.abaptools.com The online help of SAP was also used to do this document. The following tools were used to do this document: Snagit Smart draw Mspaint

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close