Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

FM/BAPI to Generate IBAN

Former Member
0 Kudos

Hi,

Can any one suggest any FM/BAPI to generate IBAN using Bank Country(BANKS), Bank Key (BANKL) & Bank Account (BANKN)?

We tried using IBAN_CREATE, BAPI_IBAN_CREATE which failed to resolve our query.

Suggest if the above FMs work by passing proper parameters.

Thanks in advance,

Anand

5 REPLIES 5

raymond_giuseppi
Active Contributor
0 Kudos

Look at FM CONVERT_BANK_ACCOUNT_2_IBAN (look for parameters in report RFIBAN00)

Some remarks :

- Remember this is only a default value, some countries and some banks can not be generated automatically.

(Look at [International Bank Account Number (IBAN)|http://www.ecbs.org/iban.htm] and [ Note 1012293 - IBAN and maintenance of bank master data|https://service.sap.com/sap/support/notes/1447761])

- You may need to check Customizing of Country and have a recent level of SP.

(Start with [Note 503396 - IBAN mass generation|https://service.sap.com/sap/support/notes/503396])

Regards,

Raymond

bruno_esperanca
Contributor
0 Kudos

Hi,

You can look at function module CHECK_IBAN and then write a function module yourself with reverse engineering.

I did that myself for french bank account numbers and it works.


METHOD get_iban.

  DATA:
        lv_str1(60) TYPE c,
        lv_str2(60) TYPE c,
        lv_ref1     TYPE p LENGTH 16,
        ls_converse TYPE ty_converse.

  CALL METHOD zcl_scramble=>fill_convers_table.

  CONCATENATE i_bankl i_bankn i_bkont i_banks
    INTO lv_str1.

  WHILE lv_str1(1) NE space.
    IF lv_str1(1) CO sy-abcde.
      READ TABLE gt_converse WITH KEY letter = lv_str1(1)
        INTO ls_converse.
      CONCATENATE: lv_str2 ls_converse-number INTO lv_str2.
    ELSE.
      CONCATENATE: lv_str2 lv_str1(1) INTO lv_str2.
    ENDIF.
    SHIFT lv_str1.
  ENDWHILE.

  lv_ref1 = lv_str2 * 100 - 1.
  lv_ref1 = lv_ref1 MOD 97.
  lv_ref1 = 97 - lv_ref1.
  lv_str1 = lv_ref1.
  CONDENSE lv_str1.

  CONCATENATE i_banks lv_str1 i_bankl i_bankn i_bkont
    INTO e_iban.

ENDMETHOD.

Bruno

bruno_esperanca
Contributor
0 Kudos

I've tried the above code for different countries and it has worked for all.

Have you tried it?

Bruno

Edited by: Rob Burbank on Feb 15, 2012 11:42 AM

0 Kudos

Hi,

The BAPI BAPI_IBAN_CREATE is the correct one for creating IBAN.

Please check the Business Object BUS1013, it also used the same BAPI.

Check the parameters that needs to be passed.

Thanks,

Manish

Former Member
0 Kudos

Correct Answer:

CONVERT_IBAN_2_BANK_ACCOUNT  function module - IBAN to Bank Account

CONVERT_BANK_ACCOUNT_2_IBAN_NL - Bank to IBAN