Quantcast
Channel: SCN : Document List - ABAP Development
Viewing all articles
Browse latest Browse all 935

Reading the HR Payroll results using Class and Methods (PRR, Payroll Results Reader class)

$
0
0

Rather than reading the payroll results in traditional way using FM's we can process the same using Payroll reader class which was designed to use with PNP logical database. SAP recommends that not to use GET PAYROLL event.  Instead sap had provided the below PRR class i.e. Payroll Results Reader class.

 

 

 

REPORT  ZHR_1.
 TABLES PERNR.
 ** Payroll results realted data declarations
 DATA: GO_PRR               TYPE REF TO CL_HRPAY99_PRR_4_PNP_REPS,       GT_PERNR_PR          TYPE H99_HR_PAY_RESULT_TAB.
 *** Field Symbols.
 FIELD-SYMBOLS: <PERNR_PR>   TYPE REF TO CL_HR_PAY_RESULT.
 START-OF-SELECTION.
 ** Create an instance to the payroll results reader class .   CONSTANTS: LV_CO_MOLGA(2) VALUE '40'.
 ** Generate/ Create an instance of payroll reader class.   CALL METHOD CL_HRPAY99_PRR_4_PNP_REPS=>GET_INSTANCE     EXPORTING       IM_PN_BEGDA     = PN-BEGDA       IM_PN_ENDDA     = PN-ENDDA       IM_MOLGA        = LV_CO_MOLGA       IM_PNPDISBD     = PN-BEGDA     IMPORTING       EX_PRR          = GO_PRR     EXCEPTIONS       INVALID_ENTRIES = 1       OTHERS          = 2.   IF SY-SUBRC <> 0.
 ** Error message can be raised   ENDIF.
 ******** GET PERNR EVENT **************
 GET PERNR.
 ********* START READING OF INDIVIDUAL EMPLOYEE PAYROLL RESULTS AFTER GET PERNR EVENT *************
 CALL METHOD GO_PRR->GET_PERNR_PAYR_RESULTS_ALLIN1     EXPORTING       IM_PERNR                      = PERNR-PERNR     IMPORTING       EX_PERNR_PAYROLL_RESULTS      = GT_PERNR_PR     EXCEPTIONS       COUNTRY_VERSION_NOT_AVAILABLE = 1       NO_AUTHORIZATION              = 2       NO_ENTRIES_FOUND              = 3       READ_ERROR                    = 4       OTHERS                        = 5.   IF SY-SUBRC <> 0.   ENDIF.
 *** Payroll results loaded in to GT_PERNR_PR based on the requirement like only regular, only offcycle you can process the results table.
 ** Identify only the regular payroll results.   LOOP AT GT_PERNR_PR ASSIGNING <PERNR_PR>.
 *     GO_PERNR_PR ?= <PERNR_PR>.     IF <PERNR_PR>->PERIOD-FPPER NE <PERNR_PR>->PERIOD-INPER OR <PERNR_PR>->PERIOD-FPPER NE PN-PAPER OR        <PERNR_PR>->PERIOD-FPPER EQ 'X' OR <PERNR_PR>->PERIOD-FPPER = '000000' .
 *      CLEAR <PERNR_PR>.        " Write own logic to mark and process the result record as required     ENDIF.   ENDLOOP.

 

Regards,

Mayure


Viewing all articles
Browse latest Browse all 935

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>