[Home] [Help]
PACKAGE BODY: APPS.BEN_PRMRY_CARE_PRVDR_API
Source
1 Package Body ben_PRMRY_CARE_PRVDR_api as
2 /* $Header: bepprapi.pkb 120.3 2008/02/22 16:25:28 rtagarra noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(33) := ' ben_PRMRY_CARE_PRVDR_api.';
7 -- ----------------------------------------------------------------------------
8 -- |--------------------< determine_datetrack_mode >---------------------------|
9 -- ----------------------------------------------------------------------------
10
11 procedure determine_datetrack_mode
12 (p_effective_date in date
13 ,p_base_key_value in number
14 ,p_desired_datetrack_mode in varchar2
15 ,p_mini_mode in varchar2
16 ,p_datetrack_allow in out nocopy varchar2
17 )is
18 l_correction boolean;
19 l_update boolean;
20 l_update_override boolean;
21 l_update_change_insert boolean;
22 l_zap boolean;
23 l_delete boolean;
24 l_future_change boolean;
25 l_delete_next_change boolean;
26 l_step number(9);
27 l_proc varchar2(80) := g_package||'determine_datetrack_mode';
28 begin
29 hr_utility.set_location ('Entering '||l_proc,10);
30
31 if p_mini_mode = 'U' then -- update
32
33 ben_ppr_shd.find_dt_upd_modes
34 (p_effective_date => p_effective_date
35 ,p_base_key_value => p_base_key_value
36 ,p_correction => l_correction
37 ,p_update => l_update
38 ,p_update_override => l_update_override
39 ,p_update_change_insert => l_update_change_insert
40 );
41
42 if (p_desired_datetrack_mode = hr_api.g_update and l_update) then
43 p_datetrack_allow := hr_api.g_update;
44 elsif(p_desired_datetrack_mode = hr_api.g_correction and l_correction)then
45 p_datetrack_allow := hr_api.g_correction;
46 elsif(p_desired_datetrack_mode = hr_api.g_update_override
47 and l_update_override) then
48 p_datetrack_allow := hr_api.g_update_override;
49 elsif(p_desired_datetrack_mode = hr_api.g_update_change_insert
50 and l_update_change_insert) then
51 p_datetrack_allow := hr_api.g_update_change_insert;
52 elsif(l_update) then
53 p_datetrack_allow := hr_api.g_update;
54 elsif(l_correction) then
55 p_datetrack_allow := hr_api.g_correction;
56 else
57 fnd_message.set_name('BEN', 'BEN_91700_DATETRACK_NOT_ALWD');
58 fnd_message.set_token('MODE',p_desired_datetrack_mode);
59 fnd_message.raise_error;
60 end if;
61 else -- mini-mode = 'D' for delete
62 ben_ppr_shd.find_dt_del_modes
63 (p_effective_date => p_effective_date
64 ,p_base_key_value => p_base_key_value
65 ,p_zap => l_zap
66 ,p_delete => l_delete
67 ,p_future_change => l_future_change
68 ,p_delete_next_change => l_delete_next_change);
69
70 if (p_desired_datetrack_mode = hr_api.g_delete and l_delete) then
71 p_datetrack_allow := hr_api.g_delete;
72 elsif(p_desired_datetrack_mode = hr_api.g_zap and l_zap)then
73 p_datetrack_allow := hr_api.g_zap;
74 elsif(p_desired_datetrack_mode = hr_api.g_future_change and l_future_change) then
75 p_datetrack_allow := hr_api.g_future_change;
76 elsif(p_desired_datetrack_mode = hr_api.g_delete_next_change
77 and l_delete_next_change) then
78 p_datetrack_allow := hr_api.g_delete_next_change;
79 elsif (l_delete) then
80 p_datetrack_allow := hr_api.g_delete;
81 elsif (l_zap) then
82 p_datetrack_allow := hr_api.g_zap;
83 else
84 fnd_message.set_name('BEN', 'BEN_91700_DATETRACK_NOT_ALWD');
85 fnd_message.set_token('MODE',p_desired_datetrack_mode);
86 fnd_message.raise_error;
87 end if;
88
89 end if;
90
91 hr_utility.set_location ('Leaving '||l_proc,99);
92 Exception
93 when others then
94 raise;
95 end determine_datetrack_mode;
96 --
97 -- ----------------------------------------------------------------------------
98 -- |------------------------< create_PRMRY_CARE_PRVDR >----------------------|
99 -- ----------------------------------------------------------------------------
100 --
101 procedure create_PRMRY_CARE_PRVDR
102 (p_validate in boolean default false
103 ,p_prmry_care_prvdr_id out nocopy number
104 ,p_effective_start_date out nocopy date
105 ,p_effective_end_date out nocopy date
106 ,p_prmry_care_prvdr_typ_cd in varchar2 default null
107 ,p_name in varchar2 default null
108 ,p_ext_ident in varchar2 default null
109 ,p_prtt_enrt_rslt_id in number default null
110 ,p_elig_cvrd_dpnt_id in number default null
111 ,p_business_group_id in number default null
112 ,p_ppr_attribute_category in varchar2 default null
113 ,p_ppr_attribute1 in varchar2 default null
114 ,p_ppr_attribute2 in varchar2 default null
115 ,p_ppr_attribute3 in varchar2 default null
116 ,p_ppr_attribute4 in varchar2 default null
117 ,p_ppr_attribute5 in varchar2 default null
118 ,p_ppr_attribute6 in varchar2 default null
119 ,p_ppr_attribute7 in varchar2 default null
120 ,p_ppr_attribute8 in varchar2 default null
121 ,p_ppr_attribute9 in varchar2 default null
122 ,p_ppr_attribute10 in varchar2 default null
123 ,p_ppr_attribute11 in varchar2 default null
124 ,p_ppr_attribute12 in varchar2 default null
125 ,p_ppr_attribute13 in varchar2 default null
126 ,p_ppr_attribute14 in varchar2 default null
127 ,p_ppr_attribute15 in varchar2 default null
128 ,p_ppr_attribute16 in varchar2 default null
129 ,p_ppr_attribute17 in varchar2 default null
130 ,p_ppr_attribute18 in varchar2 default null
131 ,p_ppr_attribute19 in varchar2 default null
132 ,p_ppr_attribute20 in varchar2 default null
133 ,p_ppr_attribute21 in varchar2 default null
134 ,p_ppr_attribute22 in varchar2 default null
135 ,p_ppr_attribute23 in varchar2 default null
136 ,p_ppr_attribute24 in varchar2 default null
137 ,p_ppr_attribute25 in varchar2 default null
138 ,p_ppr_attribute26 in varchar2 default null
139 ,p_ppr_attribute27 in varchar2 default null
140 ,p_ppr_attribute28 in varchar2 default null
141 ,p_ppr_attribute29 in varchar2 default null
142 ,p_ppr_attribute30 in varchar2 default null
143 ,p_request_id in number default null
144 ,p_program_application_id in number default null
145 ,p_program_id in number default null
146 ,p_program_update_date in date default null
147 ,p_object_version_number out nocopy number
148 ,p_effective_date in date
149 ) is
150 --
151 -- Declare cursors and local variables
152 --
153 l_prmry_care_prvdr_id ben_prmry_care_prvdr_f.prmry_care_prvdr_id%TYPE;
154 l_effective_start_date ben_prmry_care_prvdr_f.effective_start_date%TYPE;
155 l_effective_end_date ben_prmry_care_prvdr_f.effective_end_date%TYPE;
156 l_proc varchar2(72) := g_package||'create_PRMRY_CARE_PRVDR';
157 l_object_version_number ben_prmry_care_prvdr_f.object_version_number%TYPE;
158 --
159 begin
160 --
161 hr_utility.set_location('Entering:'|| l_proc, 10);
162 --
163 -- Issue a savepoint if operating in validation only mode
164 --
165 savepoint create_PRMRY_CARE_PRVDR;
166 --
167 hr_utility.set_location(l_proc, 20);
168 --
169 -- Process Logic
170 --
171 begin
172 --
173 -- Start of API User Hook for the before hook of create_PRMRY_CARE_PRVDR
174 --
175 ben_PRMRY_CARE_PRVDR_bk1.create_PRMRY_CARE_PRVDR_b
176 (
177 p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd
178 ,p_name => p_name
179 ,p_ext_ident => p_ext_ident
180 ,p_prtt_enrt_rslt_id => p_prtt_enrt_rslt_id
181 ,p_elig_cvrd_dpnt_id => p_elig_cvrd_dpnt_id
182 ,p_business_group_id => p_business_group_id
183 ,p_ppr_attribute_category => p_ppr_attribute_category
184 ,p_ppr_attribute1 => p_ppr_attribute1
185 ,p_ppr_attribute2 => p_ppr_attribute2
186 ,p_ppr_attribute3 => p_ppr_attribute3
187 ,p_ppr_attribute4 => p_ppr_attribute4
188 ,p_ppr_attribute5 => p_ppr_attribute5
189 ,p_ppr_attribute6 => p_ppr_attribute6
190 ,p_ppr_attribute7 => p_ppr_attribute7
191 ,p_ppr_attribute8 => p_ppr_attribute8
192 ,p_ppr_attribute9 => p_ppr_attribute9
193 ,p_ppr_attribute10 => p_ppr_attribute10
194 ,p_ppr_attribute11 => p_ppr_attribute11
195 ,p_ppr_attribute12 => p_ppr_attribute12
196 ,p_ppr_attribute13 => p_ppr_attribute13
197 ,p_ppr_attribute14 => p_ppr_attribute14
198 ,p_ppr_attribute15 => p_ppr_attribute15
199 ,p_ppr_attribute16 => p_ppr_attribute16
200 ,p_ppr_attribute17 => p_ppr_attribute17
201 ,p_ppr_attribute18 => p_ppr_attribute18
202 ,p_ppr_attribute19 => p_ppr_attribute19
203 ,p_ppr_attribute20 => p_ppr_attribute20
204 ,p_ppr_attribute21 => p_ppr_attribute21
205 ,p_ppr_attribute22 => p_ppr_attribute22
206 ,p_ppr_attribute23 => p_ppr_attribute23
207 ,p_ppr_attribute24 => p_ppr_attribute24
208 ,p_ppr_attribute25 => p_ppr_attribute25
209 ,p_ppr_attribute26 => p_ppr_attribute26
210 ,p_ppr_attribute27 => p_ppr_attribute27
211 ,p_ppr_attribute28 => p_ppr_attribute28
212 ,p_ppr_attribute29 => p_ppr_attribute29
213 ,p_ppr_attribute30 => p_ppr_attribute30
214 ,p_request_id => p_request_id
215 ,p_program_application_id => p_program_application_id
216 ,p_program_id => p_program_id
217 ,p_program_update_date => p_program_update_date
218 ,p_effective_date => trunc(p_effective_date)
219 );
220 exception
221 when hr_api.cannot_find_prog_unit then
222 hr_api.cannot_find_prog_unit_error
223 (
224 p_module_name => 'CREATE_PRMRY_CARE_PRVDR'
225 ,p_hook_type => 'BP'
226 );
227 --
228 -- End of API User Hook for the before hook of create_PRMRY_CARE_PRVDR
229 --
230 end;
231 --
232 ben_ppr_ins.ins
233 (
234 p_prmry_care_prvdr_id => l_prmry_care_prvdr_id
235 ,p_effective_start_date => l_effective_start_date
236 ,p_effective_end_date => l_effective_end_date
237 ,p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd
238 ,p_name => p_name
239 ,p_ext_ident => p_ext_ident
240 ,p_prtt_enrt_rslt_id => p_prtt_enrt_rslt_id
241 ,p_elig_cvrd_dpnt_id => p_elig_cvrd_dpnt_id
242 ,p_business_group_id => p_business_group_id
243 ,p_ppr_attribute_category => p_ppr_attribute_category
244 ,p_ppr_attribute1 => p_ppr_attribute1
245 ,p_ppr_attribute2 => p_ppr_attribute2
246 ,p_ppr_attribute3 => p_ppr_attribute3
247 ,p_ppr_attribute4 => p_ppr_attribute4
248 ,p_ppr_attribute5 => p_ppr_attribute5
249 ,p_ppr_attribute6 => p_ppr_attribute6
250 ,p_ppr_attribute7 => p_ppr_attribute7
251 ,p_ppr_attribute8 => p_ppr_attribute8
252 ,p_ppr_attribute9 => p_ppr_attribute9
253 ,p_ppr_attribute10 => p_ppr_attribute10
254 ,p_ppr_attribute11 => p_ppr_attribute11
255 ,p_ppr_attribute12 => p_ppr_attribute12
256 ,p_ppr_attribute13 => p_ppr_attribute13
257 ,p_ppr_attribute14 => p_ppr_attribute14
258 ,p_ppr_attribute15 => p_ppr_attribute15
259 ,p_ppr_attribute16 => p_ppr_attribute16
260 ,p_ppr_attribute17 => p_ppr_attribute17
261 ,p_ppr_attribute18 => p_ppr_attribute18
262 ,p_ppr_attribute19 => p_ppr_attribute19
263 ,p_ppr_attribute20 => p_ppr_attribute20
264 ,p_ppr_attribute21 => p_ppr_attribute21
265 ,p_ppr_attribute22 => p_ppr_attribute22
266 ,p_ppr_attribute23 => p_ppr_attribute23
267 ,p_ppr_attribute24 => p_ppr_attribute24
268 ,p_ppr_attribute25 => p_ppr_attribute25
269 ,p_ppr_attribute26 => p_ppr_attribute26
270 ,p_ppr_attribute27 => p_ppr_attribute27
271 ,p_ppr_attribute28 => p_ppr_attribute28
272 ,p_ppr_attribute29 => p_ppr_attribute29
273 ,p_ppr_attribute30 => p_ppr_attribute30
274 ,p_request_id => p_request_id
275 ,p_program_application_id => p_program_application_id
276 ,p_program_id => p_program_id
277 ,p_program_update_date => p_program_update_date
278 ,p_object_version_number => l_object_version_number
279 ,p_effective_date => trunc(p_effective_date)
280 );
281 --
282 -- record an extract change event
283 --
284 ben_ext_chlg.log_pcp_chg
285 (p_action => 'CREATE',
286 p_ext_ident => p_ext_ident,
287 p_name => p_name,
288 p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd,
289 p_prmry_care_prvdr_id => l_prmry_care_prvdr_id,
290 p_elig_cvrd_dpnt_id => p_elig_cvrd_dpnt_id,
291 p_prtt_enrt_rslt_id => p_prtt_enrt_rslt_id,
292 p_business_group_id => p_business_group_id,
293 p_effective_date => p_effective_date);
294
295 -- check for action items
296 pcp_actn_items(
297 p_prtt_enrt_rslt_id => p_prtt_enrt_rslt_id
298 ,p_elig_cvrd_dpnt_id => p_elig_cvrd_dpnt_id
299 ,p_effective_date => p_effective_date
300 ,p_business_group_id => p_business_group_id
301 ,p_validate => p_validate
302 ,p_datetrack_mode => null
303 );
304 begin
305 --
306 -- Start of API User Hook for the after hook of create_PRMRY_CARE_PRVDR
307 --
308 ben_PRMRY_CARE_PRVDR_bk1.create_PRMRY_CARE_PRVDR_a
309 (
310 p_prmry_care_prvdr_id => l_prmry_care_prvdr_id
311 ,p_effective_start_date => l_effective_start_date
312 ,p_effective_end_date => l_effective_end_date
313 ,p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd
314 ,p_name => p_name
315 ,p_ext_ident => p_ext_ident
316 ,p_prtt_enrt_rslt_id => p_prtt_enrt_rslt_id
317 ,p_elig_cvrd_dpnt_id => p_elig_cvrd_dpnt_id
318 ,p_business_group_id => p_business_group_id
319 ,p_ppr_attribute_category => p_ppr_attribute_category
320 ,p_ppr_attribute1 => p_ppr_attribute1
321 ,p_ppr_attribute2 => p_ppr_attribute2
322 ,p_ppr_attribute3 => p_ppr_attribute3
323 ,p_ppr_attribute4 => p_ppr_attribute4
324 ,p_ppr_attribute5 => p_ppr_attribute5
325 ,p_ppr_attribute6 => p_ppr_attribute6
326 ,p_ppr_attribute7 => p_ppr_attribute7
327 ,p_ppr_attribute8 => p_ppr_attribute8
328 ,p_ppr_attribute9 => p_ppr_attribute9
329 ,p_ppr_attribute10 => p_ppr_attribute10
330 ,p_ppr_attribute11 => p_ppr_attribute11
331 ,p_ppr_attribute12 => p_ppr_attribute12
332 ,p_ppr_attribute13 => p_ppr_attribute13
333 ,p_ppr_attribute14 => p_ppr_attribute14
334 ,p_ppr_attribute15 => p_ppr_attribute15
335 ,p_ppr_attribute16 => p_ppr_attribute16
336 ,p_ppr_attribute17 => p_ppr_attribute17
337 ,p_ppr_attribute18 => p_ppr_attribute18
338 ,p_ppr_attribute19 => p_ppr_attribute19
339 ,p_ppr_attribute20 => p_ppr_attribute20
340 ,p_ppr_attribute21 => p_ppr_attribute21
341 ,p_ppr_attribute22 => p_ppr_attribute22
342 ,p_ppr_attribute23 => p_ppr_attribute23
343 ,p_ppr_attribute24 => p_ppr_attribute24
344 ,p_ppr_attribute25 => p_ppr_attribute25
345 ,p_ppr_attribute26 => p_ppr_attribute26
346 ,p_ppr_attribute27 => p_ppr_attribute27
347 ,p_ppr_attribute28 => p_ppr_attribute28
348 ,p_ppr_attribute29 => p_ppr_attribute29
349 ,p_ppr_attribute30 => p_ppr_attribute30
350 ,p_request_id => p_request_id
351 ,p_program_application_id => p_program_application_id
352 ,p_program_id => p_program_id
353 ,p_program_update_date => p_program_update_date
354 ,p_object_version_number => l_object_version_number
355 ,p_effective_date => trunc(p_effective_date)
356 );
357 exception
358 when hr_api.cannot_find_prog_unit then
359 hr_api.cannot_find_prog_unit_error
360 (p_module_name => 'CREATE_PRMRY_CARE_PRVDR'
361 ,p_hook_type => 'AP'
362 );
363 --
364 -- End of API User Hook for the after hook of create_PRMRY_CARE_PRVDR
365 --
366 end;
367 --
368 hr_utility.set_location(l_proc, 60);
369 --
370 -- When in validation only mode raise the Validate_Enabled exception
371 --
372 if p_validate then
373 raise hr_api.validate_enabled;
374 end if;
375 --
376 -- Set all output arguments
377 --
378 p_prmry_care_prvdr_id := l_prmry_care_prvdr_id;
379 p_effective_start_date := l_effective_start_date;
380 p_effective_end_date := l_effective_end_date;
381 p_object_version_number := l_object_version_number;
382 --
383 hr_utility.set_location(' Leaving:'||l_proc, 70);
384 --
385 exception
386 --
387 when hr_api.validate_enabled then
388 --
389 -- As the Validate_Enabled exception has been raised
390 -- we must rollback to the savepoint
391 --
392 ROLLBACK TO create_PRMRY_CARE_PRVDR;
393 --
394 -- Only set output warning arguments
395 -- (Any key or derived arguments must be set to null
396 -- when validation only mode is being used.)
397 --
398 p_prmry_care_prvdr_id := null;
399 p_effective_start_date := null;
400 p_effective_end_date := null;
401 p_object_version_number := null;
402 hr_utility.set_location(' Leaving:'||l_proc, 80);
403 --
404 when others then
405 --
406 -- A validation or unexpected error has occured
407 --
408 ROLLBACK TO create_PRMRY_CARE_PRVDR;
409 raise;
410 --
411 end create_PRMRY_CARE_PRVDR;
412 --
413 -- ----------------------------------------------------------------------------
414 -- |----------------------< create_prmry_care_prvdr_w >-----------------------|
415 -- ----------------------------------------------------------------------------
416 --
417 procedure create_prmry_care_prvdr_w
418 (
419 p_prmry_care_prvdr_id out nocopy number
420 ,p_effective_start_date out nocopy date
421 ,p_effective_end_date out nocopy date
422 ,p_prmry_care_prvdr_typ_cd in varchar2 default null
423 ,p_name in varchar2 default null
424 ,p_ext_ident in varchar2 default null
425 ,p_prtt_enrt_rslt_id in number default null
426 ,p_elig_cvrd_dpnt_id in number default null
427 ,p_business_group_id in number default null
428 ,p_object_version_number out nocopy number
429 ,p_effective_date in date
430 ,p_return_status out nocopy varchar2
431 )
432 is
433
434 --
435 l_proc varchar2(72) := g_package||'create_prmry_care_prvdr_w';
436
437 l_prmry_care_prvdr_id ben_prmry_care_prvdr_f.prmry_care_prvdr_id%TYPE;
438 l_effective_start_date ben_prmry_care_prvdr_f.effective_start_date%TYPE;
439 l_effective_end_date ben_prmry_care_prvdr_f.effective_end_date%TYPE;
440 l_object_version_number ben_prmry_care_prvdr_f.object_version_number%TYPE;
441 --
442 begin
443 --
444 hr_utility.set_location('Entering:'|| l_proc, 10);
445 fnd_msg_pub.initialize;
446
447 create_prmry_care_prvdr
448 (
449 p_prmry_care_prvdr_id => l_prmry_care_prvdr_id
450 ,p_effective_start_date => l_effective_start_date
451 ,p_effective_end_date => l_effective_end_date
452 ,p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd
453 ,p_name => p_name
454 ,p_ext_ident => p_ext_ident
455 ,p_prtt_enrt_rslt_id => p_prtt_enrt_rslt_id
456 ,p_elig_cvrd_dpnt_id => p_elig_cvrd_dpnt_id
457 ,p_business_group_id => p_business_group_id
458 ,p_object_version_number => l_object_version_number
459 ,p_effective_date => p_effective_date
460 );
461 --
462 --
463 -- Set all output arguments
464 --
465 p_prmry_care_prvdr_id := l_prmry_care_prvdr_id;
466 p_effective_start_date := l_effective_start_date;
467 p_effective_end_date := l_effective_end_date;
468 p_object_version_number := l_object_version_number;
469 p_return_status := 'S';
470
471 hr_utility.set_location(' Leaving:'||l_proc, 40);
472 --
473 exception
474 --
475 when others then
476 --
477 -- A validation or unexpected error has occured
478 --
479 hr_utility.set_location('Exception:'|| l_proc, 100);
480 p_prmry_care_prvdr_id := null;
481 p_effective_start_date := null;
482 p_effective_end_date := null;
483 p_object_version_number := null;
484 p_return_status := 'E';
485 fnd_msg_pub.add;
486 --
487 End create_prmry_care_prvdr_w;
488 --
489 -- ----------------------------------------------------------------------------
490 -- |------------------------< update_PRMRY_CARE_PRVDR >--- ------------------|
491 -- ----------------------------------------------------------------------------
492 --
493 procedure update_PRMRY_CARE_PRVDR
494 (p_validate in boolean default false
495 ,p_prmry_care_prvdr_id in number
496 ,p_effective_start_date out nocopy date
497 ,p_effective_end_date out nocopy date
498 ,p_prmry_care_prvdr_typ_cd in varchar2 default hr_api.g_varchar2
499 ,p_name in varchar2 default hr_api.g_varchar2
500 ,p_ext_ident in varchar2 default hr_api.g_varchar2
501 ,p_prtt_enrt_rslt_id in number default hr_api.g_number
502 ,p_elig_cvrd_dpnt_id in number default hr_api.g_number
503 ,p_business_group_id in number default hr_api.g_number
504 ,p_ppr_attribute_category in varchar2 default hr_api.g_varchar2
505 ,p_ppr_attribute1 in varchar2 default hr_api.g_varchar2
506 ,p_ppr_attribute2 in varchar2 default hr_api.g_varchar2
507 ,p_ppr_attribute3 in varchar2 default hr_api.g_varchar2
508 ,p_ppr_attribute4 in varchar2 default hr_api.g_varchar2
509 ,p_ppr_attribute5 in varchar2 default hr_api.g_varchar2
510 ,p_ppr_attribute6 in varchar2 default hr_api.g_varchar2
511 ,p_ppr_attribute7 in varchar2 default hr_api.g_varchar2
512 ,p_ppr_attribute8 in varchar2 default hr_api.g_varchar2
513 ,p_ppr_attribute9 in varchar2 default hr_api.g_varchar2
514 ,p_ppr_attribute10 in varchar2 default hr_api.g_varchar2
515 ,p_ppr_attribute11 in varchar2 default hr_api.g_varchar2
516 ,p_ppr_attribute12 in varchar2 default hr_api.g_varchar2
517 ,p_ppr_attribute13 in varchar2 default hr_api.g_varchar2
518 ,p_ppr_attribute14 in varchar2 default hr_api.g_varchar2
519 ,p_ppr_attribute15 in varchar2 default hr_api.g_varchar2
520 ,p_ppr_attribute16 in varchar2 default hr_api.g_varchar2
521 ,p_ppr_attribute17 in varchar2 default hr_api.g_varchar2
522 ,p_ppr_attribute18 in varchar2 default hr_api.g_varchar2
523 ,p_ppr_attribute19 in varchar2 default hr_api.g_varchar2
524 ,p_ppr_attribute20 in varchar2 default hr_api.g_varchar2
525 ,p_ppr_attribute21 in varchar2 default hr_api.g_varchar2
526 ,p_ppr_attribute22 in varchar2 default hr_api.g_varchar2
527 ,p_ppr_attribute23 in varchar2 default hr_api.g_varchar2
528 ,p_ppr_attribute24 in varchar2 default hr_api.g_varchar2
529 ,p_ppr_attribute25 in varchar2 default hr_api.g_varchar2
530 ,p_ppr_attribute26 in varchar2 default hr_api.g_varchar2
531 ,p_ppr_attribute27 in varchar2 default hr_api.g_varchar2
532 ,p_ppr_attribute28 in varchar2 default hr_api.g_varchar2
533 ,p_ppr_attribute29 in varchar2 default hr_api.g_varchar2
534 ,p_ppr_attribute30 in varchar2 default hr_api.g_varchar2
535 ,p_request_id in number default hr_api.g_number
536 ,p_program_application_id in number default hr_api.g_number
537 ,p_program_id in number default hr_api.g_number
538 ,p_program_update_date in date default hr_api.g_date
539 ,p_object_version_number in out nocopy number
540 ,p_effective_date in date
541 ,p_datetrack_mode in varchar2
542 ) is
543 --
544 -- Declare cursors and local variables
545 --
546 l_proc varchar2(72) := g_package||'update_PRMRY_CARE_PRVDR';
547 l_object_version_number ben_prmry_care_prvdr_f.object_version_number%TYPE;
548 l_effective_start_date ben_prmry_care_prvdr_f.effective_start_date%TYPE;
549 l_effective_end_date ben_prmry_care_prvdr_f.effective_end_date%TYPE;
550 --
551 cursor c_old_pcp_values
552 is
553 select pcp.prmry_care_prvdr_typ_cd,
554 pcp.name,
555 pcp.ext_ident,
556 pcp.prtt_enrt_rslt_id,
557 pcp.elig_cvrd_dpnt_id
558 from ben_prmry_care_prvdr_f pcp
559 where pcp.prmry_care_prvdr_id = p_prmry_care_prvdr_id
560 and p_effective_date between pcp.effective_start_date and pcp.effective_end_date;
561
562 l_old_pcp_values c_old_pcp_values%rowtype;
563 l_datetrack_mode varchar2(80);
564
565 begin
566 hr_utility.set_location('Entering:'|| l_proc, 10);
567 --
568 -- Issue a savepoint if operating in validation only mode
569 --
570 savepoint update_PRMRY_CARE_PRVDR;
571 hr_utility.set_location(l_proc, 20);
572
573 -- added for logging change events for extract
574 open c_old_pcp_values;
575 fetch c_old_pcp_values into l_old_pcp_values;
576 close c_old_pcp_values;
577 --
578 -- Process Logic
579 --
580 l_object_version_number := p_object_version_number;
581
582 determine_datetrack_mode
583 (p_effective_date => p_effective_date
584 ,p_base_key_value => p_prmry_care_prvdr_id
585 ,p_desired_datetrack_mode => p_datetrack_mode
586 ,p_mini_mode => 'U'
587 ,p_datetrack_allow => l_datetrack_mode);
588
589
590 begin
591 --
592 -- Start of API User Hook for the before hook of update_PRMRY_CARE_PRVDR
593 --
594 ben_PRMRY_CARE_PRVDR_bk2.update_PRMRY_CARE_PRVDR_b
595 (
596 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id
597 ,p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd
598 ,p_name => p_name
599 ,p_ext_ident => p_ext_ident
600 ,p_prtt_enrt_rslt_id => p_prtt_enrt_rslt_id
601 ,p_elig_cvrd_dpnt_id => p_elig_cvrd_dpnt_id
602 ,p_business_group_id => p_business_group_id
603 ,p_ppr_attribute_category => p_ppr_attribute_category
604 ,p_ppr_attribute1 => p_ppr_attribute1
605 ,p_ppr_attribute2 => p_ppr_attribute2
606 ,p_ppr_attribute3 => p_ppr_attribute3
607 ,p_ppr_attribute4 => p_ppr_attribute4
608 ,p_ppr_attribute5 => p_ppr_attribute5
609 ,p_ppr_attribute6 => p_ppr_attribute6
610 ,p_ppr_attribute7 => p_ppr_attribute7
611 ,p_ppr_attribute8 => p_ppr_attribute8
612 ,p_ppr_attribute9 => p_ppr_attribute9
613 ,p_ppr_attribute10 => p_ppr_attribute10
614 ,p_ppr_attribute11 => p_ppr_attribute11
615 ,p_ppr_attribute12 => p_ppr_attribute12
616 ,p_ppr_attribute13 => p_ppr_attribute13
617 ,p_ppr_attribute14 => p_ppr_attribute14
618 ,p_ppr_attribute15 => p_ppr_attribute15
619 ,p_ppr_attribute16 => p_ppr_attribute16
620 ,p_ppr_attribute17 => p_ppr_attribute17
621 ,p_ppr_attribute18 => p_ppr_attribute18
622 ,p_ppr_attribute19 => p_ppr_attribute19
623 ,p_ppr_attribute20 => p_ppr_attribute20
624 ,p_ppr_attribute21 => p_ppr_attribute21
625 ,p_ppr_attribute22 => p_ppr_attribute22
626 ,p_ppr_attribute23 => p_ppr_attribute23
627 ,p_ppr_attribute24 => p_ppr_attribute24
628 ,p_ppr_attribute25 => p_ppr_attribute25
629 ,p_ppr_attribute26 => p_ppr_attribute26
630 ,p_ppr_attribute27 => p_ppr_attribute27
631 ,p_ppr_attribute28 => p_ppr_attribute28
632 ,p_ppr_attribute29 => p_ppr_attribute29
633 ,p_ppr_attribute30 => p_ppr_attribute30
634 ,p_request_id => p_request_id
635 ,p_program_application_id => p_program_application_id
636 ,p_program_id => p_program_id
637 ,p_program_update_date => p_program_update_date
638 ,p_object_version_number => p_object_version_number
639 ,p_effective_date => trunc(p_effective_date)
640 ,p_datetrack_mode => l_datetrack_mode
641 );
642 exception
643 when hr_api.cannot_find_prog_unit then
644 hr_api.cannot_find_prog_unit_error
645 (p_module_name => 'UPDATE_PRMRY_CARE_PRVDR'
646 ,p_hook_type => 'BP'
647 );
648 --
649 -- End of API User Hook for the before hook of update_PRMRY_CARE_PRVDR
650 --
651 end;
652 --
653 ben_ppr_upd.upd
654 (
655 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id
656 ,p_effective_start_date => l_effective_start_date
657 ,p_effective_end_date => l_effective_end_date
658 ,p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd
659 ,p_name => p_name
660 ,p_ext_ident => p_ext_ident
661 ,p_prtt_enrt_rslt_id => p_prtt_enrt_rslt_id
662 ,p_elig_cvrd_dpnt_id => p_elig_cvrd_dpnt_id
663 ,p_business_group_id => p_business_group_id
664 ,p_ppr_attribute_category => p_ppr_attribute_category
665 ,p_ppr_attribute1 => p_ppr_attribute1
666 ,p_ppr_attribute2 => p_ppr_attribute2
667 ,p_ppr_attribute3 => p_ppr_attribute3
668 ,p_ppr_attribute4 => p_ppr_attribute4
669 ,p_ppr_attribute5 => p_ppr_attribute5
670 ,p_ppr_attribute6 => p_ppr_attribute6
671 ,p_ppr_attribute7 => p_ppr_attribute7
672 ,p_ppr_attribute8 => p_ppr_attribute8
673 ,p_ppr_attribute9 => p_ppr_attribute9
674 ,p_ppr_attribute10 => p_ppr_attribute10
675 ,p_ppr_attribute11 => p_ppr_attribute11
676 ,p_ppr_attribute12 => p_ppr_attribute12
677 ,p_ppr_attribute13 => p_ppr_attribute13
678 ,p_ppr_attribute14 => p_ppr_attribute14
679 ,p_ppr_attribute15 => p_ppr_attribute15
680 ,p_ppr_attribute16 => p_ppr_attribute16
681 ,p_ppr_attribute17 => p_ppr_attribute17
682 ,p_ppr_attribute18 => p_ppr_attribute18
683 ,p_ppr_attribute19 => p_ppr_attribute19
684 ,p_ppr_attribute20 => p_ppr_attribute20
685 ,p_ppr_attribute21 => p_ppr_attribute21
686 ,p_ppr_attribute22 => p_ppr_attribute22
687 ,p_ppr_attribute23 => p_ppr_attribute23
688 ,p_ppr_attribute24 => p_ppr_attribute24
689 ,p_ppr_attribute25 => p_ppr_attribute25
690 ,p_ppr_attribute26 => p_ppr_attribute26
691 ,p_ppr_attribute27 => p_ppr_attribute27
692 ,p_ppr_attribute28 => p_ppr_attribute28
693 ,p_ppr_attribute29 => p_ppr_attribute29
694 ,p_ppr_attribute30 => p_ppr_attribute30
695 ,p_request_id => p_request_id
696 ,p_program_application_id => p_program_application_id
697 ,p_program_id => p_program_id
698 ,p_program_update_date => p_program_update_date
699 ,p_object_version_number => l_object_version_number
700 ,p_effective_date => trunc(p_effective_date)
701 ,p_datetrack_mode => l_datetrack_mode
702 );
703 --
704 ben_ext_chlg.log_pcp_chg
705 (p_action => 'UPDATE',
706 p_ext_ident => p_ext_ident,
707 p_old_ext_ident => l_old_pcp_values.ext_ident,
708 p_name => p_name,
709 p_old_name => l_old_pcp_values.name,
710 p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd,
711 p_old_prmry_care_prvdr_typ_cd => l_old_pcp_values.prmry_care_prvdr_typ_cd,
712 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id,
713 p_elig_cvrd_dpnt_id => l_old_pcp_values.elig_cvrd_dpnt_id,
714 p_prtt_enrt_rslt_id => l_old_pcp_values.prtt_enrt_rslt_id,
715 p_business_group_id => p_business_group_id,
716 p_effective_date => p_effective_date);
717 --
718 begin
719 --
720 -- Start of API User Hook for the after hook of update_PRMRY_CARE_PRVDR
721 --
722 ben_PRMRY_CARE_PRVDR_bk2.update_PRMRY_CARE_PRVDR_a
723 (
724 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id
725 ,p_effective_start_date => l_effective_start_date
726 ,p_effective_end_date => l_effective_end_date
727 ,p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd
728 ,p_name => p_name
729 ,p_ext_ident => p_ext_ident
730 ,p_prtt_enrt_rslt_id => p_prtt_enrt_rslt_id
731 ,p_elig_cvrd_dpnt_id => p_elig_cvrd_dpnt_id
732 ,p_business_group_id => p_business_group_id
733 ,p_ppr_attribute_category => p_ppr_attribute_category
734 ,p_ppr_attribute1 => p_ppr_attribute1
735 ,p_ppr_attribute2 => p_ppr_attribute2
736 ,p_ppr_attribute3 => p_ppr_attribute3
737 ,p_ppr_attribute4 => p_ppr_attribute4
738 ,p_ppr_attribute5 => p_ppr_attribute5
739 ,p_ppr_attribute6 => p_ppr_attribute6
740 ,p_ppr_attribute7 => p_ppr_attribute7
741 ,p_ppr_attribute8 => p_ppr_attribute8
742 ,p_ppr_attribute9 => p_ppr_attribute9
743 ,p_ppr_attribute10 => p_ppr_attribute10
744 ,p_ppr_attribute11 => p_ppr_attribute11
745 ,p_ppr_attribute12 => p_ppr_attribute12
746 ,p_ppr_attribute13 => p_ppr_attribute13
747 ,p_ppr_attribute14 => p_ppr_attribute14
748 ,p_ppr_attribute15 => p_ppr_attribute15
749 ,p_ppr_attribute16 => p_ppr_attribute16
750 ,p_ppr_attribute17 => p_ppr_attribute17
751 ,p_ppr_attribute18 => p_ppr_attribute18
752 ,p_ppr_attribute19 => p_ppr_attribute19
753 ,p_ppr_attribute20 => p_ppr_attribute20
754 ,p_ppr_attribute21 => p_ppr_attribute21
755 ,p_ppr_attribute22 => p_ppr_attribute22
756 ,p_ppr_attribute23 => p_ppr_attribute23
757 ,p_ppr_attribute24 => p_ppr_attribute24
758 ,p_ppr_attribute25 => p_ppr_attribute25
759 ,p_ppr_attribute26 => p_ppr_attribute26
760 ,p_ppr_attribute27 => p_ppr_attribute27
761 ,p_ppr_attribute28 => p_ppr_attribute28
762 ,p_ppr_attribute29 => p_ppr_attribute29
763 ,p_ppr_attribute30 => p_ppr_attribute30
764 ,p_request_id => p_request_id
765 ,p_program_application_id => p_program_application_id
766 ,p_program_id => p_program_id
767 ,p_program_update_date => p_program_update_date
768 ,p_object_version_number => l_object_version_number
769 ,p_effective_date => trunc(p_effective_date)
770 ,p_datetrack_mode => l_datetrack_mode
771 );
772 exception
773 when hr_api.cannot_find_prog_unit then
774 hr_api.cannot_find_prog_unit_error
775 (p_module_name => 'UPDATE_PRMRY_CARE_PRVDR'
776 ,p_hook_type => 'AP' );
777 --
778 -- End of API User Hook for the after hook of update_PRMRY_CARE_PRVDR
779 --
780 end;
781 --
782 hr_utility.set_location(l_proc, 60);
783 --
784 -- When in validation only mode raise the Validate_Enabled exception
785 --
786 if p_validate then
787 raise hr_api.validate_enabled;
788 end if;
789 --
790 -- Set all output arguments
791 --
792 p_object_version_number := l_object_version_number;
793 p_effective_start_date := l_effective_start_date;
794 p_effective_end_date := l_effective_end_date;
795 --
796 hr_utility.set_location(' Leaving:'||l_proc, 70);
797 --
798 exception
799 --
800 when hr_api.validate_enabled then
801 --
802 -- As the Validate_Enabled exception has been raised
803 -- we must rollback to the savepoint
804 --
805 ROLLBACK TO update_PRMRY_CARE_PRVDR;
806 --
807 -- Only set output warning arguments
808 -- (Any key or derived arguments must be set to null
809 -- when validation only mode is being used.)
810 --
811 hr_utility.set_location(' Leaving:'||l_proc, 80);
812 --
813 when others then
814 --
815 -- A validation or unexpected error has occured
816 --
817 ROLLBACK TO update_PRMRY_CARE_PRVDR;
818 raise;
819 --
820 end update_PRMRY_CARE_PRVDR;
821 --
822 -- ----------------------------------------------------------------------------
823 -- |----------------------< update_prmry_care_prvdr_w >-----------------------|
824 -- ----------------------------------------------------------------------------
825 --
826 procedure update_prmry_care_prvdr_w
827 (
828 p_prmry_care_prvdr_id in number
829 ,p_effective_start_date out nocopy date
830 ,p_effective_end_date out nocopy date
831 ,p_prmry_care_prvdr_typ_cd in varchar2 default hr_api.g_varchar2
832 ,p_name in varchar2 default hr_api.g_varchar2
833 ,p_ext_ident in varchar2 default hr_api.g_varchar2
834 ,p_prtt_enrt_rslt_id in number default hr_api.g_number
835 ,p_elig_cvrd_dpnt_id in number default hr_api.g_number
836 ,p_business_group_id in number default hr_api.g_number
837 ,p_object_version_number in out nocopy number
838 ,p_effective_date in date
839 ,p_datetrack_mode in varchar2
840 ,p_return_status out nocopy varchar2
841 )
842 is
843 --
844 l_proc varchar2(72) := g_package||'update_prmry_care_prvdr_w';
845 l_object_version_number ben_prmry_care_prvdr_f.object_version_number%TYPE;
846 l_effective_start_date ben_prmry_care_prvdr_f.effective_start_date%TYPE;
847 l_effective_end_date ben_prmry_care_prvdr_f.effective_end_date%TYPE;
848 --
849 begin
850 --
851 hr_utility.set_location('Entering:'|| l_proc, 10);
852 fnd_msg_pub.initialize;
853
854 l_object_version_number := p_object_version_number;
855 update_prmry_care_prvdr
856 (
857 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id
858 ,p_effective_start_date => l_effective_start_date
859 ,p_effective_end_date => l_effective_end_date
860 ,p_prmry_care_prvdr_typ_cd => p_prmry_care_prvdr_typ_cd
861 ,p_name => p_name
862 ,p_ext_ident => p_ext_ident
863 ,p_business_group_id => p_business_group_id
864 ,p_object_version_number => l_object_version_number
865 ,p_effective_date => p_effective_date
866 ,p_datetrack_mode => p_datetrack_mode
867 );
868 --
869 -- Set all output arguments
870 --
871 p_object_version_number := l_object_version_number;
872 p_effective_start_date := l_effective_start_date;
873 p_effective_end_date := l_effective_end_date;
874 p_return_status := 'S';
875 --
876 hr_utility.set_location('Leaving:'||l_proc, 40);
877 --
878 exception
879 --
880 when others then
881 --
882 -- A validation or unexpected error has occured
883 --
884 hr_utility.set_location('Exception:'||l_proc, 100);
885 p_effective_start_date := null;
886 p_effective_end_date := null;
887 p_return_status := 'E';
888 fnd_msg_pub.add;
889 --
890 end update_prmry_care_prvdr_w;
891 --
892 -- ----------------------------------------------------------------------------
893 -- |------------------------< delete_PRMRY_CARE_PRVDR >----------------------|
894 -- ----------------------------------------------------------------------------
895 --
896 procedure delete_PRMRY_CARE_PRVDR
897 (p_validate in boolean default false
898 ,p_prmry_care_prvdr_id in number
899 ,p_effective_start_date out nocopy date
900 ,p_effective_end_date out nocopy date
901 ,p_object_version_number in out nocopy number
902 ,p_effective_date in date
903 ,p_datetrack_mode in varchar2
904 ,p_called_from in varchar2
905 ) is
906 --
907 -- Declare cursors and local variables
908 --
909 l_proc varchar2(72) := g_package||'delete_PRMRY_CARE_PRVDR';
910 l_object_version_number ben_prmry_care_prvdr_f.object_version_number%TYPE;
911 l_effective_start_date ben_prmry_care_prvdr_f.effective_start_date%TYPE;
912 l_effective_end_date ben_prmry_care_prvdr_f.effective_end_date%TYPE;
913 l_effective_date date;
914
915 cursor c_old_pcp_values
916 is
917 select pcp.prmry_care_prvdr_typ_cd,
918 pcp.name,
919 pcp.ext_ident,
920 pcp.prtt_enrt_rslt_id,
921 pcp.elig_cvrd_dpnt_id,
922 pcp.business_group_id,
923 pcp.effective_start_date
924 from ben_prmry_care_prvdr_f pcp
925 where pcp.prmry_care_prvdr_id = p_prmry_care_prvdr_id
926 and p_effective_date between pcp.effective_start_date and pcp.effective_end_date;
927
928 l_old_pcp_values c_old_pcp_values%rowtype;
929 l_datetrack_mode varchar2(80);
930 l_desired_dt_mode varchar2(80);
931 begin
932 hr_utility.set_location('Entering:'|| l_proc, 10);
933 --
934 -- Issue a savepoint if operating in validation only mode
935 --
936 savepoint delete_PRMRY_CARE_PRVDR;
937 hr_utility.set_location(l_proc, 20);
938
939 -- added for logging change events for extract
940 open c_old_pcp_values;
941 fetch c_old_pcp_values into l_old_pcp_values;
942 close c_old_pcp_values;
943
944 -- we want to delete as of yesterday so the pcp doesn't show up on the web page
945 -- after it's deleted. But can only change the date if the record didn't
946 -- start on the eff-date passed in.
947 if l_old_pcp_values.effective_start_date <> p_effective_date then
948 l_effective_date := p_effective_date -1;
949 l_desired_dt_mode := p_datetrack_mode;
950 else
951 -- to make the functionality similar when the dates are the same,
952 -- zap the record. This is needed for web functionality. Felt that
953 -- functionality should be same from web and back-office form.
954 l_effective_date := p_effective_date ;
955 l_desired_dt_mode := 'ZAP';
956 end if;
957
958 -- Process Logic
959 l_object_version_number := p_object_version_number;
960
961 determine_datetrack_mode
962 (p_effective_date => l_effective_date
963 ,p_base_key_value => p_prmry_care_prvdr_id
964 ,p_desired_datetrack_mode => l_desired_dt_mode
965 ,p_mini_mode => 'D'
966 ,p_datetrack_allow => l_datetrack_mode);
967
968
969 begin
970 --
971 -- Start of API User Hook for the before hook of delete_PRMRY_CARE_PRVDR
972 --
973 ben_PRMRY_CARE_PRVDR_bk3.delete_PRMRY_CARE_PRVDR_b
974 (
975 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id
976 ,p_object_version_number => p_object_version_number
977 ,p_effective_date => trunc(l_effective_date)
978 ,p_datetrack_mode => l_datetrack_mode
979 );
980 exception
981 when hr_api.cannot_find_prog_unit then
982 hr_api.cannot_find_prog_unit_error
983 (p_module_name => 'DELETE_PRMRY_CARE_PRVDR'
984 ,p_hook_type => 'BP' );
985 --
986 -- End of API User Hook for the before hook of delete_PRMRY_CARE_PRVDR
987 --
988 end;
989 --
990 ben_ppr_del.del
991 (
992 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id
993 ,p_effective_start_date => l_effective_start_date
994 ,p_effective_end_date => l_effective_end_date
995 ,p_object_version_number => l_object_version_number
996 ,p_effective_date => l_effective_date
997 ,p_datetrack_mode => l_datetrack_mode
998 );
999 --
1000 -- write to the extract change log
1001 --
1002 ben_ext_chlg.log_pcp_chg
1003 (p_action => 'DELETE',
1004 p_old_ext_ident => l_old_pcp_values.ext_ident,
1005 p_old_name => l_old_pcp_values.name,
1006 p_old_prmry_care_prvdr_typ_cd => l_old_pcp_values.prmry_care_prvdr_typ_cd,
1007 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id,
1008 p_elig_cvrd_dpnt_id => l_old_pcp_values.elig_cvrd_dpnt_id,
1009 p_prtt_enrt_rslt_id => l_old_pcp_values.prtt_enrt_rslt_id,
1010 p_business_group_id => l_old_pcp_values.business_group_id,
1011 p_effective_date => l_effective_date);
1012 -- 4879576
1013 /*hr_utility.set_location('SSARKAR l_old_pcp_values.prtt_enrt_rslt_id '|| l_old_pcp_values.prtt_enrt_rslt_id,99099);
1014 hr_utility.set_location('SSARKAR l_old_pcp_values.elig_cvrd_dpnt_id '|| l_old_pcp_values.elig_cvrd_dpnt_id,99099);
1015 hr_utility.set_location('SSARKAR l_effective_date '|| l_effective_date,99099);
1016 hr_utility.set_location('SSARKAR l_old_pcp_values.business_group_id '|| l_old_pcp_values.business_group_id,99099);
1017 hr_utility.set_location('SSARKAR l_datetrack_mode '|| l_datetrack_mode,99099);
1018 */
1019 if p_called_from is null then
1020 pcp_actn_items(
1021 p_prtt_enrt_rslt_id => l_old_pcp_values.prtt_enrt_rslt_id
1022 ,p_elig_cvrd_dpnt_id => l_old_pcp_values.elig_cvrd_dpnt_id
1023 ,p_effective_date => l_effective_date
1024 ,p_business_group_id => l_old_pcp_values.business_group_id
1025 ,p_validate => p_validate
1026 ,p_datetrack_mode => l_datetrack_mode
1027 );
1028 end if;
1029 -- END 4879576
1030 begin
1031 --
1032 -- Start of API User Hook for the after hook of delete_PRMRY_CARE_PRVDR
1033 --
1034 ben_PRMRY_CARE_PRVDR_bk3.delete_PRMRY_CARE_PRVDR_a
1035 (
1036 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id
1037 ,p_effective_start_date => l_effective_start_date
1038 ,p_effective_end_date => l_effective_end_date
1039 ,p_object_version_number => l_object_version_number
1040 ,p_effective_date => trunc(l_effective_date)
1041 ,p_datetrack_mode => l_datetrack_mode
1042 );
1043 exception
1044 when hr_api.cannot_find_prog_unit then
1045 hr_api.cannot_find_prog_unit_error
1046 (p_module_name => 'DELETE_PRMRY_CARE_PRVDR'
1047 ,p_hook_type => 'AP'
1048 );
1049 --
1050 -- End of API User Hook for the after hook of delete_PRMRY_CARE_PRVDR
1051 --
1052 end;
1053 --
1054 hr_utility.set_location(l_proc, 60);
1055 --
1056 -- When in validation only mode raise the Validate_Enabled exception
1057 --
1058 if p_validate then
1059 raise hr_api.validate_enabled;
1060 end if;
1061 --
1062 hr_utility.set_location(' Leaving:'||l_proc, 70);
1063 --
1064 exception
1065 --
1066 when hr_api.validate_enabled then
1067 --
1068 -- As the Validate_Enabled exception has been raised
1069 -- we must rollback to the savepoint
1070 --
1071 ROLLBACK TO delete_PRMRY_CARE_PRVDR;
1072 --
1073 -- Only set output warning arguments
1074 -- (Any key or derived arguments must be set to null
1075 -- when validation only mode is being used.)
1076 --
1077 p_effective_start_date := null;
1078 p_effective_end_date := null;
1079 --
1080 when others then
1081 --
1082 -- A validation or unexpected error has occured
1083 --
1084 ROLLBACK TO delete_PRMRY_CARE_PRVDR;
1085 raise;
1086 --
1087 end delete_PRMRY_CARE_PRVDR;
1088 --
1089 -- ----------------------------------------------------------------------------
1090 -- |----------------------< delete_prmry_care_prvdr_w >-----------------------|
1091 -- ----------------------------------------------------------------------------
1092 procedure delete_prmry_care_prvdr_w
1093 (
1094 p_prmry_care_prvdr_id in number
1095 ,p_effective_start_date out nocopy date
1096 ,p_effective_end_date out nocopy date
1097 ,p_object_version_number in out nocopy number
1098 ,p_effective_date in date
1099 ,p_datetrack_mode in varchar2
1100 ,p_return_status out nocopy varchar2
1101 )
1102 is
1103
1104 l_proc varchar2(72) := g_package||'delete_prmry_care_prvdr_w';
1105 l_object_version_number ben_prmry_care_prvdr_f.object_version_number%TYPE;
1106 l_effective_start_date ben_prmry_care_prvdr_f.effective_start_date%TYPE;
1107 l_effective_end_date ben_prmry_care_prvdr_f.effective_end_date%TYPE;
1108 --
1109 begin
1110 --
1111 hr_utility.set_location('Entering:'|| l_proc, 10);
1112 fnd_msg_pub.initialize;
1113 --
1114 l_object_version_number := p_object_version_number;
1115
1116 delete_prmry_care_prvdr
1117 (
1118 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id
1119 ,p_effective_start_date => l_effective_start_date
1120 ,p_effective_end_date => l_effective_end_date
1121 ,p_object_version_number => l_object_version_number
1122 ,p_effective_date => p_effective_date
1123 ,p_datetrack_mode => p_datetrack_mode
1124 );
1125 --
1126 p_effective_start_date := l_effective_start_date;
1127 p_effective_end_date := l_effective_end_date;
1128 p_object_version_number := l_object_version_number;
1129 p_return_status := 'S';
1130 --
1131 hr_utility.set_location(' Leaving:'||l_proc, 40);
1132 --
1133 exception
1134 --
1135 when others then
1136 --
1137 -- A validation or unexpected error has occured
1138 --
1139 hr_utility.set_location('Exception:'||l_proc, 100);
1140 p_effective_start_date := null;
1141 p_effective_end_date := null;
1142 p_return_status := 'E';
1143 fnd_msg_pub.add;
1144 --
1145 end delete_prmry_care_prvdr_w;
1146 --
1147 -- ----------------------------------------------------------------------------
1148 -- |-------------------------------< lck >------------------------------------|
1149 -- ----------------------------------------------------------------------------
1150 --
1151 procedure lck
1152 (
1153 p_prmry_care_prvdr_id in number
1154 ,p_object_version_number in number
1155 ,p_effective_date in date
1156 ,p_datetrack_mode in varchar2
1157 ,p_validation_start_date out nocopy date
1158 ,p_validation_end_date out nocopy date
1159 ) is
1160 --
1161 --
1162 -- Declare cursors and local variables
1163 --
1164 l_proc varchar2(72) := g_package||'lck';
1165 l_validation_start_date date;
1166 l_validation_end_date date;
1167 --
1168 begin
1169 --
1170 hr_utility.set_location('Entering:'|| l_proc, 10);
1171 --
1172 ben_ppr_shd.lck
1173 (
1174 p_prmry_care_prvdr_id => p_prmry_care_prvdr_id
1175 ,p_validation_start_date => l_validation_start_date
1176 ,p_validation_end_date => l_validation_end_date
1177 ,p_object_version_number => p_object_version_number
1178 ,p_effective_date => p_effective_date
1179 ,p_datetrack_mode => p_datetrack_mode
1180 );
1181 --
1182 hr_utility.set_location(' Leaving:'||l_proc, 70);
1183 --
1184 end lck;
1185 --
1186 -- ----------------------------------------------------------------------------
1187 -- |-------------------------------< pcp_actn_items >--------------------------
1188 -- ----------------------------------------------------------------------------
1189 --
1190 procedure pcp_actn_items
1191 (
1192 p_prtt_enrt_rslt_id in number
1193 ,p_elig_cvrd_dpnt_id in number
1194 ,p_effective_date in date
1195 ,p_business_group_id in number
1196 ,p_validate in boolean default false
1197 ,p_datetrack_mode in varchar2
1198 ) is
1199 --
1200 l_proc varchar2(72) := g_package||'dpnt_actn_items';
1201 l_prtt_enrt_rslt_id number(15);
1202 l_business_group_id number(15);
1203 l_rslt_object_version_number number(9);
1204 l_suspend_flag varchar2(30);
1205 l_pcp_actn_warning boolean;
1206 l_pcp_dpnt_actn_warning boolean;
1207 --
1208 cursor get_rslt_id_c is
1209 select ecd.prtt_enrt_rslt_id,
1210 ecd.business_group_id
1211 from ben_elig_cvrd_dpnt_f ecd
1212 where ecd.elig_cvrd_dpnt_id = p_elig_cvrd_dpnt_id
1213 and p_effective_date between ecd.effective_start_date
1214 and ecd.effective_end_date;
1215 --
1216 cursor get_rslt_ovn_c is
1217 select pen.object_version_number,
1218 pen.sspndd_flag
1219 from ben_prtt_enrt_rslt_f pen
1220 where pen.prtt_enrt_rslt_id = l_prtt_enrt_rslt_id
1221 and pen.prtt_enrt_rslt_stat_cd is null
1222 and pen.business_group_id = l_business_group_id
1223 and p_effective_date
1224 between pen.effective_start_date and pen.effective_end_date;
1225 --
1226 begin
1227 --
1228 hr_utility.set_location('Entering:'|| l_proc, 10);
1229 --
1230 if p_prtt_enrt_rslt_id is null or
1231 p_business_group_id is null then
1232 open get_rslt_id_c;
1233 fetch get_rslt_id_c into l_prtt_enrt_rslt_id,
1234 l_business_group_id;
1235 close get_rslt_id_c;
1236 if l_prtt_enrt_rslt_id is not null then
1237 open get_rslt_ovn_c;
1238 fetch get_rslt_ovn_c into l_rslt_object_version_number,
1239 l_suspend_flag;
1240 close get_rslt_ovn_c;
1241 end if;
1242 ben_enrollment_action_items.process_pcp_dpnt_actn_items(
1243 p_prtt_enrt_rslt_id => l_prtt_enrt_rslt_id
1244 ,p_rslt_object_version_number => l_rslt_object_version_number
1245 ,p_effective_date => trunc(p_effective_date)
1246 ,p_business_group_id => l_business_group_id
1247 ,p_validate => FALSE
1248 ,p_datetrack_mode => p_datetrack_mode
1249 ,p_suspend_flag => l_suspend_flag
1250 ,p_pcp_dpnt_actn_warning => l_pcp_dpnt_actn_warning
1251 );
1252 else
1253 l_prtt_enrt_rslt_id := p_prtt_enrt_rslt_id;
1254 l_business_group_id := p_business_group_id;
1255 if l_prtt_enrt_rslt_id is not null then
1256 open get_rslt_ovn_c;
1257 fetch get_rslt_ovn_c into l_rslt_object_version_number,
1258 l_suspend_flag;
1259 close get_rslt_ovn_c;
1260 end if;
1261 ben_enrollment_action_items.process_pcp_actn_items(
1262 p_prtt_enrt_rslt_id => l_prtt_enrt_rslt_id
1263 ,p_rslt_object_version_number => l_rslt_object_version_number
1264 ,p_effective_date => trunc(p_effective_date)
1265 ,p_business_group_id => l_business_group_id
1266 ,p_validate => FALSE
1267 ,p_datetrack_mode => p_datetrack_mode
1268 ,p_suspend_flag => l_suspend_flag
1269 ,p_pcp_actn_warning => l_pcp_actn_warning
1270 );
1271 end if;
1272 --
1273 --
1274 hr_utility.set_location('Exiting:'|| l_proc, 40);
1275 --
1276 --
1277 end pcp_actn_items;
1278 --
1279 end ben_PRMRY_CARE_PRVDR_api;