329: -- If the org unit is not attached to the cohort, message 'IGS_PR_RNK_NO_POP' is printed in the log file
330:
331: IF l_count = 0 THEN
332:
333: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_NO_POP');
334: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
335:
336: END IF;
337:
330:
331: IF l_count = 0 THEN
332:
333: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_NO_POP');
334: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
335:
336: END IF;
337:
338:
347: RAISE invalid_parameter_combination;
348:
349: END IF;
350:
351: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_COMP');
352: FND_MESSAGE.SET_TOKEN('RANKCOUNT',l_student_count);
353: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
354: EXCEPTION
355: WHEN invalid_parameter_combination THEN
348:
349: END IF;
350:
351: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_COMP');
352: FND_MESSAGE.SET_TOKEN('RANKCOUNT',l_student_count);
353: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
354: EXCEPTION
355: WHEN invalid_parameter_combination THEN
356: FND_FILE.PUT_LINE(FND_FILE.LOG,'SQL Error Message :' || SQLERRM);
349: END IF;
350:
351: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_COMP');
352: FND_MESSAGE.SET_TOKEN('RANKCOUNT',l_student_count);
353: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
354: EXCEPTION
355: WHEN invalid_parameter_combination THEN
356: FND_FILE.PUT_LINE(FND_FILE.LOG,'SQL Error Message :' || SQLERRM);
357: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
353: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
354: EXCEPTION
355: WHEN invalid_parameter_combination THEN
356: FND_FILE.PUT_LINE(FND_FILE.LOG,'SQL Error Message :' || SQLERRM);
357: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
358: retcode := 2;
359: errbuf := fnd_message.get_string('IGS','IGS_PR_RNK_INV_PRM');
360: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
361: WHEN OTHERS THEN
355: WHEN invalid_parameter_combination THEN
356: FND_FILE.PUT_LINE(FND_FILE.LOG,'SQL Error Message :' || SQLERRM);
357: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
358: retcode := 2;
359: errbuf := fnd_message.get_string('IGS','IGS_PR_RNK_INV_PRM');
360: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
361: WHEN OTHERS THEN
362: FND_FILE.PUT_LINE(FND_FILE.LOG,'SQL Error Message :' || SQLERRM);
363: Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
359: errbuf := fnd_message.get_string('IGS','IGS_PR_RNK_INV_PRM');
360: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
361: WHEN OTHERS THEN
362: FND_FILE.PUT_LINE(FND_FILE.LOG,'SQL Error Message :' || SQLERRM);
363: Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
364: FND_MESSAGE.SET_TOKEN('NAME','IGS_PR_CLASS_RANK.RUN_RANKING_PROCESS');
365: retcode := 2;
366: errbuf := fnd_message.get;
367: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
360: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
361: WHEN OTHERS THEN
362: FND_FILE.PUT_LINE(FND_FILE.LOG,'SQL Error Message :' || SQLERRM);
363: Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
364: FND_MESSAGE.SET_TOKEN('NAME','IGS_PR_CLASS_RANK.RUN_RANKING_PROCESS');
365: retcode := 2;
366: errbuf := fnd_message.get;
367: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
368: END run_ranking_process ;
362: FND_FILE.PUT_LINE(FND_FILE.LOG,'SQL Error Message :' || SQLERRM);
363: Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
364: FND_MESSAGE.SET_TOKEN('NAME','IGS_PR_CLASS_RANK.RUN_RANKING_PROCESS');
365: retcode := 2;
366: errbuf := fnd_message.get;
367: IGS_GE_MSG_STACK.CONC_EXCEPTION_HNDL;
368: END run_ranking_process ;
369:
370: PROCEDURE ranking_process (
596:
597: --
598: -- If the Rank Status is FINAL then no ranking is done and message 'IGS_PR_RNK_FINAL' should be displayed on the log file
599: --
600: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_FINAL');
601: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
602:
603: -- If the ranking status is not FINAL ie it is WORKING then the following needa to be done
604:
597: --
598: -- If the Rank Status is FINAL then no ranking is done and message 'IGS_PR_RNK_FINAL' should be displayed on the log file
599: --
600: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_FINAL');
601: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
602:
603: -- If the ranking status is not FINAL ie it is WORKING then the following needa to be done
604:
605: ELSE --1
987: -- then write the message IGS_PR_RNK_NO_POP "No population returned" to the log file.
988:
989: IF l_new_count = 0 THEN
990:
991: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_NO_POP');
992: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
993:
994: END IF;
995:
988:
989: IF l_new_count = 0 THEN
990:
991: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_NO_POP');
992: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
993:
994: END IF;
995:
996: -- Deleting Records which from the Cohort Instance Rank table, which do not fit the rule criterian any more.
1166: -- then write the message IGS_PR_RNK_NO_POP "No population returned" to the log file.
1167:
1168: IF l_new_count = 0 THEN
1169:
1170: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_NO_POP');
1171: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
1172:
1173: END IF;
1174:
1167:
1168: IF l_new_count = 0 THEN
1169:
1170: FND_MESSAGE.SET_NAME('IGS','IGS_PR_RNK_NO_POP');
1171: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.GET);
1172:
1173: END IF;
1174:
1175: -- Deleting Records which from the Cohort Instance Rank table, which do not fit the rule criterian any more.
1209: END IF; --1
1210:
1211: EXCEPTION
1212: WHEN OTHERS THEN
1213: Fnd_Message.Set_Name('IGS', 'Ranking Process => ' || SQLERRM);
1214: IGS_GE_MSG_STACK.ADD;
1215: Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
1216: FND_MESSAGE.SET_TOKEN('NAME','IGS_PR_CLASS_RANK.RANKING_PROCESS');
1217: IGS_GE_MSG_STACK.ADD;
1211: EXCEPTION
1212: WHEN OTHERS THEN
1213: Fnd_Message.Set_Name('IGS', 'Ranking Process => ' || SQLERRM);
1214: IGS_GE_MSG_STACK.ADD;
1215: Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
1216: FND_MESSAGE.SET_TOKEN('NAME','IGS_PR_CLASS_RANK.RANKING_PROCESS');
1217: IGS_GE_MSG_STACK.ADD;
1218: App_Exception.Raise_Exception;
1219: END ranking_process ;
1212: WHEN OTHERS THEN
1213: Fnd_Message.Set_Name('IGS', 'Ranking Process => ' || SQLERRM);
1214: IGS_GE_MSG_STACK.ADD;
1215: Fnd_Message.Set_Name('IGS', 'IGS_GE_UNHANDLED_EXP');
1216: FND_MESSAGE.SET_TOKEN('NAME','IGS_PR_CLASS_RANK.RANKING_PROCESS');
1217: IGS_GE_MSG_STACK.ADD;
1218: App_Exception.Raise_Exception;
1219: END ranking_process ;
1220:
1568: p_ci_sequence_number IS NULL OR
1569: p_person_id IS NULL OR
1570: p_program_cd IS NULL THEN
1571: l_formatted_rank := NULL;
1572: FND_MESSAGE.SET_NAME ('IGS','IGS_AD_INVALID_PARAM_COMB');
1573: FND_MSG_PUB.ADD;
1574: RAISE FND_API.G_EXC_ERROR;
1575: END IF;
1576:
1591: p_program_cd );
1592: FETCH c_rank INTO l_rank;
1593: IF c_rank%NOTFOUND THEN
1594: CLOSE c_rank;
1595: FND_MESSAGE.SET_NAME ('IGS','IGS_PR_NO_RANK_AVL');
1596: FND_MSG_PUB.ADD;
1597: RAISE FND_API.G_EXC_ERROR;
1598: END IF;
1599: CLOSE c_rank;
1606: CLOSE c_cohort_population;
1607:
1608: -- decide number
1609: IF l_disp_type = 'N_OF_N' THEN
1610: l_formatted_rank := l_rank||' '||FND_MESSAGE.GET_STRING('IGS','IGS_PR_MSG_OF')||' '||l_cohort_population ;
1611: ELSIF l_disp_type = 'PERCENTILE' THEN
1612: l_formatted_rank := CEIL ((l_rank * 100)/(l_cohort_population + 1)) ;
1613: ELSIF l_disp_type = 'VIGINTILE' THEN
1614: l_formatted_rank := CEIL ((l_rank * 20)/(l_cohort_population + 1))*100/20 ;
1619: ELSIF l_disp_type = 'QUARTILE' THEN
1620: l_formatted_rank := CEIL ((l_rank * 4)/(l_cohort_population + 1))*100/4 ;
1621: ELSIF l_disp_type = 'TOP_THIRD' THEN
1622: IF ((l_cohort_population-l_rank)/l_cohort_population)*100 > 67 THEN
1623: l_formatted_rank := FND_MESSAGE.GET_STRING('IGS','IGS_PR_RNK_TP_TRD');
1624: ELSE
1625: l_formatted_rank := NULL;
1626: END IF;
1627: END IF;
1633: n := to_number(l_formatted_rank);
1634: OPEN c_nth (l_formatted_rank);
1635: FETCH c_nth INTO l_nth;
1636: CLOSE c_nth;
1637: l_formatted_rank := l_nth||' '||FND_MESSAGE.GET_STRING('IGS','IGS_PR_RNK_PRCNTL');
1638: EXCEPTION
1639: WHEN OTHERS THEN
1640: NULL;
1641: END;
1672: RETURN;
1673: WHEN OTHERS THEN
1674: x_formatted_rank := l_formatted_rank;
1675: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
1676: FND_MESSAGE.SET_NAME('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
1677: FND_MESSAGE.SET_TOKEN('NAME','Insert_Row : '||SQLERRM);
1678: FND_MSG_PUB.ADD;
1679: FND_MSG_PUB.Count_And_Get(
1680: p_encoded => FND_API.G_FALSE,
1673: WHEN OTHERS THEN
1674: x_formatted_rank := l_formatted_rank;
1675: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
1676: FND_MESSAGE.SET_NAME('IGS', 'IGS_GE_UNHANDLED_EXCEPTION');
1677: FND_MESSAGE.SET_TOKEN('NAME','Insert_Row : '||SQLERRM);
1678: FND_MSG_PUB.ADD;
1679: FND_MSG_PUB.Count_And_Get(
1680: p_encoded => FND_API.G_FALSE,
1681: p_count => x_MSG_COUNT,