1 Package Body per_asn_upd as
2 /* $Header: peasnrhi.pkb 115.11 2003/09/01 08:19:06 bdivvela ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' per_asn_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 per_asn_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_assessments Row
60 --
61 update per_assessments
62 set
63 assessment_id = p_rec.assessment_id,
64 assessment_type_id = p_rec.assessment_type_id,
65 assessment_group_id = p_rec.assessment_group_id,
66 assessment_period_start_date = p_rec.assessment_period_start_date,
67 assessment_period_end_date = p_rec.assessment_period_end_date,
68 assessment_date = p_rec.assessment_date,
69 comments = p_rec.comments,
70 total_score = p_rec.total_score,
71 status = p_rec.status,
72 attribute_category = p_rec.attribute_category,
73 attribute1 = p_rec.attribute1,
74 attribute2 = p_rec.attribute2,
75 attribute3 = p_rec.attribute3,
76 attribute4 = p_rec.attribute4,
77 attribute5 = p_rec.attribute5,
78 attribute6 = p_rec.attribute6,
79 attribute7 = p_rec.attribute7,
80 attribute8 = p_rec.attribute8,
81 attribute9 = p_rec.attribute9,
82 attribute10 = p_rec.attribute10,
83 attribute11 = p_rec.attribute11,
84 attribute12 = p_rec.attribute12,
85 attribute13 = p_rec.attribute13,
86 attribute14 = p_rec.attribute14,
87 attribute15 = p_rec.attribute15,
88 attribute16 = p_rec.attribute16,
89 attribute17 = p_rec.attribute17,
90 attribute18 = p_rec.attribute18,
91 attribute19 = p_rec.attribute19,
92 attribute20 = p_rec.attribute20,
93 object_version_number = p_rec.object_version_number
94 where assessment_id = p_rec.assessment_id;
95 --
96 hr_utility.set_location(' Leaving:'||l_proc, 10);
97 --
98 Exception
99 When hr_api.check_integrity_violated Then
100 -- A check constraint has been violated
101 per_asn_shd.constraint_error
102 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
103 When hr_api.parent_integrity_violated Then
104 -- Parent integrity has been violated
105 per_asn_shd.constraint_error
106 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
107 When hr_api.unique_integrity_violated Then
108 -- Unique integrity has been violated
109 per_asn_shd.constraint_error
110 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
111 When Others Then
112 Raise;
113 End update_dml;
114 --
115 -- ----------------------------------------------------------------------------
116 -- |------------------------------< pre_update >------------------------------|
117 -- ----------------------------------------------------------------------------
118 -- {Start Of Comments}
119 --
120 -- Description:
121 -- This private procedure contains any processing which is required before
122 -- the update dml.
123 --
124 -- Pre Conditions:
125 -- This is an internal procedure which is called from the upd procedure.
126 --
127 -- In Parameters:
128 -- A Pl/Sql record structre.
129 --
130 -- Post Success:
131 -- Processing continues.
132 --
133 -- Post Failure:
134 -- If an error has occurred, an error message and exception will be raised
135 -- but not handled.
136 --
137 -- Developer Implementation Notes:
138 -- Any pre-processing required before the update dml is issued should be
139 -- coded within this procedure. It is important to note that any 3rd party
140 -- maintenance should be reviewed before placing in this procedure.
141 --
142 -- Access Status:
143 -- Internal Table Handler Use Only.
144 --
145 -- {End Of Comments}
146 -- ----------------------------------------------------------------------------
147 Procedure pre_update(p_rec in per_asn_shd.g_rec_type) is
148 --
149 l_proc varchar2(72) := g_package||'pre_update';
150 --
151 Begin
152 hr_utility.set_location('Entering:'||l_proc, 5);
153 --
154 hr_utility.set_location(' Leaving:'||l_proc, 10);
155 End pre_update;
156 --
157 -- ----------------------------------------------------------------------------
158 -- |-----------------------------< post_update >------------------------------|
159 -- ----------------------------------------------------------------------------
160 -- {Start Of Comments}
161 --
162 -- Description:
163 -- This private procedure contains any processing which is required after the
164 -- update dml.
165 --
166 -- Pre Conditions:
167 -- This is an internal procedure which is called from the upd procedure.
168 --
169 -- In Parameters:
170 -- A Pl/Sql record structre.
171 --
172 -- Post Success:
173 -- Processing continues.
174 --
175 -- Post Failure:
176 -- If an error has occurred, an error message and exception will be raised
177 -- but not handled.
178 --
179 -- Developer Implementation Notes:
180 -- Any post-processing required after the update dml is issued should be
181 -- coded within this procedure. It is important to note that any 3rd party
182 -- maintenance should be reviewed before placing in this procedure.
183 --
184 -- Access Status:
185 -- Internal Table Handler Use Only.
186 --
187 -- {End Of Comments}
188 -- ----------------------------------------------------------------------------
189 Procedure post_update(p_rec in per_asn_shd.g_rec_type) is
190 --
191 l_proc varchar2(72) := g_package||'post_update';
192 --
193 Begin
194 hr_utility.set_location('Entering:'||l_proc, 5);
195 --
196 -- This is a hook point and the user hook for post_update is called here.
197 --
198 begin
199 per_asn_rku.after_update (
200 p_assessment_id => p_rec.assessment_id ,
201 p_business_group_id => p_rec.business_group_id ,
202 p_object_version_number => p_rec.object_version_number ,
203 p_person_id => p_rec.person_id ,
204 p_assessment_type_id => p_rec.assessment_type_id ,
205 p_group_date => p_rec.group_date ,
206 p_group_initiator_id => p_rec.group_initiator_id ,
207 p_assessor_person_id => p_rec.assessor_person_id ,
208 p_assessment_group_id => p_rec.assessment_group_id ,
209 p_assessment_date => p_rec.assessment_date ,
210 p_status => p_rec.status ,
211 p_assessment_period_start_date => p_rec.assessment_period_start_date ,
212 p_assessment_period_end_date => p_rec.assessment_period_end_date ,
213 p_comments => p_rec.comments ,
214 p_total_score => p_rec.total_score ,
215 p_appraisal_id => p_rec.appraisal_id ,
216 p_attribute_category => p_rec.attribute_category ,
217 p_attribute1 => p_rec.attribute1 ,
218 p_attribute2 => p_rec.attribute2 ,
219 p_attribute3 => p_rec.attribute3 ,
220 p_attribute4 => p_rec.attribute4 ,
221 p_attribute5 => p_rec.attribute5 ,
222 p_attribute6 => p_rec.attribute6 ,
223 p_attribute7 => p_rec.attribute7 ,
224 p_attribute8 => p_rec.attribute8 ,
225 p_attribute9 => p_rec.attribute9 ,
226 p_attribute10 => p_rec.attribute10 ,
227 p_attribute11 => p_rec.attribute11 ,
228 p_attribute12 => p_rec.attribute12 ,
229 p_attribute13 => p_rec.attribute13 ,
230 p_attribute14 => p_rec.attribute14 ,
231 p_attribute15 => p_rec.attribute15 ,
232 p_attribute16 => p_rec.attribute16 ,
233 p_attribute17 => p_rec.attribute17 ,
234 p_attribute18 => p_rec.attribute18 ,
235 p_attribute19 => p_rec.attribute19 ,
236 p_attribute20 => p_rec.attribute20 ,
237 p_business_group_id_o => per_asn_shd.g_old_rec.business_group_id ,
238 p_object_version_number_o => per_asn_shd.g_old_rec.object_version_number ,
239 p_person_id_o => per_asn_shd.g_old_rec.person_id ,
240 p_assessment_type_id_o => per_asn_shd.g_old_rec.assessment_type_id ,
241 p_group_date_o => per_asn_shd.g_old_rec.group_date ,
242 p_group_initiator_id_o => per_asn_shd.g_old_rec.group_initiator_id ,
243 p_assessor_person_id_o => per_asn_shd.g_old_rec.assessor_person_id ,
244 p_assessment_group_id_o => per_asn_shd.g_old_rec.assessment_group_id ,
245 p_assessment_date_o => per_asn_shd.g_old_rec.assessment_date ,
246 p_status_o => per_asn_shd.g_old_rec.status ,
247 p_assessment_period_start_da_o =>
248 per_asn_shd.g_old_rec.assessment_period_start_date ,
249 p_assessment_period_end_date_o =>
250 per_asn_shd.g_old_rec.assessment_period_end_date ,
251 p_comments_o => per_asn_shd.g_old_rec.comments ,
252 p_total_score_o => per_asn_shd.g_old_rec.total_score ,
253 p_appraisal_id_o => per_asn_shd.g_old_rec.appraisal_id ,
254 p_attribute_category_o => per_asn_shd.g_old_rec.attribute_category ,
255 p_attribute1_o => per_asn_shd.g_old_rec.attribute1 ,
256 p_attribute2_o => per_asn_shd.g_old_rec.attribute2 ,
257 p_attribute3_o => per_asn_shd.g_old_rec.attribute3 ,
258 p_attribute4_o => per_asn_shd.g_old_rec.attribute4 ,
259 p_attribute5_o => per_asn_shd.g_old_rec.attribute5 ,
260 p_attribute6_o => per_asn_shd.g_old_rec.attribute6 ,
261 p_attribute7_o => per_asn_shd.g_old_rec.attribute7 ,
262 p_attribute8_o => per_asn_shd.g_old_rec.attribute8 ,
263 p_attribute9_o => per_asn_shd.g_old_rec.attribute9 ,
264 p_attribute10_o => per_asn_shd.g_old_rec.attribute10 ,
265 p_attribute11_o => per_asn_shd.g_old_rec.attribute11 ,
266 p_attribute12_o => per_asn_shd.g_old_rec.attribute12 ,
267 p_attribute13_o => per_asn_shd.g_old_rec.attribute13 ,
268 p_attribute14_o => per_asn_shd.g_old_rec.attribute14 ,
269 p_attribute15_o => per_asn_shd.g_old_rec.attribute15 ,
270 p_attribute16_o => per_asn_shd.g_old_rec.attribute16 ,
271 p_attribute17_o => per_asn_shd.g_old_rec.attribute17 ,
272 p_attribute18_o => per_asn_shd.g_old_rec.attribute18 ,
273 p_attribute19_o => per_asn_shd.g_old_rec.attribute19 ,
274 p_attribute20_o => per_asn_shd.g_old_rec.attribute20 );
275
276 exception
277 when hr_api.cannot_find_prog_unit then
278 hr_api.cannot_find_prog_unit_error
279 ( p_module_name => 'PER_ASSESSMENTS'
280 ,p_hook_type => 'AU'
281 );
282 end;
283 -- End of API User Hook for post_update
284 --
285 hr_utility.set_location(' Leaving:'||l_proc, 10);
286 End post_update;
287 --
288 -- ----------------------------------------------------------------------------
289 -- |-----------------------------< convert_defs >-----------------------------|
290 -- ----------------------------------------------------------------------------
291 -- {Start Of Comments}
292 --
293 -- Description:
294 -- The Convert_Defs procedure has one very important function:
295 -- It must return the record structure for the row with all system defaulted
296 -- values converted into its corresponding parameter value for update. When
297 -- we attempt to update a row through the Upd process , certain
298 -- parameters can be defaulted which enables flexibility in the calling of
299 -- the upd process (e.g. only attributes which need to be updated need to be
300 -- specified). For the upd process to determine which attributes
301 -- have NOT been specified we need to check if the parameter has a reserved
302 -- system default value. Therefore, for all parameters which have a
303 -- corresponding reserved system default mechanism specified we need to
304 -- check if a system default is being used. If a system default is being
305 -- used then we convert the defaulted value into its corresponding attribute
306 -- value held in the g_old_rec data structure.
307 --
308 -- Pre Conditions:
309 -- This private function can only be called from the upd process.
310 --
311 -- In Parameters:
312 -- A Pl/Sql record structre.
313 --
314 -- Post Success:
315 -- The record structure will be returned with all system defaulted parameter
316 -- values converted into its current row attribute value.
317 --
318 -- Post Failure:
319 -- No direct error handling is required within this function. Any possible
320 -- errors within this procedure will be a PL/SQL value error due to conversion
321
322 -- of datatypes or data lengths.
323 --
324 -- Developer Implementation Notes:
325 -- None.
326 --
327 -- Access Status:
328 -- Internal Table Handler Use Only.
329 --
330 -- {End Of Comments}
331 -- ----------------------------------------------------------------------------
332 Procedure convert_defs(p_rec in out nocopy per_asn_shd.g_rec_type) is
333 --
334 l_proc varchar2(72) := g_package||'convert_defs';
335 --
336 Begin
337 --
338 hr_utility.set_location('Entering:'||l_proc, 5);
339 --
340 -- We must now examine each argument value in the
341 -- p_rec plsql record structure
342 -- to see if a system default is being used. If a system default
343 -- is being used then we must set to the 'current' argument value.
344 --
345 If (p_rec.assessment_type_id = hr_api.g_number) then
346 p_rec.assessment_type_id :=
347 per_asn_shd.g_old_rec.assessment_type_id;
348 End If;
349
350 If (p_rec.business_group_id = hr_api.g_number) then
351 p_rec.business_group_id :=
352 per_asn_shd.g_old_rec.business_group_id;
353 End If;
354 If (p_rec.person_id = hr_api.g_number) then
355 p_rec.person_id :=
356 per_asn_shd.g_old_rec.person_id;
357 End If;
358 If (p_rec.assessment_group_id = hr_api.g_number) then
359 p_rec.assessment_group_id :=
360 per_asn_shd.g_old_rec.assessment_group_id;
361 End If;
362 If (p_rec.assessment_period_start_date = hr_api.g_date) then
363 p_rec.assessment_period_start_date :=
364 per_asn_shd.g_old_rec.assessment_period_start_date;
365 End If;
366 If (p_rec.assessment_period_end_date = hr_api.g_date) then
367 p_rec.assessment_period_end_date :=
368 per_asn_shd.g_old_rec.assessment_period_end_date;
369 End If;
370 If (p_rec.assessment_date = hr_api.g_date) then
371 p_rec.assessment_date :=
372 per_asn_shd.g_old_rec.assessment_date;
373 End If;
374 If (p_rec.assessor_person_id = hr_api.g_number) then
375 p_rec.assessor_person_id :=
376 per_asn_shd.g_old_rec.assessor_person_id;
377 End If;
378 If (p_rec.comments = hr_api.g_varchar2) then
379 p_rec.comments :=
380 per_asn_shd.g_old_rec.comments;
381 End If;
382 If (p_rec.total_score = hr_api.g_number) then
383 p_rec.total_score :=
384 per_asn_shd.g_old_rec.total_score;
385 End If;
386 If (p_rec.status = hr_api.g_varchar2) then
387 p_rec.status :=
388 per_asn_shd.g_old_rec.status;
389 End If;
390 If (p_rec.attribute_category = hr_api.g_varchar2) then
391 p_rec.attribute_category :=
392 per_asn_shd.g_old_rec.attribute_category;
393 End If;
394 If (p_rec.attribute1 = hr_api.g_varchar2) then
395 p_rec.attribute1 :=
396 per_asn_shd.g_old_rec.attribute1;
397 End If;
398 If (p_rec.attribute2 = hr_api.g_varchar2) then
399 p_rec.attribute2 :=
400 per_asn_shd.g_old_rec.attribute2;
401 End If;
402 If (p_rec.attribute3 = hr_api.g_varchar2) then
403 p_rec.attribute3 :=
404 per_asn_shd.g_old_rec.attribute3;
405 End If;
406 If (p_rec.attribute4 = hr_api.g_varchar2) then
407 p_rec.attribute4 :=
408 per_asn_shd.g_old_rec.attribute4;
409 End If;
410 If (p_rec.attribute5 = hr_api.g_varchar2) then
411 p_rec.attribute5 :=
412 per_asn_shd.g_old_rec.attribute5;
413 End If;
414 If (p_rec.attribute6 = hr_api.g_varchar2) then
415 p_rec.attribute6 :=
416 per_asn_shd.g_old_rec.attribute6;
417 End If;
418 If (p_rec.attribute7 = hr_api.g_varchar2) then
419 p_rec.attribute7 :=
420 per_asn_shd.g_old_rec.attribute7;
421 End If;
422 If (p_rec.attribute8 = hr_api.g_varchar2) then
423 p_rec.attribute8 :=
424 per_asn_shd.g_old_rec.attribute8;
425 End If;
426 If (p_rec.attribute9 = hr_api.g_varchar2) then
427 p_rec.attribute9 :=
428 per_asn_shd.g_old_rec.attribute9;
429 End If;
430 If (p_rec.attribute10 = hr_api.g_varchar2) then
431 p_rec.attribute10 :=
432 per_asn_shd.g_old_rec.attribute10;
433 End If;
434 If (p_rec.attribute11 = hr_api.g_varchar2) then
435 p_rec.attribute11 :=
436 per_asn_shd.g_old_rec.attribute11;
437 End If;
438 If (p_rec.attribute12 = hr_api.g_varchar2) then
439 p_rec.attribute12 :=
440 per_asn_shd.g_old_rec.attribute12;
441 End If;
442 If (p_rec.attribute13 = hr_api.g_varchar2) then
443 p_rec.attribute13 :=
444 per_asn_shd.g_old_rec.attribute13;
445 End If;
446 If (p_rec.attribute14 = hr_api.g_varchar2) then
447 p_rec.attribute14 :=
448 per_asn_shd.g_old_rec.attribute14;
449 End If;
450 If (p_rec.attribute15 = hr_api.g_varchar2) then
451 p_rec.attribute15 :=
452 per_asn_shd.g_old_rec.attribute15;
453 End If;
454 If (p_rec.attribute16 = hr_api.g_varchar2) then
455 p_rec.attribute16 :=
456 per_asn_shd.g_old_rec.attribute16;
457 End If;
458 If (p_rec.attribute17 = hr_api.g_varchar2) then
459 p_rec.attribute17 :=
460 per_asn_shd.g_old_rec.attribute17;
461 End If;
462 If (p_rec.attribute18 = hr_api.g_varchar2) then
463 p_rec.attribute18 :=
464 per_asn_shd.g_old_rec.attribute18;
465 End If;
466 If (p_rec.attribute19 = hr_api.g_varchar2) then
467 p_rec.attribute19 :=
468 per_asn_shd.g_old_rec.attribute19;
469 End If;
470 If (p_rec.attribute20 = hr_api.g_varchar2) then
471 p_rec.attribute20 :=
472 per_asn_shd.g_old_rec.attribute20;
473 End If;
474
475 --
476 hr_utility.set_location(' Leaving:'||l_proc, 10);
477 --
478 End convert_defs;
479 --
480 -- ----------------------------------------------------------------------------
481 -- |---------------------------------< upd >----------------------------------|
482 -- ----------------------------------------------------------------------------
483 Procedure upd
484 (p_rec in out nocopy per_asn_shd.g_rec_type
485 ,p_validate in boolean default false
486 ,p_effective_date in date
487 ) is
488 --
489 l_proc varchar2(72) := g_package||'upd';
490 --
491 Begin
492 hr_utility.set_location('Entering:'||l_proc, 5);
493 --
494 -- Determine if the business process is to be validated.
495 --
496 If p_validate then
497 --
498 -- Issue the savepoint.
499 --
500 SAVEPOINT upd_per_asn;
501 End If;
502 --
503 -- We must lock the row which we need to update.
504 --
505 per_asn_shd.lck
506 (
507 p_rec.assessment_id,
508 p_rec.object_version_number
509 );
510 --
511 -- 1. During an update system defaults are used to determine if
512 -- arguments have been defaulted or not. We must therefore
513 -- derive the full record structure values to be updated.
514 --
515 -- 2. Call the supporting update validate operations.
516 --
517 convert_defs(p_rec);
518 per_asn_bus.update_validate(p_rec
519 ,p_effective_date);
520 --
521 hr_multi_message.end_validation_set;
522 --
523
524 --
525 -- Call the supporting pre-update operation
526 --
527 pre_update(p_rec);
528 --
529 -- Update the row.
530 --
531 update_dml(p_rec);
532 --
533 -- Call the supporting post-update operation
534 --
535 post_update(p_rec);
536
537 --
538 hr_multi_message.end_validation_set;
539 --
540 -- If we are validating then raise the Validate_Enabled exception
541 --
542 If p_validate then
543 Raise HR_Api.Validate_Enabled;
544 End If;
545 --
546 hr_utility.set_location(' Leaving:'||l_proc, 10);
547 Exception
548 When HR_Api.Validate_Enabled Then
549 --
550 -- As the Validate_Enabled exception has been raised
551 -- we must rollback to the savepoint
552 --
553 ROLLBACK TO upd_per_asn;
554 End upd;
555 --
556 -- ----------------------------------------------------------------------------
557 -- |---------------------------------< upd >----------------------------------|
558 -- ----------------------------------------------------------------------------
559 Procedure upd
560 (
561 p_assessment_id in number,
562 p_assessment_type_id in number default hr_api.g_number,
563 p_assessment_group_id in number default hr_api.g_number,
564 p_assessment_period_start_date in date default hr_api.g_date,
565 p_assessment_period_end_date in date default hr_api.g_date,
566 p_assessment_date in date default hr_api.g_date,
567 p_comments in varchar2 default hr_api.g_varchar2,
568 p_total_score in number default hr_api.g_number,
569 p_status in varchar2 default hr_api.g_varchar2,
570 p_attribute_category in varchar2 default hr_api.g_varchar2,
571 p_attribute1 in varchar2 default hr_api.g_varchar2,
572 p_attribute2 in varchar2 default hr_api.g_varchar2,
573 p_attribute3 in varchar2 default hr_api.g_varchar2,
574 p_attribute4 in varchar2 default hr_api.g_varchar2,
575 p_attribute5 in varchar2 default hr_api.g_varchar2,
576 p_attribute6 in varchar2 default hr_api.g_varchar2,
577 p_attribute7 in varchar2 default hr_api.g_varchar2,
578 p_attribute8 in varchar2 default hr_api.g_varchar2,
579 p_attribute9 in varchar2 default hr_api.g_varchar2,
580 p_attribute10 in varchar2 default hr_api.g_varchar2,
581 p_attribute11 in varchar2 default hr_api.g_varchar2,
582 p_attribute12 in varchar2 default hr_api.g_varchar2,
583 p_attribute13 in varchar2 default hr_api.g_varchar2,
584 p_attribute14 in varchar2 default hr_api.g_varchar2,
585 p_attribute15 in varchar2 default hr_api.g_varchar2,
586 p_attribute16 in varchar2 default hr_api.g_varchar2,
587 p_attribute17 in varchar2 default hr_api.g_varchar2,
588 p_attribute18 in varchar2 default hr_api.g_varchar2,
589 p_attribute19 in varchar2 default hr_api.g_varchar2,
590 p_attribute20 in varchar2 default hr_api.g_varchar2,
591 p_object_version_number in out nocopy number,
592 p_validate in boolean default false,
593 p_effective_date in date
594 ) is
595 --
596 l_rec per_asn_shd.g_rec_type;
597 l_proc varchar2(72) := g_package||'upd';
598 --
599 Begin
600 hr_utility.set_location('Entering:'||l_proc, 5);
601 --
602 -- Call conversion function to turn arguments into the
603 -- l_rec structure.
604 --
605 l_rec :=
606 per_asn_shd.convert_args
607 (
608 p_assessment_id,
609 p_assessment_type_id,
610 hr_api.g_number,
611 hr_api.g_number,
612 p_assessment_group_id,
613 p_assessment_period_start_date,
614 p_assessment_period_end_date,
615 p_assessment_date,
616 hr_api.g_number,
617 hr_api.g_number,
618 hr_api.g_date,
619 hr_api.g_number,
620 p_comments,
621 p_total_score,
622 p_status,
623 p_attribute_category,
624 p_attribute1,
625 p_attribute2,
626 p_attribute3,
627 p_attribute4,
628 p_attribute5,
629 p_attribute6,
630 p_attribute7,
631 p_attribute8,
632 p_attribute9,
633 p_attribute10,
634 p_attribute11,
635 p_attribute12,
636 p_attribute13,
637 p_attribute14,
638 p_attribute15,
639 p_attribute16,
640 p_attribute17,
641 p_attribute18,
642 p_attribute19,
643 p_attribute20,
644 p_object_version_number
645 );
646 --
647 -- Having converted the arguments into the
648 -- plsql record structure we call the corresponding record
649 -- business process.
650 --
651 upd(l_rec
652 ,p_validate
653 ,p_effective_date);
654 p_object_version_number := l_rec.object_version_number;
655 --
656 hr_utility.set_location(' Leaving:'||l_proc, 10);
657 End upd;
658 --
659 end per_asn_upd;