DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_PDS_UPD

Source


1 Package Body per_pds_upd as
2 /* $Header: pepdsrhi.pkb 120.8.12020000.3 2013/01/30 09:27:33 srannama ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  per_pds_upd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------------< update_dml >------------------------------|
12 -- ----------------------------------------------------------------------------
13 -- {Start Of Comments}
14 --
15 -- Description:
16 --   This procedure controls the actual dml update logic. The functions of this
17 --   procedure are as follows:
18 --   1) Increment the object_version_number by 1 if the object_version_number
19 --      is defined as an attribute for this entity.
20 --   2) To set and unset the g_api_dml status as required (as we are about to
21 --      perform dml).
22 --   3) To update the specified row in the schema using the primary key in
23 --      the predicates.
24 --   4) To trap any constraint violations that may have occurred.
25 --   5) To raise any other errors.
26 --
27 -- Pre Conditions:
28 --   This is an internal private procedure which must be called from the upd
29 --   procedure.
30 --
31 -- In Arguments:
32 --   A Pl/Sql record structre.
33 --
34 -- Post Success:
35 --   The specified row will be updated in the schema.
36 --
37 -- Post Failure:
38 --   On the update dml failure it is important to note that we always reset the
39 --   g_api_dml status to false.
40 --   If a check, unique or parent integrity constraint violation is raised the
41 --   constraint_error procedure will be called.
42 --   If any other error is reported, the error will be raised after the
43 --   g_api_dml status is reset.
44 --
45 -- Developer Implementation Notes:
46 --   The update 'set' arguments list should be modified if any of your
47 --   attributes are not updateable.
48 --
49 -- Access Status:
50 --   Internal Table Handler Use Only.
51 --
52 -- {End Of Comments}
53 -- ----------------------------------------------------------------------------
54 Procedure update_dml(p_rec in out nocopy per_pds_shd.g_rec_type) is
55 --
56   l_proc  varchar2(72) := g_package||'update_dml';
57 --
58 Begin
59   hr_utility.set_location('Entering:'||l_proc, 5);
60   --
61   -- Increment the object version
62   --
63   p_rec.object_version_number := p_rec.object_version_number + 1;
64   --
65   per_pds_shd.g_api_dml := true;  -- Set the api dml status
66   --
67   -- Update the per_periods_of_service Row
68   --
69   update per_periods_of_service
70   set
71   period_of_service_id              = p_rec.period_of_service_id,
72   termination_accepted_person_id    = p_rec.termination_accepted_person_id,
73   date_start                        = p_rec.date_start,
74   accepted_termination_date         = p_rec.accepted_termination_date,
75   actual_termination_date           = p_rec.actual_termination_date,
76   comments                          = p_rec.comments,
77   final_process_date                = p_rec.final_process_date,
78   last_standard_process_date        = p_rec.last_standard_process_date,
79   leaving_reason                    = p_rec.leaving_reason,
80   notified_termination_date         = p_rec.notified_termination_date,
81   projected_termination_date        = p_rec.projected_termination_date,
82   adjusted_svc_date                 = p_rec.adjusted_svc_date,
83   request_id                        = p_rec.request_id,
84   program_application_id            = p_rec.program_application_id,
85   program_id                        = p_rec.program_id,
86   program_update_date               = p_rec.program_update_date,
87   attribute_category                = p_rec.attribute_category,
88   attribute1                        = p_rec.attribute1,
89   attribute2                        = p_rec.attribute2,
90   attribute3                        = p_rec.attribute3,
91   attribute4                        = p_rec.attribute4,
92   attribute5                        = p_rec.attribute5,
93   attribute6                        = p_rec.attribute6,
94   attribute7                        = p_rec.attribute7,
95   attribute8                        = p_rec.attribute8,
96   attribute9                        = p_rec.attribute9,
97   attribute10                       = p_rec.attribute10,
98   attribute11                       = p_rec.attribute11,
99   attribute12                       = p_rec.attribute12,
100   attribute13                       = p_rec.attribute13,
101   attribute14                       = p_rec.attribute14,
102   attribute15                       = p_rec.attribute15,
103   attribute16                       = p_rec.attribute16,
104   attribute17                       = p_rec.attribute17,
105   attribute18                       = p_rec.attribute18,
106   attribute19                       = p_rec.attribute19,
107   attribute20                       = p_rec.attribute20,
108   object_version_number             = p_rec.object_version_number ,
109   prior_employment_ssp_weeks        = p_rec.prior_employment_ssp_weeks,
110   prior_employment_ssp_paid_to      = p_rec.prior_employment_ssp_paid_to,
111   pds_information_category          = p_rec.pds_information_category,
112   pds_information1                  = p_rec.pds_information1,
113   pds_information2                  = p_rec.pds_information2,
114   pds_information3                  = p_rec.pds_information3,
115   pds_information4                  = p_rec.pds_information4,
116   pds_information5                  = p_rec.pds_information5,
117   pds_information6                  = p_rec.pds_information6,
118   pds_information7                  = p_rec.pds_information7,
119   pds_information8                  = p_rec.pds_information8,
120   pds_information9                  = p_rec.pds_information9,
121   pds_information10                 = p_rec.pds_information10,
122   pds_information11                 = p_rec.pds_information11,
123   pds_information12                 = p_rec.pds_information12,
124   pds_information13                 = p_rec.pds_information13,
125   pds_information14                 = p_rec.pds_information14,
126   pds_information15                 = p_rec.pds_information15,
127   pds_information16                 = p_rec.pds_information16,
128   pds_information17                 = p_rec.pds_information17,
129   pds_information18                 = p_rec.pds_information18,
130   pds_information19                 = p_rec.pds_information19,
131   pds_information20                 = p_rec.pds_information20,
132   pds_information21                 = p_rec.pds_information21,
133   pds_information22                 = p_rec.pds_information22,
134   pds_information23                 = p_rec.pds_information23,
135   pds_information24                 = p_rec.pds_information24,
136   pds_information25                 = p_rec.pds_information25,
137   pds_information26                 = p_rec.pds_information26,
138   pds_information27                 = p_rec.pds_information27,
139   pds_information28                 = p_rec.pds_information28,
140   pds_information29                 = p_rec.pds_information29,
141   pds_information30                 = p_rec.pds_information30
142   where period_of_service_id = p_rec.period_of_service_id;
143   --
144   per_pds_shd.g_api_dml := false;   -- Unset the api dml status
145   --
146   hr_utility.set_location(' Leaving:'||l_proc, 10);
147 --
148 Exception
149   When hr_api.check_integrity_violated Then
150     -- A check constraint has been violated
151     per_pds_shd.g_api_dml := false;   -- Unset the api dml status
152     per_pds_shd.constraint_error
153       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
154   When hr_api.parent_integrity_violated Then
155     -- Parent integrity has been violated
156     per_pds_shd.g_api_dml := false;   -- Unset the api dml status
157     per_pds_shd.constraint_error
158       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
159   When hr_api.unique_integrity_violated Then
160     -- Unique integrity has been violated
161     per_pds_shd.g_api_dml := false;   -- Unset the api dml status
162     per_pds_shd.constraint_error
163       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
164   When Others Then
165     per_pds_shd.g_api_dml := false;   -- Unset the api dml status
166     Raise;
167 End update_dml;
168 --
169 -- ----------------------------------------------------------------------------
170 -- |------------------------------< pre_update >------------------------------|
171 -- ----------------------------------------------------------------------------
172 -- {Start Of Comments}
173 --
174 -- Description:
175 --   This private procedure contains any processing which is required before
176 --   the update dml.
177 --
178 -- Pre Conditions:
179 --   This is an internal procedure which is called from the upd procedure.
180 --
181 -- In Arguments:
182 --   A Pl/Sql record structre.
183 --
184 -- Post Success:
185 --   Processing continues.
186 --
187 -- Post Failure:
188 --   If an error has occurred, an error message and exception will be raised
189 --   but not handled.
190 --
191 -- Developer Implementation Notes:
192 --   Any pre-processing required before the update dml is issued should be
193 --   coded within this procedure. It is important to note that any 3rd party
194 --   maintenance should be reviewed before placing in this procedure.
195 --
196 -- Access Status:
197 --   Internal Table Handler Use Only.
198 --
199 -- {End Of Comments}
200 -- ----------------------------------------------------------------------------
201 Procedure pre_update(p_rec in per_pds_shd.g_rec_type) is
202 --
203   l_proc  varchar2(72) := g_package||'pre_update';
204 --
205 Begin
206   hr_utility.set_location('Entering:'||l_proc, 5);
207   --
208   hr_utility.set_location(' Leaving:'||l_proc, 10);
209 End pre_update;
210 --
211 -- ----------------------------------------------------------------------------
212 -- |-----------------------------< post_update >------------------------------|
213 -- ----------------------------------------------------------------------------
214 -- {Start Of Comments}
215 --
216 -- Description:
217 --   This private procedure contains any processing which is required after the
218 --   update dml.
219 --
220 -- Pre Conditions:
221 --   This is an internal procedure which is called from the upd procedure.
222 --
223 -- In Arguments:
224 --   A Pl/Sql record structre.
225 --
226 -- Post Success:
227 --   Processing continues.
228 --
229 -- Post Failure:
230 --   If an error has occurred, an error message and exception will be raised
231 --   but not handled.
232 --
233 -- Developer Implementation Notes:
234 --   Any post-processing required after the update dml is issued should be
235 --   coded within this procedure. It is important to note that any 3rd party
236 --   maintenance should be reviewed before placing in this procedure.
237 --
238 -- Access Status:
239 --   Internal Table Handler Use Only.
240 --
241 -- {End Of Comments}
242 -- ----------------------------------------------------------------------------
243 Procedure post_update(p_rec in per_pds_shd.g_rec_type,p_effective_date in date) is
244 --
245   l_proc  varchar2(72) := g_package||'post_update';
246   l_rowid varchar2(72);
247 --
248 --
249 -- START WWBUG 1390173 fix
250 --
251   l_old   ben_pps_ler.g_pps_ler_rec;
252   l_new   ben_pps_ler.g_pps_ler_rec;
253   --
254 --
255 -- END WWBUG 1390173 fix
256 --
257 cursor csr_rowid is
258 select rowid
259 from per_periods_of_service
260 where period_of_service_id = p_rec.period_of_service_id;
261 --
262 Begin
263   hr_utility.set_location('Entering:'||l_proc, 5);
264   --
265   -- GP
266   --
267   -- BEGIN of FIX for WWBUG 1390173
268   --
269   -- Revise this fix so that when processing from within the
270   -- combined terminate_employee BSP the LER processing at the
271   -- PDS level is masked and performed once at the end of the terminate.
272   -- This is a fix to bug 2344139.
273   --
274   if hr_ex_employee_internal.g_mask_pds_ler = FALSE then
275     l_old.PERSON_ID := per_pds_shd.g_old_rec.person_id;
276     l_old.BUSINESS_GROUP_ID := per_pds_shd.g_old_rec.business_group_id;
277     l_old.DATE_START := per_pds_shd.g_old_rec.date_start;
278     l_old.ACTUAL_TERMINATION_DATE := per_pds_shd.g_old_rec.actual_termination_date;
279     l_old.LEAVING_REASON := per_pds_shd.g_old_rec.leaving_reason;
280     l_old.ADJUSTED_SVC_DATE := per_pds_shd.g_old_rec.adjusted_svc_date;
281     l_old.ATTRIBUTE1 := per_pds_shd.g_old_rec.attribute1;
282     l_old.ATTRIBUTE2 := per_pds_shd.g_old_rec.attribute2;
283     l_old.ATTRIBUTE3 := per_pds_shd.g_old_rec.attribute3;
284     l_old.ATTRIBUTE4 := per_pds_shd.g_old_rec.attribute4;
285     l_old.ATTRIBUTE5 := per_pds_shd.g_old_rec.attribute5;
286     l_old.FINAL_PROCESS_DATE := per_pds_shd.g_old_rec.FINAL_PROCESS_DATE;
287     l_new.PERSON_ID := p_rec.person_id;
288     l_new.BUSINESS_GROUP_ID := p_rec.business_group_id;
289     l_new.DATE_START := p_rec.date_start;
290     l_new.ACTUAL_TERMINATION_DATE := p_rec.actual_termination_date;
291     l_new.LEAVING_REASON := p_rec.leaving_reason;
292     l_new.ADJUSTED_SVC_DATE := p_rec.adjusted_svc_date;
293     l_new.ATTRIBUTE1 := p_rec.attribute1;
294     l_new.ATTRIBUTE2 := p_rec.attribute2;
295     l_new.ATTRIBUTE3 := p_rec.attribute3;
296     l_new.ATTRIBUTE4 := p_rec.attribute4;
297     l_new.ATTRIBUTE5 := p_rec.attribute5;
298     l_new.FINAL_PROCESS_DATE := p_rec.FINAL_PROCESS_DATE;
299     --
300     hr_utility.set_location('OLD ATD'||l_old.actual_termination_date,10);
301     hr_utility.set_location('NEW ATD'||l_new.actual_termination_date,10);
302     hr_utility.set_location('EFFDATE'||p_effective_date,10);
303     --
304     ben_pps_ler.ler_chk(p_old            => l_old
305                        ,p_new            => l_new
306                        ,p_event          => 'UPDATING'
307                        ,p_effective_date => p_effective_date);
308   end if;
309   --
310   -- END of FIX for 1390173
311   --
312   open csr_rowid;
313   fetch csr_rowid into l_rowid;
314   close csr_rowid;
315   --
316   ben_dt_trgr_handle.periods_of_service
317     (p_rowid              => null
318     ,p_person_id          => p_rec.person_id
319     ,p_pds_atd            => p_rec.actual_termination_date
320     ,p_pds_leaving_reason => p_rec.leaving_reason
321     ,p_pds_fpd            => p_rec.final_process_date
322     ,p_pds_old_atd        => per_pds_shd.g_old_rec.actual_termination_date
323     );
324   --
325   --
326   -- Start of API User Hook for post_update.
327   begin
328     per_pds_rku.after_update
329       (
330       p_period_of_service_id         =>p_rec.period_of_service_id
331      ,p_termination_accepted_person  =>p_rec.termination_accepted_person_id
332      ,p_date_start                   =>p_rec.date_start
333      ,p_accepted_termination_date    =>p_rec.accepted_termination_date
334      ,p_actual_termination_date      =>p_rec.actual_termination_date
335      ,p_comments                     =>p_rec.comments
336      ,p_adjusted_svc_date            =>p_rec.adjusted_svc_date
337      ,p_final_process_date           =>p_rec.final_process_date
338      ,p_last_standard_process_date   =>p_rec.last_standard_process_date
339      ,p_leaving_reason               =>p_rec.leaving_reason
340      ,p_notified_termination_date    =>p_rec.notified_termination_date
341      ,p_projected_termination_date   =>p_rec.projected_termination_date
342      ,p_request_id                   =>p_rec.request_id
343      ,p_program_application_id       =>p_rec.program_application_id
344      ,p_program_id                   =>p_rec.program_id
345      ,p_program_update_date          =>p_rec.program_update_date
346      ,p_attribute_category           =>p_rec.attribute_category
347      ,p_attribute1                   =>p_rec.attribute1
348      ,p_attribute2                   =>p_rec.attribute2
349      ,p_attribute3                   =>p_rec.attribute3
350      ,p_attribute4                   =>p_rec.attribute4
351      ,p_attribute5                   =>p_rec.attribute5
352      ,p_attribute6                   =>p_rec.attribute6
353      ,p_attribute7                   =>p_rec.attribute7
354      ,p_attribute8                   =>p_rec.attribute8
355      ,p_attribute9                   =>p_rec.attribute9
356      ,p_attribute10                  =>p_rec.attribute10
357      ,p_attribute11                  =>p_rec.attribute11
358      ,p_attribute12                  =>p_rec.attribute12
359      ,p_attribute13                  =>p_rec.attribute13
360      ,p_attribute14                  =>p_rec.attribute14
361      ,p_attribute15                  =>p_rec.attribute15
362      ,p_attribute16                  =>p_rec.attribute16
363      ,p_attribute17                  =>p_rec.attribute17
364      ,p_attribute18                  =>p_rec.attribute18
365      ,p_attribute19                  =>p_rec.attribute19
366      ,p_attribute20                  =>p_rec.attribute20
367      ,p_object_version_number        =>p_rec.object_version_number
368      ,p_prior_employment_ssp_weeks   =>p_rec.prior_employment_ssp_weeks
369      ,p_prior_employment_ssp_paid_to =>p_rec.prior_employment_ssp_paid_to
370      ,p_pds_information_category      =>p_rec.pds_information_category
371      ,p_pds_information1              =>p_rec.pds_information1
372      ,p_pds_information2              =>p_rec.pds_information2
373      ,p_pds_information3              =>p_rec.pds_information3
374      ,p_pds_information4              =>p_rec.pds_information4
375      ,p_pds_information5              =>p_rec.pds_information5
376      ,p_pds_information6              =>p_rec.pds_information6
377      ,p_pds_information7              =>p_rec.pds_information7
378      ,p_pds_information8              =>p_rec.pds_information8
379      ,p_pds_information9              =>p_rec.pds_information9
380      ,p_pds_information10             =>p_rec.pds_information10
381      ,p_pds_information11             =>p_rec.pds_information11
382      ,p_pds_information12             =>p_rec.pds_information12
383      ,p_pds_information13             =>p_rec.pds_information13
384      ,p_pds_information14             =>p_rec.pds_information14
385      ,p_pds_information15             =>p_rec.pds_information15
386      ,p_pds_information16             =>p_rec.pds_information16
387      ,p_pds_information17             =>p_rec.pds_information17
388      ,p_pds_information18             =>p_rec.pds_information18
389      ,p_pds_information19             =>p_rec.pds_information19
390      ,p_pds_information20             =>p_rec.pds_information20
391      ,p_pds_information21             =>p_rec.pds_information21
392      ,p_pds_information22             =>p_rec.pds_information22
393      ,p_pds_information23             =>p_rec.pds_information23
394      ,p_pds_information24             =>p_rec.pds_information24
395      ,p_pds_information25             =>p_rec.pds_information25
396      ,p_pds_information26             =>p_rec.pds_information26
397      ,p_pds_information27             =>p_rec.pds_information27
398      ,p_pds_information28             =>p_rec.pds_information28
399      ,p_pds_information29             =>p_rec.pds_information29
400      ,p_pds_information30             =>p_rec.pds_information30
401      ,p_effective_date               =>p_effective_date
402      ,p_business_group_id_o          =>per_pds_shd.g_old_rec.business_group_id
403      ,p_person_id_o                  =>per_pds_shd.g_old_rec.person_id
404      ,p_terminat_accepted_person_o   =>per_pds_shd.g_old_rec.termination_accepted_person_id
405      ,p_date_start_o                 =>per_pds_shd.g_old_rec.date_start
406      ,p_accepted_termination_date_o  =>per_pds_shd.g_old_rec.accepted_termination_date
407      ,p_actual_termination_date_o    =>per_pds_shd.g_old_rec.actual_termination_date
408      ,p_comments_o                   =>per_pds_shd.g_old_rec.comments
409      ,p_adjusted_svc_date_o          =>per_pds_shd.g_old_rec.adjusted_svc_date
410      ,p_final_process_date_o         =>per_pds_shd.g_old_rec.final_process_date
411      ,p_last_standard_process_date_o =>per_pds_shd.g_old_rec.last_standard_process_date
412      ,p_leaving_reason_o             =>per_pds_shd.g_old_rec.leaving_reason
413      ,p_notified_termination_date_o  =>per_pds_shd.g_old_rec.notified_termination_date
414      ,p_projected_termination_date_o =>per_pds_shd.g_old_rec.projected_termination_date
415      ,p_request_id_o                 =>per_pds_shd.g_old_rec.request_id
416      ,p_program_application_id_o     =>per_pds_shd.g_old_rec.program_application_id
417      ,p_program_id_o                 =>per_pds_shd.g_old_rec.program_id
418      ,p_program_update_date_o        =>per_pds_shd.g_old_rec.program_update_date
419      ,p_attribute_category_o         =>per_pds_shd.g_old_rec.attribute_category
420      ,p_attribute1_o                 =>per_pds_shd.g_old_rec.attribute1
421      ,p_attribute2_o                 =>per_pds_shd.g_old_rec.attribute2
422      ,p_attribute3_o                 =>per_pds_shd.g_old_rec.attribute3
423      ,p_attribute4_o                 =>per_pds_shd.g_old_rec.attribute4
424      ,p_attribute5_o                 =>per_pds_shd.g_old_rec.attribute5
425      ,p_attribute6_o                 =>per_pds_shd.g_old_rec.attribute6
426      ,p_attribute7_o                 =>per_pds_shd.g_old_rec.attribute7
427      ,p_attribute8_o                 =>per_pds_shd.g_old_rec.attribute8
428      ,p_attribute9_o                 =>per_pds_shd.g_old_rec.attribute9
429      ,p_attribute10_o                =>per_pds_shd.g_old_rec.attribute10
430      ,p_attribute11_o                =>per_pds_shd.g_old_rec.attribute11
431      ,p_attribute12_o                =>per_pds_shd.g_old_rec.attribute12
432      ,p_attribute13_o                =>per_pds_shd.g_old_rec.attribute13
433      ,p_attribute14_o                =>per_pds_shd.g_old_rec.attribute14
434      ,p_attribute15_o                =>per_pds_shd.g_old_rec.attribute15
435      ,p_attribute16_o                =>per_pds_shd.g_old_rec.attribute16
436      ,p_attribute17_o                =>per_pds_shd.g_old_rec.attribute17
437      ,p_attribute18_o                =>per_pds_shd.g_old_rec.attribute18
438      ,p_attribute19_o                =>per_pds_shd.g_old_rec.attribute19
439      ,p_attribute20_o                =>per_pds_shd.g_old_rec.attribute20
440      ,p_object_version_number_o      =>per_pds_shd.g_old_rec.object_version_number
441      ,p_prior_employment_ssp_weeks_o =>per_pds_shd.g_old_rec.prior_employment_ssp_weeks
442      ,p_prior_employmt_ssp_paid_to_o =>per_pds_shd.g_old_rec.prior_employment_ssp_paid_to
443      ,p_pds_information_category_o    =>per_pds_shd.g_old_rec.pds_information_category
444      ,p_pds_information1_o            =>per_pds_shd.g_old_rec.pds_information1
445      ,p_pds_information2_o            =>per_pds_shd.g_old_rec.pds_information2
446      ,p_pds_information3_o            =>per_pds_shd.g_old_rec.pds_information3
447      ,p_pds_information4_o            =>per_pds_shd.g_old_rec.pds_information4
448      ,p_pds_information5_o            =>per_pds_shd.g_old_rec.pds_information5
449      ,p_pds_information6_o            =>per_pds_shd.g_old_rec.pds_information6
450      ,p_pds_information7_o            =>per_pds_shd.g_old_rec.pds_information7
451      ,p_pds_information8_o            =>per_pds_shd.g_old_rec.pds_information8
452      ,p_pds_information9_o            =>per_pds_shd.g_old_rec.pds_information9
453      ,p_pds_information10_o           =>per_pds_shd.g_old_rec.pds_information10
454      ,p_pds_information11_o           =>per_pds_shd.g_old_rec.pds_information11
455      ,p_pds_information12_o           =>per_pds_shd.g_old_rec.pds_information12
456      ,p_pds_information13_o           =>per_pds_shd.g_old_rec.pds_information13
457      ,p_pds_information14_o           =>per_pds_shd.g_old_rec.pds_information14
458      ,p_pds_information15_o           =>per_pds_shd.g_old_rec.pds_information15
459      ,p_pds_information16_o           =>per_pds_shd.g_old_rec.pds_information16
460      ,p_pds_information17_o           =>per_pds_shd.g_old_rec.pds_information17
461      ,p_pds_information18_o           =>per_pds_shd.g_old_rec.pds_information18
462      ,p_pds_information19_o           =>per_pds_shd.g_old_rec.pds_information19
463      ,p_pds_information20_o           =>per_pds_shd.g_old_rec.pds_information20
464      ,p_pds_information21_o           =>per_pds_shd.g_old_rec.pds_information21
465      ,p_pds_information22_o           =>per_pds_shd.g_old_rec.pds_information22
466      ,p_pds_information23_o           =>per_pds_shd.g_old_rec.pds_information23
467      ,p_pds_information24_o           =>per_pds_shd.g_old_rec.pds_information24
468      ,p_pds_information25_o           =>per_pds_shd.g_old_rec.pds_information25
469      ,p_pds_information26_o           =>per_pds_shd.g_old_rec.pds_information26
470      ,p_pds_information27_o           =>per_pds_shd.g_old_rec.pds_information27
471      ,p_pds_information28_o           =>per_pds_shd.g_old_rec.pds_information28
472      ,p_pds_information29_o           =>per_pds_shd.g_old_rec.pds_information29
473      ,p_pds_information30_o           =>per_pds_shd.g_old_rec.pds_information30
474       );
475 --
476      exception
477      when hr_api.cannot_find_prog_unit then
478           hr_api.cannot_find_prog_unit_error
479               (
480 	      p_module_name => 'PER_PERIOD_OF_SERVICE',
481               p_hook_type   => 'AU'
482               );
483   end;
484 --   End of API User Hook for post_update.
485   hr_utility.set_location(' Leaving:'||l_proc, 10);
486 End post_update;
487 --
488 -- ----------------------------------------------------------------------------
489 -- |-----------------------------< convert_defs >-----------------------------|
490 -- ----------------------------------------------------------------------------
491 -- {Start Of Comments}
492 --
493 -- Description:
494 --   The Convert_Defs procedure has one very important function:
495 --   It must return the record structure for the row with all system defaulted
496 --   values converted into its corresponding argument value for update. When
497 --   we attempt to update a row through the Upd business process , certain
498 --   arguments can be defaulted which enables flexibility in the calling of
499 --   the upd process (e.g. only attributes which need to be updated need to be
500 --   specified). For the upd business process to determine which attributes
501 --   have NOT been specified we need to check if the argument has a reserved
502 --   system default value. Therefore, for all attributes which have a
503 --   corresponding reserved system default mechanism specified we need to
504 --   check if a system default is being used. If a system default is being
505 --   used then we convert the defaulted value into its corresponding attribute
506 --   value held in the g_old_rec data structure.
507 --
508 -- Pre Conditions:
509 --   This private procedure can only be called from the upd process.
510 --
511 -- In Arguments:
512 --   p_rec.
513 --
514 -- Post Success:
515 --   The record structure will be returned with all system defaulted argument
516 --   values converted into its current row attribute value.
517 --
518 -- Post Failure:
519 --   No direct error handling is required within this procedure. Any possible
520 --   errors within this procedure will be a PL/SQL value error due to
521 --   conversion of datatypes or data lengths.
522 --
523 -- Developer Implementation Notes:
524 --   None.
525 --
526 -- Access Status:
527 --   Internal Table Handler Use Only.
528 --
529 -- {End Of Comments}
530 -- ----------------------------------------------------------------------------
531 Procedure convert_defs(p_rec in out nocopy per_pds_shd.g_rec_type) is
532 --
533   l_proc  varchar2(72) := g_package||'convert_defs';
534 --
535 Begin
536   --
537   hr_utility.set_location('Entering:'||l_proc, 5);
538   --
539   -- We must now examine each argument value in the
540   -- p_rec plsql record structure
541   -- to see if a system default is being used. If a system default
542   -- is being used then we must set to the 'current' argument value.
543   --
544   If (p_rec.business_group_id = hr_api.g_number) then
545     p_rec.business_group_id :=
546     per_pds_shd.g_old_rec.business_group_id;
547   End If;
548   If (p_rec.termination_accepted_person_id = hr_api.g_number) then
549     p_rec.termination_accepted_person_id :=
550     per_pds_shd.g_old_rec.termination_accepted_person_id;
551   End If;
552   If (p_rec.person_id = hr_api.g_number) then
553     p_rec.person_id :=
554     per_pds_shd.g_old_rec.person_id;
555   End If;
556   If (p_rec.date_start = hr_api.g_date) then
557     p_rec.date_start :=
558     per_pds_shd.g_old_rec.date_start;
559   End If;
560   If (p_rec.accepted_termination_date = hr_api.g_date) then
561     p_rec.accepted_termination_date :=
562     per_pds_shd.g_old_rec.accepted_termination_date;
563   End If;
564   If (p_rec.actual_termination_date = hr_api.g_date) then
565     p_rec.actual_termination_date :=
566     per_pds_shd.g_old_rec.actual_termination_date;
567   End If;
568   If (p_rec.comments = hr_api.g_varchar2) then
569     p_rec.comments :=
570     per_pds_shd.g_old_rec.comments;
571   End If;
572   If (p_rec.final_process_date = hr_api.g_date) then
573     p_rec.final_process_date :=
574     per_pds_shd.g_old_rec.final_process_date;
575   End If;
576   If (p_rec.last_standard_process_date = hr_api.g_date) then
577     p_rec.last_standard_process_date :=
578     per_pds_shd.g_old_rec.last_standard_process_date;
579   End If;
580   If (p_rec.leaving_reason = hr_api.g_varchar2) then
581     p_rec.leaving_reason :=
582     per_pds_shd.g_old_rec.leaving_reason;
583   End If;
584   If (p_rec.notified_termination_date = hr_api.g_date) then
585     p_rec.notified_termination_date :=
586     per_pds_shd.g_old_rec.notified_termination_date;
587   End If;
588   If (p_rec.projected_termination_date = hr_api.g_date) then
589     p_rec.projected_termination_date :=
590     per_pds_shd.g_old_rec.projected_termination_date;
591   End If;
592   If (p_rec.adjusted_svc_date = hr_api.g_date) then
593     p_rec.adjusted_svc_date  :=
594     per_pds_shd.g_old_rec.adjusted_svc_date;
595   End If;
596   If (p_rec.request_id = hr_api.g_number) then
597     p_rec.request_id :=
598     per_pds_shd.g_old_rec.request_id;
599   End If;
600   If (p_rec.program_application_id = hr_api.g_number) then
601     p_rec.program_application_id :=
602     per_pds_shd.g_old_rec.program_application_id;
603   End If;
604   If (p_rec.program_id = hr_api.g_number) then
605     p_rec.program_id :=
606     per_pds_shd.g_old_rec.program_id;
607   End If;
608   If (p_rec.program_update_date = hr_api.g_date) then
609     p_rec.program_update_date :=
610     per_pds_shd.g_old_rec.program_update_date;
611   End If;
612   If (p_rec.attribute_category = hr_api.g_varchar2) then
613     p_rec.attribute_category :=
614     per_pds_shd.g_old_rec.attribute_category;
615   End If;
616   If (p_rec.attribute1 = hr_api.g_varchar2) then
617     p_rec.attribute1 :=
618     per_pds_shd.g_old_rec.attribute1;
619   End If;
620   If (p_rec.attribute2 = hr_api.g_varchar2) then
621     p_rec.attribute2 :=
622     per_pds_shd.g_old_rec.attribute2;
623   End If;
624   If (p_rec.attribute3 = hr_api.g_varchar2) then
625     p_rec.attribute3 :=
626     per_pds_shd.g_old_rec.attribute3;
627   End If;
628   If (p_rec.attribute4 = hr_api.g_varchar2) then
629     p_rec.attribute4 :=
630     per_pds_shd.g_old_rec.attribute4;
631   End If;
632   If (p_rec.attribute5 = hr_api.g_varchar2) then
633     p_rec.attribute5 :=
634     per_pds_shd.g_old_rec.attribute5;
635   End If;
636   If (p_rec.attribute6 = hr_api.g_varchar2) then
637     p_rec.attribute6 :=
638     per_pds_shd.g_old_rec.attribute6;
639   End If;
640   If (p_rec.attribute7 = hr_api.g_varchar2) then
641     p_rec.attribute7 :=
642     per_pds_shd.g_old_rec.attribute7;
643   End If;
644   If (p_rec.attribute8 = hr_api.g_varchar2) then
645     p_rec.attribute8 :=
646     per_pds_shd.g_old_rec.attribute8;
647   End If;
648   If (p_rec.attribute9 = hr_api.g_varchar2) then
649     p_rec.attribute9 :=
650     per_pds_shd.g_old_rec.attribute9;
651   End If;
652   If (p_rec.attribute10 = hr_api.g_varchar2) then
653     p_rec.attribute10 :=
654     per_pds_shd.g_old_rec.attribute10;
655   End If;
656   If (p_rec.attribute11 = hr_api.g_varchar2) then
657     p_rec.attribute11 :=
658     per_pds_shd.g_old_rec.attribute11;
659   End If;
660   If (p_rec.attribute12 = hr_api.g_varchar2) then
661     p_rec.attribute12 :=
662     per_pds_shd.g_old_rec.attribute12;
663   End If;
664   If (p_rec.attribute13 = hr_api.g_varchar2) then
665     p_rec.attribute13 :=
666     per_pds_shd.g_old_rec.attribute13;
667   End If;
668   If (p_rec.attribute14 = hr_api.g_varchar2) then
669     p_rec.attribute14 :=
670     per_pds_shd.g_old_rec.attribute14;
671   End If;
672   If (p_rec.attribute15 = hr_api.g_varchar2) then
673     p_rec.attribute15 :=
674     per_pds_shd.g_old_rec.attribute15;
675   End If;
676   If (p_rec.attribute16 = hr_api.g_varchar2) then
677     p_rec.attribute16 :=
678     per_pds_shd.g_old_rec.attribute16;
679   End If;
680   If (p_rec.attribute17 = hr_api.g_varchar2) then
681     p_rec.attribute17 :=
682     per_pds_shd.g_old_rec.attribute17;
683   End If;
684   If (p_rec.attribute18 = hr_api.g_varchar2) then
685     p_rec.attribute18 :=
686     per_pds_shd.g_old_rec.attribute18;
687   End If;
688   If (p_rec.attribute19 = hr_api.g_varchar2) then
689     p_rec.attribute19 :=
690     per_pds_shd.g_old_rec.attribute19;
691   End If;
692   If (p_rec.attribute20 = hr_api.g_varchar2) then
693     p_rec.attribute20 :=
694     per_pds_shd.g_old_rec.attribute20;
695   End If;
696   If (p_rec.prior_employment_ssp_weeks = hr_api.g_number) then
697     p_rec.prior_employment_ssp_weeks :=
698     per_pds_shd.g_old_rec.prior_employment_ssp_weeks;
699   End If;
700   If (p_rec.prior_employment_ssp_paid_to = hr_api.g_date) then
701     p_rec.prior_employment_ssp_paid_to :=
702     per_pds_shd.g_old_rec.prior_employment_ssp_paid_to;
703   End If;
704   If (p_rec.pds_information_category = hr_api.g_varchar2) then
705     p_rec.pds_information_category :=
706     per_pds_shd.g_old_rec.pds_information_category;
707   End If;
708   If (p_rec.pds_information1 = hr_api.g_varchar2) then
709     p_rec.pds_information1 :=
710     per_pds_shd.g_old_rec.pds_information1;
711   End If;
712   If (p_rec.pds_information2 = hr_api.g_varchar2) then
713     p_rec.pds_information2 :=
714     per_pds_shd.g_old_rec.pds_information2;
715   End If;
716   If (p_rec.pds_information3 = hr_api.g_varchar2) then
717     p_rec.pds_information3 :=
718     per_pds_shd.g_old_rec.pds_information3;
719   End If;
720   If (p_rec.pds_information4 = hr_api.g_varchar2) then
721     p_rec.pds_information4 :=
722     per_pds_shd.g_old_rec.pds_information4;
723   End If;
724   If (p_rec.pds_information5 = hr_api.g_varchar2) then
725     p_rec.pds_information5 :=
726     per_pds_shd.g_old_rec.pds_information5;
727   End If;
728   If (p_rec.pds_information6 = hr_api.g_varchar2) then
729     p_rec.pds_information6 :=
730     per_pds_shd.g_old_rec.pds_information6;
731   End If;
732   If (p_rec.pds_information7 = hr_api.g_varchar2) then
733     p_rec.pds_information7 :=
734     per_pds_shd.g_old_rec.pds_information7;
735   End If;
736   If (p_rec.pds_information8 = hr_api.g_varchar2) then
737     p_rec.pds_information8 :=
738     per_pds_shd.g_old_rec.pds_information8;
739   End If;
740   If (p_rec.pds_information9 = hr_api.g_varchar2) then
741     p_rec.pds_information9 :=
742     per_pds_shd.g_old_rec.pds_information9;
743   End If;
744   If (p_rec.pds_information10 = hr_api.g_varchar2) then
745     p_rec.pds_information10 :=
746     per_pds_shd.g_old_rec.pds_information10;
747   End If;
748   If (p_rec.pds_information11 = hr_api.g_varchar2) then
749     p_rec.pds_information11 :=
750     per_pds_shd.g_old_rec.pds_information11;
751   End If;
752   If (p_rec.pds_information12 = hr_api.g_varchar2) then
753     p_rec.pds_information12 :=
754     per_pds_shd.g_old_rec.pds_information12;
755   End If;
756   If (p_rec.pds_information13 = hr_api.g_varchar2) then
757     p_rec.pds_information13 :=
758     per_pds_shd.g_old_rec.pds_information13;
759   End If;
760   If (p_rec.pds_information14 = hr_api.g_varchar2) then
761     p_rec.pds_information14 :=
762     per_pds_shd.g_old_rec.pds_information14;
763   End If;
764   If (p_rec.pds_information15 = hr_api.g_varchar2) then
765     p_rec.pds_information15 :=
766     per_pds_shd.g_old_rec.pds_information15;
767   End If;
768   If (p_rec.pds_information16 = hr_api.g_varchar2) then
769     p_rec.pds_information16 :=
770     per_pds_shd.g_old_rec.pds_information16;
771   End If;
772   If (p_rec.pds_information17 = hr_api.g_varchar2) then
773     p_rec.pds_information17 :=
774     per_pds_shd.g_old_rec.pds_information17;
775   End If;
776   If (p_rec.pds_information18 = hr_api.g_varchar2) then
777     p_rec.pds_information18 :=
778     per_pds_shd.g_old_rec.pds_information18;
779   End If;
780   If (p_rec.pds_information19 = hr_api.g_varchar2) then
781     p_rec.pds_information19 :=
782     per_pds_shd.g_old_rec.pds_information19;
783   End If;
784   If (p_rec.pds_information20 = hr_api.g_varchar2) then
785     p_rec.pds_information20 :=
786     per_pds_shd.g_old_rec.pds_information20;
787   End If;
788   If (p_rec.pds_information21 = hr_api.g_varchar2) then
789     p_rec.pds_information21 :=
790     per_pds_shd.g_old_rec.pds_information21;
791   End If;
792   If (p_rec.pds_information22 = hr_api.g_varchar2) then
793     p_rec.pds_information22 :=
794     per_pds_shd.g_old_rec.pds_information22;
795   End If;
796   If (p_rec.pds_information23 = hr_api.g_varchar2) then
797     p_rec.pds_information23 :=
798     per_pds_shd.g_old_rec.pds_information23;
799   End If;
800   If (p_rec.pds_information24 = hr_api.g_varchar2) then
801     p_rec.pds_information24 :=
802     per_pds_shd.g_old_rec.pds_information24;
803   End If;
804   If (p_rec.pds_information25 = hr_api.g_varchar2) then
805     p_rec.pds_information25 :=
806     per_pds_shd.g_old_rec.pds_information25;
807   End If;
808   If (p_rec.pds_information26 = hr_api.g_varchar2) then
809     p_rec.pds_information26 :=
810     per_pds_shd.g_old_rec.pds_information26;
811   End If;
812   If (p_rec.pds_information27 = hr_api.g_varchar2) then
813     p_rec.pds_information27 :=
814     per_pds_shd.g_old_rec.pds_information27;
815   End If;
816   If (p_rec.pds_information28 = hr_api.g_varchar2) then
817     p_rec.pds_information28 :=
818     per_pds_shd.g_old_rec.pds_information28;
819   End If;
820   If (p_rec.pds_information29 = hr_api.g_varchar2) then
821     p_rec.pds_information29 :=
822     per_pds_shd.g_old_rec.pds_information29;
823   End If;
824   If (p_rec.pds_information30 = hr_api.g_varchar2) then
825     p_rec.pds_information30 :=
826     per_pds_shd.g_old_rec.pds_information30;
827   End If;
828   --
829   hr_utility.set_location(' Leaving:'||l_proc, 10);
830 --
831 End convert_defs;
832 --
833 -- ----------------------------------------------------------------------------
834 -- |---------------------------------< upd >----------------------------------|
835 -- ----------------------------------------------------------------------------
836 Procedure upd
837   (
838   p_rec            in out nocopy per_pds_shd.g_rec_type,
839   p_effective_date in date,
840   p_validate       in     boolean default false
841   ) is
842 --
843   l_proc  varchar2(72) := g_package||'upd';
844 --
845 Begin
846   hr_utility.set_location('Entering:'||l_proc, 5);
847   --
848   -- Determine if the business process is to be validated.
849   --
850   If p_validate then
851     --
852     -- Issue the savepoint.
853     --
854     SAVEPOINT upd_per_pds;
855   End If;
856   --
857   -- We must lock the row which we need to update.
858   --
859   per_pds_shd.lck
860 	(
861 	p_rec.period_of_service_id,
862 	p_rec.object_version_number
863 	);
864   --
865   -- 1. During an update system defaults are used to determine if
866   --    arguments have been defaulted or not. We must therefore
867   --    derive the full record structure values to be updated.
868   --
869   convert_defs(p_rec);
870   --
871   -- 2. Call the supporting update validate operations.
872   --
873   per_pds_bus.update_validate(p_rec
874 			     ,p_effective_date);
875   --
876   -- Call the supporting pre-update operation
877   --
878   pre_update(p_rec);
879   --
880   -- Update the row.
881   --
882   update_dml(p_rec);
883   --
884   -- Call the supporting post-update operation
885   --
886  post_update(p_rec, p_effective_date);
887   --
888   -- If we are validating then raise the Validate_Enabled exception
889   --
890   If p_validate then
891     Raise HR_Api.Validate_Enabled;
892   End If;
893   --
894   hr_utility.set_location(' Leaving:'||l_proc, 10);
895 Exception
896   When HR_Api.Validate_Enabled Then
897     --
898     -- As the Validate_Enabled exception has been raised
899     -- we must rollback to the savepoint
900     --
901     ROLLBACK TO upd_per_pds;
902 End upd;
903 --
904 -- ----------------------------------------------------------------------------
905 -- |---------------------------------< upd >----------------------------------|
906 -- ----------------------------------------------------------------------------
907 Procedure upd
908   (
909   p_period_of_service_id         in number,
910   p_termination_accepted_person  in number           default hr_api.g_number,
911   p_date_start                   in date             default hr_api.g_date,
912   p_accepted_termination_date    in date             default hr_api.g_date,
913   p_actual_termination_date      in date             default hr_api.g_date,
914   p_comments                     in varchar2         default hr_api.g_varchar2,
915   p_final_process_date           in date             default hr_api.g_date,
916   p_last_standard_process_date   in date             default hr_api.g_date,
917   p_leaving_reason               in varchar2         default hr_api.g_varchar2,
918   p_notified_termination_date    in date             default hr_api.g_date,
919   p_projected_termination_date   in date             default hr_api.g_date,
920   p_adjusted_svc_date            in date             default hr_api.g_date,
921   p_request_id                   in number           default hr_api.g_number,
922   p_program_application_id       in number           default hr_api.g_number,
923   p_program_id                   in number           default hr_api.g_number,
924   p_program_update_date          in date             default hr_api.g_date,
925   p_attribute_category           in varchar2         default hr_api.g_varchar2,
926   p_attribute1                   in varchar2         default hr_api.g_varchar2,
927   p_attribute2                   in varchar2         default hr_api.g_varchar2,
928   p_attribute3                   in varchar2         default hr_api.g_varchar2,
929   p_attribute4                   in varchar2         default hr_api.g_varchar2,
930   p_attribute5                   in varchar2         default hr_api.g_varchar2,
931   p_attribute6                   in varchar2         default hr_api.g_varchar2,
932   p_attribute7                   in varchar2         default hr_api.g_varchar2,
933   p_attribute8                   in varchar2         default hr_api.g_varchar2,
934   p_attribute9                   in varchar2         default hr_api.g_varchar2,
935   p_attribute10                  in varchar2         default hr_api.g_varchar2,
936   p_attribute11                  in varchar2         default hr_api.g_varchar2,
937   p_attribute12                  in varchar2         default hr_api.g_varchar2,
938   p_attribute13                  in varchar2         default hr_api.g_varchar2,
939   p_attribute14                  in varchar2         default hr_api.g_varchar2,
940   p_attribute15                  in varchar2         default hr_api.g_varchar2,
941   p_attribute16                  in varchar2         default hr_api.g_varchar2,
942   p_attribute17                  in varchar2         default hr_api.g_varchar2,
943   p_attribute18                  in varchar2         default hr_api.g_varchar2,
944   p_attribute19                  in varchar2         default hr_api.g_varchar2,
945   p_attribute20                  in varchar2         default hr_api.g_varchar2,
946   p_object_version_number        in out nocopy number,
947   p_prior_employment_ssp_weeks   in number           default hr_api.g_number,
948   p_prior_employment_ssp_paid_to in date             default hr_api.g_date,
949   p_pds_information_category     in varchar2         default hr_api.g_varchar2,
950   p_pds_information1             in varchar2         default hr_api.g_varchar2,
951   p_pds_information2             in varchar2         default hr_api.g_varchar2,
952   p_pds_information3             in varchar2         default hr_api.g_varchar2,
953   p_pds_information4             in varchar2         default hr_api.g_varchar2,
954   p_pds_information5             in varchar2         default hr_api.g_varchar2,
955   p_pds_information6             in varchar2         default hr_api.g_varchar2,
956   p_pds_information7             in varchar2         default hr_api.g_varchar2,
957   p_pds_information8             in varchar2         default hr_api.g_varchar2,
958   p_pds_information9             in varchar2         default hr_api.g_varchar2,
959   p_pds_information10            in varchar2         default hr_api.g_varchar2,
960   p_pds_information11            in varchar2         default hr_api.g_varchar2,
961   p_pds_information12            in varchar2         default hr_api.g_varchar2,
962   p_pds_information13            in varchar2         default hr_api.g_varchar2,
963   p_pds_information14            in varchar2         default hr_api.g_varchar2,
964   p_pds_information15            in varchar2         default hr_api.g_varchar2,
965   p_pds_information16            in varchar2         default hr_api.g_varchar2,
966   p_pds_information17            in varchar2         default hr_api.g_varchar2,
967   p_pds_information18            in varchar2         default hr_api.g_varchar2,
968   p_pds_information19            in varchar2         default hr_api.g_varchar2,
969   p_pds_information20            in varchar2         default hr_api.g_varchar2,
970   p_pds_information21            in varchar2         default hr_api.g_varchar2,
971   p_pds_information22            in varchar2         default hr_api.g_varchar2,
972   p_pds_information23            in varchar2         default hr_api.g_varchar2,
973   p_pds_information24            in varchar2         default hr_api.g_varchar2,
974   p_pds_information25            in varchar2         default hr_api.g_varchar2,
975   p_pds_information26            in varchar2         default hr_api.g_varchar2,
976   p_pds_information27            in varchar2         default hr_api.g_varchar2,
977   p_pds_information28            in varchar2         default hr_api.g_varchar2,
978   p_pds_information29            in varchar2         default hr_api.g_varchar2,
979   p_pds_information30            in varchar2         default hr_api.g_varchar2,
980   p_effective_date               in date,
981   p_validate                     in boolean      default false
982   ) is
983 --
984   l_rec	  per_pds_shd.g_rec_type;
985   l_proc  varchar2(72) := g_package||'upd';
986 --
987 Begin
988   hr_utility.set_location('Entering:'||l_proc, 5);
989   --
990   -- Call conversion function to turn arguments into the
991   -- l_rec structure.
992   --
993   l_rec :=
994   per_pds_shd.convert_args
995   (
996   p_period_of_service_id,
997   hr_api.g_number,
998   p_termination_accepted_person,
999   hr_api.g_number,
1000   p_date_start,
1001   p_accepted_termination_date,
1002   p_actual_termination_date,
1003   p_comments,
1004   p_final_process_date,
1005   p_last_standard_process_date,
1006   p_leaving_reason,
1007   p_notified_termination_date,
1008   p_projected_termination_date,
1009   p_adjusted_svc_date,
1010   p_request_id,
1011   p_program_application_id,
1012   p_program_id,
1013   p_program_update_date,
1014   p_attribute_category,
1015   p_attribute1,
1016   p_attribute2,
1017   p_attribute3,
1018   p_attribute4,
1019   p_attribute5,
1020   p_attribute6,
1021   p_attribute7,
1022   p_attribute8,
1023   p_attribute9,
1024   p_attribute10,
1025   p_attribute11,
1026   p_attribute12,
1027   p_attribute13,
1028   p_attribute14,
1029   p_attribute15,
1030   p_attribute16,
1031   p_attribute17,
1032   p_attribute18,
1033   p_attribute19,
1034   p_attribute20,
1035   p_object_version_number ,
1036   p_prior_employment_ssp_weeks,
1037   p_prior_employment_ssp_paid_to,
1038   p_pds_information_category,
1039   p_pds_information1,
1040   p_pds_information2,
1041   p_pds_information3,
1042   p_pds_information4,
1043   p_pds_information5,
1044   p_pds_information6,
1045   p_pds_information7,
1046   p_pds_information8,
1047   p_pds_information9,
1048   p_pds_information10,
1049   p_pds_information11,
1050   p_pds_information12,
1051   p_pds_information13,
1052   p_pds_information14,
1053   p_pds_information15,
1054   p_pds_information16,
1055   p_pds_information17,
1056   p_pds_information18,
1057   p_pds_information19,
1058   p_pds_information20,
1059   p_pds_information21,
1060   p_pds_information22,
1061   p_pds_information23,
1062   p_pds_information24,
1063   p_pds_information25,
1064   p_pds_information26,
1065   p_pds_information27,
1066   p_pds_information28,
1067   p_pds_information29,
1068   p_pds_information30
1069   );
1070   --
1071   -- Having converted the arguments into the
1072   -- plsql record structure we call the corresponding record
1073   -- business process.
1074   --
1075   upd(l_rec, p_effective_date, p_validate);
1076   p_object_version_number := l_rec.object_version_number;
1077   --
1078   hr_utility.set_location(' Leaving:'||l_proc, 10);
1079 End upd;
1080 --
1081 end per_pds_upd;