99:
100: BEGIN
101:
102: IF PG_DEBUG in ('Y', 'C') THEN
103: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Related()+');
104: END IF;
105:
106: SELECT count(*)
107: INTO l_count
125:
126: IF (l_count = 0)
127: THEN
128: IF PG_DEBUG in ('Y', 'C') THEN
129: arp_util.debug('Drawee_Is_Related: ' || 'The drawee is not related to the bill to customer of the transaction');
130: END IF;
131: RETURN (FALSE);
132: ELSE
133: RETURN (TRUE);
133: RETURN (TRUE);
134: END IF;
135:
136: IF PG_DEBUG in ('Y', 'C') THEN
137: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Related()-');
138: END IF;
139:
140: EXCEPTION
141: WHEN OTHERS THEN
139:
140: EXCEPTION
141: WHEN OTHERS THEN
142: IF PG_DEBUG in ('Y', 'C') THEN
143: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Related () ');
144: arp_util.debug('Drawee_Is_Related: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
145: arp_util.debug('Drawee_Is_Related: ' || 'p_drawee_id = ' || p_drawee_id);
146: END IF;
147: RAISE;
140: EXCEPTION
141: WHEN OTHERS THEN
142: IF PG_DEBUG in ('Y', 'C') THEN
143: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Related () ');
144: arp_util.debug('Drawee_Is_Related: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
145: arp_util.debug('Drawee_Is_Related: ' || 'p_drawee_id = ' || p_drawee_id);
146: END IF;
147: RAISE;
148:
141: WHEN OTHERS THEN
142: IF PG_DEBUG in ('Y', 'C') THEN
143: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Related () ');
144: arp_util.debug('Drawee_Is_Related: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
145: arp_util.debug('Drawee_Is_Related: ' || 'p_drawee_id = ' || p_drawee_id);
146: END IF;
147: RAISE;
148:
149: END Drawee_Is_Related;
165:
166: BEGIN
167:
168: IF PG_DEBUG in ('Y', 'C') THEN
169: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Identical()+');
170: END IF;
171:
172: SELECT bill_to_customer_id
173: INTO l_bill_to_customer_id
176:
177: IF (l_bill_to_customer_id <> p_drawee_id)
178: THEN
179: IF PG_DEBUG in ('Y', 'C') THEN
180: arp_util.debug('Drawee_Is_Identical: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
181: arp_util.debug('Drawee_Is_Identical: ' || 'p_drawee_id = ' || p_drawee_id);
182: END IF;
183: RETURN (FALSE);
184: ELSE
177: IF (l_bill_to_customer_id <> p_drawee_id)
178: THEN
179: IF PG_DEBUG in ('Y', 'C') THEN
180: arp_util.debug('Drawee_Is_Identical: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
181: arp_util.debug('Drawee_Is_Identical: ' || 'p_drawee_id = ' || p_drawee_id);
182: END IF;
183: RETURN (FALSE);
184: ELSE
185: RETURN (TRUE);
185: RETURN (TRUE);
186: END IF;
187:
188: IF PG_DEBUG in ('Y', 'C') THEN
189: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Identical()-');
190: END IF;
191:
192: EXCEPTION
193: WHEN NO_DATA_FOUND THEN
191:
192: EXCEPTION
193: WHEN NO_DATA_FOUND THEN
194: IF PG_DEBUG in ('Y', 'C') THEN
195: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Identical () ');
196: arp_util.debug('Drawee_Is_Identical: ' || '>>>>>>>>>> Invalid BR ID');
197: arp_util.debug('Drawee_Is_Identical: ' || ' Customer Trx ID : ' || p_customer_trx_id);
198: END IF;
199: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_INVALID_BR_ID');
192: EXCEPTION
193: WHEN NO_DATA_FOUND THEN
194: IF PG_DEBUG in ('Y', 'C') THEN
195: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Identical () ');
196: arp_util.debug('Drawee_Is_Identical: ' || '>>>>>>>>>> Invalid BR ID');
197: arp_util.debug('Drawee_Is_Identical: ' || ' Customer Trx ID : ' || p_customer_trx_id);
198: END IF;
199: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_INVALID_BR_ID');
200: app_exception.raise_exception;
193: WHEN NO_DATA_FOUND THEN
194: IF PG_DEBUG in ('Y', 'C') THEN
195: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Identical () ');
196: arp_util.debug('Drawee_Is_Identical: ' || '>>>>>>>>>> Invalid BR ID');
197: arp_util.debug('Drawee_Is_Identical: ' || ' Customer Trx ID : ' || p_customer_trx_id);
198: END IF;
199: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_INVALID_BR_ID');
200: app_exception.raise_exception;
201:
200: app_exception.raise_exception;
201:
202: WHEN OTHERS THEN
203: IF PG_DEBUG in ('Y', 'C') THEN
204: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Identical () ');
205: arp_util.debug('Drawee_Is_Identical: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
206: arp_util.debug('Drawee_Is_Identical: ' || 'p_drawee_id = ' || p_drawee_id);
207: END IF;
208: RAISE;
201:
202: WHEN OTHERS THEN
203: IF PG_DEBUG in ('Y', 'C') THEN
204: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Identical () ');
205: arp_util.debug('Drawee_Is_Identical: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
206: arp_util.debug('Drawee_Is_Identical: ' || 'p_drawee_id = ' || p_drawee_id);
207: END IF;
208: RAISE;
209:
202: WHEN OTHERS THEN
203: IF PG_DEBUG in ('Y', 'C') THEN
204: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Drawee_Is_Identical () ');
205: arp_util.debug('Drawee_Is_Identical: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
206: arp_util.debug('Drawee_Is_Identical: ' || 'p_drawee_id = ' || p_drawee_id);
207: END IF;
208: RAISE;
209:
210: END Drawee_Is_Identical;
230: IS
231:
232: BEGIN
233: IF PG_DEBUG in ('Y', 'C') THEN
234: arp_util.debug('Validate_Drawee: ' || 'AR_BILLS_MAINTAIN_VAL_PVT.Validate_Relation()+');
235: arp_util.debug('Validate_Drawee: ' || 'Pay Unrelated Invoices Flag : ' || arp_global.sysparam.pay_unrelated_invoices_flag);
236: END IF;
237:
238:
231:
232: BEGIN
233: IF PG_DEBUG in ('Y', 'C') THEN
234: arp_util.debug('Validate_Drawee: ' || 'AR_BILLS_MAINTAIN_VAL_PVT.Validate_Relation()+');
235: arp_util.debug('Validate_Drawee: ' || 'Pay Unrelated Invoices Flag : ' || arp_global.sysparam.pay_unrelated_invoices_flag);
236: END IF;
237:
238:
239: IF (arp_global.sysparam.pay_unrelated_invoices_flag='Y')
242: ELSE
243: IF (Drawee_Is_Identical(p_customer_trx_id, p_drawee_id))
244: THEN
245: IF PG_DEBUG in ('Y', 'C') THEN
246: arp_util.debug('Validate_Drawee: ' || '>>>>>>>>>> Drawee is the same as the Bill-to Customer');
247: END IF;
248: RETURN (TRUE);
249:
250: ELSIF (Drawee_Is_Related(p_customer_trx_id, p_drawee_id, p_br_trx_date))
249:
250: ELSIF (Drawee_Is_Related(p_customer_trx_id, p_drawee_id, p_br_trx_date))
251: THEN
252: IF PG_DEBUG in ('Y', 'C') THEN
253: arp_util.debug('Validate_Drawee: ' || '>>>>>>>>>> Drawee is related to the Bill-to Customer');
254: END IF;
255: FND_MESSAGE.set_name ( 'AR', 'AR_BR_RELATED_CUSTOMER' );
256: FND_MESSAGE.set_token ( 'TRXNUM', p_trx_number);
257: RETURN (TRUE);
260: END IF;
261: END IF;
262:
263: IF PG_DEBUG in ('Y', 'C') THEN
264: arp_util.debug('Validate_Drawee: ' || 'AR_BILLS_MAINTAIN_VAL_PVT.Validate_Relation()-');
265: END IF;
266:
267: EXCEPTION
268: WHEN OTHERS THEN
266:
267: EXCEPTION
268: WHEN OTHERS THEN
269: IF PG_DEBUG in ('Y', 'C') THEN
270: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Drawee () ');
271: arp_util.debug('Validate_Drawee: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
272: arp_util.debug('Validate_Drawee: ' || 'p_drawee_id = ' || p_drawee_id);
273: END IF;
274: RAISE;
267: EXCEPTION
268: WHEN OTHERS THEN
269: IF PG_DEBUG in ('Y', 'C') THEN
270: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Drawee () ');
271: arp_util.debug('Validate_Drawee: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
272: arp_util.debug('Validate_Drawee: ' || 'p_drawee_id = ' || p_drawee_id);
273: END IF;
274: RAISE;
275:
268: WHEN OTHERS THEN
269: IF PG_DEBUG in ('Y', 'C') THEN
270: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Drawee () ');
271: arp_util.debug('Validate_Drawee: ' || 'p_customer_trx_id = ' || p_customer_trx_id);
272: arp_util.debug('Validate_Drawee: ' || 'p_drawee_id = ' || p_drawee_id);
273: END IF;
274: RAISE;
275:
276: END Validate_Drawee;
311:
312: BEGIN
313:
314: IF PG_DEBUG in ('Y', 'C') THEN
315: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Assignment()+');
316: END IF;
317:
318: l_reference_rate := -3;
319: l_total := 0;
354:
355: IF AR_BILLS_MAINTAIN_STATUS_PUB.Is_BR_Reserved (l_ps_rec)
356: THEN
357: IF PG_DEBUG in ('Y', 'C') THEN
358: arp_util.debug ('Validate_Assignment: ' || 'The transaction ' || l_trx_rec.trx_number || ' is reserved, it cannot be assigned');
359: END IF;
360: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_TRX_ALREADY_ASSIGN');
361: FND_MESSAGE.SET_TOKEN ('TRXNUM', l_trx_rec.trx_number);
362: app_exception.raise_exception;
380:
381: IF ABS(assignment_rec.extended_amount) > ABS(l_ps_rec.amount_due_remaining)
382: THEN
383: IF PG_DEBUG in ('Y', 'C') THEN
384: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Amount Exchanged Exceed PS');
385: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Overapplication not allowed');
386: arp_util.debug('Validate_Assignment: ' || 'Invoice concerned : ' || assignment_rec.br_ref_customer_trx_id);
387: arp_util.debug('Validate_Assignment: ' || 'PS concerned : ' || assignment_rec.br_ref_payment_schedule_id);
388: arp_util.debug('Validate_Assignment: ' || 'Amount assigned : ' || assignment_rec.extended_amount);
381: IF ABS(assignment_rec.extended_amount) > ABS(l_ps_rec.amount_due_remaining)
382: THEN
383: IF PG_DEBUG in ('Y', 'C') THEN
384: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Amount Exchanged Exceed PS');
385: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Overapplication not allowed');
386: arp_util.debug('Validate_Assignment: ' || 'Invoice concerned : ' || assignment_rec.br_ref_customer_trx_id);
387: arp_util.debug('Validate_Assignment: ' || 'PS concerned : ' || assignment_rec.br_ref_payment_schedule_id);
388: arp_util.debug('Validate_Assignment: ' || 'Amount assigned : ' || assignment_rec.extended_amount);
389: arp_util.debug('Validate_Assignment: ' || 'PS Remaining : ' || l_ps_rec.amount_due_remaining);
382: THEN
383: IF PG_DEBUG in ('Y', 'C') THEN
384: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Amount Exchanged Exceed PS');
385: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Overapplication not allowed');
386: arp_util.debug('Validate_Assignment: ' || 'Invoice concerned : ' || assignment_rec.br_ref_customer_trx_id);
387: arp_util.debug('Validate_Assignment: ' || 'PS concerned : ' || assignment_rec.br_ref_payment_schedule_id);
388: arp_util.debug('Validate_Assignment: ' || 'Amount assigned : ' || assignment_rec.extended_amount);
389: arp_util.debug('Validate_Assignment: ' || 'PS Remaining : ' || l_ps_rec.amount_due_remaining);
390: END IF;
383: IF PG_DEBUG in ('Y', 'C') THEN
384: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Amount Exchanged Exceed PS');
385: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Overapplication not allowed');
386: arp_util.debug('Validate_Assignment: ' || 'Invoice concerned : ' || assignment_rec.br_ref_customer_trx_id);
387: arp_util.debug('Validate_Assignment: ' || 'PS concerned : ' || assignment_rec.br_ref_payment_schedule_id);
388: arp_util.debug('Validate_Assignment: ' || 'Amount assigned : ' || assignment_rec.extended_amount);
389: arp_util.debug('Validate_Assignment: ' || 'PS Remaining : ' || l_ps_rec.amount_due_remaining);
390: END IF;
391: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_OVERAPPLY');
384: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Amount Exchanged Exceed PS');
385: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Overapplication not allowed');
386: arp_util.debug('Validate_Assignment: ' || 'Invoice concerned : ' || assignment_rec.br_ref_customer_trx_id);
387: arp_util.debug('Validate_Assignment: ' || 'PS concerned : ' || assignment_rec.br_ref_payment_schedule_id);
388: arp_util.debug('Validate_Assignment: ' || 'Amount assigned : ' || assignment_rec.extended_amount);
389: arp_util.debug('Validate_Assignment: ' || 'PS Remaining : ' || l_ps_rec.amount_due_remaining);
390: END IF;
391: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_OVERAPPLY');
392: FND_MESSAGE.SET_TOKEN ('TRXNUM', l_trx_rec.trx_number);
385: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Overapplication not allowed');
386: arp_util.debug('Validate_Assignment: ' || 'Invoice concerned : ' || assignment_rec.br_ref_customer_trx_id);
387: arp_util.debug('Validate_Assignment: ' || 'PS concerned : ' || assignment_rec.br_ref_payment_schedule_id);
388: arp_util.debug('Validate_Assignment: ' || 'Amount assigned : ' || assignment_rec.extended_amount);
389: arp_util.debug('Validate_Assignment: ' || 'PS Remaining : ' || l_ps_rec.amount_due_remaining);
390: END IF;
391: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_OVERAPPLY');
392: FND_MESSAGE.SET_TOKEN ('TRXNUM', l_trx_rec.trx_number);
393: app_exception.raise_exception;
400: +---------------------------------------*/
401:
402: IF (l_trx_rec.invoice_currency_code <> p_trx_rec.invoice_currency_code) THEN
403: IF PG_DEBUG in ('Y', 'C') THEN
404: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> All transactions must have the same currency as the BR Header');
405: arp_util.debug('Validate_Assignment: ' || 'Header Currency : ' || p_trx_rec.invoice_currency_code);
406: arp_util.debug('Validate_Assignment: ' || 'Line Currency : ' || l_trx_rec.invoice_currency_code);
407: END IF;
408: FND_MESSAGE.set_name ( 'AR', 'AR_BR_BAD_ASSIGN_CURRENCY' );
401:
402: IF (l_trx_rec.invoice_currency_code <> p_trx_rec.invoice_currency_code) THEN
403: IF PG_DEBUG in ('Y', 'C') THEN
404: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> All transactions must have the same currency as the BR Header');
405: arp_util.debug('Validate_Assignment: ' || 'Header Currency : ' || p_trx_rec.invoice_currency_code);
406: arp_util.debug('Validate_Assignment: ' || 'Line Currency : ' || l_trx_rec.invoice_currency_code);
407: END IF;
408: FND_MESSAGE.set_name ( 'AR', 'AR_BR_BAD_ASSIGN_CURRENCY' );
409: app_exception.raise_exception;
402: IF (l_trx_rec.invoice_currency_code <> p_trx_rec.invoice_currency_code) THEN
403: IF PG_DEBUG in ('Y', 'C') THEN
404: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> All transactions must have the same currency as the BR Header');
405: arp_util.debug('Validate_Assignment: ' || 'Header Currency : ' || p_trx_rec.invoice_currency_code);
406: arp_util.debug('Validate_Assignment: ' || 'Line Currency : ' || l_trx_rec.invoice_currency_code);
407: END IF;
408: FND_MESSAGE.set_name ( 'AR', 'AR_BR_BAD_ASSIGN_CURRENCY' );
409: app_exception.raise_exception;
410: END IF;
420: END IF;
421:
422: IF (l_trx_rec.exchange_rate <> l_reference_rate) THEN
423: IF PG_DEBUG in ('Y', 'C') THEN
424: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> All transactions must have the same exchange rate');
425: arp_util.debug('Validate_Assignment: ' || 'Reference Rate : ' || l_reference_rate);
426: arp_util.debug('Validate_Assignment: ' || 'Line Rate : ' || l_trx_rec.exchange_rate);
427: END IF;
428: FND_MESSAGE.set_name ( 'AR', 'AR_BR_BAD_ASSIGN_RATE' );
421:
422: IF (l_trx_rec.exchange_rate <> l_reference_rate) THEN
423: IF PG_DEBUG in ('Y', 'C') THEN
424: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> All transactions must have the same exchange rate');
425: arp_util.debug('Validate_Assignment: ' || 'Reference Rate : ' || l_reference_rate);
426: arp_util.debug('Validate_Assignment: ' || 'Line Rate : ' || l_trx_rec.exchange_rate);
427: END IF;
428: FND_MESSAGE.set_name ( 'AR', 'AR_BR_BAD_ASSIGN_RATE' );
429: app_exception.raise_exception;
422: IF (l_trx_rec.exchange_rate <> l_reference_rate) THEN
423: IF PG_DEBUG in ('Y', 'C') THEN
424: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> All transactions must have the same exchange rate');
425: arp_util.debug('Validate_Assignment: ' || 'Reference Rate : ' || l_reference_rate);
426: arp_util.debug('Validate_Assignment: ' || 'Line Rate : ' || l_trx_rec.exchange_rate);
427: END IF;
428: FND_MESSAGE.set_name ( 'AR', 'AR_BR_BAD_ASSIGN_RATE' );
429: app_exception.raise_exception;
430: END IF;
438:
439: IF (NOT validate_drawee(assignment_rec.br_ref_customer_trx_id, p_trx_rec.drawee_id, l_trx_rec.trx_number, p_trx_rec.trx_date))
440: THEN
441: IF PG_DEBUG in ('Y', 'C') THEN
442: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> The drawee is not related to the bill to customer');
443: END IF;
444: FND_MESSAGE.set_name ('AR', 'AR_BR_UNRELATED_CUSTOMER' );
445: FND_MESSAGE.set_token('TRXNUM', l_trx_rec.trx_number);
446: app_exception.raise_exception;
457:
458: IF (l_total <= 0)
459: THEN
460: IF PG_DEBUG in ('Y', 'C') THEN
461: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> The BR Total must be positibe');
462: END IF;
463: FND_MESSAGE.set_name ('AR', 'AR_BR_INVALID_AMOUNT' );
464: app_exception.raise_exception;
465:
482: +---------------------------------------*/
483:
484: IF (p_trx_rec.br_amount <> l_total) THEN
485: IF PG_DEBUG in ('Y', 'C') THEN
486: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> The total of the assignments must match the BR Amount');
487: arp_util.debug('Validate_Assignment: ' || 'Header Total Amount : ' || p_trx_rec.br_amount);
488: arp_util.debug('Validate_Assignment: ' || 'Lines Total Amount : ' || l_total);
489: END IF;
490: FND_MESSAGE.set_name ( 'AR', 'AR_BR_BAD_TOTAL_AMOUNT' );
483:
484: IF (p_trx_rec.br_amount <> l_total) THEN
485: IF PG_DEBUG in ('Y', 'C') THEN
486: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> The total of the assignments must match the BR Amount');
487: arp_util.debug('Validate_Assignment: ' || 'Header Total Amount : ' || p_trx_rec.br_amount);
488: arp_util.debug('Validate_Assignment: ' || 'Lines Total Amount : ' || l_total);
489: END IF;
490: FND_MESSAGE.set_name ( 'AR', 'AR_BR_BAD_TOTAL_AMOUNT' );
491: app_exception.raise_exception;
484: IF (p_trx_rec.br_amount <> l_total) THEN
485: IF PG_DEBUG in ('Y', 'C') THEN
486: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> The total of the assignments must match the BR Amount');
487: arp_util.debug('Validate_Assignment: ' || 'Header Total Amount : ' || p_trx_rec.br_amount);
488: arp_util.debug('Validate_Assignment: ' || 'Lines Total Amount : ' || l_total);
489: END IF;
490: FND_MESSAGE.set_name ( 'AR', 'AR_BR_BAD_TOTAL_AMOUNT' );
491: app_exception.raise_exception;
492: END IF;
499:
500: l_functional_currency := arp_global.functional_currency;
501:
502: IF PG_DEBUG in ('Y', 'C') THEN
503: arp_util.debug ('Validate_Assignment: ' || 'Functional Currency : ' || arp_global.functional_currency);
504: arp_util.debug ('Validate_Assignment: ' || 'BR Currency : ' || p_trx_rec.invoice_currency_code);
505: END IF;
506:
507: IF (p_trx_rec.invoice_currency_code <> l_functional_currency)
500: l_functional_currency := arp_global.functional_currency;
501:
502: IF PG_DEBUG in ('Y', 'C') THEN
503: arp_util.debug ('Validate_Assignment: ' || 'Functional Currency : ' || arp_global.functional_currency);
504: arp_util.debug ('Validate_Assignment: ' || 'BR Currency : ' || p_trx_rec.invoice_currency_code);
505: END IF;
506:
507: IF (p_trx_rec.invoice_currency_code <> l_functional_currency)
508: THEN
512: p_trx_rec.exchange_date := l_trx_rec.exchange_date;
513: END IF;
514:
515: IF PG_DEBUG in ('Y', 'C') THEN
516: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Assignment()-');
517: END IF;
518:
519: EXCEPTION
520: WHEN OTHERS THEN
518:
519: EXCEPTION
520: WHEN OTHERS THEN
521: IF PG_DEBUG in ('Y', 'C') THEN
522: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Assignment () ');
523: END IF;
524: IF (assignment_cur%ISOPEN)
525: THEN
526: CLOSE assignment_cur;
557:
558: BEGIN
559:
560: IF PG_DEBUG in ('Y', 'C') THEN
561: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Assignment_Exist()+');
562: END IF;
563:
564: FOR assignment_rec IN assignment_cur LOOP
565: SELECT 'Y'
569:
570: END LOOP;
571:
572: IF PG_DEBUG in ('Y', 'C') THEN
573: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Assignment_Exist()-');
574: END IF;
575:
576: EXCEPTION
577: WHEN NO_DATA_FOUND THEN
575:
576: EXCEPTION
577: WHEN NO_DATA_FOUND THEN
578: IF PG_DEBUG in ('Y', 'C') THEN
579: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Assignment_Exist () ');
580: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Exchanged Transaction has been purged : ' || assignment_rec.br_ref_customer_trx_id);
581: END IF;
582: IF (assignment_cur%ISOPEN)
583: THEN
576: EXCEPTION
577: WHEN NO_DATA_FOUND THEN
578: IF PG_DEBUG in ('Y', 'C') THEN
579: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Assignment_Exist () ');
580: arp_util.debug('Validate_Assignment: ' || '>>>>>>>>>> Exchanged Transaction has been purged : ' || assignment_rec.br_ref_customer_trx_id);
581: END IF;
582: IF (assignment_cur%ISOPEN)
583: THEN
584: CLOSE assignment_cur;
587: app_exception.raise_exception;
588:
589: WHEN OTHERS THEN
590: IF PG_DEBUG in ('Y', 'C') THEN
591: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Assignment_Exist () ');
592: END IF;
593: IF (assignment_cur%ISOPEN)
594: THEN
595: CLOSE assignment_cur;
615: l_batch_id_valid VARCHAR2(1);
616:
617: BEGIN
618: IF PG_DEBUG in ('Y', 'C') THEN
619: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Remit_Batch_ID()+');
620: END IF;
621:
622: IF (p_batch_id IS NOT NULL) THEN
623: SELECT 'Y'
626: WHERE batch_id = p_batch_id;
627: END IF;
628:
629: IF PG_DEBUG in ('Y', 'C') THEN
630: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Remit_Batch_ID()-');
631: END IF;
632:
633: EXCEPTION
634: WHEN NO_DATA_FOUND THEN
632:
633: EXCEPTION
634: WHEN NO_DATA_FOUND THEN
635: IF PG_DEBUG in ('Y', 'C') THEN
636: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Remit_Batch_ID () ');
637: arp_util.debug('Validate_Remit_Batch_ID: ' || '>>>>>>>>>> Invalid Batch ID');
638: arp_util.debug('Validate_Remit_Batch_ID: ' || 'Batch ID : ' || p_batch_id);
639: END IF;
640: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_INVALID_BATCH_ID');
633: EXCEPTION
634: WHEN NO_DATA_FOUND THEN
635: IF PG_DEBUG in ('Y', 'C') THEN
636: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Remit_Batch_ID () ');
637: arp_util.debug('Validate_Remit_Batch_ID: ' || '>>>>>>>>>> Invalid Batch ID');
638: arp_util.debug('Validate_Remit_Batch_ID: ' || 'Batch ID : ' || p_batch_id);
639: END IF;
640: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_INVALID_BATCH_ID');
641: app_exception.raise_exception;
634: WHEN NO_DATA_FOUND THEN
635: IF PG_DEBUG in ('Y', 'C') THEN
636: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Remit_Batch_ID () ');
637: arp_util.debug('Validate_Remit_Batch_ID: ' || '>>>>>>>>>> Invalid Batch ID');
638: arp_util.debug('Validate_Remit_Batch_ID: ' || 'Batch ID : ' || p_batch_id);
639: END IF;
640: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_INVALID_BATCH_ID');
641: app_exception.raise_exception;
642:
641: app_exception.raise_exception;
642:
643: WHEN OTHERS THEN
644: IF PG_DEBUG in ('Y', 'C') THEN
645: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Remit_Batch_ID () ');
646: END IF;
647: RAISE;
648:
649:
666: l_payment_schedule_id_valid VARCHAR2(1);
667:
668: BEGIN
669: IF PG_DEBUG in ('Y', 'C') THEN
670: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Payment_Schedule_ID()+');
671: END IF;
672:
673: SELECT 'Y'
674: INTO l_payment_schedule_id_valid
675: FROM AR_PAYMENT_SCHEDULES
676: WHERE payment_schedule_id = p_payment_schedule_id;
677:
678: IF PG_DEBUG in ('Y', 'C') THEN
679: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Payment_Schedule_ID()-');
680: END IF;
681:
682: EXCEPTION
683: WHEN NO_DATA_FOUND THEN
681:
682: EXCEPTION
683: WHEN NO_DATA_FOUND THEN
684: IF PG_DEBUG in ('Y', 'C') THEN
685: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Payment_Schedule_ID () ');
686: arp_util.debug('Validate_Payment_Schedule_ID: ' || '>>>>>>>>>> Invalid Payment Schedule ID');
687: arp_util.debug('Validate_Payment_Schedule_ID: ' || 'Payment Schedule ID : ' || p_payment_schedule_id);
688: END IF;
689: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_INVALID_PS_ID');
682: EXCEPTION
683: WHEN NO_DATA_FOUND THEN
684: IF PG_DEBUG in ('Y', 'C') THEN
685: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Payment_Schedule_ID () ');
686: arp_util.debug('Validate_Payment_Schedule_ID: ' || '>>>>>>>>>> Invalid Payment Schedule ID');
687: arp_util.debug('Validate_Payment_Schedule_ID: ' || 'Payment Schedule ID : ' || p_payment_schedule_id);
688: END IF;
689: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_INVALID_PS_ID');
690: app_exception.raise_exception;
683: WHEN NO_DATA_FOUND THEN
684: IF PG_DEBUG in ('Y', 'C') THEN
685: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Payment_Schedule_ID () ');
686: arp_util.debug('Validate_Payment_Schedule_ID: ' || '>>>>>>>>>> Invalid Payment Schedule ID');
687: arp_util.debug('Validate_Payment_Schedule_ID: ' || 'Payment Schedule ID : ' || p_payment_schedule_id);
688: END IF;
689: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_INVALID_PS_ID');
690: app_exception.raise_exception;
691:
690: app_exception.raise_exception;
691:
692: WHEN OTHERS THEN
693: IF PG_DEBUG in ('Y', 'C') THEN
694: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Payment_Schedule_ID () ');
695: END IF;
696: RAISE;
697:
698: END Validate_Payment_Schedule_ID;
713: l_adjustment_activity_valid VARCHAR2(1);
714:
715: BEGIN
716: IF PG_DEBUG in ('Y', 'C') THEN
717: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Adj_Activity_ID()+');
718: END IF;
719:
720: IF (p_adjustment_activity_id IS NOT NULL)
721: THEN
727: AND status = 'A'
728: AND type = 'ENDORSEMENT';
729: ELSE
730: IF PG_DEBUG in ('Y', 'C') THEN
731: arp_util.debug ('Validate_Adj_Activity_ID: ' || 'The Adjustment Activity is missing');
732: END IF;
733: FND_MESSAGE.SET_NAME ('AR', 'AR_PROCEDURE_VALID_ARGS_FAIL');
734: FND_MESSAGE.SET_TOKEN ('PARAMETER', 'Adjustment Activity');
735: FND_MESSAGE.SET_TOKEN ('PROCEDURE', 'Endorse');
736: app_exception.raise_exception;
737: END IF;
738:
739: IF PG_DEBUG in ('Y', 'C') THEN
740: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Adj_Activity_ID()-');
741: END IF;
742:
743: EXCEPTION
744: WHEN NO_DATA_FOUND THEN
742:
743: EXCEPTION
744: WHEN NO_DATA_FOUND THEN
745: IF PG_DEBUG in ('Y', 'C') THEN
746: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Adj_Activity_ID () ');
747: arp_util.debug('Validate_Adj_Activity_ID: ' || '>>>>>>>>>> Invalid Adjustment Activity ID');
748: arp_util.debug('Validate_Adj_Activity_ID: ' || 'p_adjustment_activity_id : ' || p_adjustment_activity_id);
749: END IF;
750: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_RCVABLE_ID');
743: EXCEPTION
744: WHEN NO_DATA_FOUND THEN
745: IF PG_DEBUG in ('Y', 'C') THEN
746: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Adj_Activity_ID () ');
747: arp_util.debug('Validate_Adj_Activity_ID: ' || '>>>>>>>>>> Invalid Adjustment Activity ID');
748: arp_util.debug('Validate_Adj_Activity_ID: ' || 'p_adjustment_activity_id : ' || p_adjustment_activity_id);
749: END IF;
750: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_RCVABLE_ID');
751: FND_MESSAGE.SET_TOKEN ('RECEIVABLES_TRX_ID', p_adjustment_activity_id);
744: WHEN NO_DATA_FOUND THEN
745: IF PG_DEBUG in ('Y', 'C') THEN
746: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Adj_Activity_ID () ');
747: arp_util.debug('Validate_Adj_Activity_ID: ' || '>>>>>>>>>> Invalid Adjustment Activity ID');
748: arp_util.debug('Validate_Adj_Activity_ID: ' || 'p_adjustment_activity_id : ' || p_adjustment_activity_id);
749: END IF;
750: FND_MESSAGE.SET_NAME ('AR', 'AR_AAPI_INVALID_RCVABLE_ID');
751: FND_MESSAGE.SET_TOKEN ('RECEIVABLES_TRX_ID', p_adjustment_activity_id);
752: app_exception.raise_exception;
752: app_exception.raise_exception;
753:
754: WHEN OTHERS THEN
755: IF PG_DEBUG in ('Y', 'C') THEN
756: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Adj_Activity_ID () ');
757: END IF;
758: RAISE;
759:
760:
777: l_reversal_reason_valid VARCHAR2(1);
778: BEGIN
779:
780: IF PG_DEBUG in ('Y', 'C') THEN
781: arp_util.debug('AR_BILLS_MAINTAIN_VAL_LIB_PVT.Validate_Reversal_Reason()+');
782: END IF;
783:
784: SELECT 'Y'
785: INTO l_reversal_reason_valid
788: and enabled_flag = 'Y'
789: and lookup_code = p_reversal_reason;
790:
791: IF PG_DEBUG in ('Y', 'C') THEN
792: arp_util.debug('AR_BILLS_MAINTAIN_VAL_LIB_PVT.Validate_Reversal_Reason()-');
793: END IF;
794:
795: EXCEPTION
796: WHEN NO_DATA_FOUND THEN
794:
795: EXCEPTION
796: WHEN NO_DATA_FOUND THEN
797: IF PG_DEBUG in ('Y', 'C') THEN
798: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_LIB_PVT.Validate_Reversal_Reason () ');
799: arp_util.debug ('Validate_Reversal_Reason: ' || '>>>>>>>>>> The reversal reason is invalid');
800: END IF;
801: FND_MESSAGE.SET_NAME('AR','AR_BR_INVALID_REVERSAL_REASON');
802: app_exception.raise_exception;
795: EXCEPTION
796: WHEN NO_DATA_FOUND THEN
797: IF PG_DEBUG in ('Y', 'C') THEN
798: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_LIB_PVT.Validate_Reversal_Reason () ');
799: arp_util.debug ('Validate_Reversal_Reason: ' || '>>>>>>>>>> The reversal reason is invalid');
800: END IF;
801: FND_MESSAGE.SET_NAME('AR','AR_BR_INVALID_REVERSAL_REASON');
802: app_exception.raise_exception;
803:
802: app_exception.raise_exception;
803:
804: WHEN Others THEN
805: IF PG_DEBUG in ('Y', 'C') THEN
806: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_LIB_PVT.Validate_Reversal_Reason () ');
807: arp_util.debug('Validate_Reversal_Reason: ' || 'p_reversal_reason : ' || p_reversal_reason);
808: END IF;
809: RAISE;
810: END Validate_Reversal_Reason;
803:
804: WHEN Others THEN
805: IF PG_DEBUG in ('Y', 'C') THEN
806: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_LIB_PVT.Validate_Reversal_Reason () ');
807: arp_util.debug('Validate_Reversal_Reason: ' || 'p_reversal_reason : ' || p_reversal_reason);
808: END IF;
809: RAISE;
810: END Validate_Reversal_Reason;
811:
832:
833: BEGIN
834:
835: IF PG_DEBUG in ('Y', 'C') THEN
836: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Complete_BR()+');
837: END IF;
838:
839:
840: -- Validate GL Date
846:
847: Validate_Assignment (p_trx_rec);
848:
849: IF PG_DEBUG in ('Y', 'C') THEN
850: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Complete_BR()-');
851: END IF;
852:
853: EXCEPTION
854: WHEN Others THEN
852:
853: EXCEPTION
854: WHEN Others THEN
855: IF PG_DEBUG in ('Y', 'C') THEN
856: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Complete_BR () ');
857: END IF;
858: RAISE;
859:
860: END Validate_Complete_BR;
877:
878: BEGIN
879:
880: IF PG_DEBUG in ('Y', 'C') THEN
881: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Accept_BR()+');
882: END IF;
883:
884:
885: /*--------------------------------------+
889:
890: IF (p_trh_rec.gl_date < p_trx_rec.trx_date)
891: THEN
892: IF PG_DEBUG in ('Y', 'C') THEN
893: arp_util.debug('Validate_Accept_BR: ' || '>>>>>>>>>> Acceptance GL Date must not be prior to the Issue Date');
894: arp_util.debug('Validate_Accept_BR: ' || 'Acceptance GL Date : ' || p_trh_rec.gl_date);
895: arp_util.debug('Validate_Accept_BR: ' || 'Issue Date : ' || p_trx_rec.trx_date);
896: END IF;
897: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_ACCEPT_GL_DATE' );
890: IF (p_trh_rec.gl_date < p_trx_rec.trx_date)
891: THEN
892: IF PG_DEBUG in ('Y', 'C') THEN
893: arp_util.debug('Validate_Accept_BR: ' || '>>>>>>>>>> Acceptance GL Date must not be prior to the Issue Date');
894: arp_util.debug('Validate_Accept_BR: ' || 'Acceptance GL Date : ' || p_trh_rec.gl_date);
895: arp_util.debug('Validate_Accept_BR: ' || 'Issue Date : ' || p_trx_rec.trx_date);
896: END IF;
897: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_ACCEPT_GL_DATE' );
898: app_exception.raise_exception;
891: THEN
892: IF PG_DEBUG in ('Y', 'C') THEN
893: arp_util.debug('Validate_Accept_BR: ' || '>>>>>>>>>> Acceptance GL Date must not be prior to the Issue Date');
894: arp_util.debug('Validate_Accept_BR: ' || 'Acceptance GL Date : ' || p_trh_rec.gl_date);
895: arp_util.debug('Validate_Accept_BR: ' || 'Issue Date : ' || p_trx_rec.trx_date);
896: END IF;
897: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_ACCEPT_GL_DATE' );
898: app_exception.raise_exception;
899: END IF;
906:
907: IF (p_trh_rec.trx_date < p_trx_rec.trx_date)
908: THEN
909: IF PG_DEBUG in ('Y', 'C') THEN
910: arp_util.debug('Validate_Accept_BR: ' || '>>>>>>>>>> Acceptance Date must not be prior to the Issue Date');
911: arp_util.debug('Validate_Accept_BR: ' || 'Acceptance Date : ' || p_trh_rec.trx_date);
912: arp_util.debug('Validate_Accept_BR: ' || 'Issue Date : ' || p_trx_rec.trx_date);
913: END IF;
914: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_ACCEPT_DATE' );
907: IF (p_trh_rec.trx_date < p_trx_rec.trx_date)
908: THEN
909: IF PG_DEBUG in ('Y', 'C') THEN
910: arp_util.debug('Validate_Accept_BR: ' || '>>>>>>>>>> Acceptance Date must not be prior to the Issue Date');
911: arp_util.debug('Validate_Accept_BR: ' || 'Acceptance Date : ' || p_trh_rec.trx_date);
912: arp_util.debug('Validate_Accept_BR: ' || 'Issue Date : ' || p_trx_rec.trx_date);
913: END IF;
914: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_ACCEPT_DATE' );
915: app_exception.raise_exception;
908: THEN
909: IF PG_DEBUG in ('Y', 'C') THEN
910: arp_util.debug('Validate_Accept_BR: ' || '>>>>>>>>>> Acceptance Date must not be prior to the Issue Date');
911: arp_util.debug('Validate_Accept_BR: ' || 'Acceptance Date : ' || p_trh_rec.trx_date);
912: arp_util.debug('Validate_Accept_BR: ' || 'Issue Date : ' || p_trx_rec.trx_date);
913: END IF;
914: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_ACCEPT_DATE' );
915: app_exception.raise_exception;
916: END IF;
916: END IF;
917:
918:
919: IF PG_DEBUG in ('Y', 'C') THEN
920: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Accept_BR()-');
921: END IF;
922:
923: EXCEPTION
924: WHEN Others THEN
922:
923: EXCEPTION
924: WHEN Others THEN
925: IF PG_DEBUG in ('Y', 'C') THEN
926: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Accept_BR () ');
927: END IF;
928: RAISE;
929:
930: END Validate_Accept_BR;
946:
947: BEGIN
948:
949: IF PG_DEBUG in ('Y', 'C') THEN
950: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Cancel_BR()+');
951: END IF;
952:
953: /*----------------------------------------------+
954: | Validate that the exchanged transactions |
958: Validate_Assignment_Exist (p_customer_trx_id);
959:
960:
961: IF PG_DEBUG in ('Y', 'C') THEN
962: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Cancel_BR()-');
963: END IF;
964:
965: EXCEPTION
966: WHEN Others THEN
964:
965: EXCEPTION
966: WHEN Others THEN
967: IF PG_DEBUG in ('Y', 'C') THEN
968: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Cancel_BR () ');
969: END IF;
970: RAISE;
971:
972: END Validate_Cancel_BR;
992:
993: BEGIN
994:
995: IF PG_DEBUG in ('Y', 'C') THEN
996: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Unpaid_BR()+');
997: END IF;
998:
999:
1000: -- Validate the Reversal Reason Category
1005: ELSE
1006: IF (p_trh_rec.status = C_MATURED_PEND_RISK_ELIM) or (p_trh_rec.event = C_CLOSED)
1007: THEN
1008: IF PG_DEBUG in ('Y', 'C') THEN
1009: arp_util.debug ('Validate_Unpaid_BR: ' || '>>>>>>>>>> The Unpaid reason is missing');
1010: END IF;
1011: FND_MESSAGE.SET_NAME ('AR', 'AR_BR_UNPAID_REASON_NULL');
1012: app_exception.raise_exception;
1013: END IF;
1013: END IF;
1014: END IF;
1015:
1016: IF PG_DEBUG in ('Y', 'C') THEN
1017: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Unpaid_BR()-');
1018: END IF;
1019:
1020: EXCEPTION
1021: WHEN Others THEN
1019:
1020: EXCEPTION
1021: WHEN Others THEN
1022: IF PG_DEBUG in ('Y', 'C') THEN
1023: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Unpaid_BR () ');
1024: END IF;
1025: RAISE;
1026:
1027: END Validate_Unpaid_BR;
1047:
1048: BEGIN
1049:
1050: IF PG_DEBUG in ('Y', 'C') THEN
1051: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Action_Dates()+');
1052: END IF;
1053:
1054:
1055: /*--------------------------------------+
1061:
1062: IF (p_trx_date < p_trh_rec.trx_date)
1063: THEN
1064: IF PG_DEBUG in ('Y', 'C') THEN
1065: arp_util.debug('Validate_Action_Dates: ' || '>>>>>>>>>> The ' || p_action || ' Date ' || p_trx_date || ' must not be prior to ' || p_trh_rec.trx_date);
1066: END IF;
1067: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_TRX_DATE' );
1068: FND_MESSAGE.set_token ( 'ACTION' , p_action);
1069: FND_MESSAGE.set_token ( 'NEW_TRX_DATE', to_char(p_trx_date));
1085:
1086: IF (p_gl_date < nvl(p_trh_rec.gl_date, p_gl_date))
1087: THEN
1088: IF PG_DEBUG in ('Y', 'C') THEN
1089: arp_util.debug('Validate_Action_Dates: ' || '>>>>>>>>>> The ' || p_action || ' GL Date ' || p_gl_date || ' must not be prior to ' || p_trh_rec.gl_date);
1090: END IF;
1091: FND_MESSAGE.set_name( 'AR', 'AR_BR_INVALID_GL_DATE' );
1092: -- Bug 1865580: BR Message revision 7: only pass old_gl_date
1093: -- as token
1097: END IF;
1098: END IF;
1099:
1100: IF PG_DEBUG in ('Y', 'C') THEN
1101: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Action_Dates()-');
1102: END IF;
1103:
1104: EXCEPTION
1105: WHEN Others THEN
1103:
1104: EXCEPTION
1105: WHEN Others THEN
1106: IF PG_DEBUG in ('Y', 'C') THEN
1107: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Action_Dates () ');
1108: END IF;
1109: RAISE;
1110:
1111: END Validate_Action_Dates;
1130:
1131: BEGIN
1132:
1133: IF PG_DEBUG in ('Y', 'C') THEN
1134: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Remittance_Dates()+');
1135: END IF;
1136:
1137:
1138: /*----------------------------------------------+
1143:
1144: IF trunc(p_batch_rec.batch_date) < p_trh_rec.trx_date
1145: THEN
1146: IF PG_DEBUG in ('Y', 'C') THEN
1147: arp_util.debug('Validate_Remittance_Dates: ' || '>>>>>>>>>> The BR ' || p_trx_number || ' cannot be selected in this remittance batch');
1148: arp_util.debug('Validate_Remittance_Dates: ' || ' To include this BR, the batch date should not be prior to ' || p_trh_rec.trx_date);
1149: END IF;
1150: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_REMIT_DATE' );
1151: FND_MESSAGE.set_token ( 'BRNUM' , p_trx_number);
1144: IF trunc(p_batch_rec.batch_date) < p_trh_rec.trx_date
1145: THEN
1146: IF PG_DEBUG in ('Y', 'C') THEN
1147: arp_util.debug('Validate_Remittance_Dates: ' || '>>>>>>>>>> The BR ' || p_trx_number || ' cannot be selected in this remittance batch');
1148: arp_util.debug('Validate_Remittance_Dates: ' || ' To include this BR, the batch date should not be prior to ' || p_trh_rec.trx_date);
1149: END IF;
1150: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_REMIT_DATE' );
1151: FND_MESSAGE.set_token ( 'BRNUM' , p_trx_number);
1152: FND_MESSAGE.set_token ( 'TRX_DATE', to_char(p_trh_rec.trx_date));
1163:
1164: IF trunc(p_batch_rec.gl_date) < nvl(p_trh_rec.gl_date, p_batch_rec.gl_date)
1165: THEN
1166: IF PG_DEBUG in ('Y', 'C') THEN
1167: arp_util.debug('Validate_Remittance_Dates: ' || '>>>>>>>>>> The BR ' || p_trx_number || ' cannot be selected in this remittance batch');
1168: arp_util.debug('Validate_Remittance_Dates: ' || ' To include this BR, the batch GL date should not be prior to ' || p_trh_rec.gl_date);
1169: END IF;
1170: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_REMIT_GL_DATE' );
1171: FND_MESSAGE.set_token ( 'BRNUM' , p_trx_number);
1164: IF trunc(p_batch_rec.gl_date) < nvl(p_trh_rec.gl_date, p_batch_rec.gl_date)
1165: THEN
1166: IF PG_DEBUG in ('Y', 'C') THEN
1167: arp_util.debug('Validate_Remittance_Dates: ' || '>>>>>>>>>> The BR ' || p_trx_number || ' cannot be selected in this remittance batch');
1168: arp_util.debug('Validate_Remittance_Dates: ' || ' To include this BR, the batch GL date should not be prior to ' || p_trh_rec.gl_date);
1169: END IF;
1170: FND_MESSAGE.set_name ( 'AR', 'AR_BR_INVALID_REMIT_GL_DATE' );
1171: FND_MESSAGE.set_token ( 'BRNUM' , p_trx_number);
1172: FND_MESSAGE.set_token ( 'GL_DATE', to_char(p_trh_rec.gl_date));
1173: app_exception.raise_exception;
1174: END IF;
1175:
1176: IF PG_DEBUG in ('Y', 'C') THEN
1177: arp_util.debug('AR_BILLS_MAINTAIN_VAL_PVT.Validate_Remittance_Dates()-');
1178: END IF;
1179:
1180: EXCEPTION
1181: WHEN Others THEN
1179:
1180: EXCEPTION
1181: WHEN Others THEN
1182: IF PG_DEBUG in ('Y', 'C') THEN
1183: arp_util.debug('>>>>>>>>>> EXCEPTION : AR_BILLS_MAINTAIN_VAL_PVT.Validate_Remittance_Dates () ');
1184: END IF;
1185: RAISE;
1186:
1187: END Validate_Remittance_Dates;