DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_PDT_SHD

Source


1 Package Body hr_pdt_shd as
2 /* $Header: hrpdtrhi.pkb 120.6.12020000.2 2012/07/04 23:18:52 amnaraya 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;