DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_ABB_SHD

Source


4 -- ----------------------------------------------------------------------------
1 Package Body per_abb_shd as
2 /* $Header: peabbrhi.pkb 120.3 2006/03/03 06:26 bshukla noship $ */
3 --
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  per_abb_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15 Begin
16   --
17   Return (nvl(g_api_dml, false));
18   --
19 End return_api_dml_status;
20 --
21 -- ----------------------------------------------------------------------------
22 -- |---------------------------< constraint_error >---------------------------|
23 -- ----------------------------------------------------------------------------
24 Procedure constraint_error
25   (p_constraint_name in all_constraints.constraint_name%TYPE
26   ) Is
27 --
28   l_proc        varchar2(72) := g_package||'constraint_error';
29 --
30 Begin
31   --
32   If (p_constraint_name = 'PER_ABSENCE_ATTENDANCE_TYP_FK1') Then
33     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
34     fnd_message.set_token('PROCEDURE', l_proc);
35     fnd_message.set_token('STEP','5');
39     fnd_message.set_token('PROCEDURE', l_proc);
36     fnd_message.raise_error;
37   ElsIf (p_constraint_name = 'PER_ABSENCE_ATTENDANCE_TYP_PK') Then
38     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
40     fnd_message.set_token('STEP','10');
41     fnd_message.raise_error;
42   Else
43     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
44     fnd_message.set_token('PROCEDURE', l_proc);
45     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
46     fnd_message.raise_error;
47   End If;
48   --
49 End constraint_error;
50 --
51 -- ----------------------------------------------------------------------------
52 -- |-----------------------------< api_updating >-----------------------------|
53 -- ----------------------------------------------------------------------------
54 Function api_updating
55   (p_absence_attendance_type_id           in     number
56   ,p_object_version_number                in     number
57   )
58   Return Boolean Is
59   --
60   --
61   -- Cursor selects the 'current' row from the HR Schema
62   --
63   Cursor C_Sel1 is
64     select
65        absence_attendance_type_id
66       ,business_group_id
67       ,input_value_id
68       ,date_effective
69       ,name
70       ,absence_category
71       ,comments
72       ,date_end
73       ,hours_or_days
74       ,increasing_or_decreasing_flag
75       ,request_id
76       ,program_application_id
77       ,program_id
78       ,program_update_date
79       ,attribute_category
80       ,attribute1
81       ,attribute2
82       ,attribute3
83       ,attribute4
84       ,attribute5
85       ,attribute6
86       ,attribute7
87       ,attribute8
88       ,attribute9
89       ,attribute10
90       ,attribute11
91       ,attribute12
92       ,attribute13
93       ,attribute14
94       ,attribute15
95       ,attribute16
96       ,attribute17
97       ,attribute18
98       ,attribute19
99       ,attribute20
100       ,object_version_number
101       ,information_category
102       ,information1
103       ,information2
104       ,information3
105       ,information4
106       ,information5
107       ,information6
108       ,information7
109       ,information8
110       ,information9
111       ,information10
112       ,information11
113       ,information12
114       ,information13
115       ,information14
116       ,information15
117       ,information16
118       ,information17
119       ,information18
120       ,information19
121       ,information20
122       ,user_role
123       ,assignment_status_type_id
124       ,advance_pay
125       ,absence_overlap_flag
126     from        per_absence_attendance_types
127     where       absence_attendance_type_id = p_absence_attendance_type_id;
128   --
129   l_fct_ret     boolean;
130   --
131 Begin
132   --
133   If (p_absence_attendance_type_id is null and
134       p_object_version_number is null
135      ) Then
136     --
137     -- One of the primary key arguments is null therefore we must
138     -- set the returning function value to false
139     --
140     l_fct_ret := false;
141   Else
142     If (p_absence_attendance_type_id
143         = per_abb_shd.g_old_rec.absence_attendance_type_id and
144         p_object_version_number
145         = per_abb_shd.g_old_rec.object_version_number
146        ) Then
147       --
148       -- The g_old_rec is current therefore we must
149       -- set the returning function to true
150       --
151       l_fct_ret := true;
152     Else
153       --
154       -- Select the current row into g_old_rec
155       --
156       Open C_Sel1;
157       Fetch C_Sel1 Into per_abb_shd.g_old_rec;
158       If C_Sel1%notfound Then
159         Close C_Sel1;
160         --
161         -- The primary key is invalid therefore we must error
162         --
163         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
164         fnd_message.raise_error;
165       End If;
166       Close C_Sel1;
167       If (p_object_version_number
168           <> per_abb_shd.g_old_rec.object_version_number) Then
169         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
170         fnd_message.raise_error;
171       End If;
172       l_fct_ret := true;
173     End If;
174   End If;
175   Return (l_fct_ret);
176 --
177 End api_updating;
178 --
179 -- ----------------------------------------------------------------------------
180 -- |---------------------------------< lck >----------------------------------|
181 -- ----------------------------------------------------------------------------
182 Procedure lck
183   (p_absence_attendance_type_id           in     number
184   ,p_object_version_number                in     number
185   ) is
186 --
187 -- Cursor selects the 'current' row from the HR Schema
188 --
189   Cursor C_Sel1 is
190     select
191        absence_attendance_type_id
192       ,business_group_id
193       ,input_value_id
194       ,date_effective
195       ,name
196       ,absence_category
197       ,comments
198       ,date_end
199       ,hours_or_days
200       ,increasing_or_decreasing_flag
201       ,request_id
205       ,attribute_category
202       ,program_application_id
203       ,program_id
204       ,program_update_date
206       ,attribute1
207       ,attribute2
208       ,attribute3
209       ,attribute4
210       ,attribute5
211       ,attribute6
212       ,attribute7
213       ,attribute8
214       ,attribute9
215       ,attribute10
216       ,attribute11
217       ,attribute12
218       ,attribute13
219       ,attribute14
220       ,attribute15
221       ,attribute16
222       ,attribute17
223       ,attribute18
224       ,attribute19
225       ,attribute20
226       ,object_version_number
227       ,information_category
228       ,information1
229       ,information2
230       ,information3
231       ,information4
232       ,information5
233       ,information6
234       ,information7
235       ,information8
236       ,information9
237       ,information10
238       ,information11
239       ,information12
240       ,information13
241       ,information14
242       ,information15
243       ,information16
244       ,information17
245       ,information18
246       ,information19
247       ,information20
248       ,user_role
249       ,assignment_status_type_id
250       ,advance_pay
251       ,absence_overlap_flag
252     from        per_absence_attendance_types
253     where       absence_attendance_type_id = p_absence_attendance_type_id
254     for update nowait;
255 --
256   l_proc        varchar2(72) := g_package||'lck';
257 --
258 Begin
259   hr_utility.set_location('Entering:'||l_proc, 5);
260   --
261   hr_api.mandatory_arg_error
262     (p_api_name           => l_proc
263     ,p_argument           => 'ABSENCE_ATTENDANCE_TYPE_ID'
264     ,p_argument_value     => p_absence_attendance_type_id
265     );
266   hr_utility.set_location(l_proc,6);
267   hr_api.mandatory_arg_error
268     (p_api_name           => l_proc
269     ,p_argument           => 'OBJECT_VERSION_NUMBER'
270     ,p_argument_value     => p_object_version_number
271     );
272   --
273   Open  C_Sel1;
274   Fetch C_Sel1 Into per_abb_shd.g_old_rec;
275   If C_Sel1%notfound then
276     Close C_Sel1;
277     --
278     -- The primary key is invalid therefore we must error
279     --
280     fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
281     fnd_message.raise_error;
282   End If;
283   Close C_Sel1;
284   If (p_object_version_number
285       <> per_abb_shd.g_old_rec.object_version_number) Then
286         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
287         fnd_message.raise_error;
288   End If;
289   --
290   hr_utility.set_location(' Leaving:'||l_proc, 10);
291   --
292   -- We need to trap the ORA LOCK exception
293   --
294 Exception
295   When HR_Api.Object_Locked then
296     --
297     -- The object is locked therefore we need to supply a meaningful
298     -- error message.
299     --
300     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
301     fnd_message.set_token('TABLE_NAME', 'per_absence_attendance_types');
302     fnd_message.raise_error;
303 End lck;
304 --
305 -- ----------------------------------------------------------------------------
306 -- |-----------------------------< convert_args >-----------------------------|
307 -- ----------------------------------------------------------------------------
308 Function convert_args
309   (p_absence_attendance_type_id     in number
310   ,p_business_group_id              in number
311   ,p_input_value_id                 in number
312   ,p_date_effective                 in date
313   ,p_name                           in varchar2
314   ,p_absence_category               in varchar2
315   ,p_comments                       in varchar2
316   ,p_date_end                       in date
317   ,p_hours_or_days                  in varchar2
318   ,p_inc_or_dec_flag                in varchar2
319   ,p_request_id                     in number
320   ,p_program_application_id         in number
321   ,p_program_id                     in number
322   ,p_program_update_date            in date
323   ,p_attribute_category             in varchar2
324   ,p_attribute1                     in varchar2
325   ,p_attribute2                     in varchar2
326   ,p_attribute3                     in varchar2
327   ,p_attribute4                     in varchar2
328   ,p_attribute5                     in varchar2
329   ,p_attribute6                     in varchar2
330   ,p_attribute7                     in varchar2
331   ,p_attribute8                     in varchar2
332   ,p_attribute9                     in varchar2
333   ,p_attribute10                    in varchar2
334   ,p_attribute11                    in varchar2
335   ,p_attribute12                    in varchar2
336   ,p_attribute13                    in varchar2
337   ,p_attribute14                    in varchar2
338   ,p_attribute15                    in varchar2
339   ,p_attribute16                    in varchar2
340   ,p_attribute17                    in varchar2
341   ,p_attribute18                    in varchar2
342   ,p_attribute19                    in varchar2
343   ,p_attribute20                    in varchar2
344   ,p_object_version_number          in number
345   ,p_information_category           in varchar2
346   ,p_information1                   in varchar2
350   ,p_information5                   in varchar2
347   ,p_information2                   in varchar2
348   ,p_information3                   in varchar2
349   ,p_information4                   in varchar2
351   ,p_information6                   in varchar2
352   ,p_information7                   in varchar2
353   ,p_information8                   in varchar2
354   ,p_information9                   in varchar2
355   ,p_information10                  in varchar2
356   ,p_information11                  in varchar2
357   ,p_information12                  in varchar2
358   ,p_information13                  in varchar2
359   ,p_information14                  in varchar2
360   ,p_information15                  in varchar2
361   ,p_information16                  in varchar2
362   ,p_information17                  in varchar2
363   ,p_information18                  in varchar2
364   ,p_information19                  in varchar2
365   ,p_information20                  in varchar2
366   ,p_user_role                      in  varchar2
367   ,p_assignment_status_type_id      in  number
368   ,p_advance_pay                    in  varchar2
369   ,p_absence_overlap_flag           in  varchar2
370   )
371   Return g_rec_type is
372 --
373   l_rec   g_rec_type;
374 --
375 Begin
376   --
377   -- Convert arguments into local l_rec structure.
378   --
379   l_rec.absence_attendance_type_id       := p_absence_attendance_type_id;
380   l_rec.business_group_id                := p_business_group_id;
381   l_rec.input_value_id                   := p_input_value_id;
382   l_rec.date_effective                   := p_date_effective;
383   l_rec.name                             := p_name;
384   l_rec.absence_category                 := p_absence_category;
385   l_rec.comments                         := p_comments;
386   l_rec.date_end                         := p_date_end;
387   l_rec.hours_or_days                    := p_hours_or_days;
388   l_rec.increasing_or_decreasing_flag    := p_inc_or_dec_flag;
389   l_rec.request_id                       := p_request_id;
390   l_rec.program_application_id           := p_program_application_id;
391   l_rec.program_id                       := p_program_id;
392   l_rec.program_update_date              := p_program_update_date;
393   l_rec.attribute_category               := p_attribute_category;
394   l_rec.attribute1                       := p_attribute1;
395   l_rec.attribute2                       := p_attribute2;
396   l_rec.attribute3                       := p_attribute3;
397   l_rec.attribute4                       := p_attribute4;
398   l_rec.attribute5                       := p_attribute5;
399   l_rec.attribute6                       := p_attribute6;
400   l_rec.attribute7                       := p_attribute7;
401   l_rec.attribute8                       := p_attribute8;
402   l_rec.attribute9                       := p_attribute9;
403   l_rec.attribute10                      := p_attribute10;
404   l_rec.attribute11                      := p_attribute11;
405   l_rec.attribute12                      := p_attribute12;
406   l_rec.attribute13                      := p_attribute13;
407   l_rec.attribute14                      := p_attribute14;
408   l_rec.attribute15                      := p_attribute15;
409   l_rec.attribute16                      := p_attribute16;
410   l_rec.attribute17                      := p_attribute17;
411   l_rec.attribute18                      := p_attribute18;
412   l_rec.attribute19                      := p_attribute19;
413   l_rec.attribute20                      := p_attribute20;
414   l_rec.object_version_number            := p_object_version_number;
415   l_rec.information_category             := p_information_category;
416   l_rec.information1                     := p_information1;
417   l_rec.information2                     := p_information2;
418   l_rec.information3                     := p_information3;
419   l_rec.information4                     := p_information4;
420   l_rec.information5                     := p_information5;
421   l_rec.information6                     := p_information6;
422   l_rec.information7                     := p_information7;
423   l_rec.information8                     := p_information8;
424   l_rec.information9                     := p_information9;
425   l_rec.information10                    := p_information10;
426   l_rec.information11                    := p_information11;
427   l_rec.information12                    := p_information12;
428   l_rec.information13                    := p_information13;
429   l_rec.information14                    := p_information14;
430   l_rec.information15                    := p_information15;
431   l_rec.information16                    := p_information16;
432   l_rec.information17                    := p_information17;
433   l_rec.information18                    := p_information18;
434   l_rec.information19                    := p_information19;
435   l_rec.information20                    := p_information20;
436   --
437   l_rec.user_role                        := p_user_role;
438   l_rec.assignment_status_type_id        := p_assignment_status_type_id;
439   l_rec.advance_pay                      := p_advance_pay;
440   l_rec.absence_overlap_flag             := p_absence_overlap_flag ;
441   --
442   -- Return the plsql record structure.
443   --
444   Return(l_rec);
445 --
446 End convert_args;
447 --
448 end per_abb_shd;