1 package pay_fr_overtime AUTHID CURRENT_USER as
2 /* $Header: pyfrovtm.pkh 115.6 2004/03/31 08:33:54 autiwari noship $ */
3 function calculate_band
4 (p_low_value number
5 ,p_band_hours number
6 ,p_overtime_hours number
7 ,p_weekly_reference_hours number
8 ,p_band_factor number
9 ,p_pay_rate number
10 ,p_compensation_method varchar2
11 ,p_high_value out nocopy number
12 ,p_band_full_factor out nocopy number
13 ,p_band_full_pay_rate out nocopy number
14 ,p_band_full_hours out nocopy number
15 ,p_band_full_pay out nocopy number
16 ,p_band_full_accrual out nocopy number
17 ,p_band_reduced_actor out nocopy number
18 ,p_band_reduced_pay_rate out nocopy number
19 ,p_band_reduced_hours out nocopy number
20 ,p_band_reduced_pay out nocopy number
21 ,p_band_reduced_accrual out nocopy number) return number;
22 --
23 /* Package Globals */
24 g_week_end_date date;
25 --
26 function set_scheme(p_assignment_id number
27 ,p_date date) return number;
28 --
29 function get_scheme(p_scheme_item varchar2) return varchar2;
30 --
31 function get_band(p_band number
32 ,p_label out nocopy varchar2
33 ,p_hours out nocopy number
34 ,p_hours_percentage out nocopy number
35 ,p_factor out nocopy number) return number;
36 --
37 function last_regularisation
38 (P_ASSIGNMENT_ID NUMBER
39 ,P_DATE_EARNED DATE
40 ,P_RANGE_END_DATE DATE
41 ,P_RANGE_START_DATE DATE) return date;
42 --
43 function determine_regularisation
44 (P_ASSIGNMENT_ID NUMBER
45 ,P_DATE_EARNED DATE
46 ,P_OVERTIME_PAYROLL_ID NUMBER
47 ,P_PERIOD_TYPE VARCHAR2
48 ,P_NUMBER_OF_WEEKS NUMBER
49 ,P_START_DATE DATE
50 ,P_CURRENT_WEEK_END_DATE DATE
51 ,P_PERIOD_START_DATE OUT NOCOPY DATE
52 ,P_PERIOD_END_DATE OUT NOCOPY DATE) return varchar2;
53 --
54 function get_overtime_weeks(p_overtime_payroll_id number
55 ,p_week_start_date date
56 ,p_week_end_date date) return number;
57 --
58 function get_overtime_week_dates(p_overtime_payroll_id number
59 ,p_payroll_start_date date
60 ,p_week_number number
61 ,p_week_start_date out nocopy date
62 ,p_week_end_date out nocopy date) return number;
63 --
64 function get_overtime_week_dates(p_payroll_id number
65 ,p_overtime_payroll_id number
66 ,p_payroll_start_date date
67 ,p_week_number number
68 ,p_week_start_date out nocopy date
69 ,p_week_end_date out nocopy date) return number;
70 --
71 function get_week_details(p_assignment_id number
72 ,p_effective_date date
73 ,p_business_group_id number
74 ,p_assignment_action_id number
75 ,p_payroll_action_id number
76 ,p_week_start_date date
77 ,p_week_end_date date
78 ,p_formula_id number
79 ,p_overtime_hours out nocopy number
80 ,p_quota_hours out nocopy number
81 ,p_compensation_hours out nocopy number) return number;
82 --
83 function regularisation(p_assignment_id number
84 ,p_effective_date date
85 ,p_business_group_id number
86 ,p_assignment_action_id number
87 ,p_payroll_action_id number
88 ,p_reg_period_start_date date
89 ,p_reg_period_end_date date
90 ,p_formula_id number
91 ,p_b1_pay_ff out nocopy number
92 ,p_b1_hours_ff out nocopy number
93 ,p_b1_hourly_rate_ff out nocopy number
94 ,p_b1_full_factor out nocopy number
95 ,p_b1_accrual_ff out nocopy number
96 ,p_b1_label_ff out nocopy varchar2
97 ,p_b1_pay_rf out nocopy number
98 ,p_b1_hours_rf out nocopy number
99 ,p_b1_hourly_rate_rf out nocopy number
100 ,p_b1_reduced_factor out nocopy number
101 ,p_b1_accrual_rf out nocopy number
102 ,p_b1_label_rf out nocopy varchar2
103 ,p_b2_pay_ff out nocopy number
104 ,p_b2_hours_ff out nocopy number
105 ,p_b2_hourly_rate_ff out nocopy number
106 ,p_b2_full_factor out nocopy number
107 ,p_b2_accrual_ff out nocopy number
108 ,p_b2_label_ff out nocopy varchar2
109 ,p_b2_pay_rf out nocopy number
110 ,p_b2_hours_rf out nocopy number
111 ,p_b2_hourly_rate_rf out nocopy number
112 ,p_b2_reduced_factor out nocopy number
113 ,p_b2_accrual_rf out nocopy number
114 ,p_b2_label_rf out nocopy varchar2
115 ,p_b3_pay_ff out nocopy number
116 ,p_b3_hours_ff out nocopy number
117 ,p_b3_hourly_rate_ff out nocopy number
118 ,p_b3_full_factor out nocopy number
119 ,p_b3_accrual_ff out nocopy number
120 ,p_b3_label_ff out nocopy varchar2
121 ,p_b3_pay_rf out nocopy number
122 ,p_b3_hours_rf out nocopy number
123 ,p_b3_hourly_rate_rf out nocopy number
124 ,p_b3_reduced_factor out nocopy number
125 ,p_b3_accrual_rf out nocopy number
126 ,p_b3_label_rf out nocopy varchar2
127 ,p_b4_pay_ff out nocopy number
128 ,p_b4_hours_ff out nocopy number
129 ,p_b4_hourly_rate_ff out nocopy number
130 ,p_b4_full_factor out nocopy number
131 ,p_b4_accrual_ff out nocopy number
132 ,p_b4_label_ff out nocopy varchar2
133 ,p_b4_pay_rf out nocopy number
134 ,p_b4_hours_rf out nocopy number
135 ,p_b4_hourly_rate_rf out nocopy number
136 ,p_b4_reduced_factor out nocopy number
137 ,p_b4_accrual_rf out nocopy number
138 ,p_b4_label_rf out nocopy varchar2
139 ,p_b5_pay_ff out nocopy number
140 ,p_b5_hours_ff out nocopy number
141 ,p_b5_hourly_rate_ff out nocopy number
142 ,p_b5_full_factor out nocopy number
143 ,p_b5_accrual_ff out nocopy number
144 ,p_b5_label_ff out nocopy varchar2
145 ,p_b5_pay_rf out nocopy number
146 ,p_b5_hours_rf out nocopy number
147 ,p_b5_hourly_rate_rf out nocopy number
148 ,p_b5_reduced_factor out nocopy number
149 ,p_b5_accrual_rf out nocopy number
150 ,p_b5_label_rf out nocopy varchar2
151 ,p_b6_pay_ff out nocopy number
152 ,p_b6_hours_ff out nocopy number
153 ,p_b6_hourly_rate_ff out nocopy number
154 ,p_b6_full_factor out nocopy number
155 ,p_b6_accrual_ff out nocopy number
156 ,p_b6_label_ff out nocopy varchar2
157 ,p_b6_pay_rf out nocopy number
158 ,p_b6_hours_rf out nocopy number
159 ,p_b6_hourly_rate_rf out nocopy number
160 ,p_b6_reduced_factor out nocopy number
161 ,p_b6_accrual_rf out nocopy number
162 ,p_b6_label_rf out nocopy varchar2
163 ) return number;
164 --
165 function check_existing_overtime_week
166 (p_assignment_id number
167 ,p_element_type_id number
168 ,p_date_earned date
169 ,p_week_end_date date) return varchar2;
170 --
171 function get_period_balance
172 (p_assignment_id number
173 ,p_date_earned date
174 ,p_business_group_id number
175 ,p_element varchar2
176 ,p_start_input varchar2
177 ,p_start_date date
178 ,p_end_input varchar2
179 ,p_end_date date
180 ,p_value_input varchar2) return number;
181 --
182 --
183 ------------------------------------------------------------------------
184 -- Function GET_NORMAL_WEEK_HOURS
185 --
186 -- This function will retrieve the normal working hours as of the overtime
187 -- week end date and convert them into a weekly frequency
188 ------------------------------------------------------------------------
189 function get_normal_week_hours
190 (p_business_group_id number
191 ,p_assignment_id number
192 ,p_effective_date date) return number;
193 --
194 end pay_fr_overtime;