DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_BCE_BUS

Source


1 Package Body pqh_bce_bus as
2 /* $Header: pqbcerhi.pkb 115.7 2004/04/28 17:17:08 rthiagar ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pqh_bce_bus.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------< chk_bdgt_cmmtmnt_elmnt_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 --   bdgt_cmmtmnt_elmnt_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_bdgt_cmmtmnt_elmnt_id(p_bdgt_cmmtmnt_elmnt_id                in number,
37                            p_object_version_number       in number) is
38   --
39   l_proc         varchar2(72) := g_package||'chk_bdgt_cmmtmnt_elmnt_id';
40   l_api_updating boolean;
41   --
42 Begin
43   --
44   hr_utility.set_location('Entering:'||l_proc, 5);
45   --
46   l_api_updating := pqh_bce_shd.api_updating
47     (p_bdgt_cmmtmnt_elmnt_id                => p_bdgt_cmmtmnt_elmnt_id,
48      p_object_version_number       => p_object_version_number);
49   --
50   if (l_api_updating
51      and nvl(p_bdgt_cmmtmnt_elmnt_id,hr_api.g_number)
52      <>  pqh_bce_shd.g_old_rec.bdgt_cmmtmnt_elmnt_id) then
53     --
54     -- raise error as PK has changed
55     --
56     pqh_bce_shd.constraint_error('PQH_BDGT_CMMTMNT_ELMNTS_PK');
57     --
58   elsif not l_api_updating then
59     --
60     -- check if PK is null
61     --
62     if p_bdgt_cmmtmnt_elmnt_id is not null then
63       --
64       -- raise error as PK is not null
65       --
66       pqh_bce_shd.constraint_error('PQH_BDGT_CMMTMNT_ELMNTS_PK');
67       --
68     end if;
69     --
70   end if;
71   --
72   hr_utility.set_location('Leaving:'||l_proc, 10);
73   --
74 End chk_bdgt_cmmtmnt_elmnt_id;
75 --
76 -- ----------------------------------------------------------------------------
77 -- |------< chk_dflt_elmnt_frequency >------|
78 -- ----------------------------------------------------------------------------
79 --
80 -- Description
81 --   This procedure checks that a referenced foreign key actually exists
82 --   in the referenced table.
83 --
84 -- Pre-Conditions
85 --   None.
86 --
87 -- In Parameters
88 --   p_bdgt_cmmtmnt_elmnt_id PK
89 --   p_dflt_elmnt_frequency ID of FK column
90 --   p_object_version_number object version number
91 --
92 -- Post Success
93 --   Processing continues
94 --
95 -- Post Failure
96 --   Error raised.
97 --
98 -- Access Status
99 --   Internal table handler use only.
100 --
101 Procedure chk_dflt_elmnt_frequency (p_bdgt_cmmtmnt_elmnt_id          in number,
102                             p_dflt_elmnt_frequency          in varchar2,
103                             p_object_version_number in number) is
104   --
105   l_proc         varchar2(72) := g_package||'chk_dflt_elmnt_frequency';
106   l_api_updating boolean;
107   l_dummy        varchar2(1);
108   --
109   cursor c1 is
110     select null
111     from   per_time_period_types a
112     where  a.period_type = p_dflt_elmnt_frequency;
113   --
114 Begin
115   --
116   hr_utility.set_location('Entering:'||l_proc,5);
117   --
118   l_api_updating := pqh_bce_shd.api_updating
119     (p_bdgt_cmmtmnt_elmnt_id                => p_bdgt_cmmtmnt_elmnt_id,
120       p_object_version_number   => p_object_version_number);
121   --
122   if (l_api_updating
123      and nvl(p_dflt_elmnt_frequency,hr_api.g_varchar2)
124      <> nvl(pqh_bce_shd.g_old_rec.dflt_elmnt_frequency,hr_api.g_varchar2)
125      or not l_api_updating) and
126      p_dflt_elmnt_frequency is not null then
127     --
128     -- check if dflt_elmnt_frequency value exists in per_time_period_types table
129     --
130     open c1;
131       --
132       fetch c1 into l_dummy;
133       if c1%notfound then
134         --
135         close c1;
136         --
137         -- raise error as FK does not relate to PK in per_time_period_types
138         -- table.
139         --
140         pqh_bce_shd.constraint_error('PQH_BDGT_CMMTMNT_ELMNTS_FK2');
141         --
142       end if;
143       --
144     close c1;
145     --
146   end if;
147   --
148   hr_utility.set_location('Leaving:'||l_proc,10);
149   --
150 End chk_dflt_elmnt_frequency;
151 --
152 -- ----------------------------------------------------------------------------
153 -- |------< chk_budget_id >------|
154 -- ----------------------------------------------------------------------------
155 --
156 -- Description
157 --   This procedure checks that a referenced foreign key actually exists
158 --   in the referenced table.
159 --
160 -- Pre-Conditions
161 --   None.
162 --
163 -- In Parameters
164 --   p_bdgt_cmmtmnt_elmnt_id PK
165 --   p_budget_id ID of FK column
166 --   p_object_version_number object version number
167 --
168 -- Post Success
169 --   Processing continues
170 --
171 -- Post Failure
172 --   Error raised.
173 --
174 -- Access Status
175 --   Internal table handler use only.
176 --
177 Procedure chk_budget_id (p_bdgt_cmmtmnt_elmnt_id          in number,
178                             p_budget_id          in number,
179                             p_object_version_number in number) is
180   --
181   l_proc         varchar2(72) := g_package||'chk_budget_id';
182   l_api_updating boolean;
183   l_dummy        varchar2(1);
184   --
185   cursor c1 is
186     select null
187     from   pqh_budgets a
188     where  a.budget_id = p_budget_id;
189   --
190 Begin
191   --
192   hr_utility.set_location('Entering:'||l_proc,5);
193   --
194   l_api_updating := pqh_bce_shd.api_updating
195      (p_bdgt_cmmtmnt_elmnt_id            => p_bdgt_cmmtmnt_elmnt_id,
196       p_object_version_number   => p_object_version_number);
197   --
198   if (l_api_updating
199      and nvl(p_budget_id,hr_api.g_number)
200      <> nvl(pqh_bce_shd.g_old_rec.budget_id,hr_api.g_number)
201      or not l_api_updating) then
202     --
203     -- check if budget_id value exists in pqh_budgets table
204     --
205     open c1;
206       --
207       fetch c1 into l_dummy;
208       if c1%notfound then
209         --
210         close c1;
211         --
212         -- raise error as FK does not relate to PK in pqh_budgets
213         -- table.
214         --
215         pqh_bce_shd.constraint_error('PQH_BDGT_CMMTMNT_ELMNTS_FK1');
216         --
217       end if;
218       --
219     close c1;
220     --
221   end if;
222   --
223   hr_utility.set_location('Leaving:'||l_proc,10);
224   --
225 End chk_budget_id;
226 --
227 -- ----------------------------------------------------------------------------
228 -- |------< chk_actual_commitment_type >------|
229 -- ----------------------------------------------------------------------------
230 --
231 -- Description
232 --   This procedure is used to check that the lookup value is valid.
233 --
234 -- Pre Conditions
235 --   None.
236 --
237 -- In Parameters
238 --   bdgt_cmmtmnt_elmnt_id PK of record being inserted or updated.
239 --   actual_commitment_type Value of lookup code.
240 --   effective_date effective date
241 --   object_version_number Object version number of record being
242 --                         inserted or updated.
243 --
244 -- Post Success
245 --   Processing continues
246 --
247 -- Post Failure
248 --   Error handled by procedure
249 --
250 -- Access Status
251 --   Internal table handler use only.
252 --
253 Procedure chk_actual_commitment_type(p_bdgt_cmmtmnt_elmnt_id    in number,
254                             p_actual_commitment_type            in varchar2,
255                             p_effective_date              in date,
256                             p_object_version_number       in number) is
257   --
258   l_proc         varchar2(72) := g_package||'chk_actual_commitment_type';
259   l_api_updating boolean;
260   --
261 Begin
262   --
263   hr_utility.set_location('Entering:'||l_proc, 5);
264   --
265   l_api_updating := pqh_bce_shd.api_updating
266     (p_bdgt_cmmtmnt_elmnt_id       => p_bdgt_cmmtmnt_elmnt_id,
267      p_object_version_number       => p_object_version_number);
268   --
269   if (l_api_updating
270       and p_actual_commitment_type
271       <> nvl(pqh_bce_shd.g_old_rec.actual_commitment_type,hr_api.g_varchar2)
272       or not l_api_updating)
273       and p_actual_commitment_type is not null then
274     --
275     -- check if value of lookup falls within lookup type.
276     --
277     if hr_api.not_exists_in_hr_lookups
278           (p_lookup_type    => 'PQH_BDGT_CALC_TYPE',
279            p_lookup_code    => p_actual_commitment_type,
280            p_effective_date => p_effective_date) then
281       --
282       -- raise error as does not exist as lookup
283       --
284       hr_utility.set_message(801,'HR_LOOKUP_DOES_NOT_EXIST');
285       hr_utility.raise_error;
286       --
287     end if;
288     --
289   end if;
290   --
291   hr_utility.set_location('Leaving:'||l_proc,10);
292   --
293 end chk_actual_commitment_type;
294 --
295 -- ----------------------------------------------------------------------------
296 -- |------< chk_salary_basis_flag >------|
297 -- ----------------------------------------------------------------------------
298 --
299 -- Description
300 --   This procedure is used to check that the lookup value is valid.
301 --
302 -- Pre Conditions
303 --   None.
304 --
305 -- In Parameters
306 --   bdgt_cmmtmnt_elmnt_id PK of record being inserted or updated.
307 --   salary_basis_flag Value of lookup code.
308 --   effective_date effective date
309 --   object_version_number Object version number of record being
310 --                         inserted or updated.
311 --
312 -- Post Success
313 --   Processing continues
314 --
315 -- Post Failure
316 --   Error handled by procedure
317 --
318 -- Access Status
319 --   Internal table handler use only.
320 --
321 Procedure chk_salary_basis_flag(p_bdgt_cmmtmnt_elmnt_id                in number,
322                             p_salary_basis_flag               in varchar2,
323                             p_effective_date              in date,
324                             p_object_version_number       in number) is
325   --
326   l_proc         varchar2(72) := g_package||'chk_salary_basis_flag';
327   l_api_updating boolean;
328   --
329 Begin
330   --
331   hr_utility.set_location('Entering:'||l_proc, 5);
332   --
333   l_api_updating := pqh_bce_shd.api_updating
334     (p_bdgt_cmmtmnt_elmnt_id                => p_bdgt_cmmtmnt_elmnt_id,
335      p_object_version_number       => p_object_version_number);
336   --
337   if (l_api_updating
338       and p_salary_basis_flag
339       <> nvl(pqh_bce_shd.g_old_rec.salary_basis_flag,hr_api.g_varchar2)
340       or not l_api_updating)
341       and p_salary_basis_flag is not null then
342     --
343     -- check if value of lookup falls within lookup type.
344     --
345     if hr_api.not_exists_in_hr_lookups
346           (p_lookup_type    => 'YES_NO',
347            p_lookup_code    => p_salary_basis_flag,
348            p_effective_date => p_effective_date) then
349       --
350       -- raise error as does not exist as lookup
351       --
352       hr_utility.set_message(801,'HR_LOOKUP_DOES_NOT_EXIST');
353       hr_utility.raise_error;
354       --
355     end if;
356     --
357   end if;
358   --
359   hr_utility.set_location('Leaving:'||l_proc,10);
360   --
361 end chk_salary_basis_flag;
362 --
363 -- ----------------------------------------------------------------------------
364 -- |------< chk_element_type_id >------|
365 -- ----------------------------------------------------------------------------
366 Procedure chk_element_type_id(p_element_type_id           in number,
367                               p_bdgt_cmmtmnt_elmnt_id     in number,
368                               p_budget_id                 in number,
369                               p_actual_commitment_type    in varchar2,
370                               p_object_version_number     in number) is
371   --
372 
373   l_proc         varchar2(72) := g_package||'chk_element_type_id';
374   l_api_updating boolean;
375   --
376 
377 cursor csr_element_ins is
378 select count(*)
379 from pqh_bdgt_cmmtmnt_elmnts
380 where budget_id = p_budget_id
381   and element_type_id = p_element_type_id
382   and (actual_commitment_type = 'BOTH' and p_actual_commitment_type in ('BOTH','COMMITMENT','ACTUAL')
383   or (actual_commitment_type = 'COMMITMENT' and p_actual_commitment_type in ('BOTH','COMMITMENT'))
384   or (actual_commitment_type = 'ACTUAL' and p_actual_commitment_type in ('BOTH','ACTUAL')));
385 
386 cursor csr_element_upd is
387 select count(*)
388 from pqh_bdgt_cmmtmnt_elmnts
389 where budget_id = p_budget_id
390   and element_type_id = p_element_type_id
391   and bdgt_cmmtmnt_elmnt_id <> p_bdgt_cmmtmnt_elmnt_id
392   and (actual_commitment_type = 'BOTH' and p_actual_commitment_type in ('BOTH','COMMITMENT','ACTUAL')
393   or (actual_commitment_type = 'COMMITMENT' and p_actual_commitment_type in ('BOTH','COMMITMENT'))
394   or (actual_commitment_type = 'ACTUAL' and p_actual_commitment_type in ('BOTH','ACTUAL')));
395 
396 l_count   number(9) := 0;
397 
398 Begin
399   --
400   hr_utility.set_location('Entering:'||l_proc, 5);
401 
405      p_object_version_number      => p_object_version_number);
402   --
403   l_api_updating := pqh_bce_shd.api_updating
404     (p_bdgt_cmmtmnt_elmnt_id      => p_bdgt_cmmtmnt_elmnt_id,
406   --
407 
408   IF p_element_type_id IS NULL THEN
409           --
410       -- raise error as element is null
411       --
412       hr_utility.set_message(8302,'PQH_BDGT_ELMNT_NULL');
413       hr_utility.raise_error;
414       --
415   END IF;
416     --
417     -- check if the lement is repeated more then once
418     --
419   if l_api_updating then
420        open csr_element_upd;
421          fetch csr_element_upd into l_count;
422        close csr_element_upd;
423 
424     if l_count <> 0 then
425         -- raise error as element is null
426         --
427         hr_utility.set_message(8302,'PQH_BDGT_ELMNT_DUP');
428         hr_utility.raise_error;
429         --
430     end if;
431    --
432   else
433     -- new row is getting inserted
434        open csr_element_ins;
435          fetch csr_element_ins into l_count;
436        close csr_element_ins;
437 
438     if l_count <> 0 then
439         -- raise error as element is null
440         --
441         hr_utility.set_message(8302,'PQH_BDGT_ELMNT_DUP');
442         hr_utility.raise_error;
443         --
444     end if;
445    --
446 
447   end if; -- for api_updating
448 
449   hr_utility.set_location('Leaving:'||l_proc,10);
450   --
451 end chk_element_type_id ;
452 --
453 -- ----------------------------------------------------------------------------
454 -- |------< chk_input_values >------|
455 -- ----------------------------------------------------------------------------
456 Procedure chk_input_values(p_element_input_value_id           in number,
457                            p_frequency_input_value_id           in number,
458                            p_salary_basis_flag             in varchar2,
459                            p_formula_id                    in number) is
460   --
461   l_proc         varchar2(72) := g_package||'chk_input_values';
462   l_api_updating boolean;
463   --
464 Begin
465   --
466   hr_utility.set_location('Entering:'||l_proc, 5);
467 
468 /* Commmented as element frequency is no longer inputted from the screen
469   IF (p_element_input_value_id IS NULL AND p_frequency_input_value_id IS NOT NULL ) OR
470      (p_element_input_value_id IS NOT NULL AND p_frequency_input_value_id IS NULL ) THEN
471           --
472       -- raise error as both are mutually inclusive
473       --
474       hr_utility.set_message(8302,'PQH_INPUT_VALUES_NULL');
475       hr_utility.raise_error;
476       --
477   END IF;
478 */
479     --
480     --
481     --
482    IF NVL(p_salary_basis_flag,'N') = 'N' AND
483       p_element_input_value_id IS NULL   AND
484       p_formula_id             IS NULL   THEN
485       --
486       -- atleast one of the three must be entered
487       -- raise error
488       --
489       hr_utility.set_message(8302,'PQH_INVALID_CMMT_VALUES');
490       hr_utility.raise_error;
491       --
492    END IF;
493    -- only one basis must be entered, if more than one basis then report error
494    if p_element_input_value_id is not null then
495       if nvl(p_salary_basis_flag,'N') = 'Y' then
496          hr_utility.set_message(8302,'PQH_MULTI_CMMT_VALUES');
497          hr_utility.raise_error;
498       elsif p_formula_id is not null then
499          hr_utility.set_message(8302,'PQH_MULTI_CMMT_VALUES');
500          hr_utility.raise_error;
501       end if;
502    end if;
503    if p_formula_id is not null then
504       if nvl(p_salary_basis_flag,'N') = 'Y' then
505          hr_utility.set_message(8302,'PQH_MULTI_CMMT_VALUES');
506          hr_utility.raise_error;
507       elsif p_element_input_value_id is not null then
508          hr_utility.set_message(8302,'PQH_MULTI_CMMT_VALUES');
509          hr_utility.raise_error;
510       end if;
511    end if;
512 
513     --
514 
515   hr_utility.set_location('Leaving:'||l_proc,10);
516   --
517 end chk_input_values ;
518 --
519 -- ----------------------------------------------------------------------------
520 -- |------< chk_overhead_percentage >------|
521 -- ----------------------------------------------------------------------------
522 Procedure chk_overhead_percentage(p_overhead_percentage           in number ) is
523   --
524   l_proc         varchar2(72) := g_package||'chk_overhead_percentage';
525   l_api_updating boolean;
526   --
527 Begin
528   --
529   hr_utility.set_location('Entering:'||l_proc, 5);
530 
531   IF  NVL(p_overhead_percentage,0) < 0 THEN
532           --
533       -- raise error as overhead_percentage cannot be negative
534       --
535       hr_utility.set_message(8302,'PQH_INVALID_OVERHEAD_PER');
536       hr_utility.raise_error;
537       --
538   END IF;
539     --
540 
541   hr_utility.set_location('Leaving:'||l_proc,10);
542   --
543 end chk_overhead_percentage ;
544 --
545 -- ----------------------------------------------------------------------------
546 -- |------< chk_balance_type_id >------|
550   --
547 -- ----------------------------------------------------------------------------
548 Procedure chk_balance_type_id(p_balance_type_id           in number
549                               ) is
551 
552   l_proc         varchar2(72) := g_package||'chk_balance_type_id';
553   l_api_updating boolean;
554   --
555 
556 cursor csr_balance is
557 select count(*) from pay_balance_feeds feed
558 where feed.balance_type_id = p_balance_type_id;
559 
560 l_count   number(9) := 0;
561 
562 Begin
563   --
564   hr_utility.set_location('Entering:'||l_proc, 5);
565 
566   IF p_balance_type_id IS not NULL THEN
567        open csr_balance;
568          fetch csr_balance into l_count;
569        close csr_balance;
570 
571     if l_count <> 0 then
572         -- raise error as element is null
573         --
574         hr_utility.set_message(8302,'PQH_BDGT_ELMNT_DUP');
575         hr_utility.set_warning;
576 
577         --
578     end if;
579    --
580 
581   end if; -- for api_updating
582 
583   hr_utility.set_location('Leaving:'||l_proc,10);
584   --
585 end chk_balance_type_id ;
586 --
587 -- ----------------------------------------------------------------------------
588 -- |---------------------------< insert_validate >----------------------------|
589 -- ----------------------------------------------------------------------------
590 Procedure insert_validate(p_rec in pqh_bce_shd.g_rec_type
591                          ,p_effective_date in date) is
592 --
593   l_proc  varchar2(72) := g_package||'insert_validate';
594 --
595 Begin
596   hr_utility.set_location('Entering:'||l_proc, 5);
597   --
598   -- Call all supporting business operations
599   --
600   chk_bdgt_cmmtmnt_elmnt_id
601   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
602    p_object_version_number => p_rec.object_version_number);
603   --
604   chk_dflt_elmnt_frequency
605   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
606    p_dflt_elmnt_frequency          => p_rec.dflt_elmnt_frequency,
607    p_object_version_number => p_rec.object_version_number);
608   --
609   chk_budget_id
610   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
611    p_budget_id          => p_rec.budget_id,
612    p_object_version_number => p_rec.object_version_number);
613   --
614   chk_actual_commitment_type
615   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
616    p_actual_commitment_type      => p_rec.actual_commitment_type,
617    p_effective_date        => p_effective_date,
618    p_object_version_number => p_rec.object_version_number);
619   --
620   chk_salary_basis_flag
621   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
622    p_salary_basis_flag         => p_rec.salary_basis_flag,
623    p_effective_date        => p_effective_date,
624    p_object_version_number => p_rec.object_version_number);
625   --
626   chk_element_type_id
627   (p_element_type_id     => p_rec.element_type_id,
628    p_bdgt_cmmtmnt_elmnt_id     => p_rec.bdgt_cmmtmnt_elmnt_id,
629    p_budget_id                  => p_rec.budget_id,
630    p_actual_commitment_type          =>  p_rec.actual_commitment_type,
631    p_object_version_number     => p_rec.object_version_number);
632   --
633   chk_input_values
634   (p_element_input_value_id    => p_rec.element_input_value_id,
635    p_frequency_input_value_id  => p_rec.frequency_input_value_id,
636    p_salary_basis_flag         => p_rec.salary_basis_flag,
637    p_formula_id                => p_rec.formula_id);
638   --
639   chk_overhead_percentage
640   (p_overhead_percentage     => p_rec.overhead_percentage );
641   --
642  /* chk_balance_type_id
643   (p_balance_type_id        => p_rec.balance_type_id); */
644   --
645   --
646   hr_utility.set_location(' Leaving:'||l_proc, 10);
647 End insert_validate;
648 --
649 -- ----------------------------------------------------------------------------
653                          ,p_effective_date in date) is
650 -- |---------------------------< update_validate >----------------------------|
651 -- ----------------------------------------------------------------------------
652 Procedure update_validate(p_rec in pqh_bce_shd.g_rec_type
654 --
655   l_proc  varchar2(72) := g_package||'update_validate';
656 --
657 Begin
658   hr_utility.set_location('Entering:'||l_proc, 5);
659   --
660   -- Call all supporting business operations
661   --
662   chk_bdgt_cmmtmnt_elmnt_id
663   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
664    p_object_version_number => p_rec.object_version_number);
665   --
666   chk_dflt_elmnt_frequency
667   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
668    p_dflt_elmnt_frequency          => p_rec.dflt_elmnt_frequency,
669    p_object_version_number => p_rec.object_version_number);
670   --
671   chk_budget_id
672   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
673    p_budget_id          => p_rec.budget_id,
674    p_object_version_number => p_rec.object_version_number);
675   --
676   chk_actual_commitment_type
677   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
678    p_actual_commitment_type      => p_rec.actual_commitment_type,
679    p_effective_date        => p_effective_date,
680    p_object_version_number => p_rec.object_version_number);
681   --
682   chk_salary_basis_flag
683   (p_bdgt_cmmtmnt_elmnt_id          => p_rec.bdgt_cmmtmnt_elmnt_id,
684    p_salary_basis_flag         => p_rec.salary_basis_flag,
685    p_effective_date        => p_effective_date,
686    p_object_version_number => p_rec.object_version_number);
687   --
688   chk_element_type_id
689   (p_element_type_id     => p_rec.element_type_id,
690    p_bdgt_cmmtmnt_elmnt_id     => p_rec.bdgt_cmmtmnt_elmnt_id,
691    p_budget_id                  => p_rec.budget_id,
692    p_actual_commitment_type          =>  p_rec.actual_commitment_type,
693    p_object_version_number     => p_rec.object_version_number);
694   --
695   chk_input_values
696   (p_element_input_value_id    => p_rec.element_input_value_id,
697    p_frequency_input_value_id  => p_rec.frequency_input_value_id,
698    p_salary_basis_flag         => p_rec.salary_basis_flag,
699    p_formula_id                => p_rec.formula_id);
700   --
701   chk_overhead_percentage
702   (p_overhead_percentage     => p_rec.overhead_percentage );
703   --
704   /* chk_balance_type_id
705   (p_balance_type_id         => p_rec.balance_type_id); */
706   --
707   --
708   hr_utility.set_location(' Leaving:'||l_proc, 10);
709 End update_validate;
710 --
711 -- ----------------------------------------------------------------------------
712 -- |---------------------------< delete_validate >----------------------------|
713 -- ----------------------------------------------------------------------------
714 Procedure delete_validate(p_rec in pqh_bce_shd.g_rec_type
715                          ,p_effective_date in date) is
716 --
717   l_proc  varchar2(72) := g_package||'delete_validate';
718 --
719 Begin
720   hr_utility.set_location('Entering:'||l_proc, 5);
721   --
722   -- Call all supporting business operations
723   --
724   hr_utility.set_location(' Leaving:'||l_proc, 10);
725 End delete_validate;
726 --
727 end pqh_bce_bus;