[Home] [Help]
PACKAGE BODY: APPS.GHR_PSN_POS_GRP1_PK
Source
1 package body ghr_psn_pos_grp1_pk as
2 /* $Header: ghposrul.pkb 115.8 2003/07/03 08:31:57 ajose ship $ */
3 procedure ghr_psn_pos_grp1_pk_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_grp2_type in ghr_api.pos_grp2_type
9 )
10 is
11 begin
12 psn_flsa_cat
13 (
14 p_pos_grp1_type => p_pos_grp1_type
15 );
16 psn_flsa_cat_3
17 (
18 p_pay_plan => p_pay_plan
19 ,p_pos_grp1_type => p_pos_grp1_type
20 );
21 psn_funct_class_id_3
22 (
23 p_pos_grp1_type => p_pos_grp1_type
24 ,p_pos_grp2_type => p_pos_grp2_type
25 );
26 psn_pos_scty_acs_1
27 (
28 p_pos_grp1_type => p_pos_grp1_type
29 );
30 /* Commented as per Aug 2001 10.7 Patch
31 psn_supv_status_11
32 (
33 p_pay_plan => p_pay_plan
34 ,p_pos_grp1_type => p_pos_grp1_type
35 );
36 */
37 psn_supv_status_19
38 (
39 p_pay_plan => p_pay_plan
40 ,p_pos_grp1_type => p_pos_grp1_type
41 );
42 psn_supv_status_2
43 (
44 p_pay_plan => p_pay_plan
45 ,p_pos_grp1_type => p_pos_grp1_type
46 );
47 psn_supv_status_3
48 (
49 p_grade => p_grade
50 ,p_pay_plan => p_pay_plan
51 ,p_pos_grp1_type => p_pos_grp1_type
52 );
53 psn_supv_status_4
54 (
55 p_pay_plan => p_pay_plan
56 ,p_pos_grp1_type => p_pos_grp1_type
57 );
58 psn_supv_status_5
59 (
60 p_pay_plan => p_pay_plan
61 ,p_pos_grp1_type => p_pos_grp1_type
62 );
63 psn_supv_status_6
64 (
65 p_pay_plan => p_pay_plan
66 ,p_pos_grp1_type => p_pos_grp1_type
67 );
68 psn_supv_status_8
69 (
70 p_pay_plan => p_pay_plan
71 ,p_pos_grp1_type => p_pos_grp1_type
72 );
73 psn_supv_status_9
74 (
75 p_pay_plan => p_pay_plan
76 ,p_pos_grp1_type => p_pos_grp1_type
77 );
78 end ghr_psn_pos_grp1_pk_drv;
79 --
80 --
81 procedure psn_flsa_cat
82 (
83 p_pos_grp1_type in ghr_api.pos_grp1_type
84 )
85 is
86 begin
87 IF ( p_pos_grp1_type.flsa_category IS NULL)
88 THEN
89 hr_utility.set_message(8301, 'GHR_38420_POSN_RULES');
90 hr_utility.raise_error;
91 END IF;
92 end psn_flsa_cat;
93 --
94 procedure psn_flsa_cat_3
95 (
96 p_pay_plan in VARCHAR2
97 ,p_pos_grp1_type in ghr_api.pos_grp1_type
98 )
99 is
100 begin
101 IF ( p_pay_plan IN ('AL', 'CA', 'ES', 'EX', 'SL', 'ST')
102 AND p_pos_grp1_type.flsa_category <> 'E')
103 THEN
104 hr_utility.set_message(8301, 'GHR_38421_POSN_RULES');
105 hr_utility.raise_error;
106 END IF;
107 end psn_flsa_cat_3;
108 --
109 procedure psn_funct_class_id_3
110 (
111 p_pos_grp1_type in ghr_api.pos_grp1_type
112 ,p_pos_grp2_type in ghr_api.pos_grp2_type
113 )
114 is
115 begin
116 IF ( p_pos_grp2_type.training_program_id = '53'
117 AND p_pos_grp1_type.functional_class IS NULL)
118 THEN
119 hr_utility.set_message(8301, 'GHR_38424_POSN_RULES');
120 hr_utility.raise_error;
121 END IF;
122 end psn_funct_class_id_3;
123 --
124 procedure psn_pos_scty_acs_1
125 (
126 p_pos_grp1_type in ghr_api.pos_grp1_type
127 )
128 is
129 begin
130 IF ( p_pos_grp1_type.position_sensitivity <> '1'
131 AND p_pos_grp1_type.position_sensitivity IS NOT NULL
132 AND p_pos_grp1_type.security_access IS NULL)
133 THEN
134 hr_utility.set_message(8301, 'GHR_38425_POSN_RULES');
135 hr_utility.raise_error;
136 END IF;
137 end psn_pos_scty_acs_1;
138 --
139 /* Removed as per Aug 2001 10.7 Patch and patched in April 2002 Patch for 11i
140 procedure psn_supv_status_11
141 (
142 p_pay_plan in VARCHAR2
143 ,p_pos_grp1_type in ghr_api.pos_grp1_type
144 )
145 is
146 begin
147 IF ( p_pos_grp1_type.supervisory_status = '5'
148 AND p_pay_plan NOT IN ('AL','CA','GM','GS','SL','GG','GH','FT','FM','FG') )
149 THEN
150 hr_utility.set_message(8301, 'GHR_38429_POSN_RULES');
151 hr_utility.raise_error;
152 END IF;
153 end psn_supv_status_11;
154 */
155 --
156 procedure psn_supv_status_19
157 (
158 p_pay_plan in VARCHAR2
159 ,p_pos_grp1_type in ghr_api.pos_grp1_type
160 )
161 is
162 begin
163 IF ( p_pay_plan IN ('ES', 'EX', 'FE')
164 AND p_pos_grp1_type.supervisory_status NOT IN ('1','2', '3', '8'))
165 THEN
166 hr_utility.set_message(8301, 'GHR_38433_POSN_RULES');
167 hr_utility.raise_error;
168 END IF;
169 end psn_supv_status_19;
170 --
171 procedure psn_supv_status_2
172 (
173 p_pay_plan in VARCHAR2
174 ,p_pos_grp1_type in ghr_api.pos_grp1_type
175 )
176 is
177 begin
178 IF ( p_pay_plan IN ('WN', 'WS')
179 AND p_pos_grp1_type.supervisory_status NOT IN ('1','2','3'))
180 THEN
181 hr_utility.set_message(8301, 'GHR_38434_POSN_RULES');
182 hr_utility.raise_error;
183 END IF;
184 IF ( p_pay_plan = 'WG'
185 AND p_pos_grp1_type.supervisory_status NOT IN ('4','7','8'))
186 THEN
187 hr_utility.set_message(8301, 'GHR_38435_POSN_RULES');
188 hr_utility.raise_error;
189 END IF;
190 end psn_supv_status_2;
191 --
192 procedure psn_supv_status_3
193 (
194 p_grade in VARCHAR2
195 ,p_pay_plan in VARCHAR2
196 ,p_pos_grp1_type in ghr_api.pos_grp1_type
197 )
198 is
199 begin
200 IF ( p_pay_plan = 'GS'
201 AND p_grade IN ('01', '02', '03', '04')
202 AND p_pos_grp1_type.supervisory_status NOT IN ('4','6','8'))
203 THEN
204 hr_utility.set_message(8301, 'GHR_38436_POSN_RULES');
205 hr_utility.raise_error;
206 END IF;
207 end psn_supv_status_3;
208 --
209 procedure psn_supv_status_4
210 (
211 p_pay_plan in VARCHAR2
212 ,p_pos_grp1_type in ghr_api.pos_grp1_type
213 )
214 is
215 begin
216 -- Bug 2681833 -- Added code '7'
217 IF ( p_pay_plan <> 'GS'
218 AND p_pay_plan = 'GM'
219 AND p_pos_grp1_type.supervisory_status NOT IN ('1','2','3','4','5','7'))
220 THEN
221 hr_utility.set_message(8301, 'GHR_38437_POSN_RULES');
222 hr_utility.raise_error;
223 END IF;
224 end psn_supv_status_4;
225 --
226 procedure psn_supv_status_5
227 (
228 p_pay_plan in VARCHAR2
229 ,p_pos_grp1_type in ghr_api.pos_grp1_type
230 )
231 is
232 begin
233 IF ( p_pay_plan IN ('GW', 'WW', 'YW', 'YV', 'IP', 'DW')
234 AND p_pos_grp1_type.supervisory_status <> '8')
235 THEN
236 hr_utility.set_message(8301, 'GHR_38438_POSN_RULES');
237 hr_utility.raise_error;
238 END IF;
239 end psn_supv_status_5;
240 --
241 procedure psn_supv_status_6
242 (
243 p_pay_plan in VARCHAR2
244 ,p_pos_grp1_type in ghr_api.pos_grp1_type
245 )
246 is
247 begin
248 IF ( p_pos_grp1_type.supervisory_status NOT IN ('1','2')
249 AND p_pay_plan IN ('WA','WN', 'WS', 'WQ', 'XN', 'XS'))
250 THEN
251 hr_utility.set_message(8301, 'GHR_38439_POSN_RULES');
252 hr_utility.raise_error;
253 END IF;
254 end psn_supv_status_6;
255 --
256 procedure psn_supv_status_8
257 (
258 p_pay_plan in VARCHAR2
259 ,p_pos_grp1_type in ghr_api.pos_grp1_type
260 )
261 is
262 begin
263 IF ( p_pay_plan = 'WB'
264 AND p_pos_grp1_type.supervisory_status NOT IN ('1','2','6','8'))
265 THEN
266 hr_utility.set_message(8301, 'GHR_38440_POSN_RULES');
267 hr_utility.raise_error;
268 END IF;
269 end psn_supv_status_8;
270 --
271 procedure psn_supv_status_9
272 (
273 p_pay_plan in VARCHAR2
274 ,p_pos_grp1_type in ghr_api.pos_grp1_type
275 )
276 is
277 begin
278 IF ( p_pos_grp1_type.supervisory_status <> '6'
279 AND p_pay_plan IN ( 'LL', 'LX', 'ML', 'RL', 'WL', 'XL' ))
280 THEN
281 hr_utility.set_message(8301, 'GHR_38441_POSN_RULES');
282 hr_utility.raise_error;
283 END IF;
284 end psn_supv_status_9;
285 --
286 end ghr_psn_pos_grp1_pk;