DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_FDG_BUS

Source


1 Package Body hr_fdg_bus as
2 /* $Header: hrfdgrhi.pkb 115.4 2002/12/03 10:53:27 hjonnala noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  hr_fdg_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_data_group_id          number         default null;
15 --
16 --  ---------------------------------------------------------------------------
17 --  |----------------------< set_security_group_id >--------------------------|
18 --  ---------------------------------------------------------------------------
19 --
20 Procedure set_security_group_id
21   (p_form_data_group_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_data_group_id                   in     number
44   )
45   Return Varchar2 Is
46   --
47   l_legislation_code  varchar2(150);
48   l_proc              varchar2(72)  :=  g_package||'return_legislation_code';
49   --
50 Begin
51   --
52   hr_utility.set_location('Entering:'|| l_proc, 10);
53   --
54   -- Legislation code not available for form data groups
55   --
56   l_legislation_code := null;
57   --
58   hr_utility.set_location(' Leaving:'|| l_proc, 40);
59   return l_legislation_code;
60 end return_legislation_code;
61 --
62 -- ----------------------------------------------------------------------------
63 -- |-----------------------< chk_non_updateable_args >------------------------|
64 -- ----------------------------------------------------------------------------
65 -- {Start Of Comments}
66 --
67 -- Description:
68 --   This procedure is used to ensure that non updateable attributes have
69 --   not been updated. If an attribute has been updated an error is generated.
70 --
71 -- Pre Conditions:
72 --   g_old_rec has been populated with details of the values currently in
73 --   the database.
74 --
75 -- In Arguments:
76 --   p_rec has been populated with the updated values the user would like the
77 --   record set to.
78 --
79 -- Post Success:
80 --   Processing continues if all the non updateable attributes have not
81 --   changed.
82 --
83 -- Post Failure:
84 --   An application error is raised if any of the non updatable attributes
85 --   have been altered.
86 --
87 -- {End Of Comments}
88 -- ----------------------------------------------------------------------------
89 Procedure chk_non_updateable_args
90   (p_rec in hr_fdg_shd.g_rec_type
91   ) IS
92 --
93   l_proc     varchar2(72) := g_package || 'chk_non_updateable_args';
94   l_error    EXCEPTION;
95   l_argument varchar2(30);
96 --
97 Begin
98   --
99   -- Only proceed with the validation if a row exists for the current
100   -- record in the HR Schema.
101   --
102   IF NOT hr_fdg_shd.api_updating
103       (p_form_data_group_id                   => p_rec.form_data_group_id
104       ,p_object_version_number                => p_rec.object_version_number
105       ) THEN
106      fnd_message.set_name('PER', 'HR_6153_ALL_PROCEDURE_FAIL');
107      fnd_message.set_token('PROCEDURE ', l_proc);
108      fnd_message.set_token('STEP ', '5');
109      fnd_message.raise_error;
110   END IF;
111   --
112   IF (nvl(p_rec.application_id,hr_api.g_number) <>
113       nvl(hr_fdg_shd.g_old_rec.application_id,hr_api.g_number)
114      ) THEN
115      l_argument := 'application_id';
116      RAISE l_error;
117   END IF;
118   --
119   IF (nvl(p_rec.form_id,hr_api.g_number) <>
120       nvl(hr_fdg_shd.g_old_rec.form_id,hr_api.g_number)
121      ) THEN
122      l_argument := 'form_id';
123      RAISE l_error;
124   END IF;
125   --
126   EXCEPTION
127     WHEN l_error THEN
128        hr_api.argument_changed_error
129          (p_api_name => l_proc
130          ,p_argument => l_argument);
131     WHEN OTHERS THEN
132        RAISE;
133 End chk_non_updateable_args;
134 --
135 -- ----------------------------------------------------------------------------
136 -- |--------------------------< chk_application_id >--------------------------|
137 -- ----------------------------------------------------------------------------
138 Procedure chk_application_id
139   (p_form_data_group_id           in number
140   ,p_object_version_number        in number
141   ,p_application_id               in number
142   ) is
143   l_check number;
144   CURSOR cur_chk_app_id
145   IS
146   SELECT 1
147   FROM fnd_application
148   WHERE application_id = p_application_id;
149   --
150   l_proc                         varchar2(72) := g_package || 'chk_application_id';
151   l_api_updating                 boolean;
152   --
153 Begin
154   hr_utility.set_location('Entering:'||l_proc, 10);
155   --
156   -- Check value has been passed
157   --
158   hr_api.mandatory_arg_error
159     (p_api_name                     => l_proc
160     ,p_argument                     => 'application_id'
161     ,p_argument_value               => p_application_id
162     );
163   --
164   OPEN cur_chk_app_id;
165   FETCH cur_chk_app_id INTO l_check;
166   IF cur_chk_app_id%NOTFOUND THEN
167     CLOSE cur_chk_app_id;
168 -- error message
169     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
170     fnd_message.set_token('PROCEDURE', l_proc);
171     fnd_message.set_token('STEP','10');
172     fnd_message.raise_error;
173   END IF;
174   CLOSE cur_chk_app_id;
175 
176   hr_utility.set_location('Leaving:'||l_proc, 100);
177 End chk_application_id;
178 --
179 -- ----------------------------------------------------------------------------
180 -- |-----------------------------< chk_form_id >------------------------------|
181 -- ----------------------------------------------------------------------------
182 Procedure chk_form_id
183   (p_form_data_group_id           in number
184   ,p_object_version_number        in number
185   ,p_form_id                      in number
186   ,p_application_id               in number
187   ) is
188   --
189   l_check number;
190   CURSOR cur_chk_form_id
191   IS
192   SELECT 1
193   FROM fnd_form
194   WHERE form_id = p_form_id
195   AND application_id = p_application_id;
196   l_proc                         varchar2(72) := g_package || 'chk_form_id';
197   l_api_updating                 boolean;
198   --
199 Begin
200   hr_utility.set_location('Entering:'||l_proc, 10);
201   --
202   -- Check value has been passed
203   --
204   hr_api.mandatory_arg_error
205     (p_api_name                     => l_proc
206     ,p_argument                     => 'form_id'
207     ,p_argument_value               => p_form_id
208     );
209   --
210   OPEN cur_chk_form_id;
211   FETCH cur_chk_form_id INTO l_check;
212   IF cur_chk_form_id%NOTFOUND THEN
213     CLOSE cur_chk_form_id;
214 -- error message
215     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
216     fnd_message.set_token('PROCEDURE', l_proc);
217     fnd_message.set_token('STEP','10');
218     fnd_message.raise_error;
219   END IF;
220   CLOSE cur_chk_form_id;
221   --
222   hr_utility.set_location('Leaving:'||l_proc, 100);
223 End chk_form_id;
224 --
225 -- ----------------------------------------------------------------------------
226 -- |--------------------------< chk_data_group_name >-------------------------|
227 -- ----------------------------------------------------------------------------
228 Procedure chk_data_group_name
229   (p_form_data_group_id           in number
230   ,p_object_version_number        in number
231   ,p_data_group_name              in varchar2
232   ) is
233   --
234   l_proc                         varchar2(72) := g_package || 'chk_data_group_name';
235   l_api_updating                 boolean;
236   --
237 Begin
238   hr_utility.set_location('Entering:'||l_proc, 10);
239   --
240   -- Check value has been passed
241   --
242   hr_api.mandatory_arg_error
243     (p_api_name                     => l_proc
244     ,p_argument                     => 'data_group_name'
245     ,p_argument_value               => p_data_group_name
246     );
247   --
248   -- Check value is in uppercase
249   --
250   if p_data_group_name <> upper(p_data_group_name) then
251     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
252     fnd_message.set_token('PROCEDURE', l_proc);
253     fnd_message.set_token('STEP','10');
254     fnd_message.raise_error;
255   end if;
256   --
257   hr_utility.set_location('Leaving:'||l_proc, 100);
258 End chk_data_group_name;
259 --
260 -- ----------------------------------------------------------------------------
261 -- |------------------------------< chk_delete >------------------------------|
262 -- ----------------------------------------------------------------------------
263 Procedure chk_delete
264   (p_rec                          in hr_fdg_shd.g_rec_type
265   ) is
266 --
267   l_proc  varchar2(72) := g_package||'chk_delete';
268 --
269 Begin
270   hr_utility.set_location('Entering:'||l_proc, 5);
271   --
272   -- No additional validation required
273   --
274   null;
275   --
276   hr_utility.set_location(' Leaving:'||l_proc, 10);
277 End chk_delete;
278 --
279 -- ----------------------------------------------------------------------------
280 -- |---------------------------< insert_validate >----------------------------|
281 -- ----------------------------------------------------------------------------
282 Procedure insert_validate
283   (p_rec                          in hr_fdg_shd.g_rec_type
284   ) is
285 --
286   l_proc  varchar2(72) := g_package||'insert_validate';
287 --
288 Begin
289   hr_utility.set_location('Entering:'||l_proc, 5);
290   --
291   -- Call all supporting business operations
292   -- No business group context.  HR_STANDARD_LOOKUPS used for validation.
293   --
294   chk_application_id
295     (p_form_data_group_id           => p_rec.form_data_group_id
296     ,p_object_version_number        => p_rec.object_version_number
297     ,p_application_id               => p_rec.application_id
298     );
299   --
300   chk_form_id
301     (p_form_data_group_id           => p_rec.form_data_group_id
302     ,p_object_version_number        => p_rec.object_version_number
303     ,p_form_id                      => p_rec.form_id
304     ,p_application_id               => p_rec.application_id
305     );
306   --
307   chk_data_group_name
308     (p_form_data_group_id           => p_rec.form_data_group_id
309     ,p_object_version_number        => p_rec.object_version_number
310     ,p_data_group_name              => p_rec.data_group_name
311     );
312   --
313   hr_utility.set_location(' Leaving:'||l_proc, 10);
314 End insert_validate;
315 --
316 -- ----------------------------------------------------------------------------
317 -- |---------------------------< update_validate >----------------------------|
318 -- ----------------------------------------------------------------------------
319 Procedure update_validate
320   (p_rec                          in hr_fdg_shd.g_rec_type
321   ) is
322 --
323   l_proc  varchar2(72) := g_package||'update_validate';
324 --
325 Begin
326   hr_utility.set_location('Entering:'||l_proc, 5);
327   --
328   -- Call all supporting business operations
329   -- No business group context.  HR_STANDARD_LOOKUPS used for validation.
330   --
331   chk_non_updateable_args
332     (p_rec                          => p_rec
333     );
334   --
335   chk_application_id
336     (p_form_data_group_id           => p_rec.form_data_group_id
337     ,p_object_version_number        => p_rec.object_version_number
338     ,p_application_id               => p_rec.application_id
339     );
340   --
341   chk_form_id
342     (p_form_data_group_id           => p_rec.form_data_group_id
343     ,p_object_version_number        => p_rec.object_version_number
344     ,p_form_id                      => p_rec.form_id
345     ,p_application_id               => p_rec.application_id
346     );
347   --
348   chk_data_group_name
349     (p_form_data_group_id           => p_rec.form_data_group_id
350     ,p_object_version_number        => p_rec.object_version_number
351     ,p_data_group_name              => p_rec.data_group_name
352     );
353   --
354   hr_utility.set_location(' Leaving:'||l_proc, 10);
355 End update_validate;
356 --
357 -- ----------------------------------------------------------------------------
358 -- |---------------------------< delete_validate >----------------------------|
359 -- ----------------------------------------------------------------------------
360 Procedure delete_validate
361   (p_rec                          in hr_fdg_shd.g_rec_type
362   ) is
363 --
364   l_proc  varchar2(72) := g_package||'delete_validate';
365 --
366 Begin
367   hr_utility.set_location('Entering:'||l_proc, 5);
368   --
369   -- Call all supporting business operations
370   --
371   chk_delete
372     (p_rec                          => p_rec
373     );
374   --
375   hr_utility.set_location(' Leaving:'||l_proc, 10);
376 End delete_validate;
377 --
378 end hr_fdg_bus;