47: -- anwest 24-Mar-06 Bug# 5121695 - Modified for impact from R12 SWS changes.
48: -- Replaced IGS_GET_DYNAMIC_SQL(p_pid_group,l_status) with
49: -- GET_DYNAMIC_SQL(p_person_id_grp, l_prs_grp_status, l_group_type)
50: -- and implemented new associated logic.
51: -- jchakrab 04-May-06 Modified for 5203018 - closed cursor created using DBMS_SQL
52: --------------------------------------------------------------------------*/
53:
54: -- get the person number for the person id
55: CURSOR c_person_number (cp_person_id igs_pe_person.person_id%TYPE ) IS
418: l_prs_grp_sql := NULL; -- initializing to NULL as this variable no more required for processing.
419:
420: END IF;
421:
422: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
423: fnd_dsql.set_cursor(l_cursor_id);
424:
425: l_Int_calc_sql := fnd_dsql.get_text(FALSE);
426: DBMS_SQL.PARSE(l_cursor_id, l_Int_calc_sql, DBMS_SQL.NATIVE);
422: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
423: fnd_dsql.set_cursor(l_cursor_id);
424:
425: l_Int_calc_sql := fnd_dsql.get_text(FALSE);
426: DBMS_SQL.PARSE(l_cursor_id, l_Int_calc_sql, DBMS_SQL.NATIVE);
427: fnd_dsql.do_binds;
428:
429: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1,c_st_spa.student_qual_aim,30);
430: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2,c_st_spa.commencement_dt);
425: l_Int_calc_sql := fnd_dsql.get_text(FALSE);
426: DBMS_SQL.PARSE(l_cursor_id, l_Int_calc_sql, DBMS_SQL.NATIVE);
427: fnd_dsql.do_binds;
428:
429: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1,c_st_spa.student_qual_aim,30);
430: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2,c_st_spa.commencement_dt);
431: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
432: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4,c_st_spa.person_id);
433: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5,c_st_spa.course_cd,6);
426: DBMS_SQL.PARSE(l_cursor_id, l_Int_calc_sql, DBMS_SQL.NATIVE);
427: fnd_dsql.do_binds;
428:
429: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1,c_st_spa.student_qual_aim,30);
430: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2,c_st_spa.commencement_dt);
431: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
432: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4,c_st_spa.person_id);
433: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5,c_st_spa.course_cd,6);
434: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6,c_st_spa.version_number);
427: fnd_dsql.do_binds;
428:
429: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1,c_st_spa.student_qual_aim,30);
430: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2,c_st_spa.commencement_dt);
431: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
432: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4,c_st_spa.person_id);
433: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5,c_st_spa.course_cd,6);
434: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6,c_st_spa.version_number);
435:
428:
429: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1,c_st_spa.student_qual_aim,30);
430: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2,c_st_spa.commencement_dt);
431: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
432: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4,c_st_spa.person_id);
433: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5,c_st_spa.course_cd,6);
434: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6,c_st_spa.version_number);
435:
436: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
429: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1,c_st_spa.student_qual_aim,30);
430: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2,c_st_spa.commencement_dt);
431: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
432: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4,c_st_spa.person_id);
433: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5,c_st_spa.course_cd,6);
434: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6,c_st_spa.version_number);
435:
436: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
437:
430: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 2,c_st_spa.commencement_dt);
431: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
432: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4,c_st_spa.person_id);
433: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5,c_st_spa.course_cd,6);
434: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6,c_st_spa.version_number);
435:
436: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
437:
438: -- If no student program attempt records exist for which to calculate UCAS Tariff then log error message
432: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 4,c_st_spa.person_id);
433: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 5,c_st_spa.course_cd,6);
434: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 6,c_st_spa.version_number);
435:
436: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
437:
438: -- If no student program attempt records exist for which to calculate UCAS Tariff then log error message
439: LOOP
440:
443: l_calc_tariff_flag := 'Y';
444: l_person_number := NULL ;
445:
446: -- fetch a row
447: IF DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 THEN
448: EXIT;
449: END IF;
450:
451: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_st_spa.student_qual_aim);
447: IF DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 THEN
448: EXIT;
449: END IF;
450:
451: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_st_spa.student_qual_aim);
452: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_st_spa.commencement_dt);
453: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
454: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_st_spa.person_id);
455: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_st_spa.course_cd);
448: EXIT;
449: END IF;
450:
451: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_st_spa.student_qual_aim);
452: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_st_spa.commencement_dt);
453: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
454: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_st_spa.person_id);
455: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_st_spa.course_cd);
456: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_st_spa.version_number);
449: END IF;
450:
451: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_st_spa.student_qual_aim);
452: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_st_spa.commencement_dt);
453: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
454: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_st_spa.person_id);
455: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_st_spa.course_cd);
456: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_st_spa.version_number);
457:
450:
451: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_st_spa.student_qual_aim);
452: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_st_spa.commencement_dt);
453: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
454: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_st_spa.person_id);
455: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_st_spa.course_cd);
456: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_st_spa.version_number);
457:
458: -- get the Person Number for the person for logging
451: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1,c_st_spa.student_qual_aim);
452: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_st_spa.commencement_dt);
453: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
454: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_st_spa.person_id);
455: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_st_spa.course_cd);
456: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_st_spa.version_number);
457:
458: -- get the Person Number for the person for logging
459: OPEN c_person_number(C_st_spa.person_id) ;
452: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 2,c_st_spa.commencement_dt);
453: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 3,c_st_spa.date_qual_on_entry_calc);
454: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 4,c_st_spa.person_id);
455: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 5,c_st_spa.course_cd);
456: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 6,c_st_spa.version_number);
457:
458: -- get the Person Number for the person for logging
459: OPEN c_person_number(C_st_spa.person_id) ;
460: FETCH c_person_number INTO l_person_number ;
709: END IF; -- bypass processing if Program group is given and Course is not associated to the group
710:
711: END LOOP; -- Loop of Cursor Cur_st_spa
712:
713: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
714:
715: fnd_message.set_name('IGS','IGS_UC_UPD_REC_COUNT');
716: fnd_message.set_token('REC_CNT',l_record_updated);
717: fnd_file.put_line(fnd_file.log, fnd_message.get());
722:
723: EXCEPTION
724: WHEN OTHERS THEN
725: IF l_cursor_id IS NOT NULL THEN
726: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
727: END IF;
728:
729: ROLLBACK;
730: IF SQLCODE=-1436 THEN
784: anwest 24-Mar-06 Bug# 5121695 - Modified for impact from R12 SWS changes.
785: Replaced IGS_GET_DYNAMIC_SQL(p_pid_group,l_status) with
786: GET_DYNAMIC_SQL(p_person_id_grp, l_prs_grp_status, l_group_type)
787: and implemented new associated logic.
788: jchakrab 04-May-06 Modified for 5203018 - closed cursor created using DBMS_SQL
789: --------------------------------------------------------------------------*/
790:
791: -- Cursor to get only valid exam level records for a person to be processed for tariff calculation.
792: -- Subquery1 is to include only those exam level records which are setup for inclusion for the given calculation type.
966: END IF;
967:
968: END IF; -- check for person id or person id group parameters
969:
970: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
971: fnd_dsql.set_cursor(l_cursor_id);
972:
973: l_Int_calc_sql := fnd_dsql.get_text(FALSE);
974: DBMS_SQL.PARSE(l_cursor_id, l_Int_calc_sql, DBMS_SQL.NATIVE);
970: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
971: fnd_dsql.set_cursor(l_cursor_id);
972:
973: l_Int_calc_sql := fnd_dsql.get_text(FALSE);
974: DBMS_SQL.PARSE(l_cursor_id, l_Int_calc_sql, DBMS_SQL.NATIVE);
975: fnd_dsql.do_binds;
976:
977: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_person_id);
978:
973: l_Int_calc_sql := fnd_dsql.get_text(FALSE);
974: DBMS_SQL.PARSE(l_cursor_id, l_Int_calc_sql, DBMS_SQL.NATIVE);
975: fnd_dsql.do_binds;
976:
977: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_person_id);
978:
979: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
980:
981: -- Get the list of persons to be processed for the given criteria
975: fnd_dsql.do_binds;
976:
977: DBMS_SQL.DEFINE_COLUMN(l_cursor_id, 1, l_person_id);
978:
979: l_num_rows := DBMS_SQL.EXECUTE(l_cursor_id);
980:
981: -- Get the list of persons to be processed for the given criteria
982: LOOP
983:
981: -- Get the list of persons to be processed for the given criteria
982: LOOP
983:
984: -- fetch a row
985: IF DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 THEN
986: EXIT;
987: END IF;
988:
989: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_person_id);
985: IF DBMS_SQL.FETCH_ROWS(l_cursor_id) = 0 THEN
986: EXIT;
987: END IF;
988:
989: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, l_person_id);
990:
991: -- variable initialization
992: l_person_number := NULL;
993: check_prsn_tariff_exists_rec := NULL;
1153: COMMIT;
1154:
1155: END LOOP; -- Loop of Cursor prsn_grp_cur i.e. list of all persons to be processed
1156:
1157: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1158:
1159: fnd_message.set_name('IGS','IGS_UC_INS_REC_COUNT');
1160: fnd_message.set_token('REC_CNT',l_record_inserted);
1161: fnd_file.put_line(fnd_file.log, fnd_message.get());
1162:
1163: EXCEPTION
1164: WHEN OTHERS THEN
1165: IF l_cursor_id IS NOT NULL THEN
1166: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
1167: END IF;
1168:
1169: ROLLBACK;
1170: