1 Package Body ghr_custom_award as
2 /* $Header: ghcusawd.pkb 120.0.12000000.1 2007/04/25 09:16:24 utokachi noship $ */
3 -- -----------------------------------------------------------------------------
4 -- |-----------------------------< custom_award_salary >-----------------------|
5 -- -----------------------------------------------------------------------------
6 -- {Start of Comments}
7 --
8 -- Description:
9 -- This procedure is provided for the customer to update to allow them to
10 -- add there own routines to determine at the Award Salary. It is called
11 -- from the award_amount_calc procedure.
12 --
13 --
14 -- In Arguments:
15 -- p_position_id -- Position ID associated with the current assignment
16 -- p_person_id -- Person ID as on the effective Date
17 -- p_prd -- Pay Rate Determinant of the current assignment
18 -- p_pay_basis -- Pay Basis of the current assignment
19 -- p_pay_plan -- Pay Plan associated with the current assignment
20 -- p_user_table_id -- Pay Table ID associated with the current assignment
21 -- p_grade_or_level -- Grade or Level associated with the current assignment
22 -- p_effective_date -- Effective date of the Award Action
23 -- p_basic_pay -- Basic Pay as on the Award RPA effective date
24 -- p_adj_basic_pay -- Adjusted Basic Pay as on the Award RPA effective date
25 -- p_duty_station_id -- Duty station ID associated with the position
26
27 --
28 -- OUT Arguments:
29 -- p_award_salary
30 --
31 -- Post Success:
32 -- Processing goes back to the award_amount_calc process.
33 -- If the customer calculated award salary, they have to set
34 -- the p_award_salary with the calculated value.
35 --
36 -- Post Failure:
37 -- SQL failure:
38 -- Processing goes back to the award_amount_calc process:
39 -- The initial value of the p_award_salary will be returned
40 -- as the result.
41 -- Developer Implementation Notes:
42 -- Customer defined.
43 --
44 -- {End of Comments}
45 -- -----------------------------------------------------------------------------
46 -- ----------------------------------------------------------------------------
47 -- | Private Global Definitions |
48 -- ----------------------------------------------------------------------------
49 --
50 g_package varchar2(33) := 'ghr_custom_award.'; -- Global package name
51 --
52 -- ----------------------------------------------------------------------------
53 -- |-------------------------------< custom_award_salary >-------------------------|
54 -- ----------------------------------------------------------------------------
55 --
56 procedure custom_award_salary
57 (p_position_id IN NUMBER
58 ,p_person_id IN per_people_f.person_id%TYPE
59 ,p_prd IN ghr_pa_requests.pay_rate_determinant%TYPE
60 ,p_pay_basis IN VARCHAR2
61 ,p_pay_plan IN VARCHAR2
62 ,p_user_table_id IN NUMBER
63 ,p_grade_or_level IN VARCHAR2
64 ,p_effective_date IN DATE
65 ,p_basic_pay IN NUMBER
66 ,p_adj_basic_pay IN NUMBER
67 ,p_duty_station_id IN ghr_duty_stations_f.duty_station_id%TYPE
68 ,p_award_salary IN OUT NOCOPY NUMBER
69 ) IS
70 --
71 l_proc varchar2(72) := g_package||'custom_award_salary';
72 l_award_salary NUMBER;
73 --
74 Begin
75 hr_utility.set_location('Entering:'||l_proc, 5);
76 l_award_salary := p_award_salary;
77 --
78 /*************** Add custom code here **************/
79
80 -- /**************** EXAMPLE *********************************
81 -- below is an example of what you may code if you knew how
82 -- to calculate for example a pay plan of 'GL' . Hopefully it would be a bit more
83 -- complicated than this otherwise we could have done it!!!!
84 -- NOTE: You need to set ALL out parameters
85 -- l_award_salary := p_award_salary;
86 --IF p_pay_plan = 'GL' THEN
87 -- l_award_salary = l_award_salary + (l_award_salary * 0.1) --Giving 10% increase
88 --END IF;
89 -- ***********************************************************/
90 --
91 --
92 p_award_salary := NVL(l_award_salary,p_award_salary);
93 hr_utility.set_location('Leaving:'||l_proc, 10);
94 end custom_award_salary;
95 --
96 end ghr_custom_award;