24 August, 2022

API To unapply regular Credit Memo

Below script unapply a regular Credit Memo from an invoice. API uses procedure AR_CM_APPLICATION_PUB.unapply_regular_cm.

DECLARE 

           p_api_version                               NUMBER;
           p_init_msg_list                             VARCHAR2(200);
           p_commit                                    VARCHAR2(200);
           p_validation_level                          NUMBER;
           x_return_status                             VARCHAR2(200);
           x_msg_count                                 NUMBER;
           X_MSG_DATA                                  varchar2(200);
           p_customer_trx_id                           NUMBER; 
           p_reversal_gl_date                          DATE;      
           p_called_from                               VARCHAR2(200);    
           p_org_id                                    NUMBER;

   p_cm_customer_trx_id      NUMBER; 
   p_cm_trx_number VARCHAR2(200);
p_app_customer_trx_id NUMBER; 
p_app_trx_number      VARCHAR2(200);
p_installment      NUMBER; 
p_applied_payment_schedule_id  NUMBER; 
p_receivable_application_id   NUMBER; 
p_reversal_gl_date   DATE;     
p_called_from VARCHAR2(200);
p_org_id              NUMBER; 

BEGIN



      BEGIN 
         --
               FND_GLOBAL.APPS_INITIALIZE (  1001, 1234, 222);
mo_global.set_policy_context('S',812);    
      END;
  
 AR_CM_APPLICATION_PUB.unapply_regular_cm(

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 ,  
x_return_status            => x_return_status,   
x_msg_count               =>x_msg_count ,         
x_msg_data                 => x_msg_data,      
p_cm_customer_trx_id       => 567655,
p_cm_trx_number      => 346346,
p_app_customer_trx_id =>   2455424,
p_app_trx_number => 346346,
p_installment =>1,
p_applied_payment_schedule_id  =>233235,
p_receivable_application_id =>2352353,
p_reversal_gl_date =>  '22-AUG-2022',
p_called_from =>Null,
p_org_id              =>204
);
IF (x_return_status = 'S') THEN

   COMMIT;
   
       dbms_output.put_line('SUCCESS');
       dbms_output.put_line('Return Status            = '|| SUBSTR (x_return_status,1,255));
       dbms_output.put_line('Message Count             = '||x_msg_count);
    dbms_output.put_line('Message Data            = '||x_msg_data);
    dbms_output.put_line('p_receivable_application_id   = '||p_receivable_application_id);   
ELSE     

   ROLLBACK;
   
   dbms_output.put_line('Return Status    = '|| SUBSTR (x_return_status,1,255));
   dbms_output.put_line('Message Count     = '|| TO_CHAR(x_msg_count ));
   dbms_output.put_line('Message Data    = '|| SUBSTR (x_msg_data,1,255));
   dbms_output.put_line(APPS.FND_MSG_PUB.Get ( p_msg_index    => APPS.FND_MSG_PUB.G_LAST,    
          p_encoded      => APPS.FND_API.G_FALSE));
  
   IF x_msg_count >=0 THEN
   
      FOR I IN 1..10 LOOP
               dbms_output.put_line(I||'. '|| SUBSTR (FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE ), 1, 255));
     
      END LOOP;
   END IF;
   
END IF;        
 EXCEPTION 
  WHEN OTHERS THEN
 dbms_output.put_line('Exception :'||sqlerrm);
END;


Reference:

No comments:

Post a Comment