DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_FCT_BUS

Source


1 Package Body hr_fct_bus as
2 /* $Header: hrfctrhi.pkb 115.3 2002/12/03 10:28:03 hjonnala noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  hr_fct_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_canvas_id              number         default null;
15 g_language                    varchar2(4)    default null;
16 --
17 --  ---------------------------------------------------------------------------
18 --  |----------------------< set_security_group_id >--------------------------|
19 --  ---------------------------------------------------------------------------
20 --
21 Procedure set_security_group_id
22   (p_form_canvas_id                       in number
23   ) is
24   --
25   l_proc              varchar2(72)  :=  g_package||'set_security_group_id';
26   --
27 begin
28   --
29   hr_utility.set_location('Entering:'|| l_proc, 10);
30   --
31   hr_fcn_bus.set_security_group_id
32     (p_form_canvas_id               => p_form_canvas_id
33     );
34   --
35   hr_utility.set_location(' Leaving:'|| l_proc, 20);
36   --
37 end set_security_group_id;
38 --
39 --  ---------------------------------------------------------------------------
40 --  |---------------------< return_legislation_code >-------------------------|
41 --  ---------------------------------------------------------------------------
42 --
43 Function return_legislation_code
44   (p_form_canvas_id                       in     number
45   ,p_language                             in     varchar2
46   )
47   Return Varchar2 Is
48   --
49   l_legislation_code  varchar2(150);
50   l_proc              varchar2(72)  :=  g_package||'return_legislation_code';
51   --
52 Begin
53   --
54   hr_utility.set_location('Entering:'|| l_proc, 10);
55   --
56   l_legislation_code := hr_fcn_bus.return_legislation_code
57     (p_form_canvas_id               => p_form_canvas_id
58     );
59   --
60   hr_utility.set_location(' Leaving:'|| l_proc, 40);
61   return l_legislation_code;
62 end return_legislation_code;
63 --
64 -- ----------------------------------------------------------------------------
65 -- |-----------------------< chk_non_updateable_args >------------------------|
66 -- ----------------------------------------------------------------------------
67 -- {Start Of Comments}
68 --
69 -- Description:
70 --   This procedure is used to ensure that non updateable attributes have
71 --   not been updated. If an attribute has been updated an error is generated.
72 --
73 -- Pre Conditions:
74 --   g_old_rec has been populated with details of the values currently in
75 --   the database.
76 --
77 -- In Arguments:
78 --   p_rec has been populated with the updated values the user would like the
79 --   record set to.
80 --
81 -- Post Success:
82 --   Processing continues if all the non updateable attributes have not
83 --   changed.
84 --
85 -- Post Failure:
86 --   An application error is raised if any of the non updatable attributes
87 --   have been altered.
88 --
89 -- {End Of Comments}
90 -- ----------------------------------------------------------------------------
91 Procedure chk_non_updateable_args
92   (p_rec in hr_fct_shd.g_rec_type
93   ) IS
94 --
95   l_proc     varchar2(72) := g_package || 'chk_non_updateable_args';
96   l_error    EXCEPTION;
97   l_argument varchar2(30);
98 --
99 Begin
100   --
101   -- Only proceed with the validation if a row exists for the current
102   -- record in the HR Schema.
103   --
104   IF NOT hr_fct_shd.api_updating
105       (p_form_canvas_id                       => p_rec.form_canvas_id
106       ,p_language                             => p_rec.language
107       ) THEN
108      fnd_message.set_name('PER', 'HR_6153_ALL_PROCEDURE_FAIL');
109      fnd_message.set_token('PROCEDURE ', l_proc);
110      fnd_message.set_token('STEP ', '5');
111      fnd_message.raise_error;
112   END IF;
113   --
114   -- No non-updateable arguments
115   --
116   EXCEPTION
117     WHEN l_error THEN
118        hr_api.argument_changed_error
119          (p_api_name => l_proc
120          ,p_argument => l_argument);
121     WHEN OTHERS THEN
122        RAISE;
123 End chk_non_updateable_args;
124 --
125 -- ----------------------------------------------------------------------------
126 -- |---------------------------< chk_source_lang >----------------------------|
127 -- ----------------------------------------------------------------------------
128 Procedure chk_source_lang
129   (p_form_canvas_id               in number
130   ,p_language                     in varchar2
131   ,p_source_lang                  in varchar2
132   ) is
133   --
134   cursor csr_language is
135     select l.installed_flag
136       from fnd_languages l
137      where l.language_code = p_source_lang;
138   --
139   l_proc                         varchar2(72) := g_package || 'chk_source_lang';
140   l_api_updating                 boolean;
141   l_installed_flag               varchar2(30);
142   --
143 Begin
144   hr_utility.set_location('Entering:'||l_proc, 10);
145   --
146   l_api_updating := hr_fct_shd.api_updating
147     (p_form_canvas_id               => p_form_canvas_id
148     ,p_language                     => p_language
149     );
150   hr_utility.set_location(l_proc,20);
151   --
152   -- Only proceed with SQL validation if absolutely necessary
153   --
154   if (  (   l_api_updating
155         and nvl(hr_fct_shd.g_old_rec.source_lang,hr_api.g_varchar2) <>
156             nvl(p_source_lang,hr_api.g_varchar2))
157      or (NOT l_api_updating)) then
158     --
159     hr_utility.set_location(l_proc,30);
160     --
161     -- Check value has been passed
162     --
163     hr_api.mandatory_arg_error
164       (p_api_name                     => l_proc
165       ,p_argument                     => 'source_lang'
166       ,p_argument_value               => p_source_lang
167       );
168     --
169     hr_utility.set_location(l_proc,40);
170     --
171     -- Check source language exists and is base or installed language
172     --
173     open csr_language;
174     fetch csr_language into l_installed_flag;
175     if csr_language%notfound then
176       close csr_language;
177       fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
178       fnd_message.set_token('PROCEDURE', l_proc);
179       fnd_message.set_token('STEP','10');
180       fnd_message.raise_error;
181     end if;
182     close csr_language;
183     --
184     if nvl(l_installed_flag,hr_api.g_varchar2) not in ('I','B') then
185       fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
186       fnd_message.set_token('PROCEDURE', l_proc);
187       fnd_message.set_token('STEP','20');
188       fnd_message.raise_error;
189     end if;
190     --
191   end if;
192   --
193   hr_utility.set_location('Leaving:'||l_proc, 100);
194 End chk_source_lang;
195 --
196 -- ----------------------------------------------------------------------------
197 -- |-------------------------< chk_user_canvas_name >-------------------------|
198 -- ----------------------------------------------------------------------------
199 Procedure chk_user_canvas_name
200   (p_form_canvas_id               in number
201   ,p_language                     in varchar2
202   ,p_user_canvas_name             in varchar2
203   ) is
204   --
205   l_proc                         varchar2(72) := g_package || 'chk_user_canvas_name';
206   l_api_updating                 boolean;
207   --
208 Begin
209   hr_utility.set_location('Entering:'||l_proc, 10);
210   --
211   -- Check value has been passed
212   --
213   hr_api.mandatory_arg_error
214     (p_api_name                     => l_proc
215     ,p_argument                     => 'user_canvas_name'
216     ,p_argument_value               => p_user_canvas_name
217     );
218   --
219   hr_utility.set_location('Leaving:'||l_proc, 100);
220 End chk_user_canvas_name;
221 --
222 -- ----------------------------------------------------------------------------
223 -- |---------------------------< chk_description >----------------------------|
224 -- ----------------------------------------------------------------------------
225 Procedure chk_description
226   (p_form_canvas_id               in number
227   ,p_language                     in varchar2
228   ,p_description                  in varchar2
229   ) is
230   --
231   l_proc                         varchar2(72) := g_package || 'chk_description';
232   l_api_updating                 boolean;
233   --
234 Begin
235   hr_utility.set_location('Entering:'||l_proc, 10);
236   --
237   -- No additional validation required
238   --
239   null;
240   --
241   hr_utility.set_location('Leaving:'||l_proc, 100);
242 End chk_description;
243 --
244 -- ----------------------------------------------------------------------------
245 -- |------------------------------< chk_delete >------------------------------|
246 -- ----------------------------------------------------------------------------
247 Procedure chk_delete
248   (p_rec                          in hr_fct_shd.g_rec_type
249   ) is
250 --
251   l_proc  varchar2(72) := g_package||'chk_delete';
252 --
253 Begin
254   hr_utility.set_location('Entering:'||l_proc, 5);
255   --
256   -- No additional validation required
257   --
258   null;
259   --
260   hr_utility.set_location(' Leaving:'||l_proc, 10);
261 End chk_delete;
262 --
263 -- ----------------------------------------------------------------------------
264 -- |---------------------------< insert_validate >----------------------------|
265 -- ----------------------------------------------------------------------------
266 Procedure insert_validate
267   (p_rec                          in hr_fct_shd.g_rec_type
268   ) is
269 --
270   l_proc  varchar2(72) := g_package||'insert_validate';
271 --
272 Begin
273   hr_utility.set_location('Entering:'||l_proc, 5);
274   --
275   -- Call all supporting business operations
276   -- No business group context.  HR_STANDARD_LOOKUPS used for validation.
277   --
278   chk_source_lang
279     (p_form_canvas_id               => p_rec.form_canvas_id
280     ,p_language                     => p_rec.language
281     ,p_source_lang                  => p_rec.source_lang
282     );
283   --
284   chk_user_canvas_name
285     (p_form_canvas_id               => p_rec.form_canvas_id
286     ,p_language                     => p_rec.language
287     ,p_user_canvas_name             => p_rec.user_canvas_name
288     );
289   --
290   chk_description
291     (p_form_canvas_id               => p_rec.form_canvas_id
292     ,p_language                     => p_rec.language
293     ,p_description                  => p_rec.description
294     );
295   --
296   hr_utility.set_location(' Leaving:'||l_proc, 10);
297 End insert_validate;
298 --
299 -- ----------------------------------------------------------------------------
300 -- |---------------------------< update_validate >----------------------------|
301 -- ----------------------------------------------------------------------------
302 Procedure update_validate
303   (p_rec                          in hr_fct_shd.g_rec_type
304   ) is
305 --
306   l_proc  varchar2(72) := g_package||'update_validate';
307 --
308 Begin
309   hr_utility.set_location('Entering:'||l_proc, 5);
310   --
311   -- Call all supporting business operations
312   -- No business group context.  HR_STANDARD_LOOKUPS used for validation.
313   --
314   chk_non_updateable_args
315     (p_rec                          => p_rec
316     );
317   --
318   chk_source_lang
319     (p_form_canvas_id               => p_rec.form_canvas_id
320     ,p_language                     => p_rec.language
321     ,p_source_lang                  => p_rec.source_lang
322     );
323   --
324   chk_user_canvas_name
325     (p_form_canvas_id               => p_rec.form_canvas_id
326     ,p_language                     => p_rec.language
327     ,p_user_canvas_name             => p_rec.user_canvas_name
328     );
329   --
330   chk_description
331     (p_form_canvas_id               => p_rec.form_canvas_id
332     ,p_language                     => p_rec.language
333     ,p_description                  => p_rec.description
334     );
335   --
336   hr_utility.set_location(' Leaving:'||l_proc, 10);
337 End update_validate;
338 --
339 -- ----------------------------------------------------------------------------
340 -- |---------------------------< delete_validate >----------------------------|
341 -- ----------------------------------------------------------------------------
342 Procedure delete_validate
343   (p_rec                          in hr_fct_shd.g_rec_type
344   ) is
345 --
346   l_proc  varchar2(72) := g_package||'delete_validate';
347 --
348 Begin
349   hr_utility.set_location('Entering:'||l_proc, 5);
350   --
351   -- Call all supporting business operations
352   --
353   chk_delete
354     (p_rec                          => p_rec
355     );
356   --
357   hr_utility.set_location(' Leaving:'||l_proc, 10);
358 End delete_validate;
359 --
360 end hr_fct_bus;