Sunday, January 24, 2021

CE_BANK_ACCT_USES_ALL Create Bank Account Uses Api - ce_bank_pub.create_bank_acct_use

 /* Formatted on 10/22/2020 9:06:22 PM (QP5 v5.277) */

DECLARE

   p_init_msg_list      VARCHAR2 (200);

   p_acct_use_rec       apps.ce_bank_pub.bankacct_use_rec_type;

   x_acct_use_id        NUMBER;

   x_return_status      VARCHAR2 (200);

   x_msg_count          NUMBER;

   x_msg_data           VARCHAR2 (200);

   l_msg                VARCHAR2 (200);

   lv_bank_account_id   NUMBER;

   lv_used_org_id       NUMBER;

   lv_org_type          VARCHAR2 (10);

   lv_asset_ccid        NUMBER;

   lv_ar_use_flag       VARCHAR2 (10);

   lv_ap_use_flag       VARCHAR2 (10);

   

   cursor l_data IS

   SELECT xba.BANK_ACCT_USE_ID,

          xba.bank_account_id,

       new_bank_account_id,

       xba.org_id,

       (SELECT organization_id

          FROM hr_organization_units

         WHERE name = xba.org_name) new_org_id,

       xba.org_party_id,

       (SELECT party_id

          FROM hz_parties

         WHERE party_name = xba.org_party_name AND ROWNUM = 1)

          new_org_party_id,

       xba.AP_USE_ENABLE_FLAG AP_USE_ENABLE_FLAG,

       xba.xtr_use_enable_flag xtr_use_enable_flag,

       xba.legal_entity_id,

       (SELECT legal_entity_id

          FROM xle_entity_profiles

         WHERE name = xba.legal_entity_name)

          new_legal_entity_id,

        xba.AP_DEFAULT_SETTLEMENT_FLAG AP_DEFAULT_SETTLEMENT_FLAG,

       xba.XTR_DEFAULT_SETTLEMENT_FLAG XTR_DEFAULT_SETTLEMENT_FLAG,

       xba.AUTHORIZED_FLAG AUTHORIZED_FLAG,

       xba.DEFAULT_ACCOUNT_FLAG DEFAULT_ACCOUNT_FLAG,

       cba.ASSET_CODE_COMBINATION_ID

   FROM XX.XX_BANK_ACCT_USES_ALL xba,XX.XX_CE_BANK_ACCOUNTS_ALL xcba, ce_bank_accounts cba 

  where xcba.bank_account_id = xba.bank_account_id 

   and xcba.new_bank_account_id=cba.bank_account_id

  and xba.status is null;--  and cba.XTR_USE_ALLOWED_FLAG ='Y';

   

BEGIN


    fnd_global.apps_initialize(

                            user_id=>1110,

                            resp_id=>50779,

                            resp_appl_id=>200);

   mo_global.init ('SQLAP');


FOR n_data IN l_data LOOP 


   -- required, valid values: LE, OU, BG

  lv_org_type := 'LE'; --or OU


   p_init_msg_list := fnd_api.g_true;

   p_acct_use_rec.bank_account_id := n_data.new_bank_account_id;

   p_acct_use_rec.org_id :=81;

   p_acct_use_rec.org_party_id := n_data.new_org_party_id;

   p_acct_use_rec.ap_use_enable_flag := n_data.AP_USE_ENABLE_FLAG;

   p_acct_use_rec.xtr_use_enable_flag := n_data.xtr_use_enable_flag;

   p_acct_use_rec.org_type  :=lv_org_type;

   p_acct_use_rec.asset_code_combination_id := n_Data.ASSET_CODE_COMBINATION_ID; -- CE_BANK_ACCOUNTS banka hesabindaki asset_code_combination_id al

   p_acct_use_rec.authorized_flag :=n_data.AUTHORIZED_FLAG;

   p_acct_use_rec.default_account_flag := n_Data.DEFAULT_ACCOUNT_FLAG;

   p_acct_use_rec.ap_default_settlement_flag := n_data.AP_DEFAULT_SETTLEMENT_FLAG;

   p_acct_use_rec.xtr_default_settlement_flag := n_data.xtr_default_settlement_flag;


   ce_bank_pub.create_bank_acct_use (p_init_msg_list   => p_init_msg_list,

                                     p_acct_use_rec    => p_acct_use_rec,

                                     x_acct_use_id     => x_acct_use_id,

                                     x_return_status   => x_return_status,

                                     x_msg_count       => x_msg_count,

                                     x_msg_data        => x_msg_data);


    IF x_return_status ='S' then

    

     update XX.XX_BANK_ACCT_USES_ALL set status ='UPDATE' , NEW_BANK_ACCT_USE_ID=x_acct_use_id where BANK_ACCOUNT_ID= n_data.BANK_ACCOUNT_ID;

     COMMIT;

    end if;


   DBMS_OUTPUT.put_line ('X_ACCT_USE_ID = ' || x_acct_use_id);

   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);



   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 LOOP;

EXCEPTION WHEN OTHERS THEN


DBMS_OUTPUT.PUT_LINE(SQLERRM);


END;

No comments:

Post a Comment