[Home] [Help]
PACKAGE BODY: APPS.OTA_CFS_BUS
Source
1 Package Body ota_cfs_bus as
2 /* $Header: otcfsrhi.pkb 120.2 2005/08/24 09:49 dhmulia noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ota_cfs_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_conference_server_id number default null;
15 --
16 -- ---------------------------------------------------------------------------
17 -- |----------------------< set_security_group_id >--------------------------|
18 -- ---------------------------------------------------------------------------
19 --
20 Procedure set_security_group_id
21 (p_conference_server_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 , ota_conference_servers_b cfs
32 where cfs.conference_server_id = p_conference_server_id
33 and pbg.business_group_id = cfs.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 => 'conference_server_id'
50 ,p_argument_value => p_conference_server_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,'CONFERENCE_SERVER_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_conference_server_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 , ota_conference_servers_b cfs
102 where cfs.conference_server_id = p_conference_server_id
103 and pbg.business_group_id = cfs.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 => 'conference_server_id'
119 ,p_argument_value => p_conference_server_id
120 );
121 --
122 if ( nvl(ota_cfs_bus.g_conference_server_id, hr_api.g_number)
123 = p_conference_server_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 := ota_cfs_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 ota_cfs_bus.g_conference_server_id := p_conference_server_id;
154 ota_cfs_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 -- ----------------------------------------------------------------------------
162 -- |--------------------------< call_error_message >--------------------------|
163 -- ----------------------------------------------------------------------------
164 --
165 -- Description:
166 -- Passes the error information to the procedure set_message of package
167 -- hr_utility.
168 --
169 Procedure call_error_message
170 (
171 p_error_appl varchar2
172 ,p_error_txt varchar2
173 ) is
174 --
175 v_proc varchar2(72) := g_package||'call_error_message';
176 --
177 Begin
178 --
179 hr_utility.set_location('Entering:'|| v_proc, 5);
180 --
181 -- ** TEMP ** Add error message with the following text.
182 --
183 fnd_message.set_name ( p_error_appl ,p_error_txt);
184 fnd_message.raise_error;
185 --
186 hr_utility.set_location(' Leaving:'|| v_proc, 10);
187 --
188 End call_error_message;
189 --
190 --
191 -- ----------------------------------------------------------------------------
192 -- |------------------------------< chk_df >----------------------------------|
193 -- ----------------------------------------------------------------------------
194 --
195 -- Description:
196 -- Validates all the Descriptive Flexfield values.
197 --
198 -- Prerequisites:
199 -- All other columns have been validated. Must be called as the
200 -- last step from insert_validate and update_validate.
201 --
202 -- In Arguments:
203 -- p_rec
204 --
205 -- Post Success:
206 -- If the Descriptive Flexfield structure column and data values are
207 -- all valid this procedure will end normally and processing will
208 -- continue.
209 --
210 -- Post Failure:
211 -- If the Descriptive Flexfield structure column value or any of
212 -- the data values are invalid then an application error is raised as
213 -- a PL/SQL exception.
214 --
215 -- Access Status:
216 -- Internal Row Handler Use Only.
217 --
218 -- ----------------------------------------------------------------------------
219 procedure chk_df
220 (p_rec in ota_cfs_shd.g_rec_type
221 ) is
222 --
223 l_proc varchar2(72) := g_package || 'chk_df';
224 --
225 begin
226 hr_utility.set_location('Entering:'||l_proc,10);
227 --
228 if ((p_rec.conference_server_id is not null) and (
229 nvl(ota_cfs_shd.g_old_rec.attribute_category, hr_api.g_varchar2) <>
230 nvl(p_rec.attribute_category, hr_api.g_varchar2) or
231 nvl(ota_cfs_shd.g_old_rec.attribute1, hr_api.g_varchar2) <>
232 nvl(p_rec.attribute1, hr_api.g_varchar2) or
233 nvl(ota_cfs_shd.g_old_rec.attribute2, hr_api.g_varchar2) <>
234 nvl(p_rec.attribute2, hr_api.g_varchar2) or
235 nvl(ota_cfs_shd.g_old_rec.attribute3, hr_api.g_varchar2) <>
236 nvl(p_rec.attribute3, hr_api.g_varchar2) or
237 nvl(ota_cfs_shd.g_old_rec.attribute4, hr_api.g_varchar2) <>
238 nvl(p_rec.attribute4, hr_api.g_varchar2) or
239 nvl(ota_cfs_shd.g_old_rec.attribute5, hr_api.g_varchar2) <>
240 nvl(p_rec.attribute5, hr_api.g_varchar2) or
241 nvl(ota_cfs_shd.g_old_rec.attribute6, hr_api.g_varchar2) <>
242 nvl(p_rec.attribute6, hr_api.g_varchar2) or
243 nvl(ota_cfs_shd.g_old_rec.attribute7, hr_api.g_varchar2) <>
244 nvl(p_rec.attribute7, hr_api.g_varchar2) or
245 nvl(ota_cfs_shd.g_old_rec.attribute8, hr_api.g_varchar2) <>
246 nvl(p_rec.attribute8, hr_api.g_varchar2) or
247 nvl(ota_cfs_shd.g_old_rec.attribute9, hr_api.g_varchar2) <>
248 nvl(p_rec.attribute9, hr_api.g_varchar2) or
249 nvl(ota_cfs_shd.g_old_rec.attribute10, hr_api.g_varchar2) <>
250 nvl(p_rec.attribute10, hr_api.g_varchar2) or
251 nvl(ota_cfs_shd.g_old_rec.attribute11, hr_api.g_varchar2) <>
252 nvl(p_rec.attribute11, hr_api.g_varchar2) or
253 nvl(ota_cfs_shd.g_old_rec.attribute12, hr_api.g_varchar2) <>
254 nvl(p_rec.attribute12, hr_api.g_varchar2) or
255 nvl(ota_cfs_shd.g_old_rec.attribute13, hr_api.g_varchar2) <>
256 nvl(p_rec.attribute13, hr_api.g_varchar2) or
257 nvl(ota_cfs_shd.g_old_rec.attribute14, hr_api.g_varchar2) <>
258 nvl(p_rec.attribute14, hr_api.g_varchar2) or
259 nvl(ota_cfs_shd.g_old_rec.attribute15, hr_api.g_varchar2) <>
260 nvl(p_rec.attribute15, hr_api.g_varchar2) or
261 nvl(ota_cfs_shd.g_old_rec.attribute16, hr_api.g_varchar2) <>
262 nvl(p_rec.attribute16, hr_api.g_varchar2) or
263 nvl(ota_cfs_shd.g_old_rec.attribute17, hr_api.g_varchar2) <>
264 nvl(p_rec.attribute17, hr_api.g_varchar2) or
265 nvl(ota_cfs_shd.g_old_rec.attribute18, hr_api.g_varchar2) <>
266 nvl(p_rec.attribute18, hr_api.g_varchar2) or
267 nvl(ota_cfs_shd.g_old_rec.attribute19, hr_api.g_varchar2) <>
268 nvl(p_rec.attribute19, hr_api.g_varchar2) or
269 nvl(ota_cfs_shd.g_old_rec.attribute20, hr_api.g_varchar2) <>
270 nvl(p_rec.attribute20, hr_api.g_varchar2) ))
271 or (p_rec.conference_server_id is null) then
272 --
273 -- Only execute the validation if absolutely necessary:
274 -- a) During update, the structure column value or any
275 -- of the attribute values have actually changed.
276 -- b) During insert.
277 --
278 hr_dflex_utility.ins_or_upd_descflex_attribs
279 (p_appl_short_name => 'OTA'
280 ,p_descflex_name => 'OTA_CONFERENCE_SERVERS'
281 ,p_attribute_category => p_rec.attribute_category
282 ,p_attribute1_name => 'ATTRIBUTE1'
283 ,p_attribute1_value => p_rec.attribute1
284 ,p_attribute2_name => 'ATTRIBUTE2'
285 ,p_attribute2_value => p_rec.attribute2
286 ,p_attribute3_name => 'ATTRIBUTE3'
287 ,p_attribute3_value => p_rec.attribute3
288 ,p_attribute4_name => 'ATTRIBUTE4'
289 ,p_attribute4_value => p_rec.attribute4
290 ,p_attribute5_name => 'ATTRIBUTE5'
291 ,p_attribute5_value => p_rec.attribute5
292 ,p_attribute6_name => 'ATTRIBUTE6'
293 ,p_attribute6_value => p_rec.attribute6
294 ,p_attribute7_name => 'ATTRIBUTE7'
295 ,p_attribute7_value => p_rec.attribute7
296 ,p_attribute8_name => 'ATTRIBUTE8'
297 ,p_attribute8_value => p_rec.attribute8
298 ,p_attribute9_name => 'ATTRIBUTE9'
299 ,p_attribute9_value => p_rec.attribute9
300 ,p_attribute10_name => 'ATTRIBUTE10'
301 ,p_attribute10_value => p_rec.attribute10
302 ,p_attribute11_name => 'ATTRIBUTE11'
303 ,p_attribute11_value => p_rec.attribute11
304 ,p_attribute12_name => 'ATTRIBUTE12'
305 ,p_attribute12_value => p_rec.attribute12
306 ,p_attribute13_name => 'ATTRIBUTE13'
307 ,p_attribute13_value => p_rec.attribute13
308 ,p_attribute14_name => 'ATTRIBUTE14'
309 ,p_attribute14_value => p_rec.attribute14
310 ,p_attribute15_name => 'ATTRIBUTE15'
311 ,p_attribute15_value => p_rec.attribute15
312 ,p_attribute16_name => 'ATTRIBUTE16'
313 ,p_attribute16_value => p_rec.attribute16
314 ,p_attribute17_name => 'ATTRIBUTE17'
315 ,p_attribute17_value => p_rec.attribute17
316 ,p_attribute18_name => 'ATTRIBUTE18'
317 ,p_attribute18_value => p_rec.attribute18
318 ,p_attribute19_name => 'ATTRIBUTE19'
319 ,p_attribute19_value => p_rec.attribute19
320 ,p_attribute20_name => 'ATTRIBUTE20'
321 ,p_attribute20_value => p_rec.attribute20
322 );
323 end if;
324 --
325 hr_utility.set_location(' Leaving:'||l_proc,20);
326 end chk_df;
327 --
328 -- ----------------------------------------------------------------------------
329 -- |-----------------------< chk_non_updateable_args >------------------------|
330 -- ----------------------------------------------------------------------------
331 -- {Start Of Comments}
332 --
333 -- Description:
334 -- This procedure is used to ensure that non updateable attributes have
335 -- not been updated. If an attribute has been updated an error is generated.
336 --
337 -- Pre Conditions:
338 -- g_old_rec has been populated with details of the values currently in
339 -- the database.
340 --
341 -- In Arguments:
342 -- p_rec has been populated with the updated values the user would like the
343 -- record set to.
344 --
345 -- Post Success:
346 -- Processing continues if all the non updateable attributes have not
347 -- changed.
348 --
349 -- Post Failure:
350 -- An application error is raised if any of the non updatable attributes
351 -- have been altered.
352 --
353 -- {End Of Comments}
354 -- ----------------------------------------------------------------------------
355 Procedure chk_non_updateable_args
356 (p_effective_date in date
357 ,p_rec in ota_cfs_shd.g_rec_type
358 ) IS
359 --
360 l_proc varchar2(72) := g_package || 'chk_non_updateable_args';
361 --
362 Begin
363 --
364 -- Only proceed with the validation if a row exists for the current
365 -- record in the HR Schema.
366 --
367 IF NOT ota_cfs_shd.api_updating
368 (p_conference_server_id => p_rec.conference_server_id
369 ,p_object_version_number => p_rec.object_version_number
370 ) THEN
371 fnd_message.set_name('PER', 'HR_6153_ALL_PROCEDURE_FAIL');
372 fnd_message.set_token('PROCEDURE ', l_proc);
373 fnd_message.set_token('STEP ', '5');
374 fnd_message.raise_error;
375 END IF;
376 --
377 -- EDIT_HERE: Add checks to ensure non-updateable args have
378 -- not been updated.
379 --
380 End chk_non_updateable_args;
381
382 --
383 -- ----------------------------------------------------------------------------
384 -- -----------------------< CHECK_UNIQUE >----------------------------
385 -- ----------------------------------------------------------------------------
386 --
387 -- Validates the uniqueness of the conference server name(ignoring case).
388 --
389 procedure CHECK_UNIQUE (
390 P_NAME in varchar2,
391 P_BUSINESS_GROUP_ID in number,
392 P_CONFERENCE_SERVER_ID in number
393
394 ) is
395 --
396 W_PROC varchar2 (72)
397 := G_PACKAGE || 'CHECK_UNIQUE';
398 --
399 begin
400 --
401 HR_UTILITY.SET_LOCATION ('Entering:' || W_PROC, 5);
402 --
403 -- Do not perform the uniqueness check unless inserting, or updating
404 -- with a value different from the current value (and not just changing
405 -- case)
406 --
407 --
408 if (not UNIQUE_CFS_NAME (
409 P_NAME => P_NAME,
410 P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID,
411 P_CONFERENCE_SERVER_ID => P_CONFERENCE_SERVER_ID )) then
412 fnd_message.set_name('OTA','OTA_443914_CFS_UNIQUE');
413 fnd_message.raise_error;
414 --
415 end if;
416 --
417 HR_UTILITY.SET_LOCATION (' Leaving:' || W_PROC, 10);
418 --
419 Exception
420 WHEN app_exception.application_exception THEN
421
422 IF hr_multi_message.exception_add(
423 p_associated_column1 => 'OTA_CONFERENCE_SERVERS_B.BUSINESS_GROUP_ID',
424 p_associated_column2 => 'OTA_CONFERENCE_SERVERS_B.CONFERENCE_SERVER_ID')
425 THEN
426
427 --hr_utility.set_location(' Leaving:'||v_proc, 22);
428 RAISE;
429
430 END IF;
431
432 end CHECK_UNIQUE;
433 --------------------------------------------------------------------------------
434 --
435 -- ----------------------------------------------------------------------------
436 -- -------------------------< UNIQUE_CFS_NAME >-----------------------------
437 -- ----------------------------------------------------------------------------
438 --
439 -- Returns TRUE if the event has a title which is unique within its
440 -- business group. If the event id is not null, then the check avoids
441 -- comparing the title against itself. Titles are compared regardless
442 -- of case.
443 --
444 --
445 --
446 function UNIQUE_CFS_NAME (
447 P_NAME in varchar2,
448 P_BUSINESS_GROUP_ID in number,
449 P_CONFERENCE_SERVER_ID in number
450 ) return boolean is
451 --
452 W_PROC varchar2 (72)
453 := G_PACKAGE || 'UNIQUE_CFS_NAME';
454 v_name_is_unique boolean;
455 --
456 cursor C1 is
457 SELECT 1
458 FROM OTA_CONFERENCE_SERVERS_B CFS,
459 OTA_CONFERENCE_SERVERS_TL CFT
460 WHERE CFT.NAME = P_NAME
461 AND CFS.CONFERENCE_SERVER_ID = CFT.CONFERENCE_SERVER_ID
462 AND CFT.LANGUAGE= USERENV('LANG')
463 AND CFS.BUSINESS_GROUP_ID = P_BUSINESS_GROUP_ID
464 AND ( CFS.CONFERENCE_SERVER_ID <> P_CONFERENCE_SERVER_ID or
465 P_CONFERENCE_SERVER_ID IS NULL ) ;
466
467 /* for Bug 4570526 */
468 cursor csr_name
469 IS
470 select name
471 from ota_conference_servers_tl cft where
472 cft.conference_server_id = P_CONFERENCE_SERVER_ID
473 and CFT.LANGUAGE= USERENV('LANG');
474
475 l_num number(10);
476 l_name ota_conference_servers_tl.name%type;
477 --
478 begin
479 --
480 HR_UTILITY.SET_LOCATION ('Entering:' || W_PROC, 5);
481 --
482 -- Check arguments
483 --
484 HR_API.MANDATORY_ARG_ERROR (
485 G_PACKAGE,
486 'P_NAME',
487 P_NAME);
488 HR_API.MANDATORY_ARG_ERROR (
489 G_PACKAGE,
490 'P_BUSINESS_GROUP_ID',
491 P_BUSINESS_GROUP_ID);
492 --
493 -- Unique ?
494 --
495 /* For bug 4570526 */
496 if p_conference_server_id is not null then
497 For i in csr_name
498 Loop
499 l_name := i.name;
500 end loop;
501 end if;
502
503 if upper(p_name) <> nvl(upper(l_name),upper(p_name)) or
504 p_conference_server_id is null then
505 open C1;
506 fetch C1
507 into l_num;
508 v_name_is_unique := C1%notfound;
509 close C1;
510 end if;
511 --
512 HR_UTILITY.SET_LOCATION (W_PROC, 10);
513 return v_name_is_unique;
514 --
515 end UNIQUE_CFS_NAME;
516
517 procedure VALIDITY_CHECKS (
518 P_REC in out nocopy OTA_CFS_SHD.G_REC_TYPE
519 ,p_name in varchar2
520 ) is
521
522 Begin
523 CHECK_UNIQUE (
524 p_name,
525 p_rec.business_group_id,
526 p_rec.CONFERENCE_SERVER_ID
527 );
528
529
530 end VALIDITY_CHECKS ;
531
532 -- ----------------------------------------------------------------------------
533 -- |-------------------------< check_if_conf_exists >--------------------------|
534 -- ----------------------------------------------------------------------------
535 --
536 -- PUBLIC
537 -- Description:
538 -- Delete Validation.
539 -- This conference server may not be deleted if child rows in
540 -- ota_conferences exist.
541 --
542 Procedure check_if_conf_exists
543 (
544 p_conference_server_id in number
545 ) is
546 --
547 v_exists varchar2(1);
548 v_proc varchar2(72) := g_package||'check_if_conf_exists';
549 --
550 cursor sel_conf_exists is
551 select 'Y'
552 from ota_conferences cfr
553 where cfr.conference_server_id = p_conference_server_id;
554 --
555 Begin
556 --
557 hr_utility.set_location('Entering:'|| v_proc, 5);
558 --
559 Open sel_conf_exists;
560 fetch sel_conf_exists into v_exists;
561 --
562 if sel_conf_exists%found then
563 --
564 close sel_conf_exists;
565 --
566 --
567 call_error_message( p_error_appl => 'OTA'
568 , p_error_txt => 'OTA_443745_CFS_NO_DELETE'
569 );
570 --
571 end if;
572 --
573 close sel_conf_exists;
574 --
575 hr_utility.set_location(' Leaving:'|| v_proc, 10);
576 --
577 End check_if_conf_exists;
578
579 --
580 -- ----------------------------------------------------------------------------
581 -- |---------------------------< insert_validate >----------------------------|
582 -- ----------------------------------------------------------------------------
583 Procedure insert_validate
584 (p_effective_date in date
585 ,p_rec in out nocopy ota_cfs_shd.g_rec_type
586 ,p_name in varchar2
587
588 ) is
589 --
590 l_proc varchar2(72) := g_package||'insert_validate';
591 --
592 Begin
593 hr_utility.set_location('Entering:'||l_proc, 5);
594 --
595 -- Call all supporting business operations
596 --
597 hr_api.validate_bus_grp_id
598 (p_business_group_id => p_rec.business_group_id
599 ,p_associated_column1 => ota_cfs_shd.g_tab_nam
600 || '.BUSINESS_GROUP_ID');
601
602 VALIDITY_CHECKS (P_REC => P_REC,
603 p_name => p_name );
604
605 --
606 -- After validating the set of important attributes,
607 -- if Multiple Message detection is enabled and at least
608 -- one error has been found then abort further validation.
609 --
610 hr_multi_message.end_validation_set;
611 --
612 -- Validate Dependent Attributes
613 --
614 --
615 ota_cfs_bus.chk_df(p_rec);
616 --
617 hr_utility.set_location(' Leaving:'||l_proc, 10);
618 End insert_validate;
619 --
620 -- ----------------------------------------------------------------------------
621 -- |---------------------------< update_validate >----------------------------|
622 -- ----------------------------------------------------------------------------
623 Procedure update_validate
624 (p_effective_date in date
625 ,p_rec in out nocopy ota_cfs_shd.g_rec_type
626 ,p_name in varchar2
627 ) is
628 --
629 l_proc varchar2(72) := g_package||'update_validate';
630 --
631 Begin
632 hr_utility.set_location('Entering:'||l_proc, 5);
633 --
634 -- Call all supporting business operations
635 --
636 hr_api.validate_bus_grp_id
637 (p_business_group_id => p_rec.business_group_id
638 ,p_associated_column1 => ota_cfs_shd.g_tab_nam
639 || '.BUSINESS_GROUP_ID');
640
641 VALIDITY_CHECKS (P_REC => P_REC,
642 p_name => p_name );
643
644 --
645 -- After validating the set of important attributes,
646 -- if Multiple Message detection is enabled and at least
647 -- one error has been found then abort further validation.
648 --
649 hr_multi_message.end_validation_set;
650 --
651 -- Validate Dependent Attributes
652 --
653 chk_non_updateable_args
654 (p_effective_date => p_effective_date
655 ,p_rec => p_rec
656 );
657 --
658 --
659 ota_cfs_bus.chk_df(p_rec);
660 --
661 hr_utility.set_location(' Leaving:'||l_proc, 10);
662 End update_validate;
663 --
664 -- ----------------------------------------------------------------------------
665 -- |---------------------------< delete_validate >----------------------------|
666 -- ----------------------------------------------------------------------------
667 Procedure delete_validate
668 (p_rec in ota_cfs_shd.g_rec_type
669 ) is
670 --
671 l_proc varchar2(72) := g_package||'delete_validate';
672 --
673 Begin
674 hr_utility.set_location('Entering:'||l_proc, 5);
675 --
676 -- Call all supporting business operations
677 check_if_conf_exists( p_conference_server_id => p_rec.conference_server_id );
678
679 --
680 hr_utility.set_location(' Leaving:'||l_proc, 10);
681 End delete_validate;
682 --
683 end ota_cfs_bus;