122: l_rec_batch_type;
123:
124: IF c_header%NOTFOUND THEN
125: CLOSE c_header;
126: fnd_message.set_name('IGF','IGF_GE_FILE_NOT_COMPLETE');
127: -- Message : Response File uploaded is not complete.
128: igs_ge_msg_stack.add;
129: RAISE FILE_NOT_LOADED;
130: END IF;
141: IF l_dl_file_type IN ('DL_DISB_ACK','DL_DISB_BOOK')
142: AND l_dl_loan_catg = 'DL' THEN
143: NULL;
144: ELSE
145: fnd_message.set_name('IGF','IGF_GE_INVALID_FILE');
146: -- Message : This is not a valid file
147: igs_ge_msg_stack.add;
148: RAISE FILE_NOT_LOADED;
149: END IF;
149: END IF;
150:
151: IF l_dl_file_type ='DL_DISB_ACK' THEN
152: -- This is an Direct Loan Disbursment Acknowledgment File
153: fnd_message.set_name('IGF','IGF_DB_DL_ACK_FILE');
154: fnd_file.put_line(fnd_file.log,fnd_message.get);
155: ELSIF l_dl_file_type='DL_DISB_BOOK' THEN
156: fnd_message.set_name('IGF','IGF_DB_DL_BOOK_FILE');
157: fnd_file.put_line(fnd_file.log,fnd_message.get);
150:
151: IF l_dl_file_type ='DL_DISB_ACK' THEN
152: -- This is an Direct Loan Disbursment Acknowledgment File
153: fnd_message.set_name('IGF','IGF_DB_DL_ACK_FILE');
154: fnd_file.put_line(fnd_file.log,fnd_message.get);
155: ELSIF l_dl_file_type='DL_DISB_BOOK' THEN
156: fnd_message.set_name('IGF','IGF_DB_DL_BOOK_FILE');
157: fnd_file.put_line(fnd_file.log,fnd_message.get);
158:
152: -- This is an Direct Loan Disbursment Acknowledgment File
153: fnd_message.set_name('IGF','IGF_DB_DL_ACK_FILE');
154: fnd_file.put_line(fnd_file.log,fnd_message.get);
155: ELSIF l_dl_file_type='DL_DISB_BOOK' THEN
156: fnd_message.set_name('IGF','IGF_DB_DL_BOOK_FILE');
157: fnd_file.put_line(fnd_file.log,fnd_message.get);
158:
159: END IF;
160:
153: fnd_message.set_name('IGF','IGF_DB_DL_ACK_FILE');
154: fnd_file.put_line(fnd_file.log,fnd_message.get);
155: ELSIF l_dl_file_type='DL_DISB_BOOK' THEN
156: fnd_message.set_name('IGF','IGF_DB_DL_BOOK_FILE');
157: fnd_file.put_line(fnd_file.log,fnd_message.get);
158:
159: END IF;
160:
161:
165: FETCH c_trailer into l_last_lort_id, l_number_rec, l_accept_rec,
166: l_reject_rec, l_pending_rec;
167: IF c_trailer%NOTFOUND THEN
168: CLOSE c_trailer;
169: fnd_message.set_name('IGF','IGF_GE_FILE_NOT_COMPLETE');
170: igs_ge_msg_stack.add;
171: RAISE FILE_NOT_LOADED;
172: END IF;
173: CLOSE c_trailer;
173: CLOSE c_trailer;
174:
175:
176: IF l_rec_batch_rej_code IS NOT NULL THEN
177: fnd_message.set_name('IGF','IGF_GE_BATCH_REJECTED');
178: fnd_message.set_token('BATCH', l_rec_batch_id);
179: fnd_message.set_token('REASON', igf_aw_gen.lookup_desc('IGF_SL_DL_BATCH_REJ',l_rec_batch_rej_code));
180: igs_ge_msg_stack.add;
181: RAISE FILE_NOT_LOADED;
174:
175:
176: IF l_rec_batch_rej_code IS NOT NULL THEN
177: fnd_message.set_name('IGF','IGF_GE_BATCH_REJECTED');
178: fnd_message.set_token('BATCH', l_rec_batch_id);
179: fnd_message.set_token('REASON', igf_aw_gen.lookup_desc('IGF_SL_DL_BATCH_REJ',l_rec_batch_rej_code));
180: igs_ge_msg_stack.add;
181: RAISE FILE_NOT_LOADED;
182: -- Message : Batch #BATCH was rejected. Reason : #REASON.
175:
176: IF l_rec_batch_rej_code IS NOT NULL THEN
177: fnd_message.set_name('IGF','IGF_GE_BATCH_REJECTED');
178: fnd_message.set_token('BATCH', l_rec_batch_id);
179: fnd_message.set_token('REASON', igf_aw_gen.lookup_desc('IGF_SL_DL_BATCH_REJ',l_rec_batch_rej_code));
180: igs_ge_msg_stack.add;
181: RAISE FILE_NOT_LOADED;
182: -- Message : Batch #BATCH was rejected. Reason : #REASON.
183:
259: );
260:
261: END LOOP;
262: IF l_actual_rec <> l_number_rec THEN
263: fnd_message.set_name('IGF','IGF_GE_RECORD_NUM_NOT_MATCH');
264: -- Message : The Actual Number of records does not match with the one mentioned in the trailer
265: igs_ge_msg_stack.add;
266: RAISE FILE_NOT_LOADED;
267: END IF;
280: RAISE;
281: WHEN FILE_NOT_LOADED THEN
282: RAISE;
283: WHEN OTHERS THEN
284: fnd_message.set_name('IGF','IGF_GE_UNHANDLED_EXP');
285: fnd_message.set_token('NAME','IGF_DB_DL_ORIG_ACK.DISB_LOAD_DATA');
286: fnd_file.put_line(fnd_file.log,SQLERRM);
287: igs_ge_msg_stack.add;
288: app_exception.raise_exception;
281: WHEN FILE_NOT_LOADED THEN
282: RAISE;
283: WHEN OTHERS THEN
284: fnd_message.set_name('IGF','IGF_GE_UNHANDLED_EXP');
285: fnd_message.set_token('NAME','IGF_DB_DL_ORIG_ACK.DISB_LOAD_DATA');
286: fnd_file.put_line(fnd_file.log,SQLERRM);
287: igs_ge_msg_stack.add;
288: app_exception.raise_exception;
289: END disb_load_data;
428:
429: -- If the award year is FULL_PARTICIPANT then raise the error message
430: -- and stop processing else continue the process
431: IF l_cod_year_flag THEN
432: fnd_message.set_name('IGF','IGF_SL_COD_NO_DISB_ACK');
433: igs_ge_msg_stack.add;
434: RAISE INVALID_PHASE_IN_PARTICIPANT;
435: END IF;
436:
478: OPEN cur_awdisb(lcur_db_resp.loan_number,lcur_db_resp.disb_num,lcur_db_resp.disb_seq_num); -- ## Open the award Disb Loop
479: FETCH cur_awdisb INTO lcur_awdisb;
480: IF cur_awdisb%NOTFOUND THEN
481: CLOSE cur_awdisb; -- Bug 4101482 Cursor not closed
482: fnd_message.set_name('IGF','IGF_DB_NO_AWARD_DTL');
483: fnd_message.set_token('AWARD',lcur_db_resp.loan_number);
484: fnd_message.set_token('DNUM',lcur_db_resp.disb_num);
485: fnd_message.set_token('DSEQNUM',lcur_db_resp.disb_seq_num);
486: fnd_file.put_line(fnd_file.log,fnd_message.get);
479: FETCH cur_awdisb INTO lcur_awdisb;
480: IF cur_awdisb%NOTFOUND THEN
481: CLOSE cur_awdisb; -- Bug 4101482 Cursor not closed
482: fnd_message.set_name('IGF','IGF_DB_NO_AWARD_DTL');
483: fnd_message.set_token('AWARD',lcur_db_resp.loan_number);
484: fnd_message.set_token('DNUM',lcur_db_resp.disb_num);
485: fnd_message.set_token('DSEQNUM',lcur_db_resp.disb_seq_num);
486: fnd_file.put_line(fnd_file.log,fnd_message.get);
487: RAISE SKIP_THIS_RECORD;
480: IF cur_awdisb%NOTFOUND THEN
481: CLOSE cur_awdisb; -- Bug 4101482 Cursor not closed
482: fnd_message.set_name('IGF','IGF_DB_NO_AWARD_DTL');
483: fnd_message.set_token('AWARD',lcur_db_resp.loan_number);
484: fnd_message.set_token('DNUM',lcur_db_resp.disb_num);
485: fnd_message.set_token('DSEQNUM',lcur_db_resp.disb_seq_num);
486: fnd_file.put_line(fnd_file.log,fnd_message.get);
487: RAISE SKIP_THIS_RECORD;
488:
481: CLOSE cur_awdisb; -- Bug 4101482 Cursor not closed
482: fnd_message.set_name('IGF','IGF_DB_NO_AWARD_DTL');
483: fnd_message.set_token('AWARD',lcur_db_resp.loan_number);
484: fnd_message.set_token('DNUM',lcur_db_resp.disb_num);
485: fnd_message.set_token('DSEQNUM',lcur_db_resp.disb_seq_num);
486: fnd_file.put_line(fnd_file.log,fnd_message.get);
487: RAISE SKIP_THIS_RECORD;
488:
489: END IF;
482: fnd_message.set_name('IGF','IGF_DB_NO_AWARD_DTL');
483: fnd_message.set_token('AWARD',lcur_db_resp.loan_number);
484: fnd_message.set_token('DNUM',lcur_db_resp.disb_num);
485: fnd_message.set_token('DSEQNUM',lcur_db_resp.disb_seq_num);
486: fnd_file.put_line(fnd_file.log,fnd_message.get);
487: RAISE SKIP_THIS_RECORD;
488:
489: END IF;
490:
703: CLOSE cur_awdisb;
704:
705: EXCEPTION
706: WHEN SKIP_THIS_RECORD THEN
707: fnd_message.set_name('IGF','IGF_SL_SKIPPING');
708: fnd_file.put_line(fnd_file.log,fnd_message.get);
709: fnd_file.new_line(fnd_file.log,1);
710: END;
711:
704:
705: EXCEPTION
706: WHEN SKIP_THIS_RECORD THEN
707: fnd_message.set_name('IGF','IGF_SL_SKIPPING');
708: fnd_file.put_line(fnd_file.log,fnd_message.get);
709: fnd_file.new_line(fnd_file.log,1);
710: END;
711:
712: END LOOP; -- ## End Loop of Disb Loop
713:
714: COMMIT;
715:
716: -- Print the disbursment details of 'COD generated disbursements received' in the log file
717: fnd_message.set_name('IGF','IGF_SL_DL_DB_COD_DISB');
718: fnd_file.put_line(fnd_file.log,fnd_message.get);
719: FOR l_disb_count IN 1 .. l_disb_dtl_tab.COUNT LOOP
720:
721: IF l_disb_dtl_tab(l_disb_count).p_rec_type = 'C' THEN
714: COMMIT;
715:
716: -- Print the disbursment details of 'COD generated disbursements received' in the log file
717: fnd_message.set_name('IGF','IGF_SL_DL_DB_COD_DISB');
718: fnd_file.put_line(fnd_file.log,fnd_message.get);
719: FOR l_disb_count IN 1 .. l_disb_dtl_tab.COUNT LOOP
720:
721: IF l_disb_dtl_tab(l_disb_count).p_rec_type = 'C' THEN
722: fnd_file.put_line(fnd_file.log,RPAD(l_disb_num_desc ,50)||' : '||TO_CHAR(l_disb_dtl_tab(l_disb_count).p_disb_num));
727:
728: END LOOP;
729:
730: -- Print the disbursment details of 'Payment to Servicing Response Received' in the log file
731: fnd_message.set_name('IGF','IGF_SL_DL_DB_PYMN_SRVC');
732: fnd_file.put_line(fnd_file.log,fnd_message.get);
733: FOR l_disb_count IN 1 .. l_disb_dtl_tab.COUNT LOOP
734:
735: IF l_disb_dtl_tab(l_disb_count).p_rec_type = 'P' THEN
728: END LOOP;
729:
730: -- Print the disbursment details of 'Payment to Servicing Response Received' in the log file
731: fnd_message.set_name('IGF','IGF_SL_DL_DB_PYMN_SRVC');
732: fnd_file.put_line(fnd_file.log,fnd_message.get);
733: FOR l_disb_count IN 1 .. l_disb_dtl_tab.COUNT LOOP
734:
735: IF l_disb_dtl_tab(l_disb_count).p_rec_type = 'P' THEN
736: fnd_file.put_line(fnd_file.log,RPAD(l_disb_num_desc ,50)||' : '||TO_CHAR(l_disb_dtl_tab(l_disb_count).p_disb_num));
746: WHEN app_exception.record_lock_exception THEN
747:
748: ROLLBACK;
749: retcode := 2;
750: errbuf := fnd_message.get_string('IGF','IGF_GE_LOCK_ERROR');
751: igs_ge_msg_stack.conc_exception_hndl;
752:
753: WHEN FILE_NOT_LOADED THEN
754:
753: WHEN FILE_NOT_LOADED THEN
754:
755: ROLLBACK;
756: retcode := 2;
757: errbuf := fnd_message.get_string('IGF','IGF_GE_FILE_NOT_LOADED');
758: igs_ge_msg_stack.conc_exception_hndl;
759:
760: WHEN INVALID_PHASE_IN_PARTICIPANT THEN
761:
760: WHEN INVALID_PHASE_IN_PARTICIPANT THEN
761:
762: ROLLBACK;
763: retcode := 2;
764: errbuf := fnd_message.get_string('IGF','IGF_SL_COD_NO_DISB_ACK');
765: igs_ge_msg_stack.conc_exception_hndl;
766:
767: WHEN OTHERS THEN
768:
771: END IF;
772: ROLLBACK;
773:
774: retcode := 2;
775: errbuf := fnd_message.get_string('IGS','IGS_GE_UNHANDLED_EXCEPTION');
776: fnd_file.put_line(fnd_file.log,SQLERRM);
777: igs_ge_msg_stack.conc_exception_hndl;
778:
779: END disb_ack;