SAP details:     Events  -  News -   Training  -  World wide sites  -  Sap Labs   -   SAP Magazine  -   SAP Screen saver -   Stock Price

HR ABAP - Payroll


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'.

 
 
 









   
 
PlanetSAP.com

Home     Post a article   Suggestion   Contact  

Disclaimer    Copyright; 1998-2001 Softron Systems, Inc. All rights reserved.