1972: --Program Completion Validation Build.
1973: v_order_by_clause := v_order_by_clause || ', pe.surname ASC, pe.given_names ASC';
1974:
1975: -- Open Dynamic Cursor, pass reference to v_cursor_handle.
1976: v_gac_upd_c_handle := DBMS_SQL.OPEN_CURSOR;
1977: -- Parse the complete SQL statement.
1978: DBMS_SQL.PARSE (
1979: v_gac_upd_c_handle,
1980: v_gac_upd_select || ' ' || v_order_by_clause || ' ' || cst_update_of_clause,
1974:
1975: -- Open Dynamic Cursor, pass reference to v_cursor_handle.
1976: v_gac_upd_c_handle := DBMS_SQL.OPEN_CURSOR;
1977: -- Parse the complete SQL statement.
1978: DBMS_SQL.PARSE (
1979: v_gac_upd_c_handle,
1980: v_gac_upd_select || ' ' || v_order_by_clause || ' ' || cst_update_of_clause,
1981: DBMS_SQL.NATIVE);
1982: -- Define the columns in the dynamic SQL query.
1977: -- Parse the complete SQL statement.
1978: DBMS_SQL.PARSE (
1979: v_gac_upd_c_handle,
1980: v_gac_upd_select || ' ' || v_order_by_clause || ' ' || cst_update_of_clause,
1981: DBMS_SQL.NATIVE);
1982: -- Define the columns in the dynamic SQL query.
1983: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
1984: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
1985: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 3,
1979: v_gac_upd_c_handle,
1980: v_gac_upd_select || ' ' || v_order_by_clause || ' ' || cst_update_of_clause,
1981: DBMS_SQL.NATIVE);
1982: -- Define the columns in the dynamic SQL query.
1983: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
1984: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
1985: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 3,
1986: v_gac_upd_rec.award_course_cd, 6);
1987: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 4,
1980: v_gac_upd_select || ' ' || v_order_by_clause || ' ' || cst_update_of_clause,
1981: DBMS_SQL.NATIVE);
1982: -- Define the columns in the dynamic SQL query.
1983: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
1984: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
1985: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 3,
1986: v_gac_upd_rec.award_course_cd, 6);
1987: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 4,
1988: v_gac_upd_rec.award_crs_version_number);
1981: DBMS_SQL.NATIVE);
1982: -- Define the columns in the dynamic SQL query.
1983: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
1984: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
1985: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 3,
1986: v_gac_upd_rec.award_course_cd, 6);
1987: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 4,
1988: v_gac_upd_rec.award_crs_version_number);
1989: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd, 10);
1983: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
1984: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
1985: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 3,
1986: v_gac_upd_rec.award_course_cd, 6);
1987: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 4,
1988: v_gac_upd_rec.award_crs_version_number);
1989: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd, 10);
1990: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 6,
1991: v_gac_upd_rec.grd_cal_type, 10);
1985: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 3,
1986: v_gac_upd_rec.award_course_cd, 6);
1987: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 4,
1988: v_gac_upd_rec.award_crs_version_number);
1989: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd, 10);
1990: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 6,
1991: v_gac_upd_rec.grd_cal_type, 10);
1992: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 7,
1993: v_gac_upd_rec.grd_ci_sequence_number);
1986: v_gac_upd_rec.award_course_cd, 6);
1987: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 4,
1988: v_gac_upd_rec.award_crs_version_number);
1989: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd, 10);
1990: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 6,
1991: v_gac_upd_rec.grd_cal_type, 10);
1992: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 7,
1993: v_gac_upd_rec.grd_ci_sequence_number);
1994: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 8, v_gac_upd_rec.ceremony_number);
1988: v_gac_upd_rec.award_crs_version_number);
1989: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd, 10);
1990: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 6,
1991: v_gac_upd_rec.grd_cal_type, 10);
1992: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 7,
1993: v_gac_upd_rec.grd_ci_sequence_number);
1994: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 8, v_gac_upd_rec.ceremony_number);
1995:
1996: -- Now execute the dynamic cursor.
1990: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 6,
1991: v_gac_upd_rec.grd_cal_type, 10);
1992: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 7,
1993: v_gac_upd_rec.grd_ci_sequence_number);
1994: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 8, v_gac_upd_rec.ceremony_number);
1995:
1996: -- Now execute the dynamic cursor.
1997: v_gac_upd_c_exe_result := DBMS_SQL.EXECUTE(
1998: v_gac_upd_c_handle);
1993: v_gac_upd_rec.grd_ci_sequence_number);
1994: DBMS_SQL.DEFINE_COLUMN(v_gac_upd_c_handle, 8, v_gac_upd_rec.ceremony_number);
1995:
1996: -- Now execute the dynamic cursor.
1997: v_gac_upd_c_exe_result := DBMS_SQL.EXECUTE(
1998: v_gac_upd_c_handle);
1999:
2000:
2001: -- Check if the 'Append' Mode then get the maximum number of the 'Order in Presentation'
2014: -- this IGS_GR_CRMN.
2015: --9. Loop through the IGS_GR_AWD_CRMN records setting the
2016: -- order_in_presentation.
2017: LOOP -- Dynamic Cursor associated with handle 'v_gac_upd_c_handle'
2018: Exit WHEN DBMS_SQL.FETCH_ROWS(v_gac_upd_c_handle) = 0;
2019: -- Retrieve the data associated with the Dynamic SQL cursor
2020: -- v_gac_upd_c_handle
2021: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
2022: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
2017: LOOP -- Dynamic Cursor associated with handle 'v_gac_upd_c_handle'
2018: Exit WHEN DBMS_SQL.FETCH_ROWS(v_gac_upd_c_handle) = 0;
2019: -- Retrieve the data associated with the Dynamic SQL cursor
2020: -- v_gac_upd_c_handle
2021: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
2022: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
2023: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 3, v_gac_upd_rec.award_course_cd);
2024: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 4,
2025: v_gac_upd_rec.award_crs_version_number);
2018: Exit WHEN DBMS_SQL.FETCH_ROWS(v_gac_upd_c_handle) = 0;
2019: -- Retrieve the data associated with the Dynamic SQL cursor
2020: -- v_gac_upd_c_handle
2021: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
2022: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
2023: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 3, v_gac_upd_rec.award_course_cd);
2024: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 4,
2025: v_gac_upd_rec.award_crs_version_number);
2026: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd);
2019: -- Retrieve the data associated with the Dynamic SQL cursor
2020: -- v_gac_upd_c_handle
2021: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
2022: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
2023: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 3, v_gac_upd_rec.award_course_cd);
2024: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 4,
2025: v_gac_upd_rec.award_crs_version_number);
2026: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd);
2027: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 6, v_gac_upd_rec.grd_cal_type);
2020: -- v_gac_upd_c_handle
2021: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 1, v_gac_upd_rec.person_id);
2022: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
2023: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 3, v_gac_upd_rec.award_course_cd);
2024: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 4,
2025: v_gac_upd_rec.award_crs_version_number);
2026: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd);
2027: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 6, v_gac_upd_rec.grd_cal_type);
2028: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 7,
2022: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 2, v_gac_upd_rec.create_dt);
2023: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 3, v_gac_upd_rec.award_course_cd);
2024: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 4,
2025: v_gac_upd_rec.award_crs_version_number);
2026: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd);
2027: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 6, v_gac_upd_rec.grd_cal_type);
2028: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 7,
2029: v_gac_upd_rec.grd_ci_sequence_number);
2030: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 8, v_gac_upd_rec.ceremony_number);
2023: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 3, v_gac_upd_rec.award_course_cd);
2024: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 4,
2025: v_gac_upd_rec.award_crs_version_number);
2026: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd);
2027: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 6, v_gac_upd_rec.grd_cal_type);
2028: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 7,
2029: v_gac_upd_rec.grd_ci_sequence_number);
2030: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 8, v_gac_upd_rec.ceremony_number);
2031:
2024: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 4,
2025: v_gac_upd_rec.award_crs_version_number);
2026: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd);
2027: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 6, v_gac_upd_rec.grd_cal_type);
2028: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 7,
2029: v_gac_upd_rec.grd_ci_sequence_number);
2030: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 8, v_gac_upd_rec.ceremony_number);
2031:
2032: BEGIN -- local block for update error trapping
2026: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 5, v_gac_upd_rec.award_cd);
2027: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 6, v_gac_upd_rec.grd_cal_type);
2028: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 7,
2029: v_gac_upd_rec.grd_ci_sequence_number);
2030: DBMS_SQL.COLUMN_VALUE(v_gac_upd_c_handle, 8, v_gac_upd_rec.ceremony_number);
2031:
2032: BEGIN -- local block for update error trapping
2033: SAVEPOINT sp_gac_upd;
2034: IF p_group_multi_award_ind = 'Y' THEN
2215: -- Error 4713 for locking conflict exception and ROLLBACK.
2216: IF c_existing_order%ISOPEN THEN
2217: CLOSE c_existing_order;
2218: END IF;
2219: DBMS_SQL.CLOSE_CURSOR(v_gac_upd_c_handle);
2220: ROLLBACK TO sp_gac_upd;
2221: FND_MESSAGE.SET_NAME('IGS', 'IGS_GR_AWD_CERM_CANNOT_UPDATE');
2222: --App_Exception.Raise_Exception;
2223: FND_FILE.PUT_LINE(FND_FILE.LOG,fnd_message.get); --Added as per bug# 2691809
2226: ROLLBACK TO sp_gac_upd;
2227: RAISE;
2228: END;
2229: END LOOP; -- Dynamic Cursor associated with handle 'v_gac_upd_c_handle'
2230: DBMS_SQL.CLOSE_CURSOR(v_gac_upd_c_handle);
2231: COMMIT;
2232: END LOOP; -- c_gc
2233: --10. Return no error:
2234: RETURN;
2245: END IF;
2246: IF c_gac_del%ISOPEN THEN
2247: CLOSE c_gac_del;
2248: END IF;
2249: IF DBMS_SQL.IS_OPEN(v_gac_upd_c_handle) THEN
2250: DBMS_SQL.CLOSE_CURSOR(v_gac_upd_c_handle);
2251: END IF;
2252: IF c_existing_order%ISOPEN THEN
2253: CLOSE c_existing_order;
2246: IF c_gac_del%ISOPEN THEN
2247: CLOSE c_gac_del;
2248: END IF;
2249: IF DBMS_SQL.IS_OPEN(v_gac_upd_c_handle) THEN
2250: DBMS_SQL.CLOSE_CURSOR(v_gac_upd_c_handle);
2251: END IF;
2252: IF c_existing_order%ISOPEN THEN
2253: CLOSE c_existing_order;
2254: END IF;