DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_CSO_BUS

Source


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
205     select per.person_id,
206            per.employee_number,
207            per.business_group_id
208       from per_all_people_f per
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 --
280   ) is
277 -- ----------------------------------------------------------------------------
278 procedure chk_df
279   (p_rec in ben_cso_shd.g_rec_type
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
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) <>
331     nvl(p_rec.cso_attribute21, hr_api.g_varchar2)  or
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
380       ,p_attribute10_value               => p_rec.cso_attribute10
377       ,p_attribute9_name                 => 'CSO_ATTRIBUTE9'
378       ,p_attribute9_value                => p_rec.cso_attribute9
379       ,p_attribute10_name                => '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   --
424   hr_utility.set_location(' Leaving:'||l_proc,20);
425 end chk_df;
426 --
427 -- ----------------------------------------------------------------------------
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 -- ----------------------------------------------------------------------------
483   (p_effective_date               in date
480 -- |---------------------------< insert_validate >----------------------------|
481 -- ----------------------------------------------------------------------------
482 Procedure insert_validate
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 >----------------------------|
576   ) is
573 -- ----------------------------------------------------------------------------
574 Procedure delete_validate
575   (p_rec                          in ben_cso_shd.g_rec_type
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;