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