Tuesday, October 24, 2017

API to Delete AR Invoice in Oracle APPS

DECLARE
   CURSOR   c1
     IS
      SELECT trx_number, customer_trx_id, org_id
        FROM ra_customer_trx_all
       WHERE trunc(creation_date) = '10-JUL-2017'
         --AND trx_number = '4019068'
       ;
   xv_msg_data      VARCHAR2 (4000) := NULL;
   xv_msg_count    NUMBER := 0;
   v_msg_index     NUMBER := 0;
     xv_ret_status     VARCHAR2 (1) := NULL;
   v_message_tbl   arp_trx_validate.message_tbl_type;
   v_res                 VARCHAR2 (4000) := NULL;
   v_res_name      VARCHAR2 (4000) := NULL;
   v_app                VARCHAR2 (4000) := NULL;
  
   l_user_id        NUMBER;
   l_resp_id        NUMBER;
   l_resp_appl_id   NUMBER;

BEGIN

   DBMS_OUTPUT.put_line ('Delete AR Invoice Transaction...');
  
   BEGIN
    SELECT user_id
      INTO l_user_id
      FROM fnd_user
     WHERE user_name = 'XXUSER';    
   END;
  
   BEGIN
    SELECT responsibility_id, application_id
      INTO l_resp_id, l_resp_appl_id
      FROM fnd_responsibility_tl
     WHERE responsibility_name = 'Receivables Manager'  ; 
   END;
  
   fnd_global.apps_initialize (l_user_id
                              ,l_resp_id
                              ,l_resp_appl_id
                              ) ;
   apps.mo_global.set_policy_context ('S', 103);

   FOR c_rec IN c1
   LOOP
      DBMS_OUTPUT.put_line ('   Transaction No.: ' || c_rec.trx_number);
      DBMS_OUTPUT.put_line ('   Transaction ID : ' || c_rec.customer_trx_id);
      DBMS_OUTPUT.put_line ('   Org ID         : ' || c_rec.org_id);
   
xv_ret_status := NULL;
      xv_msg_count := NULL;
      xv_msg_data := NULL;

      ar_invoice_api_pub.delete_transaction (
                                             p_api_name            => 'Delete_Transaction',
                                             p_api_version         => 1.0,
                                             p_init_msg_list       => fnd_api.g_true,
                                             p_commit                => fnd_api.g_true,
                                             p_validation_level   => fnd_api.g_valid_level_full,
                                             p_customer_trx_id   => c_rec.customer_trx_id,
                                             p_return_status         => xv_ret_status,
                                             p_msg_count            => xv_msg_count,
                                             p_msg_data              => xv_msg_data,
                                             p_errors                    => v_message_tbl
                                            );

      IF xv_ret_status <> 'S'
      THEN
         DBMS_OUTPUT.put_line ('   Status: ' || xv_ret_status);

         FOR i IN 1 .. xv_msg_count
         LOOP
            apps.fnd_msg_pub.get (i,
                                  apps.fnd_api.g_false,
                                  xv_msg_data,
                                  v_msg_index);
            DBMS_OUTPUT.put_line ('   Error : ' || xv_msg_data);
         END LOOP;

         DBMS_OUTPUT.put_line ('   ' || xv_msg_data);
      ELSE
         DBMS_OUTPUT.put_line ('xv_ret_status: '||xv_ret_status);
         COMMIT;

     END IF;

      DBMS_OUTPUT.put_line ('--------------------');
     
   END LOOP;
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('Error : ' || SQLERRM);
END;

No comments:

Post a Comment

SupplierAddressImportTemplate.xlsm South Africa Suburb Field mapping in POZ_SUPPLIER_ADDRESSES_INT

Suburb mpping in Supplier Address Import Template will be mapped to Address Element Attribute2 (HZ_LOCATIONS. ADDR_ELEMENT_ATTRIBUTE2)