Overview of ABAP HR Programming

1. 2. 3. 4. 5. 6. Overview & Features in HR Programming and Difference from conventional ABAP Concepts of Infotypes (Structure/Processing etc.) Concepts of Clusters (Import/Export etc.), cluster directory Concepts of Macros (Import/Export etc.) Retrieval of data using LDBs (PNP/PAP/APP/PCH) Overview of PA/PD/& Integration between PA & PD

Overview & Features in HR Programming and Difference from conventional ABAP
The aim in the Human Resources component is to be able to process employee related data according to business requirements in an effective structure. The Human Resources module uses a system of data grouped together called infotypes. Infotypes mirror a quantity of connected data records; infotypes are identifiable through a four character numerical string [e.g. infotype Addresses (0006)] and a complete listing is included. You can save the infotypes as time-dependent to enable a retroactive evaluation of Employee data. The infotypes appear as an entry screen for the user, through which you can maintain infotype records. Infotypes can be processed individually or in fast entry mode. Difference from conventional ABAP Advanced Business Application Programming ABAP is SAP's fourth generation language. All of R/3's applications and even parts of its basic system are developed in ABAP. ABAP is used for customization and modification of SAP applications. In HR ABAP use of select statements significantly less than in other areas of ABAP development, Logical databases have limited applications in other modules but are very useful in HR. Also, you really need to understand the infotype time constraint concept, When you cannot get the information that you need out of the logical DB look at the function modules starting with HR* and RH*. These function modules will provide you with multiple ways of accessing data to save time. Worst-case scenario, use a select statement.

Concepts of Infotypes (Structure/Processing etc.)
Infotypes: An infotype represents a group of related data fields, provides information structure, facilitates data entry, and allows time dependent storage. In other words we can say infotypes are information units used to enter the time dependent data of the employee. Master data in HR is stored in infotypes. Each infotype pertains to a specific type of data. Each infotype has a database table associated with it. 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 number are infotypes 0000 Actions, 0001 Organizational Assignment, 0002 Personal Data, and 0003 Payroll Status. Transparent tables for infotype Each infotype has a transparent table. Each logical field for an infotype has a corresponding physical field on the database. One physical table is stored on the database for each transparent table. The names of the physical table and logical table definition in the Dictionary are compatible. The following naming convention applies to infotype tables; nnnn stands for the infotype number:

  

PAnnnn for transparent tables in Personnel Administration PBnnnn for transparent tables in Recruitment HRPnnnn for transparent tables in Personnel Planning

Example: For Infotype 0000, the corresponding database table associated with it is PA0000 Check and Control Tables for HR Infotypes

   

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 store the names of all infotypedependent repository objects (tables, structures, programs, and so on). Table T77ID Infotypes: Enhancements to T777D is simply an enhancement of table T777D 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 Settings is used for customer settings in planning infotypes.

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 differen t 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 example, the child number in infotype 0021 Family/Related Person. 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 - the data record. ENDDA: end date. BEGDA: start date. 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.

Structure: The Data Dictionary contains a Pnnnn structure for each infotype nnnn. The infotype structure Pnnnn corresponds to the table PAnnnn. The Pnnnn structure of the infotype is used as the field structure for the infotype entry screen (Transaction code PA30). Basic form of an infotype: Infotypes nnnn [name c] [occurs m] [mode n] [valid from comp1 to comp2]. nnnn can be 0000 to 9999. 0000 – 0999 are HR Master Data infotypes. 1000 – 1999 are HR Planning data infotypes. 2000 – 2999 are HR time data infotypes. 3000 – 8999 are not used 9000 – 9999 are used for the custom infotypes Effect of the above syntax is It creates an internal table as below... DATA BEGIN OF c OCCURS m. INCLUDE STRUCTURE Pnnnn. DATA END OF c VALID BETWEEN comp1 AND comp2

   

If name option is not given in the syntax then the internal table will be created with the name p<nnnn> If occurs clause in not given then the size of an internal table would be 10 * size of the structure pnnnn. That is in the place of „m‟ it would be 10. If valid clause is not given then the comp1 and comp2 values will be 01/01/1800 and 31/12/9999 respectively. Mode n this clause can only be used with the LDB‟s PCH and PNP. This addition stops this infotype being automatically filled at the GET PERNR command.

The infotype records can be processed using the infotype structure when the report is run. Processing Infotypes Processing Single Infotype Record We can process the Single records of an infotype using the following macros. 1.RP_PROVIDE_FROM_LAST Pnnnn SPACE PN-BEGDA PN-ENDDA. This macro is used to retrieve the most recent record in the PN-BEGDA and PN-ENDDA data selection period available in the structure Pnnnn for infotype nnnn 2. RP_PROVIDE_FROM_FIRST Pnnnn SPACE PN-BEGDA PN-ENDDA This macro retrieves the earliest record for the given selection period. If the infotype has subtypes, then replace SPACE with the subtype so, the data is retrieved based on that subtype. If the retrieval is successful then the return code PNP-SW-FOUND will be „1‟. Processing All Infotype Records

Infotype List Concepts of Clusters (Import/Export etc.Syntax: PROVIDE * FROM Pnnnn BETWEEN PN-BEGDA AND PN-ENDDA.). cluster directory Definition . The relationship between the data and the selection period is established using the PN-BEGDA and PN. ENDPROVIDE nnnn stands for 4-digit infotype number.ENDDA variables.

. RD. Export Cluster data using the macro    Export data using macro RP-EXP-Cn-xy. or read these from the database. field strings. The cluster definition is integrated with the INCLUDE statement.. * Export record EXPORT TABLE1 TO DATABASE PCLn (xy) ID xy-KEY. Cluster objects RX. B2 can be selected for the database PCL2. Contains information from time data recording. for example. REPORT ZHREXPRT. INCLUDE RPPPXD10. * Fill data object . Import/Export files They are 4 types of files. . TABLES: PCLn. with the type Import/Export file consists of related areas. PCL3: Contains Applicant Data PCL4: Contains change documents for HR master data and recruitment. RX. These areas are known as clusters. use the PREPARE_UPDATE routine with the USING parameter 'V'. PCL2: Contains derived information like payroll results and generated payroll schemas. INCLUDE RPPPXM00. REPORT ZHREXPRT. When data records are exported using macro. Data is read from and written to the database using a unique key. PCL1 or PCL2. ENDIF. "Cluster definition * Fill cluster KEY xy-key-field = <value>. RMAC provides two macros for importing and exporting data RP-IMP-Cn-xx and RP-EXP-Cn-xx. Export Cluster data using standard include   The EXPORT command causes one or more 'xy' KEY data objects to be written to cluster xy. Cluster objects are dependent on the super ordinate database object. ENDIF. IF SY-SUBRC EQ 0. INCLUDE: RPCnxxy0. WRITE: / 'Update successful'. or internal tables on the database. Importing and Exporting of data is managed with the commands IMPORT and EXPORT These commands store objects such as fields. .     PCL1: Basis for HR Work area data. they are not written to the database but to a main memory buffer... only these macros should be used. RD. If the database object has the type master data then there will be no cluster object. IF SY-SUBRC EQ 0. *Buffer definition INCLUDE RPPPXD00. RP-EXP-Cn-xy. "Buffer management DATA: BEGIN OF COMMON PART 'BUFFER'. DATA: END OF COMMON PART 'BUFFER'.. To save data. PERFORM PREPARE_UPDATE USING ‘V’.Each database object. for example.

Cluster Authorization Simple EXPORT/IMPORT statement does not check for cluster authorization. it is 4. Importing Cluster data using Macro    Import data using macro RP-IMP-Cn-xy. *Buffer management routines INCLUDE RPPPXM00. * Display data object ENDIF. DATA: BEGIN OF COMMON PART 'BUFFER'.Country identifier. if not. How to read the Payroll Results  Payroll results are stored in cluster Rn of PCL2 as field string and internal tables.. REPORT RPIMPORT.   Standard reports read the results from cluster Rn.Importing Cluster Data using standard include   The IMPORT command causes data objects with the specified key values to be read from PCLn. Report RPCEDTn0 lists the results on a payroll form. Need include buffer management routines RPPPXM00 Example REPORT RPIMPORT. INCLUDE RPPPXD10. n . Check return code SY-SUBRC. "Cluster definition * Fill cluster Key * Import record IMPORT TABLE1 FROM DATABASE PCLn (xy) ID xy-KEY. IF SY-SUBRC EQ 0. *Buffer definition INCLUDE RPPPXD00.. INCLUDE RPCnxxy0. Use EXPORT/IMPORT via buffer. If the import is successful. DATA: END OF COMMON PART 'BUFFER'. SY-SUBRC is 0. The cluster definition of payroll results is stored in two INLCUDE reports: . *Import data to buffer RP-IMP-Cn-xy. . error. Report RPCLSTRn lists all payroll results. it is successful. If 4. If 0. the buffer management routines check for cluster authorization. TABLES: PCLn..

  include: rpc2rx09. Reading records from the Payroll directory After importing the payroll directory.previous result 'A' . Example REPORT ZHRIMPRT. *Key definition DATA: BEGIN OF RX-KEY. .”Definition Cluster Ru (II) This first INCLUDE defines the country-independent part. *Import cluster Directory CD-KEY-PERNR = PERNR-PERNR. LOOP AT RGDIR. DATA: END OF RX-KEY. *Payroll directory DATA: BEGIN OF RGDIR OCCURS 100. which record to read is up to the programmer  Each payroll result has a status. PCL1.current (actual) result 'O' . "Definition Cluster Ru (I) include: rpc2ruu0. UNPACK RGDIR-SEQNR TO RX-KEY-SEQNO.old result  Function module CD_EVALUATION_PERIODS will restore the payroll result status for a period when that . you need two keys: pernr and seqno You can get SEQNO by importing the cluster directory (CD) first. PCL2. CHECK SY-SUBRC = 0. How to retrieve Payroll results   To read payroll results. The structures for cluster definition comply with the name convention PCnnn Unfortunately 'nnn' can be any set of alphanumeric characters.. This allows you to use the same structures in different definitions and nonetheless maintain data consistency. 'P' . ENDLOOP. RX-KEY-PERNR = PERSON. INCLUDE STRUCTURE PC261. RP-INIT-BUFFER.. INLCUDE: rpc2cd09. DATA: END OF RGDIR. RP-IMP-C2-CU. "Definition cluster CD PARAMETERS: PERSON LIKE PERNR-PERNR. TABLES: PERNR. The cluster key is stored in the field string RX-KEY. the second INCLUDE defines the country-specific part (US).    All the field string and internal tables stored in PCL2 are defined in the ABAP/4 dictionary. INCLUDE STRUCTURE PC200. *Import data from PCL2 RP-IMP-C2-RU.

Example Call function 'CD_EVALUATION_PERIODS' exporting bonus_date = ref_periods-bondt inper_modif = pn-permo inper = ref_periods-inper pay_type = ref_periods-payty pay_ident = ref_periods-payid tables rgdir = rgdir evpdir = evp iabkrs = pnpabkrs exceptions no_record_found = 1. Authorization Check Authorization for Persons    In the authorization check for persons. Macro is module. It also will select all the relevant periods to be evaluated. it may be useful to deactivate the authorization check in order to improve performance. the system determines whether the user is authorized to read the infotypes specified in the report.) Macros: Introduction Programs that process the cluster data (for example. (E. when running payroll) You can store this information in the object 'HR: Reporting'.g. which is stored Naming Conventions of Macro: . which it will be useful for number of applications.payroll is initially run. The data is accessed using a defined interface created with macros. If the authorization for a particular infotype is missing. the evaluation is terminated and an error message is displayed. RX) do not access the cluster independently. Authorization object: 'HR: Master data' Authorization for Data   In the authorization check for data. Macro contains some part of source code. Concepts of Macros (Import/Export etc. Recruits for which the user has no authorization are skipped and appear in a list at the end of the report. the system determines whether the user has the authorizations required for the organizational features of the employees selected with GET PERNR. Deactivating the Authorization Check   In certain reports.

The macro RP-PROVIDE-FROM-LAST retrieves the last (latest) data record. Macros can also be defined as RMAC macros. If a macro is used in a report. which is valid in the data selection period. whether the operation was successful or not will be checked with PNP-SW-FOUND.RP-aaa-bb-cc    aaa is the type of Macro. which is valid in the data selection period. According to conventions. which is valid in the data selection period. The rest of the name is freely definable. and the macro is defined in include with the DEFINE command. include must be integrated. The macro RP-READ-INFOTYPE retrieves the data record(s). . the first two letters of the name must stand for the application. The source code of these modules is stored in the function section of the control table TRMAC. When you change a RMAC macro in the table TRMAC. each report using this macro is automatically regenerated when it is executed. It takes two values o IMP Import Macro o EXP Export Macro bb is the Database table where the data is saved: o C1 Database object PCL1 o C2 Database object PCL2 o C3 Database object PCL3 o C4 Database object PCL4 Cc is the cluster. END-OF-DEFINITION. The coding is grouped under a specific name in the table key. the reports that use this macro are not regenerated automatically. How to check whether the macro operation is successful or not For every macro. A macro can be used within a report or within include. Difference between the two methods is:   If a macro is changed. If PNP-SW-FOUND = 1. Standard HR Macros    The macro RP-PROVIDE-FROM-FRST retrieves the first (start) data record. Defining and Calling the Macros Defining: There are two options for defining the Macros   Macros are defined using the ABAP Commands DEFINE…. then the operation is successful. You must regenerate them manually. it may take o RX Cluster object RX o RD Cluster object RD o B2 Cluster object B2 and so on.

This macro is only helpful if the infotype has time constraint 1 or 2.Where exactly the Macrocode is stored The program code pertaining to this macro is stored in the control table RMAC Guidelines for how and when to use the Standard Macros 1. The matching table header entry if PNP-SW-FOUND = 1 orthe initial table header entry if PNP-SWFOUND = 0 Name of the internal table Subtype required or SPACE if no subtype is being specified Validity start date of the time interval Validity end date of the time interval Example (RP_PROVIDE_FROM_FRST inftytab subty beg end) RP_PROVIDE_FROM_FIRST P0021 '1' PN-BEGDA PN-ENDDA. . 4. Parameters RP_PROVIDE_FROM_FRST inftytab subty beg end IN: 1. Prerequisites    The validity begin date of the time period must be before or the same as the validity end date. IF PNP-SW-FOUND EQ '0'. Validity start and end dates are correct (preferably of the type DATE). 2.. PNP-SW-FOUND: has the value 0 if there is no matching entry in the infotype table in the given time period. . The infotype table is sorted in ascending order. assignment is missing' REJECT. Otherwise. WRITE: / 'Error: Org. The infotype table has been filled earlier (for example. IF PNP-SW-FOUND EQ '1'. ENDIF.. RP_PROVIDE_FROM_FRST Use macro RP_PROVIDE_FROM_FRST in programs for the logical databases PNP and PAP where the first data record for a period (can be a subtype) is read from an infotype table. ENDIF. or RP_PROVIDE_FROM_FRST P0001 SPACE PN-BEGDA PN-ENDDA. OUT: 1. 3. 2. Otherwise it has the value 1. with GET PERNR or RP_READ_INFOTYPE). Features The first entry for a specified period is placed in the table header entry from an internal infotype table. you would receive the first fitting table entry that might not necessarily correspond to the first time entry.

an . IF PNP-SW-FOUND EQ '0'. WRITE: / 'Error: Org. You can also use it in function modules. 2. you would receive the last fitting table entry that might not necessarily correspond to the last time entry. ENDIF. Parameters RP_PROVIDE_FROM_LAST inftytab subty beg end IN: 1. 2. The infotype table is sorted in ascending order. Otherwise. Features The macro RP_PROVIDE_FROM_LAST makes sure that the last entry for a specified period is placed in the table header entry of the report output list. IF PNP-SW-FOUND EQ '1'. RP_READ_INFOTYPE You can use the macro in all programs at any point. Prerequisites    The validity begin date of the time period must be before or the same as the validity end date.. This macro is only helpful if the infotype (or subtype) has time constraint 1 or 2. 3. REJECT. 4. In database PNP. The matching table header entry if PNP-SW-FOUND = 1 or the cleared table header entry if PNP-SWFOUND = 0 Name of the internal table Subtype required or SPACE if no subtype is being specified Validity begin date of the time interval Validity end date of the time interval Example: RP_PROVIDE_FROM_LAST P0021 '1' PN-BEGDA PN-ENDDA. . OUT: 1. The infotype table has been filled earlier (for example.2. 3. ENDIF. assignment is missing'. PNP-SW-FOUND: has the value 0 if there is no matching entry in the infotype table in the given time period. OR RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.. RP_PROVIDE_FROM_LAST You use macro RP_PROVIDE_FROM_LAST in programs for the logical databases PNP and PAP where the last data record for a period (can be a subtype) is read from an infotype table. Otherwise it has the value 1. with GET PERNR or RP_READ_INFOTYPE). Validity start and end dates are correct (preferably of the type DATE).

2. WRITE: / 'Infotype 0001 missing'. containing all matching records for which the user is authorized (this table can also be empty). Prerequisites     The validity begin date of the time period must be before or the same as the validity end date. Using macro P_READ_INFOTYPE is an exception. 5. RP-READ-INFOTYPE PERNR 0001 P0001 BEGDA ENDDA. PNP-SW-FOUND = 0. STOP. PERNR = '12345678'.infotype is usually read with GET PERNR. IF PNP-SW-FOUND EQ '0'. Parameters RP_READ_INFOTYPE pernr infty inftytab beg end IN: 1. Validity begin and end are correct date specifications (preferably of the type DATE). You can also use the function module HR_READ_INFOTYPE. DATA: PERNR LIKE P0001-PERNR. OUT: 1. if there is no matching record in the dataset PNP-SW-AUTH-SKIPPED-RECORD = 0. if the HR authorization check has retained at least one record due to lack of authorization 3. Personnel number of the person requested Infotype number of the required infotype Name of the internal infotype table Validity start date of the time interval Validity end date of the time interval PNP-SW-AUTH-SKIPPED-RECORD = 1 . BEGDA = LOW-DATE + 15 ENDDA = HIGH-DATE . The program using the macro must contain the include DBPNPMAC. WRITE: / 'Insufficient authorization'. 3. if there is no matching record in the dataset PNP-SW-FOUND = 1. if the HR authorization check has not retained any records due to incorrect authorizations. 2.5. The infotype table must match the infotype number. Internal infotype table. ENDDA LIKE P0001-ENDDA. see the documentation on Function Modules. Features The macro RP_READ_INFOTYPE makes sure that all data records for a person for the specified period are placed in an internal infotype table. For information on how to use the function module. Example (RP_READ_INFOTYPE pernr infty inftytab beg end) INFOTYPES: 0001. IF PNP-SW-AUT-SKIPPED-RECORD EQ '1'. RP-LOWDATE-HIGHDATE. DATA: BEGDA LIKE P0001-BEGDA. ENDIF. STOP. . 4.

you can create your own report class through the IMG. INFOTYPES: 0001. Report Class You can suppress input fields. "ORG ASSIGNMENT 0002. which are not used on the selection screen by assigning a report class to your program. SORT function allows you to sort the report data otherwise. Logical database A logical database is a special ABAP/4 program which combines the contents of certain database tables. Standard Selection Screen  Date selection Date selection delimits the time period for which data is evaluated. All the sorting fields are from infotype 0001. HR Logical Database is PNP Main Functions of the logical database PNP:    Standard Selection screen Data Retrieval Authorization check To use logical database PNP in your program. Fill data structures with the infotype records. Create data structures for infotypes.ENDIF.  Person selection Person selection is the 'true' selection of choosing a group of employees for whom the report is to run. If SAP standard delivered report classes do not satisfy your requirements.       Sorting Data The standard sort sequence lists personnel numbers in ascending order. Start-of-selection. "BASIC PAY 2. the PROVIDE loop retrieves the infotype records whose validity period overlaps with at least one day of this period. . Data Retrieval from LDB 1. "PERSONAL DATA 0008. Using logical databases facilitates the process of reading database tables. GET PERNR retrieves all records of the relevant infotypes from the database. Retrieval of data using LDBs (PNP/PAP/APP/PCH) without LDBs. specify in your program attributes. When you enter a date selection period.

For example.01/01/1990 12/31/9999 present RP-PROVIDE-FROM-LAST retrieves the record. RHINTE00 – Transfer PA records into PD positions –batch RHINTE20 – Create OM objects in PA tables – Online RHINTE30 – Bulk update of infotype 0001 RHINTECHECK – Program to check PA to PD RHCHECKV . They are mainly used after data conversion.PN/BEGDA PN/ENDDA. bulk updates or to correct errors caused by other programs. i.GET PERNR. Overview of PA/PD/& Integration between PA & PD This explains how to use the ABAP programs.ENDPROVIDE loop. which is valid in the data selection period. GET PERNR. Sometimes the tables can get „out of step‟ with those in PD – table . 4. write:/ Pnnnn-XXXX. End-0f-selection.e. Endif. 5. pn/begda = '19990931' pn/endda = '99991231' IT0006 subtype 1 is resident address RP-PROVIDE-FROM-LAST P0006 1 PN/BEGDA PN/ENDDA. there are tables that contain objects from OM. PROVIDE * FROM Pnnnn BETWEEN PN/BEGDA AND PN/ENDDA If Pnnnn-XXXX = ' '. they should be run in this sequence: 1. ENDPROVIDE. Each program is explained in detail so you can decide which ones you need to run. The infotype records (selected within the period) are processed sequentially by the PROVIDE . Read Master Data   Infotype structures (after GET PERNR) are internal tables loaded with data. 2. which set integration between PA and PD/OM.Checks all inverse relationships Overview It is important to realize that in PA. To set up/fix full integration between PA and PD.  Current Data IT0006 Address . 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. 3.  Period-Related Data All infotype records are time stamped. for those items displayed on infotype 0001 Organizational Assignment.

The main difference with this program as opposed to RHINTE20 is that this one has the option to delete items from the PA tables. if not it is created. which runs through Org units. the program RHINTE20 will be used instead of this one. T513S T528B. jobs and positions or find a suitable alternative if you wish to update work centers also. use this check program. T528T T527X RHINTE00 This loops through all employees in PA by looking at positions on infotype 0001. which looks through all employees and reports any inconsistencies found between PA and PD. The tables are: T513. jobs and positions or find a suitable alternative if you wish to update work centers also. which are shown above. corresponding entry is created in the PA tables. For each job. An example output will show: Object type C (Job) Object types S (Position) and A (Work center) Object type O (Organizational unit) Expand the tree items to display a list of objects that can be created: RHINTECHECK When the above programs have been run. corresponding entry is created in the PA tables. which runs through Org units. . For each job. position. work centre and organization unit. RHINTE20 This program loops through the PD table HRP1000.HRP1000. Run this with evaluation path o_s_p. position. Run this with evaluation path o_s_p. which no longer exist in PD. which are shown above. RHINTE10 Generally. work centre and organization unit. It checks the corresponding person to position relationship exists in PD (A008). This program loops through the PD table HRP1000.

position and work centre by looking through the organization structure. RHCHECKV This will check inverse relationships and create missing ones. If difficulties arise with it. or click on the text and click „select subtree‟ to select them all then click to perform multiple updates. More details to follow. This program can prove to be „problematic‟.Tick each item that you wish to be created. job. try using RHINTE10 instead. which must be run via SM35. RHINTE30 This will create an infotype 0001 record with correct entries for org unit. It creates a batch job. .

a log is output. SAP R/3. Smartforms. Below is the standard documentation available for this report and a few details of other objects it interacts with such as tables. and any other SAP trademarks are registered trademarks of SAP AG in Germany. includes etc. ALE. The system then checks whether all or some of these records exist in PD. BADI. AbapMania. ABAP. SAP. Every effort is made to ensure content integrity. BAPI. that is for the entire validity period of the PA record.All product names are trademarks of their respective companies. SAP Query. Sapscripts. SAP Documentation for program RHINTE00 TRANSACTION CODE: Z110 DESCRIPTION This report reads the infotype records of the Organizational Assignment infotype (0001) created in PA. ABAP OOP. This means that you and other users will be able to find these details quickly by simply searching on the object name. LSMW. User-Exits.Transfer Organizational Assignment (PA -> PD) RHINTE00 is a standard ABAP report available within your SAP system (depending on your version and release level). The log indicates that no changes are required in PD and no batch input session is created. the system creates the following records in PD according to the Create Object(s) and Create Relationship(s) parameters. CATT. If you would like to see the full code listing simply enter the object name( RHINTE00 ) into the relevant SAP transaction such as SE38 or SE80 Within the comments section below there is also an opportunity for anyone to be able add useful hints and information specific to this SAP object. ALV. If changes are required. ABAP Workflow. RHINTE00 SAP Report .  Objects (infotype 1000):  Work center  Job  Organizational unit  Position  Relationships (infotype 1001) between the following objects: . function modules. Use information on this site at your own risk.com is in not affiliated with SAP AG. IDOC. If all these records exist in PD.

If the validity periods of the PA and PD records border each other or overlap.  Example of bordering records: The following example illustrates how a PA record and a PD record that border each other are merged into one record in PD after report RHINTE00 has been run.  Record in PA: |<-----------PA RECORD--------->| Record in PD: |<----PD RECORD----->| Record in PD after RHINTE00 has been run: |<---------PD RECORD----------->| The settings of the switches PLOGI TEXTO. If these switches are activated. the text of the PA object is transferred (and if necessary reduced to 12 characters) to the Object Abbreviation field of the PD object when report RHINTE00 is run. jobs. a continuous record is created in PD or the existing record is extended (thereby avoiding splits in the validity period). If these switches are not activated (value = ' '). . Person and position (or work center)  Position and job  Position and organizational unit  Cost center and organizational unit or position (depending on the Relate Cost Center with parameter). the system transfers the object ID of the PD object to the ID field when report RHINTE00 is run. The objects are created in the validity period they have in the relevant check tables for master data. (value ='X'). You can find these switches in the Implementation Guide (IMG) for Personnel Management under Organizational Management -> Integration -> Integration with Personnel Administration ->Set Up Integration with Personnel Administration. and PLOGI TEXTS dictate which texts are copied to the Object Abbreviation (SHORT/Length=12) field of the PD object for organizational units. PLOGI TEXTC. and positions. The system only creates objects and relationships with objects that are used in HR Master Data.  Record in PA: |<---PA RECORD--->| Record in PD: |<--PD-RECORD-->| Record in PD after RHINTE00 has been run: |<---------PD RECORD----------->|  Example of overlapping records: The following example illustrates how a PA record and a PD record that overlap each other are merged into one record in PD after report RHINTE00 has been run.

You can start the batch input session from the menu under System -> Services -> Batch Input -> Process. NOTE : This report does not allow you to transfer an employee's leaving and subsequent reentry simultaneously. only the relationships that still exist in HR-PD of employees who have already left are delimited. a batch input session (BTCI) must be processed (exception: if it is a test run or no changes are required in PD). However. obtain a position relationship in HR-PD only up to the leaving date. ensures complete consistency between PA and PD). you can do this by running the program twice (once for the leaving.EXAMPLE : The object ID of the PD object is '00001000'. only active for integration plan version). Report-Specific Settings The parameters of this report allow you to define the following:  The target plan version for the relevant objects and relationships (the standard target plan version is the integration plan version set up in Customizing under Set Active Plan Version). No records are created. the text of the PA object is transferred to the Object Name (STEXT) field of the PD object. . If the leaving is to be transferred to HR-PD for employees who have already been transferred. and once for the reentry).  Status to be used for relationships and objects (active or planned. Records are created in the standard system. you must select the parameter Transfer Leavings Only. After this report has been run. if PLOGI TEXTO=' ': 00001000 In both cases. Selection You make the entries according to standard selection for file PAnnnn. Employees who have already left the company at the time the report is run. You must enter a start and end date for the time interval to be processed (default values: 01/01/1800 to 12/31/9999. In this case. if PLOGI TEXTO='X': Department 1 Text in PD after RHINTE00. The report uses the standard relationships listed in Customizing under Maintain Relationships to create relationships between said objects. Text for organizational unit in PA: Department 1 Text in PD after RHINTE00.  Whether records are to be created in PD (transfer of organizational assignment) or delimited (transfer of employees' leaving). The session contains the name of the user who started report RHINTE00.

a person can only occupy one position at a time. delimit them manually. the system response is the same as before the functional enhancement. you must check all the holder relationships of this person and. For more information. In this case. Only objects that are used in HR Master Data are created.  Whether old holder relationships are to be delimited (if can be decided technically). Percentage to be used in the relationship (standard is 100%)  Whether objects and relationships are to be created. No holder relationships (infotype 1001. SAP recommends you use this option.organizational unit  Position or organizational unit . which is selected as standard.  If and under which name a batch input session is to be created. this option is selected = yes. thereby implicit delimitations occur. see SAP Note 554412. subtype A008/B008) for this person are delimited in PD. . For an explanation. Create Relationship(s) This parameter enables you to specify which of the following relationships are to be created:  Position . Delimit Old Holder Relationships This parameter provides you with the following options:  None (Presetting) If you select this option. and organizational units) are to be created.person  Position . see SAP Note 637221. In the standard system. see the documentation for the individual parameters: Create Object(s) This parameter enables you to specify whether integration objects (positions. if necessary. jobs.job  Position . Exception: If the Customizing setting of the time constraint for IT 1001/B008 < = '2'.  Object type with which relationships with cost centers are created (standard is O = organizational unit).cost center Only relationships between objects that are used in HR Master Data are created.

Exception: If the corresponding holder relationship starts on the same date as the transfer in infotype 0001.. it is assumed that the relationship was created intentionally in PD and it is therefore not delimited.I---S1---------------------------------". in this case. this relationship is only delimited (or. I-S2---------I ".. Before RHINTE00 has been run: Selection period:. Caution: In the case of multiple assignments (one person occupies several positions).I---S1-----I-S2--I--S2-I---S3-----Infotype 1001/AB008.  Corresponding holder relationships with a validity identical to that of the transfer date have been found in infotype 0001 for these previous records.I---S4--I-------S4------------I--S4--  All If you select this option. The relationship that is saved in infotype 0001 is delimited.. I-----------------------Infotype 0001. I---S3-------" . I = start and end selection of infotypes. all holder relationships in PD that intersect the selected records are delimited as of the start date of the first selected infotype (or deleted if the holder relationship starts later than the first selected infotype 0001 record). Caution: .. In this case. a maximum of one holder relationship is delimited in PD for each selected infotype 0001 record.I---S1-----I ". the corresponding records are delimited as of the transfer date. The following abbreviations are used: S = position. EXAMPLE : The following example illustrates what RHINTE00 does if the Only Positions from IT 0001 option is selected.. If it has changed....I---S4--I-------S4------------I--S4-- After RHINTE00 has been run: Infotype 1001/AB008. individual holder relationships in PD if the following conditions apply:  A previous record with a different position has been found for each of the infotype 0001 records selected. Only positions from IT 0001 If you select this option. the report delimits previous. deleted) if the staffing percentage of a previous record in infotype 1001 for the same position has not changed.

Records listed in the list output of the report under Delimited or Deleted Relationships. all the relevant data for infotype 0001 records found in the selection period are created again in PD according to the defined time constraint logic.. I-S2---------I ". If multiple assignments do exist. multiple assignments are intended for some persons. this may result in required holder relationships being deleted unintentionally if.I---S4--I--I Note: Irrespective of the option you select here.I---S1-----I-S2--I--S2-I---S3-----Infotype 1001/AB008. you can then run run report RHINTECHECK or RHINTE20 to find any remaining inconsistencies.. I---S3-------" .. I-----------------------Infotype 0001. Documentation extract taken from SAP system..I---S1---------------------------------".. For more details and information about the technical background. OUTPUT The report outputs a batch input session or a list of objects found for the session. a technical delimitation is described. Before RHINTE00 has been run: Selection period:.SAP recommends you use this option only if you can ensure that persons in the selection period cannot occupy several positions at the same time meaning that no multiple assignments could exist. Session Name This parameter enables you to enter a name for the batch input session that is created by this report. I = start and end selection of infotypes.I---S1-----I ". Example: The following example illustrates what RHINTE00 does if the All option is selected.. The following abbreviations are used: S = position. If you select this parameter. contrary to expectation. Test This parameter enables you to specify whether a batch input session is to be created.. a test run is executed without creating a batch input session. It also outputs a list of personnel numbers for which no relationship with a position exists.. see SAP Note 637221.I---S4--I-------S4------------I--S4-- After RHINTE00 has been run: Infotype 1001/AB008. can also appear under the records to be added. In this way. Copyright (c) SAP AG . Provided they are available in the release you use.

.Includes used within report: *RETROFIT : START OF ADDITION IN THE IN INCLUDE RHINDATA Tables used within report and the associated select statement: previous ******For selected Line from previous list CLEAR ls_line. T528T SELECT * FROM t528t WHERE sprsl EQ sy-langu AND AND AND AND otype EQ re528t_otype plans EQ re528t_objid begda LE re528t_begda endda GE re528t_begda "VWMOBTCI "VWMOBTCI "VWMOBTCI relat EQ plog_tab-subty+1(3). T522F SELECT SINGLE * FROM t522f WHERE repid EQ sy-repid. T777V SELECT SINGLE * FROM t777v WHERE langu EQ sy-langu AND T77S0 SELECT SINGLE * FROM t77s0 WHERE grpid = 'PMAIN' AND semid = 'OBTCI'.

. T77AR SELECT SINGLE * FROM t77ar WHERE relat EQ plog_tab-subty+1(3). plans = re528b_objid endda GE p0001-begda begda LE p0001-endda ORDER BY PRIMARY KEY. stell EQ re513s_objid begda LE re513s_begda endda GE re513s_begda.ORDER BY PRIMARY KEY. T528B SELECT * FROM t528b WHERE otype = re528b_otype AND AND AND T513 SELECT * FROM t513 WHERE stell EQ p0001-stell AND AND T513S SELECT * FROM t513s WHERE sprsl EQ sy-langu AND AND AND T527X SELECT * FROM t527x WHERE sprsl EQ sy-langu AND AND AND T001P SELECT SINGLE * FROM t001p WHERE werks EQ p0001-werks AND btrtl EQ p0001-btrtl. begda LE p0001-endda endda GE p0001-begda ORDER BY PRIMARY KEY. "ANDAHRK052416 "ANDAHRK052416 orgeh EQ re527x_objid begda LE re527x_begda endda GE re527x_begda.

orgeh EQ wplog-objid begda LE wplog-begda endda GE wplog-begda. T527X SELECT * FROM t527x WHERE sprsl EQ sy-langu AND AND AND T528T SELECT * FROM t528t WHERE sprsl EQ sy-langu AND AND AND AND T528B SELECT * FROM t528b WHERE otype EQ u_$otype AND AND AND T513S SELECT * FROM t513s WHERE sprsl EQ sy-langu AND AND AND T513 SELECT * FROM t513 WHERE stell EQ wplog-objid stell EQ wplog-objid begda LE wplog-begda endda GE wplog-begda. otype EQ u_$otype plans EQ wplog-objid endda GE wplog-begda begda LE wplog-begda. plans EQ wplog-objid endda GE wplog-begda begda LE wplog-begda.T77AR SELECT SINGLE * FROM t77ar WHERE relat EQ plog_tab-subty+1(3). .

relat EQ $okrel+1(3) clas2 EQ $kostl rsign EQ $okrel+0(1).AND AND T778P begda LE wplog-begda endda GE wplog-begda. PLOGI SELECT * FROM plogi UP TO 1 ROWS WHERE plvar EQ newplvar. "QPXA97295 T778S SELECT SINGLE * FROM t778s WHERE istat EQ status. Function Modules used within report and the associated call statement: REUSE_ALV_GRID_DISPLAY CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program i_callback_user_command = gc_repid = gc_user_command . SELECT SINGLE * FROM t778p WHERE plvar EQ newplvar. T778O SELECT SINGLE * FROM t778o WHERE otype EQ kostrel. T777E SELECT SINGLE * FROM t777e WHERE clas1 EQ kostrel AND AND AND PLOG * SELECT * FROM PLOG WHERE PLVAR EQ NEWPLVAR.

REUSE_ALV_GRID_DISPLAY CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program i_callback_top_of_page = gc_repid = gc_formname_top_of_pages = 1 = 2.i_callback_pf_status_set = gc_pf_status_set i_callback_top_of_page is_layout it_fieldcat i_save TABLES t_outtab EXCEPTIONS program_error OTHERS REUSE_ALV_COMMENTARY_WRITE CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = gt_list_top_of_page_basic_list. = gt_plog_count = gc_formname_top_of_pageb = gs_layout_basic_list = gt_fieldcat_basic_list = gc_save i_callback_pf_status_set = gc_pf_status_set_alv1 is_layout it_fieldcat = gs_layout_sec_list = gt_fieldcat_sec_list . REUSE_ALV_COMMENTARY_WRITE CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = gt_list_top_of_page_sec_list.

REUSE_ALV_VARIANT_DEFAULT_GET CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET' = gc_save . = gv_exit = ls_xvariant REUSE_ALV_VARIANT_EXISTENCE CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE' EXPORTING i_save CHANGING cs_variant = ls_xvariant. CALL FUNCTION 'REUSE_ALV_VARIANT_F4' EXPORTING is_variant i_save * = is_variant = gc_save it_default_fieldcat = IMPORTING e_exit es_variant EXCEPTIONS not_found = 2.i_save is_variant TABLES t_outtab EXCEPTIONS program_error OTHERS REUSE_ALV_VARIANT_F4 = gc_save = gs_variants = gt_sec_list = 1 = 2.

= gc_save PAK_GET_SHORTTEXT_DTEL CALL FUNCTION 'PAK_GET_SHORTTEXT_DTEL' EXPORTING i_elem_key i_language IMPORTING e_short_text = xv_shorttext. REUSE_ALV_FIELDCATALOG_MERGE CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name i_internal_tabname i_structure_name CHANGING ct_fieldcat EXCEPTIONS inconsistent_interface = 1 program_error OTHERS BDC_CLOSE_GROUP = 2 = 3. = xt_fieldcat = gc_repid = iv_int_tab = iv_struct = iv_dataelement = sy-langu .EXPORTING i_save CHANGING cs_variant = ls_xvariant EXCEPTIONS not_found = 2.

CALL FUNCTION 'BDC_CLOSE_GROUP'. RH_READ_INFTY_1001 CALL FUNCTION 'RH_READ_INFTY_1001' EXPORTING istat begda endda subty TABLES i1001 OBJECTS EXCEPTIONS = sp1001 = sobjects = status = prev_endda = high_date = 'B008' "note637221 . BDC_OPEN_GROUP * * * * * * * CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client group user keep = sy-mandt = group = sy-uname = keep = unit_tab "QPXK109211 "NAD "NAD "NAD "NAD "NAD holddate = holddate. RH_UNIT_RECORD CALL FUNCTION 'RH_UNIT_RECORD' TABLES record_tab = record_tab unit_tab .

= sp1001 " " " " " = 2.nothing_found = 1 wrong_condition = 2 OTHERS HR_READ_INFOTYPE CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr infty begda endda TABLES infty_tab EXCEPTIONS infty_not_found = 1 OTHERS RH_INVERT_RELA_INFTY CALL FUNCTION 'RH_INVERT_RELA_INFTY' EXPORTING p1001_imp IMPORTING p1001_exp RH_INVERT_RELA_INFTY CALL FUNCTION 'RH_INVERT_RELA_INFTY' EXPORTING p1001_imp IMPORTING = sp1001 "note637221 = sp1001. = p0001_tab = l_pernr = '0001' "note637221 = 3. = prev_endda = prev_endda .

. CALL FUNCTION 'RH_CONDITION_BUILD' EXPORTING infty IMPORTING condition TABLES condtab EXCEPTIONS empty_condtab no_db_field = 1 = 2 = condtab = condition = plog_tab-infty unknown_infty_db = 3 wrong_condition unknown_pad_db OTHERS RH_READ_INFTY CALL FUNCTION 'RH_READ_INFTY' EXPORTING infty istat extend condition sort TABLES innnn = infty_ta = plog_tab-infty = plog_tab-istat = 'D' = condition = 'X' = 4 = 5 = 6.p1001_exp RH_CONDITION_BUILD = sp1001.

. RH_READ_INFTY_1001 CALL FUNCTION 'RH_READ_INFTY_1001' EXPORTING subty TABLES i1001 OBJECTS EXCEPTIONS nothing_found = 1 = sp1001 = sobjects = 'A008' "VWMK018916 "VWMK018916 "VWMK018916 "VWMK018916 "VWMK018916 "VWMK018916 "VWMK018916 "VWMK018916 "VWMK018916 "VWMK018916 wrong_condition = 2 OTHERS = 3.OBJECTS EXCEPTIONS = plog_object all_infty_with_subty = 1 nothing_found no_objects wrong_condition OTHERS BDC_OPEN_GROUP CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client group user keep = sy-mandt = group = sy-uname = keep = 2 = 3 = 4 = 5. holddate = holddate.

BDC_OPEN_GROUP CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client group user keep = sy-mandt = group = sy-uname = keep " holddate = holddate. RP_EDIT_NAME CALL FUNCTION 'RP_EDIT_NAME' EXPORTING pp0002 molga langu format IMPORTING = p0002 = t001p-molga = sy-langu = $$format .BDC_OPEN_GROUP CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client group user keep = sy-mandt = group = sy-uname = keep holddate = holddate. BDC_CLOSE_GROUP CALL FUNCTION 'BDC_CLOSE_GROUP'.

"ANDK015989 "QPXK109211 "ANDK015989 "QPXK109211 "ANDK015989 "QPXK109211 "ANDK015989 "QPXK109211 "ANDK015989 "QPXK109211 "ANDK015989 "QPXK109211 "ANDK015989 "QPXK109211 "ANDK015989 "QPXK109211 = subrc.edit_name = edit_name retcode RP_HIRE_FIRE * * * * * * * * TABLES CALL FUNCTION 'RP_HIRE_FIRE' EXPORTING BEG = PN-BEGDA END = PN-ENDDA IMPORTING FIRE_DATE = FIREDATE HIRE_DATE = HIREDATE PP0000 = P0000 PP0001 = P0001 PPHIFI = PPHIFI. HRCA_CONTROLLINGAREA_FIND CALL FUNCTION 'HRCA_CONTROLLINGAREA_FIND' EXPORTING companycode = p0001-bukrs businessarea = p0001-gsber IMPORTING contrlarea EXCEPTIONS not_found OTHERS BDC_INSERT CALL FUNCTION 'BDC_INSERT' EXPORTING tcode TABLES = 'PP02' = 1 = 2. = rk_kokrs .

RH_GET_NUMBER_RANGE CALL FUNCTION 'RH_GET_NUMBER_RANGE' EXPORTING = from_no = to_no = last_no = subrc = 'EX' = newplvar = $workp = 'PP02' . BDC_INSERT CALL FUNCTION 'BDC_INSERT' EXPORTING tcode TABLES dynprotab = bdcdata.dynprotab = bdcdata. RH_GET_NUMBER_RANGE CALL FUNCTION 'RH_GET_NUMBER_RANGE' EXPORTING no_range_num plan_version object_type IMPORTING from_no to_no last_no returncode EXCEPTIONS interval_not_found object_type_not_found plan_version_not_found rp_plan_ranges_not_defined.

no_range_num plan_version object_type IMPORTING from_no to_no last_no returncode EXCEPTIONS interval_not_found object_type_not_found plan_version_not_found = 'EX' = newplvar = $class = from_no = to_no = last_no = subrc rp_plan_ranges_not_defined. RH_GET_NUMBER_RANGE CALL FUNCTION 'RH_GET_NUMBER_RANGE' EXPORTING no_range_num plan_version object_type IMPORTING from_no to_no last_no returncode EXCEPTIONS interval_not_found = from_no = to_no = last_no = subrc = 'EX' = newplvar = $orgeh .

RH_READ_INFTY_1001 CALL FUNCTION 'RH_READ_INFTY_1001' EXPORTING begda endda istat TABLES = p0000-begda = p0000-endda = active "QPXA109712 "QPXA109712 "QPXA109712 "QPXA109712 "QPXA109712 "QPXA109712 = from_no = to_no = last_no = subrc = 'EX' = newplvar = $plste . RH_GET_NUMBER_RANGE CALL FUNCTION 'RH_GET_NUMBER_RANGE' EXPORTING no_range_num plan_version object_type IMPORTING from_no to_no last_no returncode EXCEPTIONS interval_not_found object_type_not_found plan_version_not_found rp_plan_ranges_not_defined.object_type_not_found plan_version_not_found rp_plan_ranges_not_defined.

i1001 OBJECTS EXCEPTIONS nothing_found = lp_table = obj_tab "QPXA109712 "QPXA109712 "QPXA109712 = 01 "QPXA109712 "QPXA109712 wrong_condition = 02. BDC_INSERT CALL FUNCTION 'BDC_INSERT' EXPORTING tcode TABLES dynprotab = bdcdata. BDC_OPEN_GROUP CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client group user keep = sy-mandt = group = sy-uname = keep "QPXA109712 "QPXA109712 "QPXA109712 "QPXA109712 "QPXA109712 holddate = holddate. RH_INVERT_RELA_INFTY CALL FUNCTION 'RH_INVERT_RELA_INFTY' EXPORTING p1001_imp = lp_table IMPORTING p1001_exp = lp_table. HR_READ_T77S0 = 'PP02' .

= 1 = 2 = = = = edit_name = plogi-plvar = 'P' = delimit_tab-pernr-pernr = SY-DATUM = SY-DATUM . RH_READ_OBJECT CALL FUNCTION 'RH_READ_OBJECT' EXPORTING plvar otype objid * * BEGDA ENDDA IMPORTING * * SHORT STEXT display_text * * TABLES EXISTENCE EXCEPTIONS not_found OTHERS .CALL FUNCTION 'HR_READ_T77S0' EXPORTING grpid semid IMPORTING gsval = plogi-plvar = 'PLOGI' = 'PLOGI' "#EC * "#EC * "#EC * "#EC * "#EC * "#EC * "#EC * "#EC * EXCEPTIONS OTHERS = 2.

... Text Symbol: AL1 = Report-Specific Settings Text Symbol: AL2 = Exists Text Symbol: ALL = Integration tables are maintained...........&2......&1........ ..&3.......Text pool values Selection Text: CUTINH_0 = None (Presetting) Selection Text: CUTINH_1 = Only Unique Selection Text: CUTINH_2 = All Selection Text: GROUP = Session name Selection Text: HOLDDATE = Lock session until Selection Text: KEEP = Keep session Selection Text: KOSTREL = Relate cost centers with Selection Text: LEAVE = Transfer leavings only Selection Text: TEST = Test Selection Text: STATUS = Structure status Selection Text: RELATE = Create relationship(s) Selection Text: RELAT% = Relationship percentage Selection Text: P_VARS = Layout Selection Text: OBJECTS = Create object(s) Selection Text: NUR_INHA = Create holder relatshp.......... Text Symbol: ALR = Exists in Personnel Planning Text Symbol: ARG = for the key Text Symbol: BEZ = Name Text Symbol: BTC = Batch input session created Text Symbol: DEL = All relationships delimited to Text Symbol: ERR = * Table error * Text Symbol: GUE = Validity Text Symbol: IN0 = Delimitation of Old Holder Relationships (See Documentation) Text Symbol: IN1 = None (Presetting) Text Symbol: IN2 = Only Positions from IT 0001 Text Symbol: IN3 = All Text Symbol: INB = Infotype Text Symbol: MIT = Persons without positions Text Symbol: NRC = Found no relationships in Personnel Planning to be delimited Text Symbol: OBJ = Objects 001 &0......... only Selection Text: NEWPLVAR = Target plan version Title: Transfer Organizational Assignment (PA -> PD) Text Symbol: UPD = Will Be Noted Text Symbol: SAT = Record(s) Text Symbol: REL = Relationship Text Symbol: REJ = Colored records are already available in Personnel Planning Text Symbol: PER = Person Text Symbol: 001 = Delimited or Deleted Relationships: Text Symbol: 100 = No entry in table Text Symbol: 999 = Highlighted records will not be updated in database...............

(object type A).Prepare Integration (OM with PA) RHINTE10 is a standard ABAP report available within your SAP system (depending on your version and release level). A program run can take place for one or all object types. that is transferred to the existing objects in Personnel Planning and Development (HR-PD). The following object types are relevant to integration: PD.RHINTE10 SAP Report .PA Work center. Test This parameter controls whether the program is to be run in test mode without table changes or in update mode with table changes.Tables T528B. Only Objects with Original in OM Restricts the objects to be deleted to objects whose original is maintained in Organizational Management... T513S Position... Deleting Non-Existent Objects Controls whether objects in Personnel Administration tables (HR-PA) that only exist in these tables and not in Personnel Planning and Development ( HR-PD) should be deleted. SAP Documentation for program RHINTE10 TRANSACTION CODE: Z111 DESCRIPTION This program allows you to create object types in Personnel Administration (HR-PA) which have already been set up in Personnel Planning and Development (HR-PD) and which are needed for integration. These objects are created. T528T Organizational unit. If you would like to see the full code listing simply enter the object name( RHINTE10 ) into the relevant SAP transaction such as SE38 or SE80 Within the comments section below there is also an opportunity for anyone to be able add useful hints and information specific to this SAP object..(Object type O). Below is the standard documentation available for this report and a few details of other objects it interacts with such as tables. . includes etc..(Object type S). The integration object types are required for infotype 0001 "Organizational Assignment". Parameter Creating Objects Controls whether objects should be created in the tables for Personnel Administration.. only objects of the PA tables whose original was previously created in OM are taken into account.Table T527X Only objects which exist in status 1 (active) in the integration plan version are included (see in PD Customizing under Set active plan version. function modules. entry PLOGI PLOGI).Tables T528B. This means that you and other users will be able to find these details quickly by simply searching on the object name. In relation to the "Delete non-existent objects" parameter.. Objects which were created with their original in OM from the beginning and therefore have never existed in OM are not deleted...Tables T513.(Object type C). T528T Job..

otype EQ objects_count-otype. INCLUDE RHODAT00.DEPENDENCIES OUTPUT You obtain a list containing the number of records for each operation performed and for each object type. langu grpid semid t77st = sy-langu = 'PLOGI' = 'PRELI' . double-click on a line. . INCLUDE RHOINI00. Tables used within report and the associated select statement: T777O SELECT SINGLE * FROM t777o WHERE langu EQ sy-langu AND T77ST SELECT SINGLE * FROM WHERE AND AND T528B SELECT * FROM t528b WHERE otype = $plste AND PLOGI SELECT * FROM plogi INTO TABLE iplogi WHERE otype = dn_otype plans = $preli. Copyright (c) SAP AG Includes used within report: INCLUDE RHODAT00. To display the individual records. Documentation extract taken from SAP system.

T527X SELECT * FROM t527x INTO TABLE i527x. T528B SELECT * FROM t528b INTO TABLE i528b WHERE otype = dn_otype AND maint = 'P'. T528B SELECT * FROM t528b INTO TABLE i528b WHERE otype = dn_otype AND maint = 'P'. T528B SELECT * FROM t528b INTO TABLE i528b WHERE otype = dn_otype. T513 SELECT * FROM t513 INTO TABLE i513 WHERE maint = 'P'. T527X SELECT * FROM t527x INTO TABLE i527x WHERE maint = 'P'. T513 SELECT * FROM t513 INTO TABLE i513. PLOGI * * SELECT SINGLE * FROM PLOGI WHERE PLVAR = ACT_PLOGI-PLVAR . T528B SELECT * FROM t528b INTO TABLE i528b WHERE otype = dn_otype.AND plvar = act_plvar.

T528T SELECT COUNT(*) FROM t528t WHERE otype = act_plogi-otype AND plans = act_plogi-objid.* * T777O AND OTYPE = ACT_PLOGI-OTYPE AND OBJID = ACT_PLOGI-OBJID. SELECT SINGLE * FROM t777o WHERE langu EQ sy-langu AND T527X SELECT COUNT(*) FROM t527x WHERE orgeh = act_plogi-objid. T5U13 SELECT COUNT(*) FROM t5u13 WHERE stell = act_plogi-objid. T528B SELECT COUNT(*) FROM t528b WHERE otype = act_plogi-otype AND plans = act_plogi-objid. T5K13 SELECT COUNT(*) FROM t5k13 WHERE stell = act_plogi-objid. T5C13 SELECT COUNT(*) FROM t5c13 WHERE stell = act_plogi-objid. . T5D13 SELECT COUNT(*) FROM t5d13 WHERE stell = act_plogi-objid. T513 SELECT COUNT(*) FROM t513 WHERE stell = act_plogi-objid. T513S SELECT COUNT(*) FROM t513s WHERE stell = act_plogi-objid. the otype EQ dn_otype.

Function Modules used within report and the associated call statement: RH_INTEGRATION_CHECK CALL FUNCTION 'RH_INTEGRATION_CHECK' IMPORTING integrated_plvar = act_plvar org_integration = act_orga. = ACT_PLOGI_DEL = ACT_PLOGI = WF_PLOGI_DEL = WF_PLOGI = CORRTASK REUSE_ALV_GRID_DISPLAY CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' .* Fetch the records to be transferred of the selected object type * from the set of objects to be transferred WHEN gv_icon_delete(5). RH_GET_OBJECTS_FROM_E071K * * * * * * * * * * * CALL FUNCTION 'RH_GET_OBJECTS_FROM_E071K' EXPORTING CORRNUM TABLES ST_PLOGI_DEL ST_PLOGI WF_PLOGI_DEL WF_PLOGI EXCEPTIONS CORRNUM_DONT_EXIST = 1 OTHERS = 2.

= xt_fieldcat[] = gv_repid = lv_itab = lc_rhinte10 = 1 = 2. = "BACK = gv_repid = is_layout = it_fieldcat = ls_variant = gv_save = it_events .EXPORTING i_callback_program is_layout it_fieldcat is_variant i_save it_events IMPORTING es_exit_caused_by_user = ls_exit_caused_by_user TABLES t_outtab EXCEPTIONS program_error OTHERS REUSE_ALV_FIELDCATALOG_MERGE CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name i_internal_tabname i_structure_name CHANGING ct_fieldcat EXCEPTIONS inconsistent_interface = 1 program_error OTHERS = 2 = 3.

PAK_GET_SHORTTEXT_DTEL CALL FUNCTION 'PAK_GET_SHORTTEXT_DTEL' EXPORTING i_elem_key i_language IMPORTING e_short_text = iv_heading. HR_READ_T77S0 CALL FUNCTION 'HR_READ_T77S0' EXPORTING grpid semid = 'PLOGI' = 'PLOGI' "#EC * "#EC * "#EC * "#EC * "STFO789750 "STFO789750 "STFO789750 "STFO789750 . = xt_events = 0 = iv_data_ele = sy-langu REUSE_ALV_COMMENTARY_WRITE CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING it_list_commentary = it_list_header i_end_of_list_grid = iv_footer. REUSE_ALV_EVENTS_GET CALL FUNCTION 'REUSE_ALV_EVENTS_GET' EXPORTING i_list_type IMPORTING et_events EXCEPTIONS list_type_wrong = 1 OTHERS = 2.

HRDSYS_SHOW_DOCU CALL FUNCTION 'HRDSYS_SHOW_DOCU' EXPORTING * MOLGA = ' ' = 1 = 2 = = l_plogi-plvar = gs_outtab_alv-otype = objects-objid = SY-DATUM = objects-endda = l_short = l_stext = "VWMDSYS "VWMDSYS "VWMDSYS .IMPORTING gsval = l_plogi-plvar "#EC * "#EC * "#EC * "#EC * "STFO789750 "STFO789750 "STFO789750 "STFO789750 EXCEPTIONS OTHERS = 2. RH_READ_OBJECT CALL FUNCTION 'RH_READ_OBJECT' EXPORTING plvar otype objid * BEGDA endda IMPORTING short stext * * * display_text TABLES EXISTENCE EXCEPTIONS not_found OTHERS .

in OM. Text Symbol: U13 = The entries in table T5U13 have been deleted. Text Symbol: 005 = The objects have been deleted in the PA tables. Selection Text: DELEOLDS = Delete non-existant objects. . Text Symbol: 28T = Table T528T has been maintained. Text Symbol: 004 = Update of the PA tables not required. Text Symbol: TI3 = Delete non-existant objects. Text Symbol: OBJ = Object Text Symbol: ORG = Table 527X is maintained. Text Symbol: 13T = The entries in table T513S have been deleted. Text Symbol: SAT = Record(s) Text Symbol: TI1 = Special Options Text Symbol: TI2 = Create objects in PA tables. Text Symbol: 28B = Table T528B has been maintained. Selection Text: DELEXIST = Delete existing objects first. Text Symbol: 013 = Table T513 has been maintained. Text Symbol: 513 = The entries in table T513 have been deleted. Text pool values Selection Text: TEST = Test Selection Text: MOVEOBJ = Create objects Selection Text: MAINTAIN = Only objects with orig. Text Symbol: K13 = The entries in table T5D13 have been deleted.oname otype EXCEPTIONS wrong_otype = 'PRELI' = 'SEKZ' "VWMDSYS "VWMDSYS "VWMDSYS = 1 "VWMDSYS "VWMDSYS "VWMDSYS "VWMDSYS loio_not_found = 2 internal_error = 3 OTHERS = 4. Title: Prepare Integration (OM with PA) Text Symbol: JOB = Tables 513S and 513 are maintained. Text Symbol: 27X = The entries in table T527X have been deleted. Text Symbol: GUE = Validity Text Symbol: 001 = The following objects must be deleted in the PA tables: Text Symbol: 002 = The following objects are being transfered to the PA tables: Text Symbol: 003 = Test mode: PA tables were not changed. Text Symbol: 13S = Tabelle T513S has been maintained. Text Symbol: NON = Error: No tables have been maintained. Text Symbol: POS = Tables 528T and 528B are maintained.

. aedat TYPE ekpo-aedat......... TABLES: ekko.... * *&-------------------------------------------------------------* REPORT zdemo_alvgrid ...... menge TYPE ekpo-menge. 001 &0......... ALV grid display (inc.... * *& * *& The basic requirement for this demo is to display a number * *& of fields from the EKKO table............... The example details the main sections of coding required to implement the ALV grid functionality: Data declaration Data retrieval Build fieldcatalog Build layout setup *&-------------------------------------------------------------* *& Report ZDEMO_ALVGRID * *& * *&-------------------------------------------------------------* *& * *& Example of a simple ALV Grid Report * *& .&1..&2.....&3. .............. Text Symbol: BEZ = Name Text Symbol: C13 = The entries in table T5C13 have been deleted. Text Symbol: D13 = The entries in table T5D13 have been deleted.. *Data Declaration *---------------TYPES: BEGIN OF t_ekko...... matnr TYPE ekpo-matnr... "ALV Declarations type-pools: slis... ebelp TYPE ekpo-ebelp..Text Symbol: 528 = Entries in tables T528B... ebeln TYPE ekpo-ebeln.............. statu TYPE ekpo-statu....... T528T have been deleted.... column total) Below is an example ABAP program which will populate a simple internal table(it_ekpo) with data and display it using the basic ALV grid functionality(including column total).. meins TYPE ekpo-meins..

When using some of functionality available via ALV. build_fieldcatalog. For the purpose of this example i will build the fieldcatalog manualy by populating the internal table fields individually and then appending the rows. ************************************************************************ *Start-of-selection. Field type may be required in-order for the 'TOTAL' function to work. *ALV data declarations data: fieldcatalog type gd_tab_group type gd_layout type gd_repid like slis_t_fieldcat_alv with header line. *&---------------------------------------------------------------------* *& Form BUILD_FIELDCATALOG *&---------------------------------------------------------------------* * Build Fieldcatalog for ALV Report *----------------------------------------------------------------------* form build_fieldcatalog. you need to ensure that all fields required are populated. . START-OF-SELECTION. such as total. * fieldcatalog-do_sum = 'X'. fieldcatalog-key = 'X'.netpr TYPE ekpo-netpr. DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0. Beware though. clear fieldcatalog. append fieldcatalog to fieldcatalog. perform perform perform perform data_retrieval. * fieldcatalog-no_zero = 'X'. fieldcatalog-outputlen = 10. slis_layout_alv. slis_t_sp_group_alv. You may need to provide more information than if you were simply displaying the result I. sy-repid. fieldcatalog-emphasize = 'X'. * * * * * * * * * * * There are a number of ways to create a fieldcat. peinh TYPE ekpo-peinh.e. display_alv_report. fieldcatalog-seltext_m = 'Purchase Order'. wa_ekko TYPE t_ekko. END OF t_ekko. build_layout. fieldcatalog-col_pos = 0. This method can be the most time consuming but can also allow you more control of the final product. fieldcatalog-fieldname = 'EBELN'.

fieldcatalog-seltext_m = 'Item change date'. clear fieldcatalog. fieldcatalog-fieldname = 'MATNR'. fieldcatalog-col_pos = 6. append fieldcatalog to fieldcatalog. append fieldcatalog to fieldcatalog. fieldcatalog-seltext_m = 'Material Number'. clear fieldcatalog. clear fieldcatalog. fieldcatalog-col_pos = 7. fieldcatalog-seltext_m = 'Net Price'. clear fieldcatalog. fieldcatalog-col_pos = 2. fieldcatalog-outputlen = 15. fieldcatalog-fieldname = 'AEDAT'. fieldcatalog-seltext_m = 'Status'. fieldcatalog-col_pos = 8. append fieldcatalog to fieldcatalog. fieldcatalog-fieldname = 'STATU'. fieldcatalog-seltext_m = 'Price Unit'. fieldcatalog-col_pos = 4. " BUILD_FIELDCATALOG *&---------------------------------------------------------------------* *& Form BUILD_LAYOUT . fieldcatalog-fieldname = 'MENGE'. fieldcatalog-do_sum = 'X'. clear fieldcatalog. fieldcatalog-col_pos = 1. clear fieldcatalog. fieldcatalog-seltext_m = 'PO Item'. "Display column total fieldcatalog-datatype = 'CURR'. fieldcatalog-seltext_m = 'PO quantity'. append fieldcatalog to fieldcatalog.fieldcatalog-fieldname = 'EBELP'. fieldcatalog-col_pos = 3. append fieldcatalog to fieldcatalog. append fieldcatalog to fieldcatalog. append fieldcatalog to fieldcatalog. fieldcatalog-fieldname = 'NETPR'. fieldcatalog-col_pos = 5. clear fieldcatalog. endform. fieldcatalog-seltext_m = 'Order Unit'. append fieldcatalog to fieldcatalog. fieldcatalog-fieldname = 'MEINS'. clear fieldcatalog. fieldcatalog-fieldname = 'PEINH'.

gd_layout-no_input = 'X'.*&---------------------------------------------------------------------* * Build layout for ALV grid report *----------------------------------------------------------------------* form build_layout. * gd_layout-totals_only = 'X'. call function 'REUSE_ALV_GRID_DISPLAY' exporting i_callback_program = gd_repid * i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM * i_callback_user_command = 'USER_COMMAND' * i_grid_title = outtext is_layout = gd_layout it_fieldcat = fieldcatalog[] * it_special_groups = gd_tabgroup * IT_EVENTS = GT_XEVENTS i_save = 'X' * is_variant = z_template tables t_outtab = it_ekko exceptions program_error = 1 others = 2. endform. gd_repid = sy-repid. * gd_layout-header_text = 'helllllo'. gd_layout-colwidth_optimize = 'X'. " DISPLAY_ALV_REPORT *&---------------------------------------------------------------------* *& Form DATA_RETRIEVAL *&---------------------------------------------------------------------* * Retrieve data form EKPO table and populate itab it_ekko *----------------------------------------------------------------------* form data_retrieval. endform. endif. * gd_layout-f2code = 'DISP'. gd_layout-totals_text = 'Totals'(201). "Sets fcode for when double * "click(press f2) * gd_layout-zebra = 'X'. " BUILD_LAYOUT *&---------------------------------------------------------------------* *& Form DISPLAY_ALV_REPORT *&---------------------------------------------------------------------* * Display report using ALV grid *----------------------------------------------------------------------* form display_alv_report. . * gd_layout-group_change_edit = 'X'. if sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

who may have finished updating this employee. Exit the current screen and wait until payroll processing is complete or change the control record (transaction code PA03) if you are not in your Production client and you have the required security access to do so. The employee is currently being maintained in another session. You have locked key PREL ######## [Pers No.] Key PREL ######## locked by user ######## Payroll area M1 is locked for on-line maintenance Data entry for correction period. endform. The change is being made whilst the payroll control record is in a correction. The master data changes made affects previously generated results. You have attempted to change payroll data whilst the payroll is locked for processing. Contact the other user . This will ensure that this employee will be processed as part of the next matchcode W payroll run. Change the period by inserting specific start and end dates. " DATA_RETRIEVAL SAP HR Common Error Messages Personnel Administration Error Message No data stored for xxxxxx in the selected period Reason for Error and Solution thereof The date or radio button in the "Period" box is before the employee's hire date. The employee is being maintained by another user.select ebeln ebelp statu aedat matnr menge meins netpr peinh up to 10 rows from ekpo into table it_ekko. The employeesinfotype 3 (field: "Earliest MD Change") will be updated to allow the payroll to carry out retroactive calculations. payroll area M1 Enter data for payroll past (retrospective accounting) . Close one of the sessions and continue to maintain the employee. Use transaction code PA20 if you only wish to display information.

Recurring Payments and Deductions Amount is impermissible entry This wage type does not allow direct entry of an amount. then amend the configuration.xxxx Check table T510w to ensure that all the ESG for CAP point to the correct period modifiers rather than a default one.yyyy The existing infotype record will have the "To" date delimited to the day before the new record you have entered. The wage type characteristics (table T511) have been set up to allow the entry of a . Planned Working Time ATTENTION: Please check Basic Pay data The field "Monthly Working Hours" in IT 0007 must have the same value as "Work hours/period" in IT 0008. Use transaction code SM31 to add the entries.yyyy will be delimited to dd.mm. Use a dynamic action (table T588Z) to update this field on IT 0007 whenever IT 0008 is modified. Basic Pay No Entry in table T529Q for period modifier 03 for time xx.xx. Check that the employee is active in the chosen payroll period.mm.yyyy The work schedule allocated to this employee has not been generated. in fact. Check the settings on table T511_B for the wage type's entries for ESG or PSG.mm. If you would like to know where in the IMG these entries are entered .. Employee not selected during payroll run Check that you have chosen the correct payroll area on the selection screen. This relates to wage type permissibility.use the customising option on SM31. Entries need to be added to this table.To period of record dd. If they are. This record will cause another record to be deleted The infotype record you are creating or changing will replace the previous infotype record. be allowed this wage type. Monthly WS deleted or does not exist for dd. Check to see whether this employee should. No Entry in Table xxxxx Wage Type not allowed for ESG/PSG . This value is fed into the field on IT 0008 from IT 0007 when the initial hire action is carried out..

number of units instead. Always enter both number and unit. This is one of those odd messages. The wage type wants just an amount and you have entered either:

  

a number and no amount, or; a number and an amount, a unit and an amount

Enter an amount with no number or unit. Do not enter units for wage type xxxx Clear these fields and enter an amount instead. Please enter an amount Both number and amount are blank. Enter a value as appropriate.

Bank Details
Retroactive entries allowed only up to the xx yyyy Banking details cannot be created or changed for pay periods that have already had the EFT transfer run. Change the "From" date to the start of the next pay period.

Personnel Event - Hire or Org/Pay Change
Number range nn is internal; please do not enter a personnel number Personnel numbers are assigned automatically from an internal range. Delete the entry in the Personnel Number field - the system will provide the number. You need to enter a valid "Reason for Action" This happens when hiring several employees in the same session. The system defaults to the Personnel Area of the person you hired last hired in the session - What to do.

No entry in table T530 for xx

Person and Position have different Personnel Areas

 

Delete the default entries for the Personnel Area, Employee Group and Employee Subgroup Click "Enter" - This will default in the correct Personnel Area, Employee Group and Employee Subgroup as per the Position If correct select Save

A008 relationships of S 500xxxx exceed working hours by nnn.nn% This position may have more than one incumbent. It is appropriate to have more

than one person in a position in the following circumstances; For a handover period two employees occupy the position. The position is designed to have multiple occupants - eg. Contractors may be set up in one position.

Absence & Attendance Entry
First day is a day of Warns that the first day of the absence or attendance period is a non-working day for this employee. Warns that the last day of the absence or attendance period is a non-working day for this employee. Alerts you that every day of the absence or attendance period is a non-working day for this employee. This occurs when you try and enter an absence quota for an employee whose absence quota does not exist in the validity period as a default value. The table is T559V.

Last day is a day off

All days in the period are days off

No validity interval for key 1 08 05

This will cause leave entitlement to become negative

  

Check leave balance in Leave View if required Confirm with supervisor that negative leave is approved Enter the absence ensuring that you select the appropriate absence subtype for negative leave

Please enter indicator OR absence/attendance type

When using the push button Abs./attendances in Calendar View for bringing up the data entry box for Absence/Attendance, an entry in one or other of the columns marked 'AC' and 'STy.' is required - not both. No data is currently held on infotype 0005. Create the record.

No data stored for leave entitlement for the selected period

No entry in table T551C for key 0GR071998081 10000000000 Check to make sure you have assigned the period work schedule valuation classes and counting classes. The two IMG Paths are as follows: Time Management Time Recording

Absences Absence Catalog Absence Counting Define counting classes for period work schedule And Time Evaluation Time Evaluation with Data from Sub System/Time Evaluation Without Clock Times Time Wage Type Selection and Overtime Compensation Define valuation classes for period work schedules "No entry in table T551C for key 10GR071998081 10000000000" The error message number is P2501. When I try to get the help for the message, I find the help contains nothing more except the message ID. Table T551C entries required on the 11/08/2998 for absence type GR07

Payroll Reports
Please do not enter a period You have entered a payroll period but the radio button says "Current Period". Either delete period entry to use the current Period or change radio button to "Other Period"

Error when retrieving results: CLUSTER DIRECTORY NOT FOUND Your selection criteria have not yielded any employees. Check the criteria, in particular that the payroll period exists.

General
Changes to Repository or cross-client Customising are not permitted You have attempted to change an object in a client which has not been set to allow client-independent changes. Check the settings on table T000 and get the System Administration team to change the setting on the table. If allowed you can do it yourself using transaction code SCC4

Number range HRTEM_REFN does not exist You usually get this error whilst trying to post costs from Training and Events to Controlling. The solution is to create an external number range - but don't tick the "External" tickbox

Payroll
Change too far in payroll past Appears if you want to change an infotype relevant to retroactive

select all infotypes and delete the employee. No entry in table T529Q for period modifier 03 for time 01. General Payroll Error Messages NCALE “P” eriod mark missing on dd.which is fine for weekly employees.GB Monthly. The permissible entries may point to a weekly period parameter . When creating or changing a message in T100C make sure that you do not fill in a user name . .04. replaced with This needs to be run as part of the absence Data Take on process to fill tables AVERAGE and NCALE.2001-06-20 Deletion forbidden Results has been posted with posting run <nnnnnnnn> An error occurs when attempting to delete employee's records whose payroll results have been posted to finance. It actually points to table T549Q which in turn points to table T510W. Using transaction PU00.follow-up prog dates have been removed. Check that the employee is active in the payroll period that you have chosen. You can change the error messages from an E to a W. program Z_FILL_NCALE has been standard programRPLABSG0_SXP_OXP_CONV (transaction code is PC00_M08_CONV). Get the monthly combinations to point to a monthly period parameter eg 51 . ensure the Accounted To.accounting and the start date for this infotype lies before the earliest retroactive accounting limit Employee not selected during payroll run Check that you have chosen the correct payroll area on the selection screen. T100S & T100C .otherwise it will only be specific to that particular user. This error message is misleading as this table does not exist. This table holds the link between the payscale type and area and the period parameter. Earliest MD change and Recal.leave the field blank .yyyy Run Transaction PC00_M08_CONV As part of GBSXP phase II in the UK.   Using transaction PU03.hold the information relating to the SAP standard error messages.mm.

IT0121 and IT031 have been deleted from the employments and employees rerun through payroll.07. rather separate periods of employment (i. EARLIEST RETRO. Error due to multiple employments being linked but not overlapping in a time period.08. Check IT0008 record.e.04. It can also occur when the employee has results from one payroll area and then changed payroll area over the same period – results across different payrolls for the same period are not permitted.2004 Failure in processing of GBSXP. Also check ME consistency report.2006 . Make sure that table T549S is changed back to the initial configuration (which is reflected in the payroll results). Then clear run up to date and run through the primary contract. is before pers. Retroactive accounting date set by system. 01.7.2006. therefore. In addition. The official fix for this error is contained in HRSP 40/41 for version 4. Table T549s should not be changed after payroll run (payroll area) If the multiple employment solution is used. For example. employee has moved from weekly paid to monthly paid and has moved out of the weekly paid payroll area before the end of a weekly period. For the UK.08. all contracts need IT0065 and IT0069 to process through payroll. Had to set the run up to date as the end date of the previous period and run GLK0. Likelihood there is no basic pay to derive a daily rate from or zero hours in IT0008. 01.Payroll calendar T549Q invalid (permo/yr/per) Error message in GCRTO of Gross to Net stating Multiple Employment: Court Order amounts from OTHER contracts. Retroactive accounting date set by system.08.2005 This employees earliest MD change is before go-live the person will be overpaid by up to a full year Unless payroll results are deleted. changes to the table with pay dates (T549S) are no longer allowed after the payroll for the period has been run.2006) Highlighted employee is in a payroll area not set for paying.2004. Wage type /010 must be in table IT to perform offsetting on 02. is before pers. Check Payroll area in IT0001 – may need to delete results and rerun. 01. where a court order is maintained. This can occur in a multiple employment scenario where one contract is in a paying payroll area and the other is in a non paying payroll area.2006 or Employee has changed payroll areas before the end of a current period. this is copied across all contracts. EARLIEST RETRO. even if those contracts have been terminated. SAP cannot derive a daily rate for this employee to calculate SSP/OSP entitlement.04. Enter the last day of the period being run in the „run payroll up to‟ field in IT0003. they are not true multiple contracts. SAP best practice says all linked contracts should be in the same payroll area. Payroll Period for Contract nnnnnnnn Is Not Defined (01.08.31. one contract finished before the next one starts). Other contracts do not and have never had court order payments. Multiple employee has a terminated employment that needs to be run through payroll. Company code xxxx is not assigned to an FM area This error is due to a configuration setting in Financial Accounting. This can occur when you have multiple employments across different payroll areas which SAP does not support. . 26.

04.00- APC1C2C3ABKoReBTAwvTvn Co.2005 Wage type 1005 in IT0008 has a value of zero.Error when processing a particular wage type wxyy Termination nnnnnnnn G0103***** Basic A 3 Wage type wxyz name in of wage operation type ERROR ERROR : number wxyz Amo 15. RGDIR import failed Multiple employments linked across different payroll areas. Termination nnnnnnnn G030****** Basic A * Wage ERROR entry type /134 in # = in = operation = IT One amount/one pa number = = ERROR = : Amount 99.car: Processing class missing on wage type /134. or The person concerned should not be receiving the allowance. Happens where no value is maintained in processing class 01 against the wage type which is failing.2006” Wage type nnnn is indirectly valuated but the value in infotype 0014 for this wage type is reading zero. Error during indirect calculation: Infotype 0014 subtype nnnn Error message: “IndVal of wage type nnnn: No entry in table T510 for key '08CLC137005' on 01.04. Could be IT0014/IT0015 deductions or a cash AVC/loan. Payroll period for contract XXXXXXXX is not defined . Error during indirect calculation: Infotype 0008 subtype 0 IndVal of wage type 1005: No entry in table T510 for key '08CMC11ADLRNTUT05' on 01. This period's taxable pay takes total year to date into a negative situation (Perhaps due to backdated changes in a previous tax year Employee has deductions of some kind but no earnings or earnings that are less than deductions. entry in One WT IT amount/one APC1C2C3ABKoReBTAwvTvn name of Current entry in OT: Error in processing through PCR G010 (or customer copy of this).

Employee is in a payroll area not defined for payroll processing.

/121 Taxable pay goes into a negative situation for an employee on the line:
PIT GGDN NOAB Interpret NI retro changes Error in processing of GB Gross to Net in PCR GGDN – Interpret NI retro changes. Employee is a late leaver so it is trying to bring forward a negative taxable pay from a previous period. These situations are dealt with through schemaGRET. If the employee is a multiple employment you will get a further error message. You can not run GRET (9RET) for multiple employments where one contract is still active. You need to create a wage type for a positive amount for the same value as the negative amount in the rejection and run the employee through the normal schema (9000). You then need to deduct this same amount from (one of) the remaining active employment(s). This will ensure the employee balances.

'Not the most recent period paid to this person'
This error occurs when payroll results for a later period exist for an employee. The solution is to remove the date in the “accounted to field” on IT0003 and run the schema GRET (or your customer equivalent).

Negative Payments ('NP' T7PBSDEC_WTGRP) don't include wage type XXXX
Failure in function XDEC due to missing wage type in wage type group NP. Wage type needs adding in to wage type group NP through transaction pu96. Once having entered the transaction code go and find the relevant wage type and select it. You will notice that the line is now highlighted – as are all the other wage types which are relevant for the group NP. Save and transport through to PRD.

Payroll Go-Live date 01.04.2005 must equal period start date 28.03.2005 (Feature GBPLG)
Feature GBPGL is not set up properly for go live period. Feature GBPLG needs maintaining for each payroll area you are going live with. Date in feature should be the start date of the first period of go live.

DTO wage type TOFM not stored in IT0015 for first live payroll (27.03.2005 - 02.04.2005)
Employee has a maternity absence which spans the go live period. Both wage types TOFM and TOOM need entering with a date of the first date of the first period being run. Same message for Adoption and Paternity absences but different wage types. Only required for go live.

ME SMP: Inconsistent SxP record between xx.xx.xxxx and xx.xx.xxxx (infotype 0088)
IT0088 should be copied across all contracts for multiple employment for consistency using a dynamic action which is part of the ME solution. ME SMP: Inconsistent absence between xx.xx.xxxx ME SMP: Inconsistent SxP record between xx.xx.xxxx and xx.xx.xxxx (infotype 0088) and xx.xx.xxxx

An IT2001 SMP‟able absence has been extended without IT0088 being extended. Extended the IT0088 record in line with the 2001 entry and re-run through payroll.

SMP Error; Employee has no valid MATB1 form between 29.08.2006 and 28.08.2007 (IT0088)

Problem with IT0088. Check MATB1 date is correct.

Termination in operation ERROR
Rejection in G010 (or customer copy) when processing AWE override wage types AWEM, AWEA, AWEP, AWES through IT0014. This is because IT0014 is processed earlier in the schema than IT0015. These wage types are required in IT0014 for DTO purposes. Ensure processing class 01 = 0 and processing class 03 = 0 for these wage types. (see SAP note 825164)

Wage type incorrectly reduced. A deduction wage type was not completely reduced by the amount in table DDNTK Wage type xxxx. Please check whether the wage type is still in table IT at the time of the PRDNT function (processing class 20).
Should be fixed by SAP note 794021. If the application of this note does not fix the error, it is possible that the wage type in error is missing a value in proc essing class 41. This value should be set to „3‟. Also check the priorities of deductions table V_T51P6.

Late Leaver processing not possible. Employment xxxxxxxx is still active on dd.mm.yyyy
Multiple Employment employee has a contract which is a late leaver. SAP does not support running schema GRET for a late leaver contract for multiple employment. If you process GRET you get the above error. SAP recommend that in this scenario, you maintain a value in a customer wage type which equates to a positive amount for the failure on the negative taxable amount (i.e. failure on negative taxable pay of –115.15; create a wage type for the amount of +115.05) on the late leaver contract and process through contract G000 (or copy of G000). Use the same wage type to deduct this amount from the active contract(s) and run through G000 (or copy of G000).

Enter rate / GBP rate type M for 01.04.2005 in the system settings
Wage type in IT0014 or IT0015 has been entered without a currency. Check config of wage type.

Late-leaver period; no payment made in error correction permitted
IT0793 has been entered for an employee who is a late leaver. Cannot use IT0793 to adjust NI refund for a late leaver – not supported as part of the NIPE functionality.

Wage type /011 must be in table IT to perform offsetting on 13.11.2005
This is caused either by a claims based person who has had IT0088 and 2001 copied from another employment and has had no claims or the person has a 2001 sickness copied from another employment and has no IT0008 – delete IT0088 and the corresponding 2001 records from the claims based record or create the missing IT0008.

Employee has no Date Specification in Infotype 0041 for Date Type 01
Add the correct date for the date type specified in the above message.

Division by zero not performed Calculation rule xyz
Check that the wage type has been input correctly, in the above case an amount has been used instead of a

number and unit.

STOP: No rule in key 9060*0NIL< * * * *
Check absences on IT2001 - Absences that may only be unpaid for a full day have been entered as a half day. Only certain absence types are allowed to be @ half pay.

Payroll Error Messages - NCALE
When running the NCALE fix with transaction PC00_M08_CONV you get a blank screen (i.e. no data in the list) you will need to check the errors by clicking on the “yellow lightning bolt” icon.

DTO check error: infotype 0014 contains no entry for AWEM (06.11.2005 - 17.12.2005)
Create the necessary AWEx entry mentioned in the error on infotype 0014 and delete/lock the AWEx entry on infotype 0015. Also check and extend IT0088 if necessary.

SSP Error; Table PERIOD HISTORY contains no entries for absence 13.11.2005 - 24.12.2005
Re-process the employee through payroll after checking that the Master Data Change Date (IT0003-RRDAT) has been updated to re-process this date. (13.11.2005)

Costs table is empty for period 200601, run in period 200605
Costs table in XDEC has not been filled for a previous period. Run transaction SA38 in the program command and enter the program as RPUDECG0PBS_FILL_COSTS for a single employment and RPUDECG0PBS_FILL_COSTS_ME for multiple employments Enter in periods to be updated and employment numbers as well as appropriate dates to start dates for conversion.

Inconsistency exists between table RT and COSTS for wage type nnnn
Failure in function XDEC on a pension wage type. Pension record in IT0071 changed relating to a period for which costs have already been apportioned in table COSTS. Ie employee has results in a period, which has then been exited. Backdated pension changes causing a retro calculation, which cannot reconcile table RT with table COSTS.

There is a cost distrib.of 50.00% without company code from 01.09.2004 to 30.09.2004
Employee is assigned to 2 positions simultaneously, one of which does not have a cost centre and/or company code associated with it, therefore, costs can not be distributed across all cost centres.

Infotype 0007 does not exist or is incomplete for 01.08.2006
Where an employee with linked multiple employments exists but one or more of those other linked employments does not have a defined work schedule. Go and create the infotype 0007 (planned working time) for the relevant employment.

GBSXP

X

Process

Statutory

Absences

(Factored

Up)

No qualifying days 24.04.04. check time processing log inRPCALCG0 and double click „Jump to DAYPR to detailed log‟.2005 . No qualifying days 17.yyyy) The employee number missing from field P0121-RFPN4.2005.04.23.2005.2005. QDP defaulted SSP QDP. Multiple Employment employee with an inactive primary employment (dd. No qualifying days 17. Change the control record back to a previous period.2005.04.30.2005 . SAP is trying to calculate a daily rate for SSPbut employee is not scheduled to work on the days where an absence is recorded.04.30.23.2005 .04.mm.2005. Incorrect generation of wage types Error where no entry in counting class for Daily Work schedule in T551C.2005 .2005 . SAP has removed all reference to the employee number including the entry from field RFPN4. QDP defaulted to Wednesday SSP QDP. No qualifying days 24.2005 SSP QDP. All non-primary contracts need processing before the linked primary contract. QDP defaulted SSP QDP. No qualifying days 24.23. QDP defaulted to Wednesday to to to to to to to to to Wednesday Wednesday Wednesday Wednesday Wednesday Wednesday Wednesday Wednesday Wednesday Employee has no IT0007 record or a IT0007 record with no working days. This will take you to the error stored in Time Evaluation.2005.04. QDP defaulted SSP QDP.mm.30. This can occur where a primary contract record is removed/deleted or changed after the payroll has initially calculated results for the employee. QDP defaulted SSP QDP. Wage types /011. No qualifying days 24.04. QDP defaulted SSP QDP.2005 .04. QDP defaulted SSP QDP.2005 . No qualifying days 24.2005 .yyyy - .04. No qualifying days 24. No qualifying days 24.04.04. No qualifying days 17. Jump from DAYPR to detailed log.30.30.30. When the primary employment is deleted.04. QDP defaulted SSP QDP.04.2005 . No qualifying days 17. QDP defaulted SSP QDP.04. QDP defaulted SSP QDP.04.2005 . Calculate first non-primary contract nnnnnnnn for primary contract nnnnnnnn You will see an error message in the payroll log along the lines of “calculate first non -primary contract nnnnnnnn for primary contract nnnnnnnn”.30.04.04.2005.2005.04. Wage type /010 must be in table IT to perform offsetting on 06. In essence you have tried to process the primary employment first – without having any results for one of the secondary employments.2005.mm. delete the earliest dates in IT0003 and then set the control record back and reprocess the payroll. Multiple employment employee without a primary employment (dd. To see the error.2005.04. Paternity and Adoption absences. /012 and /013 will be issued for the same reason but Maternity.yyyy – dd.2005 .04.4 Processing / Average Weekly Earnings calculation U Message (000) (language EN) not found Input U 000 nnnnnnnn for personnel number Data issue due to linked employments across different payroll areas with different period modifiers. This situation is not allowed in SAP as it will cause inconsistent payroll results.04.23.2005. A new primary employment needs to be assigned.04.

00. This means that you and other users will be able to find these details quickly by simply searching on the object name. According to control record for PArea TA. /565 Carry-over for subs.PNPCE Logical Database: Database Program SAPDBPNPCE is a standard ABAP report available within your SAP system (depending on your version and release level). payroll is not completed Payroll period for which you are trying to post has not been exited.12. All linked employments are rejected from Payroll in this scenario. IT0121 is delimited for this employment and the newly created IT0121 does not contain this number. includes etc.month IT0009 bank details are missing – update bank details and re-run SAPDBPNPCE SAP Report . Period needs to be exited through PA03. Ensure that when an employment leaves.12. ME transfer error: Total Gross mismatch (Cost NI Payment 7748) Run program RPUDECG0PBS_FILL_COSTS_ME via transaction SE38. This will fill the cost tables and solve the XDEC error. SAP Documentation for program SAPDBPNPCE . IT0121 record is valid from a start date after the primary employment left Where all contracts are terminated.0000 in T511K (country grouping 08) Inconsistency between IT0088 on Multiple employment contracts No multiple employment NI calculation if late leaver and late starter If an employee holds more than one contract NI calculation is restricted to cases in which the individual contracts will be not a late starter and a late leaver at the same time.9999 in IT0121.mm. this employment number is maintained in IT0121 after their leaving date. • Or.yyyy) • An employment that has left is assigned as the primary. • Or. Below is the standard documentation available for this report and a few details of other objects it interacts with such as tables.dd. Payroll constant ELGWK not found on 00. function modules. Check IT0001 to ensure the start and end dates do not correspond to late starter and late leaver period. If this occurs (as in the present case) master data has to be adjusted to prevent the occurence of a late starter and late leaver at the same time. Any date less than 31. If you would like to see the full code listing simply enter the object name( SAPDBPNPCE ) into the relevant SAP transaction such as SE38or SE80 Within the comments section below there is also an opportunity for anyone to be able add useful hints and information specific to this SAP object.9999 will cause an error in payroll. ensure that one terminated primary contract remains with an end date of 31.

The flag is initial for all personnel numbers that are not selected. all other components of the PERNR structure are no longer filled and have initial values. The enhanced functionality of PNPCE in comparison to PNP essentially concerns the evaluation of Concurrent Employment. In the next step. The use of the 'GET PERNR' event is therefore forbidden. the report can set or delete this flag at the GET PERSON event for all personnel numbers. The GROUPING_REASON and GROUPING_VALUE components contain the grouping reason and grouping value of this group. PREREQUISITES A report that wants to use the PNPCE must enter this in its report attributes under Logical database. you can also use the 'GET PERSON' and 'GET GROUP' events. the report indicates that it does not require the functionality for evaluating Concurrent Employment. if the report uses the functionality for evaluating Concurrent Employment we refer to CE mode. each report benefits from this even if the report does not use the functions for evaluating Concurrent Employment. You can only use the PERNR structure again in certain circumstances. or 'NODES PERAS'). The person ID is specified in the OBJID component of the PERSON structure. These are discussed in more detail in the following sections. The use of these new functions is optional. the PERNR structure must be declared in the report using the 'TABLES PERNR' statement. This flag is set to X by default for the personnel numbers selected. the possibility to group evaluate several assignments/personnel numbers of a person. 'NODES GROUP'. To be able to use these events. The new events 'GET PERSON' and 'GET GROUP' as well as an enhanced syntax for the INFOTYPES statement (addition AS PERSON TABLE) for the procurement of infotype data enable you to use the new functionality. this set of personnel numbers is then sorted according to the sort criteria you selected. the persons belonging to the personnel numbers are determined first for all personnel numbers selected. In this case. PERNR_NUM contains the total number of personnel assignments (= personnel numbers) that this person has and the ALL_PERNRS table. The PROCESS flag specifies whether the personnel number should be processed in the rest of the process. the report runs in a PNP-compatible session. that is. The number of personnel numbers that belong to this . All available functions and selection conditions leads to the selection of personnel numbers. However. It includes the functions of the PNP logical database and offers additional evaluation options. This is referred to as PNP mode in the following documentation. the logical database groups all personnel numbers of a person that are to be processed (that is. In CE mode. In this way. Instead. FEATURES Process of an Evaluation The PNPCE selection screen offers you as standard a range of functions that you can use to restrict the personnel number and person selection. The process is initially as follows regardless of whether the report runs in CE or PNP mode. In addition. In addition to the 'GET PERAS' event. In PNP mode. The report can control the type of grouping using the PNPCE_GROUPING_FROM_PAYROLL flag (normal or payroll grouping) and using the PNPGPRSN (grouping reason) and PNPGPVAL (grouping value) parameters of the selection screen. You can run a PNPCE report that does not use the new events and the addition for the INFOTYPES statement in a PNP-compatible session. Since the PNPCE also has an improved selection screen. Therefore. report and logical database communicate with each other which enables the report to control the rest of the process. The SELECTED flag is set to X for the personnel numbers selected. use the 'GET PERAS' event. all personnel numbers that have the PROCESS flag set). Except for the PERNR-PERNR component. the GET PERAS event is triggered as a result for each personnel number. If you use the sorting function. The GET GROUP event is triggered for each group of personnel numbers determined.PURPOSE The PNPCE logical database supports the evaluation of HR master data. On the other hand. The GET PERSON event is then triggered for each person. Explanation of Terms If the 'GET PERSON' and 'GET GROUP' events and the 'AS PERSON TABLE' addition for the INFOTYPES statement are not used. you should use the PNPCE logical database instead of the PNP logical database for all new developments. This kind of programming (with the exception of PERNRPERNR) is therefore not permitted. which contains a list of these personnel numbers regardless of whether they were actually selected or not. you must declare them using the NODES statement ('NODES PERSON'.

the GET PERAS event is called for the personnel numbers of a person in the sequence in which the personnel numbers were (originally) sorted. only the first personnel number determines the sort sequence of persons. INFOTYPES nnnn AS PERSON TABLE The nnnn infotype is provided at the GET GROUP event with the data records of all personnel numbers that are in the included ALL_PERNRS table (of the GROUP structure) and for which authorization exists (NO_AUTHORITY flag is not set). RP_SET_DATA_INTERVAL_INFTY. All other personnel numbers only determine the sequence in which the GET PERAS event is subsequently called. RP_SET_DATA_INTERVAL_INFTY. the report can specify which data records are to be provided using the RP_SET_DATA_INTERVAL. and GROUPING_ENDDA components have the same meaning here as with the GET GROUP event. you must specify the INFOTYPES statements where the variable declarations are made. The NO_AUTHORITY flag is set if there is insufficient authorization for a personnel number. If only one person exist for each selected personnel number. and RP_SET_DATA_INTERVAL_ALL macros. Retrieving Infotype Data Records As well as triggering the GET PERSON. which controls the further pr ocessing sequence of the personnel numbers. Sort Order You can sort the list of selected personnel numbers using the Sort function in the application toolbar. the sort determines the sequence in which the GET PERSON event is called. INFOTYPES nnnn AS PERSON TABLE MODE P The nnnn infotype is provided at the GET PERSON event with the data records of all personnel numbers that are in the included ALL_PERNRS table (of the PERSON structure). the sequence of persons corresponds exactly to the sequence of personnel numbers. The SELECTED flag specifies whether the current personnel number was originally selected (flag is set) or was marked by the report as to be processed. the logical database also provides the data records of the infotypes that are requested using the INFOTYPES statement. the sorted sequence determines exactly the sequence in which the GET PERAS event is called. Only the data records that are in the evaluation period specified in the selection screen are provided ( this is different to PNP. The SELECTED. You should do this in any case before the first code is entered. This personnel number is not processed further. The PROCESSED_BEFORE flag specifies whether the personnel number has already been processed once before (it is possible that the personnel number belongs to several groupings and has been therefore been processed several times). which provides all data records by default). . Since several data records can exist for infotype 0001 for a personnel number. In PNP mode. The GET PERAS event is then triggered for all personnel numbers of the group (with the exception of the personnel numbers for which no authorization exists) in the sequence defined by the SORT component (see above). report and logical database communicate with each other. Alternatively. The list of persons is created based on the (sorted) sequence of personnel numbers.group and that are processed subsequently is in PERNR_NUM. and GET PERAS events. GET GROUP. Alternatively. The included ALL_PERNR table contains a list of these personnel numbers with additional information. and RP_SET_DATA_INTERVAL_ALL macros. You can choose to include up to seven fields from infotype 0001 for the sort. However. the report can specify which data records are to be provided using the RP_SET_DATA_INTERVAL. In this way. there are three types of INFOTYPES statements: INFOTYPES nnnn The nnnn infotype is provided with the data records of the current personnel number at the GET PERAS event. In principle. In the report. GROUPING_BEGDA. Provided that the report does not require the personnel numbers to be resorted by manipulating the SORT component at the GET GROUP event (see above). In CE mode. The use of the RP_SET_DATA_INTERVAL. GROUPING_BEGDA and GROUPING_ENDDA contain the validity period that the personnel number has for this grouping. The SORT component defines a standard sort order for the personnel numbers of a group. if several selected personnel numbers lead to the same person. No authorization check is performed and all existing data records are provided independent of how the evaluation period is defined in the selection screen. and RP_SET_DATA_INTERVAL_AL macros also has no influence here. Only the data records that are in the evaluation period specified in the selection screen are provided. RP_SET_DATA_INTERVAL_INFTY. The report can change this by overwriting the values. you also need to specify for period evaluations (not the case for key date evaluations) whether the sort should take place according to the values of the last or of the first data record in the person selection period.

You can assign a report category to a report in maintenance of report attributes (SE38. see the Customizing for Personnel Management -> Personnel Administration -> Basic Settings -> Maintain Search Helps. You can also use additional selection fields that are the concatenation of two or more of these infotype fields. This happens either explicitly when you press the button (behind the selected selection ID). the Dynamic Selections. Since the PNP logical database also uses the concept of report categories. Restrict by OrgStructure.Selection Options You can use all the functions and selection options in the selection screen (initially) to select personnel numbers regardless of whether the report is running in PNP or CE mode. You can define the selection view in the ABAP Workbench. If you use a search help. the Restrict by OrgStructure. Here you can select the organizational units to which the personnel numbers to be selected should belong. according to customer-specific infotype fields. Change button -> HR report category button). Restrict by OrgStructure You can also select personnel numbers by their position in the organizational structure. see the Define Selection IDs Customizing activity under 'Personnel Management' -> 'Human Resources Information System' -> Define Selection IDs. For information on how to use and create selection IDs. Only in CE mode. Whereas the person selection period affects the . Search Help. If you use a selection ID. in particular. Selection ID You can also restrict the number of personnel numbers to be selected using a predefined selection method called a Selection ID. and Selection ID functions are not available. The report category defines a preselection of fields that should be available. and Search Help functions are not available. The report category controls whether this appears as a dialog box or inplace. You must choose For any table as the type of selection view (the For logical database type is not permitted although you may have presumed differently at first). It is insignificant if the personnel numbers are assigned to the selected organizational unit directly or to one of its subordinate organizational units. If you use the dynamic selections. and Selection ID functions are not available. do not use these concatenated fields because they do not play a significant role in the selection and can lead to long runtimes in certain circumstances. Both these periods are summarized in the term evaluation period. you use the OrgStructure function in the application toolbar. To do so. If you restrict the selection by organizational structure. ensure that you assign only one report category that is created specially for the PNPCE database to a PNPCE report. The environment in which these functions are actually used depends on the report and its report category. The functions that PNPCE provides to restrict the selection are described in the following. or implicitly when output starts (F8). Selection Fields of the 0000 and 0001 Infotypes You can use all the standard fields of the 0000 and 0001 infotypes for selection. How you Specify Groupings of selection IDs is also described here. For a description of how to do this. When you select a selection ID. the persons belonging to these personnel numbers are then determined. The selection IDs whose grouping is stored in the report category are available to you for selection on the PNPCE selection screen. You can show and hide the dynamic selections using the Dynamic Selections function in the application toolbar. If possible. To do so. You can show and hide the required selection fields using the Selection Fields function in the application toolbar. Restrict by OrgStructure. Dynamic Selections The dynamic selections enable you to select according to any infotype fields and. Search Help. The basis for the dynamic selections is a selection view that defines which infotypes and which fields can be used for selection. Evaluation Period The PNPCE (and the PNP) differentiates between the data selection period and the person selection period. The customer can override this assignment. The report category is used to control which selection view is used for the dynamic selections. the Dynamic Selections. it is always performed. Search Help You can use the included search helps of the PREM collective search help by clicking Search Help function in the application toolbar. the Dynamic Selections. Attributes. perform the Assign Report Categories Customizing activity under 'Personnel Management' -> 'Human Resources Information System' -> 'Reporting' -> 'Adjusting the Standard Selection Screen'. that is whether the dynamic selections are supported at all. You can also add customer-specific search helps here. Follow the same path to define and change report categories in the Create Report Categories Customizing activity. This button displays the organizational structure. and Selection ID functions are not available.

for example RP_PROVIDE_FROM_LAST instead of PROVIDE-FROM-LAST. Most of these macros were adopted by PNP and defined there in the DBPNPMAC include. see the definition of the macro in the DBPNPCECOM include. A report should access the fields of the PN structure only if it requires this information and should not access the PNPBEGDA. Evaluation Period in the PN Structure The PN structure contains information about the evaluation period for which the evaluation is started regardless of how this is specified on the selection screen. You must enter the payroll area in both cases. The payroll period and payroll year are also in PN-PAPER. Retrieving data records for infotypes that were defined by the AS PERSON TABLE MODE P addition is an exception. You can select either the current payroll period or another payroll period. The report must also fill the relevant components of the PN structure at the START-OF-SELECTION event. you can set up both selection periods at the same time using a common list box. it is not meaningful to have this setting option on the selection screen and it should therefore be hidden using the report category. underscore_ instead of hyphen-. which has in the meanwhile become obsolete. The BEGDA and ENDDA contain the data selection period whereas BEGPS and ENDPS contain the person selection period. Do not use these macros for any purpose. RP_SET_DATA_INTERVAL_ALL . You can configure both separately on the selection screen by selecting an appropriate entry in each list box.selection of personnel numbers. the report can also set the data and person selection period explicitly. and PNPERMO the period parameters. PN-PABRJ the payroll year. Only the personnel numbers are selected that fulfill the selection conditions on at least one (key) date in the specified person selection period. If you have specified the evaluation period using a payroll period. and PN-ENDPS fields with values at the STARTOF-SELECTION event and in doing so. Alternatively. The report can query the evaluation period used via the PN structure. All data records of the requested infotypes that are valid on at least one (key) date in the specified data selection period are retrieved by default for these personnel numbers. Inversely. Some of the TRMAC macros in the DBPNPCECOM include were redefined with the same spelling but without the functionality so that any incorrect use (of the TRMAC macros) leads to a syntax error and is therefore excluded. For information about the exact syntax for calling a macro in view of its parameters and type specifications. RP_SET_DATA_INTERVAL_INFTY. This interval is used as evaluation period (as person selection period and as data selection period) for the further (internal) processing. PNPENDDA. The evaluation period is calculated from these specifications. The payroll period should be considered as a special feature for the evaluation period. You can control which entries are in the list boxes (that is which evaluation intervals are supported) using the report category. Setting the Data Selection Period: RP_SET_DATA_INTERVAL. The common part defined in this include means that the report and PNPCE have a common data area. They have a slightly different spelling. All switches that can be used by the report to control the process of PNPCE are defined here. PN-ENDDA. specifies the evaluation period. RP_SET_DATA_INTERVAL_INFTY. In addition. This is only meaningful if the manual maintenance of the evaluation period was hidden using the report category. all data records are retrieved independent of the data selection period. the data selection period controls the retrieval of data requested by the INFOTYPES statement. In this case. The PN-BEGDA and PN-ENDDA fields contain the data selection period. PN-BEGPS. The following describes the functions made available by the switches and macros defined in the DBPNPCECOM include. PN-PABRP contains the payroll period. This is automatically included in each report that is based on PNPCE. The report can also fill the PN-BEGDA. You can set up a different procedure using the RP_SET_DATA_INTERVAL. and other selection fields of the selection screen. The DBPNPCECOM include also contains a number of macros that PNPCE uses to make additional functions available to the report. The PN-BEGPS and PN-ENDPS fields contain the person selection period for which the personnel number selection was performed. This data area enables the data exchange for communication between the report and PNPCE. the report must ensure that the values specified are valid since there is no longer a validation of these values. Communication Between Report and PNPCE The DBPNPCECOM include is an element of the PNPCE logical database. You can find all the macros defined in PNP that affect the functionality of the logical database in the DBPNPCECOM include. and RP_ SET_DATA_INTERVAL_ALL macros. In cases like this. Additional macros still exist in the TRMAC table. The person selection period you have set up is taken into consideration when the personnel numbers are selected.

You should use the RP_SET_DATA_INTERVAL_INFTY macro in the same way but instead of entering the name in the first parameter. P0001 or PP0001 for example. it is not placed in the infotype table).. Since the same infotype can be used several times (under different names) when you use the INFOTYPES additions 'AS PERSON TABLE' or 'NAME . PNP_SET_INFTY_MODE_BY_NUMBER The INFOTYPES statement can use the MODE addition to control whether the infotype should be processed and how this should proceed. The time management infotypes are defined by the INFOTYPES statement with the MODE N addition. This enables the internal infotype table to be declared but no data is read (at the moment) by the PNPCE logical database. enter the number of the infotype.. this macro sets the MODE for all infotypes of the same number. In other words. The PNP-SW-IGNORELOCKEDRECORDS switch is also taken account of in both cases and controls whether locked data records are read or not. TO . This switch is otherwise set to 0. For this reason. TO . at the GET PERAS event. the report can call the RP_SET_DATA_INTERVAL. the PNP-SW-AUTHSKIPPED-RECORD global switch is set to 1. this data record is rejected (that is.The report uses the INFOTYPES statement to request infotype data records that are read and made available by PNPCE. Do not confuse the name of the infotype. If data records are rejected because of missing authorization. P0001 or PP0001 for example. MODE N enables the internal infotype table to be declared but no infotype data records are read by the PNPCE logical database. you can lock individual infotype data records. These data records are normally ignored during evaluations using PNPCE. Unfortunately.' addition. with the number of the infotype 0001 You should use the RP_SET_INFTY_MODE_BY_NUMBER macro in the same way but instead of entering the name in the first parameter. this can lead to performance problems or in an extreme case. Do not confuse the name of the infotype. particularly if positive recording is implemented.. there are the RP_READ_ALL_TIME_ITY and RP_READ_ALL_PERSON_TIME_ITY macros. to memory overflow. Setting the Mode of an Infotype: PNP_SET_INFTY_MODE_BY_NAME. PNPCE returns all data records that are in the specified data selection period on the selection screen by default. The report can specify that it only requires data records that are valid in the specified period using the 'VALID FROM . If you do not use the 'VALID FROM . the RP_SET_DATA_INTERVAL_ALL macro only has the validity period as a parameter and sets this for all infotypes used.' addition in most cases because it does not accept dynamic date specification.'. If the addition is not used. If no authorization exists for a data record. In contrast. the report can call the RP_READ_ALL_TIME_ITY macro to read the time management data on the current personnel number. It only accepts constants. Locked Data Records: PNP-SW-IGNORELOCKEDRECORDS In HR master data maintenance.. The macros must be called at the INITIALIZATION or START-OF-SELECTION events.. If you set the PNP-SW-IGNORELOCKEDRECORDS switch to N (at the .. RP_READ_ALL_PERSON_TIME_ITY Time management infotypes (2000-2999) often contain a large number of data records. Reading Time Management Infotypes: RP_READ_ALL_TIME_ITY. If this is not required.. and RP_SET_DATA_INTERVAL_ALL macros to restrict the infotype data records to a different validity period. this corresponds to a MODE Y and the PNPCE logical database reads the infotype and places it in the internal infotype table.' addition. You specify the validity period in the second and third parameters. RP_SET_DATA_INTERVAL_INFTY. with the number of the infotype 0001. The PNP_SET_INFTY_MODE_BY_NAME macro sets the MODE for an individual infotype whose name you specify in the first parameter. However. which can be used to read time management data in a targeted manner. you cannot use the 'VALID FROM . Since the same infotype can be used several times (under different names) when you use the INFOTYPES additions 'AS PERSON TABLE' or 'NAME . The report can use the PNP_SET_INFTY_MODE_BY_NAME and PNP_SET_INFTY_MODE_BY_NUMBER macros to change the MODE specified by the INFOTYPES statement (dynamically) at runtime. an authorization check is performed for all data records.. enter the number of the infotype.'. the time management data that is in the included ALL_PERNRS table of the GROUP structure. In both cases. The RP_SET_DATA_INTERVAL macro sets the validity period for an individual infotype whose name you specify in the first parameter. you must specify the period in which the data records should be valid when the macro is called.. this macro sets the validity period for all infotypes of the same number. The report can then decide at the GET GROUP and GET PERAS events whether it wants to read the time management data and for which period. At the GET GROUP event. the report can call the RP_READ_ALL_PERSON_TIME_ITY macro to read all time management data on the personnel numbers of a person that should be processed.. The data is then written to the infotypes that were declared by the INFOTYPES statement with the AS PERSON TABLE addition. If a dataset that is too large is requested using the INFOTYPES statements. TO . In addition. MODE P can only be used together with the 'AS PERSON TABLE' addition and causes all infotype data records of all personnel numbers of a person to be read at the GET PERSON event without authorization check or period restriction.

It is the reports task to remove this lock.INITIALIZATION or START-OF-SELECTION events). You must choose a suitable value based on the number of requested infotypes and their expected datasets. processing of the personnel numbers is terminated by default. Persons that could not be locked and were skipped are logged by the logical database. The report is only aware of this if it then (if possible at the ENDOF-SELECTION event) calls the PNP_GET_AUTH_SKIPPED_PERNRS macro. the personnel numbers are segmented into blocks of a fixed size and the personnel numbers of a block are always read together. Locking Persons/Personnel Numbers By default. the total number of skipped persons is returned with the first N logged persons. The person is regarded as locked and is processed further only if all personnel numbers have been successfully locked. Otherwise it has the value 1. is also not executed for this personnel number. In CE mode. You cannot read the infotype data records of all personnel numbers at once since this can lead to problems with memory space depending on the number of selected personnel numbers and existing data records. Be very careful if you change this value. To do so. If the value is set too high. performance is affected. You can enter different settings using the PNP_SW_SKIP_PERNR switch. the logical database does not lock any personnel numbers or persons. 1 means that all personnel numbers should be logged. GET PERAS. which returns a list of the skipped personnel numbers. this means that the GET PERAS event (for the personnel number) is skipped. However. it can lead to a memory overflow. which indicates to the report that no authorization exists. The report is here also responsible for unlocking the personnel numbers and can call the PNP_DEQUEUE_PERNR macro for this by specifying the personnel number. The number of personnel numbers that should be logged can be specified using the PNP_LOG_ENQ_FAILED_PERNRS switch. In PNP mode. The report has no way of knowing that data records are being withheld from it. It places the first data record that is valid in the specified period (the data record with the lowest ENDDA) in the header of the internal table. The report can get a list of the personnel numbers that could not be locked by calling the PNP_GET_ENQ_FAILED_PERNRS macro. As in PNP mode. the PNP-SW-FOUND global switch is set to 0. If the report calls the PNPCE_GET_ENQ_FAILED_PERSONS macro. the report calls the PNPCE_DEQUEUE_PERSON macro by specifying the person ID. PNP_GET_AUTH_SKIPPED_PERNRS The PNPCE logical database performs an authorization check for all infotype data records that are requested by the report using the INFOTYPES statement. Mass Access By Array-Fetch: PNPCE_ARRAY_FETCH_SIZE The infotype data records are not read for each personnel number individually but in a mass access for several personnel numbers simultaneously. the report can however instruct PNPCE to read locked data records too. If no authorization exists for even one individual data record of one of the infotypes used. After processing has finished. The report can find out how many this is exactly using the PNPCE_LOG_ENQ_FAILED_PERSONS switch. If the infotype contains subtypes. individual personnel numbers can be locked. Only the first N personnel numbers and the total number of skipped personnel numbers are returned. Otherwise. the report can request this. This enables the LDB to set locks for all personnel numbers of a person. the NO_AUTHORITY flag is set in the included ALL_PERNRS table at the GET GROUP event. This reduces the number of database accesses and performance can be considerably improved. they are skipped. Only the data records for which no authorization exists are rejected (that is. The report can change this setting using the PNPCE_ARRAY_FETCH_SIZE switch at the INITIALIZATION or START-OF-SELECTION event. not all persons are logged. the report can query this list using the PNPCE_GET_ENQ_FAILED_PERSONS macro. no more personnel numbers (without authorization) are skipped. If you set this switch (at the INITIALIZATION or START-OF-SELECTION events) to N. The size of the block is set to 100 by default (this means that the personnel numbers from 100 persons are processed at the same time). For this reason. In PNP mode. Determining the First Data Record in the Period: RP_PROVIDE_FROM_FRST The RP_PROVIDE_FROM_FRST macro analyzes the infotype data records that were transferred in an internal table to the macro with regard to the specified period. The report (and PNP) must set the PNP-SWENQUEUPERNR switch to Y to enable this. In CE mode. not made available). you . If the value is too low. Authorization Check: PNP_SW_SKIP_PERNR. the report must set the PNPCE_ENQUEUE_PERSONS switch to X. only the first N persons. 1 means that all persons should be logged. The following event. If no data record exists in the specified period. the report can get a list of the personnel numbers for which no authorization exists using the PNP_GET_AUTH_SKIPPED_PERNRS macro. However.

performance suffers. infotypes are read using the HR_READ_INFOTYPE function module. This is a default value for the selection condition displayed on the selection screen that the user can change or delete at a later date. you also need to specify the subtype for which the last valid data record should be determined. the result is undefined. If no authorization exists for a data record. PNPCE only read the data records that were requested by the report using the INFOTYPES statement. the result is undefined. If the progress indicator is updated too often. This table must be completed correctly. Progress Indicator: PNPCE_NO_PROGRESS_INDICATOR. only personnel numbers are selected that do not have the status withdrawn in the specified person selection period. an authorization check is performed for all data records. If you do not specify the subtype. In addition. PNPCE_PROGRESS_BLOCK_SIZE The PNPCE logical database uses the standard technique of displaying processing progress (process indicator). If no data records exist in the specified period. this data record is rejected (that is. A special feature of infotypes with time constraint 3 in this case is that the data record with the highest ENDDA is not necessarily returned. This is performed using a . the PNP-SW-FOUND global switch is set to 0. it is not particularly meaningful to request the data records again for the same personnel number using the RP_READ_INFOTYPE macro. Otherwise it has the value 1.also need to specify the subtype for which the last valid data record should be determined. This switch is otherwise set to 0. The RP_READ_INFOTYPE macro can improve performance when the data records have already been read by PNPCE and are in the internal buffer. Normally. The PNP-SW-IGNORELOCKEDRECORDS switch is also taken account of when the data records are read and controls whether locked data records are read or not. In addition. Determining the Last Data Record in the Period: RP_PROVIDE_FROM_LAST The RP_PROVIDE_FROM_LAST macro analyzes the infotype data records that were transferred in an internal table to the macro with regard to the specified period. Personnel Numbers Skipped Due to Error: PNP_GET_ERR_SKIPPED_PERNRS A special logic for determining data records is implemented in PNPCE for certain infotypes. the grouping of personnel numbers (as returned at the GET GROUP event) should be performed on the basis of payroll data. Instead implement a suitable solution for the report in question. but the first data record (if it exists) that is valid on the end date of the specified period. In addition. the PNP-SW-AUTH-SKIPPED-RECORD global switch is set to 1. Payroll Grouping: PNPCE_GROUPING_FROM_PAYROLL If you set the switch to X. after how many processed persons) the progress indicator should be updated. Instead implement a suitab le solution for the report in question. the select option PNPSTAT2 (STAT2 from infotype 0000) is filled with ' 0' for this. it can switch this indicator off by setting the PNPCE_NO_PROGRESS_INDICATOR switch to X. If in doubt. The buffer is only useful when the data records are called for a different personnel number if these personnel numbers belong to the block of the 100 current buffered personnel numbers. If in doubt. The PNPCE_PROGRESS_BLOCK_SIZE switch enables the report to control how often (that is. If the report wants to set up its own progress indicator or does not want to have a progress indicator displayed. If however the report requests the data records using an INFOTYPES statement. From a technical point of view. it is not placed in the internal table). Reading Infotypes: RP_READ_INFOTYPE The RP_READ_INFOTYPE macro reads the data records of an infotype for the specified personnel numbers that are valid in the specified period. It places the last data record that is valid in the specified period (the data record with the highest ENDDA) in the header of the internal table. Analyze the implementation of the macro if the exact functions of the macro are unclear. Always weigh up the advantages of this macro against the consequences of its use for performance. the buffer is deleted again at the latest after 100 processed personnel numbers. The data records are sorted if the data records were determined by PNPCE logical database using the INFOTYPES statement. and writes these to the internal table specified. In addition. the data records of the internal table must be sorted according to primary key. do not use the macro. If the infotype contains subtypes. the PNP-SW-FOUND global switch is set to 0. do not use the macro. Analyze the implementation of the macro if the exact functions of the macro are unclear. the data records of the internal table must be sorted according to primary key. If you do not specify the subtype. If data records are rejected because of missing authorization. If no data record exists in the specified period. Otherwise it has the value 1. The data records are sorted if the data records were determined by PNPCE logical database using the INFOTYPES statement. Excluding Withdrawn Employees: RP_SEL_EIN_AUS_INIT If this macro is called at the INITIALIZATION event.

you can start a PNPCE report with a specified set of persons. Infotype Administration Table $RINFO$ In the $RINFO$ table. the header is also filled but in many cases it is not filled. Restrict by OrgStructure. however. and by explicitly specifying a personnel number set in PNPINDEX or a person set in PNPPERID when you call the report. the select option for PNPINDEX is hidden. it is not permitted to program headers. and LOW. the PUT PERAS event is not triggered). OPTION. In certain cases. Search Help. SIGN must contain the value I. These six options exclude each other. For SUBMIT. PNPCE offers six other options for selecting personnel numbers. and Selection ID functions to (further) restrict the set of personnel numbers. pernr_index-low = '00000815'. infotypes are managed that the report defines using the INFOTYPES statement. pernr_index-sign = 'I'. Unlike PNPINDEX. you cannot use the Dynamic Selections. using search help. This is in part different in the PNP logical database. These are initialized. OPTION the value EQ. that is you can only use one of these options at a time. You must provide the PNPINDEX parameter with the relevant personnel number when you call the report using SUBMIT. Similarly. which. and LOW the personnel number. It can happen in certain cases. PNPCE reacts to an exception by terminating processing of the personnel numbers for which the error occurred (that is. Starting a PNPCE Report Using Preselected Personnel Number Set/Person Set You can also start a PNPCE report using an externally predefined personnel number set. Example: RANGES: pernr_index FOR pernr-pernr. and RP_SET_DATA_INTERVAL_ALL). when you call the PNPCE report by explicitly specifying a personnel number set in PNPINDEX as well as one of the variants to be used in which dynamic . you cannot define a set of personnel numbers (using PNPINDEX) at the same time. you cannot use the Dynamic Selections. If a set of persons is defined in this way. you are also not permitted to program headers. cannot be traced or controlled by the report. RP_SET_DATA_INTERVAL_INFTY. the range table should be transferred to PNPINDEX by the IN operator. They are selection using dynamic selections. You must provide the PNPPERID parameter with the relevant person IDs when you call the report using SUBMIT. in particular. Therefore. and Selection ID functions to (further) restrict the set of personnel numbers. Comments Headers of Infotype Tables PNPCE fills the table body with infotypes defined by INFOTYPES. SUBMIT pnpce_rerpot WITH pnpperid = personid_index. SUBMIT pnpce_report WITH pnpindex IN pernr_index. it can call the PNP_GET_ERR_SKIPPED_PERNRS macro. It is defined in the DBPNPCECOM include so that the report also has access to this table. In the case of an error. Appropriate queries on the selection screen attempt to ensure this. Instead. Since. If a set of personnel numbers is defined in this way.function module (HR_COST_DISTRIBUTION_GET) for infotypes 0027 and 0266. You are forbidden to manually modify this table for the purpose of changing infotype characteristics by the report. using selection ID. However. It does not fill headers. Also in this case. Since this depends on various factors. If the report wants to know which personnel numbers were skipped due to this error. Using Several Selection Options Simultaneously In addition to selecting fields of infotypes 0000 and 0001 as described above. you must specify the personnel numbers in a RANGE structure that consists of SIGN. technically speaking. that more than one of these functions is used (for example. Search Help. use the macros that enable you to set the infotype characteristics (set the MODE by PNP_SET_INFTY_MODE_BY_NAME and PNP_SET_INFTY_MODE_BY_NUMBER. PNPPERID is not a range but is an internal table whose row type is the PERSONID data element. using organizational structure. For each personnel number. the function module can trigger an exception. set the validity period by RP_SET_DATA_INTERVAL. CLEAR pernr_index. the conditions entered for the selection fields of infotypes 0000 and 0001 are taken into account. APPEND '00000815' TO personid_index. Restrict by OrgStructure. Example: DATA: personid_index TYPE STANDARD TABLE OF personid. APPEND pernr_index. pernr_index-option = 'EQ'.

. Copyright (c) SAP AG . INFOTYPES: 0001 NAME PP0001 AS PERSON TABLE. Documentation extract taken from SAP system.. which is the first function used. . CE Mode (with function for evaluating concurrent employment) TABLES: PERNR. GET PERAS. INFOTYPES: 0006 NAME P0006. NODES: PERAS. NODES: PERSON.. . GROUP.selections were also stored). * table P0001 is filled with infotype 0001 data of all PERNRs * stored in GROUP-ALL_PERNRS WRITE :/ GROUP-GROUPING_REASON.. only one function.. .. GROUP-GROUPING_VALUE. GET PERSON. GET GROUP. * table P0006 is filled with infotype 0006 data of PERNR * stored in PERAS-PERNR WRITE :/ PERAS-PERNR. is taken into account with regard to the following sequence: Dynamic Selections Restrict by OrgStructure Search Help Selection ID Explicit Specification or Personnel Numbers in PNPINDEX Explicit Specification or Persons in PNPPERID The personnel number set found this way is always restricted further by the selection conditions specified in the 0000 and 0001 infotypes.. GET PERAS. . * table P0006 is filled with infotype 0006 data of PERNR * stored in PERAS-PERNR WRITE :/ PERAS-PERNR. Example PNP Mode (without functions for evaluating concurrent employment) TABLES: PERNR.. INFOTYPES: 0006 NAME P0006. * table ALL_0001 is filled with infotype 0001 data of all PERNRs * stored in PERSON-ALL_PERNRS without authority check !!! WRITE :/ PERSON-OBJID. INFOTYPES: 0001 NAME ALL_0001 AS PERSON TABLE MODE P. PERAS. In this case.

* INCLUDE RPC4PR00 Tables used within report and the associated select statement: No SAP database TABLES are accessed within this report code! Function Modules used within report and the associated call statement: No SAP FUNCTION MODULES are executed within this report code! Text pool values Selection Selection Selection Selection Selection Selection Selection Selection Text: Text: Text: Text: Text: Text: Text: Text: PNPGRANT = Grant PNPGSBER = D Business Area PNPJUPER = D Legal Person PNPKOKRS = D Controlling Area PNPKOKTL = Controlling Area/Cost Center PNPKOSTL = D Cost Center PNPMASNG = Action Type/Action Reason PNPMASSG = Reason for Action .Includes used within report: INCLUDE PAY_PROCESS_MODELL. INCLUDE DBPNP_PNPCE_LOG_FORMS. * INCLUDE DBPNP_PNPCE_COMMON_DEFS INCLUDE DBPNP_PNPCE_PLAN_FORMS. INCLUDE DBPNP_PNPCE_COMMON_FORMS. * INCLUDE DBPNP_PNPCE_PLAN_DEFS * INCLUDE DBPNP_PNPCE_COMMON_FORMS INCLUDE DBPNP_PNPCE_AUTH_FORMS. * INCLUDE DBPNP_PNPCE_AUTH_DEFS * INCLUDE DBPNP_PNPCE_COMMON_FORMS INCLUDE DBPNP_PNPCE_F4_FORMS.

Selection Text: PNPMASSN = Action Type Selection Text: PNPMSTBR = D Supervisor Area Selection Text: PNPORGEH = D Organizational Unit Selection Text: PNPOTYPE = D Object Type Selection Text: PNPPABRJ = Period Selection: Year Selection Text: PNPDISBD = Display: Payroll Period: Start Selection Text: PNPDISED = Display: Payroll Period: End Selection Text: PNPDISPJ = Display: Payroll Period: Year Selection Text: PNPDISPP = Display: Payroll Period Selection Text: PNPENAME = Employee Name Selection Text: PNPENDDA = Data Selection Period: End Selection Text: PNPENDPS = Person Selection Period: End Selection Text: PNPEXPID = D Person ID Selection Text: PNPFISTL = D Funds Center Selection Text: PNPFKBER = D Functional Area Selection Text: PNPGEBER = D Fund Selection Text: PNPGPRSN = Grouping Reason Selection Text: PNPGPVAL = Grouping Value Selection Text: PNPSNAME = EE Name Can Be Sorted Selection Text: PNPSTAT1 = Customer-Specific Status Selection Text: PNPSTAT2 = Employment Status Selection Text: PNPSTAT3 = Special Payment Status Selection Text: PNPSTATU = Status 1/Status 2/Status 3 Selection Text: PNPSTELL = Job Selection Text: PNPTIMED = Data Selection Period Selection Text: PNPTIMES = Employee Selection Period Selection Text: PNPVDSK1 = Organizational Key Selection Text: PNPWERKS = D Personnel Area Selection Text: PNPXABKR = Period Selection: Payroll Area Selection Text: PNPXBWBK = Pers.Area/Subarea/Cost Center Selection Text: PNPXPGPK = Employee Group/Subgroup Selection Text: PNPPABRP = Period Selection: Period Selection Text: PNPPERNR = D Personnel Number Selection Text: PNPPERSG = D Employee Group Selection Text: PNPPERSK = D Employee Subgroup Selection Text: PNPPLANS = D Position Selection Text: PNPSACHA = Payroll Administrator Selection Text: PNPSACHP = Personnel Administrator Selection Text: PNPSACHZ = Time Recording Administrator Selection Text: PNPSASBA = Administrator Group: Payroll Selection Text: PNPSASBP = Administrator Group: Personnel Selection Text: PNPSASBZ = Administrator Group: Time Selection Text: PNPSBMOD = D Administrator Group Selection Text: PNPSELID = Selection ID Selection Text: PNPBUKRS = D Company Code Selection Text: PNPBTRTL = D Personnel Subarea Selection Text: PNPBEGPS = Person Selection Period: Start Selection Text: PNPBEGDA = Data Selection Period: Start Selection Text: PNPANSVH = D Work Contract Selection Text: PNPABKRS = D Payroll Area Title: PNPCE Logical Database: Database Program .

= Dynamic Selections = Key Date = Period = Period = Payroll Period = Reporting Set = Limit by = OrgUnits = OrgUnit = Grouping = Person Selection = Data Selection = Reporting Period = Selection Fields = Selection Criteria = Active = Sort Order = Payroll Area = Period = Special Run = Other Payroll Period = Current Payroll Period = Future (as of today) = Past (until today) = Current Year = Current Month = Other Period = All = Key Date = Today = Payroll Type = Evaluation Run = Payroll Run = Run = Hide Person Selection Period = Show Person Selection Period = Execute = Hide Dynamic Selections = Dynamic Selections = Period = Search Help = OrgStructure SAPDBPNP SAP Report .. = Processing..Logical database PNP: Database program SAPDBPNP is a standard ABAP report available within your SAP system (depending on your version and release level)...Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: 018 019 020 021 022 025 026 031 032 033 034 017 016 015 013 012 011 009 008 007 006 004 002 P11 P10 P09 P08 P07 P06 P05 P04 P03 P02 P01 047 046 044 043 042 041 040 039 038 037 036 035 = Personnel Number = Personnel Numbers = Initializing. Below is the standard documentation available for this report and .

Furthermore. You can use the GET PAYROLL event to evaluate payroll results. This ensures that the personnel numbers at the GET PERNR event are selected using payroll results and not master data. the system checks the authorization for data access. the PNPCE logical database should be used for new developments instead of the PNP logical database. In the report itself. If you use the GET PAYROLL event. includes etc. Documentation extract taken from SAP system. A sample report is EXAMPLE_PNP_GET_PAYROLL. along with the specified infotypes at the GET PERNR event are retrieved from the logical database in accordance with the selections entered. SAP Documentation for program SAPDBPNP Note In future. The PAYROLL structure is completed using the NODES statement. and you can find additional information in the report documentation. This means that you and other users will be able to find these details quickly by simply searching on the object name. The selection screen can then be created by assigning a HR report class. function modules. the hrpy_rgdir and hrpy_wpbp tables must be stored in the TABLES statement. If you would like to see the full code listing simply enter the object name( SAPDBPNP ) into the relevant SAP transaction such as SE38 or SE80 Within the comments section below there is also an opportunity for anyone to be able add useful hints and information specific to this SAP object.a few details of other objects it interacts with such as tables. DESCRIPTION The logical database PNP performs the following functions in Reporting:  provides the standard selection screen for the HR master data  makes the specified selections  checks whether the user has the necessary authorizations to read the data The logical database is assigned to a report by maintaining the "Logical database PNP" report attribute. PRECONDITION The structure PERNR must be declared in the TABLES statement. " CONSTANTS FOR ICONS *CODING OF DBPNPPOV COMMENTED. REPLACED BY INCLUDE DBPNP_PNPCE_F4_FORMS . Copyright (c) SAP AG Includes used within report: INCLUDE <ICON>. Enter 900 for the selection screen. the persons. Use PAYROLL as the report class.

* INCLUDE RPC4PR00 Tables used within report and the associated select statement: No SAP database TABLES are accessed within this report code! Function Modules used within report and the associated call statement: No SAP FUNCTION MODULES are executed within this report code! Text pool values Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: PNPMSTBR = Supervisor area PNPORGEH = Organizational unit PNPOTYPE = Object Type PNPPABRJ = Period selection: Year PNPPABRP = Period selection: Period PNPPERNR = D Personnel number PNPPERSG = Employee group PNPPERSK = Employee subgroup PNPPLANS = Position PNPSACHA = Payroll administrator PNPSACHP = Personnel administrator PNPSACHZ = Time recording administrator PNPSASBA = Administrator group: payroll PNPSASBP = Administrator group: personnel PNPSASBZ = Administrator group: time . INCLUDE DBPNP_PNPCE_LOG_FORMS. * INCLUDE DBPNP_PNPCE_PLAN_DEFS * INCLUDE DBPNP_PNPCE_COMMON_FORMS INCLUDE DBPNP_PNPCE_AUTH_FORMS. * INCLUDE DBPNP_PNPCE_AUTH_DEFS * INCLUDE DBPNP_PNPCE_COMMON_FORMS INCLUDE DBPNP_PNPCE_F4_FORMS. * INCLUDE DBPNP_PNPCE_COMMON_DEFS INCLUDE DBPNP_PNPCE_PLAN_FORMS.INCLUDE DBPNP_PNPCE_COMMON_FORMS.

Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Selection Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: Text: PNPSBMOD = Administrator group PNPSNAME = EE name can be sorted PNPSTAT1 = Customer-specific status PNPSTAT2 = Employment status PNPMASSN = D Action type PNPANSVH = D Work contract PNPBEGDA = Data selection: From PNPBEGPS = Person selection: From PNPBTRTL = D Personnel subarea PNPBUKRS = D Company code PNPENAME = Employee name PNPENDDA = Data selection: To PNPENDPS = Person selection: To PNPFISTL = Funds Center PNPFKBER = D Functional area PNPGEBER = Fund PNPGRANT = Grant PNPGSBER = Business area PNPJUPER = Legal person PNPKOKRS = Controlling area PNPKOKTL = Controlling area/cost center PNPKOSTL = Cost center PNPMASNG = Action type/action reason PNPMASSG = Reason for action PNPSTAT3 = Special payment status PYENDDA = end PYJUPER = D Legal person PYKOSTL = D Cost center PYPA03R0 = r0 PYPA03R1 = r1 PYPAYID = Payroll ID PYPAYTY = Payroll type PYPERNR = Personnel number PYPERSG = Employee group PYPERSK = Employee subgroup PYSEQNR = D Sequential number PYSRTZA = D Status of result PYVW0_0 = End of in-period PYVW0_1 = In-period view PYVW1_0 = End of for-period PYVW1_1 = For-period view PYVW2_0 = Payday PYWERKS = Personnel area PYXABKR = Payroll Area PYBUKRS = Company code PNPSTATU = Status 1/status 2/status 3 PNPSTELL = Job PNPTIMR1 = Today PNPTIMR2 = Current month PNPTIMR3 = Current year PNPTIMR4 = To current date .

: .area/subarea/cost center Selection Text: PNPXPGPK = Employee group/subgroup Selection Text: PYABKRS = Payroll Area Selection Text: PYABRP1 = p1 Selection Text: PYBEGDA = start Selection Text: PYBTRTL = Personnel subarea Selection Text: PNPABKRS = D Payroll area Title: Logical database PNP: Database program Text Symbol: 034 = Too many personnel nos.PNPPABRP Text Symbol: 022 = Value sets are allowed only for entry fields ( >T599X) Text Symbol: 025 = For search help Text Symbol: 026 = no access path exists Text Symbol: 030 = Personnel numbers skipped by the database driver Text Symbol: 031 = Reason 1: insufficient authorization. list ended at Text Symbol: 035 = Reason 3: Cost assignment data contains errors Text Symbol: 041 = Current Period Text Symbol: 042 = Period Text Symbol: 050 = First payroll period Text Symbol: 052 = Last payroll period Text Symbol: 123 = Enter a period Text Symbol: 124 = Do not enter a period Text Symbol: 127 = Do not enter a date Text Symbol: 128 = Enter a date Text Symbol: AKT = active Text Symbol: BIS = To Text Symbol: BLK = Key date Text Symbol: BLP = Payroll period Text Symbol: BLR = Additional data Text Symbol: BLS = Selection Text Symbol: BLT = Period Text Symbol: DAI = Period Text Symbol: DDI = Data Selection Period Text Symbol: 001 = Selected personnel numbers Text Symbol: 002 = Selection options Text Symbol: 003 = Choose selection fields Text Symbol: 006 = Enter payroll period Text Symbol: 007 = Enter payroll area and payroll year Text Symbol: 008 = Enter payroll year Text Symbol: 012 = is a delimeter between fields but is not allowed as a field name Text Symbol: 013 = is not a field in infotype 0001 Text Symbol: 014 = is not allowed because field in table PSHDR Text Symbol: 015 = only allowed after Text Symbol: 018 = PNPTIMED only allows Text Symbol: 019 = PNPTIMED not together with PNPXABKR. skipped personnel nos. cannot be locked. no.Selection Text: PNPTIMR5 = From current date Selection Text: PNPTIMR6 = Other period Selection Text: PNPTIMR9 = Current period Selection Text: PNPTIMRA = Other period Selection Text: PNPVDSK1 = Organization key Selection Text: PNPWERKS = Personnel area Selection Text: PNPXABKR = Period selection: Payroll area Selection Text: PNPXBWBK = Pers.PNPPABRJ.

Examples 0002 -Personal data-->This infptype contains data like first name. structure PAY = Selection screen on payroll results PNP = Selection screen on infotypes VON = from Y01 = Period Y02 = General time selection Y03 = Employee Y04 = General employee selectio Y10 = Period Y11 = Employee YA1 = Switch on archive access Some thing about info types Infotypes: The information units used to enter the data of an employee are called Infotypes. The Infotypes are used to group related data fields together. no. (reason 2) DDK = Key Date YA2 = Switch off archive access YB1 = Period YB2 = Selections YB3 = Periods YCU = Current period YEV = Use CD evaluations on in periods YIP = Other periods YPY = Payroll-specific selections YTE = Technical selections YTI = Period Z21 = Today Z22 = Current month Z23 = Current year Z24 = Up to today Z25 = From today Z26 = Other period Z27 = Other keydate ZP1 = Current period ZP2 = Other period DPE = Payroll area DPS = Person selection period FSL = Dynamic Selections P10 = Selections from P11 = Further selections P20 = Search helps P21 = Search help & P30 = Sort order P40 = Org.Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: Symbol: 032 = Reason 2: unsuccessful ENQUEUE.etc ... : 033 = List of skipped personnel nos. of skipped personnel nos.last name.DOB.maritial status.

When you update an infotype. let us suppose if an employee personnel data record exists from 01/01/2000 t0 31/12/9999( this is the max date we consider when there is no end date is given) . If a new record is created. so here we have two records for the same employee in the same info type but with the different dates. The system records a specific period of validity for each infotype.Bank details --> It contains data like bank name. then it is very important to save old data with correct time frame along with the changed data. even if their validity periods overlap.account number. in 0002 an employee may change his name or marital status may change or any other personnel data may get changed. The validity periods of the individual records must not overlap. This means that the time relationships between infotype records must be defined. This enables the system to store more than one infotype record at the same time. exactly one valid infotype record must exist. A time constraint indicates whether more than one Infotype record may be available at one time.Address---> it contains data like. Moving on further about infotypes we have to know about time constraints and subtypes.city. In simple. . if he changes his personnel data on 01/01/2008 then a new record Will be created from 01/01/2008 to 31/12/9999 and the old record Will get delimited to 01/01/2000 to 31/12/2007.region.district and telephone numbers where employess residing or working. Time Constraint 1: For the entire time that the employee works at the enterprise. we require old data as well as new data.0006 . the system automatically uses the start date of the new record as the delimitation date of the old record. 0009 . old data is not lost but archived for historical evaluation. Gaps are only allowed between the employee’s entry date and the start date of the first record. The concept of time constraints enables you to do this.. why Infotype : As HR is related to time.etc of an employee. street. The data we enter into the Infotypes are automatically checked for accuracy and against the table entries. HR data is huge and to access data easily we require Infotype. for example: In the above said info types. There are seven different types of time constraints avilable.

1800 through December 31. 1800 through December 31.etc. the system automatically delimits the previous record. Eg0023-previous employee. This validity period cannot be subdivided. Their existence is not obligatory. If a new record is created.Eg:0003 -payrollstatus Time constraint B Infotypes with time constraint B must have no more than one record. Eg:0000-Actions. 9999.Time constraint 1 must be used for all of the infotypes containing information that must be available at all times. Time Constraint 3 Any number of valid records can exist at any one time. This is particularly true of personal and organizational assignment data. The individual records do not conflict with each other. If a record is delimited because of time constraint 1. Time Constraint 2 No more than one valid record can exist at any one time. 9999.. Eg0105-comunications. the system displays an appropriate message. The system automatically assigns the record a validity period from January 01. The system automatically assigns the record a validity period from January 01.Eg Time Constraint T Infotype records with time constraint T depend on the subtype. Infotype records with time constraint A cannot be deleted. the system displays an appropriate message. If a record is delimited because of time constraint 2. Infotype records with time constraint B can be deleted. Records with constraint 2 must not overlap. . if one exists. Time Constraint A Infotypes with time constraint A must have no more than one record. This validity period cannot be subdivided.0001-orgassignent.

2. . and reporting . Each PA info type XXXX requires two structures and one table. Collision checks are defined in view V_T554Y Time Constraint Reaction The principles of data entry and time constraints that apply to infotypes ensure that data is consistent and accurate. They also constitute the basis of time recording. for example IT0006 is for addresses and it has many subtypes 1.. Create Delimit Change Delete Lock/unlock display Infotypes range 0000 – 0999 -> Personal Administration 1000 – 1999 -> Org Management 2000 – 2999 -> Time data 4000 – 4999 -> Applicant Data 9000 – 9999 -> Customer Name space Apart from org management infotypes all other infotypes can accessed from T-codes PA30 for create and change and PA20 for display and OM infotypes can be accessed from T-Codes PPOME for change. Moving on to structures and tables that are associated to each info type. Z: Refers to time management Infotypes.com/saphelp_di471/helpdata/EN/48/35c9f24abf11d18a0f0000e816ae6e/frameset. The time constraint for these Infotypes depends on the time constraint class defined in view V_T554S_I Absence: General Control.sap..PPOCE for create and PPOSE for display.Subtype:-subtype is a sub category of an info type based on the type of data.work address. http://help.3 and so on for each type of addresses like home address . Time Constraint z.htm Operation that can be performed on infotypes. payroll accounting.etc.

etc it contains 15 fields all are related to control data.Structures PSXXXX and PXXXX (Eg: For IT0001 containstwo structures PS0001 and p0001) PSXXXX-> is a structure which contains only info type fields (for example for IT0001 fields like BUKRS.CI_PXXXX(optional) and MANDT field. Name of the person who changed.PSHD1. CI_Pxxxx-> Is an optional structure which indicates whether thatparticular info type can be enhanced or not. PERNR-> PersonnelNumber INFTY-> Infotype SUBTY ->Subtype OBJPS ->Object Identification SPRPS-> Lock Indicator for HR Master Data Record ENDDA ->End DateBEGDA BEGDA ->Start Date SEQNR ->Number of Infotype Record with Same Key PSHD1-> is a structure with Control Fields like "changed on.etc will be available. (Eg:-for IT0001 ->CI_P0001) Tables:-PAXXXX and PBXXXX(optional). PSKEY:.. This table stores only APPLICANT DATA which means not employees data.WERKS.CI_PXXXX(optional). P1001) Infotype screens An initial screen .bleow are the fields fields of this structure.Structure PXXXX (for example IT10001 table is HRP1001. for example data of the candidates who applied for the organisation are stored.PSXXX. PAXXXX-> Is a transparent table which includes structures PSKEY.PERSG. Coming to OM info types XXXX each infotype has one table and one structure. the structure of this table resumbles same like PXXXX.PERSK.it is a PA info type comman Key fields structurethe same structure is used for all PA info types as key. This is also comman to all PA info types. PBXXXX-> Is also a transparent table and resumbles same as PAXXXX table. This table is optional and it may or may not exist for info type.. if you enhance info type with new fields those fields will be saved under this structure. Table:HRPXXXX.) PXXXX-> is a combination of structres PSKEY.PSXXX.PSHD1.

Following Up. Resume Writing Tips. Career Assessment.Single screen List screen Infotype includes MPXXXX00 – Main program MPXXXX10 – Declarations and includes MPXXXX20 – PBO for the screen MPXXXX30 – PAI for the screen MPXXXX40 – Subroutines Posted by Reach surya at 11:00 PM 0 comments: Post a Comment Search TO Hom Crick Fil P e et m 10 SAP Healt Car Onlin Televisi Gener h Mobi & TR Carr Papara e on al and le Bik P er zzi traini Food e ng Wiki NewForum > Career Forum User Name User Name Remember Me? BASIC QUESTIONS ON SAP HR TIME MANAGEMENT with answers Password Log in Register FAQ Members List Calendar Sponsored Links Career Forum Jobs. Career Tips. Cover Letter Tips. State Employment Information. Interview Questions. Interview Preparation. Benefits . Company & Industry Research. Career Advice. Job Hunt Strategy. Resumes & Letters. Salary & Benefits. Resume Samples. Cover Letter Samples. Professional Networking. Interview Appearance. Interviewing.

Downloads. SAP BW Forum. MS Word 2003. PHP Forum & Tutorial. PowerPoint 2007. Salary Information. Free SAP HR Training. MS Excel 2007. SAP FICO Forum. Tag Cloud  Payday Loans Cheap Airfare   Bad credit loan Personal Loan   Bad credit loan  New car loan rates  Las vegas hotels  Payday Loans  Free bank account . Tutorials. SAP PM Forum. SAP SD Forum. Application. Web Development and Design Forum. PowerPoint 2003. Starting a New Job. MS Word 2007. Outlook 2007.NET Forum & Tutorial. Screen shots. Documents. HTML Forum & Tutorial. Workplace Issues. Outlook 2003. Oracle Database. SAP ABAP HR Forum. ESS & MSS. Changing Careers. Getting Promoted. SAP Basis Forum. IT Forum.Information. SAP ABAP Froum. MS Office 2010. Education & Training. SAP PS Forum. Leaving a Job. In the Workplace. Career Development. pdf forms & More. Exam Results/Answer Keys/Application Forms 2011. SAP MM Forum. JAVA Forum. Programming. ASP. SAP LE Forum. SAP HR Forum. CiteHR Forum. Negotiation Tips. Java Forum & Tutorial. SAP Forum. SAP QM Forum. Hot jobs. MS Excel 2003. SQL. Cite HR Forum. 2012. Work-Life Balance. SAP PP Forum.

 Education Loans  Notification  New car loan rates  Personal Loan  Exam Result  Education Loans Exam Result  Page 2 of 2 <1 2 Thread Tools Rating: #6 . saphr Join Date: Dec 2008 .

I m working on CATS where in the data is interfaced through a legacy system.sap.htm ANS:2 Some BAPI.com/saphelp_erp2005vp/helpdata/en/8a/9868bc46c411d189470000e829fbbd/frames et. thrue table T554s. Please maintain a proper Time Management Status in IT0007.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ab80b790-0201-0010-569a99dcadc709c3 https://www. I have the following Queries which requires an urgent response.ffice:office" /> ANS:1 i have used documents this site to understand how to create time wage types in time evaluation.sap. ANS:2 Please maintain the table T554S.sdn.htm When wagetypes are stored in ZL they are processed in Payroll.Member Posts: 164 94.6c ANS:1 Hope this helps for time management: http://help.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40bceb90-0201-0010-7297- .insightcp. worklow and time bapi for 4.sdn.sap.ht m https://www.7 / 4.sap. 95.com/res_16.com/saphelp_nw04/helpdata/en/a5/3ec8534ac011d1894e0000e829fbbd/frameset. so that time can be integrated with payroll. T555Y and T510S http://www. any document about time. • Data from the legacy system to be transported is based on Wagetypes • How to assign a Wagetype ( For example Wagetype-1000) to an Attendance and Absence Type and accordingly pick it up in Time Evaluation and send the data to Payroll • I am confused of how to send the wagetype data to Payroll through Time Evaluation.s for time module are :1)BAPI_ABSENCE_CREATE 2)BAPI_TIMEQUOTA_GETDETAILEDLIST 3)BAPI_EMPATTABS_GETDETAIL 4)BAPI_PTIMEOVERVIEW_GET 5)BAPI_ABSENCE_GETDETAIL 6)BAPI_PTIMEOVERVIEW_SAVEREPLICA ANS:3 Check with below links http://help.

I'd like to know the basic tables to customize de types of time wages to transfer to payroll. for example: · Employees’ actual times · Deviations from an employee’s personal work schedule · Deviations from an employee’s general activities (such as seminar attendances. If possible please give a scenario and explain breifly about the funtionality of each fields in those infotypes such as absence. If time management is not used. ANS:1 I am not sure whether table v_512w_d is you are looking for. dollar amounts are attached to these wage types in payroll.d5e11f35743f 96. The first question is where do I relation a time type to a payrol wage type. ANS. For example you may configure one hourly pay wagetype in this table (normally you need to use tcode oh11 to copy a standard wagetype). You can use the Attendances (2002) and Absences (2001) infotypes to record time information efficiently. When these are carried over to the payroll. The function DAYPR will call the sub-schema TC00 and time wage types are generated inside this.IT2006. attendence.IT2002. You should use the Attendances/Absences component if you want to record working times or absence times for individual employees. ANS:2 Table T510S is used to generate time wage type (with the help of time types and processing types) and these time wage types will store only the hours in time management module. business trips) You can use Absences to record the following situations.IT2007. You can use Attendances to record the following situations. ANS. You can use the Attendances and Absences component to create the basic time information for the evaluation and accounting of your employees’ working times. then time wage types can be generated inside the payroll schema itself (U000). I would like to learn and know about infotypes of time management such as IT2001. You use 2006 infotype to manage time accounts that represent employees’ absence entitlements or . for example: · Leave · Doctor’s appointments · Illness You can specify data entry checks that permit or prevent the entry of specific attendances and absences.3 maintain Table T510S and read the doc on DAYMO function 97. absence quota and attendance quotas. after then you can put this hourly pay wagetype in IT0008 with time records for calculation payroll.

2 No overlapping but time gaps are permitted.client wants to see as: 1.. 5 days leave 2.. please let me know how can i delete the absence and overwrite it with attendnce automatically. The following time constraint indicators are permissible: 1 No overlapping and no gaps. for example: · Employees’ annual leave · Time in lieu accounts. i delete earlier absences of 5 days and put only 3 days. how do we save LEAVE APPLICATIONS?? Even though the first leave application is cancelled.time credits. and at what times. The time accounts contain a particular number of days or hours during which employees are permitted to be off work. My client needs the following data: Employee applies for 5 days leave. such as for illness or other life events You use 2007 infotype to manage time accounts that represent employees’ attendance approvals.... there you can log infotypes changes..still not able to get. at set times over a set period 98. later he cancels it and re applies for 3 days only. containing hours of overtime for which employees are permitted to claim compensatory time off · Paid and unpaid absence entitlements. You can use the infotype to manage the following time accounts... ANS:1 You could find useful this transaction: S_AHR_61016380. 3 Overlapping and and time gaps are permitted. Eventually.where else do i need to chnage in 554y_b table? ANS:1 A time constraint indicates whether more than one infotype record may be available at one time. for example: · Approvals for an employee to use a set number of days each year for further training · Approvals for an employee to work a set number of overtime hours. and the second leave application of 3 days also. if required. i am using A for attdnace .. but client wants to see both data. Employees’ working times affect costs. 99. you will have the splits in the corresponding table. In absences infotype. it is not allowing/ or allowing both records to exist. so that you can save the leave record after modifying/deleting it in PA30. You can therefore use the Attendance Quotas infotype (2007) to specify how many hours an employee is permitted to work. You can use 2006 infotype to manage the following time accounts.. ANS:2 I hope. and i try to enter attendance on 2nd aug. The system monitors how these time accounts are accrued and deducted. ... anyone who worked on time constraints in depth. if i eneted abse for 2nd aug. you have the two splits in his / her master record history. 3 days Leave etc.his first leaveapplication of 5 days.

. if i enter attendance in 2002 infotype. > (greater than) or = (equal to).my problem is: The Abs record shuld get deleted if i try to enter ATTENDANCE at later days. greater than or equal value compared to the daily working hours value from infotype 0007.It does not return the value. you could setup a dynamic action (background delte) for your requirement... REGULARIZATION u might have veard of. Z Refers to time management infotypes ANS:2 First of all... B Only one record may exist. the operation will actually return < (less than). it is marked absence. Does anyone know what is the meaning of this operation: HRS?IDAHRS ANS:1 Operation HRS?IDAHRS returns the number of working hours of the employee (contents of field ARBST from infotype 0007. It depends upon the work schedule.. depending on whether the variable HRS has a less than. Anyways... I am not able to understand "How a person will remain absent and present at the same time on 2nd Aug?" Not sure. ANS:2 Furthet to Rodrigo. Dynamic Action may need some description of the reaction. and maintain only attendance.where employees want to correct their abscences. planned working time). So using this operation as you have written it.. Moreover its related to Time constraint Class and you need to change the Reaction indicators and TCC in the table. if your client have got such typical requirement. Splitting and deletion is not permissible. Interesting to know that it can also work on 2 different infotypes.instead if i just change the time constraint . means 2nd aug.. valid from 01/01/1800 to 12/31/9999. in fact i had achieved doing it last year in my project.. Splitting is not permissible. Actually i am not asking that the employee should have ATTENDANCE and ABSCENCE records for same day. T The time constraint varies depending on the subtype. Doubleclicking you set the reaction against existing ones 100. same thing i am not able to do now.. valid from 01/01/1800 to 12/31/9999.A Only one record may exist. ANS:4 Use table v_554y_b and reaction Type A to overwrite attendance with new coming absences (and viceversa)in the first screen it is shown the incoming infotype and time constraint type. by some delay or mistake.. but may be deleted. ANS:3 Well if you did it last year with the help of time constraints then i don't know. ...and i have of course solved my problem.i can solve. SAP shuld delete the earlier absence automatically. alternatively. I thought time constraints check only on the same infotype. later tomm.the code compares the value in the Hrs field with that of the planned working time.

But this program is not certified or either supported by SAP.#7 .. and then run another process. We want the daily time data has to uploaded to SAP System to run the time evaluation.upload request). Message Functional Areas 4.time events . from time machine to SAP Or need to write ABAP programming to upload the data? Can you please send me the steps to be taken for the integration and any standard format is available for the uploading. Here we are using positive time management. where all actual time in and time out has been recorded in the time machines installed at factory gates. ANS:1 Please see. Message View and Employee View for Message Processing 3. Do you have any kind document on this?ffice:office" /> ANS:1 You can use program RPTEUP10 to upload time data daily.com/saphelp_erp2004/helpdata/en/8a/9868bc46c411d189470000e829fbbd/frameset. This is an example program which will serve your purpose without doing any programming. htm It has . 102. can some one tell me how it works? I don't understand if I have to set up or configure a connection between the clocks and sap system. I trying to understand how to upload time events by using the transaction PT80 (Subsystem connection . saphr Member Join Date: Dec 2008 Posts: 164 101. Does SAP have any standard report/tool for the data upload.sap.. 1.. Example: Message Processing 2. http://help. Individual Functions in Message Processing and also 6. Processing Methods 5.. Authorizations in the Time Manager’s Workplace . Also do goto HR-PDC notes.

Now tell me How should I do . for these we have done customizing in the table PDC Processing Statuses(V_T705B) for the key A01. Initially they wil be stored in the temporary buffer CC1TEV table.& Medical is Rs. Now when he takes Leave for 2 days then automatically These 2 allowances should get reduced. For Example: Basic Pay we take MB10 into consideration Like that for Loss of Pay what has to be taken? ANS:1 Are you hinting at leave with out pay (LWP)f scenario? In this scenario they loss of pay happens to the employees due to the factoring of the wage types applicable to that particular employee.747/.1250/. ANS. A batch job will be scheduled to post the tempory buffer entreis into the TEVEN table. this file we have uploaded to SAP through Tcode PT80. kindly tell me what is the primary wage type for creating or copying Time Wage type for ffice:smarttags" />India? For Calculation of Loss of Pay. Check it one more time. they have a link b/w sap system and the time recording machine. The time events wil be stored in a file and the same wil be stored in teh sap appln server. Now we getting an error in time management pool "Time event Type is not assigned to time event type group 01" Any solution for this? That means. 104.for 28 days.800/. you haven't assigned A01 to your PSgrouping 01.m. While processing the time event data system has to understand the employees time is In punching Or Out punching. the program name for the batch job is 'SAPCDT45'.3 try pt45 and pt46 and pt44 103.ANS:2 In the project i have done recently. Every day a flat text file gets generated from time machine. then Conveyance will be Rs..1167/. you can aslo write rule INp1 for special business requirement from the customer. text file contains the employee id date and time. For Example: An employee Gets Conveyance for 30 days is Rs. You are not configuring a wage type with amount to be deducted for LWP.p. Factoring depends on the yr Time management configurations of Absences & quotas. I guess you have to establish the connection b/w sap system and the time recording machine using PT80. Actually my Client wants If an employee takes an Leave that is a Loss of Pay automatically his Conveyance & Medical Allowances should be reduced. if u dont want to factor it due to LWP then assign 0 in processing class 10. We need to post them explicitly in the Teven table which is nothing but hte infotype 2011.It should be done through factoring & time management config. The factoring for wage types depends on RULE INP1 for india payroll If u assign Value 1 to processing class 10 of Wage type (tavle V_512w_d) then that wage type will get reduced according to the rule INP1 (SAP standard rule)..counting class etc.& Medical will be Rs.

I had mentioned for my both wage types 1 in the Processing class 10 under table number V_512W_D. u need to have PA (Master data config (India specific infotypes 0580 series) ) and basic Time management configs in place.basic work shedule (eg NORM) etc for this factoring.public holiday calender. Can u tell me which step did I missed? Qn1. give value 1 there . I had done exactly what you had told but its not getting reduced to CA & MA.this above sceniorio? yr client requirement is the same what i mentioned above? is yr client's payroll is inegrated with time management?? Even if yr client dont wanna go for Time Management. Where do we maintain Time constraint assignment to subtypes of an infotype. Thats why people who replies ask questions.though the Scope of the project is Just Payroll itself. Is yr other wage types other than CA and MA getting reduced (factored)??? if yes then Check these wage types under V_512w_d for processing class 10. ANS:3 You can maintain the subtype table for 0210 in T777D via SM30/31. Answer clearly then only i will be able to make assesment of situation. Here we can mention the table to use for individual subtype time constraint assignment. For your requirement you should configure absence types.so answer to the point.it will help both the parties. assign value 1 in Processing class of wage type that should get reduced in the view V_512w_d (transaction sm31). 106.counting rules. quotas. but for this particular INFOTYPE 0210 we can not mention the subtype table. I had configured Time Managment also. select infotype 0210 & maintain ANS:2 I checked this table earlier but here we can maintain the properties of the complete infotype. I am looking to subtypes of IT 0210 ( Tax With holding ) " where do we create the subtypes and their characteristics for this infotype in IMG? I tried in view V_T591A but there is no entry for this 0210 infotype but I can find the time constraint assignment for the rest of the infotypes in this view. ANS:1 SPRO-->Personnel Management--> Payroll-->Payroll:USA-->Payroll Results Adjustment-->Define Time Constraints for adjustments. You have to really go through SAP Help & some materials ab't time mangmnt and learn well & go ahead. If yr payroll is with out integration of time mangement & time evaluation then u have to comment in schema XT00 the TC00 ( for commenting you have to put an asteric symbol * ) PE01 transaction takes you there. As negative Time evaluation does the time evaluation based on the deviations to the work . I wants to know in IT0008 the moment I enter my Wage type Conveyance Allowance & Medical Allowance the system automatically has to give me the balance amount for this what I needs to do? 105.

unpaid. Absence valuation is a component in Time management which is used to evaluate absences like paid. What method do we use to upload the data to IT0008? 4. TM01:TimeEvaluation schema which is used for exceptions to work schedule. saphr Member Join Date: Dec 2008 Posts: 164 107. 1.It is better to know about Absence valuation. I just want to understand teh difference between TM01 and TM04 with respect to getting the time data from infotypes(in day processing). 2002 infotypes in common. Both of them read 2001.There are different types of absence valuation methods which can be used depending on the requirement.(For ex:A set of emps who has to work for a hr extra for first two days a weekie its the deviation to actual schedule) TM04:Time evaluation for data recorded in hrs(This is a case for production workers for whom the payment is done depending on no of working hrs) #8 . For Leave carry forward which infotype do we use? Could you suggest me the navigation path to carry forward for next year? And what is the report we use to generate “leave carry forward”? 2. Before going to know about TM01schema..on.so.illness.. Depending on the business req shemas canbehange. They are: As is Principle:(Absence valuation as if emp had worked) Formation of counting classes for factoring and cost acounting:(by considering different quotas for diferent emp grps and doing deductions) Individual Caluculation:(Deiations to atual schedules) Valuation ofabsenes using averages and constants: (Ex: Overttime caluculation) To do all above processes sys depends on different Schemas . how is the time interpreted which are captured in 2001 and 2002 using TM01. i am not clear how is this interpretation different different in two schemas TM01 and TM04.schedule. How do we configure second Saturday? Navigation path and what components should be . Where can we assign different absence types for particular employee group 3.

(b) IMG node : Time Management->Time Data Recording and Administration->Absences->Absence Catalog ->Absence Counting ->Rule for Absence->Group Employee Subgroups for Time Quotas 4. What do we set in IT0007 for TMSTA if do not use time evaluation? And what do we set if we use time evaluation? Answer: Mark Time Management status as '7' . generation. make Time Management status in nifty 0007 as 1 or 9. X is an employee coming late to the office daily by 30 minutes for the whole week. refer F1 help on the field in infotype 0007. increase and replace when do we use each of them? Ans : No generation : No quota accrual has to happen-> User will fill in the Quota amount. and the time amount has to be deducted from his pay? How can we do that? 6. so u can make as after 8th coming saturday as holiday hope this 'll help u 108. increase and replace when do we use each of them? ANS: 2. What do we set in IT0007 for TMSTA if do not use time evaluation? And what do we set if we use time evaluation? 7. anyone now how to use some of the following bapis? . In “permit time quota with out using time evaluation”.considered while doing that? 5. Could you give suggestion for this Mr. 6. and the time amount has to be deducted from his pay? How can we do that? Answer : From Time perspective. ANS: for second saturday u can define holiday from a fixed date like after 8th of every month u can fallow second saturday. Replace: Quota accrued is replaced by the new value of accrual. generation.Time Evaluation without payroll integration. we have optionals like no. Could you give suggestion for this Mr. we have optionals like no. mark each second saturday as absence in the holiday calendar. Increase : Quota accrued is increased in the generating proportion. X is an employee coming late to the office daily by 30 minutes for the whole week. create the work schedule and generate. In “permit time quota with out using time evaluation”. How do we configure second Saturday? Navigation path and what components should be considered while doing that? Ans: This has to be configured in your work schedule. 5. Where can we assign different absence types for particular employee group Ans :(a) IMG node : Time Management->Time Data Recording and Administration->Absences->Group Personnel Subareas for Attendances and Absences. 7.

ANS:2 following is from the documentation: Import parameters AttendanceAbsence .. 109.Attendance/absence Description . see the data element documentation in the ABAP Dictionary. ANS:1 Call transaction BAPI.. Ex: i want to enter No of hours worked (REG) = 80 instead of entering each day 8 hours --> i. Is there any way that i can enter time in cat2 No of hours worked in that period. There select [Hierarchical][Personnel Time Management][PTManagerExtAttAbs]. see below. . The three insert methods are the BAPIS that you want to call. Would you know that or have that by any chance.. wich parameters are needed. In the tree there are also the documentation for the parameters my problem is that i dont know which parameters are needed in order to create an absence or attendance. ANS:3 Only one parameter is enough.e.BAPI_PTMGREXTREMSPEC_INSERT BAPI_PTMGREXTREMSPEC_INSWACT BAPI_PTMGREXTREMSPEC_INSWCOST i need to know how to USE this bapis. CALL FUNCTION 'BAPI_PTMGREXTREMSPEC_INSERT' TABLES remuneration_specification = remuneration_specification return = return. The following data is required: Logical system of the original document (Field EXTSYSTEM) External application (Field EXTAPPLICATION) Document number (Field EXTDOCUMENTNO) Personnel number (Field EMPLOYEENUMBER) From date (Field FROM_DATE) To date (Field TO_DATE) Attendance or absence type (Field ABS_ATT_TYPE) Start time (Field START_TIME) and End time (Field END_TIME) or Attendance/absence hours (Field ABS_ATT_HOURS) What is your problem? I need to know the technical process that is recommended between the moment a positive employee clocks in and clocks out to the final moment where time management has fed payroll. i dont know how to insert data using this BAPI.For more information on the individual parameter fields.

Tue 8h. i just want to enter the total amount hours worked for whole period insted of day by day. Or use transaction code CAC1. If u want to give Comp Off. ANS:3 By default Standard SAP allows you to enter attendance type and hours day wise .. am working with ESS standard applications.01 hours of sick.e. ANS:2 Check DATA entry profile ..T hours into a daily Time Type and link it to the sick leave quota. Access the Data entry profile using the SPRO path SPRO->IMG -> Personnel Management -> Employee Self Service -> Service Specific Settings ->Working Time -> Record Working Time -> Setup Data Entry Profiles.8 . Then using CAT6 you can move the hours to IT2010.Its very high priority work. wed . now i assigned hours using wage type from IT2010 and in payroll it is also taking it but it is also taking from workschedules as well how can i stop that and one more thing i am conserned about is in our client accruals are calculated according to the hours EE worked. ANS:1 Check for the Data Entry Profile properties under the section "Time Settings". You can create a wage type called Regular Hours and ask the employees to enter the total hours for this wage type in time sheet. One option is possible if you use 2010 instead of 2002 or 2001. Hope this clarifies your query. U have to transfer the O. 8 hours overtime etc then you need to use Infotype 2010 and you can ask the employees to enter these hours in time sheet using two different wagetypes . What about Over time again ANS:4 Your requirement is kind of abnormal. If i create a wage type reg hours and can i use that in CAT2 to enter the total hours or i have to use IT2010 for entering time. You cannot enter total hours for the whole week in the CATS... ANS:5 U want to compensate O. can we configure that if we assign hours through IT2010..whether it is a weekly entry or daily entry. can you any one please help me how to configure these two feature "LLREP" and "WEBMO" . May be it can be done by profile or else try if you can directly enter the no of hrs with out filling days information.monday 8h. Normally when you use time sheet its expected that you enter time everyday. Hope this help.. i. ANS: Go to PE03 type LLREP ( Variants for Reports) go to function code TIME expand ZTERF(Employee . If you really want to allow employee to enter total number of hours in the week say 40 hours in the week as regular hours... one for regular hours and other for overtime. for ever hour EE worked they will get 0. 110.T by paying / Time in Lieu. If u want to pay then u can use 2010 IT.

Time Management Status) here you can assign your variant according to Time Status. these need to be moved in to PeopleSoft. #9 . config must be completed to create new TA codes In the IMG for Administrator. 112. Security role is created . which will communicate with any platform. Each time there is an org change . ANS: The powerful integration broker. Presently there are complex interfaces for the process. Go to PE03 type WEBMO(Rule Group for Customizing Tables in web Env)select APPID (Application ID) expand click on ESS_ LR(LEave Request Application) then according to ESG you can specify your Rule Group for Work Flows. But at least it might be beneficial to store data her rather than in a work . So the issues are: 1. there is no logic to the TA codes other than "Hxx"”= hourly person and “Sxx” = salary ee?? 2. apporoved and assigned to each manager… a manager may have multiple roles 5. Employees enter their time in SAP Portal. A spread sheet is maintained representing the TA code for each people manager 4. Management has decided to redesign the interfaces. there are 3 additional fields we could use …but these fields don’t show in the drop down on IT1 . we are having in SAP Netweaver is SAP xi. The TA codes have the Administrator Name as position text of the people manager … this causes multiple text with same name (example attached) 3. Once these times are approved. We have implemented time management and we have for for salaried exempt • enter vacation / sick hours via Portal • time off auto approved • reports can be generated via SAP Likewise we have the same for salaried nonexempt and hourly ees (slightly different though) in all above cases the ee is assigned a time administrator (TA) code on infotype 1. that is exchange infrastructure. saphr Member Join Date: Dec 2008 Posts: 164 111.

Subty. you define a time type which you will be using. based on time constraint 2. 1) how to Configure tables like T555A. --------------------------------------NO ANS-------------------------------------113. 2011 is used to maintain time events for which you need to maintain 0050. using Schema’s like TW15. T510S. 2002. In table T555A. I have changed the time constraint of Infotype 0081 to 2. for 1 record. Is it dependent on the infotype itself as well? Is there any existing function module or user exit that I can use to enhance the module pool of infotype to delimit records? ANS: 1 Check the table v_t582A. . Still. PCR’ ( To01. 2002 is used to maintain attendances. 2006 is used to maintain absence quotas. it doesn't work. TO02 etc for your requirement. 2. But no. Then I create another record with Begin Date as 26th Oct 2007. By right. 3. 114. 2006 and 2011. 2001 is used to maintain absences. End Date as 31st Dec 9999. it does not seem to delimit past infotype records. you define the processing type-time type pair for a attendance or an absence accordingly to the processing type-time type class. time etc. In table T510S. TW15 is used to calculate overtime for more than 8hrs a day. you define the time wage type selection rule for various conditions of the day. it shld delimit the first record to end on 25th oct 2007 when the 2nd record is created. Any subtypes created for this infotype? I have removed the Subtype table entry. T555y. Just wondering is it possible to check the time constraint of standard infotypes such that the behaviour of infotype records will react accordingly to the time constraint? I am aware that we can change the time constraint in PM01 but i have tested it. To02) 3)how to maintain Maintained infotypes like 2001. For eg. T555Z is also an important table to be checked Go through the training material HR311 to have a better understanding about +ve time evaluation. I have changed the validity date.(2011 infotype in your question). ANS:2 As you are going for Positive Time evaluation. if the Time Constraint is set to 2. Subtype field and Time constraint tab entry in that view that you mentioned previously. i have Begin Date as 24th Oct 2007. but it does not delimit past records. In table T555Y. End Date as 31st Dec 9999. You can customize the rules TO01. Etc ANS:1 1. Etc 2)Configuration of overtime. I did. Even if there are Subtype entries. These tables are maintained for time wage type generation. but it still doesn't do auto delimitation of a past record when i create a record that has validity dates that overlaps with a past record. I have changed the field ZEITB for time constraint to 2. it didn't. text tab.sheet. shouldn't the delimitation be based on all records instead of Subtypes? ANS: It has to work with subtype as well since it is not dependent on the subtype have you created any record with different validity date and try instead of changing 1 field. TW30 is used to calculate overtime for more than 40hrs per week. Yes.

2) Give time constraint 1 . ANS: Can u tell me which IT r u trying .9999.2007 .11. but it doesn't do any delimitation for records with validity dates that overlap. In configuration ---> In Maintain Infotypes--->Time constarint (subnode) --->Choose the infotype and give the correct time constraint (1/2/3 ) .11. check Subtype obligatory and Text allowed (It will not affect . I created 1 record with Dates: 24...2nd record While saving the second record . 2: Only one record may be available at one time. your problem should be solved . You may not delete the record last stored on the database because all records of this infotype would otherwise be deleted.2007 . this behaviour is not what I require.31. subtype obligatory and text allowed.31. I am doing this for infotypes and yes. 4) Try with two.2007 . i have changed the time constraint to 2.9999 .2007 for Tiime constrint 2 but for 1 it should not allow the same) If this is not happening the messages are the problem . When u give 2 as time constraint .2007 . I need the records to do auto delimitation of previous records if it overlaps with previous records.10.ANS: R u doing this for a field or infotypes ? The time constraint is used only for infotypes .10.2007 for 1st record (does the same thing) Time gaps are the difference (You can have the record delimited to 20. 3: Any number of records may be valid at one time. IF Time constraint is 1 : it will delimit with a date as 23.2007 for 1st record IF Time constraint is 2 : it will delimit with a date as 23.9999. Another record with Dates: 24..12. no need to remove that check ) 3) 1: An infotype record must be available at all times.9999 .11. Use user exit for the same to correct the problem .1st record 24. it says 'Record cannot be delimited (time constraint 1)'. the other record seems to be invisible to the other.12.31. although there are currently 2 records. Eg: 24. Somehow.11. 1) Take infotype 0081 IT . ANS: Try this out. check whether the behaviour is the same . It did not delimit the first record.11. going to PM01----> in change mode .31. This record may have no time gaps. and time gaps are permitted. but time gaps are permitted. try for 0022 IT too . .12.12.three infotypes 0022 etc I have changed it to time constraint 1. However. when I tried to delete either of the record. FYI.

Another record would just be created without the past record being delimited. for Infotype 0081.they are across the board. so for this how can we fix a lunch break.. .. no messages are prompted at all.What is the message ur getting when you try to save the second record . tea break. #10 .you have many options and most all provide out-of-the-box solutions. since there is no fixed log in or log out time... how can we configure for this.. Would some colleagues have experience concerning time keeping clock suppliers having developed adequate interface between their clocks and Sap and delivering complete packages (hardware and software) ANS: There are SEVERAL. 115. ANS:2 you can configure this in the IMG : follow the path : Time Management->Work Schedules ->Daily work schedules -> Determine Break schedule. saphr Member Join Date: Dec 2008 Posts: 164 116.ffice:office" /> ANS:1 'Dynamic Breaks' can help you in resolving it.look at Time Management 3rd party partners.past record will get delimited.. where the day starts at 9 am. Could it be becoz it is a time management infotype? Btw. I have a scenario where the employee can work any 8 hours in a day of 12 hours.behaviour is as if its time constraint 3. when i changed it to Time Constraint 2. It works for Infotype 0022. But I need it to work for Infotype 0081Military Service... Currently IT0081 record doesn't get delimited. Check SAP's site for a list of the certified vendors... and specifying the quantity of time as 30 mins. I have done as follows defined a break with no from or to times .

My Client has requirement to change from time evaluation with clock times to time evaluation with out clock times in positive time recording. please let me know. And for 30 min. Time balances and Time wage types? 2. we will go ahead 118. mention 4 under "After" and 0. pls do agree with me.Paid Lunch break after 4 hrs. don't specify anything in Start & End and mention 0. You can also specify this break as paid or un-paid too. how dynamic breaks are help ful in this regard. Please start your work with the concepts what you know. So that i will give you the solutions and ideas regarding your threads. period balance in "base entitlement for absence quota generation"? ANS:1 Time types represent a semantic grouping of duration periods. Could any guide me on Time types.00 under After column. pls let me know. Or if you want to know from the first part of the configuration. then we will go further as it is a long process. Make sure to give the same grouping as well as name to all Breaks with different serial number. Also tell me what you’re exactly looking in time eval w/o clock times? ANS:2 Im also working with positive time recording.50 under paid. ANS:4 Suppose if you want to give unpaid Tea break after 2 hours of login for 15 min. In case if you need more help. 1. ANS:3 Dynamic break means there is no fixed timings for the break taken by the employee. ANS:1 I would suggest you to read the SPRO doc for Time eval w/o clock times.. ANS:3 Please do the following things and let me know where you are facing problem. It is more benefical if you go through that. let me know. Check OR create the table T555Z. He can take 30 min (in your case) in the entire day.25 under unpaid and 2. While working if you are getting any doubts. Check or create the table t555e check or create the table t555a Check or create the table t 510s check or create the table t554s And if you clear with all these things pls let me know.. 117. Bay balance. .but let me know whether this is right or not.

V_T510S: Used to create a selection rule for the time wage type selection. 120.2002 2. POSITIVE: automatic recording: record separately in a diff. Is it possible (if yes. 2. ---------------In the standard SAP system. upload to R/3 manual recording: Attendances infotype . 1.. negative time recording. V_T559L: Used to create a selection rule for quota accrual. We need this in order to calculate weeks of not working (this has to be calculated). I know that for payroll this is possible wih a setting in infotype 0003. . y do v do time evaluation?diff between time evaluation n time recording? if possible send me configuration material for Time evaluation. the time type determination group for the employee subgroup grouping for personnel calculation rules 1. system.NEGATIVE: record only deviations from the work schedule. These standard entries are generally sufficient for day to day processing within payroll. can you then pick this up in time evaluation schema. Is it possible (and how) to read data back from payroll into time. ANS:2 Please maintain the following tables for all those: V_T555A: Used to maintain or add a new time type. 119. as there is also ZL table. ANS: Time evaluation can be done in 2 ways: 1. Or is there another way to do this? ANS : Why you want to evaluate the time for inactive person. 1. how) to still include a employee in time evaluation even if this employee is inactive (status P0000-STAT2 = 0). positive time recording 2. The time wage type selection rule group is assigned the value of the employee subgroup grouping for the personnel calculation rule to read the Time Wage Type Selection Rule table.Standard settings The standard SAP system contains common time types as standard entries for a personnel subarea grouping. 2 and 3 has the value 02. For example in payroll you export something to ZL table.

? ANS:1 Time Types are your Clock in Clock Out Break In Break Out Offsite In Offsite out What ever you are going to use in your PDC. Then come to Time Evaluation Schema. For the above process you need to configure the T510S table. what are this TIME TYPES. 121. I gave the solution to your answer in the previous reply itself. the output should appear in the ZL table only..... ANS: So i think you have already configured the Wage types in Payroll.. and we have to do the wage type copying from the part of time management only if they are not using the payroll.. And you have transferred to Time. First answer: I do not need different employee groups.. ANS:3 Time types Play Important Part in Time Evaluation: 1)They help in creating the TIME ACCOUNTS for the employee . these wage types has to be configure in the T510S. but need (status P0000-STAT2 = 0) employees to be evaluated.. Second answer: I don't get your answer: the customer uses payroll and the result of a wage type in payroll has then to be read back into time.. only they will use the time wage types... So either in Payroll or in Time management the evaluation of time willbe the same. The Process is. and sub groups. Yes you can read the payroll into time.. But this problem is solved as I can use operation HRS=Y.If you want you can do.. Here the concept is. The table is T555A. and run the time evaluation. they will not use the payroll wage types. So. the same concept will run in both of the modules. You will get the output in DZL table. Put the Day grouping nn nn nn nn in the Parameters.. now you want to c whether the time is capturing the Payroll wage types or not.Some companies. ANS:2 Time Types are buckets to store time balances. Process : First of all you have to group your employees.( for inactive emp) Assign the employee sub group grouping for PCR in Basic Pay ( IMG ). ZL table only stores the time wage types irrespective of whether you configured in the payroll or Time Management.

membership fees. flexi time. sap hr forum.a based on cpi. ess: leave application. time evaluation. errors. ptax. infotypes explanations and configurations. schkz. structures in human resources. payslip display.. all the img config. schema. queries. solutions. cost accounting with finance. d atar. rotating shifts.. base entitlements. img steps. e-recruitment in sap hr. sap hr. date specifications. daily and weekly over time. specification. pcr. leave carry forwards. cats. time mgmt: holidays and holiday calendars. canada. time management. multiple form 16. previous employer details.objects on loans. communication. different absence types like pl. conveyance. third party vendors.. download.hra. operations.. sap help. form 16 with annexure. gross salary. lwop. tm00 and tm04. notifications. uat. numkr. vdsk1. leave balances. lso. discussion forum. recurring payments. complete in00 schema. dynamic actions. course employee master data. day types.fixed and variable breaks. screen modifications. basic data changes.The whole balances are Put in a Time Type. technical principles. Time types store time balances. usa. period work schedules. administartor groups.payslip design. Let me give you an example: say time type-0002(Periodic balance) If a particular employee worked 10 hours In a day that 10 hours is stored in ZES(Daily Balance) AND Total cumulation for the whole month say 200 hours in SALDO(Monthly Balance). sap solution manager. info type. attendance types. path. functions. quarterly returns.. medical. legislation. fico. tariff. infotype menus. forms. perks. loans. attendance. basic. ess and mss.. tax calculation. personal data. sap certification exam. tmsta. bank. and also we get Time types which are used to show time accounts (with the help of Time balances)for the employee. variants.leave encashment request. screen header. absence. hard furnishing. steps. wage types. to-be. organisational key. coa/cla. lgmst. sap hr faq. country payrolls. address. interview questions & answers. documents. features. transfer. online training. contract elements. reports.. hiring. contr. hr sapscripts. screen shots.. family details. india. pinch. vacation quotas etc. positive and negative time evaluations. transaction codes.f and vpf. sdn sap. dynamic. absence quotas. france. training and event management. personnel administration. counting rules. paid and unpaid breaks. lwf. promotion. these time types are stored in cluster B2 Page 2 of 2 <1 2 Tags abkrs. lta. payroll driver. tips. & more. hr authorizaton.-Once the Time evaluation is run we get time wage types which are set to payroll for calculation of remuneration for the employee. esi. actions. benefits. loans and interest subsidy.. testing. statutory. t-codes. payroll.. one time payments.. igmod. germany. work . V_T555A-used to view time types for a particular period. daily work schedules. d. mysap. certification review. cea/cha. certification. payroll sub modules. sample resumes. person ids. as-is. quotas. hr module tables. integration. positive & negative time recording. free. p. shifts patterns and allowances. configurations. monitoring of tasks. and deduction of quotas.. previous exp.. education. error message. hr abap reports. personnel development. leave encashment.. planned working time. organization management.

. Jelsoft Enterprises Ltd. RX) do not access the cluster independently. zlsch « Previous Thread | Next Thread » Forum Jump Career Forum Go hit counter code Contact Us .Top Powered by vBulletin® Version 3. Concepts of Macros (Import/Export etc.com is NOT responsible for any such Content If you have any legal issues please click Report Post icon in the Content/contact us.schedules.) Macros: Introduction Programs that process the cluster data (for example.2012.4 Copyright ©2000 .com in any Thread/Post are made by the readers/users and WikiNewForum. year end activities. 2009-03-23 Disclaimer: All the content posted in WikiNewForum.7. The data is accessed using a defined interface created with macros.Wiki NewForum .

 When you change a RMAC macro in the table TRMAC. include must be integrated. According to conventions. The source code of these modules is stored in the function section of the control table TRMAC.  Macros can also be defined as RMAC macros. it may take o RX Cluster object RXo RD Cluster object RDo B2 Cluster object B2 and so on. END-OF-DEFINITION. The rest of the name is freely definable. Difference between the two methods is:  If a macro is changed.Macro contains some part of source code. Macro is module. The coding is grouped under a specific name in the table key. which it will be useful for number of applications. the reports that use this macro are not regenerated automatically. You must regenerate them manually. It takes two values o IMP Import Macroo EXP Export Macro bb is the Database table where the data is saved: o C1 Database object PCL1 o C2 Database object PCL2 o C3 Database object PCL3 o C4 Database object PCL4  Cc is the cluster. Defining and Calling the Macros Defining: There are two options for defining the Macros  Macros are defined using the ABAP Commands DEFINE…. which is stored Naming Conventions of Macro: RP-aaa-bb-cc   aaa is the type of Macro. If a macro is used in a report. Standard HR Macros . the first two letters of the name must stand for the application. each report using this macro is automatically regenerated when it is executed. A macro can be used within a report or within include. and the macro is defined in include with the DEFINE command.

How to check whether the macro operation is successful or not For every macro. which is valid in the data selection period. with GET PERNR or RP_READ_INFOTYPE). If PNP-SW-FOUND = 1. whether the operation was successful or not will be checked with PNP-SW-FOUND. Parameters RP_PROVIDE_FROM_FRST inftytab subty beg end . then the operation is successful. Features The first entry for a specified period is placed in the table header entry from an internal infotype table. Validity start and end dates are correct (preferably of the type DATE). The infotype table has been filled earlier (for example.o data The macro RP-PROVIDE-FROM-FRST retrieves the first (start) data record. Prerequisites    The validity begin date of the time period must be before or the same as the validity end date. o The macro RP-READ-INFOTYPE retrieves the data record(s). This macro is only helpful if the infotype has time constraint 1 or 2. The infotype table is sorted in ascending order. o The macro RP-PROVIDE-FROM-LAST retrieves the last (latest) data record. you would receive the first fitting table entry that might not necessarily correspond to the first time entry. which is valid in the data selection period. Where exactly the Macrocode is stored The program code pertaining to this macro is stored in the control table RMAC Guidelines for how and when to use the Standard Macros o RP_PROVIDE_FROM_FRST Use macro RP_PROVIDE_FROM_FRST in programs for the logical databases PNP and PAP where the first data record for a period (can be a subtype) is read from an infotype table. which is valid in the selection period. Otherwise.

The infotype table is sorted in ascending order. o RP_PROVIDE_FROM_LAST You use macro RP_PROVIDE_FROM_LAST in programs for the logical databases PNP and PAP where the last data record for a period (can be a subtype) is read from an infotype table. you would receive the last fitting table entry that might not necessarily correspond to the last time entry. or RP_PROVIDE_FROM_FRST P0001 SPACE PN-BEGDA PN-ENDDA. with GET PERNR or RP_READ_INFOTYPE). ENDIF. Otherwise. Validity start and end dates are correct (preferably of the type DATE).IN: 2) 3) 4) 1) Name of the internal table Subtype required or SPACE if no subtype is being specified Validity start date of the time interval Validity end date of the time interval OUT: 1)PNP-SW-FOUND: has the value 0 if there is no matching entry in the infotype table in the given time period. The infotype table has been filled earlier (for example. … ENDIF. assignment is missing' REJECT. Otherwise it has the value 1. Features The macro RP_PROVIDE_FROM_LAST makes sure that the last entry for a specified period is placed in the table header entry of the report output list. . IF PNP-SW-FOUND EQ '0'. This macro is only helpful if the infotype (or subtype) has time constraint 1 or 2. WRITE: / 'Error: Org. Prerequisites    The validity begin date of the time period must be before or the same as the validity end date. IF PNP-SW-FOUND EQ '1'. 2)The matching table header entry if PNP-SW-FOUND = 1 orthe initial table header entry if PNP-SWFOUND = 0 Example (RP_PROVIDE_FROM_FRST inftytab subty beg end) RP_PROVIDE_FROM_FIRST P0021 '1' PN-BEGDA PN-ENDDA.

an infotype is usually read with GET PERNR.WRITE: / 'Error: Org. Validity begin and end are correct date specifications (preferably of the type DATE).ENDIF. You can also use it in function modules. Using macro RP_READ_INFOTYPE is an exception. The program using the macro must contain the include DBPNPMAC.Parameters RP_PROVIDE_FROM_LAST inftytab subty beg end IN: 1) Name of the internal table 2) Subtype required or SPACE if no subtype is being specified 3) Validity begin date of the time interval 4) Validity end date of the time interval OUT:1) PNP-SW-FOUND: has the value 0 if there is no matching entry in the infotype table in the given time period.IF PNP-SW-FOUND EQ '0'.ORRP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA. …ENDIF. see the documentation on Function Modules.IF PNP-SW-FOUND EQ '1'. Otherwise it has the value 1. · RP_READ_INFOTYPE You can use the macro in all programs at any point. Features The macro RP_READ_INFOTYPE makes sure that all data records for a person for the specified period are placed in an internal infotype table. Parameters RP_READ_INFOTYPE pernr infty inftytab beg end IN: 2) 3) 1) Personnel number of the person requested Infotype number of the required infotype Name of the internal infotype table . The infotype table must match the infotype number. 2) The matching table header entry if PNP-SW-FOUND = 1 or the cleared table header entry if PNP-SW -FOUND = 0 Example: RP_PROVIDE_FROM_LAST P0021 '1' PN-BEGDA PN-ENDDA. You can also use the function module HR_READ_INFOTYPE. For information on how to use the function module. REJECT. Prerequisites     The validity begin date of the time period must be before or the same as the validity end date. In database PNP. assignment is missing'.

DATA: BEGDA LIKE P0001-BEGDA.RP-READ-INFOTYPE PERNR 0001 P0001 BEGDA ENDDA. .4) 5) Validity start date of the time interval Validity end date of the time interval OUT: 1) PNP-SW-FOUND = 0. ENDDA LIKE P0001ENDDA. PNP-SW-AUTH-SKIPPED-RECORD = 1 .PERNR = '12345678'. if there is no matching record in the dataset 2) PNP-SW-AUTH-SKIPPED-RECORD = 0. if the HR authorization check has not retained any records due to incorrect authorizations. Example (RP_READ_INFOTYPE pernr infty inftytab beg end) INFOTYPES: 0001.IF PNP-SW-FOUND EQ '0'.BEGDA = LOW-DATE + 15ENDDA = HIGH-DATE – 5.IF PNP-SW-AUT-SKIPPED-RECORD EQ '1'. containing all matching records for which the user is authorized (this table can also be empty).WRITE: / 'Infotype 0001 missing'.WRITE: / 'Insufficient authorization'. STOP.ENDIF. RP-LOWDATEHIGHDATE. if there is no matching record in the dataset PNP-SW-FOUND = 1.DATA: PERNR LIKE P0001-PERNR. if the HR authorization check has retained at least one record due to lack of authorization 3) Internal infotype table. STOP.ENDIF.

Sign up to vote on this title
UsefulNot useful