96: 70.19 14-Nov-96 BSanders 410245 Reinstate 70.17
97: 110.01 25-Aug-97 mswanson Remove and aol.person_type = 'E' from
98: aol_predel_validation.
99: 110.2 13-Oct-97 rfine 563034 Changed parent table name from
100: PER_PEOPLE_F to PER_ALL_PEOPLE_F
101: 110.3 06-Nov-97 mmillmor 593864 Added pa validation to moderate delete
102:
103: 110.4 18-Mar-98 fychu 642566 Added code to delete_a_person procedure
104: to delete per_people_extra_info records.
1254: --
1255: -- VT 1403481 09/19/00
1256: select count(*)
1257: into v_person_types
1258: from per_people_f p,
1259: per_person_types ppt
1260: where p.person_id = P_PERSON_ID
1261: and p.effective_end_date >= P_SESSION_DATE
1262: and p.person_type_id = ppt.person_type_id
1261: and p.effective_end_date >= P_SESSION_DATE
1262: and p.person_type_id = ppt.person_type_id
1263: and exists
1264: (select null
1265: from per_people_f p2,
1266: per_person_types ppt2
1267: where p2.person_id = p.person_id
1268: and p2.effective_end_date >= P_SESSION_DATE
1269: and p2.person_type_id = ppt2.person_type_id
1346: into v_other_only
1347: from sys.dual
1348: where not exists
1349: (select null
1350: from per_people_f p
1351: where p.person_id = P_CONTACT_PERSON_ID
1352: and p.current_emp_or_apl_flag = 'Y');
1353: exception
1354: when NO_DATA_FOUND then return;
1392: Cascades are all performed according to the locking ladder.
1393: NOTE
1394: P_FORM_CALL is set to 'Y' if this procedure is called from a forms
1395: module. In this case, the deletes are performed post-delete and a
1396: row therefore may not exist in per_people_f (for this person_id).
1397: For this reason the existance check will be ignored.
1398: */
1399: --
1400: PROCEDURE delete_a_person (p_person_id IN number,
1409: where person_id = P_PERSON_ID;
1410: --
1411: cursor LOCK_PERSON_ROWS is
1412: select person_id
1413: from per_people_f
1414: where person_id = P_PERSON_ID
1415: FOR UPDATE;
1416: --
1417: cursor LOCK_ASSIGNMENT_ROWS is
2825: v_assignment_id number(15);
2826: --
2827: cursor LOCK_PERSON_ROWS is
2828: select person_id
2829: from per_people_f
2830: where person_id = P_PERSON_ID
2831: FOR UPDATE;
2832: --
2833: BEGIN
3000: --
3001: hr_utility.set_location('HR_PERSON_DELETE.PEOPLE_DEFAULT_DELETES', 16);
3002: --
3003: begin
3004: delete from per_people_f
3005: where person_id = P_PERSON_ID;
3006: exception
3007: when NO_DATA_FOUND then null;
3008: end;
3039: v_assignment_id number(15);
3040: --
3041: cursor LOCK_PERSON_ROWS is
3042: select person_id
3043: from per_people_f
3044: where person_id = P_PERSON_ID
3045: FOR UPDATE;
3046: --
3047: BEGIN
3149: --
3150: hr_utility.set_location('HR_PERSON_DELETE.APPLICANT_DEFAULT_DELETES', 10);
3151: --
3152: begin
3153: delete from per_people_f
3154: where person_id = P_PERSON_ID;
3155: exception
3156: when NO_DATA_FOUND then null;
3157: end;