[Home] [Help]
PACKAGE BODY: APPS.PER_GRA_BUS
Source
1 Package Body per_gra_bus as
2 /* $Header: pegrarhi.pkb 115.4 2003/08/31 00:48:34 kjagadee ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' per_gra_bus.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------< chk_cagr_grade_id >-------------------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- Description
15 -- This procedure is used to check that the primary key for the table
16 -- is created properly. It should be null on insert and
17 -- should not be able to be updated.
18 --
19 -- Pre Conditions
20 -- None.
21 --
22 -- In Parameters
23 -- cagr_grade_id PK of record being inserted or updated.
24 -- object_version_number Object version number of record being
25 -- inserted or updated.
26 --
27 -- Post Success
28 -- Processing continues
29 --
30 -- Post Failure
31 -- Errors handled by the procedure
32 --
33 -- Access Status
34 -- Internal table handler use only.
35 --
36 --
37 -- {End Of Comments}
38 -- ----------------------------------------------------------------------------
39 Procedure chk_cagr_grade_id(p_cagr_grade_id in number,
40 p_object_version_number in number,
41 p_effective_date in date) is
42 --
43 l_proc varchar2(72) := g_package||'chk_cagr_grade_id';
44 l_api_updating boolean;
45 --
46 Begin
47 --
48 hr_utility.set_location('Entering:'||l_proc, 5);
49 --
50 l_api_updating := per_gra_shd.api_updating
51 (p_cagr_grade_id => p_cagr_grade_id,
52 p_object_version_number => p_object_version_number,
53 p_effective_date => p_effective_date);
54 --
55 if (l_api_updating
56 and nvl(p_cagr_grade_id,hr_api.g_number)
57 <> per_gra_shd.g_old_rec.cagr_grade_id) then
58 --
59 -- raise error as PK has changed
60 --
61 per_gra_shd.constraint_error('PER_CAGR_GRADES_PK');
62 --
63 elsif not l_api_updating then
64 --
65 -- check if PK is null
66 --
67 if p_cagr_grade_id is not null then
68 --
69 -- raise error as PK is not null
70 --
71 per_gra_shd.constraint_error('PER_CAGR_GRADES_PK');
72 --
73 end if;
74 --
75 end if;
76 --
77 hr_utility.set_location('Leaving:'||l_proc, 10);
78 --
79 End chk_cagr_grade_id;
80 --
81 -- ----------------------------------------------------------------------------
82 -- |---------------------< chk_cagr_grade_structure_id >----------------------|
83 -- ----------------------------------------------------------------------------
84 -- Desciption :
85 --
86 -- Validates CAGR_GRADE_STRUCTURE_ID must be not null.
87 -- Validates that CAGR_GRADE_STRUCTURE_ID exits.
88 --
89 -- Pre-conditions:
90 --
91 --
92 -- In Arguments :
93 -- p_cagr_grade_structure_id
94 --
95 -- Post Success
96 -- Processing continues
97 --
98 -- Post Failure
99 -- Errors handled by the procedure
100 --
101 -- Access Status
102 -- Internal table handler use only.
103 --
104 --
105 -- {End Of Comments}
106 -- ----------------------------------------------------------------------------
107
108 procedure chk_cagr_grade_structure_id(
109 p_cagr_grade_structure_id IN NUMBER
110 ) is
111 --
112 cursor crs_cgs is
113 SELECT '1'
114 FROM per_cagr_grade_structures cgs
115 wHERE cgs.cagr_grade_structure_id = p_cagr_grade_structure_id;
116 --
117 l_proc varchar2(72) := g_package||'chk_cagr_grade_structure_id';
118 l_exists VARCHAR2(2);
119 --
120 BEGIN
121 --
122 hr_utility.set_location('Entering:'||l_proc, 5);
123 --
124 hr_api.mandatory_arg_error
125 (p_api_name => l_proc,
126 p_argument => 'cagr_grade_structure_id',
127 p_argument_value => p_cagr_grade_structure_id);
128 --
129 hr_utility.set_location(l_proc,10);
130 --
131 OPEN crs_cgs;
132 --
133 FETCH crs_cgs INTO l_exists;
134 hr_utility.set_location(l_proc,15);
135 IF crs_cgs%notfound THEN
136 fnd_message.set_name('PER','PER_52810_INVALID_STRUCTURE');
137 CLOSE crs_cgs;
138 fnd_message.raise_error;
139 END IF;
140 CLOSE crs_cgs;
141 --
142 hr_utility.set_location('Leaving:'||l_proc, 20);
143 --
144 END chk_cagr_grade_structure_id;
145 --
146 -- ----------------------------------------------------------------------------
147 -- |---------------------< chk_cagr_grade_def_id >----------------------------|
148 -- ----------------------------------------------------------------------------
149 -- Desciption :
150 --
151 -- Validates CAGR_GRADE_DEF_ID must be not null.
152 -- Validates that CAGR_GRADE_DEF_ID exits.
153 --
154 -- Pre-conditions:
155 --
156 --
157 -- In Arguments :
158 -- p_cagr_grade_def_id
159 --
160 -- Post Success
161 -- Processing continues
162 --
163 -- Post Failure
164 -- Errors handled by the procedure
165 --
166 -- Access Status
167 -- Internal table handler use only.
168 --
169 --
170 -- {End Of Comments}
171 -- ----------------------------------------------------------------------------
172 procedure chk_cagr_grade_def_id(
173 p_cagr_grade_def_id IN NUMBER
174 ) is
175 --
176 cursor crs_cgd is
177 SELECT '1'
178 FROM per_cagr_grades_def cgs
179 wHERE cgs.cagr_grade_def_id = p_cagr_grade_def_id;
180 --
181 l_proc varchar2(72) := g_package||'chk_cagr_grade_def_id';
182 l_exists VARCHAR2(2);
183 --
184 BEGIN
185 --
186 hr_utility.set_location('Entering:'||l_proc, 5);
187 --
188 hr_api.mandatory_arg_error
189 (p_api_name => l_proc,
190 p_argument => 'cagr_grade_def_id',
191 p_argument_value => p_cagr_grade_def_id);
192 --
193 hr_utility.set_location(l_proc,10);
194 --
195 OPEN crs_cgd;
196 --
197 FETCH crs_cgd INTO l_exists;
198 hr_utility.set_location(l_proc,15);
199 IF crs_cgd%notfound THEN
200 fnd_message.set_name('PER','PER_52616_INVALID_GRADE_DEF');
201 CLOSE crs_cgd;
202 fnd_message.raise_error;
203 END IF;
204 CLOSE crs_cgd;
205 --
206 hr_utility.set_location('Leaving:'||l_proc, 20);
207 --
208 END chk_cagr_grade_def_id;
209 --
210 -- ----------------------------------------------------------------------------
211 -- |------------------------< chk_sequence >-----------------------------------|
212 -- ---------------------------------------------------------------------------
213 -- Desciption :
214 --
215 -- Validates SEQUENCE must be not null.
216 -- Validates that SEQUENCE does not exit for a same structure.
217 --
218 -- Pre-conditions:
219 --
220 --
221 -- In Arguments :
222 -- p_cagr_grade_id
223 -- p_sequence
224 -- p_cagr_grades_structure_id
225 --
226 -- Post Success
227 -- Processing continues
228 --
229 -- Post Failure
230 -- Errors handled by the procedure
231 --
232 -- Access Status
233 -- Internal table handler use only.
234 --
235 --
236 -- {End Of Comments}
237 -- ----------------------------------------------------------------------------
238 procedure chk_sequence(
239 p_cagr_grade_id IN NUMBER,
240 p_sequence IN NUMBER,
241 p_cagr_grade_structure_id IN NUMBER
242 ) IS
243 --
244 cursor c_all_seq IS
245 SELECT '1'
246 FROM per_cagr_grades cgs
247 wHERE cgs.cagr_grade_structure_id = p_cagr_grade_structure_id
248 AND cgs.sequence = p_sequence
249 AND (p_cagr_grade_id <> cgs.cagr_grade_id
250 OR p_cagr_grade_id IS NULL);
251 --
252 l_proc varchar2(72) := g_package||'chk_seq';
253 l_exists VARCHAR2(2);
254 --
255 BEGIN
256 --
257 hr_utility.set_location('Entering:'||l_proc, 5);
258 --
259 hr_api.mandatory_arg_error
260 (p_api_name => l_proc,
261 p_argument => 'sequence',
262 p_argument_value => p_sequence);
263 --
264 hr_utility.set_location(l_proc,10);
265 --
266 OPEN c_all_seq;
267 --
268 FETCH c_all_seq INTO l_exists;
269 hr_utility.set_location(l_proc,15);
270 IF c_all_seq%FOUND THEN
271 fnd_message.set_name('PAY','HR_7127_GRADE_DUP_SEQ');
272 CLOSE c_all_seq;
273 fnd_message.raise_error;
274 END IF;
275 CLOSE c_all_seq;
276 --
277 if p_sequence < 0 then
278 fnd_message.set_name('PAY','PER_7833_DEF_GRADE_SEQUENCE');
279 fnd_message.raise_error;
280 end if;
281 --
282 hr_utility.set_location('Leaving:'||l_proc, 20);
283 --
284 END chk_sequence;
285 --
286 -- ----------------------------------------------------------------------------
287 -- |---------------------------< insert_validate >----------------------------|
288 -- ----------------------------------------------------------------------------
289 Procedure insert_validate(p_rec in per_gra_shd.g_rec_type,
290 p_effective_date in date) is
291 --
292 l_proc varchar2(72) := g_package||'insert_validate';
293 --
294 Begin
295 hr_utility.set_location('Entering:'||l_proc, 5);
296 --
297 -- Call all supporting business operations
298 --
299 chk_cagr_grade_id
300 (p_cagr_grade_id => p_rec.cagr_grade_id,
301 p_object_version_number => p_rec.object_version_number,
302 p_effective_date => p_effective_date);
303 --
304 chk_cagr_grade_structure_id
305 (p_cagr_grade_structure_id => p_rec.cagr_grade_structure_id);
306 --
307 chk_cagr_grade_def_id
308 (p_cagr_grade_def_id => p_rec.cagr_grade_def_id);
309 --
310 chk_sequence
311 (p_cagr_grade_id => p_rec.cagr_grade_id,
312 p_sequence => p_rec.sequence,
313 p_cagr_grade_structure_id => p_rec.cagr_grade_structure_id);
314 --
315 --
316 hr_utility.set_location(' Leaving:'||l_proc, 10);
317 End insert_validate;
318 --
319 -- ----------------------------------------------------------------------------
320 -- |---------------------------< update_validate >----------------------------|
321 -- ----------------------------------------------------------------------------
322 Procedure update_validate(p_rec in per_gra_shd.g_rec_type,
323 p_effective_date in date) is
324 --
325 l_proc varchar2(72) := g_package||'update_validate';
326 --
327 Begin
328 hr_utility.set_location('Entering:'||l_proc, 5);
329 --
330 -- Call all supporting business operations
331 --
332 chk_cagr_grade_id
333 (p_cagr_grade_id => p_rec.cagr_grade_id,
334 p_object_version_number => p_rec.object_version_number,
335 p_effective_date => p_effective_date);
336 --
337 chk_cagr_grade_structure_id
338 (p_cagr_grade_structure_id => p_rec.cagr_grade_structure_id);
339 --
340 chk_cagr_grade_def_id
341 (p_cagr_grade_def_id => p_rec.cagr_grade_def_id);
342 --
343 chk_sequence
344 (p_cagr_grade_id => p_rec.cagr_grade_id,
345 p_sequence => p_rec.sequence,
346 p_cagr_grade_structure_id => p_rec.cagr_grade_structure_id);
347 --
348 --
349 hr_utility.set_location(' Leaving:'||l_proc, 10);
350 End update_validate;
351 --
352 -- ----------------------------------------------------------------------------
353 -- |---------------------------< delete_validate >----------------------------|
354 -- ----------------------------------------------------------------------------
355 Procedure delete_validate(p_rec in per_gra_shd.g_rec_type,
356 p_effective_date in date) is
357 --
358 l_proc varchar2(72) := g_package||'delete_validate';
359 --
360 Begin
361 hr_utility.set_location('Entering:'||l_proc, 5);
362 --
363 -- Call all supporting business operations
364 --
365 hr_utility.set_location(' Leaving:'||l_proc, 10);
366 End delete_validate;
367 --
368 end per_gra_bus;