[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;