[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;