DBA Data[Home] [Help]

PACKAGE BODY: APPS.PE_AEI_UPD

Source


1 Package Body pe_aei_upd as
2 /* $Header: peaeirhi.pkb 115.8 2002/12/03 15:36:45 raranjan ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33)	:= '  pe_aei_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 processing of
17 --   this procedure is:
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 update the specified row in the schema using the primary key in
21 --      the predicates.
22 --   3) To trap any constraint violations that may have occurred.
23 --   4) To raise any other errors.
24 --
25 -- Pre Conditions:
26 --   This is an internal private procedure which must be called from the upd
27 --   procedure.
28 --
29 -- In Parameters:
30 --   A Pl/Sql record structre.
31 --
32 -- Post Success:
33 --   The specified row will be updated in the schema.
34 --
35 -- Post Failure:
36 --   If a check, unique or parent integrity constraint violation is raised the
37 --   constraint_error procedure will be called.
38 --
39 -- Developer Implementation Notes:
40 --   The update 'set' attribute list should be modified if any of your
41 --   attributes are not updateable.
42 --
43 -- Access Status:
44 --   Internal Table Handler Use Only.
45 --
46 -- {End Of Comments}
47 -- ----------------------------------------------------------------------------
48 Procedure update_dml(p_rec in out nocopy pe_aei_shd.g_rec_type) is
49 --
50   l_proc  varchar2(72) := g_package||'update_dml';
51 --
52 Begin
53   hr_utility.set_location('Entering:'||l_proc, 5);
54   --
55   -- Increment the object version
56   --
57   p_rec.object_version_number := p_rec.object_version_number + 1;
58   --
59   -- Update the per_assignment_extra_info Row
60   --
61   update per_assignment_extra_info
62   set
63   assignment_extra_info_id          = p_rec.assignment_extra_info_id,
64   request_id                        = p_rec.request_id,
65   program_application_id            = p_rec.program_application_id,
66   program_id                        = p_rec.program_id,
67   program_update_date               = p_rec.program_update_date,
68   aei_attribute_category            = p_rec.aei_attribute_category,
69   aei_attribute1                    = p_rec.aei_attribute1,
70   aei_attribute2                    = p_rec.aei_attribute2,
71   aei_attribute3                    = p_rec.aei_attribute3,
72   aei_attribute4                    = p_rec.aei_attribute4,
73   aei_attribute5                    = p_rec.aei_attribute5,
74   aei_attribute6                    = p_rec.aei_attribute6,
75   aei_attribute7                    = p_rec.aei_attribute7,
76   aei_attribute8                    = p_rec.aei_attribute8,
77   aei_attribute9                    = p_rec.aei_attribute9,
78   aei_attribute10                   = p_rec.aei_attribute10,
79   aei_attribute11                   = p_rec.aei_attribute11,
80   aei_attribute12                   = p_rec.aei_attribute12,
81   aei_attribute13                   = p_rec.aei_attribute13,
82   aei_attribute14                   = p_rec.aei_attribute14,
83   aei_attribute15                   = p_rec.aei_attribute15,
84   aei_attribute16                   = p_rec.aei_attribute16,
85   aei_attribute17                   = p_rec.aei_attribute17,
86   aei_attribute18                   = p_rec.aei_attribute18,
87   aei_attribute19                   = p_rec.aei_attribute19,
88   aei_attribute20                   = p_rec.aei_attribute20,
89   aei_information_category          = p_rec.aei_information_category,
90   aei_information1                  = p_rec.aei_information1,
91   aei_information2                  = p_rec.aei_information2,
92   aei_information3                  = p_rec.aei_information3,
93   aei_information4                  = p_rec.aei_information4,
94   aei_information5                  = p_rec.aei_information5,
95   aei_information6                  = p_rec.aei_information6,
96   aei_information7                  = p_rec.aei_information7,
97   aei_information8                  = p_rec.aei_information8,
98   aei_information9                  = p_rec.aei_information9,
99   aei_information10                 = p_rec.aei_information10,
100   aei_information11                 = p_rec.aei_information11,
101   aei_information12                 = p_rec.aei_information12,
102   aei_information13                 = p_rec.aei_information13,
103   aei_information14                 = p_rec.aei_information14,
104   aei_information15                 = p_rec.aei_information15,
105   aei_information16                 = p_rec.aei_information16,
106   aei_information17                 = p_rec.aei_information17,
107   aei_information18                 = p_rec.aei_information18,
108   aei_information19                 = p_rec.aei_information19,
109   aei_information20                 = p_rec.aei_information20,
110   aei_information21                 = p_rec.aei_information21,
111   aei_information22                 = p_rec.aei_information22,
112   aei_information23                 = p_rec.aei_information23,
113   aei_information24                 = p_rec.aei_information24,
114   aei_information25                 = p_rec.aei_information25,
115   aei_information26                 = p_rec.aei_information26,
116   aei_information27                 = p_rec.aei_information27,
117   aei_information28                 = p_rec.aei_information28,
118   aei_information29                 = p_rec.aei_information29,
119   aei_information30                 = p_rec.aei_information30,
120   object_version_number             = p_rec.object_version_number
121   where assignment_extra_info_id = p_rec.assignment_extra_info_id;
122   --
123   hr_utility.set_location(' Leaving:'||l_proc, 10);
124 --
125 Exception
126   When hr_api.check_integrity_violated Then
127     -- A check constraint has been violated
128     pe_aei_shd.constraint_error
129       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
130   When hr_api.parent_integrity_violated Then
131     -- Parent integrity has been violated
132     pe_aei_shd.constraint_error
133       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
134   When hr_api.unique_integrity_violated Then
135     -- Unique integrity has been violated
136     pe_aei_shd.constraint_error
137       (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
138   When Others Then
139     Raise;
140 End update_dml;
141 --
142 -- ----------------------------------------------------------------------------
143 -- |------------------------------< pre_update >------------------------------|
144 -- ----------------------------------------------------------------------------
145 -- {Start Of Comments}
146 --
147 -- Description:
148 --   This private procedure contains any processing which is required before
149 --   the update dml.
150 --
151 -- Pre Conditions:
152 --   This is an internal procedure which is called from the upd procedure.
153 --
154 -- In Parameters:
155 --   A Pl/Sql record structre.
156 --
157 -- Post Success:
158 --   Processing continues.
159 --
160 -- Post Failure:
161 --   If an error has occurred, an error message and exception will be raised
162 --   but not handled.
163 --
164 -- Developer Implementation Notes:
165 --   Any pre-processing required before the update dml is issued should be
166 --   coded within this procedure. It is important to note that any 3rd party
167 --   maintenance should be reviewed before placing in this procedure.
168 --
169 -- Access Status:
170 --   Internal Table Handler Use Only.
171 --
172 -- {End Of Comments}
173 -- ----------------------------------------------------------------------------
174 Procedure pre_update(p_rec in pe_aei_shd.g_rec_type) is
175 --
176   l_proc  varchar2(72) := g_package||'pre_update';
177 --
178 Begin
179   hr_utility.set_location('Entering:'||l_proc, 5);
180   --
181   hr_utility.set_location(' Leaving:'||l_proc, 10);
182 End pre_update;
183 --
184 -- ----------------------------------------------------------------------------
185 -- |-----------------------------< post_update >------------------------------|
186 -- ----------------------------------------------------------------------------
187 -- {Start Of Comments}
188 --
189 -- Description:
190 --   This private procedure contains any processing which is required after the
191 --   update dml.
192 --
193 -- Pre Conditions:
194 --   This is an internal procedure which is called from the upd procedure.
195 --
196 -- In Parameters:
197 --   A Pl/Sql record structre.
198 --
199 -- Post Success:
200 --   Processing continues.
201 --
202 -- Post Failure:
203 --   If an error has occurred, an error message and exception will be raised
204 --   but not handled.
205 --
206 -- Developer Implementation Notes:
207 --   Any post-processing required after the update dml is issued should be
208 --   coded within this procedure. It is important to note that any 3rd party
209 --   maintenance should be reviewed before placing in this procedure.
210 --
211 -- Access Status:
212 --   Internal Table Handler Use Only.
213 --
214 -- {End Of Comments}
215 -- ----------------------------------------------------------------------------
216 Procedure post_update(p_rec in pe_aei_shd.g_rec_type) is
217 --
218   l_proc  varchar2(72) := g_package||'post_update';
219 --
220 Begin
221   hr_utility.set_location('Entering:'||l_proc, 5);
222   --
223   -- This is a hook point and the user hook for post_update is called here.
224   --
225   begin
226      pe_aei_rku.after_update	(
227 	p_assignment_extra_info_id	=>	p_rec.assignment_extra_info_id,
228 	p_assignment_id			=>	p_rec.assignment_id,
229 	p_information_type		=>	p_rec.information_type,
230 	p_request_id			=>	p_rec.request_id,
231 	p_program_application_id	=>	p_rec.program_application_id,
232 	p_program_id			=>	p_rec.program_id,
233 	p_program_update_date		=>	p_rec.program_update_date,
234 	p_aei_attribute_category	=>	p_rec.aei_attribute_category,
235 	p_aei_attribute1		=>	p_rec.aei_attribute1,
236 	p_aei_attribute2		=>	p_rec.aei_attribute2,
237 	p_aei_attribute3		=>	p_rec.aei_attribute3,
238 	p_aei_attribute4		=>	p_rec.aei_attribute4,
239 	p_aei_attribute5		=>	p_rec.aei_attribute5,
240 	p_aei_attribute6		=>	p_rec.aei_attribute6,
241 	p_aei_attribute7		=>	p_rec.aei_attribute7,
242 	p_aei_attribute8		=>	p_rec.aei_attribute8,
243 	p_aei_attribute9		=>	p_rec.aei_attribute9,
244 	p_aei_attribute10		=>	p_rec.aei_attribute10,
245 	p_aei_attribute11		=>	p_rec.aei_attribute11,
246 	p_aei_attribute12		=>	p_rec.aei_attribute12,
247 	p_aei_attribute13		=>	p_rec.aei_attribute13,
248 	p_aei_attribute14		=>	p_rec.aei_attribute14,
249 	p_aei_attribute15		=>	p_rec.aei_attribute15,
250 	p_aei_attribute16		=>	p_rec.aei_attribute16,
251 	p_aei_attribute17		=>	p_rec.aei_attribute17,
252 	p_aei_attribute18		=>	p_rec.aei_attribute18,
253 	p_aei_attribute19		=>	p_rec.aei_attribute19,
254 	p_aei_attribute20		=>	p_rec.aei_attribute20,
255 	p_aei_information_category	=>	p_rec.aei_information_category,
256 	p_aei_information1		=>	p_rec.aei_information1,
257 	p_aei_information2		=>	p_rec.aei_information2,
258 	p_aei_information3		=>	p_rec.aei_information3,
259 	p_aei_information4		=>	p_rec.aei_information4,
260 	p_aei_information5		=>	p_rec.aei_information5,
261 	p_aei_information6		=>	p_rec.aei_information6,
262 	p_aei_information7		=>	p_rec.aei_information7,
263 	p_aei_information8		=>	p_rec.aei_information8,
264 	p_aei_information9		=>	p_rec.aei_information9,
265 	p_aei_information10		=>	p_rec.aei_information10,
266 	p_aei_information11		=>	p_rec.aei_information11,
267 	p_aei_information12		=>	p_rec.aei_information12,
268 	p_aei_information13		=>	p_rec.aei_information13,
269 	p_aei_information14		=>	p_rec.aei_information14,
270 	p_aei_information15		=>	p_rec.aei_information15,
271 	p_aei_information16		=>	p_rec.aei_information16,
272 	p_aei_information17		=>	p_rec.aei_information17,
273 	p_aei_information18		=>	p_rec.aei_information18,
274 	p_aei_information19		=>	p_rec.aei_information19,
275 	p_aei_information20		=>	p_rec.aei_information20,
276 	p_aei_information21		=>	p_rec.aei_information21,
277 	p_aei_information22		=>	p_rec.aei_information22,
278 	p_aei_information23		=>	p_rec.aei_information23,
279 	p_aei_information24		=>	p_rec.aei_information24,
280 	p_aei_information25		=>	p_rec.aei_information25,
281 	p_aei_information26		=>	p_rec.aei_information26,
282 	p_aei_information27		=>	p_rec.aei_information27,
283 	p_aei_information28		=>	p_rec.aei_information28,
284 	p_aei_information29		=>	p_rec.aei_information29,
285 	p_aei_information30		=>	p_rec.aei_information30,
286 	p_assignment_id_o		=>	pe_aei_shd.g_old_rec.assignment_id,
287 	p_information_type_o		=>	pe_aei_shd.g_old_rec.information_type,
288 	p_request_id_o			=>	pe_aei_shd.g_old_rec.request_id,
289 	p_program_application_id_o	=>	pe_aei_shd.g_old_rec.program_application_id,
290 	p_program_id_o			=>	pe_aei_shd.g_old_rec.program_id,
291 	p_program_update_date_o		=>	pe_aei_shd.g_old_rec.program_update_date,
292 	p_aei_attribute_category_o	=>	pe_aei_shd.g_old_rec.aei_attribute_category,
293 	p_aei_attribute1_o		=>	pe_aei_shd.g_old_rec.aei_attribute1,
294 	p_aei_attribute2_o		=>	pe_aei_shd.g_old_rec.aei_attribute2,
295 	p_aei_attribute3_o		=>	pe_aei_shd.g_old_rec.aei_attribute3,
296 	p_aei_attribute4_o		=>	pe_aei_shd.g_old_rec.aei_attribute4,
297 	p_aei_attribute5_o		=>	pe_aei_shd.g_old_rec.aei_attribute5,
298 	p_aei_attribute6_o		=>	pe_aei_shd.g_old_rec.aei_attribute6,
299 	p_aei_attribute7_o		=>	pe_aei_shd.g_old_rec.aei_attribute7,
300 	p_aei_attribute8_o		=>	pe_aei_shd.g_old_rec.aei_attribute8,
301 	p_aei_attribute9_o		=>	pe_aei_shd.g_old_rec.aei_attribute9,
302 	p_aei_attribute10_o		=>	pe_aei_shd.g_old_rec.aei_attribute10,
303 	p_aei_attribute11_o		=>	pe_aei_shd.g_old_rec.aei_attribute11,
304 	p_aei_attribute12_o		=>	pe_aei_shd.g_old_rec.aei_attribute12,
305 	p_aei_attribute13_o		=>	pe_aei_shd.g_old_rec.aei_attribute13,
306 	p_aei_attribute14_o		=>	pe_aei_shd.g_old_rec.aei_attribute14,
307 	p_aei_attribute15_o		=>	pe_aei_shd.g_old_rec.aei_attribute15,
308 	p_aei_attribute16_o		=>	pe_aei_shd.g_old_rec.aei_attribute16,
309 	p_aei_attribute17_o		=>	pe_aei_shd.g_old_rec.aei_attribute17,
310 	p_aei_attribute18_o		=>	pe_aei_shd.g_old_rec.aei_attribute18,
311 	p_aei_attribute19_o		=>	pe_aei_shd.g_old_rec.aei_attribute19,
312 	p_aei_attribute20_o		=>	pe_aei_shd.g_old_rec.aei_attribute20,
313 	p_aei_information_category_o	=>	pe_aei_shd.g_old_rec.aei_information_category,
314 	p_aei_information1_o		=>	pe_aei_shd.g_old_rec.aei_information1,
315 	p_aei_information2_o		=>	pe_aei_shd.g_old_rec.aei_information2,
316 	p_aei_information3_o		=>	pe_aei_shd.g_old_rec.aei_information3,
317 	p_aei_information4_o		=>	pe_aei_shd.g_old_rec.aei_information4,
318 	p_aei_information5_o		=>	pe_aei_shd.g_old_rec.aei_information5,
319 	p_aei_information6_o		=>	pe_aei_shd.g_old_rec.aei_information6,
320 	p_aei_information7_o		=>	pe_aei_shd.g_old_rec.aei_information7,
321 	p_aei_information8_o		=>	pe_aei_shd.g_old_rec.aei_information8,
322 	p_aei_information9_o		=>	pe_aei_shd.g_old_rec.aei_information9,
323 	p_aei_information10_o		=>	pe_aei_shd.g_old_rec.aei_information10,
324 	p_aei_information11_o		=>	pe_aei_shd.g_old_rec.aei_information11,
325 	p_aei_information12_o		=>	pe_aei_shd.g_old_rec.aei_information12,
326 	p_aei_information13_o		=>	pe_aei_shd.g_old_rec.aei_information13,
327 	p_aei_information14_o		=>	pe_aei_shd.g_old_rec.aei_information14,
328 	p_aei_information15_o		=>	pe_aei_shd.g_old_rec.aei_information15,
329 	p_aei_information16_o		=>	pe_aei_shd.g_old_rec.aei_information16,
330 	p_aei_information17_o		=>	pe_aei_shd.g_old_rec.aei_information17,
331 	p_aei_information18_o		=>	pe_aei_shd.g_old_rec.aei_information18,
332 	p_aei_information19_o		=>	pe_aei_shd.g_old_rec.aei_information19,
333 	p_aei_information20_o		=>	pe_aei_shd.g_old_rec.aei_information20,
334 	p_aei_information21_o		=>	pe_aei_shd.g_old_rec.aei_information21,
335 	p_aei_information22_o		=>	pe_aei_shd.g_old_rec.aei_information22,
336 	p_aei_information23_o		=>	pe_aei_shd.g_old_rec.aei_information23,
337 	p_aei_information24_o		=>	pe_aei_shd.g_old_rec.aei_information24,
338 	p_aei_information25_o		=>	pe_aei_shd.g_old_rec.aei_information25,
339 	p_aei_information26_o		=>	pe_aei_shd.g_old_rec.aei_information26,
340 	p_aei_information27_o		=>	pe_aei_shd.g_old_rec.aei_information27,
341 	p_aei_information28_o		=>	pe_aei_shd.g_old_rec.aei_information28,
342 	p_aei_information29_o		=>	pe_aei_shd.g_old_rec.aei_information29,
343 	p_aei_information30_o		=>	pe_aei_shd.g_old_rec.aei_information30
344 	);
345      exception
346         when hr_api.cannot_find_prog_unit then
347              hr_api.cannot_find_prog_unit_error
348 		 (	p_module_name => 'PER_ASSIGNMENT_EXTRA_INFO'
349 			,p_hook_type  => 'AU'
350 	        );
351   end;
352   -- End of API User Hook for post_insert.
353   --
354   hr_utility.set_location(' Leaving:'||l_proc, 10);
355 End post_update;
356 --
357 -- ----------------------------------------------------------------------------
358 -- |-----------------------------< convert_defs >-----------------------------|
359 -- ----------------------------------------------------------------------------
360 -- {Start Of Comments}
361 --
362 -- Description:
363 --   The Convert_Defs procedure has one very important function:
364 --   It must return the record structure for the row with all system defaulted
365 --   values converted into its corresponding parameter value for update. When
366 --   we attempt to update a row through the Upd process , certain
367 --   parameters can be defaulted which enables flexibility in the calling of
368 --   the upd process (e.g. only attributes which need to be updated need to be
369 --   specified). For the upd process to determine which attributes
370 --   have NOT been specified we need to check if the parameter has a reserved
371 --   system default value. Therefore, for all parameters which have a
372 --   corresponding reserved system default mechanism specified we need to
373 --   check if a system default is being used. If a system default is being
374 --   used then we convert the defaulted value into its corresponding attribute
375 --   value held in the g_old_rec data structure.
376 --
377 -- Pre Conditions:
378 --   This private function can only be called from the upd process.
379 --
380 -- In Parameters:
381 --   A Pl/Sql record structre.
382 --
383 -- Post Success:
384 --   The record structure will be returned with all system defaulted parameter
385 --   values converted into its current row attribute value.
386 --
387 -- Post Failure:
388 --   No direct error handling is required within this function. Any possible
389 --   errors within this procedure will be a PL/SQL value error due to conversion
390 
391 --   of datatypes or data lengths.
392 --
393 -- Developer Implementation Notes:
394 --   None.
395 --
396 -- Access Status:
397 --   Internal Table Handler Use Only.
398 --
399 -- {End Of Comments}
400 -- ----------------------------------------------------------------------------
401 Procedure convert_defs(p_rec in out nocopy pe_aei_shd.g_rec_type) is
402 --
403   l_proc  varchar2(72) := g_package||'convert_defs';
404 --
405 Begin
406   --
407   hr_utility.set_location('Entering:'||l_proc, 5);
408   --
409   -- We must now examine each argument value in the
410   -- p_rec plsql record structure
411   -- to see if a system default is being used. If a system default
412   -- is being used then we must set to the 'current' argument value.
413   --
414   If (p_rec.assignment_id = hr_api.g_number) then
415     p_rec.assignment_id :=
416     pe_aei_shd.g_old_rec.assignment_id;
417   End If;
418   If (p_rec.information_type = hr_api.g_varchar2) then
419     p_rec.information_type :=
420     pe_aei_shd.g_old_rec.information_type;
421   End If;
422   If (p_rec.request_id = hr_api.g_number) then
423     p_rec.request_id :=
424     pe_aei_shd.g_old_rec.request_id;
425   End If;
426   If (p_rec.program_application_id = hr_api.g_number) then
427     p_rec.program_application_id :=
428     pe_aei_shd.g_old_rec.program_application_id;
429   End If;
430   If (p_rec.program_id = hr_api.g_number) then
431     p_rec.program_id :=
432     pe_aei_shd.g_old_rec.program_id;
433   End If;
434   If (p_rec.program_update_date = hr_api.g_date) then
435     p_rec.program_update_date :=
436     pe_aei_shd.g_old_rec.program_update_date;
437   End If;
438   If (p_rec.aei_attribute_category = hr_api.g_varchar2) then
439     p_rec.aei_attribute_category :=
440     pe_aei_shd.g_old_rec.aei_attribute_category;
441   End If;
442   If (p_rec.aei_attribute1 = hr_api.g_varchar2) then
443     p_rec.aei_attribute1 :=
444     pe_aei_shd.g_old_rec.aei_attribute1;
445   End If;
446   If (p_rec.aei_attribute2 = hr_api.g_varchar2) then
447     p_rec.aei_attribute2 :=
448     pe_aei_shd.g_old_rec.aei_attribute2;
449   End If;
450   If (p_rec.aei_attribute3 = hr_api.g_varchar2) then
451     p_rec.aei_attribute3 :=
452     pe_aei_shd.g_old_rec.aei_attribute3;
453   End If;
454   If (p_rec.aei_attribute4 = hr_api.g_varchar2) then
455     p_rec.aei_attribute4 :=
456     pe_aei_shd.g_old_rec.aei_attribute4;
457   End If;
458   If (p_rec.aei_attribute5 = hr_api.g_varchar2) then
459     p_rec.aei_attribute5 :=
460     pe_aei_shd.g_old_rec.aei_attribute5;
461   End If;
462   If (p_rec.aei_attribute6 = hr_api.g_varchar2) then
463     p_rec.aei_attribute6 :=
464     pe_aei_shd.g_old_rec.aei_attribute6;
465   End If;
466   If (p_rec.aei_attribute7 = hr_api.g_varchar2) then
467     p_rec.aei_attribute7 :=
468     pe_aei_shd.g_old_rec.aei_attribute7;
469   End If;
470   If (p_rec.aei_attribute8 = hr_api.g_varchar2) then
471     p_rec.aei_attribute8 :=
472     pe_aei_shd.g_old_rec.aei_attribute8;
473   End If;
474   If (p_rec.aei_attribute9 = hr_api.g_varchar2) then
475     p_rec.aei_attribute9 :=
476     pe_aei_shd.g_old_rec.aei_attribute9;
477   End If;
478   If (p_rec.aei_attribute10 = hr_api.g_varchar2) then
479     p_rec.aei_attribute10 :=
480     pe_aei_shd.g_old_rec.aei_attribute10;
481   End If;
482   If (p_rec.aei_attribute11 = hr_api.g_varchar2) then
483     p_rec.aei_attribute11 :=
484     pe_aei_shd.g_old_rec.aei_attribute11;
485   End If;
486   If (p_rec.aei_attribute12 = hr_api.g_varchar2) then
487     p_rec.aei_attribute12 :=
488     pe_aei_shd.g_old_rec.aei_attribute12;
489   End If;
490   If (p_rec.aei_attribute13 = hr_api.g_varchar2) then
491     p_rec.aei_attribute13 :=
492     pe_aei_shd.g_old_rec.aei_attribute13;
493   End If;
494   If (p_rec.aei_attribute14 = hr_api.g_varchar2) then
495     p_rec.aei_attribute14 :=
496     pe_aei_shd.g_old_rec.aei_attribute14;
497   End If;
498   If (p_rec.aei_attribute15 = hr_api.g_varchar2) then
499     p_rec.aei_attribute15 :=
500     pe_aei_shd.g_old_rec.aei_attribute15;
501   End If;
502   If (p_rec.aei_attribute16 = hr_api.g_varchar2) then
503     p_rec.aei_attribute16 :=
504     pe_aei_shd.g_old_rec.aei_attribute16;
505   End If;
506   If (p_rec.aei_attribute17 = hr_api.g_varchar2) then
507     p_rec.aei_attribute17 :=
508     pe_aei_shd.g_old_rec.aei_attribute17;
509   End If;
510   If (p_rec.aei_attribute18 = hr_api.g_varchar2) then
511     p_rec.aei_attribute18 :=
512     pe_aei_shd.g_old_rec.aei_attribute18;
513   End If;
514   If (p_rec.aei_attribute19 = hr_api.g_varchar2) then
515     p_rec.aei_attribute19 :=
516     pe_aei_shd.g_old_rec.aei_attribute19;
517   End If;
518   If (p_rec.aei_attribute20 = hr_api.g_varchar2) then
519     p_rec.aei_attribute20 :=
520     pe_aei_shd.g_old_rec.aei_attribute20;
521   End If;
522   If (p_rec.aei_information_category = hr_api.g_varchar2) then
523     p_rec.aei_information_category :=
524     pe_aei_shd.g_old_rec.aei_information_category;
525   End If;
526   If (p_rec.aei_information1 = hr_api.g_varchar2) then
527     p_rec.aei_information1 :=
528     pe_aei_shd.g_old_rec.aei_information1;
529   End If;
530   If (p_rec.aei_information2 = hr_api.g_varchar2) then
531     p_rec.aei_information2 :=
532     pe_aei_shd.g_old_rec.aei_information2;
533   End If;
534   If (p_rec.aei_information3 = hr_api.g_varchar2) then
535     p_rec.aei_information3 :=
536     pe_aei_shd.g_old_rec.aei_information3;
537   End If;
538   If (p_rec.aei_information4 = hr_api.g_varchar2) then
539     p_rec.aei_information4 :=
540     pe_aei_shd.g_old_rec.aei_information4;
541   End If;
542   If (p_rec.aei_information5 = hr_api.g_varchar2) then
543     p_rec.aei_information5 :=
544     pe_aei_shd.g_old_rec.aei_information5;
545   End If;
546   If (p_rec.aei_information6 = hr_api.g_varchar2) then
547     p_rec.aei_information6 :=
548     pe_aei_shd.g_old_rec.aei_information6;
549   End If;
550   If (p_rec.aei_information7 = hr_api.g_varchar2) then
551     p_rec.aei_information7 :=
552     pe_aei_shd.g_old_rec.aei_information7;
553   End If;
554   If (p_rec.aei_information8 = hr_api.g_varchar2) then
555     p_rec.aei_information8 :=
556     pe_aei_shd.g_old_rec.aei_information8;
557   End If;
558   If (p_rec.aei_information9 = hr_api.g_varchar2) then
559     p_rec.aei_information9 :=
560     pe_aei_shd.g_old_rec.aei_information9;
561   End If;
562   If (p_rec.aei_information10 = hr_api.g_varchar2) then
563     p_rec.aei_information10 :=
564     pe_aei_shd.g_old_rec.aei_information10;
565   End If;
566   If (p_rec.aei_information11 = hr_api.g_varchar2) then
567     p_rec.aei_information11 :=
568     pe_aei_shd.g_old_rec.aei_information11;
569   End If;
570   If (p_rec.aei_information12 = hr_api.g_varchar2) then
571     p_rec.aei_information12 :=
572     pe_aei_shd.g_old_rec.aei_information12;
573   End If;
574   If (p_rec.aei_information13 = hr_api.g_varchar2) then
575     p_rec.aei_information13 :=
576     pe_aei_shd.g_old_rec.aei_information13;
577   End If;
578   If (p_rec.aei_information14 = hr_api.g_varchar2) then
579     p_rec.aei_information14 :=
580     pe_aei_shd.g_old_rec.aei_information14;
581   End If;
582   If (p_rec.aei_information15 = hr_api.g_varchar2) then
583     p_rec.aei_information15 :=
584     pe_aei_shd.g_old_rec.aei_information15;
585   End If;
586   If (p_rec.aei_information16 = hr_api.g_varchar2) then
587     p_rec.aei_information16 :=
588     pe_aei_shd.g_old_rec.aei_information16;
589   End If;
590   If (p_rec.aei_information17 = hr_api.g_varchar2) then
591     p_rec.aei_information17 :=
592     pe_aei_shd.g_old_rec.aei_information17;
593   End If;
594   If (p_rec.aei_information18 = hr_api.g_varchar2) then
595     p_rec.aei_information18 :=
596     pe_aei_shd.g_old_rec.aei_information18;
597   End If;
598   If (p_rec.aei_information19 = hr_api.g_varchar2) then
599     p_rec.aei_information19 :=
600     pe_aei_shd.g_old_rec.aei_information19;
601   End If;
602   If (p_rec.aei_information20 = hr_api.g_varchar2) then
603     p_rec.aei_information20 :=
604     pe_aei_shd.g_old_rec.aei_information20;
605   End If;
606   If (p_rec.aei_information21 = hr_api.g_varchar2) then
607     p_rec.aei_information21 :=
608     pe_aei_shd.g_old_rec.aei_information21;
609   End If;
610   If (p_rec.aei_information22 = hr_api.g_varchar2) then
611     p_rec.aei_information22 :=
612     pe_aei_shd.g_old_rec.aei_information22;
613   End If;
614   If (p_rec.aei_information23 = hr_api.g_varchar2) then
615     p_rec.aei_information23 :=
616     pe_aei_shd.g_old_rec.aei_information23;
617   End If;
618   If (p_rec.aei_information24 = hr_api.g_varchar2) then
619     p_rec.aei_information24 :=
620     pe_aei_shd.g_old_rec.aei_information24;
621   End If;
622   If (p_rec.aei_information25 = hr_api.g_varchar2) then
623     p_rec.aei_information25 :=
624     pe_aei_shd.g_old_rec.aei_information25;
625   End If;
626   If (p_rec.aei_information26 = hr_api.g_varchar2) then
627     p_rec.aei_information26 :=
628     pe_aei_shd.g_old_rec.aei_information26;
629   End If;
630   If (p_rec.aei_information27 = hr_api.g_varchar2) then
631     p_rec.aei_information27 :=
632     pe_aei_shd.g_old_rec.aei_information27;
633   End If;
634   If (p_rec.aei_information28 = hr_api.g_varchar2) then
635     p_rec.aei_information28 :=
636     pe_aei_shd.g_old_rec.aei_information28;
637   End If;
638   If (p_rec.aei_information29 = hr_api.g_varchar2) then
639     p_rec.aei_information29 :=
640     pe_aei_shd.g_old_rec.aei_information29;
641   End If;
642   If (p_rec.aei_information30 = hr_api.g_varchar2) then
643     p_rec.aei_information30 :=
644     pe_aei_shd.g_old_rec.aei_information30;
645   End If;
646 
647   --
648   hr_utility.set_location(' Leaving:'||l_proc, 10);
649 --
650 End convert_defs;
651 --
652 -- ----------------------------------------------------------------------------
653 -- |---------------------------------< upd >----------------------------------|
654 -- ----------------------------------------------------------------------------
655 Procedure upd
656   (
657   p_rec        in out nocopy pe_aei_shd.g_rec_type,
658   p_validate   in     boolean default false
659   ) is
660 --
661   l_proc  varchar2(72) := g_package||'upd';
662 --
663 Begin
664   hr_utility.set_location('Entering:'||l_proc, 5);
665   --
666   -- Determine if the business process is to be validated.
667   --
668   If p_validate then
669     --
670     -- Issue the savepoint.
671     --
672     SAVEPOINT upd_pe_aei;
673   End If;
674   --
675   -- We must lock the row which we need to update.
676   --
677   pe_aei_shd.lck
678 	(
679 	p_rec.assignment_extra_info_id,
680 	p_rec.object_version_number
681 	);
682   --
683   -- 1. During an update system defaults are used to determine if
684   --    arguments have been defaulted or not. We must therefore
685   --    derive the full record structure values to be updated.
686   --
687   -- 2. Call the supporting update validate operations.
688   --
689   convert_defs(p_rec);
690   pe_aei_bus.update_validate(p_rec);
691   --
692   -- Call the supporting pre-update operation
693   --
694   pre_update(p_rec);
695   --
696   -- Update the row.
697   --
698   update_dml(p_rec);
699   --
700   -- Call the supporting post-update operation
701   --
702   post_update(p_rec);
703   --
704   -- If we are validating then raise the Validate_Enabled exception
705   --
706   If p_validate then
707     Raise HR_Api.Validate_Enabled;
708   End If;
709   --
710   hr_utility.set_location(' Leaving:'||l_proc, 10);
711 Exception
712   When HR_Api.Validate_Enabled Then
713     --
714     -- As the Validate_Enabled exception has been raised
715     -- we must rollback to the savepoint
716     --
717     ROLLBACK TO upd_pe_aei;
718 End upd;
719 --
720 -- ----------------------------------------------------------------------------
721 -- |---------------------------------< upd >----------------------------------|
722 -- ----------------------------------------------------------------------------
723 Procedure upd
724   (
725   p_assignment_extra_info_id     in number,
726   p_request_id                   in number           default hr_api.g_number,
727   p_program_application_id       in number           default hr_api.g_number,
728   p_program_id                   in number           default hr_api.g_number,
729   p_program_update_date          in date             default hr_api.g_date,
730   p_aei_attribute_category       in varchar2         default hr_api.g_varchar2,
731   p_aei_attribute1               in varchar2         default hr_api.g_varchar2,
732   p_aei_attribute2               in varchar2         default hr_api.g_varchar2,
733   p_aei_attribute3               in varchar2         default hr_api.g_varchar2,
734   p_aei_attribute4               in varchar2         default hr_api.g_varchar2,
735   p_aei_attribute5               in varchar2         default hr_api.g_varchar2,
736   p_aei_attribute6               in varchar2         default hr_api.g_varchar2,
737   p_aei_attribute7               in varchar2         default hr_api.g_varchar2,
738   p_aei_attribute8               in varchar2         default hr_api.g_varchar2,
739   p_aei_attribute9               in varchar2         default hr_api.g_varchar2,
740   p_aei_attribute10              in varchar2         default hr_api.g_varchar2,
741   p_aei_attribute11              in varchar2         default hr_api.g_varchar2,
742   p_aei_attribute12              in varchar2         default hr_api.g_varchar2,
743   p_aei_attribute13              in varchar2         default hr_api.g_varchar2,
744   p_aei_attribute14              in varchar2         default hr_api.g_varchar2,
745   p_aei_attribute15              in varchar2         default hr_api.g_varchar2,
746   p_aei_attribute16              in varchar2         default hr_api.g_varchar2,
747   p_aei_attribute17              in varchar2         default hr_api.g_varchar2,
748   p_aei_attribute18              in varchar2         default hr_api.g_varchar2,
749   p_aei_attribute19              in varchar2         default hr_api.g_varchar2,
750   p_aei_attribute20              in varchar2         default hr_api.g_varchar2,
751   p_aei_information_category     in varchar2         default hr_api.g_varchar2,
752   p_aei_information1             in varchar2         default hr_api.g_varchar2,
753   p_aei_information2             in varchar2         default hr_api.g_varchar2,
754   p_aei_information3             in varchar2         default hr_api.g_varchar2,
755   p_aei_information4             in varchar2         default hr_api.g_varchar2,
756   p_aei_information5             in varchar2         default hr_api.g_varchar2,
757   p_aei_information6             in varchar2         default hr_api.g_varchar2,
758   p_aei_information7             in varchar2         default hr_api.g_varchar2,
759   p_aei_information8             in varchar2         default hr_api.g_varchar2,
760   p_aei_information9             in varchar2         default hr_api.g_varchar2,
761   p_aei_information10            in varchar2         default hr_api.g_varchar2,
762   p_aei_information11            in varchar2         default hr_api.g_varchar2,
763   p_aei_information12            in varchar2         default hr_api.g_varchar2,
764   p_aei_information13            in varchar2         default hr_api.g_varchar2,
765   p_aei_information14            in varchar2         default hr_api.g_varchar2,
766   p_aei_information15            in varchar2         default hr_api.g_varchar2,
767   p_aei_information16            in varchar2         default hr_api.g_varchar2,
768   p_aei_information17            in varchar2         default hr_api.g_varchar2,
769   p_aei_information18            in varchar2         default hr_api.g_varchar2,
770   p_aei_information19            in varchar2         default hr_api.g_varchar2,
771   p_aei_information20            in varchar2         default hr_api.g_varchar2,
772   p_aei_information21            in varchar2         default hr_api.g_varchar2,
773   p_aei_information22            in varchar2         default hr_api.g_varchar2,
774   p_aei_information23            in varchar2         default hr_api.g_varchar2,
775   p_aei_information24            in varchar2         default hr_api.g_varchar2,
776   p_aei_information25            in varchar2         default hr_api.g_varchar2,
777   p_aei_information26            in varchar2         default hr_api.g_varchar2,
778   p_aei_information27            in varchar2         default hr_api.g_varchar2,
779   p_aei_information28            in varchar2         default hr_api.g_varchar2,
780   p_aei_information29            in varchar2         default hr_api.g_varchar2,
781   p_aei_information30            in varchar2         default hr_api.g_varchar2,
782   p_object_version_number        in out nocopy number,
783   p_validate                     in boolean      default false
784   ) is
785 --
786   l_rec	  pe_aei_shd.g_rec_type;
787   l_proc  varchar2(72) := g_package||'upd';
788 --
789 Begin
790   hr_utility.set_location('Entering:'||l_proc, 5);
791   --
792   -- Call conversion function to turn arguments into the
793   -- l_rec structure.
794   --
795   l_rec :=
796   pe_aei_shd.convert_args
797   (
798   p_assignment_extra_info_id,
799   hr_api.g_number,      --  p_assignment_id,
800   hr_api.g_varchar2,    --  p_information_type,
801   p_request_id,
802   p_program_application_id,
803   p_program_id,
804   p_program_update_date,
805   p_aei_attribute_category,
806   p_aei_attribute1,
807   p_aei_attribute2,
808   p_aei_attribute3,
809   p_aei_attribute4,
810   p_aei_attribute5,
811   p_aei_attribute6,
812   p_aei_attribute7,
813   p_aei_attribute8,
814   p_aei_attribute9,
815   p_aei_attribute10,
816   p_aei_attribute11,
817   p_aei_attribute12,
818   p_aei_attribute13,
819   p_aei_attribute14,
820   p_aei_attribute15,
821   p_aei_attribute16,
822   p_aei_attribute17,
823   p_aei_attribute18,
824   p_aei_attribute19,
825   p_aei_attribute20,
826   p_aei_information_category,
827   p_aei_information1,
828   p_aei_information2,
829   p_aei_information3,
830   p_aei_information4,
831   p_aei_information5,
832   p_aei_information6,
833   p_aei_information7,
834   p_aei_information8,
835   p_aei_information9,
836   p_aei_information10,
837   p_aei_information11,
838   p_aei_information12,
839   p_aei_information13,
840   p_aei_information14,
841   p_aei_information15,
842   p_aei_information16,
843   p_aei_information17,
844   p_aei_information18,
845   p_aei_information19,
846   p_aei_information20,
847   p_aei_information21,
848   p_aei_information22,
849   p_aei_information23,
850   p_aei_information24,
851   p_aei_information25,
852   p_aei_information26,
853   p_aei_information27,
854   p_aei_information28,
855   p_aei_information29,
856   p_aei_information30,
857   p_object_version_number
858   );
859   --
860   -- Having converted the arguments into the
861   -- plsql record structure we call the corresponding record
862   -- business process.
863   --
864   upd(l_rec, p_validate);
865   p_object_version_number := l_rec.object_version_number;
866   --
867   hr_utility.set_location(' Leaving:'||l_proc, 10);
868 End upd;
869 --
870 end pe_aei_upd;