258: trim(upper(name)) = trim(upper(p_name)) and
259: p_effective_date between start_date and
260: nvl(end_date - ame_util.oneSecond, p_effective_date) ;
261: begin
262: hr_api.mandatory_arg_error
263: (p_api_name => l_proc
264: ,p_argument => 'name'
265: ,p_argument_value => p_name
266: );
479: fnd_message.set_token('STEP ', '5');
480: fnd_message.raise_error;
481: END IF;
482: --
483: if nvl(p_rec.name,hr_api.g_varchar2) <>
484: nvl(ame_atr_shd.g_old_rec.name,hr_api.g_varchar2)
485: then
486: hr_api.argument_changed_error
487: (p_api_name => l_proc
480: fnd_message.raise_error;
481: END IF;
482: --
483: if nvl(p_rec.name,hr_api.g_varchar2) <>
484: nvl(ame_atr_shd.g_old_rec.name,hr_api.g_varchar2)
485: then
486: hr_api.argument_changed_error
487: (p_api_name => l_proc
488: ,p_argument => 'NAME'
482: --
483: if nvl(p_rec.name,hr_api.g_varchar2) <>
484: nvl(ame_atr_shd.g_old_rec.name,hr_api.g_varchar2)
485: then
486: hr_api.argument_changed_error
487: (p_api_name => l_proc
488: ,p_argument => 'NAME'
489: ,p_base_table => ame_atr_shd.g_tab_nam
490: );
488: ,p_argument => 'NAME'
489: ,p_base_table => ame_atr_shd.g_tab_nam
490: );
491: end if;
492: if nvl(p_rec.attribute_type,hr_api.g_varchar2) <>
493: nvl(ame_atr_shd.g_old_rec.attribute_type,hr_api.g_varchar2)
494: then
495: hr_api.argument_changed_error
496: (p_api_name => l_proc
489: ,p_base_table => ame_atr_shd.g_tab_nam
490: );
491: end if;
492: if nvl(p_rec.attribute_type,hr_api.g_varchar2) <>
493: nvl(ame_atr_shd.g_old_rec.attribute_type,hr_api.g_varchar2)
494: then
495: hr_api.argument_changed_error
496: (p_api_name => l_proc
497: ,p_argument => 'ATTRIBUTE_TYPE'
491: end if;
492: if nvl(p_rec.attribute_type,hr_api.g_varchar2) <>
493: nvl(ame_atr_shd.g_old_rec.attribute_type,hr_api.g_varchar2)
494: then
495: hr_api.argument_changed_error
496: (p_api_name => l_proc
497: ,p_argument => 'ATTRIBUTE_TYPE'
498: ,p_base_table => ame_atr_shd.g_tab_nam
499: );
497: ,p_argument => 'ATTRIBUTE_TYPE'
498: ,p_base_table => ame_atr_shd.g_tab_nam
499: );
500: end if;
501: if nvl(p_rec.approver_type_id,hr_api.g_number) <>
502: nvl(ame_atr_shd.g_old_rec.approver_type_id,hr_api.g_number)
503: then
504: hr_api.argument_changed_error
505: (p_api_name => l_proc
498: ,p_base_table => ame_atr_shd.g_tab_nam
499: );
500: end if;
501: if nvl(p_rec.approver_type_id,hr_api.g_number) <>
502: nvl(ame_atr_shd.g_old_rec.approver_type_id,hr_api.g_number)
503: then
504: hr_api.argument_changed_error
505: (p_api_name => l_proc
506: ,p_argument => 'APPROVER_TYPE_ID'
500: end if;
501: if nvl(p_rec.approver_type_id,hr_api.g_number) <>
502: nvl(ame_atr_shd.g_old_rec.approver_type_id,hr_api.g_number)
503: then
504: hr_api.argument_changed_error
505: (p_api_name => l_proc
506: ,p_argument => 'APPROVER_TYPE_ID'
507: ,p_base_table => ame_atr_shd.g_tab_nam
508: );
506: ,p_argument => 'APPROVER_TYPE_ID'
507: ,p_base_table => ame_atr_shd.g_tab_nam
508: );
509: end if;
510: if nvl(p_rec.item_class_id,hr_api.g_number) <>
511: nvl(ame_atr_shd.g_old_rec.item_class_id,hr_api.g_number)
512: then
513: hr_api.argument_changed_error
514: (p_api_name => l_proc
507: ,p_base_table => ame_atr_shd.g_tab_nam
508: );
509: end if;
510: if nvl(p_rec.item_class_id,hr_api.g_number) <>
511: nvl(ame_atr_shd.g_old_rec.item_class_id,hr_api.g_number)
512: then
513: hr_api.argument_changed_error
514: (p_api_name => l_proc
515: ,p_argument => 'ITEM_CLASS_ID'
509: end if;
510: if nvl(p_rec.item_class_id,hr_api.g_number) <>
511: nvl(ame_atr_shd.g_old_rec.item_class_id,hr_api.g_number)
512: then
513: hr_api.argument_changed_error
514: (p_api_name => l_proc
515: ,p_argument => 'ITEM_CLASS_ID'
516: ,p_base_table => ame_atr_shd.g_tab_nam
517: );
518: end if;
519: --Added an extra if condition so that no error is thrown when the description for a seeded attribute is modified
520: --using AME Developer responsibility.
521: if ame_utility_pkg.check_seeddb() = 'N' then
522: if nvl(ame_util.seededDataCreatedById,hr_api.g_number) =
523: nvl(ame_utility_pkg.is_seed_user(ame_atr_shd.g_old_rec.created_by),hr_api.g_number) and
524: nvl(p_rec.description,hr_api.g_varchar2) <>
525: nvl(ame_atr_shd.g_old_rec.description,hr_api.g_varchar2)
526: then
519: --Added an extra if condition so that no error is thrown when the description for a seeded attribute is modified
520: --using AME Developer responsibility.
521: if ame_utility_pkg.check_seeddb() = 'N' then
522: if nvl(ame_util.seededDataCreatedById,hr_api.g_number) =
523: nvl(ame_utility_pkg.is_seed_user(ame_atr_shd.g_old_rec.created_by),hr_api.g_number) and
524: nvl(p_rec.description,hr_api.g_varchar2) <>
525: nvl(ame_atr_shd.g_old_rec.description,hr_api.g_varchar2)
526: then
527: hr_api.argument_changed_error
520: --using AME Developer responsibility.
521: if ame_utility_pkg.check_seeddb() = 'N' then
522: if nvl(ame_util.seededDataCreatedById,hr_api.g_number) =
523: nvl(ame_utility_pkg.is_seed_user(ame_atr_shd.g_old_rec.created_by),hr_api.g_number) and
524: nvl(p_rec.description,hr_api.g_varchar2) <>
525: nvl(ame_atr_shd.g_old_rec.description,hr_api.g_varchar2)
526: then
527: hr_api.argument_changed_error
528: (p_api_name => l_proc
521: if ame_utility_pkg.check_seeddb() = 'N' then
522: if nvl(ame_util.seededDataCreatedById,hr_api.g_number) =
523: nvl(ame_utility_pkg.is_seed_user(ame_atr_shd.g_old_rec.created_by),hr_api.g_number) and
524: nvl(p_rec.description,hr_api.g_varchar2) <>
525: nvl(ame_atr_shd.g_old_rec.description,hr_api.g_varchar2)
526: then
527: hr_api.argument_changed_error
528: (p_api_name => l_proc
529: ,p_argument => 'DESCRIPTION'
523: nvl(ame_utility_pkg.is_seed_user(ame_atr_shd.g_old_rec.created_by),hr_api.g_number) and
524: nvl(p_rec.description,hr_api.g_varchar2) <>
525: nvl(ame_atr_shd.g_old_rec.description,hr_api.g_varchar2)
526: then
527: hr_api.argument_changed_error
528: (p_api_name => l_proc
529: ,p_argument => 'DESCRIPTION'
530: ,p_base_table => ame_atr_shd.g_tab_nam
531: );
574: Begin
575: --
576: -- Ensure that the p_datetrack_mode argument is not null
577: --
578: hr_api.mandatory_arg_error
579: (p_api_name => l_proc
580: ,p_argument => 'datetrack_mode'
581: ,p_argument_value => p_datetrack_mode
582: );
584: -- Mode will be valid, as this is checked at the start of the upd.
585: --
586: -- Ensure the arguments are not null
587: --
588: hr_api.mandatory_arg_error
589: (p_api_name => l_proc
590: ,p_argument => 'validation_start_date'
591: ,p_argument_value => p_validation_start_date
592: );
590: ,p_argument => 'validation_start_date'
591: ,p_argument_value => p_validation_start_date
592: );
593: --
594: /*hr_api.mandatory_arg_error
595: (p_api_name => l_proc
596: ,p_argument => 'validation_end_date'
597: ,p_argument_value => p_validation_end_date
598: );*/
656: Begin
657: --
658: -- Ensure that the p_datetrack_mode argument is not null
659: --
660: hr_api.mandatory_arg_error
661: (p_api_name => l_proc
662: ,p_argument => 'datetrack_mode'
663: ,p_argument_value => p_datetrack_mode
664: );
665: --
666: -- Only perform the validation if the datetrack mode is either
667: -- DELETE or ZAP
668: --
669: If (p_datetrack_mode = hr_api.g_delete or
670: p_datetrack_mode = hr_api.g_zap) then
671: --
672: --
673: -- Ensure the arguments are not null
666: -- Only perform the validation if the datetrack mode is either
667: -- DELETE or ZAP
668: --
669: If (p_datetrack_mode = hr_api.g_delete or
670: p_datetrack_mode = hr_api.g_zap) then
671: --
672: --
673: -- Ensure the arguments are not null
674: --
671: --
672: --
673: -- Ensure the arguments are not null
674: --
675: hr_api.mandatory_arg_error
676: (p_api_name => l_proc
677: ,p_argument => 'validation_start_date'
678: ,p_argument_value => p_validation_start_date
679: );
677: ,p_argument => 'validation_start_date'
678: ,p_argument_value => p_validation_start_date
679: );
680: --
681: /*hr_api.mandatory_arg_error
682: (p_api_name => l_proc
683: ,p_argument => 'validation_end_date'
684: ,p_argument_value => p_validation_end_date
685: );*/
683: ,p_argument => 'validation_end_date'
684: ,p_argument_value => p_validation_end_date
685: );*/
686: --
687: hr_api.mandatory_arg_error
688: (p_api_name => l_proc
689: ,p_argument => 'attribute_id'
690: ,p_argument_value => p_attribute_id
691: );
740: p_object_version_number => p_rec.object_version_number,
741: p_attribute_type => p_rec.attribute_type);
742:
743: -- Description
744: hr_api.mandatory_arg_error(p_api_name => l_proc,
745: p_argument => 'description',
746: p_argument_value => p_rec.description);
747:
748: -- approver_type_id