11: --
12:
13: CURSOR csr_person_record (cp_person_id number) IS
14: select *
15: from per_all_people_f
16: where person_id = cp_person_id
17: and rownum = 1;
18:
19: -- ------------------------------------------------------------------------ +
31: cursor csr_get_apl_number(cp_person_id number
32: ,cp_business_group_id number
33: ,cp_effective_date date ) is
34: select applicant_number
35: from per_all_people_f
36: where person_id = cp_person_id
37: and business_group_id = cp_business_group_id
38: and applicant_number is not null
39: and (cp_effective_date between effective_start_date and effective_end_date
40: or effective_start_date > cp_effective_date)
41: order by effective_start_date ASC;
42: --
43: l_dummy varchar2(100);
44: l_applicant_number per_all_people_f.applicant_number%TYPE;
45: l_method_of_generation VARCHAR2(30);
46: --
47: BEGIN
48: --
180: ,p_current_apl_flag varchar2
181: ,p_object_version_number in out nocopy number -- BUG4081676
182: ) IS
183: --
184: l_ovn per_all_people_f.object_version_number%TYPE;
185: --
186: BEGIN
187:
188: l_ovn := p_object_version_number + 1; -- BUG4081676
186: BEGIN
187:
188: l_ovn := p_object_version_number + 1; -- BUG4081676
189:
190: UPDATE per_all_people_f
191: set person_type_id = p_person_type_id
192: ,current_applicant_flag = p_current_apl_flag
193: ,current_emp_or_apl_flag = p_current_emp_apl_flag
194: ,applicant_number = p_applicant_number
215: ,p_current_employee_flag varchar2
216: ,p_object_version_number in out nocopy number -- BUG4081676
217: ) IS
218: --
219: l_created_by per_all_people_f.created_by%TYPE;
220: l_creation_date per_all_people_f.creation_date%TYPE;
221: l_last_update_date per_all_people_f.last_update_date%TYPE;
222: l_last_updated_by per_all_people_f.last_updated_by%TYPE;
223: l_last_update_login per_all_people_f.last_update_login%TYPE;
216: ,p_object_version_number in out nocopy number -- BUG4081676
217: ) IS
218: --
219: l_created_by per_all_people_f.created_by%TYPE;
220: l_creation_date per_all_people_f.creation_date%TYPE;
221: l_last_update_date per_all_people_f.last_update_date%TYPE;
222: l_last_updated_by per_all_people_f.last_updated_by%TYPE;
223: l_last_update_login per_all_people_f.last_update_login%TYPE;
224: l_ovn per_all_people_f.object_version_number%TYPE;
217: ) IS
218: --
219: l_created_by per_all_people_f.created_by%TYPE;
220: l_creation_date per_all_people_f.creation_date%TYPE;
221: l_last_update_date per_all_people_f.last_update_date%TYPE;
222: l_last_updated_by per_all_people_f.last_updated_by%TYPE;
223: l_last_update_login per_all_people_f.last_update_login%TYPE;
224: l_ovn per_all_people_f.object_version_number%TYPE;
225: --
218: --
219: l_created_by per_all_people_f.created_by%TYPE;
220: l_creation_date per_all_people_f.creation_date%TYPE;
221: l_last_update_date per_all_people_f.last_update_date%TYPE;
222: l_last_updated_by per_all_people_f.last_updated_by%TYPE;
223: l_last_update_login per_all_people_f.last_update_login%TYPE;
224: l_ovn per_all_people_f.object_version_number%TYPE;
225: --
226: BEGIN
219: l_created_by per_all_people_f.created_by%TYPE;
220: l_creation_date per_all_people_f.creation_date%TYPE;
221: l_last_update_date per_all_people_f.last_update_date%TYPE;
222: l_last_updated_by per_all_people_f.last_updated_by%TYPE;
223: l_last_update_login per_all_people_f.last_update_login%TYPE;
224: l_ovn per_all_people_f.object_version_number%TYPE;
225: --
226: BEGIN
227: -- Set the AOL updated WHO values
220: l_creation_date per_all_people_f.creation_date%TYPE;
221: l_last_update_date per_all_people_f.last_update_date%TYPE;
222: l_last_updated_by per_all_people_f.last_updated_by%TYPE;
223: l_last_update_login per_all_people_f.last_update_login%TYPE;
224: l_ovn per_all_people_f.object_version_number%TYPE;
225: --
226: BEGIN
227: -- Set the AOL updated WHO values
228: --
230: l_last_updated_by := fnd_global.user_id;
231: l_last_update_login := fnd_global.login_id;
232: l_ovn := p_object_version_number + 1; -- BUG4081676
233:
234: INSERT INTO per_all_people_f
235: (person_id,
236: effective_start_date,
237: effective_end_date,
238: business_group_id,
559: --
560: cursor csr_get_person_details(cp_person_id number, cp_effective_date date)
561: IS
562: select *
563: from per_all_people_f peo
564: where person_id = cp_person_id
565: and (effective_start_date >= cp_effective_date
566: OR
567: cp_effective_date between effective_start_date
589:
590: l_proc constant varchar2(100) := g_package||'Update_PER_PTU_to_EX_APL';
591: l_effective_date date;
592:
593: l_business_group_id per_all_people_f.business_group_id%TYPE;
594: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
595: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
596: l_system_person_type per_person_types.system_person_type%TYPE;
597: l_ovn per_all_people_f.object_version_number%TYPE;
590: l_proc constant varchar2(100) := g_package||'Update_PER_PTU_to_EX_APL';
591: l_effective_date date;
592:
593: l_business_group_id per_all_people_f.business_group_id%TYPE;
594: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
595: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
596: l_system_person_type per_person_types.system_person_type%TYPE;
597: l_ovn per_all_people_f.object_version_number%TYPE;
598:
591: l_effective_date date;
592:
593: l_business_group_id per_all_people_f.business_group_id%TYPE;
594: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
595: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
596: l_system_person_type per_person_types.system_person_type%TYPE;
597: l_ovn per_all_people_f.object_version_number%TYPE;
598:
599: l_new_person_type_id per_person_types.person_type_id%TYPE;
593: l_business_group_id per_all_people_f.business_group_id%TYPE;
594: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
595: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
596: l_system_person_type per_person_types.system_person_type%TYPE;
597: l_ovn per_all_people_f.object_version_number%TYPE;
598:
599: l_new_person_type_id per_person_types.person_type_id%TYPE;
600: l_ptu_person_type_id per_person_types.person_type_id%TYPE;
601: l_new_sys_person_type per_person_types.system_person_type%TYPE;
716: l_new_effective_date := l_effective_date;
717: l_per_effective_end_date := l_person_rec.effective_end_date;
718: --
719: -- End date current record
720: UPDATE per_all_people_f
721: set effective_end_date = l_effective_date -1
722: where person_id = l_person_rec.person_id
723: and effective_start_date = l_person_rec.effective_start_date
724: and effective_end_date = l_person_rec.effective_end_date;
877: --
878: cursor csr_get_person_details(cp_person_id number, cp_effective_date date)
879: IS
880: select *
881: from per_all_people_f peo
882: where person_id = cp_person_id
883: and (effective_start_date >= cp_effective_date
884: OR
885: cp_effective_date between effective_start_date
909:
910: l_proc constant varchar2(100) := g_package||'Update_PER_PTU_Records';
911: l_effective_date date;
912:
913: l_business_group_id per_all_people_f.business_group_id%TYPE;
914: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
915: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
916: l_system_person_type per_person_types.system_person_type%TYPE;
917: l_ovn per_all_people_f.object_version_number%TYPE;
910: l_proc constant varchar2(100) := g_package||'Update_PER_PTU_Records';
911: l_effective_date date;
912:
913: l_business_group_id per_all_people_f.business_group_id%TYPE;
914: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
915: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
916: l_system_person_type per_person_types.system_person_type%TYPE;
917: l_ovn per_all_people_f.object_version_number%TYPE;
918:
911: l_effective_date date;
912:
913: l_business_group_id per_all_people_f.business_group_id%TYPE;
914: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
915: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
916: l_system_person_type per_person_types.system_person_type%TYPE;
917: l_ovn per_all_people_f.object_version_number%TYPE;
918:
919: l_ptu_person_type_id per_person_types.person_type_id%TYPE;
913: l_business_group_id per_all_people_f.business_group_id%TYPE;
914: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
915: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
916: l_system_person_type per_person_types.system_person_type%TYPE;
917: l_ovn per_all_people_f.object_version_number%TYPE;
918:
919: l_ptu_person_type_id per_person_types.person_type_id%TYPE;
920: l_new_person_type_id per_person_types.person_type_id%TYPE;
921: l_new_sys_person_type per_person_types.system_person_type%TYPE;
951: l_ptu_eff_end_date per_person_type_usages_f.effective_end_date%TYPE;
952: -- BUG4081676
953: cursor csr_get_per_ovn is
954: select object_version_number
955: from per_all_people_f
956: where person_id = p_person_id
957: and effective_start_date = l_new_effective_date
958: and effective_end_date = l_per_effective_end_date;
959: --
1078: l_new_effective_date := l_effective_date;
1079: l_per_effective_end_date := l_person_rec.effective_end_date;
1080: --
1081: -- End date current record
1082: UPDATE per_all_people_f
1083: set effective_end_date = l_effective_date -1
1084: where person_id = l_person_rec.person_id
1085: and effective_start_date = l_person_rec.effective_start_date
1086: and effective_end_date = l_person_rec.effective_end_date;
1350: IS
1351: --
1352: cursor csr_get_person_details(cp_person_id number, cp_ex_apl_date date, cp_apl_date date) is
1353: select *
1354: from per_all_people_f peo
1355: where person_id = cp_person_id
1356: and (cp_ex_apl_date between effective_start_date
1357: and effective_end_date -- becomes ex-apl on this date
1358: or cp_apl_date between effective_start_date
1379: --
1380: l_proc constant varchar2(100) := g_package||'Upd_person_EX_APL_and_APL';
1381: l_effective_date date;
1382:
1383: l_business_group_id per_all_people_f.business_group_id%TYPE;
1384: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
1385: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
1386: l_system_person_type per_person_types.system_person_type%TYPE;
1387: l_ovn per_all_people_f.object_version_number%TYPE;
1380: l_proc constant varchar2(100) := g_package||'Upd_person_EX_APL_and_APL';
1381: l_effective_date date;
1382:
1383: l_business_group_id per_all_people_f.business_group_id%TYPE;
1384: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
1385: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
1386: l_system_person_type per_person_types.system_person_type%TYPE;
1387: l_ovn per_all_people_f.object_version_number%TYPE;
1388:
1381: l_effective_date date;
1382:
1383: l_business_group_id per_all_people_f.business_group_id%TYPE;
1384: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
1385: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
1386: l_system_person_type per_person_types.system_person_type%TYPE;
1387: l_ovn per_all_people_f.object_version_number%TYPE;
1388:
1389: l_new_person_type_id per_person_types.person_type_id%TYPE;
1383: l_business_group_id per_all_people_f.business_group_id%TYPE;
1384: l_effective_start_date per_all_people_f.effective_start_date%TYPE;
1385: l_effective_end_date per_all_people_f.effective_end_date%TYPE;
1386: l_system_person_type per_person_types.system_person_type%TYPE;
1387: l_ovn per_all_people_f.object_version_number%TYPE;
1388:
1389: l_new_person_type_id per_person_types.person_type_id%TYPE;
1390: l_ptu_person_type_id per_person_types.person_type_id%TYPE;
1391: l_new_sys_person_type per_person_types.system_person_type%TYPE;
1432: ,p_object_version_number in out nocopy number
1433: ) IS
1434: BEGIN
1435: if p_mode = 'CORRECTION' then
1436: UPDATE per_all_people_f
1437: SET person_type_id = p_person_type
1438: WHERE person_id = p_ex_apl_rec.person_id
1439: AND effective_start_date = p_ex_apl_rec.effective_start_date
1440: AND effective_end_date = p_ex_apl_rec.effective_end_date;
1444: -- b. create the ex_applicant record effective on p_ex_apl_date
1445: -- c. insert/update APL record depending on scenario
1446: --
1447: -- a. End APL record
1448: UPDATE per_all_people_f
1449: SET effective_end_date = p_ex_apl_date - 1
1450: WHERE person_id = p_ex_apl_rec.person_id
1451: AND effective_start_date = p_ex_apl_rec.effective_start_date
1452: AND effective_end_date = p_ex_apl_rec.effective_end_date;
1482: ,p_object_version_number => p_object_version_number -- BUG4081676
1483: );
1484: elsif p_mode = 'UPDATE_OVERRIDE' then
1485: -- insert APL record as of p_apl_date
1486: UPDATE per_all_people_f
1487: SET effective_start_date = p_apl_date
1488: WHERE person_id = p_apl_rec.person_id
1489: AND effective_start_date = p_apl_rec.effective_start_date
1490: AND effective_end_date = p_apl_rec.effective_end_date;
2105: l_asg_object_version_number number;
2106: l_per_effective_start_date date;
2107: l_per_effective_end_date date;
2108: l_appl_override_warning BOOLEAN;
2109: l_per_party_id per_all_people_f.party_id%TYPE;
2110: l_per_dob per_all_people_f.date_of_birth%TYPE;
2111: l_per_start_date per_all_people_f.effective_start_date%TYPE;
2112: --
2113: --
2106: l_per_effective_start_date date;
2107: l_per_effective_end_date date;
2108: l_appl_override_warning BOOLEAN;
2109: l_per_party_id per_all_people_f.party_id%TYPE;
2110: l_per_dob per_all_people_f.date_of_birth%TYPE;
2111: l_per_start_date per_all_people_f.effective_start_date%TYPE;
2112: --
2113: --
2114: -- select and validate the person
2107: l_per_effective_end_date date;
2108: l_appl_override_warning BOOLEAN;
2109: l_per_party_id per_all_people_f.party_id%TYPE;
2110: l_per_dob per_all_people_f.date_of_birth%TYPE;
2111: l_per_start_date per_all_people_f.effective_start_date%TYPE;
2112: --
2113: --
2114: -- select and validate the person
2115: --
2160: where vacancy_id = p_vacancy_id;
2161: --
2162: CURSOR csr_lock_person(cp_person_id number, cp_termination_date date) IS
2163: SELECT null
2164: FROM per_all_people_f
2165: WHERE person_id = cp_person_id
2166: AND (effective_start_date > cp_termination_date
2167: OR
2168: cp_termination_date between effective_start_date