DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_FMP_BUS

Source


1 Package Body hr_fmp_bus as
2 /* $Header: hrfmprhi.pkb 115.5 2003/10/30 07:11:27 bsubrama noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  hr_fmp_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_form_property_id            number         default null;
15 --
16 --  ---------------------------------------------------------------------------
17 --  |----------------------< set_security_group_id >--------------------------|
18 --  ---------------------------------------------------------------------------
19 --
20 Procedure set_security_group_id
21   (p_form_property_id                     in number
22   ) is
23   --
24   l_proc              varchar2(72)  :=  g_package||'set_security_group_id';
25   --
26 begin
27   --
28   hr_utility.set_location('Entering:'|| l_proc, 10);
29   --
30   -- No business group context. Security group is not applicable.
31   --
32   null;
33   --
34   hr_utility.set_location(' Leaving:'|| l_proc, 20);
35   --
36 end set_security_group_id;
37 --
38 --  ---------------------------------------------------------------------------
39 --  |---------------------< return_legislation_code >-------------------------|
40 --  ---------------------------------------------------------------------------
41 --
42 Function return_legislation_code
43   (p_form_property_id                     in     number
44   )
45   Return Varchar2 Is
46   --
47   -- Declare cursor
48   --
49   cursor csr_leg_code is
50     select tmp.legislation_code
51       from hr_form_templates_b tmp
52           ,hr_form_properties fmp
53      where tmp.form_template_id = fmp.form_template_id
54        and fmp.form_property_id = p_form_property_id;
55   --
56   -- Declare local variables
57   --
58   l_legislation_code  varchar2(150);
59   l_proc              varchar2(72)  :=  g_package||'return_legislation_code';
60   --
61 Begin
62   --
63   hr_utility.set_location('Entering:'|| l_proc, 10);
64   --
65   -- Ensure that all the mandatory parameter are not null
66   --
67   hr_api.mandatory_arg_error
68     (p_api_name           => l_proc
69     ,p_argument           => 'form_property_id'
70     ,p_argument_value     => p_form_property_id
71     );
72   --
73   if ( nvl(hr_fmp_bus.g_form_property_id, hr_api.g_number)
74        = p_form_property_id) then
75     --
76     -- The legislation code has already been found with a previous
77     -- call to this function. Just return the value in the global
78     -- variable.
79     --
80     l_legislation_code := hr_fmp_bus.g_legislation_code;
81     hr_utility.set_location(l_proc, 20);
82   else
83     --
84     -- The ID is different to the last call to this function
85     -- or this is the first call to this function.
86     --
87     open csr_leg_code;
88     fetch csr_leg_code into l_legislation_code;
89     --
90     if csr_leg_code%notfound then
91       --
92       -- Legislation code not found, which may be correct for certain canvas
93       -- properties.
94       --
95       l_legislation_code := null;
96     end if;
97     hr_utility.set_location(l_proc,30);
98     --
99     -- Set the global variables so the values are
100     -- available for the next call to this function.
101     --
102     close csr_leg_code;
103     hr_fmp_bus.g_form_property_id := p_form_property_id;
104     hr_fmp_bus.g_legislation_code := l_legislation_code;
105   end if;
106   hr_utility.set_location(' Leaving:'|| l_proc, 40);
107   return l_legislation_code;
108 end return_legislation_code;
109 --
110 -- ----------------------------------------------------------------------------
111 -- |-----------------------------< chk_ddf >----------------------------------|
112 -- ----------------------------------------------------------------------------
113 --
114 -- Description:
115 --   Validates all the Developer Descriptive Flexfield values.
116 --
117 -- Prerequisites:
118 --   All other columns have been validated.  Must be called as the
119 --   last step from insert_validate and update_validate.
120 --
121 -- In Arguments:
122 --   p_rec
123 --
124 -- Post Success:
125 --   If the Developer Descriptive Flexfield structure column and data values
126 --   are all valid this procedure will end normally and processing will
127 --   continue.
128 --
129 -- Post Failure:
130 --   If the Developer Descriptive Flexfield structure column value or any of
131 --   the data values are invalid then an application error is raised as
132 --   a PL/SQL exception.
133 --
134 -- Access Status:
135 --   Internal Row Handler Use Only.
136 --
137 -- ----------------------------------------------------------------------------
138 procedure chk_ddf
139   (p_rec in hr_fmp_shd.g_rec_type
140   ) is
141 --
142   l_proc   varchar2(72) := g_package || 'chk_ddf';
143 --
144 begin
145   hr_utility.set_location('Entering:'||l_proc,10);
146   --
147   if ((p_rec.form_property_id is not null)  and (
148     nvl(hr_fmp_shd.g_old_rec.information_category, hr_api.g_varchar2) <>
149     nvl(p_rec.information_category, hr_api.g_varchar2)  or
150     nvl(hr_fmp_shd.g_old_rec.information1, hr_api.g_varchar2) <>
151     nvl(p_rec.information1, hr_api.g_varchar2)  or
152     nvl(hr_fmp_shd.g_old_rec.information2, hr_api.g_varchar2) <>
153     nvl(p_rec.information2, hr_api.g_varchar2)  or
154     nvl(hr_fmp_shd.g_old_rec.information3, hr_api.g_varchar2) <>
155     nvl(p_rec.information3, hr_api.g_varchar2)  or
156     nvl(hr_fmp_shd.g_old_rec.information4, hr_api.g_varchar2) <>
157     nvl(p_rec.information4, hr_api.g_varchar2)  or
158     nvl(hr_fmp_shd.g_old_rec.information5, hr_api.g_varchar2) <>
159     nvl(p_rec.information5, hr_api.g_varchar2)  or
160     nvl(hr_fmp_shd.g_old_rec.information6, hr_api.g_varchar2) <>
161     nvl(p_rec.information6, hr_api.g_varchar2)  or
162     nvl(hr_fmp_shd.g_old_rec.information7, hr_api.g_varchar2) <>
163     nvl(p_rec.information7, hr_api.g_varchar2)  or
164     nvl(hr_fmp_shd.g_old_rec.information8, hr_api.g_varchar2) <>
165     nvl(p_rec.information8, hr_api.g_varchar2)  or
166     nvl(hr_fmp_shd.g_old_rec.information9, hr_api.g_varchar2) <>
167     nvl(p_rec.information9, hr_api.g_varchar2)  or
168     nvl(hr_fmp_shd.g_old_rec.information10, hr_api.g_varchar2) <>
169     nvl(p_rec.information10, hr_api.g_varchar2)  or
170     nvl(hr_fmp_shd.g_old_rec.information11, hr_api.g_varchar2) <>
171     nvl(p_rec.information11, hr_api.g_varchar2)  or
172     nvl(hr_fmp_shd.g_old_rec.information12, hr_api.g_varchar2) <>
173     nvl(p_rec.information12, hr_api.g_varchar2)  or
174     nvl(hr_fmp_shd.g_old_rec.information13, hr_api.g_varchar2) <>
175     nvl(p_rec.information13, hr_api.g_varchar2)  or
176     nvl(hr_fmp_shd.g_old_rec.information14, hr_api.g_varchar2) <>
177     nvl(p_rec.information14, hr_api.g_varchar2)  or
178     nvl(hr_fmp_shd.g_old_rec.information15, hr_api.g_varchar2) <>
179     nvl(p_rec.information15, hr_api.g_varchar2)  or
180     nvl(hr_fmp_shd.g_old_rec.information16, hr_api.g_varchar2) <>
181     nvl(p_rec.information16, hr_api.g_varchar2)  or
182     nvl(hr_fmp_shd.g_old_rec.information17, hr_api.g_varchar2) <>
183     nvl(p_rec.information17, hr_api.g_varchar2)  or
184     nvl(hr_fmp_shd.g_old_rec.information18, hr_api.g_varchar2) <>
185     nvl(p_rec.information18, hr_api.g_varchar2)  or
186     nvl(hr_fmp_shd.g_old_rec.information19, hr_api.g_varchar2) <>
187     nvl(p_rec.information19, hr_api.g_varchar2)  or
188     nvl(hr_fmp_shd.g_old_rec.information20, hr_api.g_varchar2) <>
189     nvl(p_rec.information20, hr_api.g_varchar2)  or
190     nvl(hr_fmp_shd.g_old_rec.information21, hr_api.g_varchar2) <>
191     nvl(p_rec.information21, hr_api.g_varchar2)  or
192     nvl(hr_fmp_shd.g_old_rec.information22, hr_api.g_varchar2) <>
193     nvl(p_rec.information22, hr_api.g_varchar2)  or
194     nvl(hr_fmp_shd.g_old_rec.information23, hr_api.g_varchar2) <>
195     nvl(p_rec.information23, hr_api.g_varchar2)  or
196     nvl(hr_fmp_shd.g_old_rec.information24, hr_api.g_varchar2) <>
197     nvl(p_rec.information24, hr_api.g_varchar2)  or
198     nvl(hr_fmp_shd.g_old_rec.information25, hr_api.g_varchar2) <>
199     nvl(p_rec.information25, hr_api.g_varchar2)  or
200     nvl(hr_fmp_shd.g_old_rec.information26, hr_api.g_varchar2) <>
201     nvl(p_rec.information26, hr_api.g_varchar2)  or
202     nvl(hr_fmp_shd.g_old_rec.information27, hr_api.g_varchar2) <>
203     nvl(p_rec.information27, hr_api.g_varchar2)  or
204     nvl(hr_fmp_shd.g_old_rec.information28, hr_api.g_varchar2) <>
205     nvl(p_rec.information28, hr_api.g_varchar2)  or
206     nvl(hr_fmp_shd.g_old_rec.information29, hr_api.g_varchar2) <>
207     nvl(p_rec.information29, hr_api.g_varchar2)  or
208     nvl(hr_fmp_shd.g_old_rec.information30, hr_api.g_varchar2) <>
209     nvl(p_rec.information30, hr_api.g_varchar2) )
210     or (p_rec.form_property_id is null) ) then
211     --
212     -- Only execute the validation if absolutely necessary:
213     -- a) During update, the structure column value or any
214     --    of the attribute values have actually changed.
215     -- b) During insert.
216     --
217     hr_dflex_utility.ins_or_upd_descflex_attribs
218       (p_appl_short_name                 => 'PER'
219       ,p_descflex_name                   => 'HR_FORM_PROPERTIES'
220       ,p_attribute_category              => p_rec.information_category
221       ,p_attribute1_name                 => 'INFORMATION1'
222       ,p_attribute1_value                => p_rec.information1
223       ,p_attribute2_name                 => 'INFORMATION2'
224       ,p_attribute2_value                => p_rec.information2
225       ,p_attribute3_name                 => 'INFORMATION3'
226       ,p_attribute3_value                => p_rec.information3
227       ,p_attribute4_name                 => 'INFORMATION4'
228       ,p_attribute4_value                => p_rec.information4
229       ,p_attribute5_name                 => 'INFORMATION5'
230       ,p_attribute5_value                => p_rec.information5
231       ,p_attribute6_name                 => 'INFORMATION6'
232       ,p_attribute6_value                => p_rec.information6
233       ,p_attribute7_name                 => 'INFORMATION7'
234       ,p_attribute7_value                => p_rec.information7
235       ,p_attribute8_name                 => 'INFORMATION8'
236       ,p_attribute8_value                => p_rec.information8
237       ,p_attribute9_name                 => 'INFORMATION9'
238       ,p_attribute9_value                => p_rec.information9
239       ,p_attribute10_name                => 'INFORMATION10'
240       ,p_attribute10_value               => p_rec.information10
241       ,p_attribute11_name                => 'INFORMATION11'
242       ,p_attribute11_value               => p_rec.information11
243       ,p_attribute12_name                => 'INFORMATION12'
244       ,p_attribute12_value               => p_rec.information12
245       ,p_attribute13_name                => 'INFORMATION13'
246       ,p_attribute13_value               => p_rec.information13
247       ,p_attribute14_name                => 'INFORMATION14'
248       ,p_attribute14_value               => p_rec.information14
249       ,p_attribute15_name                => 'INFORMATION15'
250       ,p_attribute15_value               => p_rec.information15
251       ,p_attribute16_name                => 'INFORMATION16'
252       ,p_attribute16_value               => p_rec.information16
253       ,p_attribute17_name                => 'INFORMATION17'
254       ,p_attribute17_value               => p_rec.information17
255       ,p_attribute18_name                => 'INFORMATION18'
256       ,p_attribute18_value               => p_rec.information18
257       ,p_attribute19_name                => 'INFORMATION19'
258       ,p_attribute19_value               => p_rec.information19
259       ,p_attribute20_name                => 'INFORMATION20'
260       ,p_attribute20_value               => p_rec.information20
261       ,p_attribute21_name                => 'INFORMATION21'
262       ,p_attribute21_value               => p_rec.information21
263       ,p_attribute22_name                => 'INFORMATION22'
264       ,p_attribute22_value               => p_rec.information22
265       ,p_attribute23_name                => 'INFORMATION23'
266       ,p_attribute23_value               => p_rec.information23
267       ,p_attribute24_name                => 'INFORMATION24'
268       ,p_attribute24_value               => p_rec.information24
269       ,p_attribute25_name                => 'INFORMATION25'
270       ,p_attribute25_value               => p_rec.information25
271       ,p_attribute26_name                => 'INFORMATION26'
272       ,p_attribute26_value               => p_rec.information26
273       ,p_attribute27_name                => 'INFORMATION27'
274       ,p_attribute27_value               => p_rec.information27
275       ,p_attribute28_name                => 'INFORMATION28'
276       ,p_attribute28_value               => p_rec.information28
277       ,p_attribute29_name                => 'INFORMATION29'
278       ,p_attribute29_value               => p_rec.information29
279       ,p_attribute30_name                => 'INFORMATION30'
280       ,p_attribute30_value               => p_rec.information30
281       );
282   end if;
283   --
284   hr_utility.set_location(' Leaving:'||l_proc,20);
285 end chk_ddf;
286 --
287 -- ----------------------------------------------------------------------------
288 -- |-----------------------< chk_non_updateable_args >------------------------|
289 -- ----------------------------------------------------------------------------
290 -- {Start Of Comments}
291 --
292 -- Description:
293 --   This procedure is used to ensure that non updateable attributes have
294 --   not been updated. If an attribute has been updated an error is generated.
295 --
296 -- Pre Conditions:
297 --   g_old_rec has been populated with details of the values currently in
298 --   the database.
299 --
300 -- In Arguments:
301 --   p_rec has been populated with the updated values the user would like the
302 --   record set to.
303 --
304 -- Post Success:
305 --   Processing continues if all the non updateable attributes have not
306 --   changed.
307 --
308 -- Post Failure:
309 --   An application error is raised if any of the non updatable attributes
310 --   have been altered.
311 --
312 -- {End Of Comments}
313 -- ----------------------------------------------------------------------------
314 Procedure chk_non_updateable_args
315   (p_rec in hr_fmp_shd.g_rec_type
316   ) IS
317 --
318   l_proc     varchar2(72) := g_package || 'chk_non_updateable_args';
319   l_error    EXCEPTION;
320   l_argument varchar2(30);
321 --
322 Begin
323   --
324   -- Only proceed with the validation if a row exists for the current
325   -- record in the HR Schema.
326   --
327   IF NOT hr_fmp_shd.api_updating
328       (p_form_property_id                     => p_rec.form_property_id
329       ,p_object_version_number                => p_rec.object_version_number
330       ) THEN
331      fnd_message.set_name('PER', 'HR_6153_ALL_PROCEDURE_FAIL');
332      fnd_message.set_token('PROCEDURE ', l_proc);
333      fnd_message.set_token('STEP ', '5');
334      fnd_message.raise_error;
335   END IF;
336   --
337   IF (nvl(p_rec.application_id,hr_api.g_number) <>
338       nvl(hr_fmp_shd.g_old_rec.application_id,hr_api.g_number)
339      ) THEN
340      l_argument := 'application_id';
341      RAISE l_error;
342   END IF;
343   --
344   IF (nvl(p_rec.form_id,hr_api.g_number) <>
345       nvl(hr_fmp_shd.g_old_rec.form_id,hr_api.g_number)
346      ) THEN
347      l_argument := 'form_id';
348      RAISE l_error;
349   END IF;
350   --
351   IF (nvl(p_rec.form_template_id,hr_api.g_number) <>
352       nvl(hr_fmp_shd.g_old_rec.form_template_id,hr_api.g_number)
353      ) THEN
354      l_argument := 'form_template_id';
355      RAISE l_error;
356   END IF;
357   --
358   EXCEPTION
359     WHEN l_error THEN
360        hr_api.argument_changed_error
361          (p_api_name => l_proc
362          ,p_argument => l_argument);
363     WHEN OTHERS THEN
364        RAISE;
365 End chk_non_updateable_args;
366 --
367 -- ----------------------------------------------------------------------------
368 -- |----------------------< chk_appl_form_and_template >----------------------|
369 -- ----------------------------------------------------------------------------
370 Procedure chk_appl_form_and_template
371   (p_form_property_id             in number
372   ,p_object_version_number        in number
373   ,p_application_id               in number
374   ,p_form_id                      in number
375   ,p_form_template_id             in number
376   ) is
377   --
378   l_proc                         varchar2(72) := g_package || 'chk_appl_form_and_template';
379   l_api_updating                 boolean;
380   --
381 Begin
382   hr_utility.set_location('Entering:'||l_proc, 10);
383   --
384   l_api_updating := hr_fmp_shd.api_updating
385     (p_form_property_id             => p_form_property_id
386     ,p_object_version_number        => p_object_version_number
387     );
388   hr_utility.set_location(l_proc,20);
389   --
390   -- One and only one of application_id and form_id, and form_template_id
391   -- must be given
392   --
393   if not (  (   p_application_id is not null
394             and p_form_id is not null
395             and p_form_template_id is null)
396          or (   p_application_id is null
397             and p_form_id is null
398             and p_form_template_id is not null)) then
399     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
400     fnd_message.set_token('PROCEDURE', l_proc);
401     fnd_message.set_token('STEP','10');
402     fnd_message.raise_error;
403   end if;
404   --
405   hr_utility.set_location('Leaving:'||l_proc, 100);
406 End chk_appl_form_and_template;
407 --
408 -- ----------------------------------------------------------------------------
409 -- |--------------------------< chk_application_id >--------------------------|
410 -- ----------------------------------------------------------------------------
411 Procedure chk_application_id
412   (p_form_property_id             in number
413   ,p_application_id               in number
414   ) is
415   l_check number;
416   CURSOR cur_chk_app_id
417   IS
418   SELECT 1
419   FROM fnd_application
420   WHERE application_id = p_application_id;
421 --
422   l_proc  varchar2(72) := g_package||'chk_application_id';
423 --
424 Begin
425   hr_utility.set_location('Entering:'||l_proc, 5);
426   --
427   -- additional validation required
428   --
429   OPEN cur_chk_app_id;
430   FETCH cur_chk_app_id INTO l_check;
431   IF cur_chk_app_id%NOTFOUND THEN
432     CLOSE cur_chk_app_id;
433 -- error message
434     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
435     fnd_message.set_token('PROCEDURE', l_proc);
436     fnd_message.set_token('STEP','10');
437     fnd_message.raise_error;
438   END IF;
439   CLOSE cur_chk_app_id;
440 
441   --
442   hr_utility.set_location(' Leaving:'||l_proc, 10);
443 End chk_application_id;
444 --
445 -- ----------------------------------------------------------------------------
446 -- |------------------------------< chk_form_id >-----------------------------|
447 -- ----------------------------------------------------------------------------
448 Procedure chk_form_id
449   (p_form_property_id             in number
450   ,p_form_id                      in number
451   ,p_application_id               in number
452   ) is
453   l_check number;
454   CURSOR cur_chk_form_id
455   IS
456   SELECT 1
457   FROM fnd_form
458   WHERE form_id = p_form_id
459   AND application_id = p_application_id;
460 --
461   l_proc  varchar2(72) := g_package||'chk_form_id';
462 --
463 Begin
464   hr_utility.set_location('Entering:'||l_proc, 5);
465   --
466   -- additional validation required
467   --
468   OPEN cur_chk_form_id;
469   FETCH cur_chk_form_id INTO l_check;
470   IF cur_chk_form_id%NOTFOUND THEN
471     CLOSE cur_chk_form_id;
472 -- error message
473     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
474     fnd_message.set_token('PROCEDURE', l_proc);
475     fnd_message.set_token('STEP','10');
476     fnd_message.raise_error;
477   END IF;
478   CLOSE cur_chk_form_id;
479   --
480   hr_utility.set_location(' Leaving:'||l_proc, 10);
481 End chk_form_id;
482 --
483 -- ----------------------------------------------------------------------------
484 -- |-------------------------< chk_form_template_id >-------------------------|
485 -- ----------------------------------------------------------------------------
486 Procedure chk_form_template_id
487   (p_form_property_id             in number
488   ,p_form_template_id             in number
489   ) is
490 --
491   l_proc  varchar2(72) := g_package||'chk_form_template_id';
492 --
493 Begin
494   hr_utility.set_location('Entering:'||l_proc, 5);
495   --
496   -- No additional validation required
497   --
498   null;
499   --
500   hr_utility.set_location(' Leaving:'||l_proc, 10);
501 End chk_form_template_id;
502 --
503 -- ----------------------------------------------------------------------------
504 -- |----------------------------< chk_help_target >---------------------------|
505 -- ----------------------------------------------------------------------------
506 Procedure chk_help_target
507   (p_form_property_id             in number
508   ,p_help_target                  in varchar2
509   ) is
510 --
511   l_proc  varchar2(72) := g_package||'chk_help_target';
512 --
513 Begin
514   hr_utility.set_location('Entering:'||l_proc, 5);
515   --
516   -- No additional validation required
517   --
518   null;
519   --
520   hr_utility.set_location(' Leaving:'||l_proc, 10);
521 End chk_help_target;
522 --
523 -- ----------------------------------------------------------------------------
524 -- |------------------------------< chk_delete >------------------------------|
525 -- ----------------------------------------------------------------------------
526 Procedure chk_delete
527   (p_rec                          in hr_fmp_shd.g_rec_type
528   ) is
529 --
530   l_proc  varchar2(72) := g_package||'chk_delete';
531 --
532 Begin
533   hr_utility.set_location('Entering:'||l_proc, 5);
534   --
535   -- No additional validation required
536   --
537   null;
538   --
539   hr_utility.set_location(' Leaving:'||l_proc, 10);
540 End chk_delete;
541 --
542 -- ----------------------------------------------------------------------------
543 -- |---------------------------< insert_validate >----------------------------|
544 -- ----------------------------------------------------------------------------
545 Procedure insert_validate
546   (p_rec                          in hr_fmp_shd.g_rec_type
547   ) is
548 --
549   l_proc  varchar2(72) := g_package||'insert_validate';
550 --
551 Begin
552   hr_utility.set_location('Entering:'||l_proc, 5);
553   --
554   -- Call all supporting business operations
555   -- No business group context.  HR_STANDARD_LOOKUPS used for validation.
556   --
557   chk_appl_form_and_template
558     (p_form_property_id             => p_rec.form_property_id
559     ,p_object_version_number        => p_rec.object_version_number
560     ,p_application_id               => p_rec.application_id
561     ,p_form_id                      => p_rec.form_id
562     ,p_form_template_id             => p_rec.form_template_id
563     );
564   --
565   IF (p_rec.application_id is not null OR
566       p_rec.application_id <> hr_api.g_number) THEN
567   chk_application_id
568     (p_form_property_id             => p_rec.form_property_id
569     ,p_application_id               => p_rec.application_id
570     );
571   END IF;
572   --
573   IF (p_rec.form_id is not null OR
574       p_rec.form_id <> hr_api.g_number) THEN
575   chk_form_id
576     (p_form_property_id             => p_rec.form_property_id
577     ,p_form_id                      => p_rec.form_id
578     ,p_application_id               => p_rec.application_id
579     );
580   END IF;
581   --
582   chk_form_template_id
583     (p_form_property_id             => p_rec.form_property_id
584     ,p_form_template_id             => p_rec.form_template_id
585     );
586   --
587   chk_help_target
588     (p_form_property_id             => p_rec.form_property_id
589     ,p_help_target                  => p_rec.help_target
590     );
591   --
592   chk_ddf
593     (p_rec                          => p_rec
594     );
595   --
596   hr_utility.set_location(' Leaving:'||l_proc, 10);
597 End insert_validate;
598 --
599 -- ----------------------------------------------------------------------------
600 -- |---------------------------< update_validate >----------------------------|
601 -- ----------------------------------------------------------------------------
602 Procedure update_validate
603   (p_rec                          in hr_fmp_shd.g_rec_type
604   ) is
605 --
606   l_proc  varchar2(72) := g_package||'update_validate';
607 --
608 Begin
609   hr_utility.set_location('Entering:'||l_proc, 5);
610   --
611   -- Call all supporting business operations
612   -- No business group context.  HR_STANDARD_LOOKUPS used for validation.
613   --
614   chk_non_updateable_args
615     (p_rec              => p_rec
616     );
617   --
618   chk_appl_form_and_template
619     (p_form_property_id             => p_rec.form_property_id
620     ,p_object_version_number        => p_rec.object_version_number
621     ,p_application_id               => p_rec.application_id
622     ,p_form_id                      => p_rec.form_id
623     ,p_form_template_id             => p_rec.form_template_id
624     );
625   --
626   IF (p_rec.application_id is not null OR
627       p_rec.application_id <> hr_api.g_number) THEN
628   chk_application_id
629     (p_form_property_id             => p_rec.form_property_id
630     ,p_application_id               => p_rec.application_id
631     );
632   END IF;
633   --
634   IF (p_rec.form_id is not null OR
635       p_rec.form_id <> hr_api.g_number) THEN
636   chk_form_id
637     (p_form_property_id             => p_rec.form_property_id
638     ,p_form_id                      => p_rec.form_id
639     ,p_application_id               => p_rec.application_id
640     );
641   END IF;
642   --
643   chk_form_template_id
644     (p_form_property_id             => p_rec.form_property_id
645     ,p_form_template_id             => p_rec.form_template_id
646     );
647   --
648   chk_help_target
649     (p_form_property_id             => p_rec.form_property_id
650     ,p_help_target                  => p_rec.help_target
651     );
652   --
653   chk_ddf
654     (p_rec                          => p_rec
655     );
656   --
657   hr_utility.set_location(' Leaving:'||l_proc, 10);
658 End update_validate;
659 --
660 -- ----------------------------------------------------------------------------
661 -- |---------------------------< delete_validate >----------------------------|
662 -- ----------------------------------------------------------------------------
663 Procedure delete_validate
664   (p_rec                          in hr_fmp_shd.g_rec_type
665   ) is
666 --
667   l_proc  varchar2(72) := g_package||'delete_validate';
668 --
669 Begin
670   hr_utility.set_location('Entering:'||l_proc, 5);
671   --
672   -- Call all supporting business operations
673   --
674   chk_delete
675     (p_rec                          => p_rec
676     );
677   --
678   hr_utility.set_location(' Leaving:'||l_proc, 10);
679 End delete_validate;
680 --
681 end hr_fmp_bus;