[Home] [Help]
PACKAGE BODY: APPS.IGF_AP_LI_BASE_REC_IMPORT
Source
1 PACKAGE BODY igf_ap_li_base_rec_import AS
2 /* $Header: IGFAP43B.pls 120.6 2006/02/14 23:04:28 ridas ship $ */
3
4 g_log_tab_index NUMBER := 0;
5
6 TYPE log_record IS RECORD
7 ( person_number VARCHAR2(30),
8 message_text VARCHAR2(500));
9
10 -- The PL/SQL table for storing the log messages
11 TYPE LogTab IS TABLE OF log_record
12 index by binary_integer;
13
14 g_log_tab LogTab;
15
16 -- The PL/SQL table for storing the duplicate person number
17 TYPE PerTab IS TABLE OF igf_ap_li_css_act_ints.person_number%TYPE
18 index by binary_integer;
19
20 g_per_tab PerTab;
21
22 PROCEDURE main (
23 errbuf OUT NOCOPY VARCHAR2,
24 retcode OUT NOCOPY NUMBER,
25 p_award_year IN VARCHAR2,
26 p_batch_id IN NUMBER,
27 p_del_ind IN VARCHAR2
28 )
29 IS
30 /*
31 || Created By : bkkumar
32 || Created On : 13-JUN-2003
33 || Purpose : Main process imports the data from the interface table
34 ||
35 || Known limitations, enhancements or remarks :
36 || Change History :
37 || Who When What
38 || ridas 14-Feb-2006 Bug #5021084. Removed trunc function from
39 || cursor SSN_CUR.
40 || tsailaja 13/Jan/2006 Bug 4947880 Added invocation of igf_aw_gen.set_org_id(NULL);
41 || rajagupt 06-Oct-2005 Bug#4068548 - added a new cursor ssn_cur
42 || asbala 19-nov-2003 3026594: FA128 - ISIR Federal Updates 04- 05,
43 || modified signature of igf_ap_isir_matched_pkg
44 || ugummall 25-SEP-2003 FA 126 Multiple FA Offices
45 || added new parameter assoc_org_num to
46 || igf_ap_fa_base_rec_pkg.update_row call
47 || and added the same to cursor c_baseid_exists
48 || (reverse chronological order - newest change first)
49 */
50 l_proc_item_str VARCHAR2(50) := NULL;
51 l_message_str VARCHAR2(800) := NULL;
52 l_terminate_flag BOOLEAN := FALSE;
53 l_error_flag BOOLEAN := FALSE;
54 l_error VARCHAR2(80);
55 lv_row_id VARCHAR2(80) := NULL;
56 lv_person_id igs_pe_hz_parties.party_id%TYPE := NULL;
57 lv_base_id igf_ap_fa_base_rec_all.base_id%TYPE := NULL;
58 l_process_status igf_ap_fa_base_rec_all.fa_process_status%TYPE := NULL;
59 l_process_date igf_ap_fa_base_rec_all.packaging_status_date%TYPE := NULL;
60 l_success_record_cnt NUMBER := 0;
61 l_error_record_cnt NUMBER := 0;
62 l_todo_flag BOOLEAN := FALSE;
63 l_chk_profile VARCHAR2(1) := 'N';
64 l_chk_batch VARCHAR2(1) := 'N';
65 l_index NUMBER := 1;
66 l_total_record_cnt NUMBER := 0;
67 l_debug_str VARCHAR2(800) := NULL;
68
69 l_cal_type igf_ap_fa_base_rec_all.ci_cal_type%TYPE ;
70 l_seq_number igf_ap_fa_base_rec_all.ci_sequence_number%TYPE;
71 l_base_id igf_ap_fa_base_rec_all.base_id%TYPE;
72 l_row_id ROWID;
73 l_create_flag BOOLEAN;
74 l_create_base_rec BOOLEAN;
75
76
77 -- Cursor for getting the context award year details
78 CURSOR c_get_status(cp_cal_type igf_ap_batch_aw_map.ci_cal_type%TYPE,
79 cp_seq_number igf_ap_batch_aw_map.ci_sequence_number%TYPE)
80 IS
81 SELECT sys_award_year,
82 batch_year,
83 award_year_status_code,
84 css_academic_year
85 FROM igf_ap_batch_aw_map
86 WHERE ci_cal_type = cp_cal_type
87 AND ci_sequence_number = cp_seq_number;
88
89 l_get_status c_get_status%ROWTYPE;
90
91 CURSOR c_get_alternate_code(cp_cal_type igs_ca_inst.cal_type%TYPE,
92 cp_seq_number igs_ca_inst.sequence_number%TYPE)
93 IS
94 SELECT alternate_code
95 FROM igs_ca_inst
96 WHERE cal_type = cp_cal_type
97 AND sequence_number = cp_seq_number;
98
99 l_get_alternate_code c_get_alternate_code%ROWTYPE;
100
101 CURSOR c_get_records(cp_alternate_code igf_ap_li_fab_ints.ci_alternate_code%TYPE,
102 cp_batch_id igf_ap_li_fab_ints.batch_num%TYPE)
103 IS
104 SELECT batch_num,
105 award_process_status_code,
106 ci_alternate_code,
107 person_number,
108 award_process_status_date,
109 award_notify_status,
110 award_notify_status_date,
111 override_nslds_flag,
112 professional_judgment_flag,
113 disburse_verification_hold,
114 import_status_type,
115 ROWID ROW_ID
116 FROM igf_ap_li_fab_ints
117 WHERE ci_alternate_code = cp_alternate_code
118 AND batch_num = cp_batch_id
119 AND import_status_type IN ('U','R')
120 ORDER BY person_number;
121
122
123 l_get_records c_get_records%ROWTYPE;
124
125
126 CURSOR c_baseid_exists(cp_base_id igf_ap_fa_base_rec_all.base_id%TYPE)
127 IS
128 SELECT ROWID row_id,
129 base_id,
130 ci_cal_type,
131 person_id,
132 ci_sequence_number,
133 org_id ,
134 bbay ,
135 current_enrolled_hrs ,
136 special_handling,
137 coa_pending,
138 sap_evaluation_date,
139 sap_selected_flag,
140 state_sap_status,
141 verification_process_run,
142 inst_verif_status_date,
143 manual_verif_flag,
144 fed_verif_status,
145 fed_verif_status_date,
146 inst_verif_status,
147 nslds_eligible,
148 ede_correction_batch_id,
149 fa_process_status_date,
150 isir_corr_status,
151 isir_corr_status_date,
152 isir_status,
153 isir_status_date,
154 profile_status,
155 profile_status_date,
156 profile_fc,
157 pell_eligible,
158 award_adjusted,
159 change_pending,
160 coa_code_f,
161 coa_fixed,
162 coa_code_i,
163 coa_f,
164 coa_i ,
165 coa_pell ,
166 disbursement_hold ,
167 enrolment_status ,
168 enrolment_status_date ,
169 fa_process_status ,
170 federal_sap_status ,
171 grade_level ,
172 grade_level_date ,
173 grade_level_type ,
174 inst_sap_status ,
175 last_packaged ,
176 notification_status ,
177 notification_status_date ,
178 packaging_hold ,
179 nslds_data_override_flg ,
180 packaging_status ,
181 prof_judgement_flg ,
182 packaging_status_date ,
183 qa_sampling ,
184 target_group ,
185 todo_code ,
186 total_package_accepted ,
187 total_package_offered ,
188 transcript_available ,
189 tolerance_amount ,
190 transfered ,
191 total_aid ,
192 admstruct_id,
193 admsegment_1 ,
194 admsegment_2 ,
195 admsegment_3 ,
196 admsegment_4 ,
197 admsegment_5 ,
198 admsegment_6,
199 admsegment_7,
200 admsegment_8,
201 admsegment_9,
202 admsegment_10,
203 admsegment_11,
204 admsegment_12,
205 admsegment_13,
206 admsegment_14,
207 admsegment_15,
208 admsegment_16,
209 admsegment_17,
210 admsegment_18,
211 admsegment_19,
212 admsegment_20,
213 packstruct_id,
214 packsegment_1,
215 packsegment_2,
216 packsegment_3,
217 packsegment_4,
218 packsegment_5,
219 packsegment_6,
220 packsegment_7,
221 packsegment_8,
222 packsegment_9,
223 packsegment_10,
224 packsegment_11,
225 packsegment_12,
226 packsegment_13,
227 packsegment_14,
228 packsegment_15,
229 packsegment_16,
230 packsegment_17,
231 packsegment_18,
232 packsegment_19,
233 packsegment_20,
234 miscstruct_id ,
235 miscsegment_1,
236 miscsegment_2 ,
237 miscsegment_3 ,
238 miscsegment_4,
239 miscsegment_5,
240 miscsegment_6,
241 miscsegment_7,
242 miscsegment_8,
243 miscsegment_9,
244 miscsegment_10,
245 miscsegment_11,
246 miscsegment_12,
247 miscsegment_13,
248 miscsegment_14,
249 miscsegment_15,
250 miscsegment_16,
251 miscsegment_17,
252 miscsegment_18,
253 miscsegment_19,
254 miscsegment_20,
255 request_id,
256 program_application_id,
257 program_id ,
258 program_update_date,
259 manual_disb_hold,
260 pell_alt_expense,
261 assoc_org_num,
262 award_fmly_contribution_type,
263 isir_locked_by,
264 adnl_unsub_loan_elig_flag,
265 lock_awd_flag,
266 lock_coa_flag
267 FROM igf_ap_fa_base_rec_all
268 WHERE base_id = cp_base_id;
269
270 l_baseid_exists c_baseid_exists%ROWTYPE;
271
272
273 CURSOR c_chk_legacy_awd(
274 cp_base_id igf_aw_award_all.base_id%TYPE
275 )
276 IS
277 SELECT base_id
278 FROM igf_aw_award_all
279 WHERE base_id = cp_base_id
280 AND rownum = 1;
281
282 l_chk_legacy_awd c_chk_legacy_awd%ROWTYPE;
283
284 -- cursor to get the ssn no of a person
285 CURSOR ssn_cur(cp_person_id number) IS
286 SELECT api_person_id,api_person_id_uf, end_dt
287 FROM igs_pe_alt_pers_id
288 WHERE pe_person_id=cp_person_id
289 AND person_id_type like 'SSN'
290 AND SYSDATE < = NVL(end_dt,SYSDATE);
291
292 rec_ssn_cur ssn_cur%ROWTYPE;
293 lv_profile_value VARCHAR2(20);
294
295 BEGIN
296 igf_aw_gen.set_org_id(NULL);
297 errbuf := NULL;
298 retcode := 0;
299 l_cal_type := LTRIM(RTRIM(SUBSTR(p_award_year,1,10)));
300 l_seq_number := TO_NUMBER(SUBSTR(p_award_year,11));
301
302 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
303 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_cal_type:'||l_cal_type);
304 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_seq_number:'||l_seq_number);
305 END IF;
306
307 l_error := igf_ap_gen.get_lookup_meaning('IGF_AW_LOOKUPS_MSG','ERROR');
308 l_chk_profile := igf_ap_gen.check_profile;
309 IF l_chk_profile = 'N' THEN
310 fnd_message.set_name('IGF','IGF_AP_LGCY_PROC_NOT_RUN');
311 fnd_file.put_line(fnd_file.log,RPAD(l_error,12) || fnd_message.get);
312 RETURN;
313 END IF;
314
315 l_chk_batch := igf_ap_gen.check_batch(p_batch_id,'BASE');
316 IF l_chk_batch = 'N' THEN
317 fnd_message.set_name('IGF','IGF_GR_BATCH_DOES_NOT_EXIST');
318 add_log_table_process(NULL,l_error,fnd_message.get);
319 l_terminate_flag := TRUE;
320 END IF;
321 -- this is to get the alternate code
322 l_get_alternate_code := NULL;
323 OPEN c_get_alternate_code(l_cal_type,l_seq_number);
324 FETCH c_get_alternate_code INTO l_get_alternate_code;
325 CLOSE c_get_alternate_code;
326
327 -- this is to check that the award year is valid or not
328 l_get_status := NULL;
329 OPEN c_get_status(l_cal_type,l_seq_number);
330 FETCH c_get_status INTO l_get_status;
331 CLOSE c_get_status;
332
333 IF l_get_status.award_year_status_code IS NULL OR l_get_status.award_year_status_code IN ('C') THEN
334 fnd_message.set_name('IGF','IGF_AP_LG_INVALID_STAT');
335 fnd_message.set_token('AWARD_STATUS',l_get_status.award_year_status_code);
336 add_log_table_process(NULL,l_error,fnd_message.get);
337 l_terminate_flag := TRUE;
338 END IF;
339
340 IF l_terminate_flag = TRUE THEN
341 print_log_process(l_get_alternate_code.alternate_code,p_batch_id,p_del_ind,l_get_status.award_year_status_code);
342 RETURN;
343 END IF;
344
345 -- THE MAIN LOOP STARTS HERE FOR FETCHING THE RECORD FROM THE INTERFACE TABLE
346 OPEN c_get_records(l_get_alternate_code.alternate_code,p_batch_id);
347 LOOP
348 BEGIN
349 SAVEPOINT sp1;
350 FETCH c_get_records INTO l_get_records;
351 EXIT WHEN c_get_records%NOTFOUND;
352 IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
353 l_debug_str := 'Person Number is:' || l_get_records.person_number;
354 END IF;
355
356 lv_base_id := NULL;
357 lv_person_id := NULL;
358 l_create_flag := FALSE;
359 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
360 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','Calling igf_ap_gen.check_person');
361 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_get_records.person_number:'||l_get_records.person_number);
362 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_cal_type:'||l_cal_type);
363 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_seq_number:'||l_seq_number);
364 END IF;
365 igf_ap_gen.check_person(l_get_records.person_number,l_cal_type,l_seq_number,lv_person_id,lv_base_id);
366 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
367 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','lv_person_id:'||lv_person_id);
368 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','lv_base_id:'||lv_base_id);
369 END IF;
370
371 IF lv_person_id IS NULL THEN
372 fnd_message.set_name('IGF','IGF_AP_PE_NOT_EXIST');
373 add_log_table_process(l_get_records.person_number,l_error,fnd_message.get);
374 l_error_flag := TRUE;
375 ELSE
376 IF lv_base_id IS NULL THEN
377 l_create_flag := TRUE;
378 END IF;
379 END IF;
380
381 IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
382 l_debug_str := l_debug_str || ' Person and Base ID check passed';
383 END IF;
384
385 l_baseid_exists := NULL;
386 IF NOT l_create_flag THEN
387 OPEN c_baseid_exists(lv_base_id);
388 FETCH c_baseid_exists INTO l_baseid_exists;
389 CLOSE c_baseid_exists;
390 END IF;
391
392 -- HERE ALL THE VALIDATIONS TO BE DONE AT ONE GO
393 -- VALIDATION FOR THE AWARD PROCESS STATUS DATE
394 IF l_get_records.award_process_status_date IS NOT NULL AND l_get_records.award_process_status_date > TRUNC(SYSDATE) THEN
395 fnd_message.set_name('IGF','IGF_AP_LI_APS_DT_INVALID');
396 fnd_message.set_token('APS_DT',l_get_records.award_process_status_date);
397 add_log_table_process(l_get_records.person_number,l_error,fnd_message.get);
398 l_error_flag := TRUE;
399 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
400 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','Award process status date is invalid');
401 END IF;
402 END IF;
403
404 -- VALIDATION FOR THE AWARD NOTIFICATION STATUS NULL IS ALSO VALID
405 IF NVL(l_get_records.award_notify_status,'S') NOT IN ('S','R','D') THEN
406 fnd_message.set_name('IGF','IGF_AP_INV_FLD_VAL');
407 fnd_message.set_token('FIELD','AWARD_NOTIFY_STATUS');
408 add_log_table_process(l_get_records.person_number,l_error,fnd_message.get);
409 l_error_flag := TRUE;
410 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
411 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','Award notification status is invalid');
412 END IF;
413 END IF;
414
415 -- VALIDATION FOR AWARD NOTIFICATION STATUS DATE
416 IF l_get_records.award_notify_status_date IS NOT NULL AND l_get_records.award_notify_status_date > TRUNC(SYSDATE) THEN
417 fnd_message.set_name('IGF','IGF_AP_LI_ANS_DT_INVALID');
418 fnd_message.set_token('AWD_NOT_STAT_DT',l_get_records.award_notify_status_date);
419 add_log_table_process(l_get_records.person_number,l_error,fnd_message.get);
420 l_error_flag := TRUE;
421 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
422 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','Award notification status date in invalid');
423 END IF;
424 END IF;
425
426 IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
427 l_debug_str := l_debug_str || ' AWARD PROCESS AND NOTIFICATION STATUS DATE passed';
428 END IF;
429
430 -- VALIDATION FOR OVERRIDE NSLDS DEFAULT
431 IF NVL(l_get_records.override_nslds_flag,'X') NOT IN ('Y','N') THEN
432 fnd_message.set_name('IGF','IGF_AP_INV_FLD_VAL');
433 fnd_message.set_token('FIELD','OVERRIDE_NSLDS_FLAG');
434 add_log_table_process(l_get_records.person_number,l_error,fnd_message.get);
435 l_error_flag := TRUE;
436 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
437 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','Override NSLDS flag value is invalid');
438 END IF;
439 END IF;
440
441 -- VALIDATION FOR PROFESSIONAL JUDGEMENT
442 IF NVL(l_get_records.professional_judgment_flag,'X') NOT IN ('Y','N') THEN
443 fnd_message.set_name('IGF','IGF_AP_INV_FLD_VAL');
444 fnd_message.set_token('FIELD','PROFESSIONAL_JUDGMENT_FLAG');
445 add_log_table_process(l_get_records.person_number,l_error,fnd_message.get);
446 l_error_flag := TRUE;
447 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
448 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','Professional Judgement flag value is invalid');
449 END IF;
450 END IF;
451
452 IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
453 l_debug_str := l_debug_str || ' PROFESSIONAL JUDGEMENT passed';
454 END IF;
455
456 -- VALIDATION FOR VERIFICATION HOLD ON DISBURSEMENT
457 IF NVL(l_get_records.disburse_verification_hold,'X') NOT IN ('Y','N') THEN
458 fnd_message.set_name('IGF','IGF_AP_INV_FLD_VAL');
459 fnd_message.set_token('FIELD','DISBURSE_VERIFICATION_HOLD');
460 add_log_table_process(l_get_records.person_number,l_error,fnd_message.get);
461 l_error_flag := TRUE;
462 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
463 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','Disburse verification flag value is invalid');
464 END IF;
465 END IF;
466
467 -- VALIDATION FOR AWARD PROCESS STATUS NULL IS ALSO VALID
468 IF NVL(l_get_records.award_process_status_code,'REVISED') NOT IN ('REVISED','AUTO_PACKAGED') THEN
469 fnd_message.set_name('IGF','IGF_AP_INV_FLD_VAL');
470 fnd_message.set_token('FIELD','AWARD_PROCESS_STATUS_CODE');
471 add_log_table_process(l_get_records.person_number,l_error,fnd_message.get);
472 l_error_flag := TRUE;
473 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
474 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','award process status is invalid');
475 END IF;
476 END IF;
477
478 l_process_status := NULL;
479 l_process_date := NULL;
480 IF NOT l_create_flag THEN
481 l_process_status := l_baseid_exists.packaging_status;
482 l_process_date := l_baseid_exists.packaging_status_date;
483 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
484 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_process_status:'||l_process_status);
485 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_process_date:'||l_process_date);
486 END IF;
487 ELSE
488 l_process_status := l_get_records.award_process_status_code;
489 l_process_date := l_get_records.award_process_status_date;
490 END IF;
491
492 IF l_process_status IS NULL THEN
493 -- if the student in context has legacy awards then update the process status
494 IF NOT l_create_flag THEN
495 l_chk_legacy_awd := NULL;
496 OPEN c_chk_legacy_awd(lv_base_id);
497 FETCH c_chk_legacy_awd INTO l_chk_legacy_awd;
498 CLOSE c_chk_legacy_awd;
499 IF l_chk_legacy_awd.base_id IS NOT NULL THEN
500 l_process_status := l_get_records.award_process_status_code;
501 l_process_date := l_get_records.award_process_status_date;
502 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
503 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_chk_legacy_awd.base_id:'||l_chk_legacy_awd.base_id);
504 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_process_status:'||l_process_status);
505 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_process_date:'||l_process_date);
506 END IF;
507 END IF;
508 END IF;
509 END IF;
510
511 IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
512 l_debug_str := l_debug_str || ' AWARD PROCESS STATUS passed';
513 END IF;
514
515 IF NOT l_error_flag THEN
516 IF NOT l_create_flag THEN
517 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
518 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_create_flag:FALSE');
519 END IF;
520 -- update the fa base record
521 igf_ap_fa_base_rec_pkg.update_row(
522 x_Mode => 'R' ,
523 x_rowid => l_baseid_exists.row_id ,
524 x_base_id => l_baseid_exists.base_id ,
525 x_ci_cal_type => l_baseid_exists.ci_cal_type ,
526 x_person_id => l_baseid_exists.person_id ,
527 x_ci_sequence_number => l_baseid_exists.ci_sequence_number ,
528 x_org_id => l_baseid_exists.org_id ,
529 x_coa_pending => l_baseid_exists.coa_pending ,
530 x_verification_process_run => l_baseid_exists.verification_process_run ,
531 x_inst_verif_status_date => l_baseid_exists.inst_verif_status_date ,
532 x_manual_verif_flag => l_baseid_exists.manual_verif_flag ,
533 x_fed_verif_status => l_baseid_exists.fed_verif_status ,
534 x_fed_verif_status_date => l_baseid_exists.fed_verif_status_date ,
535 x_inst_verif_status => l_baseid_exists.inst_verif_status ,
536 x_nslds_eligible => l_baseid_exists.nslds_eligible ,
537 x_ede_correction_batch_id => l_baseid_exists.ede_correction_batch_id ,
538 x_fa_process_status_date => l_baseid_exists.fa_process_status_date ,
539 x_isir_corr_status => l_baseid_exists.isir_corr_status ,
540 x_isir_corr_status_date => l_baseid_exists.isir_corr_status_date ,
541 x_isir_status => l_baseid_exists.isir_status ,
542 x_isir_status_date => l_baseid_exists.isir_status_date ,
543 x_coa_code_f => l_baseid_exists.coa_code_f ,
544 x_coa_code_i => l_baseid_exists.coa_code_i ,
545 x_coa_f => l_baseid_exists.coa_f ,
546 x_coa_i => l_baseid_exists.coa_i ,
547 x_disbursement_hold => l_baseid_exists.disbursement_hold ,
548 x_fa_process_status => l_baseid_exists.fa_process_status ,
549 x_notification_status => NULL, --l_get_records.award_notify_status ,
550 x_notification_status_date => NULL, --l_get_records.award_notify_status_date ,
551 x_packaging_status => l_process_status ,
552 x_packaging_status_date => l_process_date ,
553 x_total_package_accepted => l_baseid_exists.total_package_accepted ,
554 x_total_package_offered => l_baseid_exists.total_package_offered ,
555 x_admstruct_id => l_baseid_exists.admstruct_id ,
556 x_admsegment_1 => l_baseid_exists.admsegment_1 ,
557 x_admsegment_2 => l_baseid_exists.admsegment_2 ,
558 x_admsegment_3 => l_baseid_exists.admsegment_3 ,
559 x_admsegment_4 => l_baseid_exists.admsegment_4 ,
560 x_admsegment_5 => l_baseid_exists.admsegment_5 ,
561 x_admsegment_6 => l_baseid_exists.admsegment_6 ,
562 x_admsegment_7 => l_baseid_exists.admsegment_7 ,
563 x_admsegment_8 => l_baseid_exists.admsegment_8 ,
564 x_admsegment_9 => l_baseid_exists.admsegment_9 ,
565 x_admsegment_10 => l_baseid_exists.admsegment_10 ,
566 x_admsegment_11 => l_baseid_exists.admsegment_11 ,
567 x_admsegment_12 => l_baseid_exists.admsegment_12 ,
568 x_admsegment_13 => l_baseid_exists.admsegment_13 ,
569 x_admsegment_14 => l_baseid_exists.admsegment_14 ,
570 x_admsegment_15 => l_baseid_exists.admsegment_15 ,
571 x_admsegment_16 => l_baseid_exists.admsegment_16 ,
572 x_admsegment_17 => l_baseid_exists.admsegment_17 ,
573 x_admsegment_18 => l_baseid_exists.admsegment_18 ,
574 x_admsegment_19 => l_baseid_exists.admsegment_19 ,
575 x_admsegment_20 => l_baseid_exists.admsegment_20 ,
576 x_packstruct_id => l_baseid_exists.packstruct_id ,
577 x_packsegment_1 => l_baseid_exists.packsegment_1 ,
578 x_packsegment_2 => l_baseid_exists.packsegment_2 ,
579 x_packsegment_3 => l_baseid_exists.packsegment_3 ,
580 x_packsegment_4 => l_baseid_exists.packsegment_4 ,
581 x_packsegment_5 => l_baseid_exists.packsegment_5 ,
582 x_packsegment_6 => l_baseid_exists.packsegment_6 ,
583 x_packsegment_7 => l_baseid_exists.packsegment_7 ,
584 x_packsegment_8 => l_baseid_exists.packsegment_8 ,
585 x_packsegment_9 => l_baseid_exists.packsegment_9 ,
586 x_packsegment_10 => l_baseid_exists.packsegment_10 ,
587 x_packsegment_11 => l_baseid_exists.packsegment_11 ,
588 x_packsegment_12 => l_baseid_exists.packsegment_12 ,
589 x_packsegment_13 => l_baseid_exists.packsegment_13 ,
590 x_packsegment_14 => l_baseid_exists.packsegment_14 ,
591 x_packsegment_15 => l_baseid_exists.packsegment_15 ,
592 x_packsegment_16 => l_baseid_exists.packsegment_16 ,
593 x_packsegment_17 => l_baseid_exists.packsegment_17 ,
594 x_packsegment_18 => l_baseid_exists.packsegment_18 ,
595 x_packsegment_19 => l_baseid_exists.packsegment_19 ,
596 x_packsegment_20 => l_baseid_exists.packsegment_20 ,
597 x_miscstruct_id => l_baseid_exists.miscstruct_id ,
598 x_miscsegment_1 => l_baseid_exists.miscsegment_1 ,
599 x_miscsegment_2 => l_baseid_exists.miscsegment_2 ,
600 x_miscsegment_3 => l_baseid_exists.miscsegment_3 ,
601 x_miscsegment_4 => l_baseid_exists.miscsegment_4 ,
602 x_miscsegment_5 => l_baseid_exists.miscsegment_5 ,
603 x_miscsegment_6 => l_baseid_exists.miscsegment_6 ,
604 x_miscsegment_7 => l_baseid_exists.miscsegment_7 ,
605 x_miscsegment_8 => l_baseid_exists.miscsegment_8 ,
606 x_miscsegment_9 => l_baseid_exists.miscsegment_9 ,
607 x_miscsegment_10 => l_baseid_exists.miscsegment_10 ,
608 x_miscsegment_11 => l_baseid_exists.miscsegment_11 ,
609 x_miscsegment_12 => l_baseid_exists.miscsegment_12 ,
610 x_miscsegment_13 => l_baseid_exists.miscsegment_13 ,
611 x_miscsegment_14 => l_baseid_exists.miscsegment_14 ,
612 x_miscsegment_15 => l_baseid_exists.miscsegment_15 ,
613 x_miscsegment_16 => l_baseid_exists.miscsegment_16 ,
614 x_miscsegment_17 => l_baseid_exists.miscsegment_17 ,
615 x_miscsegment_18 => l_baseid_exists.miscsegment_18 ,
616 x_miscsegment_19 => l_baseid_exists.miscsegment_19 ,
617 x_miscsegment_20 => l_baseid_exists.miscsegment_20 ,
618 x_prof_judgement_flg => l_get_records.professional_judgment_flag ,
619 x_nslds_data_override_flg => l_get_records.override_nslds_flag ,
620 x_target_group => l_baseid_exists.target_group ,
621 x_coa_fixed => l_baseid_exists.coa_fixed ,
622 x_coa_pell => l_baseid_exists.coa_pell ,
623 x_profile_status => l_baseid_exists.profile_status ,
624 x_profile_status_date => l_baseid_exists.profile_status_date ,
625 x_profile_fc => l_baseid_exists.profile_fc ,
626 x_manual_disb_hold => l_get_records.disburse_verification_hold,
627 x_pell_alt_expense => l_baseid_exists.pell_alt_expense,
628 x_assoc_org_num => l_baseid_exists.assoc_org_num,
629 x_award_fmly_contribution_type => l_baseid_exists.award_fmly_contribution_type,
630 x_isir_locked_by => l_baseid_exists.isir_locked_by,
631 x_adnl_unsub_loan_elig_flag => l_baseid_exists.adnl_unsub_loan_elig_flag,
632 x_lock_awd_flag => l_baseid_exists.lock_awd_flag,
633 x_lock_coa_flag => l_baseid_exists.lock_coa_flag
634 );
635 ELSE
636 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
637 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_create_flag:TRUE');
638 END IF;
639 --insert new base record
640 l_base_id := NULL;
641 l_row_id := NULL;
642
643 --check if the ssn no is available or not
644
645 fnd_profile.get('IGF_AP_SSN_REQ_FOR_BASE_REC',lv_profile_value);
646
647 l_create_base_rec := TRUE;
648 IF(lv_profile_value = 'Y') THEN
649 OPEN ssn_cur(lv_person_id) ;
650 FETCH ssn_cur INTO rec_ssn_cur;
651 IF ssn_cur%NOTFOUND THEN
652 CLOSE ssn_cur;
653 fnd_message.set_name('IGF','IGF_AP_SSN_REQD');
654 FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
655 l_create_base_rec := FALSE;
656 l_error_flag := FALSE;
657 ELSE
658 CLOSE ssn_cur;
659 l_create_base_rec := TRUE;
660 END IF;
661 END IF;
662
663 IF l_create_base_rec THEN
664 igf_ap_fa_base_rec_pkg.insert_row(
665 x_Mode => 'R' ,
666 x_rowid => l_row_id ,
667 x_base_id => l_base_id ,
668 x_ci_cal_type => l_cal_type ,
669 x_person_id => lv_person_id ,
670 x_ci_sequence_number => l_seq_number ,
671 x_org_id => NULL,
672 x_coa_pending => NULL,
673 x_verification_process_run => NULL,
674 x_inst_verif_status_date => NULL,
675 x_manual_verif_flag => NULL,
676 x_fed_verif_status => NULL,
677 x_fed_verif_status_date => NULL,
678 x_inst_verif_status => NULL,
679 x_nslds_eligible => NULL,
680 x_ede_correction_batch_id => NULL,
681 x_fa_process_status_date => NULL,
682 x_isir_corr_status => NULL,
683 x_isir_corr_status_date => NULL,
684 x_isir_status => NULL,
685 x_isir_status_date => NULL,
686 x_coa_code_f => NULL,
687 x_coa_code_i => NULL,
688 x_coa_f => NULL,
689 x_coa_i => NULL,
690 x_disbursement_hold => NULL,
691 x_fa_process_status => NULL,
692 x_notification_status => NULL, --l_get_records.award_notify_status ,
693 x_notification_status_date => NULL, --l_get_records.award_notify_status_date ,
694 x_packaging_status => l_process_status ,
695 x_packaging_status_date => l_process_date ,
696 x_total_package_accepted => NULL,
697 x_total_package_offered => NULL,
698 x_admstruct_id => NULL,
699 x_admsegment_1 => NULL,
700 x_admsegment_2 => NULL,
701 x_admsegment_3 => NULL,
702 x_admsegment_4 => NULL,
703 x_admsegment_5 => NULL,
704 x_admsegment_6 => NULL,
705 x_admsegment_7 => NULL,
706 x_admsegment_8 => NULL,
707 x_admsegment_9 => NULL,
708 x_admsegment_10 => NULL,
709 x_admsegment_11 => NULL,
710 x_admsegment_12 => NULL,
711 x_admsegment_13 => NULL,
712 x_admsegment_14 => NULL,
713 x_admsegment_15 => NULL,
714 x_admsegment_16 => NULL,
715 x_admsegment_17 => NULL,
716 x_admsegment_18 => NULL,
717 x_admsegment_19 => NULL,
718 x_admsegment_20 => NULL,
719 x_packstruct_id => NULL,
720 x_packsegment_1 => NULL,
721 x_packsegment_2 => NULL,
722 x_packsegment_3 => NULL,
723 x_packsegment_4 => NULL,
724 x_packsegment_5 => NULL,
725 x_packsegment_6 => NULL,
726 x_packsegment_7 => NULL,
727 x_packsegment_8 => NULL,
728 x_packsegment_9 => NULL,
729 x_packsegment_10 => NULL,
730 x_packsegment_11 => NULL,
731 x_packsegment_12 => NULL,
732 x_packsegment_13 => NULL,
733 x_packsegment_14 => NULL,
734 x_packsegment_15 => NULL,
735 x_packsegment_16 => NULL,
736 x_packsegment_17 => NULL,
737 x_packsegment_18 => NULL,
738 x_packsegment_19 => NULL,
739 x_packsegment_20 => NULL,
740 x_miscstruct_id => NULL,
741 x_miscsegment_1 => NULL,
742 x_miscsegment_2 => NULL,
743 x_miscsegment_3 => NULL,
744 x_miscsegment_4 => NULL,
745 x_miscsegment_5 => NULL,
746 x_miscsegment_6 => NULL,
747 x_miscsegment_7 => NULL,
748 x_miscsegment_8 => NULL,
749 x_miscsegment_9 => NULL,
750 x_miscsegment_10 => NULL,
751 x_miscsegment_11 => NULL,
752 x_miscsegment_12 => NULL,
753 x_miscsegment_13 => NULL,
754 x_miscsegment_14 => NULL,
755 x_miscsegment_15 => NULL,
756 x_miscsegment_16 => NULL,
757 x_miscsegment_17 => NULL,
758 x_miscsegment_18 => NULL,
759 x_miscsegment_19 => NULL,
760 x_miscsegment_20 => NULL,
761 x_prof_judgement_flg => l_get_records.professional_judgment_flag ,
762 x_nslds_data_override_flg => l_get_records.override_nslds_flag ,
763 x_target_group => NULL,
764 x_coa_fixed => NULL,
765 x_coa_pell => NULL,
766 x_profile_status => NULL,
767 x_profile_status_date => NULL,
768 x_profile_fc => NULL,
769 x_manual_disb_hold => l_get_records.disburse_verification_hold,
770 x_pell_alt_expense => NULL,
771 x_assoc_org_num => NULL,
772 x_award_fmly_contribution_type => '1',
773 x_isir_locked_by => NULL,
774 x_adnl_unsub_loan_elig_flag => 'N',
775 x_lock_awd_flag => 'N',
776 x_lock_coa_flag => 'N'
777
778 );
779
780 END IF;
781
782 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
783 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','l_base_id:'||l_base_id);
784 END IF;
785 END IF;
786 fnd_message.set_name('IGS','IGS_EN_LGCY_SUCCESS');
787 add_log_table_process(l_get_records.person_number,' ',fnd_message.get);
788 l_success_record_cnt := l_success_record_cnt + 1;
789 END IF; -- ERROR FLAG CHECK
790
791
792 IF l_error_flag = TRUE THEN
793 l_error_flag := FALSE;
794 l_error_record_cnt := l_error_record_cnt + 1;
795 --update the legacy interface table column import_status to 'E'
796 UPDATE igf_ap_li_fab_ints
797 SET import_status_type = 'E',
798 last_updated_by = fnd_global.user_id,
799 last_update_date = SYSDATE,
800 last_update_login = fnd_global.login_id,
801 request_id = fnd_global.conc_request_id,
802 program_id = fnd_global.conc_program_id,
803 program_application_id = fnd_global.prog_appl_id,
804 program_update_date = SYSDATE
805 WHERE ROWID = l_get_records.ROW_ID;
806 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
807 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','updating igf_ap_li_fa_ints(E) with rowid:'||l_get_records.ROW_ID);
808 END IF;
809 ELSE
810 IF p_del_ind = 'Y' THEN
811 DELETE FROM igf_ap_li_fab_ints
812 WHERE ROWID = l_get_records.ROW_ID;
813 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
814 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','deleting igf_ap_li_fa_ints with rowid:'||l_get_records.ROW_ID);
815 END IF;
816 ELSE
817 --update the legacy interface table column import_status to 'I'
818 UPDATE igf_ap_li_fab_ints
819 SET import_status_type = 'I',
820 last_updated_by = fnd_global.user_id,
821 last_update_date = SYSDATE,
822 last_update_login = fnd_global.login_id,
823 request_id = fnd_global.conc_request_id,
824 program_id = fnd_global.conc_program_id,
825 program_application_id = fnd_global.prog_appl_id,
826 program_update_date = SYSDATE
827 WHERE ROWID = l_get_records.ROW_ID;
828 IF fnd_log.level_statement >= fnd_log.g_current_runtime_level THEN
829 fnd_log.string(fnd_log.level_statement,'igf.plsql.igf_ap_li_base_rec_import.main.debug','updating igf_ap_li_fa_ints(I) with rowid:'||l_get_records.ROW_ID);
830 END IF;
831 END IF;
832 END IF;
833 IF FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
834 FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,'igf.plsql.igf_ap_li_base_rec_import.main.debug',l_debug_str);
835 END IF;
836
837 l_debug_str := NULL;
838 EXCEPTION
839 WHEN others THEN
840 l_debug_str := NULL;
841 l_error_flag := FALSE;
842 fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
843 fnd_message.set_token('NAME','IGF_AP_LI_BASE_REC_IMPORT.MAIN');
844 add_log_table_process(l_get_records.person_number,l_error,fnd_message.get);
845 ROLLBACK TO sp1;
846 END;
847 COMMIT;
848 END LOOP;
849 CLOSE c_get_records;
850
851 IF l_success_record_cnt = 0 AND l_error_record_cnt = 0 THEN
852 fnd_message.set_name('IGS','IGS_FI_NO_RECORD_AVAILABLE');
853 add_log_table_process(NULL,l_error,fnd_message.get);
854 END IF;
855
856 -- CALL THE PRINT LOG PROCESS
857 print_log_process(l_get_alternate_code.alternate_code,p_batch_id,p_del_ind,l_get_status.award_year_status_code);
858
859 l_total_record_cnt := l_success_record_cnt + l_error_record_cnt;
860 fnd_message.set_name('IGS','IGS_GE_TOTAL_REC_PROCESSED');
861 fnd_file.put_line(fnd_file.OUTPUT,fnd_message.get || ' ' || l_total_record_cnt);
862 fnd_message.set_name('IGS','IGS_AD_SUCC_IMP_OFR_RESP_REC');
863 fnd_file.put_line(fnd_file.OUTPUT,fnd_message.get || ' : ' || l_success_record_cnt);
864 fnd_message.set_name('IGS','IGS_GE_TOTAL_REC_FAILED');
865 fnd_file.put_line(fnd_file.OUTPUT,fnd_message.get || ' : ' || l_error_record_cnt);
866 EXCEPTION
867 WHEN others THEN
868 IF FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
869 FND_LOG.STRING(FND_LOG.LEVEL_EXCEPTION,'igf.plsql.igf_ap_li_base_rec_import.main.exception',SQLERRM);
870 END IF;
871 fnd_message.set_name('IGF','IGF_GE_UNHANDLED_EXP');
872 fnd_message.set_token('NAME','IGF_AP_LI_BASE_REC_IMPORT.MAIN');
873 errbuf := fnd_message.get;
874 igs_ge_msg_stack.conc_exception_hndl;
875
876 END main;
877
878
879 PROCEDURE add_log_table_process(
880 p_person_number IN VARCHAR2,
881 p_error IN VARCHAR2,
882 p_message_str IN VARCHAR2
883 ) IS
884 /*
885 || Created By : bkkumar
886 || Created On : 26-MAY-2003
887 || Purpose : This process adds a record to the global pl/sql table containing log messages
888 || Known limitations, enhancements or remarks :
889 || Change History :
890 || Who When What
891 || (reverse chronological order - newest change first)
892 */
893
894 BEGIN
895
896 g_log_tab_index := g_log_tab_index + 1;
897 g_log_tab(g_log_tab_index).person_number := p_person_number;
898 g_log_tab(g_log_tab_index).message_text := RPAD('',12) || p_message_str;
899
900 END add_log_table_process;
901
902 PROCEDURE print_log_process(
903 p_alternate_code IN VARCHAR2,
904 p_batch_id IN NUMBER,
905 p_del_ind IN VARCHAR2,
906 p_awd_yr_status IN VARCHAR2
907 ) IS
908 /*
909 || Created By : bkkumar
910 || Created On : 26-MAY-2003
911 || Purpose : This process gets the records from the pl/sql table and print in the log file
912 || Known limitations, enhancements or remarks :
913 || Change History :
914 || Who When What
915 || (reverse chronological order - newest change first)
916 */
917
918 l_count NUMBER(5) := g_log_tab.COUNT;
919 l_print_message_flag BOOLEAN := TRUE;
920 l_old_person igf_ap_li_css_act_ints.person_number%TYPE := '*******';
921
922 l_person_number VARCHAR2(80);
923 l_batch_id VARCHAR2(80);
924 l_award_yr VARCHAR2(80);
925 l_batch_desc VARCHAR2(80);
926 l_yes_no VARCHAR2(10);
927 l_param_passed VARCHAR2(80);
928 l_award_yr_status VARCHAR2(80);
929
930 CURSOR c_get_batch_desc(cp_batch_num NUMBER) IS
931 SELECT batch_desc
932 FROM igf_ap_li_bat_ints
933 WHERE batch_num = cp_batch_num;
934
935 l_get_batch_desc c_get_batch_desc%ROWTYPE;
936
937 BEGIN
938
939 l_person_number := igf_ap_gen.get_lookup_meaning('IGF_AW_LOOKUPS_MSG','PERSON_NUMBER');
940 l_batch_id := igf_ap_gen.get_lookup_meaning('IGF_AW_LOOKUPS_MSG','BATCH_ID');
941 l_award_yr := igf_ap_gen.get_lookup_meaning('IGF_AW_LOOKUPS_MSG','AWARD_YEAR');
942 l_yes_no := igf_ap_gen.get_lookup_meaning('IGF_AP_YES_NO',p_del_ind);
943 l_param_passed := igf_ap_gen.get_lookup_meaning('IGF_GE_PARAMETERS','PARAMETER_PASS');
944 l_award_yr_status := igf_ap_gen.get_lookup_meaning('IGF_AWARD_YEAR_STATUS',p_awd_yr_status);
945
946 OPEN c_get_batch_desc(p_batch_id);
947 FETCH c_get_batch_desc INTO l_get_batch_desc;
948 CLOSE c_get_batch_desc;
949 l_batch_desc := l_get_batch_desc.batch_desc ;
950
951 -- HERE THE INPUT PARAMETERS ARE TO BE LOGGED TO THE LOG FILE
952 fnd_file.put_line(fnd_file.log,l_param_passed);
953 fnd_file.put_line(fnd_file.log,RPAD(l_award_yr,50) || ' : ' || p_alternate_code);
954 fnd_file.put_line(fnd_file.log,RPAD(l_batch_id,50) || ' : ' || p_batch_id || ' - ' || l_batch_desc);
955 fnd_file.put_line(fnd_file.log,RPAD(igf_ap_gen.get_lookup_meaning('IGF_GE_PARAMETERS','DELETE_FLAG'),50) || ' : ' || l_yes_no);
956 fnd_file.put_line(fnd_file.log,'------------------------------------------------------------------------------');
957 fnd_file.put_line(fnd_file.log,RPAD(igf_ap_gen.get_lookup_meaning('IGF_GE_PARAMETERS','AWARD_YR_STATUS'),50) || ' : ' || l_award_yr_status);
958
959 FOR i IN 1..l_count LOOP
960 IF g_log_tab(i).person_number IS NOT NULL THEN
961 IF l_old_person <> g_log_tab(i).person_number THEN
962 IF i <> 1 AND l_print_message_flag THEN
963 fnd_message.set_name('IGF','IGF_AW_LI_SKIPPING_AWD');
964 fnd_file.put_line(fnd_file.log,fnd_message.get);
965 END IF;
966 fnd_file.put_line(fnd_file.log,'---------------------------------------------------------------------------------');
967 fnd_file.put_line(fnd_file.log,l_person_number || ' : ' || g_log_tab(i).person_number);
968
969 END IF;
970 l_old_person := g_log_tab(i).person_number;
971 END IF;
972 l_print_message_flag := TRUE;
973 fnd_file.put_line(fnd_file.log,g_log_tab(i).message_text);
974 IF g_log_tab(i).message_text = 'Record Successfully imported' THEN
975 l_print_message_flag := FALSE;
976 END IF;
977 END LOOP;
978 IF l_print_message_flag THEN
979 fnd_message.set_name('IGF','IGF_AW_LI_SKIPPING_AWD');
980 fnd_file.put_line(fnd_file.log,fnd_message.get);
981 END IF;
982
983 END print_log_process;
984
985 END igf_ap_li_base_rec_import;