[Home] [Help]
PACKAGE BODY: APPS.HR_TTP_BUS
Source
1 Package Body hr_ttp_bus as
2 /* $Header: hrttprhi.pkb 115.5 2002/12/03 13:51:39 raranjan noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' hr_ttp_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_template_tab_page_id number default null;
15 --
16 -- ---------------------------------------------------------------------------
17 -- |----------------------< set_security_group_id >--------------------------|
18 -- ---------------------------------------------------------------------------
19 --
20 Procedure set_security_group_id
21 (p_template_tab_page_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 -- ---------------------------------------------------------------------------
40 -- |---------------------< return_legislation_code >-------------------------|
41 -- ---------------------------------------------------------------------------
42 --
43 Function return_legislation_code
44 (p_template_tab_page_id in number
45 )
46 Return Varchar2 Is
47 --
48 -- Declare cursor
49 --
50 cursor csr_leg_code is
51 select tmp.legislation_code
52 from hr_form_templates_b tmp
53 ,hr_template_windows_b twn
54 ,hr_template_canvases_b tcn
55 ,hr_template_tab_pages_b ttp
56 where tmp.form_template_id = twn.form_template_id
57 and twn.template_window_id = tcn.template_window_id
58 and tcn.template_canvas_id = ttp.template_canvas_id
59 and ttp.template_tab_page_id = p_template_tab_page_id;
60 --
61 -- Declare local variables
62 --
63 l_legislation_code varchar2(150);
64 l_proc varchar2(72) := g_package||'return_legislation_code';
65 --
66 Begin
67 --
68 hr_utility.set_location('Entering:'|| l_proc, 10);
69 --
70 -- Ensure that all the mandatory parameter are not null
71 --
72 hr_api.mandatory_arg_error
73 (p_api_name => l_proc
74 ,p_argument => 'template_tab_page_id'
75 ,p_argument_value => p_template_tab_page_id
76 );
77 --
78 if ( nvl(hr_ttp_bus.g_template_tab_page_id, hr_api.g_number)
79 = p_template_tab_page_id) then
80 --
81 -- The legislation code has already been found with a previous
82 -- call to this function. Just return the value in the global
83 -- variable.
84 --
85 l_legislation_code := hr_ttp_bus.g_legislation_code;
86 hr_utility.set_location(l_proc, 20);
87 else
88 --
89 -- The ID is different to the last call to this function
90 -- or this is the first call to this function.
91 --
92 open csr_leg_code;
93 fetch csr_leg_code into l_legislation_code;
94 --
95 if csr_leg_code%notfound then
96 --
97 -- The primary key is invalid therefore we must error
98 --
99 close csr_leg_code;
100 fnd_message.set_name('PAY','HR_7220_INVALID_PRIMARY_KEY');
101 fnd_message.raise_error;
102 end if;
103 hr_utility.set_location(l_proc,30);
104 --
105 -- Set the global variables so the values are
106 -- available for the next call to this function.
107 --
108 close csr_leg_code;
109 hr_ttp_bus.g_template_tab_page_id := p_template_tab_page_id;
110 hr_ttp_bus.g_legislation_code := l_legislation_code;
111 end if;
112 hr_utility.set_location(' Leaving:'|| l_proc, 40);
113 return l_legislation_code;
114 end return_legislation_code;
115 --
116 -- ----------------------------------------------------------------------------
117 -- |-----------------------< chk_non_updateable_args >------------------------|
118 -- ----------------------------------------------------------------------------
119 -- {Start Of Comments}
120 --
121 -- Description:
122 -- This procedure is used to ensure that non updateable attributes have
123 -- not been updated. If an attribute has been updated an error is generated.
124 --
125 -- Pre Conditions:
126 -- g_old_rec has been populated with details of the values currently in
127 -- the database.
128 --
129 -- In Arguments:
130 -- p_rec has been populated with the updated values the user would like the
131 -- record set to.
132 --
133 -- Post Success:
134 -- Processing continues if all the non updateable attributes have not
135 -- changed.
136 --
137 -- Post Failure:
138 -- An application error is raised if any of the non updatable attributes
139 -- have been altered.
140 --
141 -- {End Of Comments}
142 -- ----------------------------------------------------------------------------
143 Procedure chk_non_updateable_args
144 (p_rec in hr_ttp_shd.g_rec_type
145 ) IS
146 --
147 l_proc varchar2(72) := g_package || 'chk_non_updateable_args';
148 l_error EXCEPTION;
149 l_argument varchar2(30);
150 --
151 Begin
152 --
153 -- Only proceed with the validation if a row exists for the current
154 -- record in the HR Schema.
155 --
156 IF NOT hr_ttp_shd.api_updating
157 (p_template_tab_page_id => p_rec.template_tab_page_id
158 ,p_object_version_number => p_rec.object_version_number
159 ) THEN
160 fnd_message.set_name('PER', 'HR_6153_ALL_PROCEDURE_FAIL');
161 fnd_message.set_token('PROCEDURE ', l_proc);
162 fnd_message.set_token('STEP ', '5');
163 fnd_message.raise_error;
164 END IF;
165 --
166 IF (nvl(p_rec.form_tab_page_id,hr_api.g_number) <>
167 nvl(hr_ttp_shd.g_old_rec.form_tab_page_id,hr_api.g_number)
168 ) THEN
169 l_argument := 'form_tab_page_id';
170 RAISE l_error;
171 END IF;
172 --
173 IF (nvl(p_rec.template_canvas_id,hr_api.g_number) <>
174 nvl(hr_ttp_shd.g_old_rec.template_canvas_id,hr_api.g_number)
175 ) THEN
176 l_argument := 'template_canvas_id';
177 RAISE l_error;
178 END IF;
179 --
180 EXCEPTION
181 WHEN l_error THEN
182 hr_api.argument_changed_error
183 (p_api_name => l_proc
184 ,p_argument => l_argument);
185 WHEN OTHERS THEN
186 RAISE;
187 End chk_non_updateable_args;
188 --
189 -- ----------------------------------------------------------------------------
190 -- |-------------------------< chk_form_tab_page_id >-------------------------|
191 -- ----------------------------------------------------------------------------
192 Procedure chk_form_tab_page_id
193 (p_template_tab_page_id in number
194 ,p_object_version_number in number
195 ,p_form_tab_page_id in number
196 ) is
197 --
198 l_proc varchar2(72) := g_package || 'chk_form_tab_page_id';
199 l_api_updating boolean;
200 --
201 Begin
202 hr_utility.set_location('Entering:'||l_proc, 10);
203 --
204 -- Check value has been passed
205 --
206 hr_api.mandatory_arg_error
207 (p_api_name => l_proc
208 ,p_argument => 'form_tab_page_id'
209 ,p_argument_value => p_form_tab_page_id
210 );
211 --
212 hr_utility.set_location(' Leaving:'||l_proc, 100);
213 End chk_form_tab_page_id;
214 --
215 -- ----------------------------------------------------------------------------
216 -- |------------------------< chk_template_canvas_id >------------------------|
217 -- ----------------------------------------------------------------------------
218 Procedure chk_template_canvas_id
219 (p_template_tab_page_id in number
220 ,p_object_version_number in number
221 ,p_template_canvas_id in number
222 ) is
223 --
224 l_proc varchar2(72) := g_package || 'chk_template_canvas_id';
225 l_api_updating boolean;
226 --
227 Begin
228 hr_utility.set_location('Entering:'||l_proc, 10);
229 --
230 -- Check value has been passed
231 --
232 hr_api.mandatory_arg_error
233 (p_api_name => l_proc
234 ,p_argument => 'template_canvas_id'
235 ,p_argument_value => p_template_canvas_id
236 );
237 --
238 hr_utility.set_location(' Leaving:'||l_proc, 100);
239 End chk_template_canvas_id;
240 --
241 -- ----------------------------------------------------------------------------
242 -- |------------------------< chk_tab_page_and_canvas >-----------------------|
243 -- ----------------------------------------------------------------------------
244 Procedure chk_tab_page_and_canvas
245 (p_template_tab_page_id in number
246 ,p_object_version_number in number
247 ,p_form_tab_page_id in number
248 ,p_template_canvas_id in number
249 ) is
250 --
251 cursor csr_form_tab_page is
252 select ftp.form_canvas_id
253 from hr_form_tab_pages_b ftp
254 where ftp.form_tab_page_id = p_form_tab_page_id;
255 --
256 cursor csr_template_canvas is
257 select tcn.form_canvas_id
258 from hr_template_canvases_b tcn
259 where tcn.template_canvas_id = p_template_canvas_id;
260 --
261 l_proc varchar2(72) := g_package || 'chk_tab_page_and_canvas';
262 l_api_updating boolean;
263 l_tab_page_canvas_id number;
264 l_canvas_canvas_id number;
265 --
266 Begin
267 hr_utility.set_location('Entering:'||l_proc, 10);
268 --
269 l_api_updating := hr_ttp_shd.api_updating
270 (p_template_tab_page_id => p_template_tab_page_id
271 ,p_object_version_number => p_object_version_number
272 );
273 hr_utility.set_location(l_proc, 20);
274 --
275 -- Only proceed with SQL validation if absolutely necessary
276 --
277 if ( ( l_api_updating
278 and ( nvl(hr_ttp_shd.g_old_rec.form_tab_page_id,hr_api.g_number) <>
279 nvl(p_form_tab_page_id,hr_api.g_number)
280 or nvl(hr_ttp_shd.g_old_rec.template_canvas_id,hr_api.g_number) <>
281 nvl(p_template_canvas_id,hr_api.g_number)))
282 or (NOT l_api_updating)) then
283 --
284 hr_utility.set_location(l_proc,30);
285 --
286 -- Check form tab page and template canvas reference same form canvas
287 --
288 open csr_form_tab_page;
289 fetch csr_form_tab_page into l_tab_page_canvas_id;
290 if csr_form_tab_page%notfound then
291 close csr_form_tab_page;
292 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
293 fnd_message.set_token('PROCEDURE', l_proc);
294 fnd_message.set_token('STEP','10');
295 fnd_message.raise_error;
296 end if;
297 close csr_form_tab_page;
298 --
299 open csr_template_canvas;
300 fetch csr_template_canvas into l_canvas_canvas_id;
301 if csr_template_canvas%notfound then
302 close csr_template_canvas;
303 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
304 fnd_message.set_token('PROCEDURE', l_proc);
305 fnd_message.set_token('STEP','20');
306 fnd_message.raise_error;
307 end if;
308 close csr_template_canvas;
309 --
310 hr_utility.set_location(l_proc,40);
311 --
312 if nvl(l_tab_page_canvas_id,hr_api.g_number) <>
313 nvl(l_canvas_canvas_id,hr_api.g_number) then
314 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
315 fnd_message.set_token('PROCEDURE', l_proc);
316 fnd_message.set_token('STEP','30');
317 fnd_message.raise_error;
318 end if;
319 --
320 end if;
321 --
322 hr_utility.set_location(' Leaving:'||l_proc, 100);
323 End chk_tab_page_and_canvas;
324 --
325 -- ----------------------------------------------------------------------------
326 -- |------------------------------< chk_delete >------------------------------|
327 -- ----------------------------------------------------------------------------
328 Procedure chk_delete
329 (p_rec in hr_ttp_shd.g_rec_type
330 ) is
331 --
332 l_proc varchar2(72) := g_package||'chk_delete';
333 --
334 Begin
335 hr_utility.set_location('Entering:'||l_proc, 5);
336 --
337 -- No additional validation required
338 --
339 null;
340 --
341 hr_utility.set_location(' Leaving:'||l_proc, 10);
342 End chk_delete;
343 --
344 -- ----------------------------------------------------------------------------
345 -- |---------------------------< insert_validate >----------------------------|
346 -- ----------------------------------------------------------------------------
347 Procedure insert_validate
348 (p_rec in hr_ttp_shd.g_rec_type
349 ) is
350 --
351 l_proc varchar2(72) := g_package||'insert_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_form_tab_page_id
360 (p_template_tab_page_id => p_rec.template_tab_page_id
361 ,p_object_version_number => p_rec.object_version_number
362 ,p_form_tab_page_id => p_rec.form_tab_page_id
363 );
364 --
365 chk_template_canvas_id
366 (p_template_tab_page_id => p_rec.template_tab_page_id
367 ,p_object_version_number => p_rec.object_version_number
368 ,p_template_canvas_id => p_rec.template_canvas_id
369 );
370 --
371 chk_tab_page_and_canvas
372 (p_template_tab_page_id => p_rec.template_tab_page_id
373 ,p_object_version_number => p_rec.object_version_number
374 ,p_form_tab_page_id => p_rec.form_tab_page_id
375 ,p_template_canvas_id => p_rec.template_canvas_id
376 );
377 --
378 hr_utility.set_location(' Leaving:'||l_proc, 10);
379 End insert_validate;
380 --
381 -- ----------------------------------------------------------------------------
382 -- |---------------------------< update_validate >----------------------------|
383 -- ----------------------------------------------------------------------------
384 Procedure update_validate
385 (p_rec in hr_ttp_shd.g_rec_type
386 ) is
387 --
388 l_proc varchar2(72) := g_package||'update_validate';
389 --
390 Begin
391 hr_utility.set_location('Entering:'||l_proc, 5);
392 --
393 -- Call all supporting business operations
394 -- No business group context. HR_STANDARD_LOOKUPS used for validation.
395 --
396 chk_non_updateable_args
397 (p_rec => p_rec
398 );
399 --
400 chk_form_tab_page_id
401 (p_template_tab_page_id => p_rec.template_tab_page_id
402 ,p_object_version_number => p_rec.object_version_number
403 ,p_form_tab_page_id => p_rec.form_tab_page_id
404 );
405 --
406 chk_template_canvas_id
407 (p_template_tab_page_id => p_rec.template_tab_page_id
408 ,p_object_version_number => p_rec.object_version_number
409 ,p_template_canvas_id => p_rec.template_canvas_id
410 );
411 --
412 chk_tab_page_and_canvas
413 (p_template_tab_page_id => p_rec.template_tab_page_id
414 ,p_object_version_number => p_rec.object_version_number
415 ,p_form_tab_page_id => p_rec.form_tab_page_id
416 ,p_template_canvas_id => p_rec.template_canvas_id
417 );
418 --
419 hr_utility.set_location(' Leaving:'||l_proc, 10);
420 End update_validate;
421 --
422 -- ----------------------------------------------------------------------------
423 -- |---------------------------< delete_validate >----------------------------|
424 -- ----------------------------------------------------------------------------
425 Procedure delete_validate
426 (p_rec in hr_ttp_shd.g_rec_type
427 ) is
428 --
429 l_proc varchar2(72) := g_package||'delete_validate';
430 --
431 Begin
432 hr_utility.set_location('Entering:'||l_proc, 5);
433 --
434 -- Call all supporting business operations
435 --
436 chk_delete
437 (p_rec => p_rec
438 );
439 --
440 hr_utility.set_location(' Leaving:'||l_proc, 10);
441 End delete_validate;
442 --
443 end hr_ttp_bus;