79: ) is
80: --
81: -- Declare cursors and local variables
82: --
83: l_contract_id per_contracts_f.contract_id%TYPE;
84: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
85: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
86: l_effective_date date;
87: l_proc varchar2(72) := g_package||'create_contract';
80: --
81: -- Declare cursors and local variables
82: --
83: l_contract_id per_contracts_f.contract_id%TYPE;
84: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
85: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
86: l_effective_date date;
87: l_proc varchar2(72) := g_package||'create_contract';
88: l_object_version_number per_contracts_f.object_version_number%TYPE;
81: -- Declare cursors and local variables
82: --
83: l_contract_id per_contracts_f.contract_id%TYPE;
84: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
85: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
86: l_effective_date date;
87: l_proc varchar2(72) := g_package||'create_contract';
88: l_object_version_number per_contracts_f.object_version_number%TYPE;
89: l_business_group_id per_contracts_f.business_group_id%TYPE;
84: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
85: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
86: l_effective_date date;
87: l_proc varchar2(72) := g_package||'create_contract';
88: l_object_version_number per_contracts_f.object_version_number%TYPE;
89: l_business_group_id per_contracts_f.business_group_id%TYPE;
90: --
91: cursor csr_get_derived_details is
92: select per.business_group_id
85: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
86: l_effective_date date;
87: l_proc varchar2(72) := g_package||'create_contract';
88: l_object_version_number per_contracts_f.object_version_number%TYPE;
89: l_business_group_id per_contracts_f.business_group_id%TYPE;
90: --
91: cursor csr_get_derived_details is
92: select per.business_group_id
93: from per_all_people_f per
505: --
506: -- Declare cursors and local variables
507: --
508: l_proc varchar2(72) := g_package||'update_contract';
509: l_object_version_number per_contracts_f.object_version_number%TYPE;
510: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
511: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
512: l_business_group_id per_contracts_f.business_group_id%TYPE;
513:
506: -- Declare cursors and local variables
507: --
508: l_proc varchar2(72) := g_package||'update_contract';
509: l_object_version_number per_contracts_f.object_version_number%TYPE;
510: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
511: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
512: l_business_group_id per_contracts_f.business_group_id%TYPE;
513:
514: l_temp_ovn number := p_object_version_number;
507: --
508: l_proc varchar2(72) := g_package||'update_contract';
509: l_object_version_number per_contracts_f.object_version_number%TYPE;
510: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
511: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
512: l_business_group_id per_contracts_f.business_group_id%TYPE;
513:
514: l_temp_ovn number := p_object_version_number;
515: --
508: l_proc varchar2(72) := g_package||'update_contract';
509: l_object_version_number per_contracts_f.object_version_number%TYPE;
510: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
511: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
512: l_business_group_id per_contracts_f.business_group_id%TYPE;
513:
514: l_temp_ovn number := p_object_version_number;
515: --
516: cursor csr_get_derived_details is
863: --
864: -- Declare cursors and local variables
865: --
866: l_proc varchar2(72) := g_package||'update_contract';
867: l_object_version_number per_contracts_f.object_version_number%TYPE;
868: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
869: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
870:
871: l_temp_ovn number := p_object_version_number;
864: -- Declare cursors and local variables
865: --
866: l_proc varchar2(72) := g_package||'update_contract';
867: l_object_version_number per_contracts_f.object_version_number%TYPE;
868: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
869: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
870:
871: l_temp_ovn number := p_object_version_number;
872: --
865: --
866: l_proc varchar2(72) := g_package||'update_contract';
867: l_object_version_number per_contracts_f.object_version_number%TYPE;
868: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
869: l_effective_end_date per_contracts_f.effective_end_date%TYPE;
870:
871: l_temp_ovn number := p_object_version_number;
872: --
873: begin
1034: -- This procedure is called to mantain contracts when person's start-date changes
1035: --
1036: cursor csr_ctr_before IS
1037: SELECT contract_id, effective_start_date, effective_end_date, object_version_number
1038: FROM per_contracts_f pcf
1039: WHERE pcf.person_id = p_person_id
1040: AND pcf.effective_start_date < p_new_start_date;
1041: --
1042: -- This cursor will bring back all the contracts that
1056: -- and which reference a contract
1057: --
1058: cursor csr_ctr_min (p_contract_id in number) IS
1059: SELECT min(effective_start_date)
1060: FROM per_contracts_f
1061: WHERE contract_id = p_contract_id;
1062: --
1063: cursor csr_ctr_ovn (p_contract_id in number, p_start_date in date) IS
1064: SELECT object_version_number
1061: WHERE contract_id = p_contract_id;
1062: --
1063: cursor csr_ctr_ovn (p_contract_id in number, p_start_date in date) IS
1064: SELECT object_version_number
1065: FROM per_contracts_f
1066: WHERE contract_id = p_contract_id and
1067: effective_start_date = p_start_date;
1068: --
1069: -- cursor for finding orphaned contracts
1069: -- cursor for finding orphaned contracts
1070: --
1071: cursor csr_ctr_orphaned (p_person_id in number) is
1072: select contract_id, effective_start_date, object_version_number
1073: from per_contracts_f
1074: where person_id = p_person_id
1075: and not exists(select 1 from per_all_people_f
1076: where person_id = p_person_id);
1077: --
1074: where person_id = p_person_id
1075: and not exists(select 1 from per_all_people_f
1076: where person_id = p_person_id);
1077: --
1078: l_contract_id per_contracts_f.contract_id%TYPE;
1079: l_assignment_id per_all_assignments_f.assignment_id%TYPE;
1080: l_start_date per_contracts_f.effective_start_date%TYPE;
1081: l_end_date per_contracts_f.effective_end_date%TYPE;
1082: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
1076: where person_id = p_person_id);
1077: --
1078: l_contract_id per_contracts_f.contract_id%TYPE;
1079: l_assignment_id per_all_assignments_f.assignment_id%TYPE;
1080: l_start_date per_contracts_f.effective_start_date%TYPE;
1081: l_end_date per_contracts_f.effective_end_date%TYPE;
1082: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
1083: l_object_version_number per_contracts_f.object_version_number%TYPE;
1084: l_proc varchar2(72) := g_package||'maintain_contracts';
1077: --
1078: l_contract_id per_contracts_f.contract_id%TYPE;
1079: l_assignment_id per_all_assignments_f.assignment_id%TYPE;
1080: l_start_date per_contracts_f.effective_start_date%TYPE;
1081: l_end_date per_contracts_f.effective_end_date%TYPE;
1082: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
1083: l_object_version_number per_contracts_f.object_version_number%TYPE;
1084: l_proc varchar2(72) := g_package||'maintain_contracts';
1085: --
1078: l_contract_id per_contracts_f.contract_id%TYPE;
1079: l_assignment_id per_all_assignments_f.assignment_id%TYPE;
1080: l_start_date per_contracts_f.effective_start_date%TYPE;
1081: l_end_date per_contracts_f.effective_end_date%TYPE;
1082: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
1083: l_object_version_number per_contracts_f.object_version_number%TYPE;
1084: l_proc varchar2(72) := g_package||'maintain_contracts';
1085: --
1086: BEGIN
1079: l_assignment_id per_all_assignments_f.assignment_id%TYPE;
1080: l_start_date per_contracts_f.effective_start_date%TYPE;
1081: l_end_date per_contracts_f.effective_end_date%TYPE;
1082: l_effective_start_date per_contracts_f.effective_start_date%TYPE;
1083: l_object_version_number per_contracts_f.object_version_number%TYPE;
1084: l_proc varchar2(72) := g_package||'maintain_contracts';
1085: --
1086: BEGIN
1087: --
1271: p_effective_date in date,
1272: p_status in varchar2) return date is
1273:
1274: cursor csr_date_active is select min(pcf1.effective_start_date)
1275: from per_contracts_f pcf1
1276: where p_contract_id=pcf1.contract_id
1277: and p_effective_date >= pcf1.effective_start_date
1278: and pcf1.status like 'A-%';
1279:
1277: and p_effective_date >= pcf1.effective_start_date
1278: and pcf1.status like 'A-%';
1279:
1280: cursor csr_date_other is select max(pcf1.effective_end_date) + 1
1281: from per_contracts_f pcf1
1282: where p_contract_id=pcf1.contract_id
1283: and p_effective_date >= pcf1.effective_end_date
1284: and pcf1.status not like 'A-%';
1285:
1284: and pcf1.status not like 'A-%';
1285:
1286:
1287: cursor csr_prev_date_active is select max(pcf1.effective_start_date)
1288: from per_contracts_f pcf1
1289: where p_contract_id=pcf1.contract_id
1290: and p_effective_date > pcf1.effective_start_date
1291: and pcf1.status like 'A-%';
1292:
1291: and pcf1.status like 'A-%';
1292:
1293: -- set up the variables
1294:
1295: l_other_start_date per_contracts_f.EFFECTIVE_END_DATE%type;
1296: l_active_start_date per_contracts_f.EFFECTIVE_START_DATE%type;
1297: l_prev_start_date per_contracts_f.EFFECTIVE_START_DATE%type;
1298:
1299:
1292:
1293: -- set up the variables
1294:
1295: l_other_start_date per_contracts_f.EFFECTIVE_END_DATE%type;
1296: l_active_start_date per_contracts_f.EFFECTIVE_START_DATE%type;
1297: l_prev_start_date per_contracts_f.EFFECTIVE_START_DATE%type;
1298:
1299:
1300: begin
1293: -- set up the variables
1294:
1295: l_other_start_date per_contracts_f.EFFECTIVE_END_DATE%type;
1296: l_active_start_date per_contracts_f.EFFECTIVE_START_DATE%type;
1297: l_prev_start_date per_contracts_f.EFFECTIVE_START_DATE%type;
1298:
1299:
1300: begin
1301:
1333: p_effective_date in date,
1334: p_status in varchar2) return date is
1335:
1336: cursor csr_date_active is select max(pcf1.effective_end_date)
1337: from per_contracts_f pcf1
1338: where p_contract_id = pcf1.contract_id
1339: and p_effective_date <= pcf1.effective_end_date
1340: and pcf1.status like 'A-%';
1341:
1339: and p_effective_date <= pcf1.effective_end_date
1340: and pcf1.status like 'A-%';
1341:
1342: cursor csr_date_other is select min(pcf1.effective_start_date) - 1
1343: from per_contracts_f pcf1
1344: where p_contract_id=pcf1.contract_id
1345: and p_effective_date <=pcf1.effective_start_date
1346: and pcf1.status not like 'A-%';
1347:
1345: and p_effective_date <=pcf1.effective_start_date
1346: and pcf1.status not like 'A-%';
1347:
1348: cursor csr_prev_date_active is select max(pcf1.effective_end_date)
1349: from per_contracts_f pcf1
1350: where p_contract_id = pcf1.contract_id
1351: and p_effective_date > pcf1.effective_end_date
1352: and pcf1.status like 'A-%';
1353:
1353:
1354:
1355: -- set up the variables
1356:
1357: l_other_end_date per_contracts_f.EFFECTIVE_END_DATE%type;
1358: l_active_end_date per_contracts_f.EFFECTIVE_START_DATE%type;
1359: l_prev_end_date per_contracts_f.EFFECTIVE_START_DATE%type;
1360:
1361:
1354:
1355: -- set up the variables
1356:
1357: l_other_end_date per_contracts_f.EFFECTIVE_END_DATE%type;
1358: l_active_end_date per_contracts_f.EFFECTIVE_START_DATE%type;
1359: l_prev_end_date per_contracts_f.EFFECTIVE_START_DATE%type;
1360:
1361:
1362: begin
1355: -- set up the variables
1356:
1357: l_other_end_date per_contracts_f.EFFECTIVE_END_DATE%type;
1358: l_active_end_date per_contracts_f.EFFECTIVE_START_DATE%type;
1359: l_prev_end_date per_contracts_f.EFFECTIVE_START_DATE%type;
1360:
1361:
1362: begin
1363: