[Home] [Help]
PACKAGE BODY: APPS.HR_FSC_BUS
Source
1 Package Body hr_fsc_bus as
2 /* $Header: hrfscrhi.pkb 115.4 2002/12/03 12:56:30 hjonnala noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' hr_fsc_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_tab_stacked_canvas_id number default null;
15 --
16 -- ---------------------------------------------------------------------------
17 -- |----------------------< set_security_group_id >--------------------------|
18 -- ---------------------------------------------------------------------------
19 --
20 Procedure set_security_group_id
21 (p_form_tab_stacked_canvas_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_tab_stacked_canvas_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 canvases
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_fsc_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_fsc_shd.api_updating
103 (p_form_tab_stacked_canvas_id => p_rec.form_tab_stacked_canvas_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.form_tab_page_id,hr_api.g_number) <>
113 nvl(hr_fsc_shd.g_old_rec.form_tab_page_id,hr_api.g_number)
114 ) THEN
115 l_argument := 'form_tab_page_id';
116 RAISE l_error;
117 END IF;
118 --
119 IF (nvl(p_rec.form_canvas_id,hr_api.g_number) <>
120 nvl(hr_fsc_shd.g_old_rec.form_canvas_id,hr_api.g_number)
121 ) THEN
122 l_argument := 'form_canvas_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_form_tab_page_id >-------------------------|
137 -- ----------------------------------------------------------------------------
138 Procedure chk_form_tab_page_id
139 (p_form_tab_stacked_canvas_id in number
140 ,p_object_version_number in number
141 ,p_form_tab_page_id in number
142 ) is
143 --
144 l_proc varchar2(72) := g_package || 'chk_form_tab_page_id';
145 l_api_updating boolean;
146 --
147 Begin
148 hr_utility.set_location('Entering:'||l_proc, 10);
149 --
150 -- Check value has been passed
151 --
152 hr_api.mandatory_arg_error
153 (p_api_name => l_proc
154 ,p_argument => 'form_tab_page_id'
155 ,p_argument_value => p_form_tab_page_id
156 );
157 --
158 hr_utility.set_location('Leaving:'||l_proc, 100);
159 End chk_form_tab_page_id;
160 --
161 -- ----------------------------------------------------------------------------
162 -- |--------------------------< chk_form_canvas_id >--------------------------|
163 -- ----------------------------------------------------------------------------
164 Procedure chk_form_canvas_id
165 (p_form_tab_stacked_canvas_id in number
166 ,p_object_version_number in number
167 ,p_form_canvas_id in number
168 ) is
169 --
170 l_proc varchar2(72) := g_package || 'chk_form_canvas_id';
171 l_api_updating boolean;
172 --
173 Begin
174 hr_utility.set_location('Entering:'||l_proc, 10);
175 --
176 -- Check value has been passed
177 --
178 hr_api.mandatory_arg_error
179 (p_api_name => l_proc
180 ,p_argument => 'form_canvas_id'
181 ,p_argument_value => p_form_canvas_id
182 );
183 --
184 hr_utility.set_location('Leaving:'||l_proc, 100);
185 End chk_form_canvas_id;
186 --
187 -- ----------------------------------------------------------------------------
188 -- |------------------------< chk_tab_page_and_canvas >-----------------------|
189 -- ----------------------------------------------------------------------------
190 Procedure chk_tab_page_and_canvas
191 (p_form_tab_stacked_canvas_id in number
192 ,p_object_version_number in number
193 ,p_form_tab_page_id in number
194 ,p_form_canvas_id in number
195 ) is
196 --
197 cursor csr_form_tab_page is
198 select fcn.form_window_id
199 from hr_form_canvases_b fcn
200 ,hr_form_tab_pages_b ftp
201 where fcn.form_canvas_id = ftp.form_canvas_id
202 and ftp.form_tab_page_id = p_form_tab_page_id;
203 --
204 cursor csr_form_canvas is
205 select fcn.form_window_id
206 ,fcn.canvas_type
207 from hr_form_canvases_b fcn
208 where fcn.form_canvas_id = p_form_canvas_id;
209 --
210 l_proc varchar2(72) := g_package || 'chk_tab_page_and_canvas';
211 l_api_updating boolean;
212 l_tab_page_window_id number;
213 l_canvas_window_id number;
214 l_canvas_type varchar2(30);
215 --
216 Begin
217 hr_utility.set_location('Entering:'||l_proc, 10);
218 --
219 l_api_updating := hr_fsc_shd.api_updating
220 (p_form_tab_stacked_canvas_id => p_form_tab_stacked_canvas_id
221 ,p_object_version_number => p_object_version_number
222 );
223 hr_utility.set_location(l_proc,20);
224 --
225 -- Only proceed with SQL validation if absolutely necessary
226 --
227 if ( ( l_api_updating
228 and ( nvl(hr_fsc_shd.g_old_rec.form_tab_page_id,hr_api.g_number) <>
229 nvl(p_form_tab_page_id,hr_api.g_number)
230 or nvl(hr_fsc_shd.g_old_rec.form_canvas_id,hr_api.g_number) <>
231 nvl(p_form_canvas_id,hr_api.g_number)))
232 or (NOT l_api_updating)) then
233 --
234 hr_utility.set_location(l_proc,30);
235 --
236 open csr_form_tab_page;
237 fetch csr_form_tab_page into l_tab_page_window_id;
238 if csr_form_tab_page%notfound then
239 close csr_form_tab_page;
240 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
241 fnd_message.set_token('PROCEDURE', l_proc);
242 fnd_message.set_token('STEP','10');
243 fnd_message.raise_error;
244 end if;
245 close csr_form_tab_page;
246 --
247 hr_utility.set_location(l_proc,40);
248 --
249 open csr_form_canvas;
250 fetch csr_form_canvas into l_canvas_window_id, l_canvas_type;
251 if csr_form_canvas%notfound then
252 close csr_form_canvas;
253 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
254 fnd_message.set_token('PROCEDURE', l_proc);
255 fnd_message.set_token('STEP','20');
256 fnd_message.raise_error;
257 end if;
258 close csr_form_canvas;
259 --
260 hr_utility.set_location(l_proc,50);
261 --
262 -- Check the canvas is of type TAB_STACKED
263 --
264 if nvl(l_canvas_type,hr_api.g_varchar2) <> 'TAB_STACKED' then
265 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
266 fnd_message.set_token('PROCEDURE', l_proc);
267 fnd_message.set_token('STEP','30');
268 fnd_message.raise_error;
269 end if;
270 --
271 hr_utility.set_location(l_proc,60);
272 --
273 -- Check the tab page and canvas reference the same window
274 --
275 if nvl(l_tab_page_window_id,hr_api.g_number) <>
276 nvl(l_canvas_window_id,hr_api.g_number) then
277 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
278 fnd_message.set_token('PROCEDURE', l_proc);
279 fnd_message.set_token('STEP','40');
280 fnd_message.raise_error;
281 end if;
282 --
283 end if;
284 --
285 hr_utility.set_location('Leaving:'||l_proc, 100);
286 End chk_tab_page_and_canvas;
287 --
288 -- ----------------------------------------------------------------------------
289 -- |------------------------------< chk_delete >------------------------------|
290 -- ----------------------------------------------------------------------------
291 Procedure chk_delete
292 (p_rec in hr_fsc_shd.g_rec_type
293 ) is
294 --
295 l_proc varchar2(72) := g_package||'chk_delete';
296 --
297 Begin
298 hr_utility.set_location('Entering:'||l_proc, 5);
299 --
300 -- No additional validation required
301 --
302 null;
303 --
304 hr_utility.set_location(' Leaving:'||l_proc, 10);
305 End chk_delete;
306 --
307 -- ----------------------------------------------------------------------------
308 -- |---------------------------< insert_validate >----------------------------|
309 -- ----------------------------------------------------------------------------
310 Procedure insert_validate
311 (p_rec in hr_fsc_shd.g_rec_type
312 ) is
313 --
314 l_proc varchar2(72) := g_package||'insert_validate';
315 --
316 Begin
317 hr_utility.set_location('Entering:'||l_proc, 5);
318 --
319 -- Call all supporting business operations
320 -- No business group context. HR_STANDARD_LOOKUPS used for validation.
321 --
322 chk_form_tab_page_id
323 (p_form_tab_stacked_canvas_id => p_rec.form_tab_stacked_canvas_id
324 ,p_object_version_number => p_rec.object_version_number
325 ,p_form_tab_page_id => p_rec.form_tab_page_id
326 );
327 --
328 chk_form_canvas_id
329 (p_form_tab_stacked_canvas_id => p_rec.form_tab_stacked_canvas_id
330 ,p_object_version_number => p_rec.object_version_number
331 ,p_form_canvas_id => p_rec.form_canvas_id
332 );
333 --
334 chk_tab_page_and_canvas
335 (p_form_tab_stacked_canvas_id => p_rec.form_tab_stacked_canvas_id
336 ,p_object_version_number => p_rec.object_version_number
337 ,p_form_tab_page_id => p_rec.form_tab_page_id
338 ,p_form_canvas_id => p_rec.form_canvas_id
339 );
340 --
341 hr_utility.set_location(' Leaving:'||l_proc, 10);
342 End insert_validate;
343 --
344 -- ----------------------------------------------------------------------------
345 -- |---------------------------< update_validate >----------------------------|
346 -- ----------------------------------------------------------------------------
347 Procedure update_validate
348 (p_rec in hr_fsc_shd.g_rec_type
349 ) is
350 --
351 l_proc varchar2(72) := g_package||'update_validate';
352 --
353 Begin
354 hr_utility.set_location('Entering:'||l_proc, 5);
355 --
356 -- Call all supporting business operations
357 -- No business group context. HR_STANDARD_LOOKUPS used for validation.
358 --
359 chk_non_updateable_args
360 (p_rec => p_rec
361 );
362 --
363 chk_form_tab_page_id
364 (p_form_tab_stacked_canvas_id => p_rec.form_tab_stacked_canvas_id
365 ,p_object_version_number => p_rec.object_version_number
366 ,p_form_tab_page_id => p_rec.form_tab_page_id
367 );
368 --
369 chk_form_canvas_id
370 (p_form_tab_stacked_canvas_id => p_rec.form_tab_stacked_canvas_id
371 ,p_object_version_number => p_rec.object_version_number
372 ,p_form_canvas_id => p_rec.form_canvas_id
373 );
374 --
375 chk_tab_page_and_canvas
376 (p_form_tab_stacked_canvas_id => p_rec.form_tab_stacked_canvas_id
377 ,p_object_version_number => p_rec.object_version_number
378 ,p_form_tab_page_id => p_rec.form_tab_page_id
379 ,p_form_canvas_id => p_rec.form_canvas_id
380 );
381 --
382 hr_utility.set_location(' Leaving:'||l_proc, 10);
383 End update_validate;
384 --
385 -- ----------------------------------------------------------------------------
386 -- |---------------------------< delete_validate >----------------------------|
387 -- ----------------------------------------------------------------------------
388 Procedure delete_validate
389 (p_rec in hr_fsc_shd.g_rec_type
390 ) is
391 --
392 l_proc varchar2(72) := g_package||'delete_validate';
393 --
394 Begin
395 hr_utility.set_location('Entering:'||l_proc, 5);
396 --
397 -- Call all supporting business operations
398 --
399 chk_delete
400 (p_rec => p_rec
401 );
402 --
403 hr_utility.set_location(' Leaving:'||l_proc, 10);
404 End delete_validate;
405 --
406 end hr_fsc_bus;