[Home] [Help]
PACKAGE BODY: APPS.HR_PDT_SHD
Source
1 Package Body hr_pdt_shd as
2 /* $Header: hrpdtrhi.pkb 120.4.12010000.2 2008/08/06 08:46:56 ubhat ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Private Global Definitions |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package varchar2(33) := ' hr_pdt_shd.'; -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< constraint_error >---------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure constraint_error
14 (p_constraint_name in all_constraints.constraint_name%TYPE
15 ) Is
16 --
17 l_proc varchar2(72) := g_package||'constraint_error';
18 --
19 Begin
20 --
21 If (p_constraint_name = 'HR_PERSON_DEPLOYMENTS_PK') Then
22 fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
23 fnd_message.set_token('PROCEDURE', l_proc);
24 fnd_message.set_token('STEP','5');
25 fnd_message.raise_error;
26 Else
27 fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
28 fnd_message.set_token('PROCEDURE', l_proc);
29 fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
30 fnd_message.raise_error;
31 End If;
32 --
33 End constraint_error;
34 --
35 -- ----------------------------------------------------------------------------
36 -- |-----------------------------< api_updating >-----------------------------|
37 -- ----------------------------------------------------------------------------
38 Function api_updating
39 (p_person_deployment_id in number
40 ,p_object_version_number in number
41 )
42 Return Boolean Is
43 --
44 --
45 -- Cursor selects the 'current' row from the HR Schema
46 --
47 Cursor C_Sel1 is
48 select
49 person_deployment_id
50 ,object_version_number
51 ,from_business_group_id
52 ,to_business_group_id
53 ,from_person_id
54 ,to_person_id
55 ,person_type_id
56 ,start_date
57 ,end_date
58 ,deployment_reason
59 ,employee_number
60 ,leaving_reason
61 ,leaving_person_type_id
62 ,permanent
63 ,status
64 ,status_change_reason
65 ,status_change_date
66 ,deplymt_policy_id
67 ,organization_id
68 ,location_id
69 ,job_id
70 ,position_id
71 ,grade_id
72 ,supervisor_id
73 ,supervisor_assignment_id
74 ,retain_direct_reports
75 ,payroll_id
76 ,pay_basis_id
77 ,proposed_salary
78 ,people_group_id
79 ,soft_coding_keyflex_id
80 ,assignment_status_type_id
81 ,ass_status_change_reason
82 ,assignment_category
83 ,per_information_category
84 ,per_information1
85 ,per_information2
86 ,per_information3
87 ,per_information4
88 ,per_information5
89 ,per_information6
90 ,per_information7
91 ,per_information8
92 ,per_information9
93 ,per_information10
94 ,per_information11
95 ,per_information12
96 ,per_information13
97 ,per_information14
98 ,per_information15
99 ,per_information16
100 ,per_information17
101 ,per_information18
102 ,per_information19
103 ,per_information20
104 ,per_information21
105 ,per_information22
106 ,per_information23
107 ,per_information24
108 ,per_information25
109 ,per_information26
110 ,per_information27
111 ,per_information28
112 ,per_information29
113 ,per_information30
114 from hr_person_deployments
115 where person_deployment_id = p_person_deployment_id;
116 --
117 l_fct_ret boolean;
118 --
119 Begin
120 --
121 If (p_person_deployment_id is null and
122 p_object_version_number is null
123 ) Then
124 --
125 -- One of the primary key arguments is null therefore we must
126 -- set the returning function value to false
127 --
128 l_fct_ret := false;
129 Else
130 If (p_person_deployment_id
131 = hr_pdt_shd.g_old_rec.person_deployment_id and
132 p_object_version_number
133 = hr_pdt_shd.g_old_rec.object_version_number
134 ) Then
135 --
136 -- The g_old_rec is current therefore we must
137 -- set the returning function to true
138 --
139 l_fct_ret := true;
140 Else
141 --
142 -- Select the current row into g_old_rec
143 --
144 Open C_Sel1;
145 Fetch C_Sel1 Into hr_pdt_shd.g_old_rec;
146 If C_Sel1%notfound Then
147 Close C_Sel1;
148 --
149 -- The primary key is invalid therefore we must error
150 --
151 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
152 fnd_message.raise_error;
153 End If;
154 Close C_Sel1;
155 If (p_object_version_number
156 <> hr_pdt_shd.g_old_rec.object_version_number) Then
157 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
158 fnd_message.raise_error;
159 End If;
160 l_fct_ret := true;
161 End If;
162 End If;
163 Return (l_fct_ret);
164 --
165 End api_updating;
166 --
167 -- ----------------------------------------------------------------------------
168 -- |---------------------------------< lck >----------------------------------|
169 -- ----------------------------------------------------------------------------
170 Procedure lck
171 (p_person_deployment_id in number
172 ,p_object_version_number in number
173 ) is
174 --
175 -- Cursor selects the 'current' row from the HR Schema
176 --
177 Cursor C_Sel1 is
178 select
179 person_deployment_id
180 ,object_version_number
181 ,from_business_group_id
182 ,to_business_group_id
183 ,from_person_id
184 ,to_person_id
185 ,person_type_id
186 ,start_date
187 ,end_date
188 ,deployment_reason
189 ,employee_number
190 ,leaving_reason
191 ,leaving_person_type_id
192 ,permanent
193 ,status
194 ,status_change_reason
195 ,status_change_date
196 ,deplymt_policy_id
197 ,organization_id
198 ,location_id
199 ,job_id
200 ,position_id
201 ,grade_id
202 ,supervisor_id
203 ,supervisor_assignment_id
204 ,retain_direct_reports
205 ,payroll_id
206 ,pay_basis_id
207 ,proposed_salary
208 ,people_group_id
209 ,soft_coding_keyflex_id
210 ,assignment_status_type_id
211 ,ass_status_change_reason
212 ,assignment_category
213 ,per_information_category
214 ,per_information1
215 ,per_information2
216 ,per_information3
217 ,per_information4
218 ,per_information5
219 ,per_information6
220 ,per_information7
221 ,per_information8
222 ,per_information9
223 ,per_information10
224 ,per_information11
225 ,per_information12
226 ,per_information13
227 ,per_information14
228 ,per_information15
229 ,per_information16
230 ,per_information17
231 ,per_information18
232 ,per_information19
233 ,per_information20
234 ,per_information21
235 ,per_information22
236 ,per_information23
237 ,per_information24
238 ,per_information25
239 ,per_information26
240 ,per_information27
241 ,per_information28
242 ,per_information29
243 ,per_information30
244 from hr_person_deployments
245 where person_deployment_id = p_person_deployment_id
246 for update nowait;
247 --
248 l_proc varchar2(72) := g_package||'lck';
249 --
250 Begin
251 hr_utility.set_location('Entering:'||l_proc, 5);
252 --
253 hr_api.mandatory_arg_error
254 (p_api_name => l_proc
255 ,p_argument => 'PERSON_DEPLOYMENT_ID'
256 ,p_argument_value => p_person_deployment_id
257 );
258 hr_utility.set_location(l_proc,6);
259 hr_api.mandatory_arg_error
260 (p_api_name => l_proc
261 ,p_argument => 'OBJECT_VERSION_NUMBER'
262 ,p_argument_value => p_object_version_number
263 );
264 --
265 Open C_Sel1;
266 Fetch C_Sel1 Into hr_pdt_shd.g_old_rec;
267 If C_Sel1%notfound then
268 Close C_Sel1;
269 --
270 -- The primary key is invalid therefore we must error
271 --
272 fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
273 fnd_message.raise_error;
274 End If;
275 Close C_Sel1;
276 If (p_object_version_number
277 <> hr_pdt_shd.g_old_rec.object_version_number) Then
278 fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
279 fnd_message.raise_error;
280 End If;
281 --
282 hr_utility.set_location(' Leaving:'||l_proc, 10);
283 --
284 -- We need to trap the ORA LOCK exception
285 --
286 Exception
287 When HR_Api.Object_Locked then
288 --
289 -- The object is locked therefore we need to supply a meaningful
290 -- error message.
291 --
292 fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
293 fnd_message.set_token('TABLE_NAME', 'hr_person_deployments');
294 fnd_message.raise_error;
295 End lck;
296 --
297 -- ----------------------------------------------------------------------------
298 -- |-----------------------------< convert_args >-----------------------------|
299 -- ----------------------------------------------------------------------------
300 Function convert_args
301 (p_person_deployment_id in number
302 ,p_object_version_number in number
303 ,p_from_business_group_id in number
304 ,p_to_business_group_id in number
305 ,p_from_person_id in number
306 ,p_to_person_id in number
307 ,p_person_type_id in number
308 ,p_start_date in date
309 ,p_end_date in date
310 ,p_deployment_reason in varchar2
311 ,p_employee_number in varchar2
312 ,p_leaving_reason in varchar2
313 ,p_leaving_person_type_id in number
314 ,p_permanent in varchar2
315 ,p_status in varchar2
316 ,p_status_change_reason in varchar2
317 ,p_status_change_date in date
318 ,p_deplymt_policy_id in number
319 ,p_organization_id in number
320 ,p_location_id in number
321 ,p_job_id in number
322 ,p_position_id in number
323 ,p_grade_id in number
324 ,p_supervisor_id in number
325 ,p_supervisor_assignment_id in number
326 ,p_retain_direct_reports in varchar2
327 ,p_payroll_id in number
328 ,p_pay_basis_id in number
329 ,p_proposed_salary in varchar2
330 ,p_people_group_id in number
331 ,p_soft_coding_keyflex_id in number
332 ,p_assignment_status_type_id in number
333 ,p_ass_status_change_reason in varchar2
334 ,p_assignment_category in varchar2
335 ,p_per_information_category in varchar2
336 ,p_per_information1 in varchar2
337 ,p_per_information2 in varchar2
338 ,p_per_information3 in varchar2
339 ,p_per_information4 in varchar2
340 ,p_per_information5 in varchar2
341 ,p_per_information6 in varchar2
342 ,p_per_information7 in varchar2
343 ,p_per_information8 in varchar2
344 ,p_per_information9 in varchar2
345 ,p_per_information10 in varchar2
346 ,p_per_information11 in varchar2
347 ,p_per_information12 in varchar2
348 ,p_per_information13 in varchar2
349 ,p_per_information14 in varchar2
350 ,p_per_information15 in varchar2
351 ,p_per_information16 in varchar2
352 ,p_per_information17 in varchar2
353 ,p_per_information18 in varchar2
354 ,p_per_information19 in varchar2
355 ,p_per_information20 in varchar2
356 ,p_per_information21 in varchar2
357 ,p_per_information22 in varchar2
358 ,p_per_information23 in varchar2
359 ,p_per_information24 in varchar2
360 ,p_per_information25 in varchar2
361 ,p_per_information26 in varchar2
362 ,p_per_information27 in varchar2
363 ,p_per_information28 in varchar2
364 ,p_per_information29 in varchar2
365 ,p_per_information30 in varchar2
366 )
367 Return g_rec_type is
368 --
369 l_rec g_rec_type;
370 --
371 Begin
372 --
373 -- Convert arguments into local l_rec structure.
374 --
375 l_rec.person_deployment_id := p_person_deployment_id;
376 l_rec.object_version_number := p_object_version_number;
377 l_rec.from_business_group_id := p_from_business_group_id;
378 l_rec.to_business_group_id := p_to_business_group_id;
379 l_rec.from_person_id := p_from_person_id;
380 l_rec.to_person_id := p_to_person_id;
381 l_rec.person_type_id := p_person_type_id;
382 l_rec.start_date := p_start_date;
383 l_rec.end_date := p_end_date;
384 l_rec.deployment_reason := p_deployment_reason;
385 l_rec.employee_number := p_employee_number;
386 l_rec.leaving_reason := p_leaving_reason;
387 l_rec.leaving_person_type_id := p_leaving_person_type_id;
388 l_rec.permanent := p_permanent;
389 l_rec.status := p_status;
390 l_rec.status_change_reason := p_status_change_reason;
391 l_rec.status_change_date := p_status_change_date;
392 l_rec.deplymt_policy_id := p_deplymt_policy_id;
393 l_rec.organization_id := p_organization_id;
394 l_rec.location_id := p_location_id;
395 l_rec.job_id := p_job_id;
396 l_rec.position_id := p_position_id;
397 l_rec.grade_id := p_grade_id;
398 l_rec.supervisor_id := p_supervisor_id;
399 l_rec.supervisor_assignment_id := p_supervisor_assignment_id;
400 l_rec.retain_direct_reports := p_retain_direct_reports;
401 l_rec.payroll_id := p_payroll_id;
402 l_rec.pay_basis_id := p_pay_basis_id;
403 l_rec.proposed_salary := p_proposed_salary;
404 l_rec.people_group_id := p_people_group_id;
405 l_rec.soft_coding_keyflex_id := p_soft_coding_keyflex_id;
406 l_rec.assignment_status_type_id := p_assignment_status_type_id;
407 l_rec.ass_status_change_reason := p_ass_status_change_reason;
408 l_rec.assignment_category := p_assignment_category;
409 l_rec.per_information_category := p_per_information_category;
410 l_rec.per_information1 := p_per_information1;
411 l_rec.per_information2 := p_per_information2;
412 l_rec.per_information3 := p_per_information3;
413 l_rec.per_information4 := p_per_information4;
414 l_rec.per_information5 := p_per_information5;
415 l_rec.per_information6 := p_per_information6;
416 l_rec.per_information7 := p_per_information7;
417 l_rec.per_information8 := p_per_information8;
418 l_rec.per_information9 := p_per_information9;
419 l_rec.per_information10 := p_per_information10;
420 l_rec.per_information11 := p_per_information11;
421 l_rec.per_information12 := p_per_information12;
422 l_rec.per_information13 := p_per_information13;
423 l_rec.per_information14 := p_per_information14;
424 l_rec.per_information15 := p_per_information15;
425 l_rec.per_information16 := p_per_information16;
426 l_rec.per_information17 := p_per_information17;
427 l_rec.per_information18 := p_per_information18;
428 l_rec.per_information19 := p_per_information19;
429 l_rec.per_information20 := p_per_information20;
430 l_rec.per_information21 := p_per_information21;
431 l_rec.per_information22 := p_per_information22;
432 l_rec.per_information23 := p_per_information23;
433 l_rec.per_information24 := p_per_information24;
434 l_rec.per_information25 := p_per_information25;
435 l_rec.per_information26 := p_per_information26;
436 l_rec.per_information27 := p_per_information27;
437 l_rec.per_information28 := p_per_information28;
438 l_rec.per_information29 := p_per_information29;
439 l_rec.per_information30 := p_per_information30;
440 --
441 -- Return the plsql record structure.
442 --
443 Return(l_rec);
444 --
445 End convert_args;
446 --
447 end hr_pdt_shd;