DBA Data[Home] [Help]

PACKAGE BODY: APPS.AR_REFUNDS_GRP

Source


1 PACKAGE BODY AR_REFUNDS_GRP AS
2 /* $Header: ARXGREFB.pls 120.0 2006/01/10 21:25:12 jbeckett noship $ */
3 
4 /*=======================================================================+
5  |  Package Global Constants
6  +=======================================================================*/
7 
8   g_source              VARCHAR2(30);
9   PG_DEBUG 		VARCHAR2(1);
10 
11 /*========================================================================
12  | Local Functions and Procedures
13  *=======================================================================*/
14 
15 PROCEDURE debug (p_string VARCHAR2) IS
16 
17 BEGIN
18 
19     IF (g_source = 'AUTOINVOICE') THEN
20       fnd_file.put_line
21       ( which => fnd_file.log,
22         buff  => p_string );
23     ELSE
24       arp_standard.debug(p_string);
25     END IF;
26 
27 END debug;
28 
29 /*========================================================================
30  | PUBLIC PROCEDURES AND FUNCTIONS
31  *=======================================================================*/
32 
33 /*========================================================================
34  | PUBLIC PROCEDURE subscribeto_invoice_event
35  |
36  | DESCRIPTION
37  |      ----------------------------------------
38  |      This procedure calls activity_unapplication for receipt or credit memo
39  |      - for use by AP when a payment request is cancelled outside AR
40  |
41  | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
42  |
43  |
44  | CALLS PROCEDURES/FUNCTIONS (local to this package body)
45  |
46  | PARAMETERS
47  |
48  | KNOWN ISSUES
49  |
50  | NOTES
51  |
52  | MODIFICATION HISTORY
53  | Date        Author   Description of Changes
54  | 06-JAN-2006 JBECKETT Created
55  |
56  *=======================================================================*/
57 PROCEDURE subscribeto_invoice_event(
58 		 p_event_type			IN  VARCHAR2
59 		,p_invoice_id			IN  NUMBER
60 		,p_return_status		OUT NOCOPY VARCHAR2
61 		,p_msg_count			OUT NOCOPY NUMBER
62 		,p_msg_data			OUT NOCOPY VARCHAR2)
63 IS
64 
65   l_receivable_application_id	ar_receivable_applications.receivable_application_id%TYPE;
66   l_cash_receipt_id		ar_cash_receipts.cash_receipt_id%TYPE;
67   l_customer_trx_id		ra_customer_trx.customer_trx_id%TYPE;
68   l_org_id			ar_cash_receipts.org_id%TYPE;
69 
70 BEGIN
71 
72   debug('ar_refunds_grp.subscribeto_invoice_event()+');
73 
74   BEGIN
75     SELECT ra.receivable_application_id,
76 	   ra.cash_receipt_id,
77            ra.customer_trx_id,
78            ra.org_id
79     INTO   l_receivable_application_id,
80 	   l_cash_receipt_id,
81 	   l_customer_trx_id,
82 	   l_org_id
83     FROM   ar_receivable_applications_all ra, ap_invoices_v i
84     WHERE  ra.application_ref_id = p_invoice_id
85     AND    i.invoice_id = p_invoice_id
86     AND    TO_NUMBER(i.reference_key1) = ra.receivable_application_id
87     AND    ra.application_ref_type = 'AP_REFUND_REQUEST'
88     AND    ra.display = 'Y';
89   EXCEPTION
90 	WHEN OTHERS THEN
91 		FND_MESSAGE.set_name('AR','AR_REF_MISSING_REFUND_APP');
92 		FND_MSG_PUB.Add;
93            	p_return_status := FND_API.G_RET_STS_ERROR;
94 		FND_MSG_PUB.Count_And_Get
95                            (p_encoded => FND_API.G_FALSE,
96                             p_count   => p_msg_count,
97                             p_data    => p_msg_data);
98 		RETURN;
99   END;
100   IF l_cash_receipt_id IS NOT NULL THEN
101 	ar_receipt_api_pub.activity_unapplication    (
102       		p_api_version                  =>  1.0,
103       		p_init_msg_list                =>  FND_API.G_TRUE,
104       		x_return_status                =>  p_return_status,
105       		x_msg_count                    =>  p_msg_count,
106       		x_msg_data                     =>  p_msg_data,
107       		p_receivable_application_id    =>  l_receivable_application_id,
108       		p_reversal_gl_date             =>  sysdate,
109       		p_called_from		       => 'AR_REFUNDS_GRP',
110 		p_org_id		       =>  l_org_id);
111   ELSIF l_customer_trx_id IS NOT NULL THEN
112 	ar_cm_application_pub.activity_unapplication    (
113       		p_api_version                  =>  1.0,
114       		p_init_msg_list                =>  FND_API.G_TRUE,
115       		x_return_status                =>  p_return_status,
116       		x_msg_count                    =>  p_msg_count,
117       		x_msg_data                     =>  p_msg_data,
118       		p_receivable_application_id    =>  l_receivable_application_id,
119       		p_reversal_gl_date             =>  sysdate,
120       		p_called_from		       => 'AR_REFUNDS_GRP',
121 		p_org_id		       =>  l_org_id);
122   END IF;
123 
124 
125   debug('ar_refunds_grp.subscribeto_invoice_event()-');
126 EXCEPTION
127 
128   WHEN OTHERS THEN
129      IF PG_DEBUG in ('Y', 'C') THEN
130         debug('EXCEPTION: AR_REFUNDS_GRP.subscribeto_invoice_event()'||sqlerrm);
131      END IF;
132      p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
133      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
134 
135 END subscribeto_invoice_event;
136 
137 END AR_REFUNDS_GRP;