85: (p_assignment_id in number,
86: p_pay_proposal_id in number,
87: p_change_date in date,
88: p_date_to in date,
89: p_approved in per_pay_proposals.approved%TYPE
90: )
91: IS
92: --
93: -- Cursor to find legislation code
93: -- Cursor to find legislation code
94: --
95: cursor csr_next_proposed_date is
96: select min(change_date)
97: from per_pay_proposals
98: where assignment_id = p_assignment_id
99: and change_date > p_change_date
100: and approved = 'N'
101: and pay_proposal_id <> p_pay_proposal_id;
101: and pay_proposal_id <> p_pay_proposal_id;
102:
103: cursor csr_next_approved_date is
104: select min(change_date)
105: from per_pay_proposals
106: where assignment_id = p_assignment_id
107: and change_date > p_change_date
108: and approved = 'Y'
109: and pay_proposal_id <> p_pay_proposal_id;
153: procedure gen_last_change_date
154: (p_rec in out nocopy per_pyp_shd.g_rec_type) is
155: --
156: l_proc varchar2(72) := g_package || 'gen_last_change_date';
157: l_last_change_date per_pay_proposals.last_change_date%TYPE;
158: --
159: -- define a cusor to determine wheather another proposal exists or not
160: --
161: Cursor csr_last_change_date is
159: -- define a cusor to determine wheather another proposal exists or not
160: --
161: Cursor csr_last_change_date is
162: select max(pro.change_date)
163: from per_pay_proposals pro
164: where pro.assignment_id = p_rec.assignment_id
165: and pro.change_date
167: --
223: -- Internal Table Handler Use Only.
224: --
225: --
226: procedure chk_pay_basis_change_date
227: (p_assignment_id in per_pay_proposals.assignment_id%TYPE
228: ,p_change_date in per_pay_proposals.change_date%TYPE
229: ) is
230: --
231: -- Cursor to check that there is at least one approved salary proposal
224: --
225: --
226: procedure chk_pay_basis_change_date
227: (p_assignment_id in per_pay_proposals.assignment_id%TYPE
228: ,p_change_date in per_pay_proposals.change_date%TYPE
229: ) is
230: --
231: -- Cursor to check that there is at least one approved salary proposal
232: -- for this assignment
232: -- for this assignment
233: --
234: cursor csr_first_proposal is
235: select null
236: from per_pay_proposals
237: where assignment_id = p_assignment_id
238: and approved = 'Y';
239: --
240: -- cursor which checks whether there is an open salary element.
496: -- Internal Table Handler Use Only.
497: --
498: procedure chk_access
499: (p_change_date in date
500: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
501: ) is
502: --
503: -- Declare local variables
504: --
586: --
587: --
588:
589: procedure chk_assignment_id_change_date
590: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
591: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
592: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
593: ,p_change_date in per_pay_proposals.change_date%TYPE
594: ,p_payroll_warning out nocopy boolean
587: --
588:
589: procedure chk_assignment_id_change_date
590: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
591: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
592: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
593: ,p_change_date in per_pay_proposals.change_date%TYPE
594: ,p_payroll_warning out nocopy boolean
595: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
588:
589: procedure chk_assignment_id_change_date
590: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
591: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
592: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
593: ,p_change_date in per_pay_proposals.change_date%TYPE
594: ,p_payroll_warning out nocopy boolean
595: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
596: )
589: procedure chk_assignment_id_change_date
590: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
591: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
592: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
593: ,p_change_date in per_pay_proposals.change_date%TYPE
594: ,p_payroll_warning out nocopy boolean
595: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
596: )
597: is
591: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
592: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
593: ,p_change_date in per_pay_proposals.change_date%TYPE
594: ,p_payroll_warning out nocopy boolean
595: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
596: )
597: is
598: --
599: l_exists varchar2(1);
604: l_assginment_id per_all_assignments_f.assignment_id%TYPE;
605: l_business_group_id per_all_assignments_f.business_group_id%TYPE;
606: l_system_status per_assignment_status_types.per_system_status%TYPE;
607: l_assignment_type per_all_assignments_f.assignment_type%TYPE;
608: l_change_date per_pay_proposals.change_date%TYPE;
609: l_payroll_id per_all_assignments_f.payroll_id%TYPE;
610: --
611: --
612: -- Cursor to check existence of pay proposal with the same change date for the
614: -- Also to check the latest proposal change_date for the assignment.
615: --
616: cursor csr_dup_change_date is
617: select null
618: from per_pay_proposals
619: where assignment_id = p_assignment_id
620: and business_group_id + 0 = p_business_group_id
621: and change_date = p_change_date
622: and pay_proposal_id <> nvl(p_pay_proposal_id,-1);
622: and pay_proposal_id <> nvl(p_pay_proposal_id,-1);
623: --
624: cursor csr_last_change_date is
625: select max(change_date)
626: from per_pay_proposals
627: where assignment_id = p_assignment_id
628: and business_group_id + 0 = p_business_group_id
629: and pay_proposal_id<>nvl(p_pay_proposal_id,-1);
630: --
631: -- Define a cursor to check whether other proposals exist.
632: --
633: Cursor csr_other_proposals_exist is
634: select null
635: from per_pay_proposals
636: where assignment_id = p_assignment_id
637: and approved = 'N'
638: and pay_proposal_id<>nvl(p_pay_proposal_id,-1);
639: --
870: -- Internal Table Handler Use Only.
871: --
872: --
873: function derive_next_sal_perf_date
874: (p_change_date in per_pay_proposals.change_date%TYPE
875: ,p_period in per_all_assignments_f.sal_review_period%TYPE
876: ,p_frequency in per_all_assignments_f.sal_review_period_frequency%TYPE
877: )
878: Return Date is
972: -- Internal Table Handler Use Only.
973: --
974: --
975: procedure chk_next_sal_review_date
976: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
977: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
978: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
979: ,p_change_date in per_pay_proposals.change_date%TYPE
980: ,p_next_sal_review_date in per_pay_proposals.next_sal_review_date%TYPE
973: --
974: --
975: procedure chk_next_sal_review_date
976: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
977: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
978: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
979: ,p_change_date in per_pay_proposals.change_date%TYPE
980: ,p_next_sal_review_date in per_pay_proposals.next_sal_review_date%TYPE
981: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
974: --
975: procedure chk_next_sal_review_date
976: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
977: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
978: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
979: ,p_change_date in per_pay_proposals.change_date%TYPE
980: ,p_next_sal_review_date in per_pay_proposals.next_sal_review_date%TYPE
981: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
982: ,p_inv_next_sal_date_warning out nocopy boolean
975: procedure chk_next_sal_review_date
976: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
977: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
978: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
979: ,p_change_date in per_pay_proposals.change_date%TYPE
980: ,p_next_sal_review_date in per_pay_proposals.next_sal_review_date%TYPE
981: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
982: ,p_inv_next_sal_date_warning out nocopy boolean
983: )
976: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
977: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
978: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
979: ,p_change_date in per_pay_proposals.change_date%TYPE
980: ,p_next_sal_review_date in per_pay_proposals.next_sal_review_date%TYPE
981: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
982: ,p_inv_next_sal_date_warning out nocopy boolean
983: )
984: is
977: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
978: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
979: ,p_change_date in per_pay_proposals.change_date%TYPE
980: ,p_next_sal_review_date in per_pay_proposals.next_sal_review_date%TYPE
981: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
982: ,p_inv_next_sal_date_warning out nocopy boolean
983: )
984: is
985: --
1114: -- Internal Table Handler Use Only.
1115: --
1116: --
1117: procedure chk_chg_next_sal_review_date
1118: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1119: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1120: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1121: ,p_change_date in per_pay_proposals.change_date%TYPE
1122: ,p_next_sal_review_date in out nocopy per_pay_proposals.next_sal_review_date%TYPE
1115: --
1116: --
1117: procedure chk_chg_next_sal_review_date
1118: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1119: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1120: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1121: ,p_change_date in per_pay_proposals.change_date%TYPE
1122: ,p_next_sal_review_date in out nocopy per_pay_proposals.next_sal_review_date%TYPE
1123: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1116: --
1117: procedure chk_chg_next_sal_review_date
1118: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1119: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1120: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1121: ,p_change_date in per_pay_proposals.change_date%TYPE
1122: ,p_next_sal_review_date in out nocopy per_pay_proposals.next_sal_review_date%TYPE
1123: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1124: ,p_inv_next_sal_date_warning out nocopy boolean
1117: procedure chk_chg_next_sal_review_date
1118: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1119: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1120: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1121: ,p_change_date in per_pay_proposals.change_date%TYPE
1122: ,p_next_sal_review_date in out nocopy per_pay_proposals.next_sal_review_date%TYPE
1123: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1124: ,p_inv_next_sal_date_warning out nocopy boolean
1125: )
1118: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1119: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1120: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1121: ,p_change_date in per_pay_proposals.change_date%TYPE
1122: ,p_next_sal_review_date in out nocopy per_pay_proposals.next_sal_review_date%TYPE
1123: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1124: ,p_inv_next_sal_date_warning out nocopy boolean
1125: )
1126: is
1119: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1120: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1121: ,p_change_date in per_pay_proposals.change_date%TYPE
1122: ,p_next_sal_review_date in out nocopy per_pay_proposals.next_sal_review_date%TYPE
1123: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1124: ,p_inv_next_sal_date_warning out nocopy boolean
1125: )
1126: is
1127: --
1268: -- Access Status
1269: -- Internal Table Handler Use Only.
1270: --
1271: procedure chk_multiple_components
1272: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1273: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1274: ,p_change_date in per_pay_proposals.change_date%TYPE
1275: ,p_multiple_components in per_pay_proposals.multiple_components%TYPE
1276: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1269: -- Internal Table Handler Use Only.
1270: --
1271: procedure chk_multiple_components
1272: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1273: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1274: ,p_change_date in per_pay_proposals.change_date%TYPE
1275: ,p_multiple_components in per_pay_proposals.multiple_components%TYPE
1276: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1277: )
1270: --
1271: procedure chk_multiple_components
1272: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1273: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1274: ,p_change_date in per_pay_proposals.change_date%TYPE
1275: ,p_multiple_components in per_pay_proposals.multiple_components%TYPE
1276: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1277: )
1278: is
1271: procedure chk_multiple_components
1272: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1273: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1274: ,p_change_date in per_pay_proposals.change_date%TYPE
1275: ,p_multiple_components in per_pay_proposals.multiple_components%TYPE
1276: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1277: )
1278: is
1279: --
1272: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1273: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1274: ,p_change_date in per_pay_proposals.change_date%TYPE
1275: ,p_multiple_components in per_pay_proposals.multiple_components%TYPE
1276: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1277: )
1278: is
1279: --
1280: l_proc varchar2(72):= g_package||'chk_multiple_components';
1284: -- Cursor to check for the first salary proposals.
1285: --
1286: Cursor csr_is_first_proposal is
1287: select null
1288: from per_pay_proposals pro,
1289: per_all_assignments_f ass
1290: where pro.assignment_id = p_assignment_id
1291: and ass.assignment_id = pro.assignment_id
1292: and p_change_date between ass.effective_start_date
1392: -- Internal Table Handler Use Only.
1393: --
1394: --
1395: procedure chk_proposal_reason
1396: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1397: ,p_change_date in per_pay_proposals.change_date%TYPE
1398: ,p_proposal_reason in per_pay_proposals.proposal_reason%TYPE
1399: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1400: )
1393: --
1394: --
1395: procedure chk_proposal_reason
1396: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1397: ,p_change_date in per_pay_proposals.change_date%TYPE
1398: ,p_proposal_reason in per_pay_proposals.proposal_reason%TYPE
1399: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1400: )
1401: is
1394: --
1395: procedure chk_proposal_reason
1396: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1397: ,p_change_date in per_pay_proposals.change_date%TYPE
1398: ,p_proposal_reason in per_pay_proposals.proposal_reason%TYPE
1399: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1400: )
1401: is
1402: --
1395: procedure chk_proposal_reason
1396: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1397: ,p_change_date in per_pay_proposals.change_date%TYPE
1398: ,p_proposal_reason in per_pay_proposals.proposal_reason%TYPE
1399: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1400: )
1401: is
1402: --
1403: l_proc varchar2(72):= g_package||'chk_proposal_reason';
1477: -- Internal Table Handler USe only
1478: --
1479: --
1480: procedure is_salary_in_range
1481: (p_assignment_id in per_pay_proposals.assignment_id%TYPE
1482: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1483: ,p_change_date in per_pay_proposals.change_date%TYPE
1484: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1485: ,p_proposed_salary_warning out nocopy boolean
1478: --
1479: --
1480: procedure is_salary_in_range
1481: (p_assignment_id in per_pay_proposals.assignment_id%TYPE
1482: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1483: ,p_change_date in per_pay_proposals.change_date%TYPE
1484: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1485: ,p_proposed_salary_warning out nocopy boolean
1486: ) is
1479: --
1480: procedure is_salary_in_range
1481: (p_assignment_id in per_pay_proposals.assignment_id%TYPE
1482: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1483: ,p_change_date in per_pay_proposals.change_date%TYPE
1484: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1485: ,p_proposed_salary_warning out nocopy boolean
1486: ) is
1487:
1480: procedure is_salary_in_range
1481: (p_assignment_id in per_pay_proposals.assignment_id%TYPE
1482: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1483: ,p_change_date in per_pay_proposals.change_date%TYPE
1484: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1485: ,p_proposed_salary_warning out nocopy boolean
1486: ) is
1487:
1488: l_proc varchar2(70):= g_package || 'is_salary_in_range';
1589: ,p_position_id in per_all_assignments_f.position_id%TYPE
1590: ,p_grade_id in per_all_assignments_f.grade_id%TYPE
1591: ,p_normal_hours in per_all_assignments_f.normal_hours%TYPE
1592: ,p_frequency in per_all_assignments_f.frequency%TYPE
1593: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1594: ,p_change_date in per_pay_proposals.change_date%TYPE
1595: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1596: ,p_prop_salary_link_warning out nocopy boolean
1597: ,p_prop_salary_ele_warning out nocopy boolean
1590: ,p_grade_id in per_all_assignments_f.grade_id%TYPE
1591: ,p_normal_hours in per_all_assignments_f.normal_hours%TYPE
1592: ,p_frequency in per_all_assignments_f.frequency%TYPE
1593: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1594: ,p_change_date in per_pay_proposals.change_date%TYPE
1595: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1596: ,p_prop_salary_link_warning out nocopy boolean
1597: ,p_prop_salary_ele_warning out nocopy boolean
1598: ,p_prop_salary_grade_warning out nocopy boolean
1591: ,p_normal_hours in per_all_assignments_f.normal_hours%TYPE
1592: ,p_frequency in per_all_assignments_f.frequency%TYPE
1593: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1594: ,p_change_date in per_pay_proposals.change_date%TYPE
1595: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1596: ,p_prop_salary_link_warning out nocopy boolean
1597: ,p_prop_salary_ele_warning out nocopy boolean
1598: ,p_prop_salary_grade_warning out nocopy boolean
1599: ) is
1929: -- Access Status
1930: -- Internal Table Handler Use Only.
1931: --
1932: procedure chk_proposed_salary
1933: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1934: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1935: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1936: ,p_change_date in per_pay_proposals.change_date%TYPE
1937: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1930: -- Internal Table Handler Use Only.
1931: --
1932: procedure chk_proposed_salary
1933: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1934: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1935: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1936: ,p_change_date in per_pay_proposals.change_date%TYPE
1937: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1938: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1931: --
1932: procedure chk_proposed_salary
1933: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1934: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1935: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1936: ,p_change_date in per_pay_proposals.change_date%TYPE
1937: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1938: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1939: ,p_proposed_salary_warning out nocopy boolean
1932: procedure chk_proposed_salary
1933: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1934: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1935: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1936: ,p_change_date in per_pay_proposals.change_date%TYPE
1937: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1938: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1939: ,p_proposed_salary_warning out nocopy boolean
1940: -- vkodedal 19-feb-2008
1933: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
1934: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1935: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1936: ,p_change_date in per_pay_proposals.change_date%TYPE
1937: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1938: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1939: ,p_proposed_salary_warning out nocopy boolean
1940: -- vkodedal 19-feb-2008
1941: ,p_multiple_components in per_pay_proposals.multiple_components%TYPE
1934: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
1935: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
1936: ,p_change_date in per_pay_proposals.change_date%TYPE
1937: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1938: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1939: ,p_proposed_salary_warning out nocopy boolean
1940: -- vkodedal 19-feb-2008
1941: ,p_multiple_components in per_pay_proposals.multiple_components%TYPE
1942: )
1937: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
1938: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
1939: ,p_proposed_salary_warning out nocopy boolean
1940: -- vkodedal 19-feb-2008
1941: ,p_multiple_components in per_pay_proposals.multiple_components%TYPE
1942: )
1943: is
1944:
1945: --
2065: -- Access Status
2066: -- Internal Table Handler Use Only.
2067: --
2068: procedure chk_approved
2069: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2070: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
2071: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2072: ,p_change_date in per_pay_proposals.change_date%TYPE
2073: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
2066: -- Internal Table Handler Use Only.
2067: --
2068: procedure chk_approved
2069: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2070: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
2071: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2072: ,p_change_date in per_pay_proposals.change_date%TYPE
2073: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
2074: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2067: --
2068: procedure chk_approved
2069: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2070: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
2071: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2072: ,p_change_date in per_pay_proposals.change_date%TYPE
2073: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
2074: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2075: ,p_approved in per_pay_proposals.approved%TYPE
2068: procedure chk_approved
2069: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2070: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
2071: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2072: ,p_change_date in per_pay_proposals.change_date%TYPE
2073: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
2074: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2075: ,p_approved in per_pay_proposals.approved%TYPE
2076: ,p_approved_warning out nocopy boolean
2069: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2070: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
2071: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2072: ,p_change_date in per_pay_proposals.change_date%TYPE
2073: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
2074: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2075: ,p_approved in per_pay_proposals.approved%TYPE
2076: ,p_approved_warning out nocopy boolean
2077: )
2070: ,p_business_group_id in per_pay_proposals.business_group_id%TYPE
2071: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2072: ,p_change_date in per_pay_proposals.change_date%TYPE
2073: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
2074: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2075: ,p_approved in per_pay_proposals.approved%TYPE
2076: ,p_approved_warning out nocopy boolean
2077: )
2078: is
2071: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2072: ,p_change_date in per_pay_proposals.change_date%TYPE
2073: ,p_proposed_salary_n in per_pay_proposals.proposed_salary_n%TYPE
2074: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2075: ,p_approved in per_pay_proposals.approved%TYPE
2076: ,p_approved_warning out nocopy boolean
2077: )
2078: is
2079: --
2095: -- Cursor to get the latest proposals
2096: --
2097: Cursor csr_is_first_proposal is
2098: select null
2099: from per_pay_proposals
2100: where assignment_id = p_assignment_id
2101: and business_group_id + 0 = p_business_group_id
2102: and pay_proposal_id<>nvl(p_pay_proposal_id,-1);
2103: --
2112: -- Define a cursor to check for approved proposals in the future
2113: --
2114: Cursor csr_future_approved_proposals is
2115: select null
2116: from per_pay_proposals
2117: where assignment_id = p_assignment_id
2118: and approved = 'Y'
2119: and change_date > p_change_date;
2120: --
2309:
2310: --
2311: --
2312: procedure chk_del_pay_proposal
2313: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2314: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2315: ,p_salary_warning out nocopy boolean
2316: ) is
2317: --
2310: --
2311: --
2312: procedure chk_del_pay_proposal
2313: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2314: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2315: ,p_salary_warning out nocopy boolean
2316: ) is
2317: --
2318: l_proc varchar2(72):= g_package||'chk_del_pay_proposal';
2316: ) is
2317: --
2318: l_proc varchar2(72):= g_package||'chk_del_pay_proposal';
2319: l_exists varchar2(1);
2320: l_proposed_salary per_pay_proposals.proposed_salary_n%TYPE;
2321: l_last_change_date per_pay_proposals.change_date%TYPE;
2322: l_assignment_id per_pay_proposals.assignment_id%TYPE;
2323: l_business_group_id per_pay_proposals.business_group_id%TYPE;
2324: l_change_date per_pay_proposals.change_date%TYPE;
2317: --
2318: l_proc varchar2(72):= g_package||'chk_del_pay_proposal';
2319: l_exists varchar2(1);
2320: l_proposed_salary per_pay_proposals.proposed_salary_n%TYPE;
2321: l_last_change_date per_pay_proposals.change_date%TYPE;
2322: l_assignment_id per_pay_proposals.assignment_id%TYPE;
2323: l_business_group_id per_pay_proposals.business_group_id%TYPE;
2324: l_change_date per_pay_proposals.change_date%TYPE;
2325: l_approved per_pay_proposals.approved%TYPE;
2318: l_proc varchar2(72):= g_package||'chk_del_pay_proposal';
2319: l_exists varchar2(1);
2320: l_proposed_salary per_pay_proposals.proposed_salary_n%TYPE;
2321: l_last_change_date per_pay_proposals.change_date%TYPE;
2322: l_assignment_id per_pay_proposals.assignment_id%TYPE;
2323: l_business_group_id per_pay_proposals.business_group_id%TYPE;
2324: l_change_date per_pay_proposals.change_date%TYPE;
2325: l_approved per_pay_proposals.approved%TYPE;
2326: l_multiple_components per_pay_proposals.multiple_components%TYPE;
2319: l_exists varchar2(1);
2320: l_proposed_salary per_pay_proposals.proposed_salary_n%TYPE;
2321: l_last_change_date per_pay_proposals.change_date%TYPE;
2322: l_assignment_id per_pay_proposals.assignment_id%TYPE;
2323: l_business_group_id per_pay_proposals.business_group_id%TYPE;
2324: l_change_date per_pay_proposals.change_date%TYPE;
2325: l_approved per_pay_proposals.approved%TYPE;
2326: l_multiple_components per_pay_proposals.multiple_components%TYPE;
2327: --
2320: l_proposed_salary per_pay_proposals.proposed_salary_n%TYPE;
2321: l_last_change_date per_pay_proposals.change_date%TYPE;
2322: l_assignment_id per_pay_proposals.assignment_id%TYPE;
2323: l_business_group_id per_pay_proposals.business_group_id%TYPE;
2324: l_change_date per_pay_proposals.change_date%TYPE;
2325: l_approved per_pay_proposals.approved%TYPE;
2326: l_multiple_components per_pay_proposals.multiple_components%TYPE;
2327: --
2328: --
2321: l_last_change_date per_pay_proposals.change_date%TYPE;
2322: l_assignment_id per_pay_proposals.assignment_id%TYPE;
2323: l_business_group_id per_pay_proposals.business_group_id%TYPE;
2324: l_change_date per_pay_proposals.change_date%TYPE;
2325: l_approved per_pay_proposals.approved%TYPE;
2326: l_multiple_components per_pay_proposals.multiple_components%TYPE;
2327: --
2328: --
2329: -- Define a cursor to get the proposals details
2322: l_assignment_id per_pay_proposals.assignment_id%TYPE;
2323: l_business_group_id per_pay_proposals.business_group_id%TYPE;
2324: l_change_date per_pay_proposals.change_date%TYPE;
2325: l_approved per_pay_proposals.approved%TYPE;
2326: l_multiple_components per_pay_proposals.multiple_components%TYPE;
2327: --
2328: --
2329: -- Define a cursor to get the proposals details
2330: --
2330: --
2331: cursor csr_get_pro_detail is
2332: select assignment_id,business_group_id,change_date,
2333: multiple_components,approved
2334: from per_pay_proposals
2335: where pay_proposal_id = p_pay_proposal_id
2336: and object_version_number = p_object_version_number;
2337: --
2338: -- Define a cursor to check for unapproved componnets
2346: -- Define a cursor which gets the latest approved salary_proposal.
2347: --
2348: cursor csr_get_latest_salary is
2349: select proposed_salary_n
2350: from per_pay_proposals
2351: where assignment_id = l_assignment_id
2352: and change_date < l_change_date
2353: order by change_date desc;
2354: --
2353: order by change_date desc;
2354: --
2355: Cursor csr_is_latest_proposal is
2356: select max(change_date)
2357: from per_pay_proposals
2358: where assignment_id = l_assignment_id;
2359: --
2360: -- Cursor to check that there are components for the proposal
2361: -- Note: If the proposal has some components, the delete process
2376: l_change_date,l_multiple_components, l_approved;
2377: if csr_get_pro_detail%notfound then
2378: close csr_get_pro_detail;
2379: hr_utility.set_location(l_proc, 2);
2380: per_pyp_shd.constraint_error('PER_PAY_PROPOSALS_PK');
2381: end if;
2382: close csr_get_pro_detail;
2383: --
2384: -- Check mandatory column from the above cursor are set
2530: -- - p_change_date > p_date_to
2531: --
2532: --
2533: procedure chk_date_overlapping
2534: (p_change_date in per_pay_proposals.change_date%TYPE,
2535: p_date_to in per_pay_proposals.date_to%TYPE) is
2536: --
2537: l_proc varchar2(72):= g_package||'chk_date_overlapping';
2538: --
2531: --
2532: --
2533: procedure chk_date_overlapping
2534: (p_change_date in per_pay_proposals.change_date%TYPE,
2535: p_date_to in per_pay_proposals.date_to%TYPE) is
2536: --
2537: l_proc varchar2(72):= g_package||'chk_date_overlapping';
2538: --
2539: begin
2572: -- - p_forced_ranking is less than or equal to 0.
2573: --
2574: --
2575: procedure chk_forced_ranking
2576: (p_forced_ranking in per_pay_proposals.forced_ranking%TYPE) is
2577: --
2578: l_proc varchar2(72):= g_package||'chk_forced_ranking';
2579: --
2580: begin
2617: -- Access Status:
2618: -- Internal Table Handler Use Only.
2619: --
2620: procedure chk_performance_review_id
2621: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2622: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2623: ,p_performance_review_id in per_pay_proposals.performance_review_id%TYPE
2624: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2625: )
2618: -- Internal Table Handler Use Only.
2619: --
2620: procedure chk_performance_review_id
2621: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2622: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2623: ,p_performance_review_id in per_pay_proposals.performance_review_id%TYPE
2624: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2625: )
2626: is
2619: --
2620: procedure chk_performance_review_id
2621: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2622: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2623: ,p_performance_review_id in per_pay_proposals.performance_review_id%TYPE
2624: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2625: )
2626: is
2627: --
2620: procedure chk_performance_review_id
2621: (p_pay_proposal_id in per_pay_proposals.pay_proposal_id%TYPE
2622: ,p_assignment_id in per_pay_proposals.assignment_id%TYPE
2623: ,p_performance_review_id in per_pay_proposals.performance_review_id%TYPE
2624: ,p_object_version_number in per_pay_proposals.object_version_number%TYPE
2625: )
2626: is
2627: --
2628: l_proc varchar2(72):= g_package||'chk_performance_review_id';
2673: fetch csr_chk_performance_review_id into l_exists;
2674: if csr_chk_performance_review_id%notfound then
2675: hr_utility.set_location(l_proc, 15);
2676: close csr_chk_performance_review_id;
2677: per_pyp_shd.constraint_error('PER_PAY_PROPOSALS_FK4');
2678: end if;
2679: --
2680: close csr_chk_performance_review_id;
2681: end if;
2774: if nvl(fnd_profile.value('FLEXFIELDS:VALIDATE_ON_SERVER'),'N') = 'Y'
2775: then
2776: hr_dflex_utility.ins_or_upd_descflex_attribs
2777: (p_appl_short_name => 'PER'
2778: ,p_descflex_name => 'PER_PAY_PROPOSALS'
2779: ,p_attribute_category => p_rec.attribute_category
2780: ,p_attribute1_name => 'ATTRIBUTE1'
2781: ,p_attribute1_value => p_rec.attribute1
2782: ,p_attribute2_name => 'ATTRIBUTE2'
3320: --
3321: cursor csr_leg_code is
3322: select pbg.legislation_code
3323: from per_business_groups pbg
3324: , per_pay_proposals pyp
3325: where pyp.pay_proposal_id = p_pay_proposal_id
3326: and pbg.business_group_id = pyp.business_group_id;
3327: --
3328: -- Declare local variables