SAP EXIT_SAPLRHPF_001 Function Module for Personnel Cost Planning: User Exit for Cost Elements for Person
EXIT_SAPLRHPF_001 is a standard exit saplrhpf 001 SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Personnel Cost Planning: User Exit for Cost Elements for Person processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for exit saplrhpf 001 FM, simply by entering the name EXIT_SAPLRHPF_001 into the relevant SAP transaction such as SE37 or SE38.
Function Group: XPCP
Program Name: SAPLXPCP
Main Program:
Appliation area: H
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function EXIT_SAPLRHPF_001 pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'EXIT_SAPLRHPF_001'"Personnel Cost Planning: User Exit for Cost Elements for Person.
EXPORTING
_PLVAR = "Plan version
_PERNR_PERSG = "Employee Group
_PERNR_PERSK = "Employee Subgroup
_PERNR_ABART = "Employee Subgroup/Personnel Calculation Rule Grouping
_PLAN_BEGDA = "Start Date of Planning Period
_PLAN_ENDDA = "End Date of Planning Period
_PLAN_ABART = "Time Unit: Personnel Cost Planning
_PLAN_MODE = "Indicator: Projected Pay, Basic Pay, Payroll Results
_ORGEH_OTYPE = "Object Type of Current Organizational Unit
_ORGEH_OBJID = "Object ID of Current Organizational Unit
_PERNR_OTYPE = "Object Type for Person
_PERNR_PERNR = "Personnel Number of Person
_PERNR_BEGDA = "Start Period for Person Evaluation
_PERNR_ENDDA = "End Period for Person Evaluation
_PERNR_BUKRS = "Company Code
_PERNR_WERKS = "Personnel Area
TABLES
_P1015_DATA = "Standard Info 1015 for Object
R1015_DATA = "Additional Info 1015 from Customers
EXCEPTIONS
CUST_USER_EXIT_ERROR = 1
Related Function Modules
Below is a list of related SAP function modules this CUSTOMER FUNCTION exit / user exit is relevant for.RH_CPCALC_FULL_OVERLAP
RH_CPCALC_PERIOD_CUT_SPLIT
RH_CPCALC_PERIOD_MATCHING_INIT
RH_CPCALC_PERIOD_TAB_INIT
RH_CPCALC_PLANNING_GROUP
RH_CPCALC_UPDATE_CO_INFO
RH_CPCALC_UPDATE_ORG_COST
RH_CPCALC_UPDATE_POS_COST
RH_CPCALC_USEREXIT_001
RH_CPCHANGE_PLANNING_GROUP
IMPORTING Parameters details for EXIT_SAPLRHPF_001
_PLVAR - Plan version
Data type: P1015-PLVAROptional: No
Call by Reference: No ( called with pass by value option)
_PERNR_PERSG - Employee Group
Data type: P0001-PERSGOptional: No
Call by Reference: No ( called with pass by value option)
_PERNR_PERSK - Employee Subgroup
Data type: P0001-PERSKOptional: No
Call by Reference: No ( called with pass by value option)
_PERNR_ABART - Employee Subgroup/Personnel Calculation Rule Grouping
Data type: P1015-ABARTOptional: No
Call by Reference: No ( called with pass by value option)
_PLAN_BEGDA - Start Date of Planning Period
Data type: P1000-BEGDAOptional: No
Call by Reference: No ( called with pass by value option)
_PLAN_ENDDA - End Date of Planning Period
Data type: P1000-ENDDAOptional: No
Call by Reference: No ( called with pass by value option)
_PLAN_ABART - Time Unit: Personnel Cost Planning
Data type: P1015-ABARTOptional: No
Call by Reference: No ( called with pass by value option)
_PLAN_MODE - Indicator: Projected Pay, Basic Pay, Payroll Results
Data type: COptional: No
Call by Reference: No ( called with pass by value option)
_ORGEH_OTYPE - Object Type of Current Organizational Unit
Data type: P1015-OTYPEOptional: No
Call by Reference: No ( called with pass by value option)
_ORGEH_OBJID - Object ID of Current Organizational Unit
Data type: P1015-OBJIDOptional: No
Call by Reference: No ( called with pass by value option)
_PERNR_OTYPE - Object Type for Person
Data type: P1015-OTYPEOptional: No
Call by Reference: No ( called with pass by value option)
_PERNR_PERNR - Personnel Number of Person
Data type: P0001-PERNROptional: No
Call by Reference: No ( called with pass by value option)
_PERNR_BEGDA - Start Period for Person Evaluation
Data type: P0001-BEGDAOptional: No
Call by Reference: No ( called with pass by value option)
_PERNR_ENDDA - End Period for Person Evaluation
Data type: P0001-ENDDAOptional: No
Call by Reference: No ( called with pass by value option)
_PERNR_BUKRS - Company Code
Data type: P0001-BUKRSOptional: No
Call by Reference: No ( called with pass by value option)
_PERNR_WERKS - Personnel Area
Data type: P0001-WERKSOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for EXIT_SAPLRHPF_001
_P1015_DATA - Standard Info 1015 for Object
Data type: P1015Optional: No
Call by Reference: No ( called with pass by value option)
R1015_DATA - Additional Info 1015 from Customers
Data type: PPCUE1015Optional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
CUST_USER_EXIT_ERROR - Information not created in User Exit
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for EXIT_SAPLRHPF_001 Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv__plvar | TYPE P1015-PLVAR, " | |||
| lt__p1015_data | TYPE STANDARD TABLE OF P1015, " | |||
| lv_cust_user_exit_error | TYPE P1015, " | |||
| lv__pernr_persg | TYPE P0001-PERSG, " | |||
| lv__pernr_persk | TYPE P0001-PERSK, " | |||
| lv__pernr_abart | TYPE P1015-ABART, " | |||
| lv__plan_begda | TYPE P1000-BEGDA, " | |||
| lv__plan_endda | TYPE P1000-ENDDA, " | |||
| lv__plan_abart | TYPE P1015-ABART, " | |||
| lv__plan_mode | TYPE C, " | |||
| lt_r1015_data | TYPE STANDARD TABLE OF PPCUE1015, " | |||
| lv__orgeh_otype | TYPE P1015-OTYPE, " | |||
| lv__orgeh_objid | TYPE P1015-OBJID, " | |||
| lv__pernr_otype | TYPE P1015-OTYPE, " | |||
| lv__pernr_pernr | TYPE P0001-PERNR, " | |||
| lv__pernr_begda | TYPE P0001-BEGDA, " | |||
| lv__pernr_endda | TYPE P0001-ENDDA, " | |||
| lv__pernr_bukrs | TYPE P0001-BUKRS, " | |||
| lv__pernr_werks | TYPE P0001-WERKS. " |
|   CALL FUNCTION 'EXIT_SAPLRHPF_001' "Personnel Cost Planning: User Exit for Cost Elements for Person |
| EXPORTING | ||
| _PLVAR | = lv__plvar | |
| _PERNR_PERSG | = lv__pernr_persg | |
| _PERNR_PERSK | = lv__pernr_persk | |
| _PERNR_ABART | = lv__pernr_abart | |
| _PLAN_BEGDA | = lv__plan_begda | |
| _PLAN_ENDDA | = lv__plan_endda | |
| _PLAN_ABART | = lv__plan_abart | |
| _PLAN_MODE | = lv__plan_mode | |
| _ORGEH_OTYPE | = lv__orgeh_otype | |
| _ORGEH_OBJID | = lv__orgeh_objid | |
| _PERNR_OTYPE | = lv__pernr_otype | |
| _PERNR_PERNR | = lv__pernr_pernr | |
| _PERNR_BEGDA | = lv__pernr_begda | |
| _PERNR_ENDDA | = lv__pernr_endda | |
| _PERNR_BUKRS | = lv__pernr_bukrs | |
| _PERNR_WERKS | = lv__pernr_werks | |
| TABLES | ||
| _P1015_DATA | = lt__p1015_data | |
| R1015_DATA | = lt_r1015_data | |
| EXCEPTIONS | ||
| CUST_USER_EXIT_ERROR = 1 | ||
| . " EXIT_SAPLRHPF_001 | ||
ABAP code using 7.40 inline data declarations to call FM EXIT_SAPLRHPF_001
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| "SELECT single PLVAR FROM P1015 INTO @DATA(ld__plvar). | ||||
| "SELECT single PERSG FROM P0001 INTO @DATA(ld__pernr_persg). | ||||
| "SELECT single PERSK FROM P0001 INTO @DATA(ld__pernr_persk). | ||||
| "SELECT single ABART FROM P1015 INTO @DATA(ld__pernr_abart). | ||||
| "SELECT single BEGDA FROM P1000 INTO @DATA(ld__plan_begda). | ||||
| "SELECT single ENDDA FROM P1000 INTO @DATA(ld__plan_endda). | ||||
| "SELECT single ABART FROM P1015 INTO @DATA(ld__plan_abart). | ||||
| "SELECT single OTYPE FROM P1015 INTO @DATA(ld__orgeh_otype). | ||||
| "SELECT single OBJID FROM P1015 INTO @DATA(ld__orgeh_objid). | ||||
| "SELECT single OTYPE FROM P1015 INTO @DATA(ld__pernr_otype). | ||||
| "SELECT single PERNR FROM P0001 INTO @DATA(ld__pernr_pernr). | ||||
| "SELECT single BEGDA FROM P0001 INTO @DATA(ld__pernr_begda). | ||||
| "SELECT single ENDDA FROM P0001 INTO @DATA(ld__pernr_endda). | ||||
| "SELECT single BUKRS FROM P0001 INTO @DATA(ld__pernr_bukrs). | ||||
| "SELECT single WERKS FROM P0001 INTO @DATA(ld__pernr_werks). | ||||
Search for further information about these or an SAP related objects