Sunday, January 24, 2021

CE_BANKS Create Internal Bank Api - IBY_EXT_BANKACCT_PUB.create_ext_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;

   

   CURSOR l_data IS 

  select home_country,bank_name,bank_number,bank_institution_type ,new_bank_id

  from XX.XX_BANK_ALL xba

  where   status is null  ;

  

BEGIN


FOR n_data IN l_data LOOP


   lc_return_status    := '';

   ln_msg_count       := '';

   lc_msg_data          := '';

 

   lr_extbank_rec.bank_name       := n_data.bank_name;

   lr_extbank_rec.country_code    :=n_data.home_country;

   lr_extbank_rec.bank_number   := n_data.bank_number;

   --lr_extbank_rec.bank_alt_name    := n_data.bank_name_alt;   

    --lr_extbank_rec.bank_short_name    := n_data.short_bank_name;

    lr_extbank_rec.institution_type    := n_data.bank_institution_type;

    

   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   

     update  XX.XX_BANK_all set new_bank_id= ln_bank_id ,status='UPDATE' where bank_name= n_data.bank_name; 

     

     DBMS_OUTPUT.PUT_LINE (' ln_bank_id : ' || ln_bank_id  || '-' ||ln_msg_count || '-' || lc_msg_data || '-' ||    lr_response_rec.result_code || '-' || lr_response_rec.result_category || '-' || lr_response_rec.result_message);

     END IF;

     

     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;


             apps.fnd_file.put_line

            (apps.fnd_file.output, 'Error Occured while Creating Bank: ');


       END IF;

 

     COMMIT;

END LOOP;


EXCEPTION

          WHEN OTHERS THEN

                        ROLLBACK;

                        dbms_output.put_line(SQLERRM);

END;

/

No comments:

Post a Comment