SAP EXIT_HVECALC0_005 Function Module for
EXIT_HVECALC0_005 is a standard exit hvecalc0 005 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 exit hvecalc0 005 FM, simply by entering the name EXIT_HVECALC0_005 into the relevant SAP transaction such as SE37 or SE38.
Function Group: XPVE
Program Name: SAPLXPVE
Main Program: SAPLXPVE
Appliation area: P
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function EXIT_HVECALC0_005 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_HVECALC0_005'".
EXPORTING
PFREQ = "Payroll frequency
BEGDA = "Valid from date
ENDDA = "Valid to date
PBEGD = "Valid from date
PENDD = "Valid to date
CALCD = "
INPTY = "Payroll type
INPID = "Payroll identifier
INOCR = "Reason for off-cycle payroll run
INOCC = "Category for off-cycle reason
IABKR = "Payroll area
PTYPE = "Unit of employee assessment basis
PAPER_IAPABRJ = "Payroll year for determining time period
PAPER_IAPABRP = "Payroll period for determining time period
IBEGD = "
IENDD = "
PAYTY = "Payroll type
PAYID = "Payroll identifier
OCRSN = "Reason for off-cycle payroll run
OCCAT = "Category for off-cycle reason
BONDT = "Off-cycle payroll payment date
CHKDT = "
COMMISS_STATUS = "Flag for commission basis company ('X'/' ')
RRDAT = "Sequence number
SEQNR = "Sequence number
WAERS = "Currency key
* PERNR = "
ABKRS = "Payroll area
PERMO = "Period parameter
DATMO = "Date modifier
JUPER = "Legal person
PAPER_PABRJ = "
PAPER_PABRP = "
TABLES
IT = "
RT = "
WPBP = "
EXCEPTIONS
ERROR = 1
IMPORTING Parameters details for EXIT_HVECALC0_005
PFREQ - Payroll frequency
Data type: T549R-ZEINHOptional: No
Call by Reference: No ( called with pass by value option)
BEGDA - Valid from date
Data type: P0001-BEGDAOptional: No
Call by Reference: Yes
ENDDA - Valid to date
Data type: P0001-ENDDAOptional: No
Call by Reference: Yes
PBEGD - Valid from date
Data type: T549Q-BEGDAOptional: No
Call by Reference: Yes
PENDD - Valid to date
Data type: T549Q-ENDDAOptional: No
Call by Reference: Yes
CALCD -
Data type:Optional: No
Call by Reference: Yes
INPTY - Payroll type
Data type: PC261-INPTYOptional: No
Call by Reference: Yes
INPID - Payroll identifier
Data type: PC261-INPIDOptional: No
Call by Reference: Yes
INOCR - Reason for off-cycle payroll run
Data type: T52OCR-OCRSNOptional: No
Call by Reference: Yes
INOCC - Category for off-cycle reason
Data type: T52OCR-OCCATOptional: No
Call by Reference: Yes
IABKR - Payroll area
Data type: P0001-ABKRSOptional: No
Call by Reference: Yes
PTYPE - Unit of employee assessment basis
Data type: PC207-ABARTOptional: No
Call by Reference: No ( called with pass by value option)
PAPER_IAPABRJ - Payroll year for determining time period
Data type: PNPPABRJOptional: No
Call by Reference: Yes
PAPER_IAPABRP - Payroll period for determining time period
Data type: PNPPABRPOptional: No
Call by Reference: Yes
IBEGD -
Data type: DOptional: No
Call by Reference: Yes
IENDD -
Data type: DOptional: No
Call by Reference: Yes
PAYTY - Payroll type
Data type: PC261-PAYTYOptional: No
Call by Reference: Yes
PAYID - Payroll identifier
Data type: PC261-PAYIDOptional: No
Call by Reference: Yes
OCRSN - Reason for off-cycle payroll run
Data type: T52OCR-OCRSNOptional: No
Call by Reference: Yes
OCCAT - Category for off-cycle reason
Data type: T52OCR-OCCATOptional: No
Call by Reference: Yes
BONDT - Off-cycle payroll payment date
Data type: PC261-BONDTOptional: No
Call by Reference: Yes
CHKDT -
Data type: DOptional: No
Call by Reference: Yes
COMMISS_STATUS - Flag for commission basis company ('X'/' ')
Data type: COptional: No
Call by Reference: No ( called with pass by value option)
RRDAT - Sequence number
Data type: P0003-RRDATOptional: No
Call by Reference: Yes
SEQNR - Sequence number
Data type: PC261-SEQNROptional: No
Call by Reference: Yes
WAERS - Currency key
Data type: T500C-WAERSOptional: No
Call by Reference: Yes
PERNR -
Data type: P_PERNROptional: Yes
Call by Reference: Yes
ABKRS - Payroll area
Data type: P0001-ABKRSOptional: No
Call by Reference: Yes
PERMO - Period parameter
Data type: T549A-PERMOOptional: No
Call by Reference: Yes
DATMO - Date modifier
Data type: T549A-DATMOOptional: No
Call by Reference: Yes
JUPER - Legal person
Data type: P0001-JUPEROptional: No
Call by Reference: Yes
PAPER_PABRJ -
Data type:Optional: No
Call by Reference: Yes
PAPER_PABRP -
Data type:Optional: No
Call by Reference: Yes
TABLES Parameters details for EXIT_HVECALC0_005
IT -
Data type: PC207Optional: No
Call by Reference: No ( called with pass by value option)
RT -
Data type: PC207Optional: No
Call by Reference: No ( called with pass by value option)
WPBP -
Data type: PC205Optional: No
Call by Reference: No ( called with pass by value option)
EXCEPTIONS details
ERROR - Error in customer enhancement module
Data type:Optional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for EXIT_HVECALC0_005 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: | ||||
| lt_it | TYPE STANDARD TABLE OF PC207, " | |||
| lv_error | TYPE PC207, " | |||
| lv_pfreq | TYPE T549R-ZEINH, " | |||
| lv_begda | TYPE P0001-BEGDA, " | |||
| lv_endda | TYPE P0001-ENDDA, " | |||
| lv_pbegd | TYPE T549Q-BEGDA, " | |||
| lv_pendd | TYPE T549Q-ENDDA, " | |||
| lv_calcd | TYPE T549Q, " | |||
| lv_inpty | TYPE PC261-INPTY, " | |||
| lv_inpid | TYPE PC261-INPID, " | |||
| lv_inocr | TYPE T52OCR-OCRSN, " | |||
| lv_inocc | TYPE T52OCR-OCCAT, " | |||
| lv_iabkr | TYPE P0001-ABKRS, " | |||
| lt_rt | TYPE STANDARD TABLE OF PC207, " | |||
| lv_ptype | TYPE PC207-ABART, " | |||
| lv_paper_iapabrj | TYPE PNPPABRJ, " | |||
| lv_paper_iapabrp | TYPE PNPPABRP, " | |||
| lv_ibegd | TYPE D, " | |||
| lv_iendd | TYPE D, " | |||
| lv_payty | TYPE PC261-PAYTY, " | |||
| lv_payid | TYPE PC261-PAYID, " | |||
| lv_ocrsn | TYPE T52OCR-OCRSN, " | |||
| lv_occat | TYPE T52OCR-OCCAT, " | |||
| lv_bondt | TYPE PC261-BONDT, " | |||
| lv_chkdt | TYPE D, " | |||
| lt_wpbp | TYPE STANDARD TABLE OF PC205, " | |||
| lv_commiss_status | TYPE C, " | |||
| lv_rrdat | TYPE P0003-RRDAT, " | |||
| lv_seqnr | TYPE PC261-SEQNR, " | |||
| lv_waers | TYPE T500C-WAERS, " | |||
| lv_pernr | TYPE P_PERNR, " | |||
| lv_abkrs | TYPE P0001-ABKRS, " | |||
| lv_permo | TYPE T549A-PERMO, " | |||
| lv_datmo | TYPE T549A-DATMO, " | |||
| lv_juper | TYPE P0001-JUPER, " | |||
| lv_paper_pabrj | TYPE P0001, " | |||
| lv_paper_pabrp | TYPE P0001. " |
|   CALL FUNCTION 'EXIT_HVECALC0_005' " |
| EXPORTING | ||
| PFREQ | = lv_pfreq | |
| BEGDA | = lv_begda | |
| ENDDA | = lv_endda | |
| PBEGD | = lv_pbegd | |
| PENDD | = lv_pendd | |
| CALCD | = lv_calcd | |
| INPTY | = lv_inpty | |
| INPID | = lv_inpid | |
| INOCR | = lv_inocr | |
| INOCC | = lv_inocc | |
| IABKR | = lv_iabkr | |
| PTYPE | = lv_ptype | |
| PAPER_IAPABRJ | = lv_paper_iapabrj | |
| PAPER_IAPABRP | = lv_paper_iapabrp | |
| IBEGD | = lv_ibegd | |
| IENDD | = lv_iendd | |
| PAYTY | = lv_payty | |
| PAYID | = lv_payid | |
| OCRSN | = lv_ocrsn | |
| OCCAT | = lv_occat | |
| BONDT | = lv_bondt | |
| CHKDT | = lv_chkdt | |
| COMMISS_STATUS | = lv_commiss_status | |
| RRDAT | = lv_rrdat | |
| SEQNR | = lv_seqnr | |
| WAERS | = lv_waers | |
| PERNR | = lv_pernr | |
| ABKRS | = lv_abkrs | |
| PERMO | = lv_permo | |
| DATMO | = lv_datmo | |
| JUPER | = lv_juper | |
| PAPER_PABRJ | = lv_paper_pabrj | |
| PAPER_PABRP | = lv_paper_pabrp | |
| TABLES | ||
| IT | = lt_it | |
| RT | = lt_rt | |
| WPBP | = lt_wpbp | |
| EXCEPTIONS | ||
| ERROR = 1 | ||
| . " EXIT_HVECALC0_005 | ||
ABAP code using 7.40 inline data declarations to call FM EXIT_HVECALC0_005
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 ZEINH FROM T549R INTO @DATA(ld_pfreq). | ||||
| "SELECT single BEGDA FROM P0001 INTO @DATA(ld_begda). | ||||
| "SELECT single ENDDA FROM P0001 INTO @DATA(ld_endda). | ||||
| "SELECT single BEGDA FROM T549Q INTO @DATA(ld_pbegd). | ||||
| "SELECT single ENDDA FROM T549Q INTO @DATA(ld_pendd). | ||||
| "SELECT single INPTY FROM PC261 INTO @DATA(ld_inpty). | ||||
| "SELECT single INPID FROM PC261 INTO @DATA(ld_inpid). | ||||
| "SELECT single OCRSN FROM T52OCR INTO @DATA(ld_inocr). | ||||
| "SELECT single OCCAT FROM T52OCR INTO @DATA(ld_inocc). | ||||
| "SELECT single ABKRS FROM P0001 INTO @DATA(ld_iabkr). | ||||
| "SELECT single ABART FROM PC207 INTO @DATA(ld_ptype). | ||||
| "SELECT single PAYTY FROM PC261 INTO @DATA(ld_payty). | ||||
| "SELECT single PAYID FROM PC261 INTO @DATA(ld_payid). | ||||
| "SELECT single OCRSN FROM T52OCR INTO @DATA(ld_ocrsn). | ||||
| "SELECT single OCCAT FROM T52OCR INTO @DATA(ld_occat). | ||||
| "SELECT single BONDT FROM PC261 INTO @DATA(ld_bondt). | ||||
| "SELECT single RRDAT FROM P0003 INTO @DATA(ld_rrdat). | ||||
| "SELECT single SEQNR FROM PC261 INTO @DATA(ld_seqnr). | ||||
| "SELECT single WAERS FROM T500C INTO @DATA(ld_waers). | ||||
| "SELECT single ABKRS FROM P0001 INTO @DATA(ld_abkrs). | ||||
| "SELECT single PERMO FROM T549A INTO @DATA(ld_permo). | ||||
| "SELECT single DATMO FROM T549A INTO @DATA(ld_datmo). | ||||
| "SELECT single JUPER FROM P0001 INTO @DATA(ld_juper). | ||||
Search for further information about these or an SAP related objects