17: -- then return true, otherwise return false with the knowledge that the table
18: -- or record is locked.
19: DECLARE
20: CURSOR c_aah_sel (
21: cp_person_id IGS_AD_APPL_HIST.person_id%TYPE,
22: cp_admission_appl_number IGS_AD_APPL_HIST.admission_appl_number%TYPE) IS
23: SELECT person_id
24: FROM IGS_AD_APPL_HIST
25: WHERE person_id = cp_person_id
18: -- or record is locked.
19: DECLARE
20: CURSOR c_aah_sel (
21: cp_person_id IGS_AD_APPL_HIST.person_id%TYPE,
22: cp_admission_appl_number IGS_AD_APPL_HIST.admission_appl_number%TYPE) IS
23: SELECT person_id
24: FROM IGS_AD_APPL_HIST
25: WHERE person_id = cp_person_id
26: AND admission_appl_number = cp_admission_appl_number;
20: CURSOR c_aah_sel (
21: cp_person_id IGS_AD_APPL_HIST.person_id%TYPE,
22: cp_admission_appl_number IGS_AD_APPL_HIST.admission_appl_number%TYPE) IS
23: SELECT person_id
24: FROM IGS_AD_APPL_HIST
25: WHERE person_id = cp_person_id
26: AND admission_appl_number = cp_admission_appl_number;
27: v_aah_sel_rec c_aah_sel%ROWTYPE;
28: FUNCTION admpl_del_if_not_locked(
25: WHERE person_id = cp_person_id
26: AND admission_appl_number = cp_admission_appl_number;
27: v_aah_sel_rec c_aah_sel%ROWTYPE;
28: FUNCTION admpl_del_if_not_locked(
29: p_adinl_person_id IN IGS_AD_APPL_HIST.person_id%TYPE,
30: p_adinl_admission_appl_number IN IGS_AD_APPL_HIST.admission_appl_number%TYPE)
31: RETURN
32: BOOLEAN
33: IS
26: AND admission_appl_number = cp_admission_appl_number;
27: v_aah_sel_rec c_aah_sel%ROWTYPE;
28: FUNCTION admpl_del_if_not_locked(
29: p_adinl_person_id IN IGS_AD_APPL_HIST.person_id%TYPE,
30: p_adinl_admission_appl_number IN IGS_AD_APPL_HIST.admission_appl_number%TYPE)
31: RETURN
32: BOOLEAN
33: IS
34: e_resource_busy_exception EXCEPTION;
33: IS
34: e_resource_busy_exception EXCEPTION;
35: PRAGMA EXCEPTION_INIT(e_resource_busy_exception, -54);
36: BEGIN -- admpl_del_if_not_locked
37: -- This function will simply return false if the IGS_AD_APPL_HIST table or
38: -- rows are locked. Otherwise, it will delete the appropriate records from the
39: -- table and return true.
40: DECLARE
41: CURSOR c_aah (
38: -- rows are locked. Otherwise, it will delete the appropriate records from the
39: -- table and return true.
40: DECLARE
41: CURSOR c_aah (
42: cp_adinl_person_id IGS_AD_APPL_HIST.person_id%TYPE,
43: cp_adinl_admission_appl_number
44: IGS_AD_APPL_HIST.admission_appl_number%TYPE) IS
45: SELECT rowid, aah.*
46: FROM IGS_AD_APPL_HIST aah
40: DECLARE
41: CURSOR c_aah (
42: cp_adinl_person_id IGS_AD_APPL_HIST.person_id%TYPE,
43: cp_adinl_admission_appl_number
44: IGS_AD_APPL_HIST.admission_appl_number%TYPE) IS
45: SELECT rowid, aah.*
46: FROM IGS_AD_APPL_HIST aah
47: WHERE person_id = cp_adinl_person_id AND
48: admission_appl_number = cp_adinl_admission_appl_number
42: cp_adinl_person_id IGS_AD_APPL_HIST.person_id%TYPE,
43: cp_adinl_admission_appl_number
44: IGS_AD_APPL_HIST.admission_appl_number%TYPE) IS
45: SELECT rowid, aah.*
46: FROM IGS_AD_APPL_HIST aah
47: WHERE person_id = cp_adinl_person_id AND
48: admission_appl_number = cp_adinl_admission_appl_number
49: FOR UPDATE OF person_id NOWAIT;
50: BEGIN
51: FOR v_aah_rec IN c_aah (
52: p_adinl_person_id,
53: p_adinl_admission_appl_number)
54: LOOP
55: IGS_AD_APPL_HIST_PKG.DELETE_ROW (
56: X_ROWID => v_aah_rec.rowid );
57: END LOOP;
58: RETURN TRUE;
59: END;