DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_CTR_SHD

Source


4 -- ----------------------------------------------------------------------------
1 Package Body per_ctr_shd as
2 /* $Header: pectrrhi.pkb 120.5.12020000.3 2013/02/04 11:16:16 srannama ship $ */
3 --
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package  varchar2(33) := '  per_ctr_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------< return_api_dml_status >-------------------------|
12 -- ----------------------------------------------------------------------------
13 Function return_api_dml_status Return Boolean Is
14 --
15   l_proc    varchar2(72) := g_package||'return_api_dml_status';
16 --
17 Begin
18   hr_utility.set_location('Entering:'||l_proc, 5);
19   --
20   Return (nvl(g_api_dml, false));
21   --
22   hr_utility.set_location(' Leaving:'||l_proc, 10);
23 End return_api_dml_status;
24 --
25 -- ----------------------------------------------------------------------------
26 -- |---------------------------< constraint_error >---------------------------|
27 -- ----------------------------------------------------------------------------
28 Procedure constraint_error
29             (p_constraint_name in all_constraints.constraint_name%TYPE) Is
30 --
31   l_proc    varchar2(72) := g_package||'constraint_error';
32 --
33 Begin
34   hr_utility.set_location('Entering:'||l_proc, 5);
35   --
36   If (p_constraint_name = 'P.ER_CONTACT_RELATIONSHIPS_FK1') Then
37     hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
38     hr_utility.raise_error;
39   ElsIf (p_constraint_name = 'PER_CONTACT_RELATIONSHIPS_PK') Then
40     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
41     hr_utility.raise_error;
42   ElsIf (p_constraint_name = 'PER_CONT_BONDHOLDER_FLAG_CHK') Then
43     hr_utility.set_message(801, 'HR_51386_CTR_INV_BONDHLD_FLAG');
44     hr_utility.raise_error;
45   ElsIf (p_constraint_name = 'PER_CONT_PRIMARY_CONTACT_F_CHK') Then
49     hr_utility.set_message(801, 'PER_52379_RLTD_PER_DSGNTR_FLAG');
46     hr_utility.set_message(801, 'HR_51388_CTR_INV_P_CONT_FLAG');
47     hr_utility.raise_error;
48   ElsIf (p_constraint_name = 'PER_CONT_RLTD_PER_DSGNTR_F_CHK') Then
50     hr_utility.raise_error;
51   Elsif (p_constraint_name = 'PER_CONT_PERSONAL_F_CHK') Then
52     hr_utility.set_message(801,'PER_52406_PERSONAL_FLAG');
53     hr_utility.raise_error;
54   Elsif (p_constraint_name = 'PER_CONT_DEPENDENT_FLAG_CHK') then
55     hr_utility.set_message(801,'PER_51387_CTR_INV_DEPEND_FLAG');
56     hr_utility.raise_error;
57   Elsif (p_constraint_name = 'PER_CONT_BENEFICIARY_FLAG_CHK') then
58     hr_utility.set_message(801,'PER_51385_CTR_INVALID_BEN_FLAG');
59     hr_utility.raise_error;
60   Else
61     hr_utility.set_message(801, 'HR_7877_API_INVALID_CONSTRAINT');
62     hr_utility.set_message_token('PROCEDURE', l_proc);
63     hr_utility.set_message_token('CONSTRAINT_NAME', p_constraint_name);
64     hr_utility.raise_error;
65   End If;
66   --
67   hr_utility.set_location(' Leaving:'||l_proc, 10);
68 End constraint_error;
69 --
70 -- ----------------------------------------------------------------------------
71 -- |-----------------------------< api_updating >-----------------------------|
72 -- ----------------------------------------------------------------------------
73 Function api_updating
74   (
75   p_contact_relationship_id            in number,
76   p_object_version_number              in number
77   )      Return Boolean Is
78 --
79   --
80   -- Cursor selects the 'current' row from the HR Schema
81   --
82   Cursor C_Sel1 is
83     select
84    contact_relationship_id,
85    business_group_id,
86    person_id,
87    contact_person_id,
88    contact_type,
89    comments,
90    primary_contact_flag,
91    request_id,
92    program_application_id,
93    program_id,
94    program_update_date,
95         date_start,
96         start_life_reason_id,
97         date_end,
98         end_life_reason_id,
99         rltd_per_rsds_w_dsgntr_flag,
100         personal_flag,
101    sequence_number,
102         cont_attribute_category,
103    cont_attribute1,
104    cont_attribute2,
105    cont_attribute3,
106    cont_attribute4,
107    cont_attribute5,
108    cont_attribute6,
109    cont_attribute7,
110    cont_attribute8,
111    cont_attribute9,
112    cont_attribute10,
113    cont_attribute11,
114    cont_attribute12,
115    cont_attribute13,
116    cont_attribute14,
117    cont_attribute15,
118    cont_attribute16,
119    cont_attribute17,
120    cont_attribute18,
121    cont_attribute19,
122    cont_attribute20,
123         cont_information_category,
124    cont_information1,
125    cont_information2,
126    cont_information3,
127    cont_information4,
128    cont_information5,
129    cont_information6,
130    cont_information7,
131    cont_information8,
132    cont_information9,
133    cont_information10,
134    cont_information11,
135    cont_information12,
136    cont_information13,
137    cont_information14,
138    cont_information15,
139    cont_information16,
140    cont_information17,
141    cont_information18,
142    cont_information19,
143    cont_information20,
144    third_party_pay_flag,
145    bondholder_flag,
146         dependent_flag,
147         beneficiary_flag,
148    object_version_number
149 --
150     from per_contact_relationships
151     where   contact_relationship_id = p_contact_relationship_id;
152 --
153   l_proc varchar2(72)   := g_package||'api_updating';
154   l_fct_ret boolean;
155 --
156 Begin
157   hr_utility.set_location('Entering:'||l_proc, 5);
158   --
159   If (
160    p_contact_relationship_id is null and
161    p_object_version_number is null
162      ) Then
163     --
164     -- One of the primary key arguments is null therefore we must
165     -- set the returning function value to false
166     --
167     l_fct_ret := false;
168   Else
169     If (
170    p_contact_relationship_id = g_old_rec.contact_relationship_id and
171    p_object_version_number = g_old_rec.object_version_number
172        ) Then
173       hr_utility.set_location(l_proc, 10);
174       --
175       -- The g_old_rec is current therefore we must
176       -- set the returning function to true
177       --
178       l_fct_ret := true;
179     Else
180       --
181       -- Select the current row into g_old_rec
182       --
183       Open C_Sel1;
184       Fetch C_Sel1 Into g_old_rec;
185       If C_Sel1%notfound Then
186         Close C_Sel1;
187         --
188         -- The primary key is invalid therefore we must error
189         --
190         hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
191         hr_utility.raise_error;
192       End If;
193       Close C_Sel1;
194       If (p_object_version_number <> g_old_rec.object_version_number) Then
195         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
196         hr_utility.raise_error;
197       End If;
198       hr_utility.set_location(l_proc, 15);
199       l_fct_ret := true;
200     End If;
201   End If;
202   hr_utility.set_location(' Leaving:'||l_proc, 20);
203   Return (l_fct_ret);
204 --
205 End api_updating;
206 --
210 Procedure lck
207 -- ----------------------------------------------------------------------------
208 -- |---------------------------------< lck >----------------------------------|
209 -- ----------------------------------------------------------------------------
211   (
212   p_contact_relationship_id            in number,
213   p_object_version_number              in number
214   ) is
215 --
216 -- Cursor selects the 'current' row from the HR Schema
217 --
218   Cursor C_Sel1 is
219     select  contact_relationship_id,
220    business_group_id,
221    person_id,
222    contact_person_id,
223    contact_type,
224    comments,
225    primary_contact_flag,
226    request_id,
227    program_application_id,
228    program_id,
229    program_update_date,
230         date_start,
231         start_life_reason_id,
232         date_end,
233         end_life_reason_id,
234         rltd_per_rsds_w_dsgntr_flag,
235         personal_flag,
236    sequence_number,
237         cont_attribute_category,
238    cont_attribute1,
239    cont_attribute2,
240    cont_attribute3,
241    cont_attribute4,
242    cont_attribute5,
243    cont_attribute6,
244    cont_attribute7,
245    cont_attribute8,
246    cont_attribute9,
247    cont_attribute10,
248    cont_attribute11,
249    cont_attribute12,
250    cont_attribute13,
251    cont_attribute14,
252    cont_attribute15,
253    cont_attribute16,
254    cont_attribute17,
255    cont_attribute18,
256    cont_attribute19,
257    cont_attribute20,
258         cont_information_category,
259    cont_information1,
260    cont_information2,
261    cont_information3,
262    cont_information4,
263    cont_information5,
264    cont_information6,
265    cont_information7,
266    cont_information8,
267    cont_information9,
268    cont_information10,
269    cont_information11,
270    cont_information12,
271    cont_information13,
272    cont_information14,
273    cont_information15,
274    cont_information16,
275    cont_information17,
276    cont_information18,
277    cont_information19,
278    cont_information20,
279    third_party_pay_flag,
280    bondholder_flag,
281         dependent_flag,
282         beneficiary_flag,
283    object_version_number
284 
285     from per_contact_relationships
286     where   contact_relationship_id = p_contact_relationship_id
287     for  update nowait;
288 --
289   l_proc varchar2(72) := g_package||'lck';
290 --
291 Begin
292   hr_utility.set_location('Entering:'||l_proc, 5);
293   --
294   -- Add any mandatory argument checking here:
295   -- Example:
296   -- hr_api.mandatory_arg_error
297   --   (p_api_name       => l_proc,
298   --    p_argument       => 'object_version_number',
299   --    p_argument_value => p_object_version_number);
300   --
301   Open  C_Sel1;
302   Fetch C_Sel1 Into g_old_rec;
303   If C_Sel1%notfound then
304     Close C_Sel1;
305     --
306     -- The primary key is invalid therefore we must error
307     --
308     hr_utility.set_message(801, 'HR_7220_INVALID_PRIMARY_KEY');
309     hr_utility.raise_error;
310   End If;
311   Close C_Sel1;
312   If (p_object_version_number <> g_old_rec.object_version_number) Then
313         hr_utility.set_message(801, 'HR_7155_OBJECT_INVALID');
314         hr_utility.raise_error;
315       End If;
316 --
317   hr_utility.set_location(' Leaving:'||l_proc, 10);
318 --
319 -- We need to trap the ORA LOCK exception
320 --
321 Exception
322   When HR_Api.Object_Locked then
323     --
324     -- The object is locked therefore we need to supply a meaningful
325     -- error message.
326     --
327     hr_utility.set_message(801, 'HR_7165_OBJECT_LOCKED');
328     hr_utility.set_message_token('TABLE_NAME', 'per_contact_relationships');
329     hr_utility.raise_error;
330 End lck;
331 --
332 -- ----------------------------------------------------------------------------
333 -- |-----------------------------< convert_args >-----------------------------|
334 -- ----------------------------------------------------------------------------
335 Function convert_args
336    (
337    p_contact_relationship_id       in number,
338    p_business_group_id             in number,
339    p_person_id                     in number,
340    p_contact_person_id             in number,
341    p_contact_type                  in varchar2,
342    p_comments                      in clob,	-- Bug#13362792
343    p_primary_contact_flag          in varchar2,
344    p_request_id                    in number,
345    p_program_application_id        in number,
346    p_program_id                    in number,
347    p_program_update_date           in date,
348         p_date_start                    in date,
349         p_start_life_reason_id          in number,
350         p_date_end                      in date,
351         p_end_life_reason_id            in number,
352         p_rltd_per_rsds_w_dsgntr_flag   in varchar2,
353         p_personal_flag                 in varchar2,
354    p_sequence_number               in number,
355    p_cont_attribute_category       in varchar2,
356    p_cont_attribute1               in varchar2,
357    p_cont_attribute2               in varchar2,
358    p_cont_attribute3               in varchar2,
362    p_cont_attribute7               in varchar2,
359    p_cont_attribute4               in varchar2,
360    p_cont_attribute5               in varchar2,
361    p_cont_attribute6               in varchar2,
363    p_cont_attribute8               in varchar2,
364    p_cont_attribute9               in varchar2,
365    p_cont_attribute10              in varchar2,
366    p_cont_attribute11              in varchar2,
367    p_cont_attribute12              in varchar2,
368    p_cont_attribute13              in varchar2,
369    p_cont_attribute14              in varchar2,
370    p_cont_attribute15              in varchar2,
371    p_cont_attribute16              in varchar2,
372    p_cont_attribute17              in varchar2,
373    p_cont_attribute18              in varchar2,
374    p_cont_attribute19              in varchar2,
375    p_cont_attribute20              in varchar2,
376    p_cont_information_category       in varchar2,
377    p_cont_information1               in varchar2,
378    p_cont_information2               in varchar2,
379    p_cont_information3               in varchar2,
380    p_cont_information4               in varchar2,
381    p_cont_information5               in varchar2,
382    p_cont_information6               in varchar2,
383    p_cont_information7               in varchar2,
384    p_cont_information8               in varchar2,
385    p_cont_information9               in varchar2,
386    p_cont_information10              in varchar2,
387    p_cont_information11              in varchar2,
388    p_cont_information12              in varchar2,
389    p_cont_information13              in varchar2,
390    p_cont_information14              in varchar2,
391    p_cont_information15              in varchar2,
392    p_cont_information16              in varchar2,
393    p_cont_information17              in varchar2,
394    p_cont_information18              in varchar2,
395    p_cont_information19              in varchar2,
396    p_cont_information20              in varchar2,
397    p_third_party_pay_flag          in varchar2,
398    p_bondholder_flag               in varchar2,
399         p_dependent_flag                in varchar2,
400         p_beneficiary_flag              in varchar2,
401    p_object_version_number         in number
402         )
403    Return g_rec_type is
404 --
405   l_rec    g_rec_type;
406   l_proc  varchar2(72) := g_package||'convert_args';
407 --
408 Begin
409   --
410   hr_utility.set_location('Entering:'||l_proc, 5);
411   --
412   -- Convert arguments into local l_rec structure.
413   --
414   l_rec.contact_relationship_id          := p_contact_relationship_id;
415   l_rec.business_group_id                := p_business_group_id;
416   l_rec.person_id                        := p_person_id;
417   l_rec.contact_person_id                := p_contact_person_id;
418   l_rec.contact_type                     := p_contact_type;
419   l_rec.comments                         := p_comments;
420   l_rec.primary_contact_flag             := p_primary_contact_flag;
421   l_rec.request_id                       := p_request_id;
422   l_rec.program_application_id           := p_program_application_id;
423   l_rec.program_id                       := p_program_id;
424   l_rec.program_update_date              := p_program_update_date;
425   l_rec.date_start                       := p_date_start;
426   l_rec.start_life_reason_id             := p_start_life_reason_id;
427   l_rec.date_end                         := p_date_end;
428   l_rec.end_life_reason_id               := p_end_life_reason_id;
429   l_rec.rltd_per_rsds_w_dsgntr_flag      := p_rltd_per_rsds_w_dsgntr_flag;
430   l_rec.personal_flag                    := p_personal_flag;
431   l_rec.sequence_number                  := p_sequence_number;
432   l_rec.cont_attribute_category          := p_cont_attribute_category;
433   l_rec.cont_attribute1                  := p_cont_attribute1;
434   l_rec.cont_attribute2                  := p_cont_attribute2;
435   l_rec.cont_attribute3                  := p_cont_attribute3;
436   l_rec.cont_attribute4                  := p_cont_attribute4;
437   l_rec.cont_attribute5                  := p_cont_attribute5;
438   l_rec.cont_attribute6                  := p_cont_attribute6;
439   l_rec.cont_attribute7                  := p_cont_attribute7;
440   l_rec.cont_attribute8                  := p_cont_attribute8;
441   l_rec.cont_attribute9                  := p_cont_attribute9;
442   l_rec.cont_attribute10                 := p_cont_attribute10;
443   l_rec.cont_attribute11                 := p_cont_attribute11;
444   l_rec.cont_attribute12                 := p_cont_attribute12;
445   l_rec.cont_attribute13                 := p_cont_attribute13;
446   l_rec.cont_attribute14                 := p_cont_attribute14;
447   l_rec.cont_attribute15                 := p_cont_attribute15;
448   l_rec.cont_attribute16                 := p_cont_attribute16;
449   l_rec.cont_attribute17                 := p_cont_attribute17;
450   l_rec.cont_attribute18                 := p_cont_attribute18;
451   l_rec.cont_attribute19                 := p_cont_attribute19;
452   l_rec.cont_attribute20                 := p_cont_attribute20;
453   l_rec.cont_information_category          := p_cont_information_category;
454   l_rec.cont_information1                  := p_cont_information1;
455   l_rec.cont_information2                  := p_cont_information2;
456   l_rec.cont_information3                  := p_cont_information3;
457   l_rec.cont_information4                  := p_cont_information4;
458   l_rec.cont_information5                  := p_cont_information5;
459   l_rec.cont_information6                  := p_cont_information6;
460   l_rec.cont_information7                  := p_cont_information7;
461   l_rec.cont_information8                  := p_cont_information8;
462   l_rec.cont_information9                  := p_cont_information9;
463   l_rec.cont_information10                 := p_cont_information10;
464   l_rec.cont_information11                 := p_cont_information11;
465   l_rec.cont_information12                 := p_cont_information12;
466   l_rec.cont_information13                 := p_cont_information13;
467   l_rec.cont_information14                 := p_cont_information14;
468   l_rec.cont_information15                 := p_cont_information15;
469   l_rec.cont_information16                 := p_cont_information16;
470   l_rec.cont_information17                 := p_cont_information17;
471   l_rec.cont_information18                 := p_cont_information18;
472   l_rec.cont_information19                 := p_cont_information19;
473   l_rec.cont_information20                 := p_cont_information20;
474   l_rec.third_party_pay_flag             := p_third_party_pay_flag;
475   l_rec.bondholder_flag                  := p_bondholder_flag;
476   l_rec.dependent_flag                   := p_dependent_flag;
477   l_rec.beneficiary_flag                 := p_beneficiary_flag;
478   l_rec.object_version_number            := p_object_version_number;
479   --
480   --
481   -- Return the plsql record structure.
482   --
483   hr_utility.set_location(' Leaving:'||l_proc, 10);
484   Return(l_rec);
485 --
486 End convert_args;
487 --
488 end per_ctr_shd;