59: l_object_version_number number;
60: l_phone_id number;
61: --
62: begin
63: hr_utility.set_location('Entering:'|| l_proc, 5);
64: --
65: -- Issue a savepoint.
66: --
67: savepoint create_phone;
65: -- Issue a savepoint.
66: --
67: savepoint create_phone;
68: --
69: hr_utility.set_location(l_proc, 7);
70: --
71: -- Process Logic
72: --
73: --
170: ,p_party_id => p_party_id -- HR/TCA merge
171: ,p_validity => p_validity
172: );
173: --
174: hr_utility.set_location(l_proc, 8);
175: --
176: -- Start of API User Hook for the after hook of create_phone
177: --
178: -- Start of Fix for Bug 2396117
242: --
243: p_object_version_number := l_object_version_number;
244: p_phone_id := l_phone_id;
245: --
246: hr_utility.set_location(' Leaving:'||l_proc, 11);
247: exception
248: when hr_api.validate_enabled then
249: --
250: -- As the Validate_Enabled exception has been raised
333: l_proc varchar2(72) := g_package||'update_phone';
334: l_temp_ovn number := p_object_version_number;
335: --
336: begin
337: hr_utility.set_location('Entering:'|| l_proc, 5);
338: --
339: -- Issue a savepoint.
340: --
341: savepoint update_phone;
338: --
339: -- Issue a savepoint.
340: --
341: savepoint update_phone;
342: hr_utility.set_location(l_proc, 6);
343: --
344: l_object_version_number_temp := p_object_version_number;
345: l_object_version_number := p_object_version_number;
346: --
443: ,p_party_id => p_party_id
444: ,p_validity => p_validity
445: );
446: --
447: hr_utility.set_location(l_proc, 8);
448: --
449: -- Start of API User Hook for the after hook of update_phone
450: -- Start of Fix for Bug 2396117
451: --
509: raise hr_api.validate_enabled;
510: end if;
511: --
512: p_object_version_number := l_object_version_number;
513: hr_utility.set_location(' Leaving:'||l_proc, 11);
514: exception
515: when hr_api.validate_enabled then
516: --
517: -- As the Validate_Enabled exception has been raised
564: l_proc varchar2(72) := g_package||'delete_phone';
565:
566: --
567: begin
568: hr_utility.set_location('Entering:'|| l_proc, 5);
569:
570: --dparthas
571: OPEN get_person_info;
572: FETCH get_person_info INTO l_person_id;
576: -- Issue a savepoint.
577: --
578: savepoint delete_phone;
579: --
580: hr_utility.set_location(l_proc, 7);
581: --
582: -- Process Logic
583: --
584: --
604: (p_phone_id => p_phone_id
605: ,p_object_version_number => p_object_version_number
606: ,p_validate => false);
607: --
608: hr_utility.set_location(l_proc, 8);
609: --
610: -- Start of API User Hook for the after hook of delete_phone
611: -- Start of Fix for Bug 2396117
612: --
633: if p_validate then
634: raise hr_api.validate_enabled;
635: end if;
636: --
637: hr_utility.set_location(' Leaving:'||l_proc, 11);
638: exception
639: when hr_api.validate_enabled then
640: --
641: -- As the Validate_Enabled exception has been raised
715: l_effective_date date;
716: --
717: begin
718: --
719: hr_utility.set_location('Entering:'|| l_proc, 10);
720: --
721: savepoint create_or_update_phone;
722: --
723: l_update_mode:=p_update_mode;
724: l_effective_date:=trunc(p_effective_date);
725: l_api_updating := per_phn_shd.api_updating
726: (p_phone_id => p_phone_id
727: ,p_object_version_number => p_object_version_number);
728: hr_utility.set_location(l_proc, 20);
729: --
730: -- set the record
731: --
732: l_phn_rec:=
777: --
778: -- set g_old_rec to null
779: --
780: per_phn_shd.g_old_rec:=l_null_phn_rec;
781: hr_utility.set_location(l_proc, 30);
782: --
783: -- convert the null values
784: --
785: hr_utility.set_location(l_proc, 40);
781: hr_utility.set_location(l_proc, 30);
782: --
783: -- convert the null values
784: --
785: hr_utility.set_location(l_proc, 40);
786: per_phn_upd.convert_defs(l_phn_rec);
787: --
788: -- insert the data
789: --
786: per_phn_upd.convert_defs(l_phn_rec);
787: --
788: -- insert the data
789: --
790: hr_utility.set_location(l_proc||l_phn_rec.parent_id, 50);
791: hr_phone_api.create_phone
792: (p_date_from => l_phn_rec.date_from
793: ,p_date_to => l_phn_rec.date_to
794: ,p_phone_type => l_phn_rec.phone_type
832: ,p_phone_id => l_phn_rec.phone_id
833: ,p_party_id => l_phn_rec.party_id -- HR/TCA merge
834: ,p_validity => l_phn_rec.validity
835: );
836: hr_utility.set_location(l_proc, 60);
837: else
838: hr_utility.set_location(l_proc, 70);
839: --
840: -- updating not inserting
834: ,p_validity => l_phn_rec.validity
835: );
836: hr_utility.set_location(l_proc, 60);
837: else
838: hr_utility.set_location(l_proc, 70);
839: --
840: -- updating not inserting
841: --
842: -- Validating update_mode values
840: -- updating not inserting
841: --
842: -- Validating update_mode values
843: if (l_update_mode not in (hr_api.g_update,hr_api.g_correction)) then
844: hr_utility.set_location(l_proc, 80);
845: hr_utility.set_message(800, 'HR_52858_PHN_CHK_MODE');
846: hr_utility.raise_error;
847: end if;
848: hr_utility.set_location(l_proc, 90);
841: --
842: -- Validating update_mode values
843: if (l_update_mode not in (hr_api.g_update,hr_api.g_correction)) then
844: hr_utility.set_location(l_proc, 80);
845: hr_utility.set_message(800, 'HR_52858_PHN_CHK_MODE');
846: hr_utility.raise_error;
847: end if;
848: hr_utility.set_location(l_proc, 90);
849: --
842: -- Validating update_mode values
843: if (l_update_mode not in (hr_api.g_update,hr_api.g_correction)) then
844: hr_utility.set_location(l_proc, 80);
845: hr_utility.set_message(800, 'HR_52858_PHN_CHK_MODE');
846: hr_utility.raise_error;
847: end if;
848: hr_utility.set_location(l_proc, 90);
849: --
850: -- Validating effective_date
844: hr_utility.set_location(l_proc, 80);
845: hr_utility.set_message(800, 'HR_52858_PHN_CHK_MODE');
846: hr_utility.raise_error;
847: end if;
848: hr_utility.set_location(l_proc, 90);
849: --
850: -- Validating effective_date
851: --
852: if ((p_date_to <> hr_api.g_date) AND ( l_effective_date > p_date_to ))
851: --
852: if ((p_date_to <> hr_api.g_date) AND ( l_effective_date > p_date_to ))
853: or ((p_date_from <> hr_api.g_date) AND ( l_effective_date < p_date_from ))
854: then
855: hr_utility.set_location(l_proc, 100);
856: hr_utility.set_message(800, 'HR_52859_PHN_INVALID_EFF_DATE');
857: hr_utility.raise_error;
858: end if;
859: hr_utility.set_location(l_proc, 110);
852: if ((p_date_to <> hr_api.g_date) AND ( l_effective_date > p_date_to ))
853: or ((p_date_from <> hr_api.g_date) AND ( l_effective_date < p_date_from ))
854: then
855: hr_utility.set_location(l_proc, 100);
856: hr_utility.set_message(800, 'HR_52859_PHN_INVALID_EFF_DATE');
857: hr_utility.raise_error;
858: end if;
859: hr_utility.set_location(l_proc, 110);
860: --
853: or ((p_date_from <> hr_api.g_date) AND ( l_effective_date < p_date_from ))
854: then
855: hr_utility.set_location(l_proc, 100);
856: hr_utility.set_message(800, 'HR_52859_PHN_INVALID_EFF_DATE');
857: hr_utility.raise_error;
858: end if;
859: hr_utility.set_location(l_proc, 110);
860: --
861: per_phn_shd.lck
855: hr_utility.set_location(l_proc, 100);
856: hr_utility.set_message(800, 'HR_52859_PHN_INVALID_EFF_DATE');
857: hr_utility.raise_error;
858: end if;
859: hr_utility.set_location(l_proc, 110);
860: --
861: per_phn_shd.lck
862: (p_phone_id => p_phone_id
863: ,p_object_version_number => p_object_version_number);
863: ,p_object_version_number => p_object_version_number);
864: --
865: -- convert the null values
866: --
867: hr_utility.set_location(l_proc, 130);
868: per_phn_upd.convert_defs(l_phn_rec);
869: --
870: -- check to see if the start date hasn't changed and is equal to the
871: -- effective date. This will always be a correction.
880: if l_update_mode = hr_api.g_correction then
881: --
882: -- correct the data
883: --
884: hr_utility.set_location(l_proc, 140);
885: --
886: hr_phone_api.update_phone
887: (p_date_from => l_phn_rec.date_from
888: ,p_date_to => l_phn_rec.date_to
925: ,p_phone_id => l_phn_rec.phone_id
926: ,p_validity => l_phn_rec.validity
927: );
928: --
929: hr_utility.set_location(l_proc, 150);
930: --
931: else
932: --
933: -- update mode
931: else
932: --
933: -- update mode
934: --
935: hr_utility.set_location(l_proc, 160);
936: --
937: -- if the start date has changed and it is not the effective date then
938: -- we have an error. A change of start date is the new start date for
939: -- the new record, so must be the effective date so that the phone numbers
940: -- are continuous.
941: --
942: if per_phn_shd.g_old_rec.date_from <> l_phn_rec.date_from
943: and l_phn_rec.date_from <> l_effective_date then
944: hr_utility.set_location(l_proc, 170);
945: hr_utility.set_message(800, 'HR_52859_PHN_INVALID_EFF_DATE');
946: hr_utility.raise_error;
947: end if;
948: --
941: --
942: if per_phn_shd.g_old_rec.date_from <> l_phn_rec.date_from
943: and l_phn_rec.date_from <> l_effective_date then
944: hr_utility.set_location(l_proc, 170);
945: hr_utility.set_message(800, 'HR_52859_PHN_INVALID_EFF_DATE');
946: hr_utility.raise_error;
947: end if;
948: --
949: hr_utility.set_location(l_proc, 180);
942: if per_phn_shd.g_old_rec.date_from <> l_phn_rec.date_from
943: and l_phn_rec.date_from <> l_effective_date then
944: hr_utility.set_location(l_proc, 170);
945: hr_utility.set_message(800, 'HR_52859_PHN_INVALID_EFF_DATE');
946: hr_utility.raise_error;
947: end if;
948: --
949: hr_utility.set_location(l_proc, 180);
950: --
945: hr_utility.set_message(800, 'HR_52859_PHN_INVALID_EFF_DATE');
946: hr_utility.raise_error;
947: end if;
948: --
949: hr_utility.set_location(l_proc, 180);
950: --
951: -- end the old phone number
952: --
953: hr_phone_api.update_phone
956: ,p_object_version_number => l_phn_rec.object_version_number
957: ,p_validate => FALSE
958: ,p_effective_date => l_effective_date);
959: --
960: hr_utility.set_location(l_proc, 190);
961: --
962: -- insert the new phone number
963: --
964: hr_phone_api.create_phone
1006: ,p_party_id => l_phn_rec.party_id -- HR/TCA merge
1007: ,p_validity => l_phn_rec.validity
1008: );
1009: --
1010: hr_utility.set_location(l_proc, 190);
1011: --
1012: end if;
1013: end if;
1014: --
1017: end if;
1018: --
1019: p_phone_id:=l_phn_rec.phone_id;
1020: p_object_version_number:=l_phn_rec.object_version_number;
1021: hr_utility.set_location('Leaving:'||l_proc, 200);
1022: --
1023: exception
1024: when hr_api.validate_enabled then
1025: rollback to create_or_update_phone;
1024: when hr_api.validate_enabled then
1025: rollback to create_or_update_phone;
1026: p_phone_id:=null;
1027: p_object_version_number:=null;
1028: hr_utility.set_location('Leaving:'||l_proc, 220);
1029: --
1030: when others then
1031: rollback to create_or_update_phone;
1032: hr_utility.set_location('Leaving:'||l_proc, 230);
1028: hr_utility.set_location('Leaving:'||l_proc, 220);
1029: --
1030: when others then
1031: rollback to create_or_update_phone;
1032: hr_utility.set_location('Leaving:'||l_proc, 230);
1033: raise;
1034: --
1035: end create_or_update_phone;
1036: --