1 Package Body ben_cso_bus as
2 /* $Header: becsorhi.pkb 115.0 2003/03/17 13:37:07 csundar noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_cso_bus.'; -- Global package name
9 --
10 -- The following two global variables are only to be
11 -- used by the return_legislation_code function.
12 --
13 g_legislation_code varchar2(150) default null;
14 g_cwb_stock_optn_dtls_id number default null;
15 --
16 -- ---------------------------------------------------------------------------
17 -- |----------------------< set_security_group_id >--------------------------|
18 -- ---------------------------------------------------------------------------
19 --
20 Procedure set_security_group_id
21 (p_cwb_stock_optn_dtls_id in number
22 ,p_associated_column1 in varchar2 default null
23 ) is
24 --
25 -- Declare cursor
26 --
27 cursor csr_sec_grp is
28 select pbg.security_group_id,
29 pbg.legislation_code
30 from per_business_groups_perf pbg
31 , ben_cwb_stock_optn_dtls cso
32 where cso.cwb_stock_optn_dtls_id = p_cwb_stock_optn_dtls_id
33 and pbg.business_group_id (+) = cso.business_group_id;
34 --
35 -- Declare local variables
36 --
37 l_security_group_id number;
38 l_proc varchar2(72) := g_package||'set_security_group_id';
39 l_legislation_code varchar2(150);
40 --
41 begin
42 --
43 hr_utility.set_location('Entering:'|| l_proc, 10);
44 --
45 -- Ensure that all the mandatory parameter are not null
46 --
47 hr_api.mandatory_arg_error
48 (p_api_name => l_proc
49 ,p_argument => 'cwb_stock_optn_dtls_id'
50 ,p_argument_value => p_cwb_stock_optn_dtls_id
51 );
52 --
53 open csr_sec_grp;
54 fetch csr_sec_grp into l_security_group_id
55 , l_legislation_code;
56 --
57 if csr_sec_grp%notfound then
58 --
59 close csr_sec_grp;
60 --
61 -- The primary key is invalid therefore we must error
62 --
63 fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
64 hr_multi_message.add
65 (p_associated_column1
66 => nvl(p_associated_column1,'CWB_STOCK_OPTN_DTLS_ID')
67 );
68 --
69 else
70 close csr_sec_grp;
71 --
72 -- Set the security_group_id in CLIENT_INFO
73 --
74 hr_api.set_security_group_id
75 (p_security_group_id => l_security_group_id
76 );
77 --
78 -- Set the sessions legislation context in HR_SESSION_DATA
79 --
80 hr_api.set_legislation_context(l_legislation_code);
81 end if;
82 --
83 hr_utility.set_location(' Leaving:'|| l_proc, 20);
84 --
85 end set_security_group_id;
86 --
87 -- ---------------------------------------------------------------------------
88 -- |---------------------< return_legislation_code >-------------------------|
89 -- ---------------------------------------------------------------------------
90 --
91 Function return_legislation_code
92 (p_cwb_stock_optn_dtls_id in number
93 )
94 Return Varchar2 Is
95 --
96 -- Declare cursor
97 --
98 cursor csr_leg_code is
99 select pbg.legislation_code
100 from per_business_groups_perf pbg
101 , ben_cwb_stock_optn_dtls cso
102 where cso.cwb_stock_optn_dtls_id = p_cwb_stock_optn_dtls_id
103 and pbg.business_group_id (+) = cso.business_group_id;
104 --
105 -- Declare local variables
106 --
107 l_legislation_code varchar2(150);
108 l_proc varchar2(72) := g_package||'return_legislation_code';
109 --
110 Begin
111 --
112 hr_utility.set_location('Entering:'|| l_proc, 10);
113 --
114 -- Ensure that all the mandatory parameter are not null
115 --
116 hr_api.mandatory_arg_error
117 (p_api_name => l_proc
118 ,p_argument => 'cwb_stock_optn_dtls_id'
119 ,p_argument_value => p_cwb_stock_optn_dtls_id
120 );
121 --
122 if ( nvl(ben_cso_bus.g_cwb_stock_optn_dtls_id, hr_api.g_number)
123 = p_cwb_stock_optn_dtls_id) then
124 --
125 -- The legislation code has already been found with a previous
126 -- call to this function. Just return the value in the global
127 -- variable.
128 --
129 l_legislation_code := ben_cso_bus.g_legislation_code;
130 hr_utility.set_location(l_proc, 20);
131 else
132 --
133 -- The ID is different to the last call to this function
134 -- or this is the first call to this function.
135 --
136 open csr_leg_code;
137 fetch csr_leg_code into l_legislation_code;
138 --
139 if csr_leg_code%notfound then
140 --
141 -- The primary key is invalid therefore we must error
142 --
143 close csr_leg_code;
144 fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
145 fnd_message.raise_error;
146 end if;
147 hr_utility.set_location(l_proc,30);
148 --
149 -- Set the global variables so the values are
150 -- available for the next call to this function.
151 --
152 close csr_leg_code;
153 ben_cso_bus.g_cwb_stock_optn_dtls_id := p_cwb_stock_optn_dtls_id;
154 ben_cso_bus.g_legislation_code := l_legislation_code;
155 end if;
156 hr_utility.set_location(' Leaving:'|| l_proc, 40);
157 return l_legislation_code;
158 end return_legislation_code;
159 --
160 -- ----------------------------------------------------------------------------
161 -- |-----------------------< chk_valid_entry >--------------------------------|
162 -- ----------------------------------------------------------------------------
163 -- {Start Of Comments}
164 --
165 -- Description:
166 -- This procedure is used to ensure that either person_id OR
167 -- (Business_group_id and employee_number) is present
168 -- i.e. if person_id is not present then a business_group_id and
169 -- employee_number must be present.
170 -- If person_id is present then business_group_id and employee_number are
171 -- both optional. If Person_id is present, then business_group_id and
172 -- employee_number (if present) are valid in person table.
173 -- If any of these conditions is violated, an error is generated.
174 --
175 -- Pre Conditions:
176 -- g_old_rec has been populated with details of the values currently in
177 -- the database.
178 --
179 -- In Arguments:
180 -- p_employee_number
181 -- p_person_id
182 -- p_business_group_id
183 -- p_effective_date
184 --
185 -- Post Success:
186 -- Processing continues if all the conditions are satisfied
187 --
188 -- Post Failure:
189 -- An application error is raised if any of the conditions are not satisfied.
190
191 --
192 -- {End Of Comments}
193 -- ----------------------------------------------------------------------------
194 Procedure chk_valid_entry
195 (p_employee_number in varchar2
196 ,p_person_id in number
197 ,p_business_group_id in number
198 ,p_effective_date in date
199 ) IS
200 --
201 -- Declare cursor
202 --
203
204 cursor csr_per is
208 from per_all_people_f per
205 select per.person_id,
206 per.employee_number,
207 per.business_group_id
209 where per.person_id = p_person_id
210 and p_effective_date between per.effective_start_date and per.effective_end_date;
211 --
212 -- Declare local variables
213 --
214 l_per csr_per%rowtype;
215 l_proc varchar2(72) := g_package || 'chk_valid_entry';
216 --
217 --
218 Begin
219 hr_utility.set_location('Entering:'||l_proc,10);
220
221 open csr_per;
222 fetch csr_per into l_per;
223 close csr_per;
224
225 if (p_person_id is null and (p_business_group_id is null or p_employee_number is null))
226 then
227 fnd_message.set_name('BEN','BEN_93358_CWB_INVALID_STK_ENT');
228 fnd_message.raise_error;
229 end if;
230 if ( p_person_id is not null and p_business_group_id <> l_per.business_group_id)
231 then
232 fnd_message.set_name('BEN','BEN_93360_CWB_INVALID_BG_ID');
233 fnd_message.set_token('BUSINESS_GRP_ID',p_business_group_id);
234 fnd_message.set_token('PERSON_ID',p_person_id);
235 fnd_message.raise_error;
236 end if ;
237 if (p_person_id is not null and p_employee_number <> l_per.employee_number)
238 then
239 fnd_message.set_name('BEN','BEN_93359_CWB_INVALID_EMP_ID');
240 fnd_message.set_token('EMPLOYEE_NUMBER',p_employee_number);
241 fnd_message.set_token('PERSON_ID',p_person_id);
242 fnd_message.raise_error;
243 end if;
244
245 hr_utility.set_location(' Leaving:'||l_proc,20);
246
247 End chk_valid_entry;
248
249 --
250 -- ----------------------------------------------------------------------------
251 -- |------------------------------< chk_df >----------------------------------|
252 -- ----------------------------------------------------------------------------
253 --
254 -- Description:
255 -- Validates all the Descriptive Flexfield values.
256 --
257 -- Prerequisites:
258 -- All other columns have been validated. Must be called as the
259 -- last step from insert_validate and update_validate.
260 --
261 -- In Arguments:
262 -- p_rec
263 --
264 -- Post Success:
265 -- If the Descriptive Flexfield structure column and data values are
266 -- all valid this procedure will end normally and processing will
267 -- continue.
268 --
269 -- Post Failure:
270 -- If the Descriptive Flexfield structure column value or any of
271 -- the data values are invalid then an application error is raised as
272 -- a PL/SQL exception.
273 --
274 -- Access Status:
275 -- Internal Row Handler Use Only.
276 --
277 -- ----------------------------------------------------------------------------
278 procedure chk_df
279 (p_rec in ben_cso_shd.g_rec_type
280 ) is
281 --
282 l_proc varchar2(72) := g_package || 'chk_df';
283 --
284 begin
285 hr_utility.set_location('Entering:'||l_proc,10);
286 --
287 if ((p_rec.cwb_stock_optn_dtls_id is not null) and (
288 nvl(ben_cso_shd.g_old_rec.cso_attribute_category, hr_api.g_varchar2) <>
289 nvl(p_rec.cso_attribute_category, hr_api.g_varchar2) or
290 nvl(ben_cso_shd.g_old_rec.cso_attribute1, hr_api.g_varchar2) <>
291 nvl(p_rec.cso_attribute1, hr_api.g_varchar2) or
292 nvl(ben_cso_shd.g_old_rec.cso_attribute2, hr_api.g_varchar2) <>
293 nvl(p_rec.cso_attribute2, hr_api.g_varchar2) or
294 nvl(ben_cso_shd.g_old_rec.cso_attribute3, hr_api.g_varchar2) <>
295 nvl(p_rec.cso_attribute3, hr_api.g_varchar2) or
296 nvl(ben_cso_shd.g_old_rec.cso_attribute4, hr_api.g_varchar2) <>
297 nvl(p_rec.cso_attribute4, hr_api.g_varchar2) or
298 nvl(ben_cso_shd.g_old_rec.cso_attribute5, hr_api.g_varchar2) <>
299 nvl(p_rec.cso_attribute5, hr_api.g_varchar2) or
300 nvl(ben_cso_shd.g_old_rec.cso_attribute6, hr_api.g_varchar2) <>
301 nvl(p_rec.cso_attribute6, hr_api.g_varchar2) or
302 nvl(ben_cso_shd.g_old_rec.cso_attribute7, hr_api.g_varchar2) <>
303 nvl(p_rec.cso_attribute7, hr_api.g_varchar2) or
304 nvl(ben_cso_shd.g_old_rec.cso_attribute8, hr_api.g_varchar2) <>
305 nvl(p_rec.cso_attribute8, hr_api.g_varchar2) or
306 nvl(ben_cso_shd.g_old_rec.cso_attribute9, hr_api.g_varchar2) <>
307 nvl(p_rec.cso_attribute9, hr_api.g_varchar2) or
308 nvl(ben_cso_shd.g_old_rec.cso_attribute10, hr_api.g_varchar2) <>
309 nvl(p_rec.cso_attribute10, hr_api.g_varchar2) or
310 nvl(ben_cso_shd.g_old_rec.cso_attribute11, hr_api.g_varchar2) <>
311 nvl(p_rec.cso_attribute11, hr_api.g_varchar2) or
312 nvl(ben_cso_shd.g_old_rec.cso_attribute12, hr_api.g_varchar2) <>
313 nvl(p_rec.cso_attribute12, hr_api.g_varchar2) or
314 nvl(ben_cso_shd.g_old_rec.cso_attribute13, hr_api.g_varchar2) <>
315 nvl(p_rec.cso_attribute13, hr_api.g_varchar2) or
316 nvl(ben_cso_shd.g_old_rec.cso_attribute14, hr_api.g_varchar2) <>
317 nvl(p_rec.cso_attribute14, hr_api.g_varchar2) or
318 nvl(ben_cso_shd.g_old_rec.cso_attribute15, hr_api.g_varchar2) <>
319 nvl(p_rec.cso_attribute15, hr_api.g_varchar2) or
320 nvl(ben_cso_shd.g_old_rec.cso_attribute16, hr_api.g_varchar2) <>
321 nvl(p_rec.cso_attribute16, hr_api.g_varchar2) or
322 nvl(ben_cso_shd.g_old_rec.cso_attribute17, hr_api.g_varchar2) <>
323 nvl(p_rec.cso_attribute17, hr_api.g_varchar2) or
324 nvl(ben_cso_shd.g_old_rec.cso_attribute18, hr_api.g_varchar2) <>
325 nvl(p_rec.cso_attribute18, hr_api.g_varchar2) or
326 nvl(ben_cso_shd.g_old_rec.cso_attribute19, hr_api.g_varchar2) <>
327 nvl(p_rec.cso_attribute19, hr_api.g_varchar2) or
331 nvl(p_rec.cso_attribute21, hr_api.g_varchar2) or
328 nvl(ben_cso_shd.g_old_rec.cso_attribute20, hr_api.g_varchar2) <>
329 nvl(p_rec.cso_attribute20, hr_api.g_varchar2) or
330 nvl(ben_cso_shd.g_old_rec.cso_attribute21, hr_api.g_varchar2) <>
332 nvl(ben_cso_shd.g_old_rec.cso_attribute22, hr_api.g_varchar2) <>
333 nvl(p_rec.cso_attribute22, hr_api.g_varchar2) or
334 nvl(ben_cso_shd.g_old_rec.cso_attribute23, hr_api.g_varchar2) <>
335 nvl(p_rec.cso_attribute23, hr_api.g_varchar2) or
336 nvl(ben_cso_shd.g_old_rec.cso_attribute24, hr_api.g_varchar2) <>
337 nvl(p_rec.cso_attribute24, hr_api.g_varchar2) or
338 nvl(ben_cso_shd.g_old_rec.cso_attribute25, hr_api.g_varchar2) <>
339 nvl(p_rec.cso_attribute25, hr_api.g_varchar2) or
340 nvl(ben_cso_shd.g_old_rec.cso_attribute26, hr_api.g_varchar2) <>
341 nvl(p_rec.cso_attribute26, hr_api.g_varchar2) or
342 nvl(ben_cso_shd.g_old_rec.cso_attribute27, hr_api.g_varchar2) <>
343 nvl(p_rec.cso_attribute27, hr_api.g_varchar2) or
344 nvl(ben_cso_shd.g_old_rec.cso_attribute28, hr_api.g_varchar2) <>
345 nvl(p_rec.cso_attribute28, hr_api.g_varchar2) or
346 nvl(ben_cso_shd.g_old_rec.cso_attribute29, hr_api.g_varchar2) <>
347 nvl(p_rec.cso_attribute29, hr_api.g_varchar2) or
348 nvl(ben_cso_shd.g_old_rec.cso_attribute30, hr_api.g_varchar2) <>
349 nvl(p_rec.cso_attribute30, hr_api.g_varchar2) ))
350 or (p_rec.cwb_stock_optn_dtls_id is null) then
351 --
352 -- Only execute the validation if absolutely necessary:
353 -- a) During update, the structure column value or any
354 -- of the attribute values have actually changed.
355 -- b) During insert.
356 --
357 hr_dflex_utility.ins_or_upd_descflex_attribs
358 (p_appl_short_name => 'BEN'
359 ,p_descflex_name => 'EDIT_HERE: Enter descflex name'
360 ,p_attribute_category => 'CSO_ATTRIBUTE_CATEGORY'
361 ,p_attribute1_name => 'CSO_ATTRIBUTE1'
362 ,p_attribute1_value => p_rec.cso_attribute1
363 ,p_attribute2_name => 'CSO_ATTRIBUTE2'
364 ,p_attribute2_value => p_rec.cso_attribute2
365 ,p_attribute3_name => 'CSO_ATTRIBUTE3'
366 ,p_attribute3_value => p_rec.cso_attribute3
367 ,p_attribute4_name => 'CSO_ATTRIBUTE4'
368 ,p_attribute4_value => p_rec.cso_attribute4
369 ,p_attribute5_name => 'CSO_ATTRIBUTE5'
370 ,p_attribute5_value => p_rec.cso_attribute5
371 ,p_attribute6_name => 'CSO_ATTRIBUTE6'
372 ,p_attribute6_value => p_rec.cso_attribute6
373 ,p_attribute7_name => 'CSO_ATTRIBUTE7'
374 ,p_attribute7_value => p_rec.cso_attribute7
375 ,p_attribute8_name => 'CSO_ATTRIBUTE8'
376 ,p_attribute8_value => p_rec.cso_attribute8
377 ,p_attribute9_name => 'CSO_ATTRIBUTE9'
378 ,p_attribute9_value => p_rec.cso_attribute9
379 ,p_attribute10_name => 'CSO_ATTRIBUTE10'
380 ,p_attribute10_value => p_rec.cso_attribute10
381 ,p_attribute11_name => 'CSO_ATTRIBUTE11'
382 ,p_attribute11_value => p_rec.cso_attribute11
383 ,p_attribute12_name => 'CSO_ATTRIBUTE12'
384 ,p_attribute12_value => p_rec.cso_attribute12
385 ,p_attribute13_name => 'CSO_ATTRIBUTE13'
386 ,p_attribute13_value => p_rec.cso_attribute13
387 ,p_attribute14_name => 'CSO_ATTRIBUTE14'
388 ,p_attribute14_value => p_rec.cso_attribute14
389 ,p_attribute15_name => 'CSO_ATTRIBUTE15'
390 ,p_attribute15_value => p_rec.cso_attribute15
391 ,p_attribute16_name => 'CSO_ATTRIBUTE16'
392 ,p_attribute16_value => p_rec.cso_attribute16
393 ,p_attribute17_name => 'CSO_ATTRIBUTE17'
394 ,p_attribute17_value => p_rec.cso_attribute17
395 ,p_attribute18_name => 'CSO_ATTRIBUTE18'
396 ,p_attribute18_value => p_rec.cso_attribute18
397 ,p_attribute19_name => 'CSO_ATTRIBUTE19'
398 ,p_attribute19_value => p_rec.cso_attribute19
399 ,p_attribute20_name => 'CSO_ATTRIBUTE20'
400 ,p_attribute20_value => p_rec.cso_attribute20
401 ,p_attribute21_name => 'CSO_ATTRIBUTE21'
402 ,p_attribute21_value => p_rec.cso_attribute21
403 ,p_attribute22_name => 'CSO_ATTRIBUTE22'
404 ,p_attribute22_value => p_rec.cso_attribute22
405 ,p_attribute23_name => 'CSO_ATTRIBUTE23'
406 ,p_attribute23_value => p_rec.cso_attribute23
407 ,p_attribute24_name => 'CSO_ATTRIBUTE24'
408 ,p_attribute24_value => p_rec.cso_attribute24
409 ,p_attribute25_name => 'CSO_ATTRIBUTE25'
410 ,p_attribute25_value => p_rec.cso_attribute25
411 ,p_attribute26_name => 'CSO_ATTRIBUTE26'
412 ,p_attribute26_value => p_rec.cso_attribute26
413 ,p_attribute27_name => 'CSO_ATTRIBUTE27'
414 ,p_attribute27_value => p_rec.cso_attribute27
415 ,p_attribute28_name => 'CSO_ATTRIBUTE28'
416 ,p_attribute28_value => p_rec.cso_attribute28
417 ,p_attribute29_name => 'CSO_ATTRIBUTE29'
418 ,p_attribute29_value => p_rec.cso_attribute29
419 ,p_attribute30_name => 'CSO_ATTRIBUTE30'
420 ,p_attribute30_value => p_rec.cso_attribute30
421 );
422 end if;
423 --
427 -- ----------------------------------------------------------------------------
424 hr_utility.set_location(' Leaving:'||l_proc,20);
425 end chk_df;
426 --
428 -- |-----------------------< chk_non_updateable_args >------------------------|
429 -- ----------------------------------------------------------------------------
430 -- {Start Of Comments}
431 --
432 -- Description:
433 -- This procedure is used to ensure that non updateable attributes have
434 -- not been updated. If an attribute has been updated an error is generated.
435 --
436 -- Pre Conditions:
437 -- g_old_rec has been populated with details of the values currently in
438 -- the database.
439 --
440 -- In Arguments:
441 -- p_rec has been populated with the updated values the user would like the
442 -- record set to.
443 --
444 -- Post Success:
445 -- Processing continues if all the non updateable attributes have not
446 -- changed.
447 --
448 -- Post Failure:
449 -- An application error is raised if any of the non updatable attributes
450 -- have been altered.
451 --
452 -- {End Of Comments}
453 -- ----------------------------------------------------------------------------
454 Procedure chk_non_updateable_args
455 (p_effective_date in date
456 ,p_rec in ben_cso_shd.g_rec_type
457 ) IS
458 --
459 l_proc varchar2(72) := g_package || 'chk_non_updateable_args';
460 --
461 Begin
462 --
463 -- Only proceed with the validation if a row exists for the current
464 -- record in the HR Schema.
465 --
466 IF NOT ben_cso_shd.api_updating
467 (p_cwb_stock_optn_dtls_id => p_rec.cwb_stock_optn_dtls_id
468 ,p_object_version_number => p_rec.object_version_number
469 ) THEN
470 fnd_message.set_name('PER', 'HR_6153_ALL_PROCEDURE_FAIL');
471 fnd_message.set_token('PROCEDURE ', l_proc);
472 fnd_message.set_token('STEP ', '5');
473 fnd_message.raise_error;
474 END IF;
475 --
476 --
477 End chk_non_updateable_args;
478 --
479 -- ----------------------------------------------------------------------------
480 -- |---------------------------< insert_validate >----------------------------|
481 -- ----------------------------------------------------------------------------
482 Procedure insert_validate
483 (p_effective_date in date
484 ,p_rec in ben_cso_shd.g_rec_type
485 ) is
486 --
487 l_proc varchar2(72) := g_package||'insert_validate';
488 --
489 Begin
490 hr_utility.set_location('Entering:'||l_proc, 5);
491 --
492 -- Call all supporting business operations
493 --
494 ben_cso_bus.chk_valid_entry(p_rec.employee_number
495 ,p_rec.person_id
496 ,p_rec.business_group_id
497 ,p_effective_date
498 );
499
500 if(p_rec.business_group_id is not null)
501 then
502 hr_api.validate_bus_grp_id
503 (p_business_group_id => p_rec.business_group_id
504 ,p_associated_column1 => ben_cso_shd.g_tab_nam
505 || '.BUSINESS_GROUP_ID');
506 end if;
507 --
508 -- After validating the set of important attributes,
509 -- if Multiple Message detection is enabled and at least
510 -- one error has been found then abort further validation.
511 --
512 hr_multi_message.end_validation_set;
513 --
514 -- Validate Dependent Attributes
515 --
516 -- Commented call to chk_df
517 -- ben_cso_bus.chk_df(p_rec);
518 --
519 hr_utility.set_location(' Leaving:'||l_proc, 10);
520 End insert_validate;
521 --
522 -- ----------------------------------------------------------------------------
523 -- |---------------------------< update_validate >----------------------------|
524 -- ----------------------------------------------------------------------------
525 Procedure update_validate
526 (p_effective_date in date
527 ,p_rec in ben_cso_shd.g_rec_type
528 ) is
529 --
530 l_proc varchar2(72) := g_package||'update_validate';
531 --
532 Begin
533 hr_utility.set_location('Entering:'||l_proc, 5);
534 --
535 -- Call all supporting business operations
536 --
537
538 ben_cso_bus.chk_valid_entry(p_rec.employee_number
539 ,p_rec.person_id
540 ,p_rec.business_group_id
541 ,p_effective_date
542 );
543
544 if(p_rec.business_group_id is not null)
545 then
546 hr_api.validate_bus_grp_id
547 (p_business_group_id => p_rec.business_group_id
548 ,p_associated_column1 => ben_cso_shd.g_tab_nam
549 || '.BUSINESS_GROUP_ID');
550 end if;
551 --
552 -- After validating the set of important attributes,
553 -- if Multiple Message detection is enabled and at least
554 -- one error has been found then abort further validation.
555 --
556 hr_multi_message.end_validation_set;
557 --
558 -- Validate Dependent Attributes
559 --
560 chk_non_updateable_args
561 (p_effective_date => p_effective_date
562 ,p_rec => p_rec
563 );
564 --
565 -- Commented call to chk_df
566 -- ben_cso_bus.chk_df(p_rec);
567 --
568 hr_utility.set_location(' Leaving:'||l_proc, 10);
569 End update_validate;
570 --
571 -- ----------------------------------------------------------------------------
572 -- |---------------------------< delete_validate >----------------------------|
573 -- ----------------------------------------------------------------------------
574 Procedure delete_validate
575 (p_rec in ben_cso_shd.g_rec_type
576 ) is
577 --
578 l_proc varchar2(72) := g_package||'delete_validate';
579 --
580 Begin
581 hr_utility.set_location('Entering:'||l_proc, 5);
582 --
583 -- Call all supporting business operations
584 --
585 hr_utility.set_location(' Leaving:'||l_proc, 10);
586 End delete_validate;
587 --
588 end ben_cso_bus;