DBA Data[Home] [Help]

PACKAGE BODY: APPS.GHR_PSN_PSN_VAL_PKG2

Source


1 package body ghr_psn_psn_val_pkg2 as
2 /* $Header: ghposrul.pkb 115.8 2003/07/03 08:31:57 ajose ship $ */
3 procedure ghr_psn_psn_val_pkg2_drv
4      (
5       p_grade   in  VARCHAR2
6      ,p_pay_plan  in  VARCHAR2
7      ,p_pos_grp1_type  in  ghr_api.pos_grp1_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_target_grade  in  VARCHAR2
11      )
12 is
13 begin
14 posn_oblig_2
15      (
16       p_pos_oblig_type  =>  p_pos_oblig_type
17      );
18 psn_grade_9
19      (
20       p_grade   =>  p_grade
21      ,p_pay_plan  =>  p_pay_plan
22      );
23 psn_pay_basis_1
24      (
25       p_pay_plan  =>  p_pay_plan
26      ,p_pos_valid_grade_type  =>  p_pos_valid_grade_type
27      );
28 psn_pay_plan_grade_3
29      (
30       p_grade   =>  p_grade
31      ,p_target_grade  =>  p_target_grade
32      );
33 target_gr_civ5
34      (
35       p_target_grade  =>  p_target_grade
36      );
37 psn_asg_work_sch
38      (
39       p_pos_grp1_type  =>  p_pos_grp1_type
40      );
41 end ghr_psn_psn_val_pkg2_drv;
42 --
43 procedure posn_oblig_2
44      (
45       p_pos_oblig_type  in  ghr_api.pos_oblig_type
46      )
47 is
48 begin
49    IF ( p_pos_oblig_type.expiration_date IS NULL
50      AND p_pos_oblig_type.obligation_type IN  ('C', 'E', 'M', 'N', 'S', 'T'))
51     THEN
52         hr_utility.set_message(8301, 'GHR_38456_POSN_RULES');
53         hr_utility.raise_error;
54    END IF;
55 end posn_oblig_2;
56 --
57 procedure psn_asg_work_sch
58      (
59       p_pos_grp1_type  in  ghr_api.pos_grp1_type
60      )
61 is
62 begin
63    IF (  p_pos_grp1_type.work_schedule in ('F','G','B','I','J')
64      AND p_pos_grp1_type.part_time_hours IS NOT NULL)
65     THEN
66         hr_utility.set_message(8301, 'GHR_38427_POSN_RULES');
67         hr_utility.raise_error;
68    END IF;
69 end psn_asg_work_sch;
70 --
71 procedure psn_grade_9
72      (
73       p_grade   in  VARCHAR2
74      ,p_pay_plan  in  VARCHAR2
75      )
76 is
77 begin
78    IF ( p_pay_plan IN ( 'GH', 'GM')
79      AND p_grade  NOT IN ('13', '14', '15') )
80     THEN
81         hr_utility.set_message(8301, 'GHR_38458_POSN_RULES');
82         hr_utility.raise_error;
83    END IF;
84 end psn_grade_9;
85 --
86 procedure psn_pay_basis_1
87      (
88       p_pay_plan  in  VARCHAR2
89      ,p_pos_valid_grade_type  in  ghr_api.pos_valid_grade_type
90      )
91 is
92 begin
93    IF ( p_pay_plan IN ('WG', 'WL', 'WS', 'YV', 'YW')
94      AND p_pos_valid_grade_type.pay_basis <> 'PH')
95     THEN
96         hr_utility.set_message(8301, 'GHR_38461_POSN_RULES');
97         hr_utility.raise_error;
98    END IF;
99 end psn_pay_basis_1;
100 --
101 procedure psn_pay_plan_grade_3
102      (
103       p_grade   in  VARCHAR2
104      ,p_target_grade  in  VARCHAR2
105      )
106 is
107 begin
108    IF ( SUBSTR(p_target_grade, 4, 2) < p_grade )
109     THEN
110         hr_utility.set_message(8301, 'GHR_38463_POSN_RULES');
111         hr_utility.raise_error;
112    END IF;
113 end psn_pay_plan_grade_3;
114 --
115 procedure target_gr_civ5
116      (
117       p_target_grade  in  VARCHAR2
118      )
119 is
120 begin
121    IF ( SUBSTR(p_target_grade, 4, 2) > '05'
122      AND SUBSTR(p_target_grade, 1, 2) IN ('EX', 'WW'))
123     THEN
124         hr_utility.set_message(8301, 'GHR_38469_POSN_RULES');
125         hr_utility.raise_error;
126    END IF;
127    IF ( SUBSTR(p_target_grade, 4, 2) > '15'
128      AND SUBSTR(p_target_grade, 1, 2) IN ('GG', 'GH', 'GM', 'GS', 'RL', 'RM', 'WG', 'WL', 'XD', 'XL', 'XP'))
129     THEN
130         hr_utility.set_message(8301, 'GHR_38470_POSN_RULES');
131         hr_utility.raise_error;
132    END IF;
133    IF ( SUBSTR(p_target_grade, 4, 2) > '19'
134      AND SUBSTR(p_target_grade, 1, 2) IN ('SX', 'WS', 'XN', 'XS'))
135     THEN
136         hr_utility.set_message(8301, 'GHR_38471_POSN_RULES');
137         hr_utility.raise_error;
138    END IF;
139 end target_gr_civ5;
140 --
141 end ghr_psn_psn_val_pkg2;