1 Package body pqh_salary_range_pkg as
2 /* $Header: pqsalrng.pkb 120.1 2006/02/08 08:38:29 nsanghal noship $ */
3 --
4 function get_salary_range (
5 p_emp_category in varchar2
6 ,p_annual_salary in number default 0)
7 return varchar2 IS
8 l_annual_salary Number;
9 begin
10 if nvl(p_emp_category,'$$') = 'FR' then
11
12 /* Bug 4727991: Adding rounding to avoid a separate range created
13 in the report
14 */
15 l_annual_salary := round(nvl(p_annual_salary,0));
16
17 if l_annual_salary between 0 and 15999 then
18 return ' 0.1-15.9';
19 elsif l_annual_salary between 16000 and 19999 then
20 return '16.0-19.9';
21 elsif l_annual_salary between 20000 and 24999 then
22 return '20.0-24.9';
23 elsif l_annual_salary between 25000 and 32999 then
24 return '25.0-32.9';
25 elsif l_annual_salary between 33000 and 42999 then
26 return '33.0-42.9';
27 elsif l_annual_salary between 43000 and 54999 then
28 return '43.0-54.9';
29 elsif l_annual_salary between 55000 and 69999 then
30 return '55.0-69.0';
31 elsif l_annual_salary >= 70000 then
32 return '70.0 PLUS';
33 else
34 return to_char(l_annual_salary);
35 end if;
36 else
37 return ' ';
38 end if;
39
40 end;
41
42 end;