Database Tables in HR
- Personnel Administration (PA) - master and time data infotype tables (transparent tables). PAnnnn: e.g. PA0001 for infotype 0001
- Personnel Development (PD) - Org Unit, Job, Position, etc. (transparent tables). HRPnnnn: e.g. HRP1000 for infotype 1000
- Time/Travel expense/Payroll/Applicant Tracking data/HR work areas/Documents (cluster PCLn: e.g. PCL2 for time/payroll results.
Cluster Table
- Cluster tables combine the data from several tables with identical (or almost identical) keys into one physical record on the database
- Data is written to a database in compressed form
- Retrieval of data is very fast if the primary key is known.
- Cluster tables are defined in the data dictionary as transparent tables.
- External programs can NOT interpret the data in a cluster table.
- Special language elements EXPORT TO DATABASE, IMPORT TO DATABASE and DELETE FROM DATABASE are used to process data in the cluster tables.
PCL1 - Database for HR work area;
PCL2 - Accounting Results (time, travel expense and payroll);
PCL3 - Applicant tracking data;
PCL4 - Documents, Payroll year-end Tax data
Database Tables PCLn
- PCLn database tables are divided into subareas known as data clusters.
- Data Clusters are identified by a two-character code. e.g RU for US payroll result, B2 for time evaluation result...
-
- Each HR subarea has its own cluster.
- Each subarea has its own key.
Database Table PCL1
The database table PCL1 contains the following data areas:
- B1 time events/PDC
- G1 group incentive wages
- L1 individual incentive wages
- PC personal calendar
- TE travel expenses/payroll results
- TS travel expenses/master data
- TX infotype texts
- ZI PDC interface -> cost account
Database Table PCL2
The database table PCL2 contains the following data areas:
- B2 time accounting results
- CD cluster directory of the CD manager
- PS generated schemas
- PT texts for generated schemas
- RX payroll accounting results/international
- Rn payroll accounting results/country-specific ( n = HR country indicator )
- ZL personal work schedule
Database Table PCL3
The database table PCL3 contains the following data areas:
- AP action log / time schedule
- TY texts for applicant data infotypes
Data Management of PCLn
The ABAP commands IMPORT and EXPORT are used for management of read/write to database tables PCLn.
A unique key has to be used when reading data from or writing data to the PCLn.
| Field Name | KEY | Length | Text |
| MANDT | X | 3 | Client |
| RELID | X | 2 | Relation ID (RU,B2..) |
| SRTFD | X | 40 | Work Area Key |
| SRTF2 | X | 4 | Sort key for dup. key |
Cluster Definition
- The data definition of a work area for PCLn is specified in separate programs which comply with fixed naming conventions.
- They are defined as INCLUDE programs (RPCnxxy0). The following naming convention applies:
-
- n = 1 or 2 (PCL1 or PCL2)
- xx = Relation ID (e.g. RX)
- y = 0 for international clusters or country indicator (T500L) for different country cluster
Exporting Data (I)
- The EXPORT command causes one or more 'xy' KEY data objects to be written to cluster xy.
- The cluster definition is integrated with the INCLUDE statement.
REPORT ZHREXPRT.
TABLES: PCLn.
INCLUDE: RPCnxxy0. "Cluster definition
* Fill cluster KEY
xy-key-field = <value>.
* Fill data object
....
* Export record
EXPORT TABLE1 TO DATABASE PCLn(xy) ID xy-KEY.
IF SY-SUBRC EQ 0.
WRITE: / 'Update successful'.
ENDIF.
Exporting Data (II)
- Export data using macro RP-EXP-Cn-xy.
- When data records are exported using macro, they are not written to the database but to a main memory buffer.
- To save data, use the PREPARE_UPDATE routine with the USING parameter 'V'.
REPORT ZHREXPRT.
*Buffer definition
INCLUDE RPPPXD00. INCLUDE RPPPXM00. "Buffer management
DATA: BEGIN OF COMMON PART 'BUFFER'.
INCLUDE RPPPXD10.
DATA: END OF COMMON PART 'BUFFER'.
...
RP-EXP-Cn-xy.
IF SY-SUBRC EQ 0.
PERFORM PREPARE_UPDATE USING 'V'..
ENDIF.
Importing Data (I)
- The IMPORT command causes data objects with the specified key values to be read from PCLn.
- If the import is successful, SY-SUBRC is 0; if not, it is 4.
REPORT RPIMPORT.
TABLES: PCLn.
INCLUDE RPCnxxy0. "Cluster definition
* Fill cluster Key
* Import record
IMPORT TABLE1 FROM DATABASE PCLn(xy) ID xy-KEY.
IF SY-SUBRC EQ 0.
* Display data object
ENDIF.
Importing data (II)
- Import data using macro RP-IMP-Cn-xy.
- Check return code SY-SUBRC. If 0, it is successful. If 4, error.
- Need include buffer management routines RPPPXM00
REPORT RPIMPORT.
*Buffer definition
INCLUDE RPPPXD00
.
DATA: BEGIN OF COMMON PART 'BUFFER'.
INCLUDE RPPPXD10.
DATA: END OF COMMON PART 'BUFFER'.
*import data to buffer
RP-IMP-Cn-xy.
....
*Buffer management routines
INCLUDE RPPPXM00.
Cluster Authorization
- Simple EXPORT/IMPORT statement does not check for cluster authorization.
- Use EXPORT/IMPORT via buffer, the buffer management routines check for cluster authorization.
Payroll Results (I)
- Payroll results are stored in cluster Rn of PCL2 as field string and internal tables. n - country identifier.
- Standard reports read the results from cluster Rn. Report RPCLSTRn lists all payroll results; report RPCEDTn0 lists the results on a payroll form.
Payroll Results (II)
The cluster definition of payroll results is stored in two INLCUDE reports:
- include: rpc2rx09. "Definition Cluster Ru (I)
- include: rpc2ruu0. "Definition Cluster Ru (II)
The first INCLUDE defines the country-independent part; The second INCLUDE defines the country-specific part (US).
The cluster key is stored in the field string RX-KEY.
Payroll Results (III)
- All the field string and internal tables stored in PCL2 are defined in the ABAP/4 dictionary. This allows you to use the same structures in different definitions and nonetheless maintain data consistency.
- The structures for cluster definition comply with the name convention PCnnn. Unfortunately, 'nnn' can be any set of alphanumeric characters.
*Key definition
DATA: BEGIN OF RX-KEY.
INCLUDE STRUCTURE PC200.
DATA: END OF RX-KEY.
*Payroll directory
DATA: BEGIN OF RGDIR OCCURS 100.
INCLUDE STRUCTURE PC261.
DATA: END OF RGDIR.
Payroll Cluster Directory
- To read payroll results, you need two keys: pernr and seqno
- You can get SEQNO by importing the cluster directory (CD) first.
REPORT ZHRIMPRT.
TABLES: PERNR, PCL1, PCL2.
INLCUDE: rpc2cd09. "definition cluster CD
PARAMETERS: PERSON LIKE PERNR-PERNR.
...
RP-INIT-BUFFER.
*Import cluster Directory
CD-KEY-PERNR = PERNR-PERNR.
RP-IMP-C2-CU.
CHECK SY-SUBRC = 0.
LOOP AT RGDIR.
RX-KEY-PERNR = PERSON.
UNPACK RGDIR-SEQNR TO RX-KEY-SEQNO.
* Import data from PCL2
RP-IMP-C2-RU.
INLCUDE: RPPPXM00. "PCL1/PCL2 BUFFER HANDLING
Function Module (I)
CD_EVALUATION_PERIODS
After importing the payroll directory, which record to read is up to the programmer. Each payroll result has a status.
- 'P' - previous result
- 'A' - current (actual) result
- 'O' - old result
Function module CD_EVALUATION_PERIODS will restore the payroll result status for a period
when that payroll is initially run. It also will select all the relevant periods to be evaluated.
Function Module (II)
CD_EVALUATION_PERIODS
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, the system determines whether the user has the authorizations required for the organizational features of the employees selected with GET PERNR.
- Employees for which the user has no authorization are skipped and appear in a list at the end of the report.
- Authorization object: 'HR: Master data'
Authorization for Data
- In the authorization check for data, the system determines whether the user is authorized to read the infotypes specified in the report.
- If the authorization for a particular infotype is missing, the evaluation is terminated and an error message is displayed.
Deactivating the Authorization Check
- In certain reports, it may be useful to deactivate the authorization check in order to improve performance. (e.g. when running payroll)
- You can store this information in the object 'HR: Reporting'.








