54: --
55: -- {End Of Comments}
56: -- ----------------------------------------------------------------------------
57: Procedure dt_update_dml
58: (p_rec in out nocopy ame_rul_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
73: -- Because we are updating a row we must get the next object
74: -- version number.
75: --
76: p_rec.object_version_number :=
77: ame_rul_shd.get_object_version_number
78: (p_rule_id => p_rec.rule_id
79: );
80: --
81: --
109: Exception
110: When hr_api.check_integrity_violated Then
111: -- A check constraint has been violated
112: --
113: ame_rul_shd.constraint_error
114: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
115: When hr_api.unique_integrity_violated Then
116: -- Unique integrity has been violated
117: --
114: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
115: When hr_api.unique_integrity_violated Then
116: -- Unique integrity has been violated
117: --
118: ame_rul_shd.constraint_error
119: (p_constraint_name => hr_api.strip_constraint_name(SQLERRM));
120: When Others Then
121: --
122: Raise;
153: --
154: -- {End Of Comments}
155: -- ----------------------------------------------------------------------------
156: Procedure update_dml
157: (p_rec in out nocopy ame_rul_shd.g_rec_type
158: ,p_effective_date in date
159: ,p_datetrack_mode in varchar2
160: ,p_validation_start_date in date
161: ,p_validation_end_date in date
220: --
221: -- {End Of Comments}
222: -- ----------------------------------------------------------------------------
223: Procedure dt_pre_update
224: (p_rec in out nocopy ame_rul_shd.g_rec_type
225: ,p_effective_date in date
226: ,p_datetrack_mode in varchar2
227: ,p_validation_start_date in date
228: ,p_validation_end_date in date
236: If (p_datetrack_mode <> hr_api.g_correction) then
237: --
238: -- Update the current effective end date
239: --
240: ame_rul_shd.upd_end_date
241: (p_effective_date => p_effective_date
242: ,p_rule_id => p_rec.rule_id
243: ,p_new_end_date => p_validation_start_date
244: ,p_object_version_number => l_dummy_version_number
303: --
304: -- {End Of Comments}
305: -- ----------------------------------------------------------------------------
306: Procedure pre_update
307: (p_rec in out nocopy ame_rul_shd.g_rec_type
308: ,p_effective_date in date
309: ,p_datetrack_mode in varchar2
310: ,p_validation_start_date in date
311: ,p_validation_end_date in date
361: --
362: -- {End Of Comments}
363: -- ----------------------------------------------------------------------------
364: Procedure post_update
365: (p_rec in ame_rul_shd.g_rec_type
366: ,p_effective_date in date
367: ,p_datetrack_mode in varchar2
368: ,p_validation_start_date in date
369: ,p_validation_end_date in date
404: => p_rec.item_class_id
405: ,p_object_version_number
406: => p_rec.object_version_number
407: ,p_rule_type_o
408: => ame_rul_shd.g_old_rec.rule_type
409: ,p_action_id_o
410: => ame_rul_shd.g_old_rec.action_id
411: ,p_start_date_o
412: => ame_rul_shd.g_old_rec.start_date
406: => p_rec.object_version_number
407: ,p_rule_type_o
408: => ame_rul_shd.g_old_rec.rule_type
409: ,p_action_id_o
410: => ame_rul_shd.g_old_rec.action_id
411: ,p_start_date_o
412: => ame_rul_shd.g_old_rec.start_date
413: ,p_end_date_o
414: => ame_rul_shd.g_old_rec.end_date
408: => ame_rul_shd.g_old_rec.rule_type
409: ,p_action_id_o
410: => ame_rul_shd.g_old_rec.action_id
411: ,p_start_date_o
412: => ame_rul_shd.g_old_rec.start_date
413: ,p_end_date_o
414: => ame_rul_shd.g_old_rec.end_date
415: ,p_description_o
416: => ame_rul_shd.g_old_rec.description
410: => ame_rul_shd.g_old_rec.action_id
411: ,p_start_date_o
412: => ame_rul_shd.g_old_rec.start_date
413: ,p_end_date_o
414: => ame_rul_shd.g_old_rec.end_date
415: ,p_description_o
416: => ame_rul_shd.g_old_rec.description
417: ,p_security_group_id_o
418: => ame_rul_shd.g_old_rec.security_group_id
412: => ame_rul_shd.g_old_rec.start_date
413: ,p_end_date_o
414: => ame_rul_shd.g_old_rec.end_date
415: ,p_description_o
416: => ame_rul_shd.g_old_rec.description
417: ,p_security_group_id_o
418: => ame_rul_shd.g_old_rec.security_group_id
419: ,p_rule_key_o
420: => ame_rul_shd.g_old_rec.rule_key
414: => ame_rul_shd.g_old_rec.end_date
415: ,p_description_o
416: => ame_rul_shd.g_old_rec.description
417: ,p_security_group_id_o
418: => ame_rul_shd.g_old_rec.security_group_id
419: ,p_rule_key_o
420: => ame_rul_shd.g_old_rec.rule_key
421: ,p_item_class_id_o
422: => ame_rul_shd.g_old_rec.item_class_id
416: => ame_rul_shd.g_old_rec.description
417: ,p_security_group_id_o
418: => ame_rul_shd.g_old_rec.security_group_id
419: ,p_rule_key_o
420: => ame_rul_shd.g_old_rec.rule_key
421: ,p_item_class_id_o
422: => ame_rul_shd.g_old_rec.item_class_id
423: ,p_object_version_number_o
424: => ame_rul_shd.g_old_rec.object_version_number
418: => ame_rul_shd.g_old_rec.security_group_id
419: ,p_rule_key_o
420: => ame_rul_shd.g_old_rec.rule_key
421: ,p_item_class_id_o
422: => ame_rul_shd.g_old_rec.item_class_id
423: ,p_object_version_number_o
424: => ame_rul_shd.g_old_rec.object_version_number
425: );
426: --
420: => ame_rul_shd.g_old_rec.rule_key
421: ,p_item_class_id_o
422: => ame_rul_shd.g_old_rec.item_class_id
423: ,p_object_version_number_o
424: => ame_rul_shd.g_old_rec.object_version_number
425: );
426: --
427: exception
428: --
480: --
481: -- {End Of Comments}
482: -- ----------------------------------------------------------------------------
483: Procedure convert_defs
484: (p_rec in out nocopy ame_rul_shd.g_rec_type
485: ) is
486: --
487: Begin
488: --
492: -- is being used then we must set to the 'current' argument value.
493: --
494: If (p_rec.rule_type = hr_api.g_number) then
495: p_rec.rule_type :=
496: ame_rul_shd.g_old_rec.rule_type;
497: End If;
498: If (p_rec.action_id = hr_api.g_number) then
499: p_rec.action_id :=
500: ame_rul_shd.g_old_rec.action_id;
496: ame_rul_shd.g_old_rec.rule_type;
497: End If;
498: If (p_rec.action_id = hr_api.g_number) then
499: p_rec.action_id :=
500: ame_rul_shd.g_old_rec.action_id;
501: End If;
502: If (p_rec.description = hr_api.g_varchar2) then
503: p_rec.description :=
504: ame_rul_shd.g_old_rec.description;
500: ame_rul_shd.g_old_rec.action_id;
501: End If;
502: If (p_rec.description = hr_api.g_varchar2) then
503: p_rec.description :=
504: ame_rul_shd.g_old_rec.description;
505: End If;
506: If (p_rec.security_group_id = hr_api.g_number) then
507: p_rec.security_group_id :=
508: ame_rul_shd.g_old_rec.security_group_id;
504: ame_rul_shd.g_old_rec.description;
505: End If;
506: If (p_rec.security_group_id = hr_api.g_number) then
507: p_rec.security_group_id :=
508: ame_rul_shd.g_old_rec.security_group_id;
509: End If;
510: If (p_rec.rule_key = hr_api.g_varchar2) then
511: p_rec.rule_key :=
512: ame_rul_shd.g_old_rec.rule_key;
508: ame_rul_shd.g_old_rec.security_group_id;
509: End If;
510: If (p_rec.rule_key = hr_api.g_varchar2) then
511: p_rec.rule_key :=
512: ame_rul_shd.g_old_rec.rule_key;
513: End If;
514: If (p_rec.item_class_id = hr_api.g_number) then
515: p_rec.item_class_id :=
516: ame_rul_shd.g_old_rec.item_class_id;
512: ame_rul_shd.g_old_rec.rule_key;
513: End If;
514: If (p_rec.item_class_id = hr_api.g_number) then
515: p_rec.item_class_id :=
516: ame_rul_shd.g_old_rec.item_class_id;
517: End If;
518: If (p_rec.start_date = hr_api.g_date) then
519: p_rec.start_date :=
520: ame_rul_shd.g_old_rec.start_date;
516: ame_rul_shd.g_old_rec.item_class_id;
517: End If;
518: If (p_rec.start_date = hr_api.g_date) then
519: p_rec.start_date :=
520: ame_rul_shd.g_old_rec.start_date;
521: End If;
522: If (p_rec.end_date = hr_api.g_date) then
523: p_rec.end_date :=
524: ame_rul_shd.g_old_rec.end_date;
520: ame_rul_shd.g_old_rec.start_date;
521: End If;
522: If (p_rec.end_date = hr_api.g_date) then
523: p_rec.end_date :=
524: ame_rul_shd.g_old_rec.end_date;
525: End If;
526:
527: --
528: End convert_defs;
532: -- ----------------------------------------------------------------------------
533: Procedure upd
534: (p_effective_date in date
535: ,p_datetrack_mode in varchar2
536: ,p_rec in out nocopy ame_rul_shd.g_rec_type
537: ) is
538: --
539: l_proc varchar2(72) := g_package||'upd';
540: l_validation_start_date date;
555: end if;
556: --
557: -- We must lock the row which we need to update.
558: --
559: ame_rul_shd.lck
560: (p_effective_date => p_effective_date
561: ,p_datetrack_mode => p_datetrack_mode
562: ,p_rule_id => p_rec.rule_id
563: ,p_object_version_number => p_rec.object_version_number
656: ,p_start_date in out nocopy date
657: ,p_end_date in out nocopy date
658: ) is
659: --
660: l_rec ame_rul_shd.g_rec_type;
661: l_proc varchar2(72) := g_package||'upd';
662: --
663: Begin
664: hr_utility.set_location('Entering:'||l_proc, 5);
666: -- Call conversion function to turn arguments into the
667: -- l_rec structure.
668: --
669: l_rec :=
670: ame_rul_shd.convert_args
671: (p_rule_id
672: ,p_rule_type
673: ,p_action_id
674: ,p_start_date