16: End If;
17: EXCEPTION
18: WHEN OTHERS THEN
19: l_errbuf := SQLERRM;
20: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',l_errbuf);
21: RAISE;
22: End PAYDT_BEFORE_DISCDT;
23: /*----------------------------------------------*/
24: Function ROW_EXISTS(X_Invoice_Id IN NUMBER,
40: EXCEPTION
41: WHEN NO_DATA_FOUND THEN
42: X_Err_Num := 1;
43: X_Err_Stage := 'No row found for Invoice '||to_char(X_Invoice_Id);
44: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
45: RETURN FALSE;
46: WHEN TOO_MANY_ROWS THEN
47: X_Err_Num := 2;
48: X_Err_Stage := 'There is more than one row for the Invoice '||to_char(X_Invoice_Id);
45: RETURN FALSE;
46: WHEN TOO_MANY_ROWS THEN
47: X_Err_Num := 2;
48: X_Err_Stage := 'There is more than one row for the Invoice '||to_char(X_Invoice_Id);
49: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error2',X_Err_Stage);
50: RETURN FALSE;
51: WHEN OTHERS THEN
52: X_Err_Stage := SQLERRM;
53: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
49: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error2',X_Err_Stage);
50: RETURN FALSE;
51: WHEN OTHERS THEN
52: X_Err_Stage := SQLERRM;
53: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
54: RAISE;
55: END;
56: End ROW_EXISTS;
57: /*-----------------------------------------------------------------*/
78: EXCEPTION
79: WHEN NO_DATA_FOUND THEN
80: X_Err_Num := 1;
81: X_Err_Stage := 'No row found for Invoice '||to_char(X_Invoice_Id);
82: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
83: RETURN FALSE;
84: WHEN TOO_MANY_ROWS THEN
85: X_Err_Num := 2;
86: X_Err_Stage := 'There is more than one row for the FVRC Invoice '||to_char(X_Invoice_Id);
83: RETURN FALSE;
84: WHEN TOO_MANY_ROWS THEN
85: X_Err_Num := 2;
86: X_Err_Stage := 'There is more than one row for the FVRC Invoice '||to_char(X_Invoice_Id);
87: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
88: RETURN FALSE;
89: WHEN OTHERS THEN
90: X_Err_Stage := SQLERRM;
91: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
87: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
88: RETURN FALSE;
89: WHEN OTHERS THEN
90: X_Err_Stage := SQLERRM;
91: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
92: RAISE;
93: END;
94: End ROW_EXISTS_FVRC;
95: /*------------- END 1.3.2 --------------------------------*/
159: EXCEPTION
160: WHEN ZERO_DIVIDE THEN
161: X_Err_Num := 2;
162: X_Err_Stage := 'There has been a division by ZERO while processing Invoice '||to_char(X_Invoice_Id);
163: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
164: WHEN OTHERS THEN
165: X_Err_Num := SQLCODE;
166: X_Err_Stage := SQLERRM;
167: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
163: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
164: WHEN OTHERS THEN
165: X_Err_Num := SQLCODE;
166: X_Err_Stage := SQLERRM;
167: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
168: End CALCULATE_DISCOUNT;
169: /*---------------------------------------------*/
170:
171: Procedure INSERT_FV_DISCOUNTED_INVOICES(X_Invoice_Id IN NUMBER,
217: EXCEPTION
218: WHEN DUP_VAL_ON_INDEX THEN
219: X_Err_Num := 2;
220: X_Err_Stage := 'Row already exists for the Invoice '||to_char(X_Invoice_Id)||'. Hence Insert failed';
221: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.error1',X_Err_Stage);
222: WHEN OTHERS THEN
223: X_Err_Num := SQLCODE;
224: X_Err_Stage := 'Insert Failed '||SQLERRM;
225: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
221: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.error1',X_Err_Stage);
222: WHEN OTHERS THEN
223: X_Err_Num := SQLCODE;
224: X_Err_Stage := 'Insert Failed '||SQLERRM;
225: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
226: END;
227: END INSERT_FV_DISCOUNTED_INVOICES;
228:
229: /*-----------------------------------------------------------------*/
244: -- v_org_id number; --global variable
245: /*-- end 1.4 RCW --------------------------------*/
246:
247: Begin
248: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
249: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'Starting insert_fv_assign_reason_codes');
250: END IF;
251:
252: /*--------------------------------------------------*/
245: /*-- end 1.4 RCW --------------------------------*/
246:
247: Begin
248: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
249: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'Starting insert_fv_assign_reason_codes');
250: END IF;
251:
252: /*--------------------------------------------------*/
253: -- Version 1.4 RCW.
305: WHEN DUP_VAL_ON_INDEX THEN
306: X_Err_Num := 2;
307: X_Err_Stage := 'Row already exists for the Invoice '||to_char(X_Invoice_Id)||'.
308: Insert failed';
309: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
310: WHEN OTHERS THEN
311: X_Err_Num := SQLCODE;
312: X_Err_Stage := 'Insert Failed '||SQLERRM;
313: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.exception1',X_Err_Stage);
309: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
310: WHEN OTHERS THEN
311: X_Err_Num := SQLCODE;
312: X_Err_Stage := 'Insert Failed '||SQLERRM;
313: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.exception1',X_Err_Stage);
314: END;
315: EXCEPTION
316: WHEN OTHERS THEN
317: X_Err_Num := SQLCODE;
315: EXCEPTION
316: WHEN OTHERS THEN
317: X_Err_Num := SQLCODE;
318: X_Err_Stage := SQLERRM;
319: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
320: END INSERT_FV_ASSIGN_REASON_CODES;
321:
322: /*----------- end 1.2 RCW ----------------------------------------*/
323:
335: X_Err_Num := 0;
336: If SQL%ROWCOUNT = 0 then
337: X_Err_Num := 1;
338: X_Err_Stage := 'There were no rows deleted from FV_DISCOUNTED_INVOICES for the Invoice '||to_char(X_Invoice_Id);
339: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
340: End If;
341: EXCEPTION
342: WHEN OTHERS THEN
343: X_Err_Num := SQLCODE;
341: EXCEPTION
342: WHEN OTHERS THEN
343: X_Err_Num := SQLCODE;
344: X_Err_Stage := SQLERRM;
345: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
346: End DELETE_FV_DISCOUNTED_INVOICES;
347:
348: /*-----------------------------------------------------------------------*/
349:
388: X_Err_Num := 0;
389: If SQL%NOTFOUND THEN
390: X_Err_Num := 1;
391: X_Err_Stage := 'There were no rows updated for the Invoice '||to_char(X_Invoice_Id);
392: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
393: End If;
394:
395:
396: EXCEPTION
396: EXCEPTION
397: WHEN OTHERS THEN
398: X_Err_Num := SQLCODE;
399: X_Err_Stage := SQLERRM;
400: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
401: End UPDATE_FV_DISCOUNTED_INVOICES;
402:
403: /*-----------------------------------------------------------------*/
404: -- Version 1.2 Added Procedure UPDATE_FV_ASSIGN_REASON_CODES RCW.
426: COMMIT; --Bug 5705668
427:
428: X_Err_Num := 0;
429: If SQL%NOTFOUND THEN
430: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
431: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'1-No rows in fv_assign_reason_codes');
432: END IF;
433: X_Err_Num := 1;
434: X_Err_Stage := 'There were no rows updated for the Invoice '||to_char(X_Invoice_Id);
427:
428: X_Err_Num := 0;
429: If SQL%NOTFOUND THEN
430: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
431: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'1-No rows in fv_assign_reason_codes');
432: END IF;
433: X_Err_Num := 1;
434: X_Err_Stage := 'There were no rows updated for the Invoice '||to_char(X_Invoice_Id);
435: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
431: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'1-No rows in fv_assign_reason_codes');
432: END IF;
433: X_Err_Num := 1;
434: X_Err_Stage := 'There were no rows updated for the Invoice '||to_char(X_Invoice_Id);
435: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
436: End If;
437:
438:
439: EXCEPTION
439: EXCEPTION
440: WHEN OTHERS THEN
441: X_Err_Num := SQLCODE;
442: X_Err_Stage := SQLERRM;
443: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
444: End UPDATE_FV_ASSIGN_REASON_CODES;
445: /*----------- end 1.2 RCW ----------------------------------------*/
446:
447:
464: EXCEPTION
465: WHEN NO_DATA_FOUND THEN
466: X_Err_Num := 1;
467: X_Err_Stage := 'No CVOF Rate available for the Payment Date '||to_char(X_Payment_Date);
468: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
469: WHEN OTHERS THEN
470: X_Err_Num := SQLCODE;
471: X_Err_Stage := SQLERRM;
472: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
468: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name||'.error1',X_Err_Stage);
469: WHEN OTHERS THEN
470: X_Err_Num := SQLCODE;
471: X_Err_Stage := SQLERRM;
472: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',X_Err_Stage);
473: END GET_CVOF_RATE;
474: /*-----------------------------------------------------------------*/
475: FUNCTION EBD_CHECK(x_batch_name IN VARCHAR2,
476: x_invoice_id IN NUMBER,
591: If X_Err_Nbr = 2 then
592: err_message := x_err_stage;
593: fnd_message.set_name('FV','FV_FAI_GENERAL');
594: fnd_message.set_token('msg',err_message);
595: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
596: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
597: END IF;
598: app_exception.raise_exception;
599: End If;
592: err_message := x_err_stage;
593: fnd_message.set_name('FV','FV_FAI_GENERAL');
594: fnd_message.set_token('msg',err_message);
595: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
596: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
597: END IF;
598: app_exception.raise_exception;
599: End If;
600: End If ; -- End of 4th If
620: If ((X_Err_Nbr = 2) or (X_Err_Nbr < 0)) then
621: err_message := x_err_stage;
622: fnd_message.set_name('FV','FV_FAI_GENERAL');
623: fnd_message.set_token('msg',err_message);
624: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
625: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
626: END IF;
627: app_exception.raise_exception;
628: End If;
621: err_message := x_err_stage;
622: fnd_message.set_name('FV','FV_FAI_GENERAL');
623: fnd_message.set_token('msg',err_message);
624: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
625: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
626: END IF;
627: app_exception.raise_exception;
628: End If;
629:
649: If ((X_Err_Nbr = 2) or (X_Err_Nbr < 0)) then
650: err_message := x_err_stage;
651: fnd_message.set_name('FV','FV_FAI_GENERAL');
652: fnd_message.set_token('msg',err_message);
653: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
654: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
655: END IF;
656: app_exception.raise_exception;
657: End If;
650: err_message := x_err_stage;
651: fnd_message.set_name('FV','FV_FAI_GENERAL');
652: fnd_message.set_token('msg',err_message);
653: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
654: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
655: END IF;
656: app_exception.raise_exception;
657: End If;
658: Else
673: If ((X_Err_Nbr = 2) or (X_Err_Nbr < 0)) then
674: err_message := x_err_stage;
675: fnd_message.set_name('FV','FV_FAI_GENERAL');
676: fnd_message.set_token('msg',err_message);
677: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
678: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
679: END IF;
680: app_exception.raise_exception;
681: End If;
674: err_message := x_err_stage;
675: fnd_message.set_name('FV','FV_FAI_GENERAL');
676: fnd_message.set_token('msg',err_message);
677: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
678: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
679: END IF;
680: app_exception.raise_exception;
681: End If;
682:
680: app_exception.raise_exception;
681: End If;
682:
683: -- This invoice does not meet the EBD requirements so do NOT include
684: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name, 'Invoice Number, '||x_invoice_num||', will NOT be included in the Payment Batch because it');
685: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name, 'does not meet EBD Requirements.');
686: RETURN 'N';
687:
688:
681: End If;
682:
683: -- This invoice does not meet the EBD requirements so do NOT include
684: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name, 'Invoice Number, '||x_invoice_num||', will NOT be included in the Payment Batch because it');
685: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name, 'does not meet EBD Requirements.');
686: RETURN 'N';
687:
688:
689: Elsif X_Effective_Discount_Rate > X_CVOF_Rate then
701: If ((X_Err_Nbr = 2) or (X_Err_Nbr < 0)) then
702: err_message := x_err_stage;
703: fnd_message.set_name('FV','FV_FAI_GENERAL');
704: fnd_message.set_token('msg',err_message);
705: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
706: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
707: END IF;
708: app_exception.raise_exception;
709: End If;
702: err_message := x_err_stage;
703: fnd_message.set_name('FV','FV_FAI_GENERAL');
704: fnd_message.set_token('msg',err_message);
705: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
706: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
707: END IF;
708: app_exception.raise_exception;
709: End If;
710: End If;
710: End If;
711: End If; -- End of 5th If
712:
713: Else
714: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name, 'Payment Date is after Discount Date');
715:
716: /* Payment Date after Discount Date */
717: If ROW_EXISTS(X_Invoice_Id,X_Err_Nbr,X_Err_Stage) then --3rd If
718: UPDATE_FV_DISCOUNTED_INVOICES(X_Invoice_Id,X_Payment_Date,
724: -- Ver 1.2 Added Procedure UPDATE_FV_ASSIGN_REASON_CODES RCW.
725: /*-----------------------------------------------------------*/
726: IF fnd_profile.value('USE_DISCOUNT_LOST_REASON_CODES') = 'Y'
727: AND X_Terms_Type = 'PROMPT PAY' THEN
728: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
729: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'Using Discount Lost Reason Codes');
730: END IF;
731: UPDATE_FV_ASSIGN_REASON_CODES(X_Invoice_Id,x_Batch_Name,
732: X_Err_Nbr,X_Err_Stage);
725: /*-----------------------------------------------------------*/
726: IF fnd_profile.value('USE_DISCOUNT_LOST_REASON_CODES') = 'Y'
727: AND X_Terms_Type = 'PROMPT PAY' THEN
728: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
729: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name,'Using Discount Lost Reason Codes');
730: END IF;
731: UPDATE_FV_ASSIGN_REASON_CODES(X_Invoice_Id,x_Batch_Name,
732: X_Err_Nbr,X_Err_Stage);
733: RETCODE := to_char(X_Err_Nbr);
750: If ((X_Err_Nbr = 2) or (X_Err_Nbr < 0)) then
751: err_message := x_err_stage;
752: fnd_message.set_name('FV','FV_FAI_GENERAL');
753: fnd_message.set_token('msg',err_message);
754: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
755: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
756: END IF;
757: app_exception.raise_exception;
758: End If;
751: err_message := x_err_stage;
752: fnd_message.set_name('FV','FV_FAI_GENERAL');
753: fnd_message.set_token('msg',err_message);
754: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
755: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
756: END IF;
757: app_exception.raise_exception;
758: End If;
759:
762: /*----------------------------------------------------------*/
763: IF fnd_profile.value('USE_DISCOUNT_LOST_REASON_CODES') = 'Y'
764: AND X_Terms_Type = 'PROMPT PAY' THEN
765: If ROW_EXISTS_FVRC(X_Invoice_Id,X_Err_Nbr,X_Err_Stage) then
766: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
767: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name, 'Record exists in FVRC');
768: END IF;
769:
770: UPDATE_FV_ASSIGN_REASON_CODES(X_Invoice_Id,x_Batch_Name,
763: IF fnd_profile.value('USE_DISCOUNT_LOST_REASON_CODES') = 'Y'
764: AND X_Terms_Type = 'PROMPT PAY' THEN
765: If ROW_EXISTS_FVRC(X_Invoice_Id,X_Err_Nbr,X_Err_Stage) then
766: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
767: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name, 'Record exists in FVRC');
768: END IF;
769:
770: UPDATE_FV_ASSIGN_REASON_CODES(X_Invoice_Id,x_Batch_Name,
771: X_Err_Nbr,X_Err_Stage);
772: RETCODE := to_char(X_Err_Nbr);
773: ERRBUF := X_Err_Stage;
774:
775: Else -- ROW DOESN'T EXIST
776: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
777: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name, 'x_err_nbr = '||to_char(x_err_nbr));
778: END IF;
779: IF X_Err_Nbr = 1 then --no records found
780:
773: ERRBUF := X_Err_Stage;
774:
775: Else -- ROW DOESN'T EXIST
776: IF ( FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
777: FV_UTILITY.DEBUG_MESG(FND_LOG.LEVEL_STATEMENT, l_module_name, 'x_err_nbr = '||to_char(x_err_nbr));
778: END IF;
779: IF X_Err_Nbr = 1 then --no records found
780:
781: INSERT_FV_ASSIGN_REASON_CODES(X_Invoice_Id,
787: If ((X_Err_Nbr = 2) or (X_Err_Nbr < 0)) then
788: err_message := x_err_stage;
789: fnd_message.set_name('FV','FV_FAI_GENERAL');
790: fnd_message.set_token('msg',err_message);
791: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
792: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
793: END IF;
794: app_exception.raise_exception;
795: End If;
788: err_message := x_err_stage;
789: fnd_message.set_name('FV','FV_FAI_GENERAL');
790: fnd_message.set_token('msg',err_message);
791: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
792: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
793: END IF;
794: app_exception.raise_exception;
795: End If;
796: ELSIF X_Err_Nbr = 2 then --too many rows
796: ELSIF X_Err_Nbr = 2 then --too many rows
797: err_message := x_err_stage;
798: fnd_message.set_name('FV','FV_FAI_GENERAL');
799: fnd_message.set_token('msg',err_message);
800: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
801: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
802: END IF;
803: app_exception.raise_exception;
804:
797: err_message := x_err_stage;
798: fnd_message.set_name('FV','FV_FAI_GENERAL');
799: fnd_message.set_token('msg',err_message);
800: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
801: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
802: END IF;
803: app_exception.raise_exception;
804:
805: END IF;
810: ELSIF X_Err_Nbr = 2 then
811: err_message := x_err_stage;
812: fnd_message.set_name('FV','FV_FAI_GENERAL');
813: fnd_message.set_token('msg',err_message);
814: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
815: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
816: END IF;
817: app_exception.raise_exception;
818:
811: err_message := x_err_stage;
812: fnd_message.set_name('FV','FV_FAI_GENERAL');
813: fnd_message.set_token('msg',err_message);
814: IF ( FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
815: FV_UTILITY.MESSAGE(FND_LOG.LEVEL_ERROR, l_module_name);
816: END IF;
817: app_exception.raise_exception;
818:
819: END IF; -- End of 3A
821: END IF ; -- End of 2nd If
822: END LOOP;
823:
824: IF c1%NOTFOUND THEN
825: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name, 'Invoice Number, '||x_invoice_num||', will be included in the Payment Batch because it');
826: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name, 'meets EBD Requirements.');
827: RETURN 'Y';
828: END IF;
829:
822: END LOOP;
823:
824: IF c1%NOTFOUND THEN
825: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name, 'Invoice Number, '||x_invoice_num||', will be included in the Payment Batch because it');
826: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_ERROR, l_module_name, 'meets EBD Requirements.');
827: RETURN 'Y';
828: END IF;
829:
830: close c1;
835: END IF;
836: EXCEPTION
837: WHEN OTHERS THEN
838: err_message := SQLERRM;
839: FV_UTILITY.LOG_MESG(FND_LOG.LEVEL_UNEXPECTED, l_module_name||'.final_exception',err_message);
840: RAISE;
841: END EBD_CHECK;
842: /*-----------------------------------------------------------------------*/
843: END FV_ECON_BENF_DISC_PVT;