DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PERIODS_OF_PLACEMENT_API

Source


1 Package Body hr_periods_of_placement_api as
2 /* $Header: pepdpapi.pkb 115.3 2003/12/03 07:09:02 adhunter noship $ */
3 --
4 -- Package Variables
5 --
6 g_package  varchar2(33) := '  hr_periods_of_placement_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |----------------------< update_pdp_details >-------------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure update_pdp_details
13   (p_validate                     in     boolean  default false
14   ,p_effective_date               in     date
15   ,p_object_version_number        in out nocopy number
16   ,p_person_id                    in     number
17   ,p_date_start                   in     date
18   ,p_projected_termination_date   in     date      default hr_api.g_date
19   ,p_termination_reason           in     varchar2  default hr_api.g_varchar2
20   ,p_attribute_category           in     varchar2  default hr_api.g_varchar2
21   ,p_attribute1                   in     varchar2  default hr_api.g_varchar2
22   ,p_attribute2                   in     varchar2  default hr_api.g_varchar2
23   ,p_attribute3                   in     varchar2  default hr_api.g_varchar2
24   ,p_attribute4                   in     varchar2  default hr_api.g_varchar2
25   ,p_attribute5                   in     varchar2  default hr_api.g_varchar2
26   ,p_attribute6                   in     varchar2  default hr_api.g_varchar2
27   ,p_attribute7                   in     varchar2  default hr_api.g_varchar2
28   ,p_attribute8                   in     varchar2  default hr_api.g_varchar2
29   ,p_attribute9                   in     varchar2  default hr_api.g_varchar2
30   ,p_attribute10                  in     varchar2  default hr_api.g_varchar2
31   ,p_attribute11                  in     varchar2  default hr_api.g_varchar2
32   ,p_attribute12                  in     varchar2  default hr_api.g_varchar2
33   ,p_attribute13                  in     varchar2  default hr_api.g_varchar2
34   ,p_attribute14                  in     varchar2  default hr_api.g_varchar2
35   ,p_attribute15                  in     varchar2  default hr_api.g_varchar2
36   ,p_attribute16                  in     varchar2  default hr_api.g_varchar2
37   ,p_attribute17                  in     varchar2  default hr_api.g_varchar2
38   ,p_attribute18                  in     varchar2  default hr_api.g_varchar2
39   ,p_attribute19                  in     varchar2  default hr_api.g_varchar2
40   ,p_attribute20                  in     varchar2  default hr_api.g_varchar2
41   ,p_attribute21                  in     varchar2  default hr_api.g_varchar2
42   ,p_attribute22                  in     varchar2  default hr_api.g_varchar2
43   ,p_attribute23                  in     varchar2  default hr_api.g_varchar2
44   ,p_attribute24                  in     varchar2  default hr_api.g_varchar2
45   ,p_attribute25                  in     varchar2  default hr_api.g_varchar2
46   ,p_attribute26                  in     varchar2  default hr_api.g_varchar2
47   ,p_attribute27                  in     varchar2  default hr_api.g_varchar2
48   ,p_attribute28                  in     varchar2  default hr_api.g_varchar2
49   ,p_attribute29                  in     varchar2  default hr_api.g_varchar2
50   ,p_attribute30                  in     varchar2  default hr_api.g_varchar2
51   ,p_information_category         in     varchar2  default hr_api.g_varchar2
52   ,p_information1                 in     varchar2  default hr_api.g_varchar2
53   ,p_information2                 in     varchar2  default hr_api.g_varchar2
54   ,p_information3                 in     varchar2  default hr_api.g_varchar2
55   ,p_information4                 in     varchar2  default hr_api.g_varchar2
56   ,p_information5                 in     varchar2  default hr_api.g_varchar2
57   ,p_information6                 in     varchar2  default hr_api.g_varchar2
58   ,p_information7                 in     varchar2  default hr_api.g_varchar2
59   ,p_information8                 in     varchar2  default hr_api.g_varchar2
60   ,p_information9                 in     varchar2  default hr_api.g_varchar2
61   ,p_information10                in     varchar2  default hr_api.g_varchar2
62   ,p_information11                in     varchar2  default hr_api.g_varchar2
63   ,p_information12                in     varchar2  default hr_api.g_varchar2
64   ,p_information13                in     varchar2  default hr_api.g_varchar2
65   ,p_information14                in     varchar2  default hr_api.g_varchar2
66   ,p_information15                in     varchar2  default hr_api.g_varchar2
67   ,p_information16                in     varchar2  default hr_api.g_varchar2
68   ,p_information17                in     varchar2  default hr_api.g_varchar2
69   ,p_information18                in     varchar2  default hr_api.g_varchar2
70   ,p_information19                in     varchar2  default hr_api.g_varchar2
71   ,p_information20                in     varchar2  default hr_api.g_varchar2
72   ,p_information21                in     varchar2  default hr_api.g_varchar2
73   ,p_information22                in     varchar2  default hr_api.g_varchar2
74   ,p_information23                in     varchar2  default hr_api.g_varchar2
75   ,p_information24                in     varchar2  default hr_api.g_varchar2
76   ,p_information25                in     varchar2  default hr_api.g_varchar2
77   ,p_information26                in     varchar2  default hr_api.g_varchar2
78   ,p_information27                in     varchar2  default hr_api.g_varchar2
79   ,p_information28                in     varchar2  default hr_api.g_varchar2
80   ,p_information29                in     varchar2  default hr_api.g_varchar2
81   ,p_information30                in     varchar2  default hr_api.g_varchar2
82   ) is
83 
84   --
85   -- Declare cursors and local variables
86   --
87 
88   l_proc                       varchar2(72) := g_package||'update_pdp_details';
89   l_effective_date             date;
90   l_date_start                 date;
91 
92   --
93   -- Declare out parameters
94   --
95   l_object_version_number      number;
96   l_ovn 			number := p_object_version_number;
97 
98 begin
99 
100   hr_utility.set_location('Entering:'|| l_proc, 10);
101 
102   --
103   -- Pipe the main IN / IN OUT parameters for ease of debugging.
104   --
105   hr_utility.trace(' ');
106   hr_utility.trace(' --------------------------------'||
107                    '---------------------------------');
108   hr_utility.trace(' IN / IN OUT NOCOPY PARAMETER           '||
109                    ' VALUE');
110   hr_utility.trace(' --------------------------------'||
111                    '+--------------------------------');
112   hr_utility.trace('  p_effective_date                 '||
113                       to_char(p_effective_date));
114   hr_utility.trace('  p_object_version_number          '||
115                       to_char(p_object_version_number));
116   hr_utility.trace('  p_person_id                      '||
117                       to_char(p_person_id));
118   hr_utility.trace('  p_date_start                     '||
119                       to_char(p_date_start));
120   hr_utility.trace('  p_termination_reason             '||
121                       p_termination_reason);
122   hr_utility.trace(' --------------------------------'||
123                    '---------------------------------');
124   hr_utility.trace(' ');
125 
126   --
127   -- Create a savepoint.
128   --
129   savepoint update_pdp_details;
130 
131 
132   l_object_version_number      := p_object_version_number;
133   --
134   -- Truncate the time portion from all IN date parameters
135   --
136   l_effective_date             := trunc(p_effective_date);
137   l_date_start                 := trunc(p_date_start);
138 
139   --
140   -- Call Before Process User Hook
141   --
142   begin
143 
144     hr_periods_of_placement_bk1.update_pdp_details_b
145      (p_object_version_number         => l_object_version_number
146      ,p_effective_date                => l_effective_date
147      ,p_person_id                     => p_person_id
148      ,p_date_start                    => l_date_start
149      ,p_projected_termination_date    => null
150      ,p_termination_reason            => p_termination_reason
151      ,p_attribute_category            => p_attribute_category
152      ,p_attribute1                    => p_attribute1
153      ,p_attribute2                    => p_attribute2
154      ,p_attribute3                    => p_attribute3
155      ,p_attribute4                    => p_attribute4
156      ,p_attribute5                    => p_attribute5
157      ,p_attribute6                    => p_attribute6
158      ,p_attribute7                    => p_attribute7
159      ,p_attribute8                    => p_attribute8
160      ,p_attribute9                    => p_attribute9
161      ,p_attribute10                   => p_attribute10
162      ,p_attribute11                   => p_attribute11
163      ,p_attribute12                   => p_attribute12
164      ,p_attribute13                   => p_attribute13
165      ,p_attribute14                   => p_attribute14
166      ,p_attribute15                   => p_attribute15
167      ,p_attribute16                   => p_attribute16
168      ,p_attribute17                   => p_attribute17
169      ,p_attribute18                   => p_attribute18
170      ,p_attribute19                   => p_attribute19
171      ,p_attribute20                   => p_attribute20
172      ,p_attribute21                   => p_attribute21
173      ,p_attribute22                   => p_attribute22
174      ,p_attribute23                   => p_attribute23
175      ,p_attribute24                   => p_attribute24
176      ,p_attribute25                   => p_attribute25
177      ,p_attribute26                   => p_attribute26
178      ,p_attribute27                   => p_attribute27
179      ,p_attribute28                   => p_attribute28
180      ,p_attribute29                   => p_attribute29
181      ,p_attribute30                   => p_attribute30
182      ,p_information_category          => p_information_category
183      ,p_information1                  => p_information1
184      ,p_information2                  => p_information2
185      ,p_information3                  => p_information3
186      ,p_information4                  => p_information4
187      ,p_information5                  => p_information5
188      ,p_information6                  => p_information6
189      ,p_information7                  => p_information7
190      ,p_information8                  => p_information8
191      ,p_information9                  => p_information9
192      ,p_information10                 => p_information10
193      ,p_information11                 => p_information11
194      ,p_information12                 => p_information12
195      ,p_information13                 => p_information13
196      ,p_information14                 => p_information14
197      ,p_information15                 => p_information15
198      ,p_information16                 => p_information16
199      ,p_information17                 => p_information17
200      ,p_information18                 => p_information18
201      ,p_information19                 => p_information19
202      ,p_information20                 => p_information20
203      ,p_information21                 => p_information21
204      ,p_information22                 => p_information22
205      ,p_information23                 => p_information23
206      ,p_information24                 => p_information24
207      ,p_information25                 => p_information25
208      ,p_information26                 => p_information26
209      ,p_information27                 => p_information27
210      ,p_information28                 => p_information28
211      ,p_information29                 => p_information29
215   exception
212      ,p_information30                 => p_information30
213       );
214 
216     when hr_api.cannot_find_prog_unit then
217       hr_api.cannot_find_prog_unit_error
218         (p_module_name => 'UPDATE_PDP_DETAILS'
219         ,p_hook_type   => 'BP'
220         );
221   end;
222 
223   hr_utility.set_location(l_proc, 30);
224   --
225   -- Update Period of Placement
226   --
227   per_pdp_upd.upd
228      (p_object_version_number         => l_object_version_number
229      ,p_effective_date                => l_effective_date
230      ,p_person_id                     => p_person_id
231      ,p_date_start                    => l_date_start
232      ,p_projected_termination_date    => null
233      ,p_termination_reason            => p_termination_reason
234      ,p_attribute_category            => p_attribute_category
235      ,p_attribute1                    => p_attribute1
236      ,p_attribute2                    => p_attribute2
237      ,p_attribute3                    => p_attribute3
238      ,p_attribute4                    => p_attribute4
239      ,p_attribute5                    => p_attribute5
240      ,p_attribute6                    => p_attribute6
241      ,p_attribute7                    => p_attribute7
242      ,p_attribute8                    => p_attribute8
243      ,p_attribute9                    => p_attribute9
244      ,p_attribute10                   => p_attribute10
245      ,p_attribute11                   => p_attribute11
246      ,p_attribute12                   => p_attribute12
247      ,p_attribute13                   => p_attribute13
248      ,p_attribute14                   => p_attribute14
249      ,p_attribute15                   => p_attribute15
250      ,p_attribute16                   => p_attribute16
251      ,p_attribute17                   => p_attribute17
252      ,p_attribute18                   => p_attribute18
253      ,p_attribute19                   => p_attribute19
254      ,p_attribute20                   => p_attribute20
255      ,p_attribute21                   => p_attribute21
256      ,p_attribute22                   => p_attribute22
257      ,p_attribute23                   => p_attribute23
258      ,p_attribute24                   => p_attribute24
259      ,p_attribute25                   => p_attribute25
260      ,p_attribute26                   => p_attribute26
261      ,p_attribute27                   => p_attribute27
262      ,p_attribute28                   => p_attribute28
263      ,p_attribute29                   => p_attribute29
264      ,p_attribute30                   => p_attribute30
265      ,p_information_category          => p_information_category
266      ,p_information1                  => p_information1
267      ,p_information2                  => p_information2
268      ,p_information3                  => p_information3
269      ,p_information4                  => p_information4
270      ,p_information5                  => p_information5
271      ,p_information6                  => p_information6
272      ,p_information7                  => p_information7
273      ,p_information8                  => p_information8
274      ,p_information9                  => p_information9
275      ,p_information10                 => p_information10
276      ,p_information11                 => p_information11
277      ,p_information12                 => p_information12
278      ,p_information13                 => p_information13
279      ,p_information14                 => p_information14
280      ,p_information15                 => p_information15
281      ,p_information16                 => p_information16
282      ,p_information17                 => p_information17
283      ,p_information18                 => p_information18
284      ,p_information19                 => p_information19
285      ,p_information20                 => p_information20
286      ,p_information21                 => p_information21
287      ,p_information22                 => p_information22
288      ,p_information23                 => p_information23
289      ,p_information24                 => p_information24
290      ,p_information25                 => p_information25
291      ,p_information26                 => p_information26
292      ,p_information27                 => p_information27
293      ,p_information28                 => p_information28
294      ,p_information29                 => p_information29
295      ,p_information30                 => p_information30
296   );
297 
298   --
299   -- Assign the out parameters
300   --
301   p_object_version_number     := l_object_version_number;
302 
303   hr_utility.set_location(l_proc, 40);
304 
305   --
306   -- Call After Process User Hook
307   --
308   begin
309 
310     hr_periods_of_placement_bk1.update_pdp_details_a
311      (p_object_version_number         => l_object_version_number
312      ,p_effective_date                => l_effective_date
313      ,p_person_id                     => p_person_id
314      ,p_date_start                    => l_date_start
315      ,p_projected_termination_date    => null
316      ,p_termination_reason            => p_termination_reason
317      ,p_attribute_category            => p_attribute_category
318      ,p_attribute1                    => p_attribute1
319      ,p_attribute2                    => p_attribute2
320      ,p_attribute3                    => p_attribute3
321      ,p_attribute4                    => p_attribute4
322      ,p_attribute5                    => p_attribute5
323      ,p_attribute6                    => p_attribute6
324      ,p_attribute7                    => p_attribute7
325      ,p_attribute8                    => p_attribute8
326      ,p_attribute9                    => p_attribute9
327      ,p_attribute10                   => p_attribute10
328      ,p_attribute11                   => p_attribute11
329      ,p_attribute12                   => p_attribute12
330      ,p_attribute13                   => p_attribute13
331      ,p_attribute14                   => p_attribute14
332      ,p_attribute15                   => p_attribute15
333      ,p_attribute16                   => p_attribute16
334      ,p_attribute17                   => p_attribute17
335      ,p_attribute18                   => p_attribute18
336      ,p_attribute19                   => p_attribute19
337      ,p_attribute20                   => p_attribute20
338      ,p_attribute21                   => p_attribute21
339      ,p_attribute22                   => p_attribute22
340      ,p_attribute23                   => p_attribute23
341      ,p_attribute24                   => p_attribute24
342      ,p_attribute25                   => p_attribute25
343      ,p_attribute26                   => p_attribute26
344      ,p_attribute27                   => p_attribute27
345      ,p_attribute28                   => p_attribute28
346      ,p_attribute29                   => p_attribute29
347      ,p_attribute30                   => p_attribute30
348      ,p_information_category          => p_information_category
349      ,p_information1                  => p_information1
350      ,p_information2                  => p_information2
351      ,p_information3                  => p_information3
352      ,p_information4                  => p_information4
353      ,p_information5                  => p_information5
354      ,p_information6                  => p_information6
355      ,p_information7                  => p_information7
356      ,p_information8                  => p_information8
357      ,p_information9                  => p_information9
358      ,p_information10                 => p_information10
359      ,p_information11                 => p_information11
360      ,p_information12                 => p_information12
361      ,p_information13                 => p_information13
362      ,p_information14                 => p_information14
363      ,p_information15                 => p_information15
364      ,p_information16                 => p_information16
365      ,p_information17                 => p_information17
366      ,p_information18                 => p_information18
367      ,p_information19                 => p_information19
368      ,p_information20                 => p_information20
369      ,p_information21                 => p_information21
370      ,p_information22                 => p_information22
371      ,p_information23                 => p_information23
372      ,p_information24                 => p_information24
373      ,p_information25                 => p_information25
374      ,p_information26                 => p_information26
375      ,p_information27                 => p_information27
376      ,p_information28                 => p_information28
377      ,p_information29                 => p_information29
378      ,p_information30                 => p_information30
379       );
380   exception
381     when hr_api.cannot_find_prog_unit then
382       hr_api.cannot_find_prog_unit_error
383         (p_module_name => 'UPDATE_PDP_DETAILS'
384         ,p_hook_type   => 'AP'
385         );
386   end;
387   --
388   -- When in validation only mode raise the Validate_Enabled exception
389   --
390   if p_validate then
391     raise hr_api.validate_enabled;
392   end if;
393 
394   --
395   -- Pipe the main IN OUT / OUT parameters for ease of debugging.
396   --
397   hr_utility.trace(' ');
398   hr_utility.trace(' --------------------------------'||
399                    '---------------------------------');
400   hr_utility.trace(' IN OUT NOCOPY / OUT NOCOPY PARAMETER          '||
401                    ' VALUE');
402   hr_utility.trace(' --------------------------------'||
403                    '+--------------------------------');
404   hr_utility.trace('  p_object_version_number          '||
405                       to_char(p_object_version_number));
406   hr_utility.trace(' --------------------------------'||
407                    '---------------------------------');
408   hr_utility.trace(' ');
409 
410   hr_utility.set_location(' Leaving:'||l_proc, 70);
411 
412 exception
413   when hr_api.validate_enabled then
414     --
415     -- As the Validate_Enabled exception has been raised
416     -- we must rollback to the savepoint
417     --
418     rollback to update_pdp_details;
419     --
420     -- Only set output warning arguments
421     -- (Any key or derived arguments must be set to null
422     -- when validation only mode is being used.)
423     --
424     p_object_version_number  := null;
425     hr_utility.set_location(l_proc, 80);
426   when others then
427     --
428     -- A validation or unexpected error has occured
429     --
430     rollback to update_pdp_details;
431     --
432     -- set in out parameters and set out parameters
433     --
434     p_object_version_number  := l_ovn;
435     hr_utility.set_location(' Leaving:'||l_proc, 90);
436     raise;
437 end update_pdp_details;
438 --
439 --
440 end hr_periods_of_placement_api;