DBA Data[Home] [Help]

PACKAGE BODY: APPS.AR_RECEIPT_UPDATE_API_PUB

Source


1 PACKAGE BODY AR_RECEIPT_UPDATE_API_PUB AS
2 /* $Header: ARXPREUB.pls 120.12 2011/10/11 10:15:52 vpusulur ship $           */
3 
4 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
5 /* =======================================================================
6  | Global Data Types
7  * ======================================================================*/
8 
9 G_PKG_NAME     CONSTANT VARCHAR2(30) := 'AR_RECEIPT_UPDATE_API_PUB';
10 
11 --- Start Validate
12 
13 PROCEDURE  Validate_id(p_customer_id        IN NUMBER,
14               p_cash_receipt_id    IN NUMBER,
15 	      p_payment_trxn_extension_id  IN NUMBER,
16 	      p_customer_bank_account_id    IN NUMBER,
17               x_msg_count          OUT NOCOPY NUMBER,
18               x_msg_data           OUT NOCOPY VARCHAR2,
19               x_return_status      OUT NOCOPY VARCHAR2,
20 	      x_crv_rec	           OUT NOCOPY ar_cash_receipts_v%ROWTYPE
21 	      )
22 	    IS
23 
24 
25  l_crv_rec ar_cash_receipts_v%ROWTYPE;
26  l_payment_trxn_extension_id        ar_cash_receipts.payment_trxn_extension_id%TYPE;
27  l_creation_method_code             ar_receipt_classes.creation_method_code%TYPE;
28  l_cash_receipt_id   NUMBER	   := p_cash_receipt_id;
29  l_customer_id       NUMBER	   := p_customer_id;
30  l_customer_bank_account_id NUMBER := p_customer_bank_account_id;
31  l_bank_chk          NUMBER        := 0;
32 
33   --- For site use id -----
34 CURSOR c_default_location IS
35       SELECT
36              site.site_use_id,
37              site.location
38       FROM
39              hz_cust_site_uses site,
40              hz_cust_acct_sites acct_site
41       WHERE
42              acct_site.cust_account_id   =  l_customer_id
43         AND  acct_site.status        = 'A'
44         AND  site.cust_acct_site_id    = acct_site.cust_acct_site_id
45         AND  site.site_use_code = 'BILL_TO'
46         AND  site.status        = 'A'
47         AND  site.primary_flag  = 'Y';
48 
49 	l_location		  	VARCHAR2(40) := NULL;
50         l_customer_site_use_id  	NUMBER;
51 	l_valid                         NUMBER;
52 
53 BEGIN
54 
55         x_return_status := FND_API.G_RET_STS_SUCCESS;
56 
57 	arp_util.debug('EXCEPTION: Validate_id()+ ');
58 
59 	--- Cash receipt validation
60 
61         begin
62 
63 	      IF l_cash_receipt_id is NUll THEN
64 	        arp_standard.debug('Null Cash_receipt_id passed .');
65 
66 		FND_MESSAGE.SET_NAME('AR','AR_RAPI_CASH_RCPT_ID_NULL');
67 		FND_MSG_PUB.Add;
68 		x_return_status := FND_API.G_RET_STS_ERROR;
69 		FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
70                                         p_count => x_msg_count,
71                                         p_data  => x_msg_data);
72                 return;
73 
74 	      ELSE
75 
76 		SELECT count(*)
77 		INTO   l_valid
78 		FROM AR_CASH_RECEIPTS_V
79 		WHERE cash_receipt_id = p_cash_receipt_id;
80 
81 		IF l_valid = 0 THEN
82 		          arp_standard.debug('Invlaid Cash_receipt_id passed .');
83 			 FND_MESSAGE.SET_NAME('AR','AR_RAPI_CASH_RCPT_ID_INVALID');
84 			 FND_MSG_PUB.Add;
85 			 x_return_status := FND_API.G_RET_STS_ERROR;
86 			 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
87                                         p_count => x_msg_count,
88                                         p_data  => x_msg_data);
89                          return;
90                 END IF;
91 
92 
93 	      END IF;
94 
95 	        SELECT * INTO l_crv_rec
96 		FROM AR_CASH_RECEIPTS_V
97 		WHERE cash_receipt_id = p_cash_receipt_id;
98 
99 		x_crv_rec := l_crv_rec;
100 
101         Exception
102 	   When others then
103 	     IF PG_DEBUG in ('Y', 'C') THEN
104 		arp_util.debug('EXCEPTION: Validate_cash_receipt_id() ');
105 	     END IF;
106 	     raise;
107         End; --- Cash receipt validation END
108 
109 
110 
111 
112 	------------------------- Getting the site use id ------------------------
113       OPEN  c_default_location;
114       FETCH c_default_location INTO
115   		l_customer_site_use_id,
116   		l_location;
117       CLOSE c_default_location;
118 
119       ------------------------- Getting the site use id END --------------------
120 
121       IF l_customer_site_use_id IS NULL
122       AND arp_global.sysparam.site_required_flag = 'Y'  THEN
123 
124 			 FND_MESSAGE.SET_NAME('AR','AR_RAPI_CUS_STE_USE_ID_NOT_DEF');
125 			 FND_MSG_PUB.Add;
126 			 x_return_status := FND_API.G_RET_STS_ERROR;
127 			 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
128                                         p_count => x_msg_count,
129                                         p_data  => x_msg_data);
130                          return;
131 
132       END IF;
133 
134       --x_crv_rec.customer_site_use_id := l_customer_site_use_id;
135 
136 
137       ----- Checking Receipt Status
138 
139       IF l_crv_rec.receipt_status <> 'UNID' THEN
140          arp_standard.debug('Receipt Status is not UNID.');
141 	 x_return_status := FND_API.G_RET_STS_ERROR ;
142 		       FND_MESSAGE.SET_NAME ('AR','GENERIC_MESSAGE');
143                        FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','Only receipt with Status UNID can be updated');
144                        FND_MSG_PUB.Add;
145 
146                        FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
147                                                   p_count  =>  x_msg_count,
151 
148                                                   p_data   => x_msg_data
149                                                 );
150                        return;
152       END IF;
153 
154 
155        ----- Checking Receipt Status  END
156 
157 
158       -- Validating payemnt Ext id
159 
160 
161         l_creation_method_code            := l_crv_rec.CREATION_METHOD_CODE;
162 	l_payment_trxn_extension_id       := p_payment_trxn_extension_id;
163 
164 
165 	IF ( l_creation_method_code = 'AUTOMATIC' and l_payment_trxn_extension_id is NULL) THEN
166 
167                arp_standard.debug('payment_trxn_extension_id is null for Automatic receipt');
168                x_return_status := FND_API.G_RET_STS_ERROR ;
169 
170               FND_MESSAGE.SET_NAME('AR','AR_CC_AUTH_FAILED');
171               FND_MSG_PUB.Add;
172 
173 	       FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
174                                                   p_count  =>  x_msg_count,
175                                                   p_data   => x_msg_data
176                                                 );
177                        return;
178 
179         END IF;
180 
181 	IF ( l_creation_method_code <> 'AUTOMATIC' and l_payment_trxn_extension_id is NOT NULL) THEN
182 
183                arp_standard.debug('payment_trxn_extension_id is not null for Manual receipt');
184                x_return_status := FND_API.G_RET_STS_ERROR ;
185 
186               FND_MESSAGE.SET_NAME('AR','AR_CC_AUTH_FAILED');
187               FND_MSG_PUB.Add;
188 
189 	       FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
190                                                   p_count  =>  x_msg_count,
191                                                   p_data   => x_msg_data
192                                                 );
193                        return;
194 
195         END IF;
196 
197 	-- Validating payemnt Ext id END
198 
199 	-- Validating Bank Account Id
200 
201 
202 	IF ( l_creation_method_code = 'AUTOMATIC' and l_customer_bank_account_id is NOT NULL) THEN
203 
204                arp_standard.debug('Customer Bank id is not required for Automatic receipt');
205 	       arp_standard.debug('Ignoring Customer Bank Id');
206                l_customer_bank_account_id := NULL;
207         END IF;
208 
209 	IF ( l_creation_method_code <> 'AUTOMATIC' and l_customer_bank_account_id is NOT NULL) THEN
210 
211 
212 	      begin
213 		select 1 INTO l_bank_chk
214 		from iby_fndcpt_payer_assgn_instr_v a,
215 		       iby_ext_bank_accounts_v bb
216 		where a.cust_account_id = l_customer_id
217 		and a.instrument_type = 'BANKACCOUNT'
218 		and ( a.acct_site_use_id = l_customer_site_use_id or a.acct_site_use_id is null)
219 		and a.currency_code = l_crv_rec.CURRENCY_CODE
220 		and bb.ext_bank_account_id = a.instrument_id
221 		and bb.ext_bank_account_id = l_customer_bank_account_id;
222              exception
223 	         when no_data_found then
224 		    l_bank_chk := 0;
225                  when too_many_rows then
226 		    l_bank_chk := 1;
227                  when others then
228 		    l_bank_chk := -1;
229 	     end;
230 
231 		IF NVL(l_bank_chk,0) = 0 THEN
232 
233 		      arp_standard.debug('Bank id is incorrect for provided customer details');
234 		      x_return_status := FND_API.G_RET_STS_ERROR ;
235 
236 		      FND_MESSAGE.SET_NAME('AR','AR_RAPI_CUS_BK_AC_ID_INVALID');
237 		      FND_MSG_PUB.Add;
238 
239 		      FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
240 							  p_count  =>  x_msg_count,
241 							  p_data   => x_msg_data
242 							);
243 		      return;
244                  ELSIF NVL(l_bank_chk,0) = -1 THEN
245 		      arp_standard.debug('Unknown error occur for bank details');
246 		      x_return_status := FND_API.G_RET_STS_ERROR ;
247 
248 		       FND_MESSAGE.SET_NAME ('AR','GENERIC_MESSAGE');
249                        FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','Unknown error occur for bank details');
250                        FND_MSG_PUB.Add;
251                 END IF;
252 
253         END IF;
254 
255 	-- Validating Bank Account Id END
256 
257         x_crv_rec.customer_site_use_id     := l_customer_site_use_id;
258 	x_crv_rec.customer_bank_account_id := l_customer_bank_account_id;
259 
260 	arp_util.debug('EXCEPTION: Validate_id() - ');
261 
262 
263 EXCEPTION
264 
265   WHEN OTHERS THEN
266         IF c_default_location%ISOPEN THEN     CLOSE c_default_location;   END IF;
267 	x_return_status := FND_API.G_RET_STS_ERROR ;
268 	IF PG_DEBUG in ('Y', 'C') THEN
269 		arp_util.debug('EXCEPTION: Validate_id() ');
270 	END IF;
271 	     raise;
272 
273 END  Validate_id;
274 
275 --- End   Validate
276 
277 	PROCEDURE update_receipt_unid_to_unapp (
278 -- Standard API parameters.
279                  p_api_version       IN  NUMBER,
280                  p_init_msg_list     IN  VARCHAR2 := FND_API.G_FALSE,
281                  p_commit            IN  VARCHAR2 := FND_API.G_FALSE,
282                  p_validation_level  IN  NUMBER   := FND_API.G_VALID_LEVEL_FULL,
283                  x_return_status     OUT NOCOPY VARCHAR2,
284                  x_msg_count         OUT NOCOPY NUMBER,
285                  x_msg_data          OUT NOCOPY VARCHAR2,
286 -- Receipt info. parameters
287                  p_cash_receipt_id   IN NUMBER,
288 		 p_pay_from_customer IN NUMBER,
289 		 p_comments          IN VARCHAR2 DEFAULT NULL,
290 		 p_payment_trxn_extension_id  IN NUMBER DEFAULT NULL,
291 		 x_status	     OUT NOCOPY VARCHAR2,
292  		 p_customer_bank_account_id    IN NUMBER DEFAULT NULL
293 		 )
294 IS
295 
299 l_crv_rec ar_cash_receipts_v%ROWTYPE;
296 l_api_name       CONSTANT VARCHAR2(50) := 'update_receipt_unid_to_unapp';
297 l_api_version    CONSTANT NUMBER       := 1.0;
298 
300 l_payment_trxn_extension_id        ar_cash_receipts.payment_trxn_extension_id%TYPE;
301 l_creation_method_code             ar_receipt_classes.creation_method_code%TYPE;
302 
303 l_cash_receipt_id   NUMBER	  := p_cash_receipt_id;
304 l_customer_id       NUMBER	  := p_pay_from_customer;
305 l_customer_bank_account_id NUMBER := p_customer_bank_account_id;
306 l_org_return_status VARCHAR2(1);
307 l_org_id            NUMBER;
308 
309 
310  -- OUT PARAMETER FOR UPDATE CALL --
311  x_NEW_STATE VARCHAR2(255);
312  x_NEW_STATE_DSP VARCHAR2(255);
313  X_NEW_STATUS VARCHAR2(255);
314  X_NEW_STATUS_DSP VARCHAR2(255);
315  x_dm_number  VARCHAR2(255);
316  x_tw_Status VARCHAR2(255);
317 
318 -- Create payment_trxn_extension_id
319 l_create_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
320 l_create_msg_count     NUMBER;
321 l_create_msg_data      VARCHAR2(2000);
322 l_create_pmt_trxn_extension_id        ar_cash_receipts.payment_trxn_extension_id%TYPE;
323 l_valid_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
324 l_valid_msg_count     NUMBER;
325 l_valid_msg_data      VARCHAR2(2000);
326 
327 
328 
329 BEGIN
330 
331        /*------------------------------------+
332         |   Standard start of API savepoint  |
333         +------------------------------------*/
334 
335       SAVEPOINT Create_cash_PVT;
336 
337        /*--------------------------------------------------+
338         |   Standard call to check for call compatibility  |
339         +--------------------------------------------------*/
340 
341         IF NOT FND_API.Compatible_API_Call(
342                                             l_api_version,
343                                             p_api_version,
344                                             l_api_name,
345                                             G_PKG_NAME
346                                           )
347         THEN
348               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
349         END IF;
350 
351        /*--------------------------------------------------------------+
352         |   Initialize message list if p_init_msg_list is set to TRUE  |
353         +--------------------------------------------------------------*/
354 
355         IF FND_API.to_Boolean( p_init_msg_list )
356           THEN
357               FND_MSG_PUB.initialize;
358         END IF;
359 
360 	IF PG_DEBUG in ('Y', 'C') THEN
361             arp_standard.debug('ar_receipt_update_api_pub.update_receipt_unid_to_unapp()+');
362         END IF;
363        /*-----------------------------------------+
364         |   Initialize return status to SUCCESS   |
365         +-----------------------------------------*/
366 
367         x_return_status := FND_API.G_RET_STS_SUCCESS;
368 
369 	 /*-----------------------------------------+
370         |   Initialize ORG ID			   |
371         +-----------------------------------------*/
372 
373        l_org_return_status := FND_API.G_RET_STS_SUCCESS;
374        ar_mo_cache_utils.set_org_context_in_api(p_org_id =>l_org_id,
375                                                 p_return_status =>l_org_return_status);
376 
377        IF l_org_return_status <> FND_API.G_RET_STS_SUCCESS THEN
378           x_return_status := FND_API.G_RET_STS_ERROR;
379        END IF;
380 
381        l_payment_trxn_extension_id  := p_payment_trxn_extension_id;
382 
383 	-- Package body start --
384 
385 	Validate_id(p_customer_id		=> l_customer_id,
386               p_cash_receipt_id			=> l_cash_receipt_id,
387 	      p_payment_trxn_extension_id	=> l_payment_trxn_extension_id,
388 	      p_customer_bank_account_id        => l_customer_bank_account_id,
389               x_msg_count			=> l_valid_msg_count,
390               x_msg_data			=> l_valid_msg_data,
391               x_return_status			=> l_valid_return_status,
392 	      x_crv_rec				=> l_crv_rec
393             );
394 
395 
396 
397 
398 
399 
400 
401 IF l_valid_return_status <> FND_API.G_RET_STS_SUCCESS THEN
402    arp_standard.debug('Validation of input parametrs fails ' );
403    arp_standard.debug('Customer ID :  '||l_customer_id);
404    arp_standard.debug('Cash Receipt ID :  '||l_cash_receipt_id);
405    arp_standard.debug('Payment trxn extension id : '||l_payment_trxn_extension_id);
406    x_return_status := FND_API.G_RET_STS_ERROR ;
407    FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
408                                                   p_count  =>  x_msg_count,
409                                                   p_data   => x_msg_data
410                                                 );
411    return;
412 
413 ELSE
414 
415    IF l_crv_rec.creation_method_code = 'AUTOMATIC'  THEN
416     arp_standard.debug('calling CREATE  Extension....');
417     AR_RECEIPT_API_PUB.Create_payment_extension (
418        p_payment_trxn_extension_id	=> l_payment_trxn_extension_id,
419        p_customer_id			=> l_customer_id,
420        p_receipt_method_id		=> l_crv_rec.receipt_method_id,
421        p_org_id				=> l_org_id,
422        p_customer_site_use_id		=> l_crv_rec.customer_site_use_id,
423        p_cash_receipt_id		=> l_cash_receipt_id,
424        p_receipt_number			=> l_crv_rec.receipt_number,
425        x_msg_count			=> l_create_msg_count,
426        x_msg_data			=> l_create_msg_data,
427        x_return_status			=> l_create_return_status,
428        o_payment_trxn_extension_id	=> l_create_pmt_trxn_extension_id,
429        p_receipt_date                   => l_crv_rec.RECEIPT_DATE
430 	 );
431 
432 	 IF l_create_return_status <>  FND_API.G_RET_STS_SUCCESS THEN
436 	      x_return_status := FND_API.G_RET_STS_ERROR ;
433               arp_standard.debug('update_receipt_unid_to_unapp: Payment_trxn_extension_id creation fails ' );
434 	      FND_MESSAGE.set_name('AR', 'AR_CC_AUTH_FAILED');
435 	      FND_MSG_PUB.Add;
437 	      FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
438                                                   p_count  =>  x_msg_count,
439                                                   p_data   => x_msg_data
440                                                 );
441                        return;
442 	 END IF;
443 
444 	 l_payment_trxn_extension_id := l_create_pmt_trxn_extension_id;
445 
446 	  IF l_payment_trxn_extension_id IS NULL THEN
447                        FND_MESSAGE.SET_NAME ('AR','GENERIC_MESSAGE');
448                        FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','Unable to create Payment_trxn_extension_id');
449                        FND_MSG_PUB.Add;
450 		       x_return_status := FND_API.G_RET_STS_ERROR ;
451                        FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
452                                                   p_count  =>  x_msg_count,
453                                                   p_data   => x_msg_data
454                                                 );
455                        return;
456           END IF;
457 
458      END IF;
459 
460   END IF;
461 
462 
463 
464  ------------------------- payment_trxn_extension_id  END ------------------------
465 
466 
467        --- Calling procedure to update the Receipt ------
468 
469 
470 ARP_PROC_RECEIPTS1.UPDATE_CASH_RECEIPT(
471     P_CASH_RECEIPT_ID	=> l_cash_receipt_id,
472     P_STATUS		=> l_crv_rec.STATE,
473     P_CURRENCY_CODE	=> l_crv_rec.CURRENCY_CODE,
474     P_AMOUNT		=> l_crv_rec.AMOUNT,
475     P_PAY_FROM_CUSTOMER => l_customer_id,
476     P_RECEIPT_NUMBER	=> l_crv_rec.RECEIPT_NUMBER,
477     P_RECEIPT_DATE	=> l_crv_rec.RECEIPT_DATE,
478     P_GL_DATE		=> l_crv_rec.GL_DATE,
479     P_MATURITY_DATE	=> l_crv_rec.MATURITY_DATE,
480     P_COMMENTS		=> p_comments,
481     P_EXCHANGE_RATE_TYPE => l_crv_rec.EXCHANGE_RATE_TYPE,
482     P_EXCHANGE_RATE	=> l_crv_rec.EXCHANGE_RATE,
483     P_EXCHANGE_DATE	=> l_crv_rec.EXCHANGE_RATE_DATE,
484     P_ATTRIBUTE_CATEGORY => l_crv_rec.ATTRIBUTE_CATEGORY,
485     P_ATTRIBUTE1	=> l_crv_rec.ATTRIBUTE1,
486     P_ATTRIBUTE2	=> l_crv_rec.ATTRIBUTE2,
487     P_ATTRIBUTE3	=> l_crv_rec.ATTRIBUTE3,
488     P_ATTRIBUTE4	=> l_crv_rec.ATTRIBUTE4,
489     P_ATTRIBUTE5	=> l_crv_rec.ATTRIBUTE5,
490     P_ATTRIBUTE6	=> l_crv_rec.ATTRIBUTE6,
491     P_ATTRIBUTE7	=> l_crv_rec.ATTRIBUTE7,
492     P_ATTRIBUTE8	=> l_crv_rec.ATTRIBUTE8,
493     P_ATTRIBUTE9	=> l_crv_rec.ATTRIBUTE9,
494     P_ATTRIBUTE10	=> l_crv_rec.ATTRIBUTE10,
495     P_ATTRIBUTE11	=> l_crv_rec.ATTRIBUTE11,
496     P_ATTRIBUTE12	=> l_crv_rec.ATTRIBUTE12,
497     P_ATTRIBUTE13	=> l_crv_rec.ATTRIBUTE13,
498     P_ATTRIBUTE14	=> l_crv_rec.ATTRIBUTE14,
499     P_ATTRIBUTE15	=> l_crv_rec.ATTRIBUTE15,
500     P_OVERRIDE_REMIT_ACCOUNT_FLAG	=> l_crv_rec.OVERRIDE_REMIT_BANK,
501     P_REMITTANCE_BANK_ACCOUNT_ID	=> l_crv_rec.REMIT_BANK_ACCT_USE_ID,
502     P_CUSTOMER_BANK_ACCOUNT_ID		=> l_crv_rec.CUSTOMER_BANK_ACCOUNT_ID,
503     P_CUSTOMER_SITE_USE_ID		=> l_crv_rec.customer_site_use_id,
504     P_CUSTOMER_RECEIPT_REFERENCE	=> l_crv_rec.CUSTOMER_RECEIPT_REFERENCE,
505     P_FACTOR_DISCOUNT_AMOUNT		=> l_crv_rec.FACTOR_DISCOUNT_AMOUNT,
506     P_DEPOSIT_DATE		=> l_crv_rec.DEPOSIT_DATE,
507     P_RECEIPT_METHOD_ID		=> l_crv_rec.RECEIPT_METHOD_ID,
508     P_DOC_SEQUENCE_VALUE	=> l_crv_rec.DOCUMENT_NUMBER,
509     P_DOC_SEQUENCE_ID		=> l_crv_rec.DOC_SEQUENCE_ID,
510     P_USSGL_TRANSACTION_CODE	=> l_crv_rec.USSGL_TRANSACTION_CODE,
511     P_VAT_TAX_ID	=> l_crv_rec.VAT_TAX_ID,
512     P_CONFIRM_DATE	=> null,
513     P_CONFIRM_GL_DATE	=> null,
514     P_UNCONFIRM_GL_DATE => NULL,
515     P_POSTMARK_DATE	=> NULL,
516     P_RATE_ADJUST_GL_DATE => null,
517     P_NEW_EXCHANGE_DATE	=> null,
518     P_NEW_EXCHANGE_RATE => null,
519     P_NEW_EXCHANGE_RATE_TYPE => null,
520     P_GAIN_LOSS		=> null,
521     P_EXCHANGE_RATE_ATTR_CAT => null,
522     P_EXCHANGE_RATE_ATTR1 => null,
523     P_EXCHANGE_RATE_ATTR2 => null,
524     P_EXCHANGE_RATE_ATTR3 => null,
525     P_EXCHANGE_RATE_ATTR4 => null,
526     P_EXCHANGE_RATE_ATTR5 => null,
527     P_EXCHANGE_RATE_ATTR6 => null,
528     P_EXCHANGE_RATE_ATTR7 => null,
529     P_EXCHANGE_RATE_ATTR8 => null,
530     P_EXCHANGE_RATE_ATTR9 => null,
531     P_EXCHANGE_RATE_ATTR10 => null,
532     P_EXCHANGE_RATE_ATTR11 => null,
533     P_EXCHANGE_RATE_ATTR12 => null,
534     P_EXCHANGE_RATE_ATTR13 => null,
535     P_EXCHANGE_RATE_ATTR14 => null,
536     P_EXCHANGE_RATE_ATTR15 => null,
537     P_REVERSAL_DATE	=> null,
538     P_REVERSAL_GL_DATE	=> null,
539     P_REVERSAL_CATEGORY => null,
540     P_REVERSAL_COMMENTS => null,
541     P_REVERSAL_REASON_CODE => null,
542     P_DM_REVERSAL_FLAG	=> null,
543     P_DM_CUST_TRX_TYPE_ID => null,
544     P_DM_CUST_TRX_TYPE	=> null,
545     P_CC_ID		=> null,
546     P_DM_NUMBER		=> x_dm_number,
547     P_DM_DOC_SEQUENCE_VALUE => null,
548     P_DM_DOC_SEQUENCE_ID => null,
549     P_TW_STATUS		=> x_tw_Status,
550     P_ANTICIPATED_CLEARING_DATE => l_crv_rec.ANTICIPATED_CLEARING_DATE,
551     P_CUSTOMER_BANK_BRANCH_ID	=> l_crv_rec.CUSTOMER_BANK_BRANCH_ID,
552     P_GLOBAL_ATTRIBUTE1 => l_crv_rec.GLOBAL_ATTRIBUTE1,
553     P_GLOBAL_ATTRIBUTE2 => l_crv_rec.GLOBAL_ATTRIBUTE2,
554     P_GLOBAL_ATTRIBUTE3 => l_crv_rec.GLOBAL_ATTRIBUTE3,
555     P_GLOBAL_ATTRIBUTE4 => l_crv_rec.GLOBAL_ATTRIBUTE4,
556     P_GLOBAL_ATTRIBUTE5 => l_crv_rec.GLOBAL_ATTRIBUTE5,
557     P_GLOBAL_ATTRIBUTE6 => l_crv_rec.GLOBAL_ATTRIBUTE6,
558     P_GLOBAL_ATTRIBUTE7 => l_crv_rec.GLOBAL_ATTRIBUTE7,
559     P_GLOBAL_ATTRIBUTE8 => l_crv_rec.GLOBAL_ATTRIBUTE8,
563     P_GLOBAL_ATTRIBUTE12 => l_crv_rec.GLOBAL_ATTRIBUTE12,
560     P_GLOBAL_ATTRIBUTE9 => l_crv_rec.GLOBAL_ATTRIBUTE9,
561     P_GLOBAL_ATTRIBUTE10 => l_crv_rec.GLOBAL_ATTRIBUTE10,
562     P_GLOBAL_ATTRIBUTE11 => l_crv_rec.GLOBAL_ATTRIBUTE11,
564     P_GLOBAL_ATTRIBUTE13 => l_crv_rec.GLOBAL_ATTRIBUTE13,
565     P_GLOBAL_ATTRIBUTE14 => l_crv_rec.GLOBAL_ATTRIBUTE14,
566     P_GLOBAL_ATTRIBUTE15 => l_crv_rec.GLOBAL_ATTRIBUTE15,
567     P_GLOBAL_ATTRIBUTE16 => l_crv_rec.GLOBAL_ATTRIBUTE16,
568     P_GLOBAL_ATTRIBUTE17 => l_crv_rec.GLOBAL_ATTRIBUTE17,
569     P_GLOBAL_ATTRIBUTE18 => l_crv_rec.GLOBAL_ATTRIBUTE18,
570     P_GLOBAL_ATTRIBUTE19 => l_crv_rec.GLOBAL_ATTRIBUTE19,
571     P_GLOBAL_ATTRIBUTE20 => l_crv_rec.GLOBAL_ATTRIBUTE20,
572     P_GLOBAL_ATTRIBUTE_CATEGORY		=> l_crv_rec.GLOBAL_ATTRIBUTE_CATEGORY,
573     P_ISSUER_NAME	=> l_crv_rec.ISSUER_NAME,
574     P_ISSUE_DATE	=> l_crv_rec.ISSUE_DATE,
575     P_ISSUER_BANK_BRANCH_ID		=> l_crv_rec.ISSUER_BANK_BRANCH_ID,
576     P_APPLICATION_NOTES			=> l_crv_rec.APPLICATION_NOTES,
577     P_NEW_STATE		=> x_NEW_STATE,
578     P_NEW_STATE_DSP	=> x_NEW_STATE_DSP,
579     P_NEW_STATUS	=> X_NEW_STATUS,
580     P_NEW_STATUS_DSP	=> X_NEW_STATUS_DSP,
581     P_FORM_NAME		=> null,
582     P_FORM_VERSION	=> null,
583     P_PAYMENT_SERVER_ORDER_NUM	=> l_crv_rec.PAYMENT_SERVER_ORDER_NUM,
584     P_APPROVAL_CODE	=> l_crv_rec.APPROVAL_CODE,
585     P_LEGAL_ENTITY_ID	=> l_crv_rec.LEGAL_ENTITY_ID,
586     P_PAYMENT_TRXN_EXTENSION_ID	=> l_payment_trxn_extension_id
587   );
588 
589    IF PG_DEBUG in ('Y', 'C') THEN
590         arp_standard.debug('update_receipt_unid_to_unapp: ' || 'New Status : ' || to_char(X_NEW_STATUS));
591 	arp_standard.debug('update_receipt_unid_to_unapp: ' || 'New Status Displayed : ' || to_char(X_NEW_STATUS_DSP));
592    END IF;
593 
594     -- Updating Return Status for Receipt ----
595 
596        x_status :=  X_NEW_STATUS_DSP;
597 
598 
599 
600 	/*--------------------------------+
601         |   Standard check of p_commit   |
602         +--------------------------------*/
603 
604         IF FND_API.To_Boolean( p_commit )
605         THEN
606             IF PG_DEBUG in ('Y', 'C') THEN
607                arp_util.debug('update_receipt_unid_to_unapp : ' || 'committing');
608             END IF;
609             Commit;
610         END IF;
611 
612 
613 	IF PG_DEBUG in ('Y', 'C') THEN
614             arp_standard.debug('ar_receipt_update_api_pub.update_receipt_unid_to_unapp()-');
615         END IF;
616 
617   EXCEPTION
618         WHEN OTHERS THEN
619 
620                      ROLLBACK TO Create_Cash_PVT;
621 		     --  Display_Parameters;
622                        x_return_status := FND_API.G_RET_STS_ERROR ;
623 		       x_status :=  'XXX';
624                        FND_MESSAGE.SET_NAME ('AR','GENERIC_MESSAGE');
625                        FND_MESSAGE.SET_TOKEN('GENERIC_TEXT','UPDATE_RECEIPT_UNID_TO_UNAPP : '||SQLERRM);
626                        FND_MSG_PUB.Add;
627 
628                        FND_MSG_PUB.Count_And_Get( p_encoded => FND_API.G_FALSE,
629                                                   p_count  =>  x_msg_count,
630                                                   p_data   => x_msg_data
631                                                 );
632                       RETURN;
633 END update_receipt_unid_to_unapp;
634 END;