1 Package Body ben_rts_upd as
2 /* $Header: bertsrhi.pkb 120.1 2006/01/09 14:37 maagrawa noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' ben_rts_upd.'; -- Global package name
9 g_debug boolean := hr_utility.debug_enabled;
10 --
11 -- ----------------------------------------------------------------------------
12 -- |------------------------------< update_dml >------------------------------|
13 -- ----------------------------------------------------------------------------
14 -- {Start Of Comments}
15 --
16 -- Description:
17 -- This procedure controls the actual dml update logic. The processing of
18 -- this procedure is:
19 -- 1) Increment the object_version_number by 1 if the object_version_number
20 -- is defined as an attribute for this entity.
21 -- 2) To set and unset the g_api_dml status as required (as we are about to
22 -- perform dml).
23 -- 3) To update the specified row in the schema using the primary key in
24 -- the predicates.
25 -- 4) To trap any constraint violations that may have occurred.
26 -- 5) To raise any other errors.
27 --
28 -- Prerequisites:
29 -- This is an internal private procedure which must be called from the upd
30 -- procedure.
31 --
32 -- In Parameters:
33 -- A Pl/Sql record structre.
34 --
35 -- Post Success:
36 -- The specified row will be updated in the schema.
37 --
38 -- Post Failure:
39 -- On the update dml failure it is important to note that we always reset the
40 -- g_api_dml status to false.
41 -- If a check, unique or parent integrity constraint violation is raised the
42 -- constraint_error procedure will be called.
43 -- If any other error is reported, the error will be raised after the
44 -- g_api_dml status is reset.
45 --
46 -- Developer Implementation Notes:
47 -- The update 'set' attribute list should be modified if any of your
48 -- attributes are not updateable.
49 --
50 -- Access Status:
51 -- Internal Row Handler Use Only.
52 --
53 -- {End Of Comments}
54 -- ----------------------------------------------------------------------------
55 Procedure update_dml
56 (p_rec in out nocopy ben_rts_shd.g_rec_type
57 ) is
58 --
59 l_proc varchar2(72) := g_package||'update_dml';
60 --
61 Begin
62 if g_debug then
63 hr_utility.set_location('Entering:'||l_proc, 5);
64 end if;
65 --
66 -- Increment the object version
67 p_rec.object_version_number := p_rec.object_version_number + 1;
68 --
69 ben_rts_shd.g_api_dml := true; -- Set the api dml status
70 --
71 -- Update the ben_cwb_person_rates Row
72 --
73 update ben_cwb_person_rates
74 set
75 group_pl_id = p_rec.group_pl_id
76 ,group_oipl_id = p_rec.group_oipl_id
77 ,lf_evt_ocrd_dt = p_rec.lf_evt_ocrd_dt
78 ,person_id = p_rec.person_id
79 ,assignment_id = p_rec.assignment_id
80 ,elig_flag = p_rec.elig_flag
81 ,ws_val = p_rec.ws_val
82 ,ws_mn_val = p_rec.ws_mn_val
83 ,ws_mx_val = p_rec.ws_mx_val
84 ,ws_incr_val = p_rec.ws_incr_val
85 ,elig_sal_val = p_rec.elig_sal_val
86 ,stat_sal_val = p_rec.stat_sal_val
87 ,oth_comp_val = p_rec.oth_comp_val
88 ,tot_comp_val = p_rec.tot_comp_val
89 ,misc1_val = p_rec.misc1_val
90 ,misc2_val = p_rec.misc2_val
91 ,misc3_val = p_rec.misc3_val
92 ,rec_val = p_rec.rec_val
93 ,rec_mn_val = p_rec.rec_mn_val
94 ,rec_mx_val = p_rec.rec_mx_val
95 ,rec_incr_val = p_rec.rec_incr_val
96 ,ws_val_last_upd_date = p_rec.ws_val_last_upd_date
97 ,ws_val_last_upd_by = p_rec.ws_val_last_upd_by
98 ,pay_proposal_id = p_rec.pay_proposal_id
99 ,element_entry_value_id = p_rec.element_entry_value_id
100 ,inelig_rsn_cd = p_rec.inelig_rsn_cd
101 ,elig_ovrid_dt = p_rec.elig_ovrid_dt
102 ,elig_ovrid_person_id = p_rec.elig_ovrid_person_id
103 ,copy_dist_bdgt_val = p_rec.copy_dist_bdgt_val
104 ,copy_ws_bdgt_val = p_rec.copy_ws_bdgt_val
105 ,copy_rsrv_val = p_rec.copy_rsrv_val
106 ,copy_dist_bdgt_mn_val = p_rec.copy_dist_bdgt_mn_val
107 ,copy_dist_bdgt_mx_val = p_rec.copy_dist_bdgt_mx_val
108 ,copy_dist_bdgt_incr_val = p_rec.copy_dist_bdgt_incr_val
109 ,copy_ws_bdgt_mn_val = p_rec.copy_ws_bdgt_mn_val
110 ,copy_ws_bdgt_mx_val = p_rec.copy_ws_bdgt_mx_val
111 ,copy_ws_bdgt_incr_val = p_rec.copy_ws_bdgt_incr_val
112 ,copy_rsrv_mn_val = p_rec.copy_rsrv_mn_val
113 ,copy_rsrv_mx_val = p_rec.copy_rsrv_mx_val
114 ,copy_rsrv_incr_val = p_rec.copy_rsrv_incr_val
115 ,copy_dist_bdgt_iss_val = p_rec.copy_dist_bdgt_iss_val
116 ,copy_ws_bdgt_iss_val = p_rec.copy_ws_bdgt_iss_val
117 ,copy_dist_bdgt_iss_date = p_rec.copy_dist_bdgt_iss_date
118 ,copy_ws_bdgt_iss_date = p_rec.copy_ws_bdgt_iss_date
119 ,comp_posting_date = p_rec.comp_posting_date
120 ,ws_rt_start_date = p_rec.ws_rt_start_date
121 ,currency = p_rec.currency
122 ,object_version_number = p_rec.object_version_number
123 where group_per_in_ler_id = p_rec.group_per_in_ler_id
124 and pl_id = p_rec.pl_id
125 and oipl_id = p_rec.oipl_id;
126 --
127 ben_rts_shd.g_api_dml := false; -- Unset the api dml status
128 --
129 if g_debug then
130 hr_utility.set_location(' Leaving:'||l_proc, 10);
131 end if;
132 --
133 Exception
134 When hr_api.check_integrity_violated Then
135 -- A check constraint has been violated
136 ben_rts_shd.g_api_dml := false; -- Unset the api dml status
137 ben_rts_shd.constraint_error
138 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
139 When hr_api.parent_integrity_violated Then
140 -- Parent integrity has been violated
141 ben_rts_shd.g_api_dml := false; -- Unset the api dml status
142 ben_rts_shd.constraint_error
143 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
144 When hr_api.unique_integrity_violated Then
145 -- Unique integrity has been violated
146 ben_rts_shd.g_api_dml := false; -- Unset the api dml status
147 ben_rts_shd.constraint_error
148 (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
149 When Others Then
150 ben_rts_shd.g_api_dml := false; -- Unset the api dml status
151 Raise;
152 End update_dml;
153 --
154 -- ----------------------------------------------------------------------------
155 -- |------------------------------< pre_update >------------------------------|
156 -- ----------------------------------------------------------------------------
157 -- {Start Of Comments}
158 --
159 -- Description:
160 -- This private procedure contains any processing which is required before
161 -- the update dml.
162 --
163 -- Prerequisites:
164 -- This is an internal procedure which is called from the upd procedure.
165 --
166 -- In Parameters:
167 -- A Pl/Sql record structure.
168 --
169 -- Post Success:
170 -- Processing continues.
171 --
172 -- Post Failure:
173 -- If an error has occurred, an error message and exception wil be raised
174 -- but not handled.
175 --
176 -- Developer Implementation Notes:
177 -- Any pre-processing required before the update dml is issued should be
178 -- coded within this procedure. It is important to note that any 3rd party
179 -- maintenance should be reviewed before placing in this procedure.
180 --
181 -- Access Status:
182 -- Internal Row Handler Use Only.
183 --
184 -- {End Of Comments}
185 -- ----------------------------------------------------------------------------
186 Procedure pre_update
187 (p_rec in ben_rts_shd.g_rec_type
188 ) is
189 --
190 l_proc varchar2(72) := g_package||'pre_update';
191 --
192 Begin
193 if g_debug then
194 hr_utility.set_location('Entering:'||l_proc, 5);
195 end if;
196 --
197 if g_debug then
198 hr_utility.set_location(' Leaving:'||l_proc, 10);
199 end if;
200 End pre_update;
201 --
202 -- ----------------------------------------------------------------------------
203 -- |-----------------------------< post_update >------------------------------|
204 -- ----------------------------------------------------------------------------
205 -- {Start Of Comments}
206 --
207 -- Description:
208 -- This private procedure contains any processing which is required after
209 -- the update dml.
210 --
211 -- Prerequisites:
212 -- This is an internal procedure which is called from the upd procedure.
213 --
214 -- In Parameters:
215 -- A Pl/Sql record structure.
216 --
217 -- Post Success:
218 -- Processing continues.
219 --
220 -- Post Failure:
221 -- If an error has occurred, an error message and exception will be raised
222 -- but not handled.
223 --
224 -- Developer Implementation Notes:
225 -- Any post-processing required after the update dml is issued should be
226 -- coded within this procedure. It is important to note that any 3rd party
227 -- maintenance should be reviewed before placing in this procedure.
228 --
229 -- Access Status:
230 -- Internal Row Handler Use Only.
231 --
232 -- {End Of Comments}
233 -- ----------------------------------------------------------------------------
234 Procedure post_update
235 (p_rec in ben_rts_shd.g_rec_type
236 ) is
237 --
238 l_proc varchar2(72) := g_package||'post_update';
239 --
240 Begin
241 if g_debug then
242 hr_utility.set_location('Entering:'||l_proc, 5);
243 end if;
244 begin
245 --
246 ben_rts_rku.after_update
247 (p_person_rate_id
248 => p_rec.person_rate_id
249 ,p_group_per_in_ler_id
250 => p_rec.group_per_in_ler_id
251 ,p_pl_id
252 => p_rec.pl_id
253 ,p_oipl_id
254 => p_rec.oipl_id
255 ,p_group_pl_id
256 => p_rec.group_pl_id
257 ,p_group_oipl_id
258 => p_rec.group_oipl_id
259 ,p_lf_evt_ocrd_dt
260 => p_rec.lf_evt_ocrd_dt
261 ,p_person_id
262 => p_rec.person_id
263 ,p_assignment_id
264 => p_rec.assignment_id
265 ,p_elig_flag
266 => p_rec.elig_flag
267 ,p_ws_val
268 => p_rec.ws_val
269 ,p_ws_mn_val
270 => p_rec.ws_mn_val
271 ,p_ws_mx_val
272 => p_rec.ws_mx_val
273 ,p_ws_incr_val
274 => p_rec.ws_incr_val
275 ,p_elig_sal_val
276 => p_rec.elig_sal_val
277 ,p_stat_sal_val
278 => p_rec.stat_sal_val
279 ,p_oth_comp_val
280 => p_rec.oth_comp_val
281 ,p_tot_comp_val
282 => p_rec.tot_comp_val
283 ,p_misc1_val
284 => p_rec.misc1_val
285 ,p_misc2_val
286 => p_rec.misc2_val
287 ,p_misc3_val
288 => p_rec.misc3_val
289 ,p_rec_val
290 => p_rec.rec_val
291 ,p_rec_mn_val
292 => p_rec.rec_mn_val
293 ,p_rec_mx_val
294 => p_rec.rec_mx_val
295 ,p_rec_incr_val
296 => p_rec.rec_incr_val
297 ,p_ws_val_last_upd_date
298 => p_rec.ws_val_last_upd_date
299 ,p_ws_val_last_upd_by
300 => p_rec.ws_val_last_upd_by
301 ,p_pay_proposal_id
302 => p_rec.pay_proposal_id
303 ,p_element_entry_value_id
304 => p_rec.element_entry_value_id
305 ,p_inelig_rsn_cd
306 => p_rec.inelig_rsn_cd
307 ,p_elig_ovrid_dt
308 => p_rec.elig_ovrid_dt
309 ,p_elig_ovrid_person_id
310 => p_rec.elig_ovrid_person_id
311 ,p_copy_dist_bdgt_val
312 => p_rec.copy_dist_bdgt_val
313 ,p_copy_ws_bdgt_val
314 => p_rec.copy_ws_bdgt_val
315 ,p_copy_rsrv_val
316 => p_rec.copy_rsrv_val
317 ,p_copy_dist_bdgt_mn_val
318 => p_rec.copy_dist_bdgt_mn_val
319 ,p_copy_dist_bdgt_mx_val
320 => p_rec.copy_dist_bdgt_mx_val
321 ,p_copy_dist_bdgt_incr_val
322 => p_rec.copy_dist_bdgt_incr_val
323 ,p_copy_ws_bdgt_mn_val
324 => p_rec.copy_ws_bdgt_mn_val
325 ,p_copy_ws_bdgt_mx_val
326 => p_rec.copy_ws_bdgt_mx_val
327 ,p_copy_ws_bdgt_incr_val
328 => p_rec.copy_ws_bdgt_incr_val
329 ,p_copy_rsrv_mn_val
330 => p_rec.copy_rsrv_mn_val
331 ,p_copy_rsrv_mx_val
332 => p_rec.copy_rsrv_mx_val
333 ,p_copy_rsrv_incr_val
334 => p_rec.copy_rsrv_incr_val
335 ,p_copy_dist_bdgt_iss_val
336 => p_rec.copy_dist_bdgt_iss_val
337 ,p_copy_ws_bdgt_iss_val
338 => p_rec.copy_ws_bdgt_iss_val
339 ,p_copy_dist_bdgt_iss_date
340 => p_rec.copy_dist_bdgt_iss_date
341 ,p_copy_ws_bdgt_iss_date
342 => p_rec.copy_ws_bdgt_iss_date
343 ,p_comp_posting_date
344 => p_rec.comp_posting_date
345 ,p_ws_rt_start_date
346 => p_rec.ws_rt_start_date
347 ,p_currency
348 => p_rec.currency
349 ,p_object_version_number
350 => p_rec.object_version_number
351 ,p_group_per_in_ler_id_o
352 => ben_rts_shd.g_old_rec.group_per_in_ler_id
353 ,p_pl_id_o
354 => ben_rts_shd.g_old_rec.pl_id
355 ,p_oipl_id_o
356 => ben_rts_shd.g_old_rec.oipl_id
357 ,p_group_pl_id_o
358 => ben_rts_shd.g_old_rec.group_pl_id
359 ,p_group_oipl_id_o
360 => ben_rts_shd.g_old_rec.group_oipl_id
361 ,p_lf_evt_ocrd_dt_o
362 => ben_rts_shd.g_old_rec.lf_evt_ocrd_dt
363 ,p_person_id_o
364 => ben_rts_shd.g_old_rec.person_id
365 ,p_assignment_id_o
366 => ben_rts_shd.g_old_rec.assignment_id
367 ,p_elig_flag_o
368 => ben_rts_shd.g_old_rec.elig_flag
369 ,p_ws_val_o
370 => ben_rts_shd.g_old_rec.ws_val
371 ,p_ws_mn_val_o
372 => ben_rts_shd.g_old_rec.ws_mn_val
373 ,p_ws_mx_val_o
374 => ben_rts_shd.g_old_rec.ws_mx_val
375 ,p_ws_incr_val_o
376 => ben_rts_shd.g_old_rec.ws_incr_val
377 ,p_elig_sal_val_o
378 => ben_rts_shd.g_old_rec.elig_sal_val
379 ,p_stat_sal_val_o
380 => ben_rts_shd.g_old_rec.stat_sal_val
381 ,p_oth_comp_val_o
382 => ben_rts_shd.g_old_rec.oth_comp_val
383 ,p_tot_comp_val_o
384 => ben_rts_shd.g_old_rec.tot_comp_val
385 ,p_misc1_val_o
386 => ben_rts_shd.g_old_rec.misc1_val
387 ,p_misc2_val_o
388 => ben_rts_shd.g_old_rec.misc2_val
389 ,p_misc3_val_o
390 => ben_rts_shd.g_old_rec.misc3_val
391 ,p_rec_val_o
392 => ben_rts_shd.g_old_rec.rec_val
393 ,p_rec_mn_val_o
394 => ben_rts_shd.g_old_rec.rec_mn_val
395 ,p_rec_mx_val_o
396 => ben_rts_shd.g_old_rec.rec_mx_val
397 ,p_rec_incr_val_o
398 => ben_rts_shd.g_old_rec.rec_incr_val
399 ,p_ws_val_last_upd_date_o
400 => ben_rts_shd.g_old_rec.ws_val_last_upd_date
401 ,p_ws_val_last_upd_by_o
402 => ben_rts_shd.g_old_rec.ws_val_last_upd_by
403 ,p_pay_proposal_id_o
404 => ben_rts_shd.g_old_rec.pay_proposal_id
405 ,p_element_entry_value_id_o
406 => ben_rts_shd.g_old_rec.element_entry_value_id
407 ,p_inelig_rsn_cd_o
408 => ben_rts_shd.g_old_rec.inelig_rsn_cd
409 ,p_elig_ovrid_dt_o
410 => ben_rts_shd.g_old_rec.elig_ovrid_dt
411 ,p_elig_ovrid_person_id_o
412 => ben_rts_shd.g_old_rec.elig_ovrid_person_id
413 ,p_copy_dist_bdgt_val_o
414 => ben_rts_shd.g_old_rec.copy_dist_bdgt_val
415 ,p_copy_ws_bdgt_val_o
416 => ben_rts_shd.g_old_rec.copy_ws_bdgt_val
417 ,p_copy_rsrv_val_o
418 => ben_rts_shd.g_old_rec.copy_rsrv_val
419 ,p_copy_dist_bdgt_mn_val_o
420 => ben_rts_shd.g_old_rec.copy_dist_bdgt_mn_val
421 ,p_copy_dist_bdgt_mx_val_o
422 => ben_rts_shd.g_old_rec.copy_dist_bdgt_mx_val
423 ,p_copy_dist_bdgt_incr_val_o
424 => ben_rts_shd.g_old_rec.copy_dist_bdgt_incr_val
425 ,p_copy_ws_bdgt_mn_val_o
426 => ben_rts_shd.g_old_rec.copy_ws_bdgt_mn_val
427 ,p_copy_ws_bdgt_mx_val_o
428 => ben_rts_shd.g_old_rec.copy_ws_bdgt_mx_val
429 ,p_copy_ws_bdgt_incr_val_o
430 => ben_rts_shd.g_old_rec.copy_ws_bdgt_incr_val
431 ,p_copy_rsrv_mn_val_o
432 => ben_rts_shd.g_old_rec.copy_rsrv_mn_val
433 ,p_copy_rsrv_mx_val_o
434 => ben_rts_shd.g_old_rec.copy_rsrv_mx_val
435 ,p_copy_rsrv_incr_val_o
436 => ben_rts_shd.g_old_rec.copy_rsrv_incr_val
437 ,p_copy_dist_bdgt_iss_val_o
438 => ben_rts_shd.g_old_rec.copy_dist_bdgt_iss_val
439 ,p_copy_ws_bdgt_iss_val_o
440 => ben_rts_shd.g_old_rec.copy_ws_bdgt_iss_val
441 ,p_copy_dist_bdgt_iss_date_o
442 => ben_rts_shd.g_old_rec.copy_dist_bdgt_iss_date
443 ,p_copy_ws_bdgt_iss_date_o
444 => ben_rts_shd.g_old_rec.copy_ws_bdgt_iss_date
445 ,p_comp_posting_date_o
446 => ben_rts_shd.g_old_rec.comp_posting_date
447 ,p_ws_rt_start_date_o
448 => ben_rts_shd.g_old_rec.ws_rt_start_date
449 ,p_currency_o
450 => ben_rts_shd.g_old_rec.currency
451 ,p_object_version_number_o
452 => ben_rts_shd.g_old_rec.object_version_number
453 );
454 --
455 exception
456 --
457 when hr_api.cannot_find_prog_unit then
458 --
459 hr_api.cannot_find_prog_unit_error
460 (p_module_name => 'BEN_CWB_PERSON_RATES'
461 ,p_hook_type => 'AU');
462 --
463 end;
464 --
465 if g_debug then
466 hr_utility.set_location(' Leaving:'||l_proc, 10);
467 end if;
468 End post_update;
469 --
470 -- ----------------------------------------------------------------------------
471 -- |-----------------------------< convert_defs >-----------------------------|
472 -- ----------------------------------------------------------------------------
473 -- {Start Of Comments}
474 --
475 -- Description:
476 -- The Convert_Defs procedure has one very important function:
477 -- It must return the record structure for the row with all system defaulted
478 -- values converted into its corresponding parameter value for update. When
479 -- we attempt to update a row through the Upd process , certain
480 -- parameters can be defaulted which enables flexibility in the calling of
481 -- the upd process (e.g. only attributes which need to be updated need to be
482 -- specified). For the upd process to determine which attributes
483 -- have NOT been specified we need to check if the parameter has a reserved
484 -- system default value. Therefore, for all parameters which have a
485 -- corresponding reserved system default mechanism specified we need to
486 -- check if a system default is being used. If a system default is being
487 -- used then we convert the defaulted value into its corresponding attribute
488 -- value held in the g_old_rec data structure.
489 --
490 -- Prerequisites:
491 -- This private function can only be called from the upd process.
492 --
493 -- In Parameters:
494 -- A Pl/Sql record structure.
495 --
496 -- Post Success:
497 -- The record structure will be returned with all system defaulted parameter
498 -- values converted into its current row attribute value.
499 --
500 -- Post Failure:
501 -- No direct error handling is required within this function. Any possible
502 -- errors within this procedure will be a PL/SQL value error due to
503 -- conversion of datatypes or data lengths.
504 --
505 -- Developer Implementation Notes:
506 -- None.
507 --
508 -- Access Status:
509 -- Internal Row Handler Use Only.
510 --
511 -- {End Of Comments}
512 -- ----------------------------------------------------------------------------
513 Procedure convert_defs
514 (p_rec in out nocopy ben_rts_shd.g_rec_type
515 ) is
516 --
517 Begin
518 --
519 -- We must now examine each argument value in the
520 -- p_rec plsql record structure
521 -- to see if a system default is being used. If a system default
522 -- is being used then we must set to the 'current' argument value.
523 --
524 If (p_rec.group_pl_id = hr_api.g_number) then
525 p_rec.group_pl_id :=
526 ben_rts_shd.g_old_rec.group_pl_id;
527 End If;
528 If (p_rec.group_oipl_id = hr_api.g_number) then
529 p_rec.group_oipl_id :=
530 ben_rts_shd.g_old_rec.group_oipl_id;
531 End If;
532 If (p_rec.lf_evt_ocrd_dt = hr_api.g_date) then
533 p_rec.lf_evt_ocrd_dt :=
534 ben_rts_shd.g_old_rec.lf_evt_ocrd_dt;
535 End If;
536 If (p_rec.person_id = hr_api.g_number) then
537 p_rec.person_id :=
538 ben_rts_shd.g_old_rec.person_id;
539 End If;
540 If (p_rec.assignment_id = hr_api.g_number) then
541 p_rec.assignment_id :=
542 ben_rts_shd.g_old_rec.assignment_id;
543 End If;
544 If (p_rec.elig_flag = hr_api.g_varchar2) then
545 p_rec.elig_flag :=
546 ben_rts_shd.g_old_rec.elig_flag;
547 End If;
548 If (p_rec.ws_val = hr_api.g_number) then
549 p_rec.ws_val :=
550 ben_rts_shd.g_old_rec.ws_val;
551 End If;
552 If (p_rec.ws_mn_val = hr_api.g_number) then
553 p_rec.ws_mn_val :=
554 ben_rts_shd.g_old_rec.ws_mn_val;
555 End If;
556 If (p_rec.ws_mx_val = hr_api.g_number) then
557 p_rec.ws_mx_val :=
558 ben_rts_shd.g_old_rec.ws_mx_val;
559 End If;
560 If (p_rec.ws_incr_val = hr_api.g_number) then
561 p_rec.ws_incr_val :=
562 ben_rts_shd.g_old_rec.ws_incr_val;
563 End If;
564 If (p_rec.elig_sal_val = hr_api.g_number) then
565 p_rec.elig_sal_val :=
566 ben_rts_shd.g_old_rec.elig_sal_val;
567 End If;
568 If (p_rec.stat_sal_val = hr_api.g_number) then
569 p_rec.stat_sal_val :=
570 ben_rts_shd.g_old_rec.stat_sal_val;
571 End If;
572 If (p_rec.oth_comp_val = hr_api.g_number) then
573 p_rec.oth_comp_val :=
574 ben_rts_shd.g_old_rec.oth_comp_val;
575 End If;
576 If (p_rec.tot_comp_val = hr_api.g_number) then
577 p_rec.tot_comp_val :=
578 ben_rts_shd.g_old_rec.tot_comp_val;
579 End If;
580 If (p_rec.misc1_val = hr_api.g_number) then
581 p_rec.misc1_val :=
582 ben_rts_shd.g_old_rec.misc1_val;
583 End If;
584 If (p_rec.misc2_val = hr_api.g_number) then
585 p_rec.misc2_val :=
586 ben_rts_shd.g_old_rec.misc2_val;
587 End If;
588 If (p_rec.misc3_val = hr_api.g_number) then
589 p_rec.misc3_val :=
590 ben_rts_shd.g_old_rec.misc3_val;
591 End If;
592 If (p_rec.rec_val = hr_api.g_number) then
593 p_rec.rec_val :=
594 ben_rts_shd.g_old_rec.rec_val;
595 End If;
596 If (p_rec.rec_mn_val = hr_api.g_number) then
597 p_rec.rec_mn_val :=
598 ben_rts_shd.g_old_rec.rec_mn_val;
599 End If;
600 If (p_rec.rec_mx_val = hr_api.g_number) then
601 p_rec.rec_mx_val :=
602 ben_rts_shd.g_old_rec.rec_mx_val;
603 End If;
604 If (p_rec.rec_incr_val = hr_api.g_number) then
605 p_rec.rec_incr_val :=
606 ben_rts_shd.g_old_rec.rec_incr_val;
607 End If;
608 If (p_rec.ws_val_last_upd_date = hr_api.g_date) then
609 p_rec.ws_val_last_upd_date :=
610 ben_rts_shd.g_old_rec.ws_val_last_upd_date;
611 End If;
612 If (p_rec.ws_val_last_upd_by = hr_api.g_number) then
613 p_rec.ws_val_last_upd_by :=
614 ben_rts_shd.g_old_rec.ws_val_last_upd_by;
615 End If;
616 If (p_rec.pay_proposal_id = hr_api.g_number) then
617 p_rec.pay_proposal_id :=
618 ben_rts_shd.g_old_rec.pay_proposal_id;
619 End If;
620 If (p_rec.element_entry_value_id = hr_api.g_number) then
621 p_rec.element_entry_value_id :=
622 ben_rts_shd.g_old_rec.element_entry_value_id;
623 End If;
624 If (p_rec.inelig_rsn_cd = hr_api.g_varchar2) then
625 p_rec.inelig_rsn_cd :=
626 ben_rts_shd.g_old_rec.inelig_rsn_cd;
627 End If;
628 If (p_rec.elig_ovrid_dt = hr_api.g_date) then
629 p_rec.elig_ovrid_dt :=
630 ben_rts_shd.g_old_rec.elig_ovrid_dt;
631 End If;
632 If (p_rec.elig_ovrid_person_id = hr_api.g_number) then
633 p_rec.elig_ovrid_person_id :=
634 ben_rts_shd.g_old_rec.elig_ovrid_person_id;
635 End If;
636 If (p_rec.copy_dist_bdgt_val = hr_api.g_number) then
637 p_rec.copy_dist_bdgt_val :=
638 ben_rts_shd.g_old_rec.copy_dist_bdgt_val;
639 End If;
640 If (p_rec.copy_ws_bdgt_val = hr_api.g_number) then
641 p_rec.copy_ws_bdgt_val :=
642 ben_rts_shd.g_old_rec.copy_ws_bdgt_val;
643 End If;
644 If (p_rec.copy_rsrv_val = hr_api.g_number) then
645 p_rec.copy_rsrv_val :=
646 ben_rts_shd.g_old_rec.copy_rsrv_val;
647 End If;
648 If (p_rec.copy_dist_bdgt_mn_val = hr_api.g_number) then
649 p_rec.copy_dist_bdgt_mn_val :=
650 ben_rts_shd.g_old_rec.copy_dist_bdgt_mn_val;
651 End If;
652 If (p_rec.copy_dist_bdgt_mx_val = hr_api.g_number) then
653 p_rec.copy_dist_bdgt_mx_val :=
654 ben_rts_shd.g_old_rec.copy_dist_bdgt_mx_val;
655 End If;
656 If (p_rec.copy_dist_bdgt_incr_val = hr_api.g_number) then
657 p_rec.copy_dist_bdgt_incr_val :=
658 ben_rts_shd.g_old_rec.copy_dist_bdgt_incr_val;
659 End If;
660 If (p_rec.copy_ws_bdgt_mn_val = hr_api.g_number) then
661 p_rec.copy_ws_bdgt_mn_val :=
662 ben_rts_shd.g_old_rec.copy_ws_bdgt_mn_val;
663 End If;
664 If (p_rec.copy_ws_bdgt_mx_val = hr_api.g_number) then
665 p_rec.copy_ws_bdgt_mx_val :=
666 ben_rts_shd.g_old_rec.copy_ws_bdgt_mx_val;
667 End If;
668 If (p_rec.copy_ws_bdgt_incr_val = hr_api.g_number) then
669 p_rec.copy_ws_bdgt_incr_val :=
670 ben_rts_shd.g_old_rec.copy_ws_bdgt_incr_val;
671 End If;
672 If (p_rec.copy_rsrv_mn_val = hr_api.g_number) then
673 p_rec.copy_rsrv_mn_val :=
674 ben_rts_shd.g_old_rec.copy_rsrv_mn_val;
675 End If;
676 If (p_rec.copy_rsrv_mx_val = hr_api.g_number) then
677 p_rec.copy_rsrv_mx_val :=
678 ben_rts_shd.g_old_rec.copy_rsrv_mx_val;
679 End If;
680 If (p_rec.copy_rsrv_incr_val = hr_api.g_number) then
681 p_rec.copy_rsrv_incr_val :=
682 ben_rts_shd.g_old_rec.copy_rsrv_incr_val;
683 End If;
684 If (p_rec.copy_dist_bdgt_iss_val = hr_api.g_number) then
685 p_rec.copy_dist_bdgt_iss_val :=
686 ben_rts_shd.g_old_rec.copy_dist_bdgt_iss_val;
687 End If;
688 If (p_rec.copy_ws_bdgt_iss_val = hr_api.g_number) then
689 p_rec.copy_ws_bdgt_iss_val :=
690 ben_rts_shd.g_old_rec.copy_ws_bdgt_iss_val;
691 End If;
692 If (p_rec.copy_dist_bdgt_iss_date = hr_api.g_date) then
693 p_rec.copy_dist_bdgt_iss_date :=
694 ben_rts_shd.g_old_rec.copy_dist_bdgt_iss_date;
695 End If;
696 If (p_rec.copy_ws_bdgt_iss_date = hr_api.g_date) then
697 p_rec.copy_ws_bdgt_iss_date :=
698 ben_rts_shd.g_old_rec.copy_ws_bdgt_iss_date;
699 End If;
700 If (p_rec.comp_posting_date = hr_api.g_date) then
701 p_rec.comp_posting_date :=
702 ben_rts_shd.g_old_rec.comp_posting_date;
703 End If;
704 If (p_rec.ws_rt_start_date = hr_api.g_date) then
705 p_rec.ws_rt_start_date :=
706 ben_rts_shd.g_old_rec.ws_rt_start_date;
707 End If;
708 If (p_rec.currency = hr_api.g_varchar2) then
709 p_rec.currency :=
710 ben_rts_shd.g_old_rec.currency;
711 End If;
712 --
713 End convert_defs;
714 --
715 -- ----------------------------------------------------------------------------
716 -- |---------------------------------< upd >----------------------------------|
717 -- ----------------------------------------------------------------------------
718 Procedure upd
719 (p_rec in out nocopy ben_rts_shd.g_rec_type
720 ) is
721 --
722 l_proc varchar2(72) := g_package||'upd';
723 --
724 Begin
725 if g_debug then
726 hr_utility.set_location('Entering:'||l_proc, 5);
727 end if;
728 --
729 -- We must lock the row which we need to update.
730 --
731 ben_rts_shd.lck
732 (p_rec.group_per_in_ler_id
733 ,p_rec.pl_id
734 ,p_rec.oipl_id
735 ,p_rec.object_version_number
736 );
737 --
738 -- 1. During an update system defaults are used to determine if
739 -- arguments have been defaulted or not. We must therefore
740 -- derive the full record structure values to be updated.
741 --
742 -- 2. Call the supporting update validate operations.
743 --
744 convert_defs(p_rec);
745 ben_rts_bus.update_validate
746 (p_rec
747 );
748 --
749 -- Call to raise any errors on multi-message list
750 hr_multi_message.end_validation_set;
751 --
752 -- Call the supporting pre-update operation
753 --
754 ben_rts_upd.pre_update(p_rec);
755 --
756 -- Update the row.
757 --
758 ben_rts_upd.update_dml(p_rec);
759 --
760 -- Call the supporting post-update operation
761 --
762 ben_rts_upd.post_update
763 (p_rec
764 );
765 --
766 -- Call to raise any errors on multi-message list
767 hr_multi_message.end_validation_set;
768 End upd;
769 --
770 -- ----------------------------------------------------------------------------
771 -- |---------------------------------< upd >----------------------------------|
772 -- ----------------------------------------------------------------------------
773 Procedure upd
774 (p_group_per_in_ler_id in number
775 ,p_pl_id in number
776 ,p_oipl_id in number
777 ,p_object_version_number in out nocopy number
778 ,p_group_pl_id in number default hr_api.g_number
779 ,p_group_oipl_id in number default hr_api.g_number
780 ,p_lf_evt_ocrd_dt in date default hr_api.g_date
781 ,p_person_id in number default hr_api.g_number
782 ,p_assignment_id in number default hr_api.g_number
783 ,p_elig_flag in varchar2 default hr_api.g_varchar2
784 ,p_ws_val in number default hr_api.g_number
785 ,p_ws_mn_val in number default hr_api.g_number
786 ,p_ws_mx_val in number default hr_api.g_number
787 ,p_ws_incr_val in number default hr_api.g_number
788 ,p_elig_sal_val in number default hr_api.g_number
789 ,p_stat_sal_val in number default hr_api.g_number
790 ,p_oth_comp_val in number default hr_api.g_number
791 ,p_tot_comp_val in number default hr_api.g_number
792 ,p_misc1_val in number default hr_api.g_number
793 ,p_misc2_val in number default hr_api.g_number
794 ,p_misc3_val in number default hr_api.g_number
795 ,p_rec_val in number default hr_api.g_number
796 ,p_rec_mn_val in number default hr_api.g_number
797 ,p_rec_mx_val in number default hr_api.g_number
798 ,p_rec_incr_val in number default hr_api.g_number
799 ,p_ws_val_last_upd_date in date default hr_api.g_date
800 ,p_ws_val_last_upd_by in number default hr_api.g_number
801 ,p_pay_proposal_id in number default hr_api.g_number
802 ,p_element_entry_value_id in number default hr_api.g_number
803 ,p_inelig_rsn_cd in varchar2 default hr_api.g_varchar2
804 ,p_elig_ovrid_dt in date default hr_api.g_date
805 ,p_elig_ovrid_person_id in number default hr_api.g_number
806 ,p_copy_dist_bdgt_val in number default hr_api.g_number
807 ,p_copy_ws_bdgt_val in number default hr_api.g_number
808 ,p_copy_rsrv_val in number default hr_api.g_number
809 ,p_copy_dist_bdgt_mn_val in number default hr_api.g_number
810 ,p_copy_dist_bdgt_mx_val in number default hr_api.g_number
811 ,p_copy_dist_bdgt_incr_val in number default hr_api.g_number
812 ,p_copy_ws_bdgt_mn_val in number default hr_api.g_number
813 ,p_copy_ws_bdgt_mx_val in number default hr_api.g_number
814 ,p_copy_ws_bdgt_incr_val in number default hr_api.g_number
815 ,p_copy_rsrv_mn_val in number default hr_api.g_number
816 ,p_copy_rsrv_mx_val in number default hr_api.g_number
817 ,p_copy_rsrv_incr_val in number default hr_api.g_number
818 ,p_copy_dist_bdgt_iss_val in number default hr_api.g_number
819 ,p_copy_ws_bdgt_iss_val in number default hr_api.g_number
820 ,p_copy_dist_bdgt_iss_date in date default hr_api.g_date
821 ,p_copy_ws_bdgt_iss_date in date default hr_api.g_date
822 ,p_comp_posting_date in date default hr_api.g_date
823 ,p_ws_rt_start_date in date default hr_api.g_date
824 ,p_currency in varchar2 default hr_api.g_varchar2
825 ) is
826 --
827 l_rec ben_rts_shd.g_rec_type;
828 l_proc varchar2(72) := g_package||'upd';
829 --
830 Begin
831 if g_debug then
832 hr_utility.set_location('Entering:'||l_proc, 5);
833 end if;
834 --
835 -- Call conversion function to turn arguments into the
836 -- l_rec structure.
837 --
838 l_rec :=
839 ben_rts_shd.convert_args
840 (null -- p_person_rate_id
841 ,p_group_per_in_ler_id
842 ,p_pl_id
843 ,p_oipl_id
844 ,p_group_pl_id
845 ,p_group_oipl_id
846 ,p_lf_evt_ocrd_dt
847 ,p_person_id
848 ,p_assignment_id
849 ,p_elig_flag
850 ,p_ws_val
851 ,p_ws_mn_val
852 ,p_ws_mx_val
853 ,p_ws_incr_val
854 ,p_elig_sal_val
855 ,p_stat_sal_val
856 ,p_oth_comp_val
857 ,p_tot_comp_val
858 ,p_misc1_val
859 ,p_misc2_val
860 ,p_misc3_val
861 ,p_rec_val
862 ,p_rec_mn_val
863 ,p_rec_mx_val
864 ,p_rec_incr_val
865 ,p_ws_val_last_upd_date
866 ,p_ws_val_last_upd_by
867 ,p_pay_proposal_id
868 ,p_element_entry_value_id
869 ,p_inelig_rsn_cd
870 ,p_elig_ovrid_dt
871 ,p_elig_ovrid_person_id
872 ,p_copy_dist_bdgt_val
873 ,p_copy_ws_bdgt_val
874 ,p_copy_rsrv_val
875 ,p_copy_dist_bdgt_mn_val
876 ,p_copy_dist_bdgt_mx_val
877 ,p_copy_dist_bdgt_incr_val
878 ,p_copy_ws_bdgt_mn_val
879 ,p_copy_ws_bdgt_mx_val
880 ,p_copy_ws_bdgt_incr_val
881 ,p_copy_rsrv_mn_val
882 ,p_copy_rsrv_mx_val
883 ,p_copy_rsrv_incr_val
884 ,p_copy_dist_bdgt_iss_val
885 ,p_copy_ws_bdgt_iss_val
886 ,p_copy_dist_bdgt_iss_date
887 ,p_copy_ws_bdgt_iss_date
888 ,p_comp_posting_date
889 ,p_ws_rt_start_date
890 ,p_currency
891 ,p_object_version_number
892 );
893 --
894 -- Having converted the arguments into the
895 -- plsql record structure we call the corresponding record
896 -- business process.
897 --
898 ben_rts_upd.upd
899 (l_rec
900 );
901 p_object_version_number := l_rec.object_version_number;
902 --
903 if g_debug then
904 hr_utility.set_location(' Leaving:'||l_proc, 10);
905 end if;
906 End upd;
907 --
908 end ben_rts_upd;