SAP BAPI_BANKDETAIL_GETDETAIL Function Module for Read Bank Details
BAPI_BANKDETAIL_GETDETAIL is a standard bapi bankdetail getdetail SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Read Bank Details 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 bankdetail getdetail FM, simply by entering the name BAPI_BANKDETAIL_GETDETAIL into the relevant SAP transaction such as SE37 or SE38.
Function Group: PBNK
Program Name: SAPLPBNK
Main Program: SAPLPBNK
Appliation area: P
Release date: 16-Sep-1997
Mode(Normal, Remote etc): Remote-Enabled
Update:

Function BAPI_BANKDETAIL_GETDETAIL 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_BANKDETAIL_GETDETAIL'"Read Bank Details.
EXPORTING
EMPLOYEENUMBER = "Personnel number
SUBTYPE = "Subtype
OBJECTID = "Object ID
LOCKINDICATOR = "Lock indicator for HR master record
VALIDITYBEGIN = "Valid from date
VALIDITYEND = "Valid To Date
RECORDNUMBER = "Number of Infotype Record
IMPORTING
RETURN = "Structure for return code
ACCOUNTNO = "Bank account number
BANKREFERENCE = "Reference specifications for bank details
STANDARDVALUE = "Standard value
CURRENCY = "Currency Key
STANDARDPERCENT = "Standard percentage
TIMEUNIT = "Time/measurement unit
CHECKDIGIT = "Check digit for bank/account numbers
CONTROLKEY = "Bank Control Key
PURPOSE = "Purpose of bank transfers
BANKTYPE = "Type of Bank Details Record
PAYMENTMETHOD = "Payment method
NAMEOFBANKTYPE = "Bank details record type name
NAMEOFBANKCOUNTRY = "Bank country name
NAMEOFBANKKEY = "Bank key name
NAMEOFPAYMENTMETHOD = "Payment method name
NAMEOFCURRENCY = "Currency name
STANDARDVALUECURR = "Currency Amount of BAPI Interfaces
COUNTRYCURRENCY = "Currency Key
NAMEOFCOUNTRYCURRENCY = "Currency key name
DEBIT = "Automatic Debit Authorization Indicator
IBAN = "IBAN (International Bank Account Number)
PAYEE = "Recipient text
PAYEESTREET = "House Number and Street
PAYEEPOSTALCODECITY = "Postal code
PAYEECITY = "City
PAYEEREGION = "Region (State, Province, County)
BANKCOUNTRY = "Country key of bank
BANKKEY = "Bank Key
IMPORTING Parameters details for BAPI_BANKDETAIL_GETDETAIL
EMPLOYEENUMBER - Personnel number
Data type: BAPIP0009-PERNROptional: No
Call by Reference: No ( called with pass by value option)
SUBTYPE - Subtype
Data type: BAPIP0009-SUBTYOptional: No
Call by Reference: No ( called with pass by value option)
OBJECTID - Object ID
Data type: BAPIP0009-OBJPSOptional: No
Call by Reference: No ( called with pass by value option)
LOCKINDICATOR - Lock indicator for HR master record
Data type: BAPIP0009-SPRPSOptional: No
Call by Reference: No ( called with pass by value option)
VALIDITYBEGIN - Valid from date
Data type: BAPIP0009-BEGDAOptional: No
Call by Reference: No ( called with pass by value option)
VALIDITYEND - Valid To Date
Data type: BAPIP0009-ENDDAOptional: No
Call by Reference: No ( called with pass by value option)
RECORDNUMBER - Number of Infotype Record
Data type: BAPIP0009-SEQNROptional: No
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for BAPI_BANKDETAIL_GETDETAIL
RETURN - Structure for return code
Data type: BAPIRETURN1Optional: No
Call by Reference: No ( called with pass by value option)
ACCOUNTNO - Bank account number
Data type: BAPIP0009-BANKNOptional: No
Call by Reference: No ( called with pass by value option)
BANKREFERENCE - Reference specifications for bank details
Data type: BAPIP0009-BANK_REFOptional: No
Call by Reference: No ( called with pass by value option)
STANDARDVALUE - Standard value
Data type: BAPIP0009-BETRGOptional: No
Call by Reference: No ( called with pass by value option)
CURRENCY - Currency Key
Data type: BAPIP0009-WAERSOptional: No
Call by Reference: No ( called with pass by value option)
STANDARDPERCENT - Standard percentage
Data type: BAPIP0009-ANZHLOptional: No
Call by Reference: No ( called with pass by value option)
TIMEUNIT - Time/measurement unit
Data type: BAPIP0009-ZEINHOptional: No
Call by Reference: No ( called with pass by value option)
CHECKDIGIT - Check digit for bank/account numbers
Data type: BAPIP0009-BANKPOptional: No
Call by Reference: No ( called with pass by value option)
CONTROLKEY - Bank Control Key
Data type: BAPIP0009-BKONTOptional: No
Call by Reference: No ( called with pass by value option)
PURPOSE - Purpose of bank transfers
Data type: BAPIP0009-ZWECKOptional: No
Call by Reference: No ( called with pass by value option)
BANKTYPE - Type of Bank Details Record
Data type: BAPIP0009-BNKSAOptional: No
Call by Reference: No ( called with pass by value option)
PAYMENTMETHOD - Payment method
Data type: BAPIP0009-ZLSCHOptional: No
Call by Reference: No ( called with pass by value option)
NAMEOFBANKTYPE - Bank details record type name
Data type: BAPIP0009-NAMEOFBNKSAOptional: No
Call by Reference: No ( called with pass by value option)
NAMEOFBANKCOUNTRY - Bank country name
Data type: BAPIP0009-NAMEOFBANKSOptional: No
Call by Reference: No ( called with pass by value option)
NAMEOFBANKKEY - Bank key name
Data type: BAPIP0009-NAMEOFBANKLOptional: No
Call by Reference: No ( called with pass by value option)
NAMEOFPAYMENTMETHOD - Payment method name
Data type: BAPIP0009-NAMEOFZLSCHOptional: No
Call by Reference: No ( called with pass by value option)
NAMEOFCURRENCY - Currency name
Data type: BAPIP0009-NAMEOFWAERSOptional: No
Call by Reference: No ( called with pass by value option)
STANDARDVALUECURR - Currency Amount of BAPI Interfaces
Data type: BAPICURR-BAPICURROptional: No
Call by Reference: No ( called with pass by value option)
COUNTRYCURRENCY - Currency Key
Data type: BAPIP0009-CTRYWAERSOptional: No
Call by Reference: No ( called with pass by value option)
NAMEOFCOUNTRYCURRENCY - Currency key name
Data type: BAPIP0009-NAMEOFCTRYWAERSOptional: No
Call by Reference: No ( called with pass by value option)
DEBIT - Automatic Debit Authorization Indicator
Data type: BAPIP0009-DEBITOptional: No
Call by Reference: No ( called with pass by value option)
IBAN - IBAN (International Bank Account Number)
Data type: BAPIP0009-IBANOptional: No
Call by Reference: No ( called with pass by value option)
PAYEE - Recipient text
Data type: BAPIP0009-EMFTXOptional: No
Call by Reference: No ( called with pass by value option)
PAYEESTREET - House Number and Street
Data type: BAPIP0009-STREETOptional: No
Call by Reference: No ( called with pass by value option)
PAYEEPOSTALCODECITY - Postal code
Data type: BAPIP0009-BKPLZOptional: No
Call by Reference: No ( called with pass by value option)
PAYEECITY - City
Data type: BAPIP0009-BKORTOptional: No
Call by Reference: No ( called with pass by value option)
PAYEEREGION - Region (State, Province, County)
Data type: BAPIP0009-REGIONOptional: No
Call by Reference: No ( called with pass by value option)
BANKCOUNTRY - Country key of bank
Data type: BAPIP0009-BANKSOptional: No
Call by Reference: No ( called with pass by value option)
BANKKEY - Bank Key
Data type: BAPIP0009-BANKLOptional: No
Call by Reference: No ( called with pass by value option)
Copy and paste ABAP code example for BAPI_BANKDETAIL_GETDETAIL 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 BAPIP0009-PERNR, " | |||
| lv_accountno | TYPE BAPIP0009-BANKN, " | |||
| lv_bankreference | TYPE BAPIP0009-BANK_REF, " | |||
| lv_standardvalue | TYPE BAPIP0009-BETRG, " | |||
| lv_currency | TYPE BAPIP0009-WAERS, " | |||
| lv_standardpercent | TYPE BAPIP0009-ANZHL, " | |||
| lv_timeunit | TYPE BAPIP0009-ZEINH, " | |||
| lv_checkdigit | TYPE BAPIP0009-BANKP, " | |||
| lv_controlkey | TYPE BAPIP0009-BKONT, " | |||
| lv_purpose | TYPE BAPIP0009-ZWECK, " | |||
| lv_banktype | TYPE BAPIP0009-BNKSA, " | |||
| lv_subtype | TYPE BAPIP0009-SUBTY, " | |||
| lv_paymentmethod | TYPE BAPIP0009-ZLSCH, " | |||
| lv_nameofbanktype | TYPE BAPIP0009-NAMEOFBNKSA, " | |||
| lv_nameofbankcountry | TYPE BAPIP0009-NAMEOFBANKS, " | |||
| lv_nameofbankkey | TYPE BAPIP0009-NAMEOFBANKL, " | |||
| lv_nameofpaymentmethod | TYPE BAPIP0009-NAMEOFZLSCH, " | |||
| lv_nameofcurrency | TYPE BAPIP0009-NAMEOFWAERS, " | |||
| lv_standardvaluecurr | TYPE BAPICURR-BAPICURR, " | |||
| lv_countrycurrency | TYPE BAPIP0009-CTRYWAERS, " | |||
| lv_nameofcountrycurrency | TYPE BAPIP0009-NAMEOFCTRYWAERS, " | |||
| lv_debit | TYPE BAPIP0009-DEBIT, " | |||
| lv_iban | TYPE BAPIP0009-IBAN, " | |||
| lv_payee | TYPE BAPIP0009-EMFTX, " | |||
| lv_objectid | TYPE BAPIP0009-OBJPS, " | |||
| lv_payeestreet | TYPE BAPIP0009-STREET, " | |||
| lv_lockindicator | TYPE BAPIP0009-SPRPS, " | |||
| lv_validitybegin | TYPE BAPIP0009-BEGDA, " | |||
| lv_payeepostalcodecity | TYPE BAPIP0009-BKPLZ, " | |||
| lv_payeecity | TYPE BAPIP0009-BKORT, " | |||
| lv_validityend | TYPE BAPIP0009-ENDDA, " | |||
| lv_payeeregion | TYPE BAPIP0009-REGION, " | |||
| lv_recordnumber | TYPE BAPIP0009-SEQNR, " | |||
| lv_bankcountry | TYPE BAPIP0009-BANKS, " | |||
| lv_bankkey | TYPE BAPIP0009-BANKL. " |
|   CALL FUNCTION 'BAPI_BANKDETAIL_GETDETAIL' "Read Bank Details |
| EXPORTING | ||
| EMPLOYEENUMBER | = lv_employeenumber | |
| SUBTYPE | = lv_subtype | |
| OBJECTID | = lv_objectid | |
| LOCKINDICATOR | = lv_lockindicator | |
| VALIDITYBEGIN | = lv_validitybegin | |
| VALIDITYEND | = lv_validityend | |
| RECORDNUMBER | = lv_recordnumber | |
| IMPORTING | ||
| RETURN | = lv_return | |
| ACCOUNTNO | = lv_accountno | |
| BANKREFERENCE | = lv_bankreference | |
| STANDARDVALUE | = lv_standardvalue | |
| CURRENCY | = lv_currency | |
| STANDARDPERCENT | = lv_standardpercent | |
| TIMEUNIT | = lv_timeunit | |
| CHECKDIGIT | = lv_checkdigit | |
| CONTROLKEY | = lv_controlkey | |
| PURPOSE | = lv_purpose | |
| BANKTYPE | = lv_banktype | |
| PAYMENTMETHOD | = lv_paymentmethod | |
| NAMEOFBANKTYPE | = lv_nameofbanktype | |
| NAMEOFBANKCOUNTRY | = lv_nameofbankcountry | |
| NAMEOFBANKKEY | = lv_nameofbankkey | |
| NAMEOFPAYMENTMETHOD | = lv_nameofpaymentmethod | |
| NAMEOFCURRENCY | = lv_nameofcurrency | |
| STANDARDVALUECURR | = lv_standardvaluecurr | |
| COUNTRYCURRENCY | = lv_countrycurrency | |
| NAMEOFCOUNTRYCURRENCY | = lv_nameofcountrycurrency | |
| DEBIT | = lv_debit | |
| IBAN | = lv_iban | |
| PAYEE | = lv_payee | |
| PAYEESTREET | = lv_payeestreet | |
| PAYEEPOSTALCODECITY | = lv_payeepostalcodecity | |
| PAYEECITY | = lv_payeecity | |
| PAYEEREGION | = lv_payeeregion | |
| BANKCOUNTRY | = lv_bankcountry | |
| BANKKEY | = lv_bankkey | |
| . " BAPI_BANKDETAIL_GETDETAIL | ||
ABAP code using 7.40 inline data declarations to call FM BAPI_BANKDETAIL_GETDETAIL
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 BAPIP0009 INTO @DATA(ld_employeenumber). | ||||
| "SELECT single BANKN FROM BAPIP0009 INTO @DATA(ld_accountno). | ||||
| "SELECT single BANK_REF FROM BAPIP0009 INTO @DATA(ld_bankreference). | ||||
| "SELECT single BETRG FROM BAPIP0009 INTO @DATA(ld_standardvalue). | ||||
| "SELECT single WAERS FROM BAPIP0009 INTO @DATA(ld_currency). | ||||
| "SELECT single ANZHL FROM BAPIP0009 INTO @DATA(ld_standardpercent). | ||||
| "SELECT single ZEINH FROM BAPIP0009 INTO @DATA(ld_timeunit). | ||||
| "SELECT single BANKP FROM BAPIP0009 INTO @DATA(ld_checkdigit). | ||||
| "SELECT single BKONT FROM BAPIP0009 INTO @DATA(ld_controlkey). | ||||
| "SELECT single ZWECK FROM BAPIP0009 INTO @DATA(ld_purpose). | ||||
| "SELECT single BNKSA FROM BAPIP0009 INTO @DATA(ld_banktype). | ||||
| "SELECT single SUBTY FROM BAPIP0009 INTO @DATA(ld_subtype). | ||||
| "SELECT single ZLSCH FROM BAPIP0009 INTO @DATA(ld_paymentmethod). | ||||
| "SELECT single NAMEOFBNKSA FROM BAPIP0009 INTO @DATA(ld_nameofbanktype). | ||||
| "SELECT single NAMEOFBANKS FROM BAPIP0009 INTO @DATA(ld_nameofbankcountry). | ||||
| "SELECT single NAMEOFBANKL FROM BAPIP0009 INTO @DATA(ld_nameofbankkey). | ||||
| "SELECT single NAMEOFZLSCH FROM BAPIP0009 INTO @DATA(ld_nameofpaymentmethod). | ||||
| "SELECT single NAMEOFWAERS FROM BAPIP0009 INTO @DATA(ld_nameofcurrency). | ||||
| "SELECT single BAPICURR FROM BAPICURR INTO @DATA(ld_standardvaluecurr). | ||||
| "SELECT single CTRYWAERS FROM BAPIP0009 INTO @DATA(ld_countrycurrency). | ||||
| "SELECT single NAMEOFCTRYWAERS FROM BAPIP0009 INTO @DATA(ld_nameofcountrycurrency). | ||||
| "SELECT single DEBIT FROM BAPIP0009 INTO @DATA(ld_debit). | ||||
| "SELECT single IBAN FROM BAPIP0009 INTO @DATA(ld_iban). | ||||
| "SELECT single EMFTX FROM BAPIP0009 INTO @DATA(ld_payee). | ||||
| "SELECT single OBJPS FROM BAPIP0009 INTO @DATA(ld_objectid). | ||||
| "SELECT single STREET FROM BAPIP0009 INTO @DATA(ld_payeestreet). | ||||
| "SELECT single SPRPS FROM BAPIP0009 INTO @DATA(ld_lockindicator). | ||||
| "SELECT single BEGDA FROM BAPIP0009 INTO @DATA(ld_validitybegin). | ||||
| "SELECT single BKPLZ FROM BAPIP0009 INTO @DATA(ld_payeepostalcodecity). | ||||
| "SELECT single BKORT FROM BAPIP0009 INTO @DATA(ld_payeecity). | ||||
| "SELECT single ENDDA FROM BAPIP0009 INTO @DATA(ld_validityend). | ||||
| "SELECT single REGION FROM BAPIP0009 INTO @DATA(ld_payeeregion). | ||||
| "SELECT single SEQNR FROM BAPIP0009 INTO @DATA(ld_recordnumber). | ||||
| "SELECT single BANKS FROM BAPIP0009 INTO @DATA(ld_bankcountry). | ||||
| "SELECT single BANKL FROM BAPIP0009 INTO @DATA(ld_bankkey). | ||||
Search for further information about these or an SAP related objects