81:
82: EXCEPTION
83:
84: WHEN OTHERS THEN
85: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
86: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.LOG_ERROR'||' - '||SQLERRM);
87: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
88: IGS_GE_MSG_STACK.ADD;
89: App_Exception.Raise_Exception;
82: EXCEPTION
83:
84: WHEN OTHERS THEN
85: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
86: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.LOG_ERROR'||' - '||SQLERRM);
87: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
88: IGS_GE_MSG_STACK.ADD;
89: App_Exception.Raise_Exception;
90: END log_error ;
83:
84: WHEN OTHERS THEN
85: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
86: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.LOG_ERROR'||' - '||SQLERRM);
87: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
88: IGS_GE_MSG_STACK.ADD;
89: App_Exception.Raise_Exception;
90: END log_error ;
91:
138: IF c_pe_alt_pers_del%ISOPEN THEN
139: CLOSE c_pe_alt_pers_del;
140: END IF ;
141:
142: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
143: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.DELETED_ALT_ID_EXISTS'||' - '||SQLERRM);
144: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
145: IGS_GE_MSG_STACK.ADD;
146:
139: CLOSE c_pe_alt_pers_del;
140: END IF ;
141:
142: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
143: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.DELETED_ALT_ID_EXISTS'||' - '||SQLERRM);
144: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
145: IGS_GE_MSG_STACK.ADD;
146:
147: App_Exception.Raise_Exception;
140: END IF ;
141:
142: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
143: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.DELETED_ALT_ID_EXISTS'||' - '||SQLERRM);
144: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
145: IGS_GE_MSG_STACK.ADD;
146:
147: App_Exception.Raise_Exception;
148:
358: IF TRUNC(c_pe_alt_pers_rec.start_dt) >= TRUNC(SYSDATE) THEN
359:
360: -- Issue warning as future dated record already
361: -- exists will the same id
362: fnd_message.set_name('IGS','IGS_HE_ALT_FUTURE_REC_EXISTS');
363: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
364: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
365: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
366:
359:
360: -- Issue warning as future dated record already
361: -- exists will the same id
362: fnd_message.set_name('IGS','IGS_HE_ALT_FUTURE_REC_EXISTS');
363: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
364: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
365: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
366:
367: ELSIF TRUNC(c_pe_alt_pers_rec.end_dt) >= TRUNC(SYSDATE) THEN
360: -- Issue warning as future dated record already
361: -- exists will the same id
362: fnd_message.set_name('IGS','IGS_HE_ALT_FUTURE_REC_EXISTS');
363: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
364: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
365: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
366:
367: ELSIF TRUNC(c_pe_alt_pers_rec.end_dt) >= TRUNC(SYSDATE) THEN
368:
361: -- exists will the same id
362: fnd_message.set_name('IGS','IGS_HE_ALT_FUTURE_REC_EXISTS');
363: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
364: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
365: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
366:
367: ELSIF TRUNC(c_pe_alt_pers_rec.end_dt) >= TRUNC(SYSDATE) THEN
368:
369: IF p_alt_person_type <> 'HUSID' THEN
369: IF p_alt_person_type <> 'HUSID' THEN
370:
371: -- Issue warning that we are unable to create alternate person id record
372: -- because future dated record exists with the same id
373: fnd_message.set_name('IGS','IGS_HE_ALT_ACTIVE_REC_EXISTS');
374: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
375: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
376: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
377:
370:
371: -- Issue warning that we are unable to create alternate person id record
372: -- because future dated record exists with the same id
373: fnd_message.set_name('IGS','IGS_HE_ALT_ACTIVE_REC_EXISTS');
374: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
375: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
376: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
377:
378: ELSE
371: -- Issue warning that we are unable to create alternate person id record
372: -- because future dated record exists with the same id
373: fnd_message.set_name('IGS','IGS_HE_ALT_ACTIVE_REC_EXISTS');
374: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
375: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
376: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
377:
378: ELSE
379:
372: -- because future dated record exists with the same id
373: fnd_message.set_name('IGS','IGS_HE_ALT_ACTIVE_REC_EXISTS');
374: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
375: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
376: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
377:
378: ELSE
379:
380: -- Create the record starting from the previous records end date
387:
388: l_insert_record := TRUE;
389:
390: -- Issue warning that future dated record will be created
391: fnd_message.set_name('IGS','IGS_HE_ALT_FUTURE_REC_CREATED');
392: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
393: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
394: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
395:
388: l_insert_record := TRUE;
389:
390: -- Issue warning that future dated record will be created
391: fnd_message.set_name('IGS','IGS_HE_ALT_FUTURE_REC_CREATED');
392: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
393: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
394: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
395:
396: END IF;
389:
390: -- Issue warning that future dated record will be created
391: fnd_message.set_name('IGS','IGS_HE_ALT_FUTURE_REC_CREATED');
392: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
393: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
394: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
395:
396: END IF;
397:
390: -- Issue warning that future dated record will be created
391: fnd_message.set_name('IGS','IGS_HE_ALT_FUTURE_REC_CREATED');
392: fnd_message.set_token('ALT_PERS_TYPE',p_alt_person_type);
393: fnd_message.set_token('ALT_PERS_ID',p_alt_pers_id);
394: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
395:
396: END IF;
397:
398: END IF; -- Alternate id type is not HUSID
454: IF c_pe_alt_pers%ISOPEN THEN
455: CLOSE c_pe_alt_pers;
456: END IF ;
457:
458: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
459: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.IMPORT_ALTERNATE_PERSON_ID'||' - '||SQLERRM);
460: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
461: IGS_GE_MSG_STACK.ADD;
462:
455: CLOSE c_pe_alt_pers;
456: END IF ;
457:
458: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
459: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.IMPORT_ALTERNATE_PERSON_ID'||' - '||SQLERRM);
460: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
461: IGS_GE_MSG_STACK.ADD;
462:
463: App_Exception.Raise_Exception;
456: END IF ;
457:
458: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
459: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.IMPORT_ALTERNATE_PERSON_ID'||' - '||SQLERRM);
460: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
461: IGS_GE_MSG_STACK.ADD;
462:
463: App_Exception.Raise_Exception;
464:
994: END IF ;
995: IF c_pe_dis%ISOPEN THEN
996: CLOSE c_pe_dis;
997: END IF ;
998: Fnd_Message.Set_name('IGS','IGS_GE_UNHANDLED_EXP');
999: fnd_message.set_token('NAME','IGS_UCAS_EXPORT_TO_OSS.POPULATE_IMP_INT'||' - '||SQLERRM);
1000: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
1001: IGS_GE_MSG_STACK.ADD;
1002: App_Exception.Raise_Exception;
995: IF c_pe_dis%ISOPEN THEN
996: CLOSE c_pe_dis;
997: END IF ;
998: Fnd_Message.Set_name('IGS','IGS_GE_UNHANDLED_EXP');
999: fnd_message.set_token('NAME','IGS_UCAS_EXPORT_TO_OSS.POPULATE_IMP_INT'||' - '||SQLERRM);
1000: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
1001: IGS_GE_MSG_STACK.ADD;
1002: App_Exception.Raise_Exception;
1003:
996: CLOSE c_pe_dis;
997: END IF ;
998: Fnd_Message.Set_name('IGS','IGS_GE_UNHANDLED_EXP');
999: fnd_message.set_token('NAME','IGS_UCAS_EXPORT_TO_OSS.POPULATE_IMP_INT'||' - '||SQLERRM);
1000: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
1001: IGS_GE_MSG_STACK.ADD;
1002: App_Exception.Raise_Exception;
1003:
1004: END populate_imp_int;
1061: IF cur_match_set%ISOPEN THEN
1062: CLOSE cur_match_set;
1063: END IF ;
1064: -- even though the admission import process completes in error , this process should continue processing
1065: Fnd_Message.Set_name('IGS','IGS_GE_UNHANDLED_EXP');
1066: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.IMPORT_PROCESS'||' - '||SQLERRM);
1067: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
1068: END import_process;
1069:
1062: CLOSE cur_match_set;
1063: END IF ;
1064: -- even though the admission import process completes in error , this process should continue processing
1065: Fnd_Message.Set_name('IGS','IGS_GE_UNHANDLED_EXP');
1066: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.IMPORT_PROCESS'||' - '||SQLERRM);
1067: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
1068: END import_process;
1069:
1070: PROCEDURE main_process(
1063: END IF ;
1064: -- even though the admission import process completes in error , this process should continue processing
1065: Fnd_Message.Set_name('IGS','IGS_GE_UNHANDLED_EXP');
1066: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.IMPORT_PROCESS'||' - '||SQLERRM);
1067: fnd_file.put_line(fnd_file.LOG,fnd_message.get());
1068: END import_process;
1069:
1070: PROCEDURE main_process(
1071: errbuf OUT NOCOPY VARCHAR2,
1407:
1408: -- Validate the Parameters ,atleast one of person details or program attempt details should be imported
1409: -- Both p_spa_det and p_pers_det should not be having value N
1410: IF p_pers_det = 'N' AND p_spa_det = 'N' THEN
1411: FND_MESSAGE.SET_NAME('IGS','IGS_HE_IMP_INV_PARAM');
1412: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1413: retcode := 3 ;
1414: RETURN ;
1415: END IF ;
1408: -- Validate the Parameters ,atleast one of person details or program attempt details should be imported
1409: -- Both p_spa_det and p_pers_det should not be having value N
1410: IF p_pers_det = 'N' AND p_spa_det = 'N' THEN
1411: FND_MESSAGE.SET_NAME('IGS','IGS_HE_IMP_INV_PARAM');
1412: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1413: retcode := 3 ;
1414: RETURN ;
1415: END IF ;
1416:
1424: l_altid := NULL ;
1425: OPEN c_alt_persid_type('HUSID') ;
1426: FETCH c_alt_persid_type INTO l_altid ;
1427: IF c_alt_persid_type%NOTFOUND THEN
1428: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_HUSID');
1429: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1430: l_no_setup := TRUE ;
1431: END IF;
1432: CLOSE c_alt_persid_type ;
1425: OPEN c_alt_persid_type('HUSID') ;
1426: FETCH c_alt_persid_type INTO l_altid ;
1427: IF c_alt_persid_type%NOTFOUND THEN
1428: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_HUSID');
1429: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1430: l_no_setup := TRUE ;
1431: END IF;
1432: CLOSE c_alt_persid_type ;
1433:
1435: l_altid := NULL ;
1436: OPEN c_alt_persid_type('UCASID') ;
1437: FETCH c_alt_persid_type INTO l_altid ;
1438: IF c_alt_persid_type%NOTFOUND THEN
1439: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_UCASID');
1440: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1441: l_no_setup := TRUE ;
1442: END IF;
1443: CLOSE c_alt_persid_type ;
1436: OPEN c_alt_persid_type('UCASID') ;
1437: FETCH c_alt_persid_type INTO l_altid ;
1438: IF c_alt_persid_type%NOTFOUND THEN
1439: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_UCASID');
1440: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1441: l_no_setup := TRUE ;
1442: END IF;
1443: CLOSE c_alt_persid_type ;
1444:
1446: l_altid := NULL ;
1447: OPEN c_alt_persid_type('UCASREGNO') ;
1448: FETCH c_alt_persid_type INTO l_altid ;
1449: IF c_alt_persid_type%NOTFOUND THEN
1450: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_SCOTVEC');
1451: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1452: l_no_setup := TRUE ;
1453: END IF;
1454: CLOSE c_alt_persid_type ;
1447: OPEN c_alt_persid_type('UCASREGNO') ;
1448: FETCH c_alt_persid_type INTO l_altid ;
1449: IF c_alt_persid_type%NOTFOUND THEN
1450: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_SCOTVEC');
1451: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1452: l_no_setup := TRUE ;
1453: END IF;
1454: CLOSE c_alt_persid_type ;
1455:
1457: l_altid := NULL ;
1458: OPEN c_alt_orgid ;
1459: FETCH c_alt_orgid INTO l_altid ;
1460: IF c_alt_orgid%NOTFOUND THEN
1461: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_HESAINST');
1462: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1463: l_no_setup := TRUE ;
1464: END IF;
1465: CLOSE c_alt_orgid ;
1458: OPEN c_alt_orgid ;
1459: FETCH c_alt_orgid INTO l_altid ;
1460: IF c_alt_orgid%NOTFOUND THEN
1461: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_HESAINST');
1462: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1463: l_no_setup := TRUE ;
1464: END IF;
1465: CLOSE c_alt_orgid ;
1466:
1468: c_src_type_id_rec := NULL ;
1469: OPEN c_src_type_id;
1470: FETCH c_src_type_id INTO c_src_type_id_rec;
1471: IF c_src_type_id%NOTFOUND THEN
1472: fnd_message.set_name('IGS','IGS_UC_NO_UCAS_SRC_TYP');
1473: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1474: l_no_setup := TRUE ;
1475: ELSE
1476: --Check whether the Source Category of Academic History is included within the source Type "UCAS PER" or not.
1469: OPEN c_src_type_id;
1470: FETCH c_src_type_id INTO c_src_type_id_rec;
1471: IF c_src_type_id%NOTFOUND THEN
1472: fnd_message.set_name('IGS','IGS_UC_NO_UCAS_SRC_TYP');
1473: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1474: l_no_setup := TRUE ;
1475: ELSE
1476: --Check whether the Source Category of Academic History is included within the source Type "UCAS PER" or not.
1477: l_altid := NULL ;
1477: l_altid := NULL ;
1478: OPEN cur_pe_src_cat(c_src_type_id_rec.source_type_id);
1479: FETCH cur_pe_src_cat INTO l_altid;
1480: IF cur_pe_src_cat%NOTFOUND THEN
1481: fnd_message.set_name('IGS','IGS_UC_SETUP_SRC_CAT');
1482: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1483: l_no_setup := TRUE ;
1484: END IF;
1485: CLOSE cur_pe_src_cat;
1478: OPEN cur_pe_src_cat(c_src_type_id_rec.source_type_id);
1479: FETCH cur_pe_src_cat INTO l_altid;
1480: IF cur_pe_src_cat%NOTFOUND THEN
1481: fnd_message.set_name('IGS','IGS_UC_SETUP_SRC_CAT');
1482: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1483: l_no_setup := TRUE ;
1484: END IF;
1485: CLOSE cur_pe_src_cat;
1486: END IF;
1499: FETCH c_interface INTO c_interface_rec ;
1500: IF c_interface%NOTFOUND THEN
1501: CLOSE c_interface ;
1502: retcode := 3;
1503: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_INT_RECS');
1504: FND_MESSAGE.SET_TOKEN('BATCH_ID',p_batch_id) ;
1505: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1506: RETURN ;
1507: ELSE
1500: IF c_interface%NOTFOUND THEN
1501: CLOSE c_interface ;
1502: retcode := 3;
1503: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_INT_RECS');
1504: FND_MESSAGE.SET_TOKEN('BATCH_ID',p_batch_id) ;
1505: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1506: RETURN ;
1507: ELSE
1508: CLOSE c_interface ;
1501: CLOSE c_interface ;
1502: retcode := 3;
1503: FND_MESSAGE.SET_NAME('IGS','IGS_HE_NO_INT_RECS');
1504: FND_MESSAGE.SET_TOKEN('BATCH_ID',p_batch_id) ;
1505: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1506: RETURN ;
1507: ELSE
1508: CLOSE c_interface ;
1509: END IF ;
1530: program_application_id,
1531: program_update_date,
1532: program_id)
1533: VALUES ( l_imp_batch_id,
1534: fnd_message.get_string('IGS','IGS_HE_IMP_HESA_DET_BATCH_ID'),
1535: fnd_global.user_id,
1536: SYSDATE,
1537: fnd_global.user_id,
1538: SYSDATE,
1546:
1547: -- Process all the import interface reocrds for the passed Batch ID
1548: FOR c_interface_rec IN c_interface LOOP
1549: fnd_file.put_line( fnd_file.LOG ,' ');
1550: fnd_message.set_name('IGS','IGS_HE_PROC_INT');
1551: fnd_message.set_token('INTERFACE_ID',c_interface_rec.interface_hesa_id) ;
1552: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1553:
1554: l_error_flag := FALSE ;
1547: -- Process all the import interface reocrds for the passed Batch ID
1548: FOR c_interface_rec IN c_interface LOOP
1549: fnd_file.put_line( fnd_file.LOG ,' ');
1550: fnd_message.set_name('IGS','IGS_HE_PROC_INT');
1551: fnd_message.set_token('INTERFACE_ID',c_interface_rec.interface_hesa_id) ;
1552: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1553:
1554: l_error_flag := FALSE ;
1555: l_person_number := NULL ;
1548: FOR c_interface_rec IN c_interface LOOP
1549: fnd_file.put_line( fnd_file.LOG ,' ');
1550: fnd_message.set_name('IGS','IGS_HE_PROC_INT');
1551: fnd_message.set_token('INTERFACE_ID',c_interface_rec.interface_hesa_id) ;
1552: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
1553:
1554: l_error_flag := FALSE ;
1555: l_person_number := NULL ;
1556: l_oss_gceasn := NULL ;
2233:
2234: --When there are more than 1 Academic History records existing for Person and OSS Institution passed
2235: IF l_acad_hist_count > 1 THEN
2236: --Log a message asking users for mannual review and update
2237: fnd_message.set_name('IGS','IGS_UC_ACAD_HIST_REC_EXISTS');
2238: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2239: fnd_message.set_token('INST', l_oss_inst);
2240: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2241: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2234: --When there are more than 1 Academic History records existing for Person and OSS Institution passed
2235: IF l_acad_hist_count > 1 THEN
2236: --Log a message asking users for mannual review and update
2237: fnd_message.set_name('IGS','IGS_UC_ACAD_HIST_REC_EXISTS');
2238: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2239: fnd_message.set_token('INST', l_oss_inst);
2240: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2241: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2242:
2235: IF l_acad_hist_count > 1 THEN
2236: --Log a message asking users for mannual review and update
2237: fnd_message.set_name('IGS','IGS_UC_ACAD_HIST_REC_EXISTS');
2238: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2239: fnd_message.set_token('INST', l_oss_inst);
2240: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2241: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2242:
2243: ELSE
2236: --Log a message asking users for mannual review and update
2237: fnd_message.set_name('IGS','IGS_UC_ACAD_HIST_REC_EXISTS');
2238: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2239: fnd_message.set_token('INST', l_oss_inst);
2240: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2241: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2242:
2243: ELSE
2244: --When only one Academic History record exists then Check the discrepancy rule set for Source Type "UCAS PER"
2237: fnd_message.set_name('IGS','IGS_UC_ACAD_HIST_REC_EXISTS');
2238: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2239: fnd_message.set_token('INST', l_oss_inst);
2240: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2241: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2242:
2243: ELSE
2244: --When only one Academic History record exists then Check the discrepancy rule set for Source Type "UCAS PER"
2245: -- is set to "Updating Existing Values With Imported Values" or not.
2244: --When only one Academic History record exists then Check the discrepancy rule set for Source Type "UCAS PER"
2245: -- is set to "Updating Existing Values With Imported Values" or not.
2246: IF igs_ad_imp_001.find_source_cat_rule (c_src_type_id_rec.source_type_id, 'PERSON_ACADEMIC_HISTORY') <> 'I' THEN
2247: --Log a message asking users for mannual review and update
2248: fnd_message.set_name('IGS','IGS_UC_DSCRPNCY_RULE_NOT_SET');
2249: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2250: fnd_message.set_token('INST', l_oss_inst);
2251: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2252: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2245: -- is set to "Updating Existing Values With Imported Values" or not.
2246: IF igs_ad_imp_001.find_source_cat_rule (c_src_type_id_rec.source_type_id, 'PERSON_ACADEMIC_HISTORY') <> 'I' THEN
2247: --Log a message asking users for mannual review and update
2248: fnd_message.set_name('IGS','IGS_UC_DSCRPNCY_RULE_NOT_SET');
2249: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2250: fnd_message.set_token('INST', l_oss_inst);
2251: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2252: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2253: ELSE
2246: IF igs_ad_imp_001.find_source_cat_rule (c_src_type_id_rec.source_type_id, 'PERSON_ACADEMIC_HISTORY') <> 'I' THEN
2247: --Log a message asking users for mannual review and update
2248: fnd_message.set_name('IGS','IGS_UC_DSCRPNCY_RULE_NOT_SET');
2249: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2250: fnd_message.set_token('INST', l_oss_inst);
2251: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2252: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2253: ELSE
2254: --When the discrepancy is set to import then Update the history record for the student with the date left
2247: --Log a message asking users for mannual review and update
2248: fnd_message.set_name('IGS','IGS_UC_DSCRPNCY_RULE_NOT_SET');
2249: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2250: fnd_message.set_token('INST', l_oss_inst);
2251: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2252: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2253: ELSE
2254: --When the discrepancy is set to import then Update the history record for the student with the date left
2255: BEGIN
2248: fnd_message.set_name('IGS','IGS_UC_DSCRPNCY_RULE_NOT_SET');
2249: fnd_message.set_token('PERSON_NO',l_person_info_rec.person_number);
2250: fnd_message.set_token('INST', l_oss_inst);
2251: fnd_message.set_token('END_DT', TO_CHAR(c_interface_rec.prev_inst_left_date,'DD-MON-YYYY'));
2252: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2253: ELSE
2254: --When the discrepancy is set to import then Update the history record for the student with the date left
2255: BEGIN
2256: l_return_status := NULL;
2314:
2315: IF l_return_status IN ('E','U') THEN
2316: log_error('E25' ,c_interface_rec.interface_hesa_id, l_msg_data);
2317: l_error_flag := TRUE;
2318: fnd_message.set_name('IGS','IGS_HE_UPD_ATT_FAIL');
2319: fnd_file.put_line( fnd_file.LOG ,fnd_message.get ||' - '|| l_msg_data);
2320: END IF;
2321:
2322: EXCEPTION
2315: IF l_return_status IN ('E','U') THEN
2316: log_error('E25' ,c_interface_rec.interface_hesa_id, l_msg_data);
2317: l_error_flag := TRUE;
2318: fnd_message.set_name('IGS','IGS_HE_UPD_ATT_FAIL');
2319: fnd_file.put_line( fnd_file.LOG ,fnd_message.get ||' - '|| l_msg_data);
2320: END IF;
2321:
2322: EXCEPTION
2323: WHEN OTHERS THEN
2322: EXCEPTION
2323: WHEN OTHERS THEN
2324: log_error('E25' ,c_interface_rec.interface_hesa_id, l_msg_data);
2325: l_error_flag := TRUE;
2326: fnd_message.set_name('IGS','IGS_HE_UPD_ATT_FAIL');
2327: fnd_file.put_line( fnd_file.LOG ,fnd_message.get ||' - '|| l_msg_data);
2328: END;
2329:
2330: END IF; --End of Discrepancy Rule Check.
2323: WHEN OTHERS THEN
2324: log_error('E25' ,c_interface_rec.interface_hesa_id, l_msg_data);
2325: l_error_flag := TRUE;
2326: fnd_message.set_name('IGS','IGS_HE_UPD_ATT_FAIL');
2327: fnd_file.put_line( fnd_file.LOG ,fnd_message.get ||' - '|| l_msg_data);
2328: END;
2329:
2330: END IF; --End of Discrepancy Rule Check.
2331:
2381: EXCEPTION
2382: WHEN OTHERS THEN
2383: log_error('E24' ,c_interface_rec.interface_hesa_id, NULL);
2384: l_error_flag := TRUE;
2385: fnd_message.set_name('IGS','IGS_HE_INS_ATT_FAIL');
2386: fnd_file.put_line( fnd_file.LOG ,fnd_message.get || ' - ' || SQLERRM);
2387: END ;
2388: END IF ; -- record already exists
2389: END IF ; -- end of updating or inserting attendance history records
2382: WHEN OTHERS THEN
2383: log_error('E24' ,c_interface_rec.interface_hesa_id, NULL);
2384: l_error_flag := TRUE;
2385: fnd_message.set_name('IGS','IGS_HE_INS_ATT_FAIL');
2386: fnd_file.put_line( fnd_file.LOG ,fnd_message.get || ' - ' || SQLERRM);
2387: END ;
2388: END IF ; -- record already exists
2389: END IF ; -- end of updating or inserting attendance history records
2390:
2464: EXCEPTION
2465: WHEN OTHERS THEN
2466: log_error('E22' ,c_interface_rec.interface_hesa_id, NULL);
2467: l_error_flag := TRUE;
2468: fnd_message.set_name('IGS','IGS_HE_UPD_SPA_FAIL');
2469: fnd_file.put_line( fnd_file.LOG ,fnd_message.get|| ' - ' || SQLERRM);
2470: END ;
2471:
2472: END IF ; -- end of updating spa
2465: WHEN OTHERS THEN
2466: log_error('E22' ,c_interface_rec.interface_hesa_id, NULL);
2467: l_error_flag := TRUE;
2468: fnd_message.set_name('IGS','IGS_HE_UPD_SPA_FAIL');
2469: fnd_file.put_line( fnd_file.LOG ,fnd_message.get|| ' - ' || SQLERRM);
2470: END ;
2471:
2472: END IF ; -- end of updating spa
2473:
2707: EXCEPTION
2708: WHEN OTHERS THEN
2709: log_error('E21' ,c_interface_rec.interface_hesa_id, NULL);
2710: l_error_flag := TRUE;
2711: fnd_message.set_name('IGS','IGS_HE_INS_TAR_FAIL');
2712: fnd_file.put_line( fnd_file.LOG ,fnd_message.get|| ' - ' || SQLERRM);
2713: END ;
2714: END IF ; -- end of inserting tariff records
2715:
2708: WHEN OTHERS THEN
2709: log_error('E21' ,c_interface_rec.interface_hesa_id, NULL);
2710: l_error_flag := TRUE;
2711: fnd_message.set_name('IGS','IGS_HE_INS_TAR_FAIL');
2712: fnd_file.put_line( fnd_file.LOG ,fnd_message.get|| ' - ' || SQLERRM);
2713: END ;
2714: END IF ; -- end of inserting tariff records
2715:
2716: -- If fee_eligibility needs to be imported and tariff creation is successful then update student unit set attempt hesa records
2779: EXCEPTION
2780: WHEN OTHERS THEN
2781: log_error('E23' ,c_interface_rec.interface_hesa_id, NULL);
2782: l_error_flag := TRUE;
2783: fnd_message.set_name('IGS','IGS_HE_UPD_SUSA_FAIL');
2784: fnd_file.put_line( fnd_file.LOG ,fnd_message.get || ' - ' || SQLERRM);
2785: END;
2786: END IF ; -- susa to be updated
2787:
2780: WHEN OTHERS THEN
2781: log_error('E23' ,c_interface_rec.interface_hesa_id, NULL);
2782: l_error_flag := TRUE;
2783: fnd_message.set_name('IGS','IGS_HE_UPD_SUSA_FAIL');
2784: fnd_file.put_line( fnd_file.LOG ,fnd_message.get || ' - ' || SQLERRM);
2785: END;
2786: END IF ; -- susa to be updated
2787:
2788: END IF ; -- program details to be imported
2802:
2803: -- call the application import process to update person details ,
2804: -- create/update citizenship , disability,ethnic_origin,alternate person id records
2805: fnd_file.put_line( fnd_file.LOG ,' ');
2806: fnd_message.set_name('IGS','IGS_UC_ADM_IMP_PROC_LAUNCH');
2807: fnd_message.set_token('REQ_ID',TO_CHAR(l_imp_batch_id));
2808: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2809: fnd_file.put_line( fnd_file.LOG ,'-----------------------------------');
2810: COMMIT;
2803: -- call the application import process to update person details ,
2804: -- create/update citizenship , disability,ethnic_origin,alternate person id records
2805: fnd_file.put_line( fnd_file.LOG ,' ');
2806: fnd_message.set_name('IGS','IGS_UC_ADM_IMP_PROC_LAUNCH');
2807: fnd_message.set_token('REQ_ID',TO_CHAR(l_imp_batch_id));
2808: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2809: fnd_file.put_line( fnd_file.LOG ,'-----------------------------------');
2810: COMMIT;
2811: import_process(c_src_type_id_rec.source_type_id, l_imp_batch_id, l_org_id);
2804: -- create/update citizenship , disability,ethnic_origin,alternate person id records
2805: fnd_file.put_line( fnd_file.LOG ,' ');
2806: fnd_message.set_name('IGS','IGS_UC_ADM_IMP_PROC_LAUNCH');
2807: fnd_message.set_token('REQ_ID',TO_CHAR(l_imp_batch_id));
2808: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2809: fnd_file.put_line( fnd_file.LOG ,'-----------------------------------');
2810: COMMIT;
2811: import_process(c_src_type_id_rec.source_type_id, l_imp_batch_id, l_org_id);
2812: fnd_file.put_line( fnd_file.LOG ,'-----------------------------------');
2825: IF c_acadhis_int%FOUND THEN
2826: --When Academic History import failed.
2827: log_error('E36' ,c_imp_int_rec.interface_hesa_id, NULL);
2828: l_error_flag := TRUE;
2829: fnd_message.set_name('IGS','IGS_HE_ACAD_HIST_IMP_FAIL');
2830: fnd_message.set_token('INT_ID',c_imp_int_rec.interface_hesa_id);
2831: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2832: ELSE
2833: log_error('E26' ,c_imp_int_rec.interface_hesa_id, NULL);
2826: --When Academic History import failed.
2827: log_error('E36' ,c_imp_int_rec.interface_hesa_id, NULL);
2828: l_error_flag := TRUE;
2829: fnd_message.set_name('IGS','IGS_HE_ACAD_HIST_IMP_FAIL');
2830: fnd_message.set_token('INT_ID',c_imp_int_rec.interface_hesa_id);
2831: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2832: ELSE
2833: log_error('E26' ,c_imp_int_rec.interface_hesa_id, NULL);
2834: l_error_flag := TRUE;
2827: log_error('E36' ,c_imp_int_rec.interface_hesa_id, NULL);
2828: l_error_flag := TRUE;
2829: fnd_message.set_name('IGS','IGS_HE_ACAD_HIST_IMP_FAIL');
2830: fnd_message.set_token('INT_ID',c_imp_int_rec.interface_hesa_id);
2831: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2832: ELSE
2833: log_error('E26' ,c_imp_int_rec.interface_hesa_id, NULL);
2834: l_error_flag := TRUE;
2835: fnd_message.set_name('IGS','IGS_HE_PER_IMP_FAIL');
2831: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2832: ELSE
2833: log_error('E26' ,c_imp_int_rec.interface_hesa_id, NULL);
2834: l_error_flag := TRUE;
2835: fnd_message.set_name('IGS','IGS_HE_PER_IMP_FAIL');
2836: fnd_message.set_token('INT_ID',c_imp_int_rec.interface_hesa_id);
2837: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2838: END IF;
2839: CLOSE c_acadhis_int;
2832: ELSE
2833: log_error('E26' ,c_imp_int_rec.interface_hesa_id, NULL);
2834: l_error_flag := TRUE;
2835: fnd_message.set_name('IGS','IGS_HE_PER_IMP_FAIL');
2836: fnd_message.set_token('INT_ID',c_imp_int_rec.interface_hesa_id);
2837: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2838: END IF;
2839: CLOSE c_acadhis_int;
2840: END IF ;
2833: log_error('E26' ,c_imp_int_rec.interface_hesa_id, NULL);
2834: l_error_flag := TRUE;
2835: fnd_message.set_name('IGS','IGS_HE_PER_IMP_FAIL');
2836: fnd_message.set_token('INT_ID',c_imp_int_rec.interface_hesa_id);
2837: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2838: END IF;
2839: CLOSE c_acadhis_int;
2840: END IF ;
2841: CLOSE c_adm_int ;
2888: NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
2889: IF l_rep_request_id > 0 THEN
2890: -- if error report successfully submitted then log message
2891: fnd_file.put_line( fnd_file.LOG ,' ');
2892: fnd_message.set_name('IGS','IGS_HE_REPSUBM');
2893: fnd_message.set_token('REQ_ID',TO_CHAR(l_rep_request_id));
2894: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2895: ELSE
2896: -- if error report failed to be launched then log message
2889: IF l_rep_request_id > 0 THEN
2890: -- if error report successfully submitted then log message
2891: fnd_file.put_line( fnd_file.LOG ,' ');
2892: fnd_message.set_name('IGS','IGS_HE_REPSUBM');
2893: fnd_message.set_token('REQ_ID',TO_CHAR(l_rep_request_id));
2894: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2895: ELSE
2896: -- if error report failed to be launched then log message
2897: fnd_message.set_name('IGS','IGS_HE_REP_SUBM_ERR');
2890: -- if error report successfully submitted then log message
2891: fnd_file.put_line( fnd_file.LOG ,' ');
2892: fnd_message.set_name('IGS','IGS_HE_REPSUBM');
2893: fnd_message.set_token('REQ_ID',TO_CHAR(l_rep_request_id));
2894: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2895: ELSE
2896: -- if error report failed to be launched then log message
2897: fnd_message.set_name('IGS','IGS_HE_REP_SUBM_ERR');
2898: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2893: fnd_message.set_token('REQ_ID',TO_CHAR(l_rep_request_id));
2894: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2895: ELSE
2896: -- if error report failed to be launched then log message
2897: fnd_message.set_name('IGS','IGS_HE_REP_SUBM_ERR');
2898: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2899: END IF; -- submitted error report
2900:
2901:
2894: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2895: ELSE
2896: -- if error report failed to be launched then log message
2897: fnd_message.set_name('IGS','IGS_HE_REP_SUBM_ERR');
2898: fnd_file.put_line( fnd_file.LOG ,fnd_message.get);
2899: END IF; -- submitted error report
2900:
2901:
2902:
2902:
2903: EXCEPTION
2904: WHEN IGS_UC_HE_NOT_ENABLED_EXCEP THEN
2905: -- ucas functionality is not enabled
2906: Errbuf := fnd_message.get_string ('IGS', 'IGS_UC_HE_NOT_ENABLED');
2907: Retcode := 3 ;
2908: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
2909:
2910: WHEN OTHERS THEN
2907: Retcode := 3 ;
2908: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
2909:
2910: WHEN OTHERS THEN
2911: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
2912: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.MAIN_PROCESS'||' - '||SQLERRM);
2913: fnd_file.put_line(fnd_file.LOG,fnd_message.get);
2914: Retcode := 3 ;
2915: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
2908: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
2909:
2910: WHEN OTHERS THEN
2911: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
2912: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.MAIN_PROCESS'||' - '||SQLERRM);
2913: fnd_file.put_line(fnd_file.LOG,fnd_message.get);
2914: Retcode := 3 ;
2915: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
2916:
2909:
2910: WHEN OTHERS THEN
2911: fnd_message.set_name('IGS','IGS_GE_UNHANDLED_EXP');
2912: fnd_message.set_token('NAME','IGS_HE_IMPORT_DATA.MAIN_PROCESS'||' - '||SQLERRM);
2913: fnd_file.put_line(fnd_file.LOG,fnd_message.get);
2914: Retcode := 3 ;
2915: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
2916:
2917: END main_process;