SAP HR_PF_VS_PERFORM_02 Function Module for
HR_PF_VS_PERFORM_02 is a standard hr pf vs perform 02 SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used to perform a specific ABAP function and below is the pattern details, 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 hr pf vs perform 02 FM, simply by entering the name HR_PF_VS_PERFORM_02 into the relevant SAP transaction such as SE37 or SE38.
Function Group: HRPFD02VSIP
Program Name: SAPLHRPFD02VSIP
Main Program: SAPLHRPFD02VSIP
Appliation area: P
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function HR_PF_VS_PERFORM_02 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 'HR_PF_VS_PERFORM_02'".
EXPORTING
* RDATE = SY-DATUM "
* NO_ERROR_HANDLING = ' ' "
* ORGIN = 'WF' "
* PARATAB = "
* SIMPPLAN = "
* SIMPAFGR = "
* DO_INIT = 'X' "
* DO_PERFORM = 'X' "
* DO_END = 'X' "
* MODE = %MODE_RUN "
* CALLER = %MODE_INTERP "
* BEGDA = '18000101' "
* ENDDA = '99991231' "
KASSE = "
ACTIO = "
PERNR = "
* TCLAS = 'A' "
* NO_DB_LOCK = ' ' "
* TESTMODE = ' ' "
IMPORTING
ERRORS = "
WARNINGS = "
PPLAN = "
EVL = "
TABLES
VALUETAB = "
* PP0014 = "
* PP0015 = "
* PP0021 = "
* PP0278 = "
* PP0279 = "
* PROTTAB = "
* NEW_ENTRIES = "
* PRINT_ENTRIES = "
* ERRLIST = "
* PP0000 = "
* PP0001 = "
* PP0002 = "
* PP0007 = "
* PP0008 = "
EXCEPTIONS
SUBRC1 = 1 SUBRC2 = 2 SUBRC3 = 3 SUBRC4 = 4 VS_EXCEPTION = 5
Customer Function user exits
Below is a list of CUSTOMER FUNCTION exit user exits that are available within this program and maybe relevant for this FM.EXIT_SAPLHRPFD02VSIP_001 HR-PF-CH: User Exit for PC Operations
IMPORTING Parameters details for HR_PF_VS_PERFORM_02
RDATE -
Data type: T5CA9-BEGDADefault: SY-DATUM
Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_ERROR_HANDLING -
Data type: P02VS_FLAGDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
ORGIN -
Data type: T5CPB-ORGINDefault: 'WF'
Optional: Yes
Call by Reference: No ( called with pass by value option)
PARATAB -
Data type: P02VS_VALUE_TABOptional: Yes
Call by Reference: No ( called with pass by value option)
SIMPPLAN -
Data type: T5CA4-PPLANOptional: Yes
Call by Reference: No ( called with pass by value option)
SIMPAFGR -
Data type: T5CAX-PAFGROptional: Yes
Call by Reference: No ( called with pass by value option)
DO_INIT -
Data type: CHAR1Default: 'X'
Optional: Yes
Call by Reference: Yes
DO_PERFORM -
Data type: CHAR1Default: 'X'
Optional: Yes
Call by Reference: Yes
DO_END -
Data type: CHAR1Default: 'X'
Optional: Yes
Call by Reference: Yes
MODE -
Data type: PROCESSING_TYPEDefault: %MODE_RUN
Optional: Yes
Call by Reference: Yes
CALLER -
Data type: PROCESSING_TYPEDefault: %MODE_INTERP
Optional: Yes
Call by Reference: Yes
BEGDA -
Data type: P0278-BEGDADefault: '18000101'
Optional: Yes
Call by Reference: No ( called with pass by value option)
ENDDA -
Data type: P0278-ENDDADefault: '99991231'
Optional: Yes
Call by Reference: No ( called with pass by value option)
KASSE -
Data type: T5CP0-KASSEOptional: No
Call by Reference: No ( called with pass by value option)
ACTIO -
Data type: T5CAY-ACTIOOptional: No
Call by Reference: No ( called with pass by value option)
PERNR -
Data type: P0000-PERNROptional: No
Call by Reference: No ( called with pass by value option)
TCLAS -
Data type: PSPAR-TCLASDefault: 'A'
Optional: Yes
Call by Reference: No ( called with pass by value option)
NO_DB_LOCK -
Data type: P02VS_FLAGDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
TESTMODE -
Data type: P02VS_FLAGDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for HR_PF_VS_PERFORM_02
ERRORS -
Data type: IOptional: No
Call by Reference: Yes
WARNINGS -
Data type: IOptional: No
Call by Reference: Yes
PPLAN -
Data type: T5CA4-PPLANOptional: No
Call by Reference: No ( called with pass by value option)
EVL -
Data type: P02VS_EVL_INFO_RECORDOptional: No
Call by Reference: Yes
TABLES Parameters details for HR_PF_VS_PERFORM_02
VALUETAB -
Data type: P02VS_VALUE_TABOptional: No
Call by Reference: No ( called with pass by value option)
PP0014 -
Data type: P0014Optional: Yes
Call by Reference: No ( called with pass by value option)
PP0015 -
Data type: P0015Optional: Yes
Call by Reference: No ( called with pass by value option)
PP0021 -
Data type: P0021Optional: Yes
Call by Reference: No ( called with pass by value option)
PP0278 -
Data type: P0278Optional: Yes
Call by Reference: No ( called with pass by value option)
PP0279 -
Data type: P0279Optional: Yes
Call by Reference: No ( called with pass by value option)
PROTTAB -
Data type: HRPFD00_PROTTABOptional: Yes
Call by Reference: Yes
NEW_ENTRIES -
Data type: PCH01_EXT_ENTRIESOptional: Yes
Call by Reference: No ( called with pass by value option)
PRINT_ENTRIES -
Data type: P02VS_PR_ENTRY_TABOptional: Yes
Call by Reference: Yes
ERRLIST -
Data type: HRERROROptional: Yes
Call by Reference: No ( called with pass by value option)
PP0000 -
Data type: P0000Optional: Yes
Call by Reference: No ( called with pass by value option)
PP0001 -
Data type: P0001Optional: Yes
Call by Reference: No ( called with pass by value option)
PP0002 -
Data type: P0002Optional: Yes
Call by Reference: No ( called with pass by value option)
PP0007 -
Data type: P0007Optional: Yes
Call by Reference: No ( called with pass by value option)
PP0008 -
Data type: P0008Optional: Yes
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
SUBRC1 -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
SUBRC2 -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
SUBRC3 -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
SUBRC4 -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
VS_EXCEPTION -
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for HR_PF_VS_PERFORM_02 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_rdate | TYPE T5CA9-BEGDA, " SY-DATUM | |||
| lv_errors | TYPE I, " | |||
| lv_subrc1 | TYPE I, " | |||
| lt_valuetab | TYPE STANDARD TABLE OF P02VS_VALUE_TAB, " | |||
| lt_pp0014 | TYPE STANDARD TABLE OF P0014, " | |||
| lv_no_error_handling | TYPE P02VS_FLAG, " ' ' | |||
| lv_orgin | TYPE T5CPB-ORGIN, " 'WF' | |||
| lt_pp0015 | TYPE STANDARD TABLE OF P0015, " | |||
| lt_pp0021 | TYPE STANDARD TABLE OF P0021, " | |||
| lv_paratab | TYPE P02VS_VALUE_TAB, " | |||
| lt_pp0278 | TYPE STANDARD TABLE OF P0278, " | |||
| lv_simpplan | TYPE T5CA4-PPLAN, " | |||
| lt_pp0279 | TYPE STANDARD TABLE OF P0279, " | |||
| lv_simpafgr | TYPE T5CAX-PAFGR, " | |||
| lv_do_init | TYPE CHAR1, " 'X' | |||
| lt_prottab | TYPE STANDARD TABLE OF HRPFD00_PROTTAB, " | |||
| lv_do_perform | TYPE CHAR1, " 'X' | |||
| lv_do_end | TYPE CHAR1, " 'X' | |||
| lv_mode | TYPE PROCESSING_TYPE, " %MODE_RUN | |||
| lv_caller | TYPE PROCESSING_TYPE, " %MODE_INTERP | |||
| lv_begda | TYPE P0278-BEGDA, " '18000101' | |||
| lv_subrc2 | TYPE P0278, " | |||
| lv_warnings | TYPE I, " | |||
| lt_new_entries | TYPE STANDARD TABLE OF PCH01_EXT_ENTRIES, " | |||
| lv_endda | TYPE P0278-ENDDA, " '99991231' | |||
| lv_pplan | TYPE T5CA4-PPLAN, " | |||
| lv_subrc3 | TYPE T5CA4, " | |||
| lt_print_entries | TYPE STANDARD TABLE OF P02VS_PR_ENTRY_TAB, " | |||
| lv_evl | TYPE P02VS_EVL_INFO_RECORD, " | |||
| lv_kasse | TYPE T5CP0-KASSE, " | |||
| lv_subrc4 | TYPE T5CP0, " | |||
| lt_errlist | TYPE STANDARD TABLE OF HRERROR, " | |||
| lv_actio | TYPE T5CAY-ACTIO, " | |||
| lt_pp0000 | TYPE STANDARD TABLE OF P0000, " | |||
| lv_vs_exception | TYPE P0000, " | |||
| lv_pernr | TYPE P0000-PERNR, " | |||
| lt_pp0001 | TYPE STANDARD TABLE OF P0001, " | |||
| lv_tclas | TYPE PSPAR-TCLAS, " 'A' | |||
| lt_pp0002 | TYPE STANDARD TABLE OF P0002, " | |||
| lt_pp0007 | TYPE STANDARD TABLE OF P0007, " | |||
| lv_no_db_lock | TYPE P02VS_FLAG, " ' ' | |||
| lt_pp0008 | TYPE STANDARD TABLE OF P0008, " | |||
| lv_testmode | TYPE P02VS_FLAG. " ' ' |
|   CALL FUNCTION 'HR_PF_VS_PERFORM_02' " |
| EXPORTING | ||
| RDATE | = lv_rdate | |
| NO_ERROR_HANDLING | = lv_no_error_handling | |
| ORGIN | = lv_orgin | |
| PARATAB | = lv_paratab | |
| SIMPPLAN | = lv_simpplan | |
| SIMPAFGR | = lv_simpafgr | |
| DO_INIT | = lv_do_init | |
| DO_PERFORM | = lv_do_perform | |
| DO_END | = lv_do_end | |
| MODE | = lv_mode | |
| CALLER | = lv_caller | |
| BEGDA | = lv_begda | |
| ENDDA | = lv_endda | |
| KASSE | = lv_kasse | |
| ACTIO | = lv_actio | |
| PERNR | = lv_pernr | |
| TCLAS | = lv_tclas | |
| NO_DB_LOCK | = lv_no_db_lock | |
| TESTMODE | = lv_testmode | |
| IMPORTING | ||
| ERRORS | = lv_errors | |
| WARNINGS | = lv_warnings | |
| PPLAN | = lv_pplan | |
| EVL | = lv_evl | |
| TABLES | ||
| VALUETAB | = lt_valuetab | |
| PP0014 | = lt_pp0014 | |
| PP0015 | = lt_pp0015 | |
| PP0021 | = lt_pp0021 | |
| PP0278 | = lt_pp0278 | |
| PP0279 | = lt_pp0279 | |
| PROTTAB | = lt_prottab | |
| NEW_ENTRIES | = lt_new_entries | |
| PRINT_ENTRIES | = lt_print_entries | |
| ERRLIST | = lt_errlist | |
| PP0000 | = lt_pp0000 | |
| PP0001 | = lt_pp0001 | |
| PP0002 | = lt_pp0002 | |
| PP0007 | = lt_pp0007 | |
| PP0008 | = lt_pp0008 | |
| EXCEPTIONS | ||
| SUBRC1 = 1 | ||
| SUBRC2 = 2 | ||
| SUBRC3 = 3 | ||
| SUBRC4 = 4 | ||
| VS_EXCEPTION = 5 | ||
| . " HR_PF_VS_PERFORM_02 | ||
ABAP code using 7.40 inline data declarations to call FM HR_PF_VS_PERFORM_02
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 BEGDA FROM T5CA9 INTO @DATA(ld_rdate). | ||||
| DATA(ld_rdate) | = SY-DATUM. | |||
| DATA(ld_no_error_handling) | = ' '. | |||
| "SELECT single ORGIN FROM T5CPB INTO @DATA(ld_orgin). | ||||
| DATA(ld_orgin) | = 'WF'. | |||
| "SELECT single PPLAN FROM T5CA4 INTO @DATA(ld_simpplan). | ||||
| "SELECT single PAFGR FROM T5CAX INTO @DATA(ld_simpafgr). | ||||
| DATA(ld_do_init) | = 'X'. | |||
| DATA(ld_do_perform) | = 'X'. | |||
| DATA(ld_do_end) | = 'X'. | |||
| DATA(ld_mode) | = %MODE_RUN. | |||
| DATA(ld_caller) | = %MODE_INTERP. | |||
| "SELECT single BEGDA FROM P0278 INTO @DATA(ld_begda). | ||||
| DATA(ld_begda) | = '18000101'. | |||
| "SELECT single ENDDA FROM P0278 INTO @DATA(ld_endda). | ||||
| DATA(ld_endda) | = '99991231'. | |||
| "SELECT single PPLAN FROM T5CA4 INTO @DATA(ld_pplan). | ||||
| "SELECT single KASSE FROM T5CP0 INTO @DATA(ld_kasse). | ||||
| "SELECT single ACTIO FROM T5CAY INTO @DATA(ld_actio). | ||||
| "SELECT single PERNR FROM P0000 INTO @DATA(ld_pernr). | ||||
| "SELECT single TCLAS FROM PSPAR INTO @DATA(ld_tclas). | ||||
| DATA(ld_tclas) | = 'A'. | |||
| DATA(ld_no_db_lock) | = ' '. | |||
| DATA(ld_testmode) | = ' '. | |||
Search for further information about these or an SAP related objects