SAP HR_BPS_REQUEST_CREATE Function Module for Create benefit request
HR_BPS_REQUEST_CREATE is a standard hr bps request create SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Create benefit request 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 hr bps request create FM, simply by entering the name HR_BPS_REQUEST_CREATE into the relevant SAP transaction such as SE37 or SE38.
Function Group: HRBPS00REQUEST
Program Name: SAPLHRBPS00REQUEST
Main Program:
Appliation area: P
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function HR_BPS_REQUEST_CREATE 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_BPS_REQUEST_CREATE'"Create benefit request.
EXPORTING
EMPLOYEENUMBER = "Personnel Number
* RQOPT = "Benefit request type option
* RQDAT = "Benefit request date
* RQSTA = "Request status
* RQDTY = "Subtype
* RQDID = "Object Identification
* RQPYD = "Request prefer pay date
* RQAMT = "Request amount
* RQCUR = "Benefit currency key
* RDPTS = "Deduction points
* RBAMT = "Reimbursement amount
SUBTYPE = "Subtype
* RDAMT = "Deduction amount
* RBPTS = "Purchase points
* CURRE = "Benefit currency key
* EXAMT = "Excess amount
* EXPTS = "Excess points
* RDPUR = "Benefit request purpose
* RDBEG = "Request benefit begin date
* RDEND = "Request benefit end date
* RDSTA = "Benefit request status
* RDASU = "Subtype
OBJECTID = "Object Identification
* RDBSU = "Wage Type
* RDLSU = "Subtype
* RDESY = "School year
* RDESP = "School period
* RDEPN = "School period number
* RDRNP = "Number of persons
* RDRNR = "Number of rooms
* RDRRS = "Room size
* RDRES = "Employee staying or not
* RDRCN = "Confirmation number
LOCKINDICATOR = "Lock Indicator for HR Master Data Record
* RDRIA = "Invoice amount
* RDGNG = "Number of gifts
* RDMPD = "Preferred examination date
* RDMCD = "Confirmed examination date
* RDLPR = "Benefit Name of Benefit Provider
* REFER = "Reference text
* NOCOMMIT = "COMMIT control at BAPI interface
VALIDITYBEGIN = "Start Date
VALIDITYEND = "End Date
RECORDNUMBER = "Number of Infotype Record With Same Key
* BAREA = "Benefit area
* RQTYP = "Benefit request type
IMPORTING
RETURN = "Structure for return code
OUTEMPLOYEENUMBER = "Personnel Number
OUTSUBTYPE = "Subtype
OUTOBJECTID = "Object identification
OUTLOCKINDICATOR = "Lock indicator for HR master record
OUTVALIDITYBEGIN = "Start Date
OUTVALIDITYEND = "End Date
OUTRECORDNUMBER = "Number of infotype record
IMPORTING Parameters details for HR_BPS_REQUEST_CREATE
EMPLOYEENUMBER - Personnel Number
Data type: BAPIP0718-EMPLOYEENOOptional: No
Call by Reference: No ( called with pass by value option)
RQOPT - Benefit request type option
Data type: BAPIP0718-RQOPTOptional: Yes
Call by Reference: No ( called with pass by value option)
RQDAT - Benefit request date
Data type: BAPIP0718-RQDATOptional: Yes
Call by Reference: No ( called with pass by value option)
RQSTA - Request status
Data type: BAPIP0718-RQSTAOptional: Yes
Call by Reference: No ( called with pass by value option)
RQDTY - Subtype
Data type: BAPIP0718-RQDTYOptional: Yes
Call by Reference: No ( called with pass by value option)
RQDID - Object Identification
Data type: BAPIP0718-RQDIDOptional: Yes
Call by Reference: No ( called with pass by value option)
RQPYD - Request prefer pay date
Data type: BAPIP0718-RQPYDOptional: Yes
Call by Reference: No ( called with pass by value option)
RQAMT - Request amount
Data type: BAPIP0718-RQAMTOptional: Yes
Call by Reference: No ( called with pass by value option)
RQCUR - Benefit currency key
Data type: BAPIP0718-RQCUROptional: Yes
Call by Reference: No ( called with pass by value option)
RDPTS - Deduction points
Data type: BAPIP0718-RDPTSOptional: Yes
Call by Reference: No ( called with pass by value option)
RBAMT - Reimbursement amount
Data type: BAPIP0718-RBAMTOptional: Yes
Call by Reference: No ( called with pass by value option)
SUBTYPE - Subtype
Data type: BAPIP0718-SUBTYPEOptional: No
Call by Reference: No ( called with pass by value option)
RDAMT - Deduction amount
Data type: BAPIP0718-RDAMTOptional: Yes
Call by Reference: No ( called with pass by value option)
RBPTS - Purchase points
Data type: BAPIP0718-RBPTSOptional: Yes
Call by Reference: No ( called with pass by value option)
CURRE - Benefit currency key
Data type: BAPIP0718-CURREOptional: Yes
Call by Reference: No ( called with pass by value option)
EXAMT - Excess amount
Data type: BAPIP0718-EXAMTOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPTS - Excess points
Data type: BAPIP0718-EXPTSOptional: Yes
Call by Reference: No ( called with pass by value option)
RDPUR - Benefit request purpose
Data type: BAPIP0718-RDPUROptional: Yes
Call by Reference: No ( called with pass by value option)
RDBEG - Request benefit begin date
Data type: BAPIP0718-RDBEGOptional: Yes
Call by Reference: No ( called with pass by value option)
RDEND - Request benefit end date
Data type: BAPIP0718-RDENDOptional: Yes
Call by Reference: No ( called with pass by value option)
RDSTA - Benefit request status
Data type: BAPIP0718-RDSTAOptional: Yes
Call by Reference: No ( called with pass by value option)
RDASU - Subtype
Data type: BAPIP0718-RDASUOptional: Yes
Call by Reference: No ( called with pass by value option)
OBJECTID - Object Identification
Data type: BAPIP0718-OBJECTIDOptional: No
Call by Reference: No ( called with pass by value option)
RDBSU - Wage Type
Data type: BAPIP0718-RDBSUOptional: Yes
Call by Reference: No ( called with pass by value option)
RDLSU - Subtype
Data type: BAPIP0718-RDLSUOptional: Yes
Call by Reference: No ( called with pass by value option)
RDESY - School year
Data type: BAPIP0718-RDESYOptional: Yes
Call by Reference: No ( called with pass by value option)
RDESP - School period
Data type: BAPIP0718-RDESPOptional: Yes
Call by Reference: No ( called with pass by value option)
RDEPN - School period number
Data type: BAPIP0718-RDEPNOptional: Yes
Call by Reference: No ( called with pass by value option)
RDRNP - Number of persons
Data type: BAPIP0718-RDRNPOptional: Yes
Call by Reference: No ( called with pass by value option)
RDRNR - Number of rooms
Data type: BAPIP0718-RDRNROptional: Yes
Call by Reference: No ( called with pass by value option)
RDRRS - Room size
Data type: BAPIP0718-RDRRSOptional: Yes
Call by Reference: No ( called with pass by value option)
RDRES - Employee staying or not
Data type: BAPIP0718-RDRESOptional: Yes
Call by Reference: No ( called with pass by value option)
RDRCN - Confirmation number
Data type: BAPIP0718-RDRCNOptional: Yes
Call by Reference: No ( called with pass by value option)
LOCKINDICATOR - Lock Indicator for HR Master Data Record
Data type: BAPIP0718-LOCKINDICOptional: No
Call by Reference: No ( called with pass by value option)
RDRIA - Invoice amount
Data type: BAPIP0718-RDRIAOptional: Yes
Call by Reference: No ( called with pass by value option)
RDGNG - Number of gifts
Data type: BAPIP0718-RDGNGOptional: Yes
Call by Reference: No ( called with pass by value option)
RDMPD - Preferred examination date
Data type: BAPIP0718-RDMPDOptional: Yes
Call by Reference: No ( called with pass by value option)
RDMCD - Confirmed examination date
Data type: BAPIP0718-RDMCDOptional: Yes
Call by Reference: No ( called with pass by value option)
RDLPR - Benefit Name of Benefit Provider
Data type: BAPIP0718-RDLPROptional: Yes
Call by Reference: No ( called with pass by value option)
REFER - Reference text
Data type: BAPIP0718-REFEROptional: Yes
Call by Reference: No ( called with pass by value option)
NOCOMMIT - COMMIT control at BAPI interface
Data type: BAPI_STAND-NO_COMMITOptional: Yes
Call by Reference: No ( called with pass by value option)
VALIDITYBEGIN - Start Date
Data type: BAPIP0718-VALIDBEGINOptional: No
Call by Reference: No ( called with pass by value option)
VALIDITYEND - End Date
Data type: BAPIP0718-VALIDENDOptional: No
Call by Reference: No ( called with pass by value option)
RECORDNUMBER - Number of Infotype Record With Same Key
Data type: BAPIP0718-RECORDNROptional: No
Call by Reference: No ( called with pass by value option)
BAREA - Benefit area
Data type: BAPIP0718-BAREAOptional: Yes
Call by Reference: No ( called with pass by value option)
RQTYP - Benefit request type
Data type: BAPIP0718-RQTYPOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for HR_BPS_REQUEST_CREATE
RETURN - Structure for return code
Data type: BAPIRETURN1Optional: No
Call by Reference: No ( called with pass by value option)
OUTEMPLOYEENUMBER - Personnel Number
Data type: BAPIP0718-EMPLOYEENOOptional: No
Call by Reference: No ( called with pass by value option)
OUTSUBTYPE - Subtype
Data type: BAPIP0718-SUBTYPEOptional: No
Call by Reference: No ( called with pass by value option)
OUTOBJECTID - Object identification
Data type: BAPIP0718-OBJECTIDOptional: No
Call by Reference: No ( called with pass by value option)
OUTLOCKINDICATOR - Lock indicator for HR master record
Data type: BAPIP0718-LOCKINDICOptional: No
Call by Reference: No ( called with pass by value option)
OUTVALIDITYBEGIN - Start Date
Data type: BAPIP0718-VALIDBEGINOptional: No
Call by Reference: No ( called with pass by value option)
OUTVALIDITYEND - End Date
Data type: BAPIP0718-VALIDENDOptional: No
Call by Reference: No ( called with pass by value option)
OUTRECORDNUMBER - Number of infotype record
Data type: BAPIP0718-RECORDNROptional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for HR_BPS_REQUEST_CREATE 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_return | TYPE BAPIRETURN1, " | |||
| lv_employeenumber | TYPE BAPIP0718-EMPLOYEENO, " | |||
| lv_rqopt | TYPE BAPIP0718-RQOPT, " | |||
| lv_rqdat | TYPE BAPIP0718-RQDAT, " | |||
| lv_rqsta | TYPE BAPIP0718-RQSTA, " | |||
| lv_rqdty | TYPE BAPIP0718-RQDTY, " | |||
| lv_rqdid | TYPE BAPIP0718-RQDID, " | |||
| lv_rqpyd | TYPE BAPIP0718-RQPYD, " | |||
| lv_rqamt | TYPE BAPIP0718-RQAMT, " | |||
| lv_rqcur | TYPE BAPIP0718-RQCUR, " | |||
| lv_rdpts | TYPE BAPIP0718-RDPTS, " | |||
| lv_rbamt | TYPE BAPIP0718-RBAMT, " | |||
| lv_subtype | TYPE BAPIP0718-SUBTYPE, " | |||
| lv_outemployeenumber | TYPE BAPIP0718-EMPLOYEENO, " | |||
| lv_rdamt | TYPE BAPIP0718-RDAMT, " | |||
| lv_rbpts | TYPE BAPIP0718-RBPTS, " | |||
| lv_curre | TYPE BAPIP0718-CURRE, " | |||
| lv_examt | TYPE BAPIP0718-EXAMT, " | |||
| lv_expts | TYPE BAPIP0718-EXPTS, " | |||
| lv_rdpur | TYPE BAPIP0718-RDPUR, " | |||
| lv_rdbeg | TYPE BAPIP0718-RDBEG, " | |||
| lv_rdend | TYPE BAPIP0718-RDEND, " | |||
| lv_rdsta | TYPE BAPIP0718-RDSTA, " | |||
| lv_rdasu | TYPE BAPIP0718-RDASU, " | |||
| lv_objectid | TYPE BAPIP0718-OBJECTID, " | |||
| lv_outsubtype | TYPE BAPIP0718-SUBTYPE, " | |||
| lv_rdbsu | TYPE BAPIP0718-RDBSU, " | |||
| lv_rdlsu | TYPE BAPIP0718-RDLSU, " | |||
| lv_rdesy | TYPE BAPIP0718-RDESY, " | |||
| lv_rdesp | TYPE BAPIP0718-RDESP, " | |||
| lv_rdepn | TYPE BAPIP0718-RDEPN, " | |||
| lv_rdrnp | TYPE BAPIP0718-RDRNP, " | |||
| lv_rdrnr | TYPE BAPIP0718-RDRNR, " | |||
| lv_rdrrs | TYPE BAPIP0718-RDRRS, " | |||
| lv_rdres | TYPE BAPIP0718-RDRES, " | |||
| lv_rdrcn | TYPE BAPIP0718-RDRCN, " | |||
| lv_outobjectid | TYPE BAPIP0718-OBJECTID, " | |||
| lv_lockindicator | TYPE BAPIP0718-LOCKINDIC, " | |||
| lv_rdria | TYPE BAPIP0718-RDRIA, " | |||
| lv_rdgng | TYPE BAPIP0718-RDGNG, " | |||
| lv_rdmpd | TYPE BAPIP0718-RDMPD, " | |||
| lv_rdmcd | TYPE BAPIP0718-RDMCD, " | |||
| lv_rdlpr | TYPE BAPIP0718-RDLPR, " | |||
| lv_refer | TYPE BAPIP0718-REFER, " | |||
| lv_nocommit | TYPE BAPI_STAND-NO_COMMIT, " | |||
| lv_validitybegin | TYPE BAPIP0718-VALIDBEGIN, " | |||
| lv_outlockindicator | TYPE BAPIP0718-LOCKINDIC, " | |||
| lv_validityend | TYPE BAPIP0718-VALIDEND, " | |||
| lv_outvaliditybegin | TYPE BAPIP0718-VALIDBEGIN, " | |||
| lv_recordnumber | TYPE BAPIP0718-RECORDNR, " | |||
| lv_outvalidityend | TYPE BAPIP0718-VALIDEND, " | |||
| lv_barea | TYPE BAPIP0718-BAREA, " | |||
| lv_outrecordnumber | TYPE BAPIP0718-RECORDNR, " | |||
| lv_rqtyp | TYPE BAPIP0718-RQTYP. " |
|   CALL FUNCTION 'HR_BPS_REQUEST_CREATE' "Create benefit request |
| EXPORTING | ||
| EMPLOYEENUMBER | = lv_employeenumber | |
| RQOPT | = lv_rqopt | |
| RQDAT | = lv_rqdat | |
| RQSTA | = lv_rqsta | |
| RQDTY | = lv_rqdty | |
| RQDID | = lv_rqdid | |
| RQPYD | = lv_rqpyd | |
| RQAMT | = lv_rqamt | |
| RQCUR | = lv_rqcur | |
| RDPTS | = lv_rdpts | |
| RBAMT | = lv_rbamt | |
| SUBTYPE | = lv_subtype | |
| RDAMT | = lv_rdamt | |
| RBPTS | = lv_rbpts | |
| CURRE | = lv_curre | |
| EXAMT | = lv_examt | |
| EXPTS | = lv_expts | |
| RDPUR | = lv_rdpur | |
| RDBEG | = lv_rdbeg | |
| RDEND | = lv_rdend | |
| RDSTA | = lv_rdsta | |
| RDASU | = lv_rdasu | |
| OBJECTID | = lv_objectid | |
| RDBSU | = lv_rdbsu | |
| RDLSU | = lv_rdlsu | |
| RDESY | = lv_rdesy | |
| RDESP | = lv_rdesp | |
| RDEPN | = lv_rdepn | |
| RDRNP | = lv_rdrnp | |
| RDRNR | = lv_rdrnr | |
| RDRRS | = lv_rdrrs | |
| RDRES | = lv_rdres | |
| RDRCN | = lv_rdrcn | |
| LOCKINDICATOR | = lv_lockindicator | |
| RDRIA | = lv_rdria | |
| RDGNG | = lv_rdgng | |
| RDMPD | = lv_rdmpd | |
| RDMCD | = lv_rdmcd | |
| RDLPR | = lv_rdlpr | |
| REFER | = lv_refer | |
| NOCOMMIT | = lv_nocommit | |
| VALIDITYBEGIN | = lv_validitybegin | |
| VALIDITYEND | = lv_validityend | |
| RECORDNUMBER | = lv_recordnumber | |
| BAREA | = lv_barea | |
| RQTYP | = lv_rqtyp | |
| IMPORTING | ||
| RETURN | = lv_return | |
| OUTEMPLOYEENUMBER | = lv_outemployeenumber | |
| OUTSUBTYPE | = lv_outsubtype | |
| OUTOBJECTID | = lv_outobjectid | |
| OUTLOCKINDICATOR | = lv_outlockindicator | |
| OUTVALIDITYBEGIN | = lv_outvaliditybegin | |
| OUTVALIDITYEND | = lv_outvalidityend | |
| OUTRECORDNUMBER | = lv_outrecordnumber | |
| . " HR_BPS_REQUEST_CREATE | ||
ABAP code using 7.40 inline data declarations to call FM HR_BPS_REQUEST_CREATE
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 EMPLOYEENO FROM BAPIP0718 INTO @DATA(ld_employeenumber). | ||||
| "SELECT single RQOPT FROM BAPIP0718 INTO @DATA(ld_rqopt). | ||||
| "SELECT single RQDAT FROM BAPIP0718 INTO @DATA(ld_rqdat). | ||||
| "SELECT single RQSTA FROM BAPIP0718 INTO @DATA(ld_rqsta). | ||||
| "SELECT single RQDTY FROM BAPIP0718 INTO @DATA(ld_rqdty). | ||||
| "SELECT single RQDID FROM BAPIP0718 INTO @DATA(ld_rqdid). | ||||
| "SELECT single RQPYD FROM BAPIP0718 INTO @DATA(ld_rqpyd). | ||||
| "SELECT single RQAMT FROM BAPIP0718 INTO @DATA(ld_rqamt). | ||||
| "SELECT single RQCUR FROM BAPIP0718 INTO @DATA(ld_rqcur). | ||||
| "SELECT single RDPTS FROM BAPIP0718 INTO @DATA(ld_rdpts). | ||||
| "SELECT single RBAMT FROM BAPIP0718 INTO @DATA(ld_rbamt). | ||||
| "SELECT single SUBTYPE FROM BAPIP0718 INTO @DATA(ld_subtype). | ||||
| "SELECT single EMPLOYEENO FROM BAPIP0718 INTO @DATA(ld_outemployeenumber). | ||||
| "SELECT single RDAMT FROM BAPIP0718 INTO @DATA(ld_rdamt). | ||||
| "SELECT single RBPTS FROM BAPIP0718 INTO @DATA(ld_rbpts). | ||||
| "SELECT single CURRE FROM BAPIP0718 INTO @DATA(ld_curre). | ||||
| "SELECT single EXAMT FROM BAPIP0718 INTO @DATA(ld_examt). | ||||
| "SELECT single EXPTS FROM BAPIP0718 INTO @DATA(ld_expts). | ||||
| "SELECT single RDPUR FROM BAPIP0718 INTO @DATA(ld_rdpur). | ||||
| "SELECT single RDBEG FROM BAPIP0718 INTO @DATA(ld_rdbeg). | ||||
| "SELECT single RDEND FROM BAPIP0718 INTO @DATA(ld_rdend). | ||||
| "SELECT single RDSTA FROM BAPIP0718 INTO @DATA(ld_rdsta). | ||||
| "SELECT single RDASU FROM BAPIP0718 INTO @DATA(ld_rdasu). | ||||
| "SELECT single OBJECTID FROM BAPIP0718 INTO @DATA(ld_objectid). | ||||
| "SELECT single SUBTYPE FROM BAPIP0718 INTO @DATA(ld_outsubtype). | ||||
| "SELECT single RDBSU FROM BAPIP0718 INTO @DATA(ld_rdbsu). | ||||
| "SELECT single RDLSU FROM BAPIP0718 INTO @DATA(ld_rdlsu). | ||||
| "SELECT single RDESY FROM BAPIP0718 INTO @DATA(ld_rdesy). | ||||
| "SELECT single RDESP FROM BAPIP0718 INTO @DATA(ld_rdesp). | ||||
| "SELECT single RDEPN FROM BAPIP0718 INTO @DATA(ld_rdepn). | ||||
| "SELECT single RDRNP FROM BAPIP0718 INTO @DATA(ld_rdrnp). | ||||
| "SELECT single RDRNR FROM BAPIP0718 INTO @DATA(ld_rdrnr). | ||||
| "SELECT single RDRRS FROM BAPIP0718 INTO @DATA(ld_rdrrs). | ||||
| "SELECT single RDRES FROM BAPIP0718 INTO @DATA(ld_rdres). | ||||
| "SELECT single RDRCN FROM BAPIP0718 INTO @DATA(ld_rdrcn). | ||||
| "SELECT single OBJECTID FROM BAPIP0718 INTO @DATA(ld_outobjectid). | ||||
| "SELECT single LOCKINDIC FROM BAPIP0718 INTO @DATA(ld_lockindicator). | ||||
| "SELECT single RDRIA FROM BAPIP0718 INTO @DATA(ld_rdria). | ||||
| "SELECT single RDGNG FROM BAPIP0718 INTO @DATA(ld_rdgng). | ||||
| "SELECT single RDMPD FROM BAPIP0718 INTO @DATA(ld_rdmpd). | ||||
| "SELECT single RDMCD FROM BAPIP0718 INTO @DATA(ld_rdmcd). | ||||
| "SELECT single RDLPR FROM BAPIP0718 INTO @DATA(ld_rdlpr). | ||||
| "SELECT single REFER FROM BAPIP0718 INTO @DATA(ld_refer). | ||||
| "SELECT single NO_COMMIT FROM BAPI_STAND INTO @DATA(ld_nocommit). | ||||
| "SELECT single VALIDBEGIN FROM BAPIP0718 INTO @DATA(ld_validitybegin). | ||||
| "SELECT single LOCKINDIC FROM BAPIP0718 INTO @DATA(ld_outlockindicator). | ||||
| "SELECT single VALIDEND FROM BAPIP0718 INTO @DATA(ld_validityend). | ||||
| "SELECT single VALIDBEGIN FROM BAPIP0718 INTO @DATA(ld_outvaliditybegin). | ||||
| "SELECT single RECORDNR FROM BAPIP0718 INTO @DATA(ld_recordnumber). | ||||
| "SELECT single VALIDEND FROM BAPIP0718 INTO @DATA(ld_outvalidityend). | ||||
| "SELECT single BAREA FROM BAPIP0718 INTO @DATA(ld_barea). | ||||
| "SELECT single RECORDNR FROM BAPIP0718 INTO @DATA(ld_outrecordnumber). | ||||
| "SELECT single RQTYP FROM BAPIP0718 INTO @DATA(ld_rqtyp). | ||||
Search for further information about these or an SAP related objects