DBA Data[Home] [Help]

PACKAGE BODY: APPS.AR_REFUNDS_PVT

Source


1 PACKAGE BODY AR_REFUNDS_PVT AS
2 /* $Header: ARXVREFB.pls 120.3.12010000.3 2008/11/04 15:33:32 npanchak ship $ */
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 Create_Refund
35  |
36  | DESCRIPTION
37  |      ----------------------------------------
38  |      This procedure creates a refund payment in Oracle Payments
39  |	via AP interface tables and APIs
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-DEC-2005 JBECKETT Created
55  |
56  *=======================================================================*/
57 PROCEDURE create_refund(
58                  p_receivable_application_id    IN  ar_receivable_applications.receivable_application_id%TYPE
59 		,p_amount			IN  NUMBER
60 		,p_currency_code		IN  fnd_currencies.currency_code%TYPE
61 		,p_exchange_rate		IN  NUMBER
62 		,p_exchange_rate_type		IN  ar_cash_receipts.exchange_rate_type%TYPE
63 		,p_exchange_date		IN  DATE
64 		,p_description			IN  VARCHAR2
65           	,p_pay_group_lookup_code	IN  FND_LOOKUPS.lookup_code%TYPE
66           	,p_pay_alone_flag		IN  VARCHAR2
67 		,p_org_id			IN  ar_cash_receipts.org_id%TYPE
68 	  	,p_legal_entity_id        	IN  ar_cash_receipts.legal_entity_id%TYPE
69           	,p_payment_method_code		IN  ap_invoices.payment_method_code%TYPE
70           	,p_payment_reason_code		IN  ap_invoices.payment_reason_code%TYPE
71           	,p_payment_reason_comments	IN  ap_invoices.payment_reason_comments%TYPE
72           	,p_delivery_channel_code	IN  ap_invoices.delivery_channel_code%TYPE
73           	,p_remittance_message1		IN  ap_invoices.remittance_message1%TYPE
74           	,p_remittance_message2		IN  ap_invoices.remittance_message2%TYPE
75           	,p_remittance_message3		IN  ap_invoices.remittance_message3%TYPE
76           	,p_party_id			IN  hz_parties.party_id%TYPE
77           	,p_party_site_id		IN  hz_party_sites.party_site_id%TYPE
78 		,p_bank_account_id		IN  ar_cash_receipts.customer_bank_account_id%TYPE
79 		,p_called_from			IN  VARCHAR2
80 		,x_invoice_id			OUT NOCOPY ap_invoices.invoice_id%TYPE
81 		,x_return_status		OUT NOCOPY VARCHAR2
82 		,x_msg_count			OUT NOCOPY NUMBER
83 		,x_msg_data			OUT NOCOPY VARCHAR2
84 		,p_invoice_date			IN  ap_invoices.invoice_date%TYPE DEFAULT NULL) -- Bug 7242125
85 IS
86   l_External_Payee_Tab IBY_DISBURSEMENT_SETUP_PUB.External_Payee_Tab_Type;
87   l_Ext_Payee_ID_Tab IBY_DISBURSEMENT_SETUP_PUB.Ext_Payee_ID_Tab_Type;
88   l_Ext_Payee_Create_Tab IBY_DISBURSEMENT_SETUP_PUB.Ext_Payee_Create_Tab_Type;
89   l_payee_return_status VARCHAR2(1);
90   l_rowid		VARCHAR2(100);
91   l_line_rowid		VARCHAR2(100);
92   l_invoice_interface_id		NUMBER;
93   l_invoice_line_interface_id		NUMBER;
94   l_rejection_list      AP_IMPORT_INVOICES_PKG.rejection_tab_type;
95   l_app_rec  ar_receivable_applications%ROWTYPE;
96   l_activity_ccid      gl_code_combinations.code_combination_id%TYPE;
97 
98 BEGIN
99 
100   debug('ar_refund_pvt.create_refund()+');
101   g_source := p_called_from;
102 
103   SELECT rt.code_combination_id
104   INTO   l_activity_ccid
105   FROM   ar_receivables_trx rt,
106          ar_receivable_applications ra
107   WHERE  ra.receivables_trx_id = rt.receivables_trx_id
108   AND    ra.receivable_application_id = p_receivable_application_id;
109 
110   /* Create a payee record if one does not exist..*/
111   l_External_Payee_Tab(0).Payee_Party_Id := p_party_id;
112   l_External_Payee_Tab(0).Payee_Party_Site_Id := p_party_site_id;
113   l_External_Payee_Tab(0).Payer_Org_Id := p_org_id;
114   l_External_Payee_Tab(0).Payer_Org_Type := 'OPERATING_UNIT';
115   l_External_Payee_Tab(0).Payment_Function := 'AR_CUSTOMER_REFUNDS';
116   l_External_Payee_Tab(0).Exclusive_Pay_Flag := p_pay_alone_flag;
117   l_External_Payee_Tab(0).Default_pmt_method := p_payment_method_code;
118   l_External_Payee_Tab(0).Delivery_Channel := p_delivery_channel_code;
119 
120   debug('Calling IBY_DISBURSEMENT_SETUP_PUB.create_external_payee..');
121   IBY_DISBURSEMENT_SETUP_PUB.Create_External_Payee (
122              p_api_version           => 1.0,
123              p_init_msg_list         => FND_API.G_FALSE,
124              p_ext_payee_tab         => l_External_Payee_Tab,
125              x_return_status         => l_payee_return_status,
126              x_msg_count             => x_msg_count,
127              x_msg_data              => x_msg_data,
128              x_ext_payee_id_tab      => l_Ext_Payee_ID_Tab,
129              x_ext_payee_status_tab  => l_Ext_Payee_Create_Tab);
130   IF (l_payee_return_status <> FND_API.g_ret_sts_success  OR
131       l_ext_payee_create_tab(0).payee_creation_status = 'E') THEN
132       x_return_status := FND_API.G_RET_STS_ERROR;
133       debug('Error found creating an external payee');
134       debug('Payee creation status : '||l_ext_payee_create_tab(0).payee_creation_status);
135       debug('Payee creation error : '||l_ext_payee_create_tab(0).payee_creation_msg);
136       RAISE FND_API.G_EXC_ERROR;
137   END IF;
138 
139   /* First populate AP interface table..*/
140   debug('Calling AP_INVOICES_INTERFACE_PKG.INSERT_ROW..');
141 
142   SELECT ap_invoices_interface_s.NEXTVAL
143   INTO   l_invoice_interface_id
144   FROM   DUAL;
145 
146   SELECT ap_invoice_lines_interface_s.NEXTVAL
147   INTO   l_invoice_line_interface_id
148   FROM   DUAL;
149 
150   AP_INVOICES_INTERFACE_PKG.INSERT_ROW (
151           X_ROWID                        => l_rowid ,
152           X_INVOICE_ID                   => l_invoice_interface_id,
153           X_INVOICE_NUM                  => l_invoice_interface_id,
154           X_INVOICE_TYPE_LOOKUP_CODE     => 'PAYMENT REQUEST',
155           X_INVOICE_DATE                 => p_invoice_date,
156           X_PO_NUMBER                    => NULL,
157           X_VENDOR_ID                    => NULL,
158           X_VENDOR_SITE_ID               => NULL,
159           X_INVOICE_AMOUNT               => p_amount,
160           X_INVOICE_CURRENCY_CODE        => p_currency_code,
161           X_PAYMENT_CURRENCY_CODE        => p_currency_code,
162           X_PAYMENT_CROSS_RATE           => NULL,
163           X_PAYMENT_CROSS_RATE_TYPE      => NULL,
164           X_PAYMENT_CROSS_RATE_DATE      => NULL,
165           X_EXCHANGE_RATE                => p_exchange_rate,
166           X_EXCHANGE_RATE_TYPE           => p_exchange_rate_type,
167           X_EXCHANGE_DATE                => p_exchange_date,
168           X_TERMS_ID                     => NULL,
169           X_DESCRIPTION                  => p_description, --rct comments
170           X_AWT_GROUP_ID                 => NULL,
171           X_AMT_APPLICABLE_TO_DISCOUNT   => NULL,
172           X_ATTRIBUTE_CATEGORY           => NULL,
173           X_ATTRIBUTE1                   => NULL,
174           X_ATTRIBUTE2                   => NULL,
175           X_ATTRIBUTE3                   => NULL,
176           X_ATTRIBUTE4                   => NULL,
177           X_ATTRIBUTE5                   => NULL,
178           X_ATTRIBUTE6                   => NULL,
179           X_ATTRIBUTE7                   => NULL,
180           X_ATTRIBUTE8                   => NULL,
181           X_ATTRIBUTE9                   => NULL,
182           X_ATTRIBUTE10                  => NULL,
183           X_ATTRIBUTE11                  => NULL,
184           X_ATTRIBUTE12                  => NULL,
185           X_ATTRIBUTE13                  => NULL,
186           X_ATTRIBUTE14                  => NULL,
187           X_ATTRIBUTE15                  => NULL,
188           X_GLOBAL_ATTRIBUTE_CATEGORY    => NULL,
189           X_GLOBAL_ATTRIBUTE1            => NULL,
190           X_GLOBAL_ATTRIBUTE2            => NULL,
191           X_GLOBAL_ATTRIBUTE3            => NULL,
192           X_GLOBAL_ATTRIBUTE4            => NULL,
193           X_GLOBAL_ATTRIBUTE5            => NULL,
194           X_GLOBAL_ATTRIBUTE6            => NULL,
195           X_GLOBAL_ATTRIBUTE7            => NULL,
196           X_GLOBAL_ATTRIBUTE8            => NULL,
197           X_GLOBAL_ATTRIBUTE9            => NULL,
198           X_GLOBAL_ATTRIBUTE10           => NULL,
199           X_GLOBAL_ATTRIBUTE11           => NULL,
200           X_GLOBAL_ATTRIBUTE12           => NULL,
201           X_GLOBAL_ATTRIBUTE13           => NULL,
202           X_GLOBAL_ATTRIBUTE14           => NULL,
203           X_GLOBAL_ATTRIBUTE15           => NULL,
204           X_GLOBAL_ATTRIBUTE16           => NULL,
205           X_GLOBAL_ATTRIBUTE17           => NULL,
206           X_GLOBAL_ATTRIBUTE18           => NULL,
207           X_GLOBAL_ATTRIBUTE19           => NULL,
208           X_GLOBAL_ATTRIBUTE20           => NULL,
209           X_STATUS                       => NULL,
210           X_SOURCE                       => 'Receivables',
211           X_GROUP_ID                     => NULL,
212           X_WORKFLOW_FLAG                => NULL,
213           X_DOC_CATEGORY_CODE            => NULL,
214           X_VOUCHER_NUM                  => NULL,
215           X_PAY_GROUP_LOOKUP_CODE        => p_pay_group_lookup_code,
216           X_GOODS_RECEIVED_DATE          => NULL,
217           X_INVOICE_RECEIVED_DATE        => NULL,
218           X_GL_DATE                      => NULL,
219           X_ACCTS_PAY_CCID               => NULL,
220           X_EXCLUSIVE_PAYMENT_FLAG       => p_pay_alone_flag,
221           X_INVOICE_INCLUDES_PREPAY_FLAG => NULL,
222           X_PREPAY_NUM                   => NULL,
223           X_PREPAY_APPLY_AMOUNT          => NULL,
224           X_PREPAY_GL_DATE               => NULL,
225           X_CREATION_DATE                => SYSDATE,
226           X_CREATED_BY                   => fnd_global.user_id,
227           X_LAST_UPDATE_DATE             => SYSDATE,
228           X_LAST_UPDATED_BY              => fnd_global.user_id,
229           X_LAST_UPDATE_LOGIN            => fnd_global.login_id,
230           X_ORG_ID                       => p_org_id,
231           X_TERMS_DATE                   => NULL,
232           X_REQUESTER_ID                 => NULL,
233 	  X_CONTROL_AMOUNT  		 => NULL,
234 	  X_LEGAL_ENTITY_ID		 => p_legal_entity_id,
235           x_PAYMENT_METHOD_CODE          => p_payment_method_code ,
236           x_PAYMENT_REASON_CODE          => p_payment_reason_code ,
237           X_PAYMENT_REASON_COMMENTS      => p_payment_reason_comments,
238           x_DELIVERY_CHANNEL_CODE        => p_delivery_channel_code ,
239           x_remittance_message1          => p_remittance_message1 ,
240           x_remittance_message2          => p_remittance_message2,
241           x_remittance_message3          => p_remittance_message3,
242           X_APPLICATION_ID               => 222,
243           X_PRODUCT_TABLE                => 'AR_RECEIVABLE_APPLICATIONS_ALL',
244           X_REFERENCE_KEY1               => p_receivable_application_id,
245           X_REFERENCE_KEY2               => 'AR_RECEIVABLE_APPLICATIONS_ALL',
246           X_REFERENCE_KEY3               => NULL,
247           X_REFERENCE_KEY4               => NULL,
248           X_REFERENCE_KEY5               => NULL,
249           X_PARTY_ID                     => p_party_id,
250           X_PARTY_SITE_ID                => p_party_site_id,
251           X_PAY_PROC_TRXN_TYPE_CODE      => NULL,
252           X_PAYMENT_FUNCTION             => 'AR_CUSTOMER_REFUNDS',
253           X_PAYMENT_PRIORITY             => NULL,
254           x_external_bank_account_id     => p_bank_account_id
255   );
256 
257   /* Next populate AP lines interface table..*/
258   debug('Calling AP_INVOICES_LINES_INTERFACE_PKG.INSERT_ROW..');
259 
260   AP_INVOICE_LINES_INTERFACE_PKG.INSERT_ROW(
261           X_ROWID                        => l_line_rowid,
262           X_INVOICE_ID                   => l_invoice_interface_id,
263           X_INVOICE_LINE_ID              => l_invoice_line_interface_id,
264           X_LINE_NUMBER                  => 1,
265           X_LINE_TYPE_LOOKUP_CODE        => 'ITEM',
266           X_LINE_GROUP_NUMBER            => NULL,
267           X_AMOUNT                       => p_amount,
268           X_ACCOUNTING_DATE              => NULL,
269           X_DESCRIPTION                  => p_description,
270           X_PRORATE_ACROSS_FLAG          => NULL,
271           X_TAX_CODE                     => NULL,
272           X_TAX_CODE_ID                  => NULL,
273           X_FINAL_MATCH_FLAG             => NULL,
274           X_PO_HEADER_ID                 => NULL,
275           X_PO_LINE_ID                   => NULL,
276           X_PO_LINE_LOCATION_ID          => NULL,
277           X_PO_DISTRIBUTION_ID           => NULL,
278           X_UNIT_OF_MEAS_LOOKUP_CODE     => NULL,
279           X_INVENTORY_ITEM_ID            => NULL,
280           X_QUANTITY_INVOICED            => NULL,
281           X_UNIT_PRICE                   => NULL,
282           X_DISTRIBUTION_SET_ID          => NULL,
283           X_DIST_CODE_CONCATENATED       => NULL,
284           X_DIST_CODE_COMBINATION_ID     => l_activity_ccid,
285           X_AWT_GROUP_ID                 => NULL,
286           X_ATTRIBUTE_CATEGORY           => NULL,
287           X_ATTRIBUTE1                   => NULL,
288           X_ATTRIBUTE2                   => NULL,
289           X_ATTRIBUTE3                   => NULL,
290           X_ATTRIBUTE4                   => NULL,
291           X_ATTRIBUTE5                   => NULL,
292           X_ATTRIBUTE6                   => NULL,
293           X_ATTRIBUTE7                   => NULL,
294           X_ATTRIBUTE8                   => NULL,
295           X_ATTRIBUTE9                   => NULL,
296           X_ATTRIBUTE10                  => NULL,
297           X_ATTRIBUTE11                  => NULL,
298           X_ATTRIBUTE12                  => NULL,
299           X_ATTRIBUTE13                  => NULL,
300           X_ATTRIBUTE14                  => NULL,
301           X_ATTRIBUTE15                  => NULL,
302           X_GLOBAL_ATTRIBUTE_CATEGORY    => NULL,
303           X_GLOBAL_ATTRIBUTE1            => NULL,
304           X_GLOBAL_ATTRIBUTE2            => NULL,
305           X_GLOBAL_ATTRIBUTE3            => NULL,
306           X_GLOBAL_ATTRIBUTE4            => NULL,
307           X_GLOBAL_ATTRIBUTE5            => NULL,
308           X_GLOBAL_ATTRIBUTE6            => NULL,
309           X_GLOBAL_ATTRIBUTE7            => NULL,
310           X_GLOBAL_ATTRIBUTE8            => NULL,
311           X_GLOBAL_ATTRIBUTE9            => NULL,
312           X_GLOBAL_ATTRIBUTE10           => NULL,
313           X_GLOBAL_ATTRIBUTE11           => NULL,
314           X_GLOBAL_ATTRIBUTE12           => NULL,
315           X_GLOBAL_ATTRIBUTE13           => NULL,
316           X_GLOBAL_ATTRIBUTE14           => NULL,
317           X_GLOBAL_ATTRIBUTE15           => NULL,
318           X_GLOBAL_ATTRIBUTE16           => NULL,
319           X_GLOBAL_ATTRIBUTE17           => NULL,
320           X_GLOBAL_ATTRIBUTE18           => NULL,
321           X_GLOBAL_ATTRIBUTE19           => NULL,
322           X_GLOBAL_ATTRIBUTE20           => NULL,
323           X_PO_RELEASE_ID                => NULL,
324           X_BALANCING_SEGMENT            => NULL,
325           X_COST_CENTER_SEGMENT          => NULL,
326           X_ACCOUNT_SEGMENT              => NULL,
327           X_PROJECT_ID                   => NULL,
328           X_TASK_ID                      => NULL,
329           X_EXPENDITURE_TYPE             => NULL,
330           X_EXPENDITURE_ITEM_DATE        => NULL,
334           X_PA_QUANTITY                  => NULL,
331           X_EXPENDITURE_ORGANIZATION_ID  => NULL,
332           X_PROJECT_ACCOUNTING_CONTEXT   => NULL,
333           X_PA_ADDITION_FLAG             => NULL,
335           X_STAT_AMOUNT                  => NULL,
336           X_TYPE_1099                    => NULL,
337           X_INCOME_TAX_REGION            => NULL,
338           X_ASSETS_TRACKING_FLAG         => NULL,
339           X_PRICE_CORRECTION_FLAG        => NULL,
340           X_RECEIPT_NUMBER               => NULL,
341           X_MATCH_OPTION                 => NULL,
342           X_RCV_TRANSACTION_ID           => NULL,
343           X_CREATION_DATE                => SYSDATE,
344           X_CREATED_BY                   => FND_GLOBAL.USER_ID,
345           X_LAST_UPDATE_DATE             => SYSDATE,
346           X_LAST_UPDATED_BY              => FND_GLOBAL.USER_ID,
347           X_LAST_UPDATE_LOGIN            => FND_GLOBAL.LOGIN_ID,
348           X_ORG_ID                       => p_org_id,
349           X_Calling_Sequence             => g_pkg_name||'.create_refund'
350   );
351 
352   /* Finally calling AP submit payment logic ..*/
353   debug('Calling AP_IMPORT_INVOICES_PKG.SUBMIT_PAYMENT_REQUEST..');
354 
355   AP_IMPORT_INVOICES_PKG.SUBMIT_PAYMENT_REQUEST(
356         p_api_version		=> 1.0,
357  	p_invoice_interface_id  => l_invoice_interface_id,
358 	p_budget_control        => 'N',
359 	p_needs_invoice_approval=> 'Y',  -- 'N' for testing, 'Y' for production
360 	p_invoice_id            => x_invoice_id,
361 	x_return_status         => x_return_status,
362 	x_msg_count 		=> x_msg_count,
363 	x_msg_data		=> x_msg_data,
364 	x_rejection_list 	=> l_rejection_list,
365         p_calling_sequence      => g_pkg_name||'.create_refund',
366 	p_commit		=> 'N');
367 
368   IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
369 	x_msg_count	:= 0;
370      FOR i in l_rejection_list.FIRST .. l_rejection_list.LAST LOOP
371         debug(i||' Errors found interfacing data to AP ...');
372 	debug(l_rejection_list(i).reject_lookup_code);
373 	x_msg_count	:= x_msg_count + 1;
374         FND_MESSAGE.SET_NAME( 'AR', 'GENERIC_MESSAGE' );
375         FND_MESSAGE.SET_TOKEN( 'GENERIC_TEXT' ,l_rejection_list(i).reject_lookup_code );
376         FND_MSG_PUB.ADD;
377      END LOOP;
378      RETURN;
379 END IF;
380 
381   /* Need to update the newly created application with the
382              refund invoice id.. */
383   IF NVL(p_called_from,'ARXRWAPP') <> 'TEST' THEN
384      arp_app_pkg.fetch_p(p_receivable_application_id,l_app_rec);
385      l_app_rec.application_ref_id := x_invoice_id;
386      l_app_rec.application_ref_num := x_invoice_id;
387      arp_app_pkg.update_p(l_app_rec);
388   END IF;
389 
390   debug('ar_refund_pvt.create_refund()-');
391 EXCEPTION
392   WHEN NO_DATA_FOUND THEN
393      IF PG_DEBUG in ('Y', 'C') THEN
394         debug('EXCEPTION: AR_REFUNDS_PVT.Create_refund()'||sqlerrm);
395      END IF;
396      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
397      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
398 
399   WHEN OTHERS THEN
400      IF PG_DEBUG in ('Y', 'C') THEN
401         debug('EXCEPTION: AR_REFUNDS_PVT.Create_refund()'||sqlerrm);
402      END IF;
403      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
404      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
405 
406 END create_refund;
407 
408 /*========================================================================
409  | PUBLIC PROCEDURE Cancel_Refund
410  |
411  | DESCRIPTION
412  |      ----------------------------------------
413  |      This procedure cancels a refund payment in Oracle Payments
414  |	via AP interface tables and APIs
415  |
416  | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
417  |
418  |
419  | CALLS PROCEDURES/FUNCTIONS (local to this package body)
420  |
421  | PARAMETERS
422  |
423  | KNOWN ISSUES
424  |
425  | NOTES
426  |
427  | MODIFICATION HISTORY
428  | Date        Author   Description of Changes
429  | 06-DEC-2005 JBECKETT Created
430  |
431  *=======================================================================*/
432 PROCEDURE cancel_refund(
433 		 p_application_ref_id	IN  ar_receivable_applications.application_ref_id%TYPE
434 		,p_gl_date		IN  DATE
435                 ,x_return_status	OUT NOCOPY VARCHAR2
436 		,x_msg_count		OUT NOCOPY NUMBER
437 		,x_msg_data		OUT NOCOPY VARCHAR2)
438 IS
439   l_message_name		fnd_new_messages.message_name%TYPE;
440   l_refund_amount		NUMBER;
441   l_acctd_refund_amount		NUMBER;
442   l_temp_cancelled_amount	NUMBER;
443   l_cancelled_by		NUMBER;
444   l_cancelled_amount		NUMBER;
445   l_cancelled_date		DATE;
446   l_last_update_date		DATE;
447   l_orig_ppay_amount		NUMBER;
448   l_pay_curr_amount		NUMBER;
449   l_token			VARCHAR2(100);
450 
451 BEGIN
452 
453   debug('ar_refund_pvt.cancel_refund()+');
454   x_return_status := FND_API.G_RET_STS_SUCCESS;
455   IF NOT AP_CANCEL_PKG.Ap_Cancel_Single_Invoice(
456                   P_invoice_id			=> p_application_ref_id
457     		, P_last_updated_by		=> fnd_global.user_id
458              	, P_last_update_login		=> fnd_global.login_id
459              	, P_accounting_date		=> NULL
460              	, P_message_name		=> l_message_name
461              	, P_invoice_amount		=> l_refund_amount
462               	, P_base_amount			=> l_acctd_refund_amount
463              	, P_temp_cancelled_amount	=> l_temp_cancelled_amount
464               	, P_cancelled_by		=> l_cancelled_by
465                	, P_cancelled_amount		=> l_cancelled_amount
466             	, P_cancelled_date		=> l_cancelled_date
467              	, P_last_update_date		=> l_last_update_date
468              	, P_original_prepayment_amount	=> l_orig_ppay_amount
469             	, P_pay_curr_invoice_amount	=> l_pay_curr_amount
470               	, P_Token			=> l_token
471               	, P_calling_sequence		=> 'ar_refund_pvt.cancel_refund'
472 		) THEN
473       x_return_status := FND_API.G_RET_STS_ERROR;
474       IF l_message_name IS NOT NULL THEN
475          FND_MESSAGE.SET_NAME ('AP',l_message_name);
476          FND_MSG_PUB.Add;
477       END IF;
478       FND_MESSAGE.SET_NAME ('AR','GENERIC_MESSAGE');
482                 (p_encoded => FND_API.G_FALSE,
479       FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','CANCEL_REFUND : '||l_token);
480       FND_MSG_PUB.Add;
481       FND_MSG_PUB.Count_And_Get
483                  p_count   => x_msg_count,
484                  p_data    => x_msg_data);
485 
486       debug('Error returned from ap_cancel_single_invoice: '||l_message_name||' '||l_token);
487   END IF;
488 
489   debug('ar_refund_pvt.cancel_refund()-');
490 EXCEPTION
491   WHEN NO_DATA_FOUND THEN
492      IF PG_DEBUG in ('Y', 'C') THEN
493         debug('EXCEPTION: AR_REFUNDS_PVT.Cancel_refund()'||sqlerrm);
494      END IF;
495      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
496      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
497 
498   WHEN OTHERS THEN
499      IF PG_DEBUG in ('Y', 'C') THEN
500         debug('EXCEPTION: AR_REFUNDS_PVT.Cancel_refund()'||sqlerrm);
501      END IF;
502      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
503      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
504 
505 END cancel_refund;
506 
507 /*========================================================================
508  | INITIALIZATION SECTION
509  |
510  | DESCRIPTION
511  |
512  | KNOWN ISSUES
513  |
514  | NOTES
515  |
516  | MODIFICATION HISTORY
517  | Date        Author   Description of Changes
518  | 06-DEC-2005 JBECKETT Created
519  |
520  *=======================================================================*/
521 BEGIN
522 
523   pg_debug := NVL(fnd_profile.value('AFLOG_ENABLED'), 'N');
524 
525 
526 EXCEPTION
527   WHEN NO_DATA_FOUND THEN
528      arp_standard.debug('EXCEPTION: AR_REFUNDS_PVT.INITIALIZE()');
529      RAISE;
530 
531   WHEN OTHERS THEN
532      arp_standard.debug('EXCEPTION: AR_REFUNDS_PVT.INITIALIZE()');
533      RAISE;
534 
535 END AR_REFUNDS_PVT;