cancel
Showing results for 
Search instead for 
Did you mean: 

How to Get Payroll Days (HR Module)

Former Member
0 Kudos

How do I get the exact counting of payroll days given two dates? What other data of an employee do I need to know (e.g. employee group/subgroup, etc.)? Is there an existing function that returns the value of payroll days?

Thanks for any reply!

Accepted Solutions (0)

Answers (2)

Answers (2)

vinod_gunaware2
Active Contributor
0 Kudos

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

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

HR-D: Payroll Germany

RP_LAST_DAY_OF_MONTHS

HR-D: Determine last day of month

regards

vinod

vinod_gunaware2
Active Contributor
0 Kudos

Transaction

<b>PCERT</b> - payroll posting runs

Table

T510H Payroll Constants with Regard to Time Unit

T52C0 Payroll Schemas

T52C1 Payroll Schemas

T549A Payroll Areas

T549M Monthly Assignment: Payroll Period

T549P Valid Time Units for Payroll Accounting

T549Q Payroll Periods

T549R Period Parameters

T549S Payroll date types

T549T Payroll Areas

T549M Monthly Assignment: Payroll Period

T549N Period Modifiers

T549O Text for date modifier

T549P Valid Time Units for Payroll Accounting

T549Q Payroll Periods

T549R Period Parameters

T549S Payroll date types

T549T Payroll Areas

You can look at this example report or form that retrieves data from this cluster based on several parameters that are entered when the report is executed online (like employee number and tax year).

In SE38 or SA38, execute the sample program <b>EXAMPLE_PNP_GET_PAYROLL</b>

A program has to be written to extract the CRT data based on the particular employee and payroll period you are getting.

Try this.

TABLES: PERNR,

PCL2.

----


  • INCLUDE ZHR_PCL2_CU_DATA - Payroll results. *

----


  • Data declarations for the IMPORT of database PCL2 for cluster RU. *

----


DATA: CD_NEXT_SEQ TYPE I, "Next available seq number

CD_LAST_PAY TYPE D. "Last payroll run date

DATA: BEGIN OF OCD_VERSION.

INCLUDE STRUCTURE PC201. "Technical Version

*DATA: molga LIKE t001p-molga. "country identifier

DATA: END OF OCD_VERSION.

DATA: BEGIN OF RGDIR OCCURS 100.

INCLUDE STRUCTURE PC261. "(For Export and Import of Payroll Res

DATA: END OF RGDIR.

  • Key for database PCL2 cluster RU

DATA BEGIN OF RX_KEY.

INCLUDE STRUCTURE PC200. "Payroll Results Key

DATA: END OF RX_KEY.

  • country dependent

DATA: BEGIN OF RU-VERSION.

INCLUDE STRUCTURE PC201. "Technical Version

DATA: END OF RU-VERSION.

DATA: BEGIN OF ORU_VERSION.

INCLUDE STRUCTURE PC201. "Technical Version

DATA: END OF ORU_VERSION.

  • Cumulated-result table

DATA: BEGIN OF CRT OCCURS 30.

INCLUDE STRUCTURE PC22Y. "Cumulated result table (USA)

DATA: END OF CRT.

GET PERNR.

IMPORT CD_VERSION TO OCD_VERSION

CD_LAST_PAY

CD_NEXT_SEQ

RGDIR

FROM DATABASE PCL2(CU) ID PERNR-PERNR.

CHECK SY-SUBRC EQ 0.

  • This is where you select the particular period you are searching for. The

  • selection will change based on what dates you are looking for.

LOOP AT RGDIR WHERE FPPER EQ P_PERIOD

AND INPER EQ P_PERIOD

AND ( RUNDT GT Z_RUNDT

OR ( RUNDT EQ Z_RUNDT

AND RUNTM GT Z_RUNTI ) )

AND SRTZA = 'A'

AND PAYTY = ' '

AND VOID NE 'V'.

CHECK SY-SUBRC = 0.

MOVE PERNR-PERNR TO RX_KEY-PERNR.

MOVE RGDIR-SEQNR TO RX_KEY-SEQNO.

IMPORT RU-VERSION TO ORU-VERSION

CRT

FROM DATABASE PCL2(RU) ID RX_KEY.

CHECK SY_SUBRC = 0.

LOOP AT CRT.

Process crt data.

ENDLOOP.

ENDLOOP.

regards

vinod