SAP BAPI_EXTBANKPAY_CREATE Function Module for Create External Bank Payments
BAPI_EXTBANKPAY_CREATE is a standard bapi extbankpay 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 External Bank Payments 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 bapi extbankpay create FM, simply by entering the name BAPI_EXTBANKPAY_CREATE into the relevant SAP transaction such as SE37 or SE38.
Function Group: PXPY
Program Name: SAPLPXPY
Main Program:
Appliation area: P
Release date: 03-Feb-2000
Mode(Normal, Remote etc): Remote-Enabled
Update:

Function BAPI_EXTBANKPAY_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 'BAPI_EXTBANKPAY_CREATE'"Create External Bank Payments.
EXPORTING
INEMPLOYEENUMBER = "Personnel number
* FIRSTPAYMENTDATE = "First payment date
* FIRSTPAYMENTPERIOD = "First payment period
* NUMBEROFTIMEUNITSNEXTPAYMENT = "Number for determining further payment dates
* TIMEUNITNEXTPAYMENT = "Time unit for determining next payment
* PRIORITY = "Priority
* PAYEEKEY = "Payee key for bank transfers
* PAYEETEXT = "Payee text
* POSTALCODE = "Zip code
* CITY = "City
* BANKCOUNTRY = "Country key
INVALIDITYBEGIN = "Valid from date
* BANKKEY = "Bank key
* BANKACCOUNTNUMBER = "Bank account number
* CHECKDIGITFORBANK = "Check digit for bank no./account
* BANKCONTROLKEY = "Bank control key
* SWIFTCODE = "SWIFT code for international payments
* INSTRUCTIONKEYFORDATAMEDIUM = "Instruction key for data medium exchange
* DMEINDICATOR = "Report key for data medium exchange
* TAXNUMBER1 = "Tax number 1
* TAXNUMBER2 = "Tax number 2
* POSTOFFICEBANKCURRENTACCOUNTNO = "Post office bank current account number
INVALIDITYEND = "Valid to date
* PORSUBSCRIBERNUMBER = "POR subscriber number
* PORREFERENCENUMBER = "POR reference number
* PORCHECKDIGIT = "POR check digit
* PURPOSEOFBANKTRANSFERS = "Purpose of bank transfers
* PAYMENTMETHOD = "Payment method
* TRANSFERDATE = "Transfer date
* NOCOMMIT = "COMMIT control at BAPI interface
* WAGETYPE = "Wagetype
* OPERATIONINDICATOR = "Operation indicator for wage types
* AMOUNT = "Wage type amount for payments
* CURRENCY = "Currency key
* NUMBEROFTIMEUNITS = "Number
* TIMEUNIT = "Unit of time/measurement
IMPORTING
RETURN = "Structure for return code
EMPLOYEENUMBER = "
SUBTYPE = "Subtype
OBJECTID = "Object identification
LOCKINDICATOR = "Lock indicator for HR master record
VALIDITYBEGIN = "
VALIDITYEND = "
RECORDNUMBER = "Number of infotype record
IMPORTING Parameters details for BAPI_EXTBANKPAY_CREATE
INEMPLOYEENUMBER - Personnel number
Data type: BAPIP0011-PERNROptional: No
Call by Reference: No ( called with pass by value option)
FIRSTPAYMENTDATE - First payment date
Data type: BAPIP0011-ZDATEOptional: Yes
Call by Reference: No ( called with pass by value option)
FIRSTPAYMENTPERIOD - First payment period
Data type: BAPIP0011-ZFPEROptional: Yes
Call by Reference: No ( called with pass by value option)
NUMBEROFTIMEUNITSNEXTPAYMENT - Number for determining further payment dates
Data type: BAPIP0011-ZANZLOptional: Yes
Call by Reference: No ( called with pass by value option)
TIMEUNITNEXTPAYMENT - Time unit for determining next payment
Data type: BAPIP0011-ZEINZOptional: Yes
Call by Reference: No ( called with pass by value option)
PRIORITY - Priority
Data type: BAPIP0011-PRITYOptional: Yes
Call by Reference: No ( called with pass by value option)
PAYEEKEY - Payee key for bank transfers
Data type: BAPIP0011-EMFSLOptional: Yes
Call by Reference: No ( called with pass by value option)
PAYEETEXT - Payee text
Data type: BAPIP0011-EMFTXOptional: Yes
Call by Reference: No ( called with pass by value option)
POSTALCODE - Zip code
Data type: BAPIP0011-BKPLZOptional: Yes
Call by Reference: No ( called with pass by value option)
CITY - City
Data type: BAPIP0011-BKORTOptional: Yes
Call by Reference: No ( called with pass by value option)
BANKCOUNTRY - Country key
Data type: BAPIP0011-BANKSOptional: Yes
Call by Reference: No ( called with pass by value option)
INVALIDITYBEGIN - Valid from date
Data type: BAPIP0011-BEGDAOptional: No
Call by Reference: No ( called with pass by value option)
BANKKEY - Bank key
Data type: BAPIP0011-BANKLOptional: Yes
Call by Reference: No ( called with pass by value option)
BANKACCOUNTNUMBER - Bank account number
Data type: BAPIP0011-BANKNOptional: Yes
Call by Reference: No ( called with pass by value option)
CHECKDIGITFORBANK - Check digit for bank no./account
Data type: BAPIP0011-BANKPOptional: Yes
Call by Reference: No ( called with pass by value option)
BANKCONTROLKEY - Bank control key
Data type: BAPIP0011-BKONTOptional: Yes
Call by Reference: No ( called with pass by value option)
SWIFTCODE - SWIFT code for international payments
Data type: BAPIP0011-SWIFTOptional: Yes
Call by Reference: No ( called with pass by value option)
INSTRUCTIONKEYFORDATAMEDIUM - Instruction key for data medium exchange
Data type: BAPIP0011-DTAWSOptional: Yes
Call by Reference: No ( called with pass by value option)
DMEINDICATOR - Report key for data medium exchange
Data type: BAPIP0011-DTAMSOptional: Yes
Call by Reference: No ( called with pass by value option)
TAXNUMBER1 - Tax number 1
Data type: BAPIP0011-STCD1Optional: Yes
Call by Reference: No ( called with pass by value option)
TAXNUMBER2 - Tax number 2
Data type: BAPIP0011-STCD2Optional: Yes
Call by Reference: No ( called with pass by value option)
POSTOFFICEBANKCURRENTACCOUNTNO - Post office bank current account number
Data type: BAPIP0011-PSKTOOptional: Yes
Call by Reference: No ( called with pass by value option)
INVALIDITYEND - Valid to date
Data type: BAPIP0011-ENDDAOptional: No
Call by Reference: No ( called with pass by value option)
PORSUBSCRIBERNUMBER - POR subscriber number
Data type: BAPIP0011-ESRNROptional: Yes
Call by Reference: No ( called with pass by value option)
PORREFERENCENUMBER - POR reference number
Data type: BAPIP0011-ESRREOptional: Yes
Call by Reference: No ( called with pass by value option)
PORCHECKDIGIT - POR check digit
Data type: BAPIP0011-ESRPZOptional: Yes
Call by Reference: No ( called with pass by value option)
PURPOSEOFBANKTRANSFERS - Purpose of bank transfers
Data type: BAPIP0011-ZWECKOptional: Yes
Call by Reference: No ( called with pass by value option)
PAYMENTMETHOD - Payment method
Data type: BAPIP0011-ZLSCHOptional: Yes
Call by Reference: No ( called with pass by value option)
TRANSFERDATE - Transfer date
Data type: BAPIP0011-UWDATOptional: 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)
WAGETYPE - Wagetype
Data type: BAPIP0011-LGARTOptional: Yes
Call by Reference: No ( called with pass by value option)
OPERATIONINDICATOR - Operation indicator for wage types
Data type: BAPIP0011-OPKENOptional: Yes
Call by Reference: No ( called with pass by value option)
AMOUNT - Wage type amount for payments
Data type: BAPIP0011-BETRGOptional: Yes
Call by Reference: No ( called with pass by value option)
CURRENCY - Currency key
Data type: BAPIP0011-WAERSOptional: Yes
Call by Reference: No ( called with pass by value option)
NUMBEROFTIMEUNITS - Number
Data type: BAPIP0011-ANZHLOptional: Yes
Call by Reference: No ( called with pass by value option)
TIMEUNIT - Unit of time/measurement
Data type: BAPIP0011-ZEINHOptional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for BAPI_EXTBANKPAY_CREATE
RETURN - Structure for return code
Data type: BAPIRETURN1Optional: No
Call by Reference: No ( called with pass by value option)
EMPLOYEENUMBER -
Data type: BAPIP0011-PERNROptional: No
Call by Reference: No ( called with pass by value option)
SUBTYPE - Subtype
Data type: BAPIP0011-SUBTYOptional: No
Call by Reference: No ( called with pass by value option)
OBJECTID - Object identification
Data type: BAPIP0011-OBJPSOptional: No
Call by Reference: No ( called with pass by value option)
LOCKINDICATOR - Lock indicator for HR master record
Data type: BAPIP0011-SPRPSOptional: No
Call by Reference: No ( called with pass by value option)
VALIDITYBEGIN -
Data type: BAPIP0011-BEGDAOptional: No
Call by Reference: No ( called with pass by value option)
VALIDITYEND -
Data type: BAPIP0011-ENDDAOptional: No
Call by Reference: No ( called with pass by value option)
RECORDNUMBER - Number of infotype record
Data type: BAPIP0011-SEQNROptional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for BAPI_EXTBANKPAY_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_inemployeenumber | TYPE BAPIP0011-PERNR, " | |||
| lv_firstpaymentdate | TYPE BAPIP0011-ZDATE, " | |||
| lv_firstpaymentperiod | TYPE BAPIP0011-ZFPER, " | |||
| lv_numberoftimeunitsnextpayment | TYPE BAPIP0011-ZANZL, " | |||
| lv_timeunitnextpayment | TYPE BAPIP0011-ZEINZ, " | |||
| lv_priority | TYPE BAPIP0011-PRITY, " | |||
| lv_payeekey | TYPE BAPIP0011-EMFSL, " | |||
| lv_payeetext | TYPE BAPIP0011-EMFTX, " | |||
| lv_postalcode | TYPE BAPIP0011-BKPLZ, " | |||
| lv_city | TYPE BAPIP0011-BKORT, " | |||
| lv_bankcountry | TYPE BAPIP0011-BANKS, " | |||
| lv_employeenumber | TYPE BAPIP0011-PERNR, " | |||
| lv_invaliditybegin | TYPE BAPIP0011-BEGDA, " | |||
| lv_bankkey | TYPE BAPIP0011-BANKL, " | |||
| lv_bankaccountnumber | TYPE BAPIP0011-BANKN, " | |||
| lv_checkdigitforbank | TYPE BAPIP0011-BANKP, " | |||
| lv_bankcontrolkey | TYPE BAPIP0011-BKONT, " | |||
| lv_swiftcode | TYPE BAPIP0011-SWIFT, " | |||
| lv_instructionkeyfordatamedium | TYPE BAPIP0011-DTAWS, " | |||
| lv_dmeindicator | TYPE BAPIP0011-DTAMS, " | |||
| lv_taxnumber1 | TYPE BAPIP0011-STCD1, " | |||
| lv_taxnumber2 | TYPE BAPIP0011-STCD2, " | |||
| lv_postofficebankcurrentaccountno | TYPE BAPIP0011-PSKTO, " | |||
| lv_subtype | TYPE BAPIP0011-SUBTY, " | |||
| lv_invalidityend | TYPE BAPIP0011-ENDDA, " | |||
| lv_porsubscribernumber | TYPE BAPIP0011-ESRNR, " | |||
| lv_porreferencenumber | TYPE BAPIP0011-ESRRE, " | |||
| lv_porcheckdigit | TYPE BAPIP0011-ESRPZ, " | |||
| lv_purposeofbanktransfers | TYPE BAPIP0011-ZWECK, " | |||
| lv_paymentmethod | TYPE BAPIP0011-ZLSCH, " | |||
| lv_transferdate | TYPE BAPIP0011-UWDAT, " | |||
| lv_nocommit | TYPE BAPI_STAND-NO_COMMIT, " | |||
| lv_objectid | TYPE BAPIP0011-OBJPS, " | |||
| lv_wagetype | TYPE BAPIP0011-LGART, " | |||
| lv_lockindicator | TYPE BAPIP0011-SPRPS, " | |||
| lv_operationindicator | TYPE BAPIP0011-OPKEN, " | |||
| lv_amount | TYPE BAPIP0011-BETRG, " | |||
| lv_validitybegin | TYPE BAPIP0011-BEGDA, " | |||
| lv_currency | TYPE BAPIP0011-WAERS, " | |||
| lv_validityend | TYPE BAPIP0011-ENDDA, " | |||
| lv_recordnumber | TYPE BAPIP0011-SEQNR, " | |||
| lv_numberoftimeunits | TYPE BAPIP0011-ANZHL, " | |||
| lv_timeunit | TYPE BAPIP0011-ZEINH. " |
|   CALL FUNCTION 'BAPI_EXTBANKPAY_CREATE' "Create External Bank Payments |
| EXPORTING | ||
| INEMPLOYEENUMBER | = lv_inemployeenumber | |
| FIRSTPAYMENTDATE | = lv_firstpaymentdate | |
| FIRSTPAYMENTPERIOD | = lv_firstpaymentperiod | |
| NUMBEROFTIMEUNITSNEXTPAYMENT | = lv_numberoftimeunitsnextpayment | |
| TIMEUNITNEXTPAYMENT | = lv_timeunitnextpayment | |
| PRIORITY | = lv_priority | |
| PAYEEKEY | = lv_payeekey | |
| PAYEETEXT | = lv_payeetext | |
| POSTALCODE | = lv_postalcode | |
| CITY | = lv_city | |
| BANKCOUNTRY | = lv_bankcountry | |
| INVALIDITYBEGIN | = lv_invaliditybegin | |
| BANKKEY | = lv_bankkey | |
| BANKACCOUNTNUMBER | = lv_bankaccountnumber | |
| CHECKDIGITFORBANK | = lv_checkdigitforbank | |
| BANKCONTROLKEY | = lv_bankcontrolkey | |
| SWIFTCODE | = lv_swiftcode | |
| INSTRUCTIONKEYFORDATAMEDIUM | = lv_instructionkeyfordatamedium | |
| DMEINDICATOR | = lv_dmeindicator | |
| TAXNUMBER1 | = lv_taxnumber1 | |
| TAXNUMBER2 | = lv_taxnumber2 | |
| POSTOFFICEBANKCURRENTACCOUNTNO | = lv_postofficebankcurrentaccountno | |
| INVALIDITYEND | = lv_invalidityend | |
| PORSUBSCRIBERNUMBER | = lv_porsubscribernumber | |
| PORREFERENCENUMBER | = lv_porreferencenumber | |
| PORCHECKDIGIT | = lv_porcheckdigit | |
| PURPOSEOFBANKTRANSFERS | = lv_purposeofbanktransfers | |
| PAYMENTMETHOD | = lv_paymentmethod | |
| TRANSFERDATE | = lv_transferdate | |
| NOCOMMIT | = lv_nocommit | |
| WAGETYPE | = lv_wagetype | |
| OPERATIONINDICATOR | = lv_operationindicator | |
| AMOUNT | = lv_amount | |
| CURRENCY | = lv_currency | |
| NUMBEROFTIMEUNITS | = lv_numberoftimeunits | |
| TIMEUNIT | = lv_timeunit | |
| IMPORTING | ||
| RETURN | = lv_return | |
| EMPLOYEENUMBER | = lv_employeenumber | |
| SUBTYPE | = lv_subtype | |
| OBJECTID | = lv_objectid | |
| LOCKINDICATOR | = lv_lockindicator | |
| VALIDITYBEGIN | = lv_validitybegin | |
| VALIDITYEND | = lv_validityend | |
| RECORDNUMBER | = lv_recordnumber | |
| . " BAPI_EXTBANKPAY_CREATE | ||
ABAP code using 7.40 inline data declarations to call FM BAPI_EXTBANKPAY_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 PERNR FROM BAPIP0011 INTO @DATA(ld_inemployeenumber). | ||||
| "SELECT single ZDATE FROM BAPIP0011 INTO @DATA(ld_firstpaymentdate). | ||||
| "SELECT single ZFPER FROM BAPIP0011 INTO @DATA(ld_firstpaymentperiod). | ||||
| "SELECT single ZANZL FROM BAPIP0011 INTO @DATA(ld_numberoftimeunitsnextpayment). | ||||
| "SELECT single ZEINZ FROM BAPIP0011 INTO @DATA(ld_timeunitnextpayment). | ||||
| "SELECT single PRITY FROM BAPIP0011 INTO @DATA(ld_priority). | ||||
| "SELECT single EMFSL FROM BAPIP0011 INTO @DATA(ld_payeekey). | ||||
| "SELECT single EMFTX FROM BAPIP0011 INTO @DATA(ld_payeetext). | ||||
| "SELECT single BKPLZ FROM BAPIP0011 INTO @DATA(ld_postalcode). | ||||
| "SELECT single BKORT FROM BAPIP0011 INTO @DATA(ld_city). | ||||
| "SELECT single BANKS FROM BAPIP0011 INTO @DATA(ld_bankcountry). | ||||
| "SELECT single PERNR FROM BAPIP0011 INTO @DATA(ld_employeenumber). | ||||
| "SELECT single BEGDA FROM BAPIP0011 INTO @DATA(ld_invaliditybegin). | ||||
| "SELECT single BANKL FROM BAPIP0011 INTO @DATA(ld_bankkey). | ||||
| "SELECT single BANKN FROM BAPIP0011 INTO @DATA(ld_bankaccountnumber). | ||||
| "SELECT single BANKP FROM BAPIP0011 INTO @DATA(ld_checkdigitforbank). | ||||
| "SELECT single BKONT FROM BAPIP0011 INTO @DATA(ld_bankcontrolkey). | ||||
| "SELECT single SWIFT FROM BAPIP0011 INTO @DATA(ld_swiftcode). | ||||
| "SELECT single DTAWS FROM BAPIP0011 INTO @DATA(ld_instructionkeyfordatamedium). | ||||
| "SELECT single DTAMS FROM BAPIP0011 INTO @DATA(ld_dmeindicator). | ||||
| "SELECT single STCD1 FROM BAPIP0011 INTO @DATA(ld_taxnumber1). | ||||
| "SELECT single STCD2 FROM BAPIP0011 INTO @DATA(ld_taxnumber2). | ||||
| "SELECT single PSKTO FROM BAPIP0011 INTO @DATA(ld_postofficebankcurrentaccountno). | ||||
| "SELECT single SUBTY FROM BAPIP0011 INTO @DATA(ld_subtype). | ||||
| "SELECT single ENDDA FROM BAPIP0011 INTO @DATA(ld_invalidityend). | ||||
| "SELECT single ESRNR FROM BAPIP0011 INTO @DATA(ld_porsubscribernumber). | ||||
| "SELECT single ESRRE FROM BAPIP0011 INTO @DATA(ld_porreferencenumber). | ||||
| "SELECT single ESRPZ FROM BAPIP0011 INTO @DATA(ld_porcheckdigit). | ||||
| "SELECT single ZWECK FROM BAPIP0011 INTO @DATA(ld_purposeofbanktransfers). | ||||
| "SELECT single ZLSCH FROM BAPIP0011 INTO @DATA(ld_paymentmethod). | ||||
| "SELECT single UWDAT FROM BAPIP0011 INTO @DATA(ld_transferdate). | ||||
| "SELECT single NO_COMMIT FROM BAPI_STAND INTO @DATA(ld_nocommit). | ||||
| "SELECT single OBJPS FROM BAPIP0011 INTO @DATA(ld_objectid). | ||||
| "SELECT single LGART FROM BAPIP0011 INTO @DATA(ld_wagetype). | ||||
| "SELECT single SPRPS FROM BAPIP0011 INTO @DATA(ld_lockindicator). | ||||
| "SELECT single OPKEN FROM BAPIP0011 INTO @DATA(ld_operationindicator). | ||||
| "SELECT single BETRG FROM BAPIP0011 INTO @DATA(ld_amount). | ||||
| "SELECT single BEGDA FROM BAPIP0011 INTO @DATA(ld_validitybegin). | ||||
| "SELECT single WAERS FROM BAPIP0011 INTO @DATA(ld_currency). | ||||
| "SELECT single ENDDA FROM BAPIP0011 INTO @DATA(ld_validityend). | ||||
| "SELECT single SEQNR FROM BAPIP0011 INTO @DATA(ld_recordnumber). | ||||
| "SELECT single ANZHL FROM BAPIP0011 INTO @DATA(ld_numberoftimeunits). | ||||
| "SELECT single ZEINH FROM BAPIP0011 INTO @DATA(ld_timeunit). | ||||
Search for further information about these or an SAP related objects