[Home] [Help]
PACKAGE BODY: APPS.HR_FGT_BUS
Source
1 Package Body hr_fgt_bus as
2 /* $Header: hrfgtrhi.pkb 115.3 2002/12/03 11:09:48 hjonnala noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' hr_fgt_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 g_language varchar2(4) default null;
16 --
17 -- ---------------------------------------------------------------------------
18 -- |----------------------< set_security_group_id >--------------------------|
19 -- ---------------------------------------------------------------------------
20 --
21 Procedure set_security_group_id
22 (p_form_data_group_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_fdg_bus.set_security_group_id
32 (p_form_data_group_id => p_form_data_group_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_data_group_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_fdg_bus.return_legislation_code
57 (p_form_data_group_id => p_form_data_group_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_fgt_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_fgt_shd.api_updating
105 (p_form_data_group_id => p_rec.form_data_group_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_data_group_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_fgt_shd.api_updating
147 (p_form_data_group_id => p_form_data_group_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_fgt_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_data_group_name >-----------------------|
198 -- ----------------------------------------------------------------------------
199 Procedure chk_user_data_group_name
200 (p_form_data_group_id in number
201 ,p_language in varchar2
202 ,p_user_data_group_name in varchar2
203 ) is
204 --
205 l_proc varchar2(72) := g_package || 'chk_user_data_group_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_data_group_name'
216 ,p_argument_value => p_user_data_group_name
217 );
218 --
219 hr_utility.set_location('Leaving:'||l_proc, 100);
220 End chk_user_data_group_name;
221 --
222 -- ----------------------------------------------------------------------------
223 -- |---------------------------< chk_description >----------------------------|
224 -- ----------------------------------------------------------------------------
225 Procedure chk_description
226 (p_form_data_group_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_fgt_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_fgt_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_data_group_id => p_rec.form_data_group_id
280 ,p_language => p_rec.language
281 ,p_source_lang => p_rec.source_lang
282 );
283 --
284 chk_user_data_group_name
285 (p_form_data_group_id => p_rec.form_data_group_id
286 ,p_language => p_rec.language
287 ,p_user_data_group_name => p_rec.user_data_group_name
288 );
289 --
290 chk_description
291 (p_form_data_group_id => p_rec.form_data_group_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_fgt_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_data_group_id => p_rec.form_data_group_id
320 ,p_language => p_rec.language
321 ,p_source_lang => p_rec.source_lang
322 );
323 --
324 chk_user_data_group_name
325 (p_form_data_group_id => p_rec.form_data_group_id
326 ,p_language => p_rec.language
327 ,p_user_data_group_name => p_rec.user_data_group_name
328 );
329 --
330 chk_description
331 (p_form_data_group_id => p_rec.form_data_group_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_fgt_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_fgt_bus;