[Home] [Help]
PACKAGE BODY: APPS.HR_FR_PERIODS_OF_SERVICE_API
Source
1 Package Body hr_fr_periods_of_service_api as
2 /* $Header: pepdsfri.pkb 115.3 2002/12/16 14:58:13 sfmorris noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := 'hr_fr_periods_of_service_api.';
7 --
8 -- ----------------------------------------------------------------------------
9 -- |-----------------------< update_fr_pds_details >-----------------------------|
10 -- ----------------------------------------------------------------------------
11 --
12 procedure update_fr_pds_details
13 (p_validate in boolean default false
14 ,p_effective_date in date
15 ,p_period_of_service_id in number
16 ,p_termination_accepted_person in number default hr_api.g_number
17 ,p_accepted_termination_date in date default hr_api.g_date
18 ,p_object_version_number in out nocopy number
19 ,p_comments in varchar2 default hr_api.g_varchar2
20 ,p_leaving_reason in varchar2 default hr_api.g_varchar2
21 ,p_notified_termination_date in date default hr_api.g_date
22 ,p_projected_termination_date in date default hr_api.g_date
23 ,p_attribute_category in varchar2 default hr_api.g_varchar2
24 ,p_attribute1 in varchar2 default hr_api.g_varchar2
25 ,p_attribute2 in varchar2 default hr_api.g_varchar2
26 ,p_attribute3 in varchar2 default hr_api.g_varchar2
27 ,p_attribute4 in varchar2 default hr_api.g_varchar2
28 ,p_attribute5 in varchar2 default hr_api.g_varchar2
29 ,p_attribute6 in varchar2 default hr_api.g_varchar2
30 ,p_attribute7 in varchar2 default hr_api.g_varchar2
31 ,p_attribute8 in varchar2 default hr_api.g_varchar2
32 ,p_attribute9 in varchar2 default hr_api.g_varchar2
33 ,p_attribute10 in varchar2 default hr_api.g_varchar2
34 ,p_attribute11 in varchar2 default hr_api.g_varchar2
35 ,p_attribute12 in varchar2 default hr_api.g_varchar2
36 ,p_attribute13 in varchar2 default hr_api.g_varchar2
37 ,p_attribute14 in varchar2 default hr_api.g_varchar2
38 ,p_attribute15 in varchar2 default hr_api.g_varchar2
39 ,p_attribute16 in varchar2 default hr_api.g_varchar2
40 ,p_attribute17 in varchar2 default hr_api.g_varchar2
41 ,p_attribute18 in varchar2 default hr_api.g_varchar2
42 ,p_attribute19 in varchar2 default hr_api.g_varchar2
43 ,p_attribute20 in varchar2 default hr_api.g_varchar2
44 ,p_starting_reason in varchar2 default hr_api.g_varchar2
45 ,p_ending_reason in varchar2 default hr_api.g_varchar2
46 ,p_qualification_level in varchar2 default hr_api.g_varchar2
47 ,p_type_work in varchar2 default hr_api.g_varchar2
48 ,p_employee_status in varchar2 default hr_api.g_varchar2
49 ,p_affiliated_alsace_moselle in varchar2 default hr_api.g_varchar2
50 ,p_relationship_MD in varchar2 default hr_api.g_varchar2
51 ,p_final_payment_schedule in varchar2 default hr_api.g_varchar2
52 ,p_social_plan in varchar2 default hr_api.g_varchar2
53 ) is
54 --
55 -- Declare cursors and local variables
56 --
57 l_business_group_id per_contracts_f.business_group_id%TYPE;
58 l_proc varchar2(72) := g_package||'update_fr_pds_details';
59 l_legislation_code varchar2(2);
60
61 --
62 cursor csr_get_business_group_id is
63 select pds.business_group_id
64 from per_periods_of_service pds
65 where pds.period_of_service_id = p_period_of_service_id;
66 --
67 cursor csr_bg is
68 select legislation_code
69 from per_business_groups pbg
70 where pbg.business_group_id = l_business_group_id;
71 --
72 begin
73
74 hr_utility.set_location('Entering:'|| l_proc, 10);
75 --
76 -- Issue a savepoint if operating in validation only mode
77 --
78 savepoint create_contract;
79 --
80 hr_utility.set_location(l_proc, 20);
81 --
82 -- Process Logic
83 --
84 -- Get person details.
85 --
86 open csr_get_business_group_id;
87 fetch csr_get_business_group_id
88 into l_business_group_id;
89 --
90 if csr_get_business_group_id%NOTFOUND then
91 --
92 close csr_get_business_group_id;
93 --
94 hr_utility.set_location(l_proc, 30);
95 --
96 hr_utility.set_message(801,'HR_7432_ASG_INVALID_PERSON');
97 hr_utility.raise_error;
98 end if;
99 --
100 close csr_get_business_group_id;
101 --
102 hr_utility.set_location(l_proc, 40);
103 --
104 -- Check that the specified business group is valid.
105 --
106 open csr_bg;
107 fetch csr_bg
108 into l_legislation_code;
109 if csr_bg%notfound then
110 close csr_bg;
111 hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
112 hr_utility.raise_error;
113 end if;
114 close csr_bg;
115 hr_utility.set_location(l_proc, 50);
116 --
117 -- Check that the legislation of the specified business group is 'FR'.
118 --
119 if l_legislation_code <> 'FR' then
120 hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
121 hr_utility.set_message_token('LEG_CODE','FR');
122 hr_utility.raise_error;
123 end if;
124 hr_utility.set_location(l_proc, 60);
125 --
126 -- Call the contract business process
127 --
128 hr_periods_of_service_api.update_pds_details
129 ( p_validate => p_validate
130 ,p_effective_date => p_effective_date
131 ,p_period_of_service_id => p_period_of_service_id
132 ,p_termination_accepted_person => p_termination_accepted_person
133 ,p_accepted_termination_date => p_accepted_termination_date
134 ,p_comments => p_comments
135 ,p_leaving_reason => p_leaving_reason
136 ,p_notified_termination_date => p_notified_termination_date
137 ,p_projected_termination_date => p_projected_termination_date
138 ,p_attribute_category => p_attribute_category
139 ,p_attribute1 => p_attribute1
140 ,p_attribute2 => p_attribute2
141 ,p_attribute3 => p_attribute3
142 ,p_attribute4 => p_attribute4
143 ,p_attribute5 => p_attribute5
144 ,p_attribute6 => p_attribute6
145 ,p_attribute7 => p_attribute7
146 ,p_attribute8 => p_attribute8
147 ,p_attribute9 => p_attribute9
148 ,p_attribute10 => p_attribute10
149 ,p_attribute11 => p_attribute11
150 ,p_attribute12 => p_attribute12
151 ,p_attribute13 => p_attribute13
152 ,p_attribute14 => p_attribute14
153 ,p_attribute15 => p_attribute15
154 ,p_attribute16 => p_attribute16
155 ,p_attribute17 => p_attribute17
156 ,p_attribute18 => p_attribute18
157 ,p_attribute19 => p_attribute19
158 ,p_attribute20 => p_attribute20
159 ,p_pds_information_category => 'FR'
160 ,p_pds_information1 => p_starting_reason
161 ,p_pds_information2 => p_ending_reason
162 ,p_pds_information3 => p_qualification_level
163 ,p_pds_information4 => p_type_work
164 ,p_pds_information5 => p_employee_status
165 ,p_pds_information6 => p_affiliated_alsace_moselle
166 ,p_pds_information7 => p_relationship_MD
167 ,p_pds_information11 => p_final_payment_schedule
168 ,p_pds_information12 => p_social_plan
169 ,p_object_version_number => p_object_version_number
170 );
171 --
172 hr_utility.set_location(' Leaving:'||l_proc, 7);
173 end update_fr_pds_details;
174 --
175 end hr_fr_periods_of_service_api;