54: --
55: -- {End Of Comments}
56: -- ----------------------------------------------------------------------------
57: Procedure dt_update_dml
58: (p_rec in out nocopy per_pgs_shd.g_rec_type
59: ,p_effective_date in date
60: ,p_datetrack_mode in varchar2
61: ,p_validation_start_date in date
62: ,p_validation_end_date in date
79: ,p_base_key_column => 'grade_spine_id'
80: ,p_base_key_value => p_rec.grade_spine_id
81: );
82: --
83: per_pgs_shd.g_api_dml := true; -- Set the api dml status
84: --
85: -- Update the per_grade_spines_f Row
86: --
87: update per_grade_spines_f
100: where grade_spine_id = p_rec.grade_spine_id
101: and effective_start_date = p_validation_start_date
102: and effective_end_date = p_validation_end_date;
103: --
104: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
105: --
106: -- Set the effective start and end dates
107: --
108: p_rec.effective_start_date := p_validation_start_date;
112: hr_utility.set_location(' Leaving:'||l_proc, 15);
113: Exception
114: When hr_api.check_integrity_violated Then
115: -- A check constraint has been violated
116: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
117: per_pgs_shd.constraint_error
118: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
119: When hr_api.unique_integrity_violated Then
120: -- Unique integrity has been violated
113: Exception
114: When hr_api.check_integrity_violated Then
115: -- A check constraint has been violated
116: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
117: per_pgs_shd.constraint_error
118: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
119: When hr_api.unique_integrity_violated Then
120: -- Unique integrity has been violated
121: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
117: per_pgs_shd.constraint_error
118: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
119: When hr_api.unique_integrity_violated Then
120: -- Unique integrity has been violated
121: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
122: per_pgs_shd.constraint_error
123: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
124: When Others Then
125: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
118: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
119: When hr_api.unique_integrity_violated Then
120: -- Unique integrity has been violated
121: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
122: per_pgs_shd.constraint_error
123: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
124: When Others Then
125: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
126: Raise;
121: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
122: per_pgs_shd.constraint_error
123: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
124: When Others Then
125: per_pgs_shd.g_api_dml := false; -- Unset the api dml status
126: Raise;
127: End dt_update_dml;
128: --
129: -- ----------------------------------------------------------------------------
157: --
158: -- {End Of Comments}
159: -- ----------------------------------------------------------------------------
160: Procedure update_dml
161: (p_rec in out nocopy per_pgs_shd.g_rec_type
162: ,p_effective_date in date
163: ,p_datetrack_mode in varchar2
164: ,p_validation_start_date in date
165: ,p_validation_end_date in date
224: --
225: -- {End Of Comments}
226: -- ----------------------------------------------------------------------------
227: Procedure dt_pre_update
228: (p_rec in out nocopy per_pgs_shd.g_rec_type
229: ,p_effective_date in date
230: ,p_datetrack_mode in varchar2
231: ,p_validation_start_date in date
232: ,p_validation_end_date in date
240: If (p_datetrack_mode <> hr_api.g_correction) then
241: --
242: -- Update the current effective end date
243: --
244: per_pgs_shd.upd_effective_end_date
245: (p_effective_date => p_effective_date
246: ,p_base_key_value => p_rec.grade_spine_id
247: ,p_new_effective_end_date => (p_validation_start_date - 1)
248: ,p_validation_start_date => p_validation_start_date
309: --
310: -- {End Of Comments}
311: -- ----------------------------------------------------------------------------
312: Procedure pre_update
313: (p_rec in out nocopy per_pgs_shd.g_rec_type
314: ,p_effective_date in date
315: ,p_datetrack_mode in varchar2
316: ,p_validation_start_date in date
317: ,p_validation_end_date in date
367: --
368: -- {End Of Comments}
369: -- ----------------------------------------------------------------------------
370: Procedure post_update
371: (p_rec in per_pgs_shd.g_rec_type
372: ,p_effective_date in date
373: ,p_datetrack_mode in varchar2
374: ,p_validation_start_date in date
375: ,p_validation_end_date in date
416: => p_rec.program_update_date
417: ,p_object_version_number
418: => p_rec.object_version_number
419: ,p_effective_start_date_o
420: => per_pgs_shd.g_old_rec.effective_start_date
421: ,p_effective_end_date_o
422: => per_pgs_shd.g_old_rec.effective_end_date
423: ,p_business_group_id_o
424: => per_pgs_shd.g_old_rec.business_group_id
418: => p_rec.object_version_number
419: ,p_effective_start_date_o
420: => per_pgs_shd.g_old_rec.effective_start_date
421: ,p_effective_end_date_o
422: => per_pgs_shd.g_old_rec.effective_end_date
423: ,p_business_group_id_o
424: => per_pgs_shd.g_old_rec.business_group_id
425: ,p_parent_spine_id_o
426: => per_pgs_shd.g_old_rec.parent_spine_id
420: => per_pgs_shd.g_old_rec.effective_start_date
421: ,p_effective_end_date_o
422: => per_pgs_shd.g_old_rec.effective_end_date
423: ,p_business_group_id_o
424: => per_pgs_shd.g_old_rec.business_group_id
425: ,p_parent_spine_id_o
426: => per_pgs_shd.g_old_rec.parent_spine_id
427: ,p_grade_id_o
428: => per_pgs_shd.g_old_rec.grade_id
422: => per_pgs_shd.g_old_rec.effective_end_date
423: ,p_business_group_id_o
424: => per_pgs_shd.g_old_rec.business_group_id
425: ,p_parent_spine_id_o
426: => per_pgs_shd.g_old_rec.parent_spine_id
427: ,p_grade_id_o
428: => per_pgs_shd.g_old_rec.grade_id
429: ,p_ceiling_step_id_o
430: => per_pgs_shd.g_old_rec.ceiling_step_id
424: => per_pgs_shd.g_old_rec.business_group_id
425: ,p_parent_spine_id_o
426: => per_pgs_shd.g_old_rec.parent_spine_id
427: ,p_grade_id_o
428: => per_pgs_shd.g_old_rec.grade_id
429: ,p_ceiling_step_id_o
430: => per_pgs_shd.g_old_rec.ceiling_step_id
431: ,p_request_id_o
432: => per_pgs_shd.g_old_rec.request_id
426: => per_pgs_shd.g_old_rec.parent_spine_id
427: ,p_grade_id_o
428: => per_pgs_shd.g_old_rec.grade_id
429: ,p_ceiling_step_id_o
430: => per_pgs_shd.g_old_rec.ceiling_step_id
431: ,p_request_id_o
432: => per_pgs_shd.g_old_rec.request_id
433: ,p_program_application_id_o
434: => per_pgs_shd.g_old_rec.program_application_id
428: => per_pgs_shd.g_old_rec.grade_id
429: ,p_ceiling_step_id_o
430: => per_pgs_shd.g_old_rec.ceiling_step_id
431: ,p_request_id_o
432: => per_pgs_shd.g_old_rec.request_id
433: ,p_program_application_id_o
434: => per_pgs_shd.g_old_rec.program_application_id
435: ,p_program_id_o
436: => per_pgs_shd.g_old_rec.program_id
430: => per_pgs_shd.g_old_rec.ceiling_step_id
431: ,p_request_id_o
432: => per_pgs_shd.g_old_rec.request_id
433: ,p_program_application_id_o
434: => per_pgs_shd.g_old_rec.program_application_id
435: ,p_program_id_o
436: => per_pgs_shd.g_old_rec.program_id
437: ,p_program_update_date_o
438: => per_pgs_shd.g_old_rec.program_update_date
432: => per_pgs_shd.g_old_rec.request_id
433: ,p_program_application_id_o
434: => per_pgs_shd.g_old_rec.program_application_id
435: ,p_program_id_o
436: => per_pgs_shd.g_old_rec.program_id
437: ,p_program_update_date_o
438: => per_pgs_shd.g_old_rec.program_update_date
439: ,p_object_version_number_o
440: => per_pgs_shd.g_old_rec.object_version_number
434: => per_pgs_shd.g_old_rec.program_application_id
435: ,p_program_id_o
436: => per_pgs_shd.g_old_rec.program_id
437: ,p_program_update_date_o
438: => per_pgs_shd.g_old_rec.program_update_date
439: ,p_object_version_number_o
440: => per_pgs_shd.g_old_rec.object_version_number
441: );
442: --
436: => per_pgs_shd.g_old_rec.program_id
437: ,p_program_update_date_o
438: => per_pgs_shd.g_old_rec.program_update_date
439: ,p_object_version_number_o
440: => per_pgs_shd.g_old_rec.object_version_number
441: );
442: --
443: exception
444: --
496: --
497: -- {End Of Comments}
498: -- ----------------------------------------------------------------------------
499: Procedure convert_defs
500: (p_rec in out nocopy per_pgs_shd.g_rec_type
501: ) is
502: --
503: Begin
504: --
508: -- is being used then we must set to the 'current' argument value.
509: --
510: If (p_rec.business_group_id = hr_api.g_number) then
511: p_rec.business_group_id :=
512: per_pgs_shd.g_old_rec.business_group_id;
513: End If;
514: If (p_rec.parent_spine_id = hr_api.g_number) then
515: p_rec.parent_spine_id :=
516: per_pgs_shd.g_old_rec.parent_spine_id;
512: per_pgs_shd.g_old_rec.business_group_id;
513: End If;
514: If (p_rec.parent_spine_id = hr_api.g_number) then
515: p_rec.parent_spine_id :=
516: per_pgs_shd.g_old_rec.parent_spine_id;
517: End If;
518: If (p_rec.grade_id = hr_api.g_number) then
519: p_rec.grade_id :=
520: per_pgs_shd.g_old_rec.grade_id;
516: per_pgs_shd.g_old_rec.parent_spine_id;
517: End If;
518: If (p_rec.grade_id = hr_api.g_number) then
519: p_rec.grade_id :=
520: per_pgs_shd.g_old_rec.grade_id;
521: End If;
522: If (p_rec.ceiling_step_id = hr_api.g_number) then
523: p_rec.ceiling_step_id :=
524: per_pgs_shd.g_old_rec.ceiling_step_id;
520: per_pgs_shd.g_old_rec.grade_id;
521: End If;
522: If (p_rec.ceiling_step_id = hr_api.g_number) then
523: p_rec.ceiling_step_id :=
524: per_pgs_shd.g_old_rec.ceiling_step_id;
525: End If;
526: If (p_rec.starting_step = hr_api.g_number) then
527: p_rec.starting_step :=
528: per_pgs_shd.g_old_rec.starting_step;
524: per_pgs_shd.g_old_rec.ceiling_step_id;
525: End If;
526: If (p_rec.starting_step = hr_api.g_number) then
527: p_rec.starting_step :=
528: per_pgs_shd.g_old_rec.starting_step;
529: End If;
530: If (p_rec.request_id = hr_api.g_number) then
531: p_rec.request_id :=
532: per_pgs_shd.g_old_rec.request_id;
528: per_pgs_shd.g_old_rec.starting_step;
529: End If;
530: If (p_rec.request_id = hr_api.g_number) then
531: p_rec.request_id :=
532: per_pgs_shd.g_old_rec.request_id;
533: End If;
534: If (p_rec.program_application_id = hr_api.g_number) then
535: p_rec.program_application_id :=
536: per_pgs_shd.g_old_rec.program_application_id;
532: per_pgs_shd.g_old_rec.request_id;
533: End If;
534: If (p_rec.program_application_id = hr_api.g_number) then
535: p_rec.program_application_id :=
536: per_pgs_shd.g_old_rec.program_application_id;
537: End If;
538: If (p_rec.program_id = hr_api.g_number) then
539: p_rec.program_id :=
540: per_pgs_shd.g_old_rec.program_id;
536: per_pgs_shd.g_old_rec.program_application_id;
537: End If;
538: If (p_rec.program_id = hr_api.g_number) then
539: p_rec.program_id :=
540: per_pgs_shd.g_old_rec.program_id;
541: End If;
542: If (p_rec.program_update_date = hr_api.g_date) then
543: p_rec.program_update_date :=
544: per_pgs_shd.g_old_rec.program_update_date;
540: per_pgs_shd.g_old_rec.program_id;
541: End If;
542: If (p_rec.program_update_date = hr_api.g_date) then
543: p_rec.program_update_date :=
544: per_pgs_shd.g_old_rec.program_update_date;
545: End If;
546: --
547: End convert_defs;
548: --
551: -- ----------------------------------------------------------------------------
552: Procedure upd
553: (p_effective_date in date
554: ,p_datetrack_mode in varchar2
555: ,p_rec in out nocopy per_pgs_shd.g_rec_type
556: ) is
557: --
558: l_proc varchar2(72) := g_package||'upd';
559: l_validation_start_date date;
567: dt_api.validate_dt_upd_mode(p_datetrack_mode => p_datetrack_mode);
568: --
569: -- We must lock the row which we need to update.
570: --
571: per_pgs_shd.lck
572: (p_effective_date => p_effective_date
573: ,p_datetrack_mode => p_datetrack_mode
574: ,p_grade_spine_id => p_rec.grade_spine_id
575: ,p_object_version_number => p_rec.object_version_number
650: ,p_effective_start_date out nocopy date
651: ,p_effective_end_date out nocopy date
652: ) is
653: --
654: l_rec per_pgs_shd.g_rec_type;
655: l_proc varchar2(72) := g_package||'upd';
656: --
657: Begin
658: hr_utility.set_location('Entering:'||l_proc, 5);
660: -- Call conversion function to turn arguments into the
661: -- l_rec structure.
662: --
663: l_rec :=
664: per_pgs_shd.convert_args
665: (p_grade_spine_id
666: ,null
667: ,null
668: ,p_business_group_id