DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_PGN_SHD

Source


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