[Home] [Help]
PACKAGE BODY: APPS.HR_SECURITY_USER_API
Source
1 Package Body hr_security_user_api as
2 /* $Header: hrseuapi.pkb 120.3 2005/11/08 16:29:57 vbanner noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'hr_security_user_api.';
7 g_debug boolean := hr_utility.debug_enabled;
8 --
9 -- ----------------------------------------------------------------------------
10 -- |---------------------< create_security_user >-----------------------------|
11 -- ----------------------------------------------------------------------------
12 --
13 PROCEDURE create_security_user
14 (p_validate in boolean default false
15 ,p_effective_date in date
16 ,p_user_id in number
17 ,p_security_profile_id in number
18 ,p_process_in_next_run_flag in varchar2 default 'Y'
19 ,p_security_user_id out nocopy number
20 ,p_object_version_number out nocopy number
21 ) IS
22
23 l_proc varchar2(72) := g_package||'create_security_user';
24 l_security_user_id number;
25 l_object_version_number number;
26
27 BEGIN
28
29 IF g_debug THEN
30
31 hr_utility.set_location('Entering:'|| l_proc, 10);
32 --
33 -- Pipe the main IN / IN OUT parameters for ease of debugging.
34 --
35 hr_utility.trace(' ');
36 hr_utility.trace(' --------------------------------'||
37 '---------------------------------');
38 hr_utility.trace(' IN / IN OUT PARAMETER '||
39 ' VALUE');
40 hr_utility.trace(' --------------------------------'||
41 '+--------------------------------');
42 IF p_validate THEN
43 hr_utility.trace(' p_validate '||
44 'TRUE');
45 ELSE
46 hr_utility.trace(' p_validate '||
47 'FALSE');
48 END IF;
49 hr_utility.trace(' p_effective_date '||
50 to_char(p_effective_date));
51 hr_utility.trace(' p_user_id '||
52 to_char(p_user_id));
53 hr_utility.trace(' p_security_profile_id '||
54 to_char(p_security_profile_id));
55 hr_utility.trace(' p_process_in_next_run_flag '||
56 p_process_in_next_run_flag);
57 hr_utility.trace(' --------------------------------'||
58 '---------------------------------');
59 hr_utility.trace(' ');
60
61 END IF;
62
63 --
64 -- Issue a savepoint
65 --
66 SAVEPOINT create_security_user;
67
68 IF g_debug THEN
69 hr_utility.set_location(l_proc, 20);
70 END IF;
71
72 --
73 -- Call Before Process User Hook
74 --
75 begin
76 hr_security_user_bk1.create_security_user_b
77 (p_effective_date => p_effective_date
78 ,p_user_id => p_user_id
79 ,p_security_profile_id => p_security_profile_id
80 ,p_process_in_next_run_flag => p_process_in_next_run_flag);
81 exception
82 when hr_api.cannot_find_prog_unit then
83 hr_api.cannot_find_prog_unit_error
84 (p_module_name => 'create_security_user'
85 ,p_hook_type => 'BP'
86 );
87 end;
88
89 IF g_debug THEN
90 hr_utility.set_location(l_proc, 30);
91 END IF;
92
93 --
94 -- Now call the insert row handler.
95 --
96 per_seu_ins.ins
97 (p_effective_date => p_effective_date
98 ,p_user_id => p_user_id
99 ,p_security_profile_id => p_security_profile_id
100 ,p_security_user_id => l_security_user_id
101 ,p_process_in_next_run_flag => p_process_in_next_run_flag
102 ,p_object_version_number => l_object_version_number
103 );
104
105 IF g_debug THEN
106 hr_utility.set_location(l_proc, 40);
107 END IF;
108
109 --
110 -- Call After Process User Hook
111 --
112 begin
113 hr_security_user_bk1.create_security_user_a
114 (p_effective_date => p_effective_date
115 ,p_user_id => p_user_id
116 ,p_security_profile_id => p_security_profile_id
117 ,p_security_user_id => l_security_user_id
118 ,p_process_in_next_run_flag => p_process_in_next_run_flag
119 ,p_object_version_number => l_object_version_number);
120 exception
121 when hr_api.cannot_find_prog_unit then
122 hr_api.cannot_find_prog_unit_error
123 (p_module_name => 'create_security_user'
124 ,p_hook_type => 'AP'
125 );
126 end;
127
128 IF g_debug THEN
129 hr_utility.set_location(l_proc, 50);
130 END IF;
131
132 --
133 -- When in validation only mode raise the Validate_Enabled exception
134 --
135 if p_validate then
136 raise hr_api.validate_enabled;
137 end if;
138
139 --
140 -- Set all output arguments
141 --
142 p_security_user_id := l_security_user_id;
143 p_object_version_number := l_object_version_number;
144
145 IF g_debug THEN
146 --
147 -- Pipe the main IN OUT / OUT parameters for ease of debugging.
148 --
149 hr_utility.trace(' ');
150 hr_utility.trace(' --------------------------------'||
151 '---------------------------------');
152 hr_utility.trace(' IN OUT / OUT PARAMETER '||
153 ' VALUE');
154 hr_utility.trace(' --------------------------------'||
155 '+--------------------------------');
156 hr_utility.trace(' p_security_user_id '||
157 to_char(p_security_user_id));
158 hr_utility.trace(' p_object_version_number '||
159 to_char(p_object_version_number));
160 hr_utility.trace(' p_process_in_next_run_flag '||
161 p_process_in_next_run_flag);
162 hr_utility.trace(' --------------------------------'||
163 '---------------------------------');
164 hr_utility.trace(' ');
165
166 hr_utility.set_location('Leaving: '||l_proc, 60);
167
168 END IF;
169
170 EXCEPTION
171
172 WHEN hr_api.validate_enabled THEN
173 --
174 -- As the Validate_Enabled exception has been raised
175 -- we must rollback to the savepoint
176 --
177 ROLLBACK to create_security_user;
178 --
179 -- Only set output warning arguments
180 -- (Any key or derived arguments must be set to null
181 -- when validation only mode is being used.)
182 --
183 p_security_user_id := null;
184 p_object_version_number := null;
185
186 IF g_debug THEN
187 hr_utility.set_location(' Leaving:'||l_proc, 980);
188 END IF;
189
190 WHEN OTHERS THEN
191 --
192 -- A validation or unexpected error has occured. Set the out
193 -- parameters to null.
194 --
195 ROLLBACK to create_security_user;
196 p_security_user_id := null;
197 p_object_version_number := null;
198
199 IF g_debug THEN
200 hr_utility.set_location(' Leaving:'||l_proc, 999);
201 END IF;
202
203 RAISE;
204
205 END create_security_user;
206 --
207 -- ----------------------------------------------------------------------------
208 -- |---------------------< update_security_user >-----------------------------|
209 -- ----------------------------------------------------------------------------
210 --
211 PROCEDURE update_security_user
212 (p_validate in boolean default false
213 ,p_effective_date in date
214 ,p_security_user_id in number
215 ,p_user_id in number default hr_api.g_number
216 ,p_security_profile_id in number default hr_api.g_number
217 ,p_process_in_next_run_flag in varchar2 default hr_api.g_varchar2
218 ,p_object_version_number in out nocopy number
219 ,p_del_static_lists_warning out nocopy boolean
220 ) IS
221
222 l_proc varchar2(72) := g_package||'update_security_user';
223 l_object_version_number number := p_object_version_number;
224 l_del_static_lists_warning boolean;
225
226 BEGIN
227
228 IF g_debug THEN
229
230 hr_utility.set_location('Entering:'|| l_proc, 10);
231 --
232 -- Pipe the main IN / IN OUT parameters for ease of debugging.
233 --
234 hr_utility.trace(' ');
235 hr_utility.trace(' --------------------------------'||
236 '---------------------------------');
237 hr_utility.trace(' IN / IN OUT PARAMETER '||
238 ' VALUE');
239 hr_utility.trace(' --------------------------------'||
240 '+--------------------------------');
241 IF p_validate THEN
242 hr_utility.trace(' p_validate '||
243 'TRUE');
244 ELSE
245 hr_utility.trace(' p_validate '||
246 'FALSE');
247 END IF;
248 hr_utility.trace(' p_effective_date '||
249 to_char(p_effective_date));
250 hr_utility.trace(' p_security_user_id '||
251 to_char(p_security_user_id));
252 hr_utility.trace(' p_user_id '||
253 to_char(p_user_id));
254 hr_utility.trace(' p_security_profile_id '||
255 to_char(p_security_profile_id));
256 hr_utility.trace(' p_process_in_next_run_flag '||
257 p_process_in_next_run_flag);
258 hr_utility.trace(' l_object_version_number '||
259 to_char(l_object_version_number));
260 hr_utility.trace(' --------------------------------'||
261 '---------------------------------');
262 hr_utility.trace(' ');
263
264 END IF;
265
266 --
267 -- Issue a savepoint
268 --
269 SAVEPOINT update_security_user;
270
271 IF g_debug THEN
272 hr_utility.set_location(l_proc, 20);
273 END IF;
274
275 --
276 -- Call Before Process User Hook
277 --
278 begin
279 hr_security_user_bk2.update_security_user_b
280 (p_effective_date => p_effective_date
281 ,p_security_user_id => p_security_user_id
282 ,p_user_id => p_user_id
283 ,p_security_profile_id => p_security_profile_id
284 ,p_process_in_next_run_flag => p_process_in_next_run_flag
285 ,p_object_version_number => l_object_version_number);
286 exception
287 when hr_api.cannot_find_prog_unit then
288 hr_api.cannot_find_prog_unit_error
289 (p_module_name => 'update_security_user'
290 ,p_hook_type => 'BP'
291 );
292 end;
293
294 IF g_debug THEN
295 hr_utility.set_location(l_proc, 30);
296 END IF;
297
298 --
299 -- Now call the update row handler.
300 --
301 per_seu_upd.upd
302 (p_effective_date => p_effective_date
303 ,p_security_user_id => p_security_user_id
304 ,p_object_version_number => l_object_version_number
305 ,p_user_id => p_user_id
306 ,p_security_profile_id => p_security_profile_id
307 ,p_process_in_next_run_flag => p_process_in_next_run_flag
308 ,p_del_static_lists_warning => l_del_static_lists_warning
309 );
310
311 IF g_debug THEN
312 hr_utility.set_location(l_proc, 40);
313 END IF;
314
315 --
316 -- Call After Process User Hook
317 --
318 begin
319 hr_security_user_bk2.update_security_user_a
320 (p_effective_date => p_effective_date
321 ,p_security_user_id => p_security_user_id
322 ,p_user_id => p_user_id
323 ,p_security_profile_id => p_security_profile_id
324 ,p_process_in_next_run_flag => p_process_in_next_run_flag
325 ,p_object_version_number => l_object_version_number
326 ,p_del_static_lists_warning => l_del_static_lists_warning);
327 exception
328 when hr_api.cannot_find_prog_unit then
329 hr_api.cannot_find_prog_unit_error
330 (p_module_name => 'update_security_user'
331 ,p_hook_type => 'AP'
332 );
333 end;
334
335 IF g_debug THEN
336 hr_utility.set_location(l_proc, 50);
337 END IF;
338
339 --
340 -- When in validation only mode raise the Validate_Enabled exception
341 --
342 if p_validate then
343 raise hr_api.validate_enabled;
344 end if;
345
346 --
347 -- Set all output arguments
348 --
349 p_object_version_number := l_object_version_number;
350 p_del_static_lists_warning := l_del_static_lists_warning;
351
352 IF g_debug THEN
353 --
354 -- Pipe the main IN OUT / OUT parameters for ease of debugging.
355 --
356 hr_utility.trace(' ');
357 hr_utility.trace(' --------------------------------'||
358 '---------------------------------');
359 hr_utility.trace(' IN OUT / OUT PARAMETER '||
360 ' VALUE');
361 hr_utility.trace(' --------------------------------'||
362 '+--------------------------------');
363 hr_utility.trace(' p_object_version_number '||
364 to_char(p_object_version_number));
365 hr_utility.trace(' p_process_in_next_run_flag '||
366 p_process_in_next_run_flag);
367 IF p_del_static_lists_warning THEN
368 hr_utility.trace(' p_del_static_lists_warning '||
369 'TRUE');
370 ELSE
371 hr_utility.trace(' p_del_static_lists_warning '||
372 'FALSE');
373 END IF;
374 hr_utility.trace(' --------------------------------'||
375 '---------------------------------');
376 hr_utility.trace(' ');
377
378 hr_utility.set_location('Leaving: '||l_proc, 60);
379
380 END IF;
381
382 EXCEPTION
383
384 WHEN hr_api.validate_enabled THEN
385 --
386 -- As the Validate_Enabled exception has been raised
387 -- we must rollback to the savepoint
388 --
389 ROLLBACK to update_security_user;
390 --
391 -- Only set output warning arguments
392 -- (Any key or derived arguments must be set to null
393 -- when validation only mode is being used.)
394 --
395 p_object_version_number := null;
396 p_del_static_lists_warning := l_del_static_lists_warning;
397
398 IF g_debug THEN
399 hr_utility.set_location(' Leaving:'||l_proc, 980);
400 END IF;
401
402 WHEN OTHERS THEN
403 --
404 -- A validation or unexpected error has occured. Set the out
405 -- parameters to null.
406 --
407 ROLLBACK to update_security_user;
408 p_object_version_number := null;
409 p_del_static_lists_warning := null;
410
411 IF g_debug THEN
412 hr_utility.set_location(' Leaving:'||l_proc, 999);
413 END IF;
414
415 RAISE;
416
417 END update_security_user;
418 --
419 -- ----------------------------------------------------------------------------
420 -- |---------------------< delete_security_user >-----------------------------|
421 -- ----------------------------------------------------------------------------
422 --
423 PROCEDURE delete_security_user
424 (p_validate in boolean default false
425 ,p_security_user_id in number
426 ,p_object_version_number in number
427 ,p_del_static_lists_warning out nocopy boolean
428 ) IS
429
430 l_proc varchar2(72) := g_package||'delete_security_user';
431 l_del_static_lists_warning boolean;
432
433 BEGIN
434
435 IF g_debug THEN
436
437 hr_utility.set_location('Entering:'|| l_proc, 10);
438 --
439 -- Pipe the main IN / IN OUT parameters for ease of debugging.
440 --
441 hr_utility.trace(' ');
442 hr_utility.trace(' --------------------------------'||
443 '---------------------------------');
444 hr_utility.trace(' IN / IN OUT PARAMETER '||
445 ' VALUE');
446 hr_utility.trace(' --------------------------------'||
447 '+--------------------------------');
448 IF p_validate THEN
449 hr_utility.trace(' p_validate '||
450 'TRUE');
451 ELSE
452 hr_utility.trace(' p_validate '||
453 'FALSE');
454 END IF;
455 hr_utility.trace(' p_security_user_id '||
456 to_char(p_security_user_id));
457 hr_utility.trace(' p_object_version_number '||
458 to_char(p_object_version_number));
459 hr_utility.trace(' --------------------------------'||
460 '---------------------------------');
461 hr_utility.trace(' ');
462
463 END IF;
464
465 --
466 -- Issue a savepoint
467 --
468 SAVEPOINT delete_security_user;
469
470 IF g_debug THEN
471 hr_utility.set_location(l_proc, 20);
472 END IF;
473
474 --
475 -- Call Before Process User Hook
476 --
477 begin
478 hr_security_user_bk3.delete_security_user_b
479 (p_security_user_id => p_security_user_id
480 ,p_object_version_number => p_object_version_number);
481 exception
482 when hr_api.cannot_find_prog_unit then
483 hr_api.cannot_find_prog_unit_error
484 (p_module_name => 'delete_security_user'
485 ,p_hook_type => 'BP'
486 );
487 end;
488
489 IF g_debug THEN
490 hr_utility.set_location(l_proc, 30);
491 END IF;
492
493 --
494 -- Now call the delete row handler.
495 --
496 per_seu_del.del
497 (p_security_user_id => p_security_user_id
498 ,p_object_version_number => p_object_version_number
499 ,p_del_static_lists_warning => l_del_static_lists_warning
500 );
501
502 IF g_debug THEN
503 hr_utility.set_location(l_proc, 40);
504 END IF;
505
506 --
507 -- Call After Process User Hook
508 --
509 begin
510 hr_security_user_bk3.delete_security_user_a
511 (p_security_user_id => p_security_user_id
512 ,p_object_version_number => p_object_version_number
513 ,p_del_static_lists_warning => l_del_static_lists_warning);
514 exception
515 when hr_api.cannot_find_prog_unit then
516 hr_api.cannot_find_prog_unit_error
517 (p_module_name => 'delete_security_user'
518 ,p_hook_type => 'AP'
519 );
520 end;
521
522 IF g_debug THEN
523 hr_utility.set_location(l_proc, 50);
524 END IF;
525
526 --
527 -- When in validation only mode raise the Validate_Enabled exception
528 --
529 if p_validate then
530 raise hr_api.validate_enabled;
531 end if;
532
533 --
534 -- Set all output arguments
535 --
536 p_del_static_lists_warning := l_del_static_lists_warning;
537
538 IF g_debug THEN
539 --
540 -- Pipe the main IN OUT / OUT parameters for ease of debugging.
541 --
542 hr_utility.trace(' ');
543 hr_utility.trace(' --------------------------------'||
544 '---------------------------------');
545 hr_utility.trace(' IN OUT / OUT PARAMETER '||
546 ' VALUE');
547 hr_utility.trace(' --------------------------------'||
548 '+--------------------------------');
549 IF p_del_static_lists_warning THEN
550 hr_utility.trace(' p_del_static_lists_warning '||
551 'TRUE');
552 ELSE
553 hr_utility.trace(' p_del_static_lists_warning '||
554 'FALSE');
555 END IF;
556 hr_utility.trace(' --------------------------------'||
557 '---------------------------------');
558 hr_utility.trace(' ');
559
560 hr_utility.set_location('Leaving: '||l_proc, 60);
561
562 END IF;
563
564 EXCEPTION
565
566 WHEN hr_api.validate_enabled THEN
567 --
568 -- As the Validate_Enabled exception has been raised
569 -- we must rollback to the savepoint
570 --
571 ROLLBACK to delete_security_user;
572 --
573 -- Only set output warning arguments
574 -- (Any key or derived arguments must be set to null
575 -- when validation only mode is being used.)
576 --
577 p_del_static_lists_warning := l_del_static_lists_warning;
578
579 IF g_debug THEN
580 hr_utility.set_location(' Leaving:'||l_proc, 980);
581 END IF;
582
583 WHEN OTHERS THEN
584 --
585 -- A validation or unexpected error has occured. Set the out
586 -- parameters to null.
587 --
588 ROLLBACK to delete_security_user;
589 p_del_static_lists_warning := null;
590
591 IF g_debug THEN
592 hr_utility.set_location(' Leaving:'||l_proc, 999);
593 END IF;
594
595 RAISE;
596
597 END delete_security_user;
598 --
599 end hr_security_user_api;