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