DBA Data[Home] [Help]

PACKAGE BODY: APPS.GHR_POSN_RULES

Source


1 package body ghr_posn_rules  as
2 /* $Header: ghposrul.pkb 120.1 2010/09/01 09:49:55 utokachi ship $ */
3 procedure ghr_posn_drv
4      (
5       p_asg_sf52_type         in  ghr_api.asg_sf52_type
6      ,p_pos_grp1_type         in  ghr_api.pos_grp1_type
7      ,p_pos_grp2_type         in  ghr_api.pos_grp2_type
8      ,p_pos_oblig_type        in  ghr_api.pos_oblig_type
9      ,p_pos_valid_grade_type  in  ghr_api.pos_valid_grade_type
10      ,p_ghr_pa_requests       in  ghr_pa_requests%rowtype
11     )
12 is
13     p_grade          ghr_pa_requests.to_grade_or_level%type;
14     p_pay_plan       ghr_pa_requests.to_pay_plan%type;
15     p_target_grade   ghr_pa_requests.to_grade_or_level%type;
16     p_valid_grade    ghr_pa_requests.to_grade_or_level%type;
17     l_grade_or_level ghr_pa_requests.to_grade_or_level%type;
18     l_pay_plan       ghr_pa_requests.to_pay_plan%type;
19 
20     CURSOR cur_grd IS
21            SELECT  gdf.segment1 pay_plan
22                   ,gdf.segment2 grade_or_level
23            FROM    per_grade_definitions         gdf
24                   ,per_grades                    grd
25            WHERE   grd.grade_id              =   p_pos_valid_grade_type.target_grade
26            AND     grd.grade_definition_id   =   gdf.grade_definition_id;
27 
28 begin
29 
30    p_grade              := nvl(p_ghr_pa_requests.to_grade_or_level, p_ghr_pa_requests.from_grade_or_level);
31    p_pay_plan           := nvl(p_ghr_pa_requests.to_pay_plan, p_ghr_pa_requests.from_pay_plan);
32    p_valid_grade        := p_pay_plan||'-'||p_grade;
33 
34    open cur_grd;
35    fetch cur_grd into l_pay_plan, l_grade_or_level;
36    close cur_grd;
37    p_target_grade := l_pay_plan||'-'||l_grade_or_level;
38 
39 ghr_psn_pos_grp1_pk.ghr_psn_pos_grp1_pk_drv
40      (
41       p_grade                 =>  p_grade
42      ,p_pay_plan              =>  p_pay_plan
43      ,p_pos_grp1_type         =>  p_pos_grp1_type
44      ,p_pos_grp2_type         =>  p_pos_grp2_type
45      );
46 ghr_psn_psn_val_pkg2.ghr_psn_psn_val_pkg2_drv
47      (
48       p_grade                 =>  p_grade
49      ,p_pay_plan              =>  p_pay_plan
50      ,p_pos_grp1_type         =>  p_pos_grp1_type
51      ,p_pos_oblig_type        =>  p_pos_oblig_type
52      ,p_pos_valid_grade_type  =>  p_pos_valid_grade_type
53      ,p_target_grade          =>  p_target_grade
54      );
55 ghr_psn_psn_grp2_pkg.ghr_psn_psn_grp2_pkg_drv
56      (
57       p_pay_plan              =>  p_pay_plan
58      ,p_pos_grp2_type         =>  p_pos_grp2_type
59      );
60 end ghr_posn_drv;
61 end ghr_posn_rules;