1174: -- Finish constructing SPA Selection SQL statement with ORDER BY
1175: fnd_dsql.add_text(' ORDER BY spa.person_id, hspa.student_inst_number, discontinued_dt DESC,');
1176: fnd_dsql.add_text(' course_rqrmnts_complete_dt DESC, spa.commencement_dt DESC');
1177:
1178: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
1179: fnd_dsql.set_cursor(l_cursor_id);
1180:
1181: l_fte_calc_sql := fnd_dsql.get_text(FALSE);
1182:
1179: fnd_dsql.set_cursor(l_cursor_id);
1180:
1181: l_fte_calc_sql := fnd_dsql.get_text(FALSE);
1182:
1183: DBMS_SQL.PARSE(l_cursor_id, l_fte_calc_sql, DBMS_SQL.NATIVE);
1184: fnd_dsql.do_binds;
1185:
1186: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, c_sca_rec.person_number,30);
1187: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, c_sca_rec.person_id);
1182:
1183: DBMS_SQL.PARSE(l_cursor_id, l_fte_calc_sql, DBMS_SQL.NATIVE);
1184: fnd_dsql.do_binds;
1185:
1186: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, c_sca_rec.person_number,30);
1187: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, c_sca_rec.person_id);
1188: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, c_sca_rec.course_cd, 6);
1189: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4, c_sca_rec.version_number);
1190: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5, c_sca_rec.coo_id);
1183: DBMS_SQL.PARSE(l_cursor_id, l_fte_calc_sql, DBMS_SQL.NATIVE);
1184: fnd_dsql.do_binds;
1185:
1186: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, c_sca_rec.person_number,30);
1187: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, c_sca_rec.person_id);
1188: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, c_sca_rec.course_cd, 6);
1189: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4, c_sca_rec.version_number);
1190: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5, c_sca_rec.coo_id);
1191: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6, c_sca_rec.course_attempt_status, 30);
1184: fnd_dsql.do_binds;
1185:
1186: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, c_sca_rec.person_number,30);
1187: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, c_sca_rec.person_id);
1188: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, c_sca_rec.course_cd, 6);
1189: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4, c_sca_rec.version_number);
1190: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5, c_sca_rec.coo_id);
1191: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6, c_sca_rec.course_attempt_status, 30);
1192: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 7, c_sca_rec.discontinued_dt);
1185:
1186: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, c_sca_rec.person_number,30);
1187: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, c_sca_rec.person_id);
1188: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, c_sca_rec.course_cd, 6);
1189: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4, c_sca_rec.version_number);
1190: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5, c_sca_rec.coo_id);
1191: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6, c_sca_rec.course_attempt_status, 30);
1192: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 7, c_sca_rec.discontinued_dt);
1193: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 8, c_sca_rec.course_rqrmnts_complete_dt);
1186: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, c_sca_rec.person_number,30);
1187: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, c_sca_rec.person_id);
1188: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, c_sca_rec.course_cd, 6);
1189: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4, c_sca_rec.version_number);
1190: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5, c_sca_rec.coo_id);
1191: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6, c_sca_rec.course_attempt_status, 30);
1192: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 7, c_sca_rec.discontinued_dt);
1193: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 8, c_sca_rec.course_rqrmnts_complete_dt);
1194: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 9, c_sca_rec.commencement_dt);
1187: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2, c_sca_rec.person_id);
1188: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, c_sca_rec.course_cd, 6);
1189: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4, c_sca_rec.version_number);
1190: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5, c_sca_rec.coo_id);
1191: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6, c_sca_rec.course_attempt_status, 30);
1192: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 7, c_sca_rec.discontinued_dt);
1193: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 8, c_sca_rec.course_rqrmnts_complete_dt);
1194: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 9, c_sca_rec.commencement_dt);
1195: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 10, c_sca_rec.course_rqrmnt_complete_ind, 1);
1188: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3, c_sca_rec.course_cd, 6);
1189: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4, c_sca_rec.version_number);
1190: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5, c_sca_rec.coo_id);
1191: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6, c_sca_rec.course_attempt_status, 30);
1192: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 7, c_sca_rec.discontinued_dt);
1193: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 8, c_sca_rec.course_rqrmnts_complete_dt);
1194: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 9, c_sca_rec.commencement_dt);
1195: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 10, c_sca_rec.course_rqrmnt_complete_ind, 1);
1196: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 11, c_sca_rec.student_inst_number, 20);
1189: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4, c_sca_rec.version_number);
1190: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5, c_sca_rec.coo_id);
1191: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6, c_sca_rec.course_attempt_status, 30);
1192: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 7, c_sca_rec.discontinued_dt);
1193: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 8, c_sca_rec.course_rqrmnts_complete_dt);
1194: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 9, c_sca_rec.commencement_dt);
1195: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 10, c_sca_rec.course_rqrmnt_complete_ind, 1);
1196: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 11, c_sca_rec.student_inst_number, 20);
1197:
1190: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5, c_sca_rec.coo_id);
1191: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6, c_sca_rec.course_attempt_status, 30);
1192: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 7, c_sca_rec.discontinued_dt);
1193: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 8, c_sca_rec.course_rqrmnts_complete_dt);
1194: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 9, c_sca_rec.commencement_dt);
1195: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 10, c_sca_rec.course_rqrmnt_complete_ind, 1);
1196: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 11, c_sca_rec.student_inst_number, 20);
1197:
1198: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
1191: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6, c_sca_rec.course_attempt_status, 30);
1192: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 7, c_sca_rec.discontinued_dt);
1193: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 8, c_sca_rec.course_rqrmnts_complete_dt);
1194: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 9, c_sca_rec.commencement_dt);
1195: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 10, c_sca_rec.course_rqrmnt_complete_ind, 1);
1196: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 11, c_sca_rec.student_inst_number, 20);
1197:
1198: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
1199:
1192: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 7, c_sca_rec.discontinued_dt);
1193: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 8, c_sca_rec.course_rqrmnts_complete_dt);
1194: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 9, c_sca_rec.commencement_dt);
1195: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 10, c_sca_rec.course_rqrmnt_complete_ind, 1);
1196: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 11, c_sca_rec.student_inst_number, 20);
1197:
1198: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
1199:
1200: -- check if there are no student programs satisfying the passed parameters
1194: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 9, c_sca_rec.commencement_dt);
1195: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 10, c_sca_rec.course_rqrmnt_complete_ind, 1);
1196: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 11, c_sca_rec.student_inst_number, 20);
1197:
1198: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
1199:
1200: -- check if there are no student programs satisfying the passed parameters
1201: -- fetch a row
1202: IF DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 THEN
1198: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
1199:
1200: -- check if there are no student programs satisfying the passed parameters
1201: -- fetch a row
1202: IF DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 THEN
1203: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1204: FND_MESSAGE.SET_NAME('IGS','IGS_UC_HE_NO_DATA');
1205: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.Get) ;
1206: RETURN ;
1199:
1200: -- check if there are no student programs satisfying the passed parameters
1201: -- fetch a row
1202: IF DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 THEN
1203: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1204: FND_MESSAGE.SET_NAME('IGS','IGS_UC_HE_NO_DATA');
1205: FND_FILE.PUT_LINE(FND_FILE.LOG,FND_MESSAGE.Get) ;
1206: RETURN ;
1207:
1213:
1214: -- loop through all the student program attempts and calculate FTE for each program attempt
1215: LOOP
1216:
1217: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_sca_rec.person_number);
1218: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_sca_rec.person_id);
1219: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_sca_rec.course_cd);
1220: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_sca_rec.version_number);
1221: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_sca_rec.coo_id);
1214: -- loop through all the student program attempts and calculate FTE for each program attempt
1215: LOOP
1216:
1217: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_sca_rec.person_number);
1218: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_sca_rec.person_id);
1219: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_sca_rec.course_cd);
1220: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_sca_rec.version_number);
1221: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_sca_rec.coo_id);
1222: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_sca_rec.course_attempt_status);
1215: LOOP
1216:
1217: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_sca_rec.person_number);
1218: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_sca_rec.person_id);
1219: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_sca_rec.course_cd);
1220: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_sca_rec.version_number);
1221: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_sca_rec.coo_id);
1222: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_sca_rec.course_attempt_status);
1223: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 7,c_sca_rec.discontinued_dt);
1216:
1217: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_sca_rec.person_number);
1218: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_sca_rec.person_id);
1219: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_sca_rec.course_cd);
1220: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_sca_rec.version_number);
1221: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_sca_rec.coo_id);
1222: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_sca_rec.course_attempt_status);
1223: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 7,c_sca_rec.discontinued_dt);
1224: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 8,c_sca_rec.course_rqrmnts_complete_dt);
1217: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_sca_rec.person_number);
1218: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_sca_rec.person_id);
1219: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_sca_rec.course_cd);
1220: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_sca_rec.version_number);
1221: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_sca_rec.coo_id);
1222: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_sca_rec.course_attempt_status);
1223: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 7,c_sca_rec.discontinued_dt);
1224: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 8,c_sca_rec.course_rqrmnts_complete_dt);
1225: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 9,c_sca_rec.commencement_dt);
1218: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_sca_rec.person_id);
1219: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_sca_rec.course_cd);
1220: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_sca_rec.version_number);
1221: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_sca_rec.coo_id);
1222: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_sca_rec.course_attempt_status);
1223: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 7,c_sca_rec.discontinued_dt);
1224: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 8,c_sca_rec.course_rqrmnts_complete_dt);
1225: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 9,c_sca_rec.commencement_dt);
1226: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 10,c_sca_rec.course_rqrmnt_complete_ind);
1219: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_sca_rec.course_cd);
1220: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_sca_rec.version_number);
1221: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_sca_rec.coo_id);
1222: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_sca_rec.course_attempt_status);
1223: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 7,c_sca_rec.discontinued_dt);
1224: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 8,c_sca_rec.course_rqrmnts_complete_dt);
1225: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 9,c_sca_rec.commencement_dt);
1226: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 10,c_sca_rec.course_rqrmnt_complete_ind);
1227: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 11,c_sca_rec.student_inst_number);
1220: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_sca_rec.version_number);
1221: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_sca_rec.coo_id);
1222: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_sca_rec.course_attempt_status);
1223: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 7,c_sca_rec.discontinued_dt);
1224: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 8,c_sca_rec.course_rqrmnts_complete_dt);
1225: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 9,c_sca_rec.commencement_dt);
1226: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 10,c_sca_rec.course_rqrmnt_complete_ind);
1227: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 11,c_sca_rec.student_inst_number);
1228:
1221: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_sca_rec.coo_id);
1222: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_sca_rec.course_attempt_status);
1223: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 7,c_sca_rec.discontinued_dt);
1224: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 8,c_sca_rec.course_rqrmnts_complete_dt);
1225: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 9,c_sca_rec.commencement_dt);
1226: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 10,c_sca_rec.course_rqrmnt_complete_ind);
1227: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 11,c_sca_rec.student_inst_number);
1228:
1229: l_exit_flag := FALSE ;
1222: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_sca_rec.course_attempt_status);
1223: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 7,c_sca_rec.discontinued_dt);
1224: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 8,c_sca_rec.course_rqrmnts_complete_dt);
1225: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 9,c_sca_rec.commencement_dt);
1226: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 10,c_sca_rec.course_rqrmnt_complete_ind);
1227: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 11,c_sca_rec.student_inst_number);
1228:
1229: l_exit_flag := FALSE ;
1230: l_lev_dt := NULL;
1223: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 7,c_sca_rec.discontinued_dt);
1224: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 8,c_sca_rec.course_rqrmnts_complete_dt);
1225: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 9,c_sca_rec.commencement_dt);
1226: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 10,c_sca_rec.course_rqrmnt_complete_ind);
1227: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 11,c_sca_rec.student_inst_number);
1228:
1229: l_exit_flag := FALSE ;
1230: l_lev_dt := NULL;
1231:
1880:
1881: END IF ;-- fte needs to be calculated
1882:
1883: -- fetch a row
1884: IF DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 THEN
1885: EXIT;
1886: END IF;
1887:
1888: END LOOP ; -- end looping of student program attempts
1886: END IF;
1887:
1888: END LOOP ; -- end looping of student program attempts
1889:
1890: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1891:
1892: END IF;
1893:
1894: END;