Supplier BANK APIs in Oracle Apps R12

APIs for Supplier Bank

API Used :  IBY_EXT_BANKACCT_PUB.create_ext_bank

1.  API to Create Bank

DECLARE
   lc_output                VARCHAR2(3000);
   lc_msg_dummy     VARCHAR2(3000);
   lc_return_status     VARCHAR2(3000);
   lc_msg_data           VARCHAR2(3000);

   ln_bank_id             NUMBER;
   ln_msg_count        NUMBER;
   lr_extbank_rec       apps.iby_ext_bankacct_pub.extbank_rec_type;
   lr_response_rec     apps.iby_fndcpt_common_pub.result_rec_type;

BEGIN
   lc_return_status    := '';
   ln_msg_count       := '';
   lc_msg_data          := '';

   lr_extbank_rec.bank_name       := 'Test Supp Bank';
   lr_extbank_rec.bank_number   := 'TSB0000001';
   lr_extbank_rec.country_code    := 'IN';

   apps.fnd_msg_pub.delete_msg(NULL);
   apps.fnd_msg_pub.initialize();

   IBY_EXT_BANKACCT_PUB.create_ext_bank
   (       -- ------------------------------
           -- Input data elements
           -- ------------------------------
           p_api_version       => 1.0,
           p_init_msg_list     => FND_API.G_TRUE,
           p_ext_bank_rec     => lr_extbank_rec,
           -- --------------------------------
           -- Output data elements
           -- --------------------------------
           x_bank_id            => ln_bank_id,
           x_return_status   => lc_return_status,
           x_msg_count       => ln_msg_count,
           x_msg_data         => lc_msg_data,
           x_response          => lr_response_rec
     );

     lc_output := ' ';

     IF (lc_return_status <> 'S')
     THEN
               FOR i IN 1 .. ln_msg_count
               LOOP
                            apps.fnd_msg_pub.get
                            (       i,
                                    apps.fnd_api.g_false,
                                    lc_msg_data,
                                    lc_msg_dummy
                             );
 
                            lc_output := lc_output ||
                                                  (TO_CHAR (i) ||
                                                                       ': '  ||
                                                   SUBSTR (lc_msg_data, 1, 250));
             END LOOP;

           
            dbms_output.put_line ( 'Error Occured while Creating Bank: '||lc_output);

       END IF;

     COMMIT;

EXCEPTION
          WHEN OTHERS THEN
                        ROLLBACK;
                        dbms_output.put_line(SQLERRM);
END;


2. API to Create External Bank Branch

DECLARE
     p_api_version    NUMBER                   := 1.0;
     p_init_msg_list  VARCHAR2(1)          := 'F';
     v_bank_id           NUMBER                   := 58129;  --SELECT BANK_PARTY_ID FROM CE_BANKS_V WHERE BANK_NAME ='Test Supp Bank'
     x_return_status  VARCHAR2(2000);
     x_msg_count      NUMBER(5);
     x_msg_data        VARCHAR2(2000);
     x_branch_id        NUMBER;
     p_count               NUMBER;

     x_response         iby_fndcpt_common_pub.result_rec_type;
     p_ext_bank_branch_rec iby_ext_bankacct_pub.extbankbranch_rec_type;

BEGIN
      dbms_output.put_line ('BEFORE BANK BRANCH API');
 
      p_ext_bank_branch_rec.bch_object_version_number  := 1.0;
      p_ext_bank_branch_rec.branch_name        := 'TEST BANK BRANCH';
      p_ext_bank_branch_rec.branch_type          := 'ABA';
      p_ext_bank_branch_rec.bank_party_id      := v_bank_id;

     IBY_EXT_BANKACCT_PUB.CREATE_EXT_BANK_BRANCH
     (    -- -----------------------------
          -- Input data elements
          -- -----------------------------
          p_api_version                  => p_api_version,
          p_init_msg_list                => p_init_msg_list,
          p_ext_bank_branch_rec  => p_ext_bank_branch_rec,
          -- --------------------------------
          -- Output data elements
          -- --------------------------------
          x_branch_id                     => x_branch_id,
          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_branch_id = ' || x_branch_id);

     IF (x_msg_count = 1)
     THEN
              dbms_output.put_line ('x_msg_data ' || x_msg_data);

     ELSIF (x_msg_count > 1)
     THEN
               LOOP
                     p_count := p_count + 1;
                     x_msg_data := fnd_msg_pub.get (fnd_msg_pub.g_next, fnd_api.g_false);

                    IF (x_msg_data IS NULL)
                    THEN
                             EXIT;
                    END IF;

                   dbms_output.put_line ('Message' || p_count || ' ---' || x_msg_data);
               END LOOP;
     END IF;
 

     COMMIT;

EXCEPTION
             WHEN OTHERS THEN
                           ROLLBACK;
                           dbms_output.put_line(SQLERRM);
END;


3. API to Create External Bank Branch

DECLARE
   p_api_version           NUMBER                                      := 1.0;
   p_init_msg_list         VARCHAR2 (1)                                := 'F';
   v_bank_id               NUMBER                                    := 58129;
   v_bank_branch_id        NUMBER                                    := 58132; --SELECT BANK_PARTY_ID FROM CE_BANKS_V WHERE BANK_NAME ='Test Supp Bank'
   x_return_status         VARCHAR2 (2000);
   x_msg_count             NUMBER (5);
   x_msg_data              VARCHAR2 (2000);
   x_branch_id             NUMBER;
   x_acct_id               NUMBER;
   p_count                 NUMBER;
   x_response              iby_fndcpt_common_pub.result_rec_type;
   p_ext_bank_branch_rec   iby_ext_bankacct_pub.extbankbranch_rec_type;
   p_ext_bank_acct_rec iby_ext_bankacct_pub.ExtBankAcct_rec_type;
BEGIN
   DBMS_OUTPUT.put_line ('BEFORE BANK BRANCH ACCOUNT API');
--   p_ext_bank_acct_rec.bch_object_version_number := 1.0;
--   p_ext_bank_branch_rec.branch_name := 'TEST BANK BRANCH';
--   p_ext_bank_branch_rec.branch_type := 'ABA';
--   p_ext_bank_branch_rec.bank_account_id    := v_account_id;
   p_ext_bank_acct_rec.bank_id := v_bank_id;
   p_ext_bank_acct_rec.branch_id := v_bank_branch_id;
   p_ext_bank_acct_rec.COUNTRY_CODE := 'IN';
   p_ext_bank_acct_rec.bank_account_num := '031401516980';
   iby_ext_bankacct_pub.create_ext_bank_acct
                                 (           -- -----------------------------
    -- Input data elements
-- -----------------------------
                                  p_api_version            => p_api_version,
                                  p_init_msg_list          => p_init_msg_list,
                                  p_ext_bank_acct_rec      => p_ext_bank_acct_rec,
-- --------------------------------
-- Output data elements
-- --------------------------------
                                  x_acct_id                => x_acct_id,
                                  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_acct_id = ' || x_acct_id);

   IF (x_msg_count = 1)
   THEN
      DBMS_OUTPUT.put_line ('x_msg_data ' || x_msg_data);
   ELSIF (x_msg_count > 1)
   THEN
      LOOP
         p_count := p_count + 1;
         x_msg_data := fnd_msg_pub.get (fnd_msg_pub.g_next, fnd_api.g_false);

         IF (x_msg_data IS NULL)
         THEN
            EXIT;
         END IF;

         DBMS_OUTPUT.put_line ('Message' || p_count || ' ---' || x_msg_data);
      END LOOP;
   END IF;

   COMMIT;
EXCEPTION
   WHEN OTHERS
   THEN
      ROLLBACK;
      DBMS_OUTPUT.put_line (SQLERRM);
END;

No comments:

Post a Comment