Thursday, May 28, 2015

API to Update External Bank Account in Oracle Apps R12 (iby_ext_bankacct_pub.update_ext_bank_acct)














Script:

DECLARE
  p_api_version        NUMBER;
  p_init_msg_list      VARCHAR2(200);
  p_ext_bank_acct_rec  apps.iby_ext_bankacct_pub.extbankacct_rec_type;
  lr_ex_bk_acnt        iby_ext_bank_accounts%ROWTYPE;
  x_return_status      VARCHAR2(200);
  x_msg_count          NUMBER;
  x_msg_data           VARCHAR2(200);
  x_response           apps.iby_fndcpt_common_pub.result_rec_type;
  lv_bank_acct_name    VARCHAR2(100);
  lv_new_bank_acct_num VARCHAR2(100);
  l_msg                VARCHAR2(200);
BEGIN
  -- Initialize apps session
  fnd_global.apps_initialize(1119, 50833, 200);
  mo_global.init('SQLAP');
  fnd_client_info.set_org_context(101);
  --input values
  lv_bank_acct_name    := 'TEST SUPP BANK ACCT';
  lv_new_bank_acct_num := '1234567890';

  -- get ext bank account details
  BEGIN
    SELECT *
      INTO lr_ex_bk_acnt
      FROM iby_ext_bank_accounts
     WHERE bank_account_name = lv_bank_acct_name;
  EXCEPTION
    WHEN OTHERS THEN
      DBMS_OUTPUT.put_line('Unable to derive the external bank details:' ||
                           SQLERRM);
  END;

  -- Assign API parameters
  p_api_version                             := 1.0;
  p_init_msg_list                           := fnd_api.g_true;
  p_ext_bank_acct_rec.bank_account_id       := lr_ex_bk_acnt.ext_bank_account_id;
  p_ext_bank_acct_rec.bank_account_num      := lv_new_bank_acct_num;
  p_ext_bank_acct_rec.bank_account_name     := lv_bank_acct_name;
  p_ext_bank_acct_rec.object_version_number := lr_ex_bk_acnt.object_version_number;
 
  iby_ext_bankacct_pub.update_ext_bank_acct(p_api_version       => p_api_version,
                                            p_init_msg_list     => p_init_msg_list,
                                            p_ext_bank_acct_rec => p_ext_bank_acct_rec,
                                            x_return_status     => x_return_status,
                                            x_msg_count         => x_msg_count,
                                            x_msg_data          => x_msg_data,
                                            x_response          => x_response);
                                           
  DBMS_OUTPUT.put_line('X_RETURN_STATUS = ' || x_return_status);
  DBMS_OUTPUT.put_line('X_MSG_COUNT = ' || x_msg_count);
  DBMS_OUTPUT.put_line('X_MSG_DATA = ' || x_msg_data);
  DBMS_OUTPUT.put_line('X_RESPONSE.Result_Code = ' ||
                       x_response.result_code);
  DBMS_OUTPUT.put_line('X_RESPONSE.Result_Category = ' ||
                       x_response.result_category);
  DBMS_OUTPUT.put_line('X_RESPONSE.Result_Message = ' ||
                       x_response.result_message);

  IF (x_return_status <> fnd_api.g_ret_sts_success) THEN
    FOR i IN 1 .. fnd_msg_pub.count_msg LOOP
      l_msg := fnd_msg_pub.get(p_msg_index => i,
                               p_encoded   => fnd_api.g_false);
      DBMS_OUTPUT.put_line('The API call failed with error ' || l_msg);
    END LOOP;
  ELSE
    DBMS_OUTPUT.put_line('The API call ended with SUCESSS status');
  END IF;
END;


Test Results:


4 Responses to “API to Update External Bank Account in Oracle Apps R12 (iby_ext_bankacct_pub.update_ext_bank_acct)”

SG said...
June 15, 2020 at 9:37 PM

Hello,
I am getting the below while calling this API.
X_RETURN_STATUS = E
X_MSG_COUNT = 1
X_MSG_DATA = The record is locked by other users for modifications.
X_RESPONSE.Result_Code =
X_RESPONSE.Result_Category =
X_RESPONSE.Result_Message =

What is the issue? How can we resolve this?
Please help!

--
Thanks!


SG said...
June 15, 2020 at 10:00 PM

Ohh...I got the issue.
Problem was incorrect Object version number. Issue resolved.

X_RETURN_STATUS = S
X_MSG_COUNT = 0
X_MSG_DATA =
X_RESPONSE.Result_Code =
X_RESPONSE.Result_Category =
X_RESPONSE.Result_Message =

--
Thanks!


Anonymous said...
October 3, 2022 at 12:04 PM

HI, Can you please let me know what value you passed for Object Version Number,


kerralina said...
June 20, 2023 at 8:07 AM

Great blog post


Post a Comment

Disclaimer

The ideas, thoughts and concepts expressed here are my own. They, in no way reflect those of my employer or any other organization/client that I am associated. The articles presented doesn't imply to any particular organization or client and are meant only for knowledge Sharing purpose. The articles can't be reproduced or copied without the Owner's knowledge or permission.