75: RETURN NULL;
76: END IF;
77: END genp_get_ps_location;
78: --
79: -- To insert data transfer IGS_PE_STD_TODO entries
80: PROCEDURE GENP_INS_TRNSFR_TODO(
81: p_person_id IN NUMBER ,
82: p_s_student_todo_type IN VARCHAR2 ,
83: p_todo_dt IN DATE )
87: gv_other_details VARCHAR2(255);
88: l_val number;
89: BEGIN
90: DECLARE
91: v_st_sequence_number IGS_PE_STD_TODO.sequence_number%TYPE;
92: v_insert_not_req_flag BOOLEAN DEFAULT FALSE;
93: CURSOR c_chk_todo_dt_exists (
94: cp_person_id IGS_PE_STD_TODO.person_id%TYPE,
95: cp_s_student_todo_type IGS_PE_STD_TODO.s_student_todo_type%TYPE ) IS
90: DECLARE
91: v_st_sequence_number IGS_PE_STD_TODO.sequence_number%TYPE;
92: v_insert_not_req_flag BOOLEAN DEFAULT FALSE;
93: CURSOR c_chk_todo_dt_exists (
94: cp_person_id IGS_PE_STD_TODO.person_id%TYPE,
95: cp_s_student_todo_type IGS_PE_STD_TODO.s_student_todo_type%TYPE ) IS
96: SELECT sequence_number
97: FROM IGS_PE_STD_TODO
98: WHERE person_id = cp_person_id AND
91: v_st_sequence_number IGS_PE_STD_TODO.sequence_number%TYPE;
92: v_insert_not_req_flag BOOLEAN DEFAULT FALSE;
93: CURSOR c_chk_todo_dt_exists (
94: cp_person_id IGS_PE_STD_TODO.person_id%TYPE,
95: cp_s_student_todo_type IGS_PE_STD_TODO.s_student_todo_type%TYPE ) IS
96: SELECT sequence_number
97: FROM IGS_PE_STD_TODO
98: WHERE person_id = cp_person_id AND
99: s_student_todo_type = cp_s_student_todo_type AND
93: CURSOR c_chk_todo_dt_exists (
94: cp_person_id IGS_PE_STD_TODO.person_id%TYPE,
95: cp_s_student_todo_type IGS_PE_STD_TODO.s_student_todo_type%TYPE ) IS
96: SELECT sequence_number
97: FROM IGS_PE_STD_TODO
98: WHERE person_id = cp_person_id AND
99: s_student_todo_type = cp_s_student_todo_type AND
100: logical_delete_dt IS NULL;
101: CURSOR c_get_todo_rec_for_update (
98: WHERE person_id = cp_person_id AND
99: s_student_todo_type = cp_s_student_todo_type AND
100: logical_delete_dt IS NULL;
101: CURSOR c_get_todo_rec_for_update (
102: cp_person_id IGS_PE_STD_TODO.person_id%TYPE,
103: cp_s_student_todo_type IGS_PE_STD_TODO.s_student_todo_type%TYPE,
104: cp_sequence_number NUMBER ) IS
105: SELECT IGS_PE_STD_TODO.* , ROWID
106: FROM IGS_PE_STD_TODO
99: s_student_todo_type = cp_s_student_todo_type AND
100: logical_delete_dt IS NULL;
101: CURSOR c_get_todo_rec_for_update (
102: cp_person_id IGS_PE_STD_TODO.person_id%TYPE,
103: cp_s_student_todo_type IGS_PE_STD_TODO.s_student_todo_type%TYPE,
104: cp_sequence_number NUMBER ) IS
105: SELECT IGS_PE_STD_TODO.* , ROWID
106: FROM IGS_PE_STD_TODO
107: WHERE person_id = cp_person_id AND
101: CURSOR c_get_todo_rec_for_update (
102: cp_person_id IGS_PE_STD_TODO.person_id%TYPE,
103: cp_s_student_todo_type IGS_PE_STD_TODO.s_student_todo_type%TYPE,
104: cp_sequence_number NUMBER ) IS
105: SELECT IGS_PE_STD_TODO.* , ROWID
106: FROM IGS_PE_STD_TODO
107: WHERE person_id = cp_person_id AND
108: s_student_todo_type = cp_s_student_todo_type AND
109: sequence_number = cp_sequence_number
102: cp_person_id IGS_PE_STD_TODO.person_id%TYPE,
103: cp_s_student_todo_type IGS_PE_STD_TODO.s_student_todo_type%TYPE,
104: cp_sequence_number NUMBER ) IS
105: SELECT IGS_PE_STD_TODO.* , ROWID
106: FROM IGS_PE_STD_TODO
107: WHERE person_id = cp_person_id AND
108: s_student_todo_type = cp_s_student_todo_type AND
109: sequence_number = cp_sequence_number
110: FOR UPDATE OF todo_dt
128: FETCH c_get_todo_rec_for_update INTO v_existing_st_record;
129: LOOP
130: EXIT WHEN c_get_todo_rec_for_update%NOTFOUND;
131: v_insert_not_req_flag := TRUE;
132: SELECT IGS_PE_STD_TODO_SEQ_NUM_S.NEXTVAL INTO L_VAL
133: FROM DUAL ;
134: IGS_PE_STD_TODO_PKG.UPDATE_ROW(
135: x_rowid => v_existing_st_record.ROWID ,
136: X_PERSON_ID => v_existing_st_record.PERSON_ID,
130: EXIT WHEN c_get_todo_rec_for_update%NOTFOUND;
131: v_insert_not_req_flag := TRUE;
132: SELECT IGS_PE_STD_TODO_SEQ_NUM_S.NEXTVAL INTO L_VAL
133: FROM DUAL ;
134: IGS_PE_STD_TODO_PKG.UPDATE_ROW(
135: x_rowid => v_existing_st_record.ROWID ,
136: X_PERSON_ID => v_existing_st_record.PERSON_ID,
137: X_S_STUDENT_TODO_TYPE => v_existing_st_record.S_STUDENT_TODO_TYPE,
138: X_SEQUENCE_NUMBER => L_VAL,
156: -- the procedure.
157: IF v_insert_not_req_flag THEN
158: RETURN;
159: END IF;
160: --- Insert a record into the IGS_PE_STD_TODO table using the parameters.
161: SELECT IGS_PE_STD_TODO_SEQ_NUM_S.nextval INTO L_VAL
162: FROM DUAL ;
163: IGS_PE_STD_TODO_PKG.INSERT_ROW (
164: X_ROWID => L_ROWID,
157: IF v_insert_not_req_flag THEN
158: RETURN;
159: END IF;
160: --- Insert a record into the IGS_PE_STD_TODO table using the parameters.
161: SELECT IGS_PE_STD_TODO_SEQ_NUM_S.nextval INTO L_VAL
162: FROM DUAL ;
163: IGS_PE_STD_TODO_PKG.INSERT_ROW (
164: X_ROWID => L_ROWID,
165: x_person_id =>p_person_id,
159: END IF;
160: --- Insert a record into the IGS_PE_STD_TODO table using the parameters.
161: SELECT IGS_PE_STD_TODO_SEQ_NUM_S.nextval INTO L_VAL
162: FROM DUAL ;
163: IGS_PE_STD_TODO_PKG.INSERT_ROW (
164: X_ROWID => L_ROWID,
165: x_person_id =>p_person_id,
166: x_s_student_todo_type =>p_s_student_todo_type,
167: x_sequence_number => L_VAL ,
207: RAISE no_data_found ;
208: ELSE
209: -- Allow for a 10 minute interval
210: v_todo_dt := SYSDATE + 1/144;
211: -- Insert person into IGS_PE_STD_TODO table
212: IGS_GE_PRC_TRANSFER.genp_ins_trnsfr_todo(r_pe.person_id,
213: 'PERS_TRANS',
214: v_todo_dt);
215: