[Home] [Help]
PACKAGE BODY: APPS.PER_GRS_BUS
Source
1 Package Body per_grs_bus as
2 /* $Header: pegrsrhi.pkb 115.3 2002/12/05 17:40:37 pkakar ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' per_grs_bus.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |-------------------< chk_cagr_grade_structure_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_structure_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 Procedure chk_cagr_grade_structure_id(p_cagr_grade_structure_id in number,
37 p_object_version_number in number,
38 p_effective_date in date) is
39 --
40 l_proc varchar2(72) := g_package||'chk_cagr_grade_structure_id';
41 l_api_updating boolean;
42 --
43 Begin
44 --
45 hr_utility.set_location('Entering:'||l_proc, 5);
46 --
47 l_api_updating := per_grs_shd.api_updating
48 (p_cagr_grade_structure_id => p_cagr_grade_structure_id,
49 p_object_version_number => p_object_version_number,
50 p_effective_date => p_effective_date);
51 --
52 if (l_api_updating
53 and nvl(p_cagr_grade_structure_id,hr_api.g_number)
54 <> per_grs_shd.g_old_rec.cagr_grade_structure_id) then
55 --
56 -- raise error as PK has changed
57 --
58 per_grs_shd.constraint_error('PER_CAGR_GRADE_STRUCTURES_PK');
59 --
60 elsif not l_api_updating then
61 --
62 -- check if PK is null
63 --
64 if p_cagr_grade_structure_id is not null then
65 --
66 -- raise error as PK is not null
67 --
68 per_grs_shd.constraint_error('PER_CAGR_GRADE_STRUCTURES_PK');
69 --
70 end if;
71 --
72 end if;
73 --
74 hr_utility.set_location('Leaving:'||l_proc, 10);
75 --
76 End chk_cagr_grade_structure_id;
77 --
78 -- ----------------------------------------------------------------------------
79 -- |--------------------< chk_collective_agreement_id >-----------------------|
80 -- ----------------------------------------------------------------------------
81 --
82 -- Desciption :
83 --
84 -- Validates that COLLECTIVE_AGREEMENT_ID is not null
85 --
86 -- Validates that values enterd for this column exist in the PER_COLLECTIVE_AGREEMENTS
87 -- table.
88 --
89 -- Pre-conditions:
90 --
91 -- In Arguments :
92 -- p_collective_agreement_id
93 --
94 -- Post Success :
95 -- If the above business rules are satisfied, processing continues
96 --
97 -- Post Failure :
98 -- If the above business rules are violated, an application error
99 -- is raised and processing terminates
100 --
101 -- Access Status :
102 -- Internal Table Handler Use only.
103 --
104 -- {End of Comments}
105 --
106 -- -----------------------------------------------------------------------
107 Procedure chk_collective_agreement_id
108 (p_collective_agreement_id in per_cagr_grade_structures.collective_agreement_id%TYPE
109 ) is
110 --
111 l_proc varchar2(72) := g_package||'chk_collective_agreement_id';
112 l_exists varchar2(2);
113 --
114 --
115 -- Cursor to check that COLLECTIVE_AGREEMENT_ID exists
116 --
117 cursor csr_valid_cagr_id is
118 select '1'
119 from per_collective_agreements per
120 where per.collective_agreement_id = p_collective_agreement_id;
121 --
122 begin
123 hr_utility.set_location('Entering:'||l_proc,5);
124 --
125 -- Perform COLLECTIVE_AGREEMENT_ID mandatory check
126 --
127 hr_api.mandatory_arg_error
128 (p_api_name => l_proc
129 ,p_argument => 'collective_agreement_id'
130 ,p_argument_value => p_collective_agreement_id
131 );
132 --
133 hr_utility.set_location(l_proc,10);
134 --
135 -- Check for valid COLLECTIVE_AGREEMENT_ID
136 --
137 open csr_valid_cagr_id;
138 fetch csr_valid_cagr_id
139 into l_exists;
140 if (csr_valid_cagr_id%notfound) then
141 --
142 close csr_valid_cagr_id;
143 --
144 hr_utility.set_message(800,'PER_52816_COLLECTIVE_AGREEMENT');
145 hr_utility.raise_error;
146 end if;
147 --
148 close csr_valid_cagr_id;
149 --
150 hr_utility.set_location('Leaving:'|| l_proc, 20);
151 end chk_collective_agreement_id;
152 --
153 -- ----------------------------------------------------------------------------
154 -- |--------------------< chk_id_flex_num >-----------------------------------|
155 -- ----------------------------------------------------------------------------
156 --
157 -- Desciption :
158 --
159 -- Validates that ID_FLEX_NUM is not null.
160 --
161 -- Validates that values enterd for this column exist in the
162 -- FND_ID_FLEX_STRUCTURES table.
163 --
164 -- Pre-conditions:
165 --
166 -- In Arguments :
167 --
168 -- p_id_flex_num
169 --
170 -- Post Success :
171 -- If the above business rules are satisfied, processing continues
172 --
173 -- Post Failure :
174 -- If the above business rules are violated, an application error
175 -- is raised and processing terminates
176 --
177 -- Access Status :
178 -- Internal Table Handler Use only.
179 --
180 -- {End of Comments}
181 --
182 -- -----------------------------------------------------------------------
183 Procedure chk_id_flex_num
184 (p_id_flex_num in fnd_id_flex_structures.id_flex_num%TYPE
185 ) is
186 --
187 l_proc varchar2(72) := g_package||'chk_id_flex_num';
188 l_exists varchar2(2);
189 --
190 -- Cursor to check that ID_FLEX_NUM exists
191 --
192 cursor csr_valid_id_flex_num is
193 select '1'
194 from fnd_id_flex_structures fnd
195 where fnd.id_flex_num = p_id_flex_num;
196 --
197 begin
198 hr_utility.set_location('Entering:'||l_proc,5);
199 --
200 -- Perform id_flex_num mandatory check
201 --
202 hr_api.mandatory_arg_error
203 (p_api_name => l_proc
204 ,p_argument => 'id_flex_num'
205 ,p_argument_value => p_id_flex_num
206 );
207 --
208 hr_utility.set_location(l_proc,10);
209 --
210 -- Check for valid ID_FLEX_NUM
211 --
212 open csr_valid_id_flex_num;
213 fetch csr_valid_id_flex_num
214 into l_exists;
215 if (csr_valid_id_flex_num%notfound) then
216 --
217 close csr_valid_id_flex_num;
218 --
219 hr_utility.set_message(800,'HR_51741_ANC_FLEX_NOT_EXIST');
220 hr_utility.raise_error;
221 end if;
222 --
223 close csr_valid_id_flex_num;
224 --
225 hr_utility.set_location('Leaving:'||l_proc, 10);
226 end chk_id_flex_num;
227 --
228 -- ----------------------------------------------------------------------------
229 -- |--------------------< chk_comb_flex_cagr >--------------------------------|
230 -- ----------------------------------------------------------------------------
231 --
232 -- Desciption :
233 --
234 -- Validates that the combinaison 'id_flex_num - collective_agreement_id'
235 -- does not exist.
236 --
237 -- Pre-conditions:
238 --
239 -- In Arguments :
240 --
241 -- p_id_flex_num
242 -- p_collective_agreement_id
243 --
244 -- Post Success :
245 -- If the above business rules are satisfied, processing continues
246 --
247 -- Post Failure :
248 -- If the above business rules are violated, an application error
249 -- is raised and processing terminates
250 --
251 -- Access Status :
252 -- Internal Table Handler Use only.
253 --
254 -- {End of Comments}
255 --
256 -- -----------------------------------------------------------------------
257 Procedure chk_comb_flex_cagr
258 (p_id_flex_num in per_cagr_grade_structures.id_flex_num%TYPE,
259 p_collective_agreement_id in per_cagr_grade_structures.collective_agreement_id%TYPE
260 ) is
261 --
262 l_proc varchar2(72) := g_package||'chk_comb_flex_cagr';
263 l_exists varchar2(2);
264 --
265 -- Cursor to check that ID_FLEX_NUM exists
266 --
267 cursor csr_comb_flex_cagr is
268 select '1'
269 from per_cagr_grade_structures pcg
270 where pcg.id_flex_num = p_id_flex_num
271 and pcg.collective_agreement_id = p_collective_agreement_id;
272 --
273 begin
274 hr_utility.set_location('Entering:'||l_proc,5);
275 --
276 -- Perform id_flex_num mandatory check
277 --
278 hr_api.mandatory_arg_error
279 (p_api_name => l_proc
280 ,p_argument => 'id_flex_num'
281 ,p_argument_value => p_id_flex_num
282 );
283 --
284 hr_utility.set_location(l_proc,10);
285 --
286 -- Perform COLLECTIVE_AGREEMENT_ID mandatory check
287 --
288 hr_api.mandatory_arg_error
289 (p_api_name => l_proc
290 ,p_argument => 'collective_agreement_id'
291 ,p_argument_value => p_collective_agreement_id
292 );
293 --
294 hr_utility.set_location(l_proc,15);
295 --
296 -- Check for valid combinaison
297 --
298 open csr_comb_flex_cagr;
299 fetch csr_comb_flex_cagr
300 into l_exists;
301 if (csr_comb_flex_cagr%found) then
302 --
303 close csr_comb_flex_cagr;
304 --
305 hr_utility.set_message(800,'PER_52808_CAGR_GRADE_EXISTS');
306 hr_utility.raise_error;
307 end if;
308 --
309 close csr_comb_flex_cagr;
310 --
311 hr_utility.set_location('Leaving:'||l_proc, 20);
312 end chk_comb_flex_cagr;
313 --
314 -- -----------------------------------------------------------------------
315 -- |------------------------------< chk_df >-----------------------------|
316 -- -----------------------------------------------------------------------
317 --
318 -- Description:
319 -- Validates the all Descriptive Flexfield values.
320 --
321 -- Pre-conditions:
322 -- All other columns have been validated. Must be called as the
323 -- last step from insert_validate and update_validate.
324 --
325 -- In Arguments:
326 -- p_rec
327 --
328 -- Post Success:
329 -- If the Descriptive Flexfield structure column and data values are
330 -- all valid this procedure will end normally and processing will
331 -- continue.
332 --
333 -- Post Failure:
334 -- If the Descriptive Flexfield structure column value or any of
335 -- the data values are invalid then an application error is raised as
336 -- a PL/SQL exception.
337 --
338 -- Access Status:
339 -- Internal Row Handler Use Only.
340 --
341 procedure chk_df
342 (p_rec in per_grs_shd.g_rec_type) is
343 --
344 l_proc varchar2(72) := g_package||'chk_df';
345 --
346 begin
347 hr_utility.set_location('Entering:'||l_proc, 10);
348 --
349 if ((p_rec.cagr_grade_structure_id is not null) and (
350 nvl(per_grs_shd.g_old_rec.attribute_category, hr_api.g_varchar2) <>
351 nvl(p_rec.attribute_category, hr_api.g_varchar2) or
352 nvl(per_grs_shd.g_old_rec.attribute1, hr_api.g_varchar2) <>
353 nvl(p_rec.attribute1, hr_api.g_varchar2) or
354 nvl(per_grs_shd.g_old_rec.attribute2, hr_api.g_varchar2) <>
355 nvl(p_rec.attribute2, hr_api.g_varchar2) or
356 nvl(per_grs_shd.g_old_rec.attribute3, hr_api.g_varchar2) <>
357 nvl(p_rec.attribute3, hr_api.g_varchar2) or
358 nvl(per_grs_shd.g_old_rec.attribute4, hr_api.g_varchar2) <>
359 nvl(p_rec.attribute4, hr_api.g_varchar2) or
360 nvl(per_grs_shd.g_old_rec.attribute5, hr_api.g_varchar2) <>
361 nvl(p_rec.attribute5, hr_api.g_varchar2) or
362 nvl(per_grs_shd.g_old_rec.attribute6, hr_api.g_varchar2) <>
363 nvl(p_rec.attribute6, hr_api.g_varchar2) or
364 nvl(per_grs_shd.g_old_rec.attribute7, hr_api.g_varchar2) <>
365 nvl(p_rec.attribute7, hr_api.g_varchar2) or
366 nvl(per_grs_shd.g_old_rec.attribute8, hr_api.g_varchar2) <>
367 nvl(p_rec.attribute8, hr_api.g_varchar2) or
368 nvl(per_grs_shd.g_old_rec.attribute9, hr_api.g_varchar2) <>
369 nvl(p_rec.attribute9, hr_api.g_varchar2) or
370 nvl(per_grs_shd.g_old_rec.attribute10, hr_api.g_varchar2) <>
371 nvl(p_rec.attribute10, hr_api.g_varchar2) or
372 nvl(per_grs_shd.g_old_rec.attribute11, hr_api.g_varchar2) <>
373 nvl(p_rec.attribute11, hr_api.g_varchar2) or
374 nvl(per_grs_shd.g_old_rec.attribute12, hr_api.g_varchar2) <>
375 nvl(p_rec.attribute12, hr_api.g_varchar2) or
376 nvl(per_grs_shd.g_old_rec.attribute13, hr_api.g_varchar2) <>
377 nvl(p_rec.attribute13, hr_api.g_varchar2) or
378 nvl(per_grs_shd.g_old_rec.attribute14, hr_api.g_varchar2) <>
379 nvl(p_rec.attribute14, hr_api.g_varchar2) or
380 nvl(per_grs_shd.g_old_rec.attribute15, hr_api.g_varchar2) <>
381 nvl(p_rec.attribute15, hr_api.g_varchar2) or
382 nvl(per_grs_shd.g_old_rec.attribute16, hr_api.g_varchar2) <>
383 nvl(p_rec.attribute16, hr_api.g_varchar2) or
384 nvl(per_grs_shd.g_old_rec.attribute17, hr_api.g_varchar2) <>
385 nvl(p_rec.attribute17, hr_api.g_varchar2) or
386 nvl(per_grs_shd.g_old_rec.attribute18, hr_api.g_varchar2) <>
387 nvl(p_rec.attribute18, hr_api.g_varchar2) or
388 nvl(per_grs_shd.g_old_rec.attribute19, hr_api.g_varchar2) <>
389 nvl(p_rec.attribute19, hr_api.g_varchar2) or
390 nvl(per_grs_shd.g_old_rec.attribute20, hr_api.g_varchar2) <>
391 nvl(p_rec.attribute20, hr_api.g_varchar2)))
392 or
393 (p_rec.cagr_grade_structure_id is null) then
394 --
395 -- Only execute the validation if absolutely necessary:
396 -- a) During update, the structure column value or any
397 -- of the attribute values have actually changed.
398 -- b) During insert.
399 --
400 hr_dflex_utility.ins_or_upd_descflex_attribs
401 (p_appl_short_name => 'PER'
402 ,p_descflex_name => 'PER_CAGR_GRADE_STRUCTURES'
403 ,p_attribute_category => p_rec.attribute_category
404 ,p_attribute1_name => 'ATTRIBUTE1'
405 ,p_attribute1_value => p_rec.attribute1
406 ,p_attribute2_name => 'ATTRIBUTE2'
407 ,p_attribute2_value => p_rec.attribute2
408 ,p_attribute3_name => 'ATTRIBUTE3'
409 ,p_attribute3_value => p_rec.attribute3
410 ,p_attribute4_name => 'ATTRIBUTE4'
411 ,p_attribute4_value => p_rec.attribute4
412 ,p_attribute5_name => 'ATTRIBUTE5'
413 ,p_attribute5_value => p_rec.attribute5
414 ,p_attribute6_name => 'ATTRIBUTE6'
415 ,p_attribute6_value => p_rec.attribute6
416 ,p_attribute7_name => 'ATTRIBUTE7'
417 ,p_attribute7_value => p_rec.attribute7
418 ,p_attribute8_name => 'ATTRIBUTE8'
419 ,p_attribute8_value => p_rec.attribute8
420 ,p_attribute9_name => 'ATTRIBUTE9'
424 ,p_attribute11_name => 'ATTRIBUTE11'
421 ,p_attribute9_value => p_rec.attribute9
422 ,p_attribute10_name => 'ATTRIBUTE10'
423 ,p_attribute10_value => p_rec.attribute10
425 ,p_attribute11_value => p_rec.attribute11
426 ,p_attribute12_name => 'ATTRIBUTE12'
427 ,p_attribute12_value => p_rec.attribute12
428 ,p_attribute13_name => 'ATTRIBUTE13'
429 ,p_attribute13_value => p_rec.attribute13
430 ,p_attribute14_name => 'ATTRIBUTE14'
431 ,p_attribute14_value => p_rec.attribute14
432 ,p_attribute15_name => 'ATTRIBUTE15'
433 ,p_attribute15_value => p_rec.attribute15
434 ,p_attribute16_name => 'ATTRIBUTE16'
435 ,p_attribute16_value => p_rec.attribute16
436 ,p_attribute17_name => 'ATTRIBUTE17'
437 ,p_attribute17_value => p_rec.attribute17
438 ,p_attribute18_name => 'ATTRIBUTE18'
439 ,p_attribute18_value => p_rec.attribute18
440 ,p_attribute19_name => 'ATTRIBUTE19'
441 ,p_attribute19_value => p_rec.attribute19
442 ,p_attribute20_name => 'ATTRIBUTE20'
443 ,p_attribute20_value => p_rec.attribute20
444 );
445 end if;
446 --
447 hr_utility.set_location(' Leaving:'||l_proc, 20);
448 end chk_df;
449 --
450 -- ---------------------------------------------------------------------------
451 -- |-----------------< chk_dynamic_insert_allowed >--------------------------|
452 -- ---------------------------------------------------------------------------
453 --
454 -- Description:
455 -- Check that the passed in lookup code exists in fnd_lookups for the with an
456 -- enabled flag set to 'Y' .
457 --
458 -- Pre-conditions:
459 -- None
460 --
461 -- In Arguments:
462 -- p_dynamic_insert_allowed
463 -- p_effective_date
464 --
465 -- Post Success:
466 -- If lookup exists and can be derived then processing
467 -- continues
468 --
469 -- Post Failure:
470 -- If lookup is not valid or cannot be derived then an
471 -- application error is raised and processing is terminated
472 --
473 -- Access Status:
474 -- Internal Row Handler Use Only.
475 --
476 procedure chk_dynamic_insert_allowed
477 (p_cagr_grade_structure_id in per_cagr_grade_structures.cagr_grade_structure_id%TYPE
478 ,p_dynamic_insert_allowed in per_cagr_grade_structures.dynamic_insert_allowed%TYPE
479 ,p_effective_date in date
480 ,p_object_version_number in per_cagr_grade_structures.object_version_number%TYPE
481 ) is
482 --
483 l_proc varchar2(72) := g_package||'chk_dynamic_insert_allowed';
484 l_exists varchar2(1);
485 l_api_updating boolean;
486 --
487 begin
488 hr_utility.set_location('Entering:'|| l_proc, 10);
489 --
490 -- Check mandatory parameters have been set
491 --
492 hr_api.mandatory_arg_error
493 (p_api_name => l_proc
494 ,p_argument => 'effective_date'
495 ,p_argument_value => p_effective_date
496 );
497 --
498 hr_api.mandatory_arg_error
499 (p_api_name => l_proc
500 ,p_argument => 'dynamic_insert_allowed'
501 ,p_argument_value => p_dynamic_insert_allowed
502 );
503 --
504 hr_utility.set_location(l_proc, 20);
505 --
506 l_api_updating := per_grs_shd.api_updating
507 (p_cagr_grade_structure_id => p_cagr_grade_structure_id
508 ,p_object_version_number => p_object_version_number
509 ,p_effective_date => p_effective_date
510 );
511 --
512 hr_utility.set_location(l_proc, 30);
513 --
514 if ((l_api_updating and
515 nvl(per_grs_shd.g_old_rec.dynamic_insert_allowed, hr_api.g_varchar2)<>
516 nvl(p_dynamic_insert_allowed, hr_api.g_varchar2))
517 or (NOT l_api_updating))
518 then
519 hr_utility.set_location(l_proc, 40);
520 --
521 --
522 -- Check that the type exists in hr_lookups for the
523 -- lookup type 'YES_NO' with an enabled flag set to 'Y'.
524 --
525 if hr_api.not_exists_in_fnd_lookups
526 (p_effective_date => p_effective_date
527 ,p_lookup_type => 'YES_NO'
528 ,p_lookup_code => p_dynamic_insert_allowed
529 )
530 then
531 --
532 hr_utility.set_message(800, 'PER_52614_GRS_INV_DYNAMIC_INS');
533 hr_utility.raise_error;
534 --
535 end if;
536 --
537 end if;
538 --
539 hr_utility.set_location(' Leaving:'|| l_proc, 60);
540 --
541 end chk_dynamic_insert_allowed;
542 --
543 -- ---------------------------------------------------------------------------
544 -- |-----------------------< chk_cagr_grades_exists>------------------------|
545 -- ---------------------------------------------------------------------------
546 --
547 -- Description:
548 -- Procedure checks whether the given cagr grade structures is referenced by
549 -- any cagr grades.
550 --
551 -- Pre-conditions:
552 -- None
553 --
554 -- In Arguments:
555 -- p_cagr_grade_structure_id
556 --
560 -- Post Failure :
557 -- Post Success :
558 -- If the above business rules are satisfied, processing continues
559 --
561 -- If the above business rules are violated, an application error
562 -- is raised and processing terminates
563 --
564 -- Access Status:
565 -- Internal Development Use Only.
566 --
567 Procedure chk_cagr_grades_exists
568 (p_cagr_grade_structure_id in per_cagr_grades.cagr_grade_structure_id%TYPE) is
569 --
570 cursor csr_cagr_grade is
571 select '1' from per_cagr_grades
572 where cagr_grade_structure_id = p_cagr_grade_structure_id;
573 --
574 l_proc varchar2(72) := g_package||'chk_cagr_grades_exists';
575 l_exists varchar2(1);
576 --
577 begin
578 --
579 hr_utility.set_location('Entering:'|| l_proc, 10);
580 --
581 -- Perform CAGR_GRADE_STRUCTURE_ID mandatory check
582 --
583 hr_api.mandatory_arg_error
584 (p_api_name => l_proc
585 ,p_argument => 'cagr_grade_structure_id'
586 ,p_argument_value => p_cagr_grade_structure_id
587 );
588 --
589 hr_utility.set_location(l_proc,10);
590 --
591 -- Check for valid CAGR_GRADE_STRUCTURE_ID
592 --
593 open csr_cagr_grade;
594 fetch csr_cagr_grade
595 into l_exists;
596 if (csr_cagr_grade%found) then
597 --
598 close csr_cagr_grade;
599 --
600 hr_utility.set_message(800,'PER_52615_GRS_DEL_GRA');
601 hr_utility.raise_error;
602 end if;
603 --
604 close csr_cagr_grade;
605 --
606 hr_utility.set_location('Leaving:'|| l_proc, 20);
607 --
608 end chk_cagr_grades_exists;
609 --
610 -- ----------------------------------------------------------------------------
611 -- |---------------------------< insert_validate >----------------------------|
612 -- ----------------------------------------------------------------------------
613 Procedure insert_validate(p_effective_date in date,
614 p_rec in per_grs_shd.g_rec_type) is
615 --
616 l_proc varchar2(72) := g_package||'insert_validate';
617 --
618 Begin
619 hr_utility.set_location('Entering:'||l_proc, 5);
620 --
621 -- Call all supporting business operations
622 --
623 chk_cagr_grade_structure_id
624 (p_cagr_grade_structure_id => p_rec.cagr_grade_structure_id,
625 p_object_version_number => p_rec.object_version_number,
626 p_effective_date => p_effective_date);
627 --
628 chk_collective_agreement_id
629 (p_collective_agreement_id => p_rec.collective_agreement_id);
630 --
631 chk_id_flex_num
632 (p_id_flex_num => p_rec.id_flex_num);
633 --
634 chk_comb_flex_cagr
635 (p_collective_agreement_id => p_rec.collective_agreement_id,
636 p_id_flex_num => p_rec.id_flex_num);
637 --
638 chk_df
639 (p_rec => p_rec);
640 --
641 chk_dynamic_insert_allowed
642 (p_cagr_grade_structure_id => p_rec.cagr_grade_structure_id
643 ,p_dynamic_insert_allowed => p_rec.dynamic_insert_allowed
644 ,p_effective_date => p_effective_date
645 ,p_object_version_number => p_rec.object_version_number
646 );
647 --
648 --
649 --
650 hr_utility.set_location(' Leaving:'||l_proc, 10);
651 End insert_validate;
652 --
653 -- ----------------------------------------------------------------------------
654 -- |---------------------------< update_validate >----------------------------|
655 -- ----------------------------------------------------------------------------
656 Procedure update_validate( p_effective_date in date,
657 p_rec in per_grs_shd.g_rec_type) is
658 --
659 l_proc varchar2(72) := g_package||'update_validate';
660 --
661 Begin
662 hr_utility.set_location('Entering:'||l_proc, 5);
663 --
664 -- Call all supporting business operations
665 --
666 chk_cagr_grade_structure_id
667 (p_cagr_grade_structure_id => p_rec.cagr_grade_structure_id,
668 p_object_version_number => p_rec.object_version_number,
669 p_effective_date => p_effective_date);
670 --
671 chk_collective_agreement_id
672 (p_collective_agreement_id => p_rec.collective_agreement_id);
673 --
674 chk_id_flex_num
675 (p_id_flex_num => p_rec.id_flex_num);
676 --
677 chk_df
678 (p_rec => p_rec);
679 --
680 chk_dynamic_insert_allowed
681 (p_cagr_grade_structure_id => p_rec.cagr_grade_structure_id
682 ,p_dynamic_insert_allowed => p_rec.dynamic_insert_allowed
683 ,p_effective_date => p_effective_date
684 ,p_object_version_number => p_rec.object_version_number);
685 --
686 hr_utility.set_location(' Leaving:'||l_proc, 10);
687 --
688 End update_validate;
689 --
690 -- ----------------------------------------------------------------------------
691 -- |---------------------------< delete_validate >----------------------------|
692 -- ----------------------------------------------------------------------------
693 Procedure delete_validate(p_effective_date in date,
694 p_rec in per_grs_shd.g_rec_type) is
695 --
696 l_proc varchar2(72) := g_package||'delete_validate';
697 --
698 Begin
699 hr_utility.set_location('Entering:'||l_proc, 5);
700 --
701 -- Call all supporting business operations
702 --
706 hr_utility.set_location(' Leaving:'||l_proc, 10);
703 chk_cagr_grades_exists
704 (p_cagr_grade_structure_id => p_rec.cagr_grade_structure_id);
705 --
707 End delete_validate;
708 --
709 end per_grs_bus;