[Home] [Help]
PACKAGE BODY: APPS.BEN_EFC_VALIDATION
Source
1 package body ben_efc_validation as
2 /* $Header: beefcval.pkb 120.0.12010000.4 2008/08/05 14:23:49 ubhat ship $ */
3 --
4 /*
5 +==============================================================================+
6 | Copyright (c) 1997 Oracle Corporation |
7 | Redwood Shores, California, USA |
8 | All rights reserved. |
9 +==============================================================================+
10 --
11 History
12 Version Date Author Comments
13 --------- --------- ---------- --------------------------------------------
14 115.0 12-Jul-01 mhoyes Created.
15 115.1 26-Jul-01 mhoyes Enhanced for Patchset E+ patch.
16 115.2 13-Aug-01 mhoyes Enhanced for Patchset E+ patch.
17 115.3 14-Aug-01 mhoyes Removed patch checking.
18 115.4 31-Aug-01 mhoyes Enhanced for BEN July patch.
19 115.5 13-Sep-01 mhoyes Enhanced for BEN July patch.
20 115.7 17-Sep-01 mhoyes Raised error for batch ranges.
21 115.8 28-Sep-01 mhoyes Enhanced for BEN patchset F.
22 115.9 05-Mar-02 mhoyes - Fixed bug 2252610. Weakened vaildation
23 to exclude online benmgle and extract
24 benefit actions.
25 115.10 13-Mar-02 ikasire UTF8 Changes
26 115.11 14-mar-02 ikasire GSCC error
27 115.12 16-Feb-06 rbingi Bug5042850: Checking only for Unprocessed actual person
28 rows eliminating with non_person_cd is null
29 115.14 03-Nov-06 rtagarra Bug 5049253 : Changed Phases.
30 115.15 13-Nov-06 rtagarra Closed the worker and updated the step to C_RECAL from
31 C_UPDATE.
32 -----------------------------------------------------------------------------
33 */
34 --
35 -- Globals.
36 --
37 g_package varchar2(50) := 'ben_efc_validation.';
38 --
39 procedure adjust_validation
40 (p_worker_id in number default null
41 ,p_total_workers in number default null
42 ,p_ent_scode in varchar2 default null
43 --
44 ,p_disp_private in boolean default false
45 ,p_disp_succeeds in boolean default false
46 ,p_disp_exclusions in boolean default false
47 --
48 ,p_valworker_id in number default null
49 ,p_valtotal_workers in number default null
50 --
51 ,p_multithread_substep in number default null
52 --
53 ,p_business_group_id in number default null
54 )
55 is
56 --
57 l_proc varchar2(1000) := 'adjust_validation';
58 --
59 l_adjustment_counts ben_efc_adjustments.g_adjustment_counts;
60 --
61 l_bftid_va benutils.g_number_table := benutils.g_number_table();
62 l_bftprdt_va benutils.g_date_table := benutils.g_date_table();
63 l_bftmdcd_va benutils.g_v2_30_table := benutils.g_v2_30_table();
64 l_pgmid_va benutils.g_number_table := benutils.g_number_table();
65 l_bftdfflg_va benutils.g_v2_30_table := benutils.g_v2_30_table();
66 l_bftcuflg_va benutils.g_v2_30_table := benutils.g_v2_30_table();
67 l_bftnprflg_va benutils.g_v2_30_table := benutils.g_v2_30_table();
68 l_bftnplflg_va benutils.g_v2_30_table := benutils.g_v2_30_table();
69 l_bftvlflg_va benutils.g_v2_30_table := benutils.g_v2_30_table();
70 l_cnt_va benutils.g_number_table := benutils.g_number_table();
71 --
72 l_fixbftid_va benutils.g_number_table := benutils.g_number_table();
73 --
74 l_action_id number;
75 l_bgp_id number;
76 l_chunk number;
77 l_efc_component_id number;
78 --
79 l_proccomp_name varchar2(100);
80 --
81 l_pk1 number;
82 l_pk2 date;
83 l_pk3 date;
84 l_status varchar2(1);
85 l_pk2char varchar2(2000) := '' ; -- UTF8 varchar2(100) := '';
86 l_pk3char varchar2(2000) := '' ; -- UTF8 varchar2(100) := '';
87 l_pk4char varchar2(2000) := '' ; -- UTF8 varchar2(100) := '';
88 l_pk5char varchar2(2000) := '' ; -- UTF8 varchar2(100) := '';
89 l_efc_worker_id number;
90 l_worker_id number;
91 l_total_workers number;
92 l_rcu_action_id number;
93 --
94 l_modify boolean;
95 l_validation boolean;
96 l_upbatrow_count number;
97 --
98 l_table varchar2(100);
99 l_bft_cnt pls_integer;
100 l_bftext_cnt pls_integer;
101 l_extract boolean;
102 --
103 /*
104 CURSOR csr_find_batch_ranges
105 (c_bg IN NUMBER
106 )
107 IS
108 SELECT count(*)
109 FROM ben_batch_ranges bbr,
110 ben_benefit_actions bft
111 WHERE bbr.benefit_action_id = bft.benefit_action_id
112 and bft.business_group_id = c_bg
113 and bbr.range_status_cd = 'U'
114 group by bbr.benefit_action_id;
115 */
116 -- Bug 5042850, non_person_cd is NN tells its not actually the person row
117 CURSOR csr_find_batch_ranges
118 (c_bg IN NUMBER
119 )
120 IS
121 SELECT bft.benefit_action_id,
122 bft.process_date,
123 bft.mode_cd,
124 bft.pgm_id,
125 bft.derivable_factors_flag,
126 bft.close_uneai_flag,
127 bft.no_programs_flag,
128 bft.no_plans_flag,
129 bft.validate_flag,
130 count(*)
131 FROM ben_person_actions act,
132 ben_benefit_actions bft
133 WHERE act.benefit_action_id = bft.benefit_action_id
134 and bft.business_group_id = c_bg
135 and act.ACTION_STATUS_CD = 'U'
136 and act.non_person_cd is null -- Bug 5042850
137 group by bft.benefit_action_id,
138 bft.process_date,
139 bft.mode_cd,
140 bft.pgm_id,
141 bft.derivable_factors_flag,
142 bft.close_uneai_flag,
143 bft.no_programs_flag,
144 bft.no_plans_flag,
145 bft.validate_flag
146 having count(*) > 1
147 order by bft.benefit_action_id desc;
148 --
149 cursor c_getexrsltdets
150 (c_eff_date date
151 ,c_bgp_id number
152 ,c_ext_dfn_id number
153 )
154 is
155 select rst.ext_rslt_id
156 from ben_ext_rslt rst
157 where rst.eff_dt = c_eff_date
158 and rst.business_group_id = c_bgp_id
159 and rst.ext_dfn_id = c_ext_dfn_id;
160 --
161 l_getexrsltdets c_getexrsltdets%rowtype;
162 --
163 begin
164 --
165 hr_general.g_data_migrator_mode := 'Y';
166 --
167 l_modify := FALSE;
168 l_validation := FALSE;
169 --
170 -- Running in standalone mode with no actions
171 --
172 if p_business_group_id is not null then
173 --
174 hr_efc_info.insert_line('-- ');
175 hr_efc_info.insert_line
176 ('-- Re-calculating/adjusting in validate mode with no actions ');
177 hr_efc_info.insert_line('-- ');
178 --
179 l_action_id := null;
180 l_pk1 := null;
181 l_chunk := null;
182 l_efc_worker_id := null;
183 l_bgp_id := p_business_group_id;
184 l_worker_id := null;
185 l_total_workers := null;
186 l_validation := TRUE;
187 --
188 --
189 -- Running in validation mode with actions
190 --
191 elsif p_worker_id is null
192 and p_total_workers is null
193 then
194 --
195 hr_efc_info.get_action_details
196 (l_action_id
197 ,l_bgp_id
198 ,l_chunk
199 );
200 --
201 l_pk1 := null;
202 l_chunk := null;
203 l_efc_worker_id := null;
204 l_worker_id := null;
205 l_total_workers := null;
206 l_validation := TRUE;
207 --
208 --
209 -- Running in conversion mode with actions
210 --
211 else
212 --
213 if p_multithread_substep is not null then
214 --
215 hr_efc_info.insert_line('-- ');
216 hr_efc_info.insert_line
217 ('-- Re-calculating/adjusting converted monetary values phase '||p_multithread_substep);
218 hr_efc_info.insert_line('-- ');
219 --
220 if p_multithread_substep = 10 then
221 --
222 l_table := 'ben_elig_per_f';
223 l_proccomp_name := 'beadjefu';
224
225 --
226 elsif p_multithread_substep = 20 then
227 --
228 l_table := 'ben_enrt_prem';
229 l_proccomp_name := 'beaj1efu';
230
231 --
232 elsif p_multithread_substep = 30 then
233 --
234 l_table := 'ben_enrt_rt';
235 l_proccomp_name := 'beaj2efu';
236
237 --
238 elsif p_multithread_substep = 40 then
239 --
240 l_table := 'ben_prtt_rt_val';
241 l_proccomp_name := 'beaj3efu';
242
243 --
244 elsif p_multithread_substep = 50 then
245 --
246 l_table := 'pay_element_entry_values_f';
247 l_proccomp_name := 'beaj4efu';
248 --
249 end if;
250 --
251 else
252 --
253 hr_efc_info.insert_line('-- ');
254 hr_efc_info.insert_line
255 ('-- Re-calculating/adjusting converted monetary values for all phases ');
256 hr_efc_info.insert_line('-- ');
257 --
258 l_table := 'ALLTABS';
259 l_proccomp_name := 'beadjust';
260
261 --
262 end if;
263 --
264 l_worker_id := p_worker_id;
265 l_total_workers := p_total_workers;
266 -- l_proccomp_name := 'beadjust';
267 --
268 hr_efc_info.get_action_details
269 (l_action_id
270 ,l_bgp_id
271 ,l_chunk
272 );
273 --
274 -- First processor only - insert a row into the HR_EFC_PROCESS_COMPONENTS
275 -- table (procedure includes locking so that only 1 row is inserted)
276 --
277 hr_efc_info.insert_or_select_comp_row
278 (p_action_id => l_action_id
279 ,p_process_component_name => l_proccomp_name
280 ,p_table_name => l_table
281 ,p_total_workers => l_total_workers
282 ,p_worker_id => l_worker_id
283 ,p_step => 'C_RECAL'
284 ,p_sub_step => p_multithread_substep
285 ,p_process_component_id => l_efc_component_id
286 );
287 --
288 -- Call procedure to check if this worker has already started (will detect
289 -- if this worker has been restarted).
290 --
291 hr_efc_info.insert_or_select_worker_row
292 (p_process_component_id => l_efc_component_id
293 ,p_process_component_name => l_proccomp_name
294 ,p_action_id => l_action_id
295 ,p_worker_number => l_worker_id
296 --
297 ,p_pk1 => l_pk1
298 ,p_pk2 => l_pk2char
299 ,p_pk3 => l_pk3char
300 ,p_pk4 => l_pk4char
301 ,p_pk5 => l_pk5char
302 ,p_status => l_status
303 --
304 ,p_efc_worker_id => l_efc_worker_id
305 );
306 --
307 l_modify := TRUE;
308 --
309 end if;
310 --
311 -- Remove all exclusions for the EFC action
312 --
313 delete from ben_efc_exclusions
314 where efc_action_id = l_action_id;
315 --
316 -- Check for validate mode
317 --
318 l_rcu_action_id := l_action_id;
319 --
320 if l_validation then
321 --
322 -- Need to nullify action id in validate mode to avoid action
323 -- specific validation
324 --
325 l_action_id := null;
326 --
327 end if;
328 --
329 -- Only validate the batch ranges in validation mode
330 --
331 if p_multithread_substep is null
332 and p_ent_scode = 'BFT'
333 then
334 --
335 -- Check for unprocessed batch ranges
336 --
337 hr_efc_info.insert_line('-- ');
338 hr_efc_info.insert_line('-- Check for uncomplete benefit actions in BEN_BENEFIT_ACTIONS table...');
339 hr_efc_info.insert_line('-- ');
340 --
341 OPEN csr_find_batch_ranges(l_bgp_id);
342 FETCH csr_find_batch_ranges BULK COLLECT INTO l_bftid_va,
343 l_bftprdt_va,
344 l_bftmdcd_va,
345 l_pgmid_va,
346 l_bftdfflg_va,
347 l_bftcuflg_va,
348 l_bftnprflg_va,
349 l_bftnplflg_va,
350 l_bftvlflg_va,
351 l_cnt_va;
352 CLOSE csr_find_batch_ranges;
353 --
354 if l_bftid_va.count > 0 then
355 --
356 l_bft_cnt := 0;
357 l_bftext_cnt := 0;
358 --
359 for elenum in l_bftid_va.first..l_bftid_va.last
360 loop
361 --
362 l_extract := FALSE;
363 --
364 if l_bft_cnt = 20 then
365 --
366 exit;
367 --
368 end if;
369 --
370 -- Exclude out extracts
371 --
372 if l_bftmdcd_va(elenum) = 'S'
373 and l_pgmid_va(elenum) is not null
374 and l_bftdfflg_va(elenum) = 'N'
375 and l_bftcuflg_va(elenum) = 'N'
376 and l_bftnprflg_va(elenum) = 'N'
377 and l_bftnplflg_va(elenum) = 'N'
378 and l_bftvlflg_va(elenum) = 'N'
379 then
380 --
381 -- Check if an extract result exists
382 --
383 open c_getexrsltdets
384 (c_eff_date => l_bftprdt_va(elenum)
385 ,c_bgp_id => l_bgp_id
386 ,c_ext_dfn_id => l_pgmid_va(elenum)
387 );
388 fetch c_getexrsltdets into l_getexrsltdets;
389 if c_getexrsltdets%found then
390 --
391 l_bftext_cnt := l_bftext_cnt+1;
392 l_extract := TRUE;
393 --
394 else
395 --
396 l_extract := FALSE;
397 --
398 end if;
399 close c_getexrsltdets;
400 --
401 else
402 --
403 l_extract := FALSE;
404 --
405 end if;
406 --
407 if not l_extract then
408 --
409 if l_bft_cnt = 0
410 then
411 --
412 hr_efc_info.insert_line('-- Uncompleted batch information identified for the following');
413 hr_efc_info.insert_line('-- rows in ben_benefit_actions ');
414 hr_efc_info.insert_line('-- ');
415 hr_efc_info.insert_line('-- Benefit Action ID /Mode Cd /Process date /Person Action Count');
416 hr_efc_info.insert_line('-- ');
417 --
418 end if;
419 --
420 hr_efc_info.insert_line('-- '||l_bftid_va(elenum)
421 ||' /'||l_bftmdcd_va(elenum)
422 ||' /'||l_bftprdt_va(elenum)
423 ||' /'||l_cnt_va(elenum)
424 );
425 --
426 l_fixbftid_va.extend(1);
427 l_fixbftid_va(l_bft_cnt+1) := l_bftid_va(elenum);
428 l_bft_cnt := l_bft_cnt+1;
429 --
430 end if;
431 --
432 end loop;
433 --
434 if l_bft_cnt > 0 then
435 --
436 hr_efc_info.insert_line('-- ');
437 hr_efc_info.insert_line('-- The uncompleted benefit actions above need to be resolved. Use ');
438 hr_efc_info.insert_line('-- the restart process to complete. ');
439 hr_efc_info.insert_line('-- ');
440 --
441 hr_efc_info.g_efc_error_app := 805;
442 hr_efc_info.g_efc_error_message := 'BEN_92694_EFC_UNPROC_RANGES';
443 --
444 else
445 --
446 hr_efc_info.insert_line('-- ');
447 hr_efc_info.insert_line('-- Detected '||l_bftext_cnt||' Extracts. ');
448 hr_efc_info.insert_line('-- No Actions required ');
449 hr_efc_info.insert_line('-- ');
450 --
451 end if;
452 --
453 END IF;
454 --
455 end if;
456 --
457 if nvl(p_multithread_substep,10) = 10 then
458 --
459 -- Only call the rounding code upgrade for adjustments
460 --
461 if p_multithread_substep is not null then
462 --
463 -- Upgrade rounding codes
464 --
465 -- Action is required in validate mode to perform the
466 -- backup of the rounding codes.
467 --
468 -- We only need to backup the rounding codes for the first
469 -- thread.
470 --
471 ben_efc_rndg_cd_upgrade.upgrade_rounding_codes
472 (p_business_group_id => l_bgp_id
473 ,p_action_id => l_rcu_action_id
474 ,p_modify => l_modify
475 );
476 --
477 end if;
478 --
479 if p_ent_scode is null
480 or p_ent_scode = 'PEP'
481 then
482 --
483 ben_efc_adjustments.pep_adjustments
484 (p_validate => FALSE
485 ,p_worker_id => p_worker_id
486 ,p_action_id => l_action_id
487 ,p_total_workers => p_total_workers
488
489 ,p_pk1 => l_pk1
490 ,p_chunk => l_chunk
491 ,p_efc_worker_id => l_efc_worker_id
492 --
493 ,p_valworker_id => p_valworker_id
494 ,p_valtotal_workers => p_valtotal_workers
495 --
496 ,p_business_group_id => l_bgp_id
497 --
498 ,p_adjustment_counts => l_adjustment_counts
499 );
500 --
501 if l_validation then
502 --
503 ben_efc_reporting.DisplayEFCInfo
504 (p_ent_scode => 'PEP'
505 ,p_efc_action_id => l_action_id
506 ,p_adjustment_counts => l_adjustment_counts
507 --
508 ,p_disp_private => p_disp_private
509 ,p_disp_succeeds => p_disp_succeeds
510 ,p_disp_exclusions => p_disp_exclusions
511 --
512 ,p_rcoerr_val_set => ben_efc_adjustments.g_pep_rcoerr_val_set
513 ,p_failed_adj_val_set => ben_efc_adjustments.g_pep_failed_adj_val_set
514 ,p_fatal_error_val_set => ben_efc_adjustments.g_pep_fatal_error_val_set
515 ,p_success_val_set => ben_efc_adjustments.g_pep_success_adj_val_set
516 );
517 --
518 end if;
519 --
520 end if;
521 --
522 if p_ent_scode is null
523 or p_ent_scode = 'EPO'
524 then
525 --
526 ben_efc_adjustments.epo_adjustments
527 (p_validate => FALSE
528 ,p_worker_id => p_worker_id
529 ,p_action_id => l_action_id
530 ,p_total_workers => p_total_workers
531
532 ,p_pk1 => l_pk1
533 ,p_chunk => l_chunk
534 ,p_efc_worker_id => l_efc_worker_id
535 --
536 ,p_valworker_id => p_valworker_id
537 ,p_valtotal_workers => p_valtotal_workers
538 --
539 ,p_business_group_id => l_bgp_id
540 --
541 ,p_adjustment_counts => l_adjustment_counts
542 );
543 --
544 if l_validation then
545 --
546 ben_efc_reporting.DisplayEFCInfo
547 (p_ent_scode => 'EPO'
548 ,p_efc_action_id => l_action_id
549 ,p_adjustment_counts => l_adjustment_counts
550 --
551 ,p_disp_private => p_disp_private
552 ,p_disp_succeeds => p_disp_succeeds
553 ,p_disp_exclusions => p_disp_exclusions
554 --
555 ,p_rcoerr_val_set => ben_efc_adjustments.g_epo_rcoerr_val_set
556 ,p_failed_adj_val_set => ben_efc_adjustments.g_epo_failed_adj_val_set
557 ,p_fatal_error_val_set => ben_efc_adjustments.g_epo_fatal_error_val_set
558 ,p_success_val_set => ben_efc_adjustments.g_epo_success_adj_val_set
559 );
560 --
561 end if;
562 --
563 end if;
564 --
565 if p_ent_scode is null
566 or p_ent_scode = 'ENB'
567 then
568 --
569 ben_efc_adjustments.enb_adjustments
570 (p_validate => FALSE
571 ,p_worker_id => p_worker_id
572 ,p_action_id => l_action_id
573 ,p_total_workers => p_total_workers
574
575 ,p_pk1 => l_pk1
576 ,p_chunk => l_chunk
577 ,p_efc_worker_id => l_efc_worker_id
578 --
579 ,p_valworker_id => p_valworker_id
580 ,p_valtotal_workers => p_valtotal_workers
581 --
582 ,p_business_group_id => l_bgp_id
583 --
584 ,p_adjustment_counts => l_adjustment_counts
585 );
586 --
587 if l_validation then
588 --
589 ben_efc_reporting.DisplayEFCInfo
590 (p_ent_scode => 'ENB'
591 ,p_efc_action_id => l_action_id
592 ,p_adjustment_counts => l_adjustment_counts
593 --
594 ,p_disp_private => p_disp_private
595 ,p_disp_succeeds => p_disp_succeeds
596 ,p_disp_exclusions => p_disp_exclusions
597 --
598 ,p_rcoerr_val_set => ben_efc_adjustments.g_enb_rcoerr_val_set
599 ,p_failed_adj_val_set => ben_efc_adjustments.g_enb_failed_adj_val_set
600 ,p_fatal_error_val_set => ben_efc_adjustments.g_enb_fatal_error_val_set
601 ,p_success_val_set => ben_efc_adjustments.g_enb_success_adj_val_set
602 );
603 --
604 end if;
605 --
606 end if;
607 --
608 end if;
609 --
610 if nvl(p_multithread_substep,20) = 20 then
611 --
612 if p_ent_scode is null
613 or p_ent_scode = 'EPR'
614 then
615 --
616 ben_efc_adjustments.epr_adjustments
617 (p_validate => FALSE
618 ,p_worker_id => p_worker_id
619 ,p_action_id => l_action_id
620 ,p_total_workers => p_total_workers
621
622 ,p_pk1 => l_pk1
623 ,p_chunk => l_chunk
624 ,p_efc_worker_id => l_efc_worker_id
625 --
626 ,p_valworker_id => p_valworker_id
627 ,p_valtotal_workers => p_valtotal_workers
628 --
629 ,p_business_group_id => l_bgp_id
630 --
631 ,p_adjustment_counts => l_adjustment_counts
632 );
633 --
634 if l_validation then
635 --
636 ben_efc_reporting.DisplayEFCInfo
637 (p_ent_scode => 'EPR'
638 ,p_efc_action_id => l_action_id
639 ,p_adjustment_counts => l_adjustment_counts
640 --
641 ,p_disp_private => p_disp_private
642 ,p_disp_succeeds => p_disp_succeeds
643 ,p_disp_exclusions => p_disp_exclusions
644 --
645 ,p_rcoerr_val_set => ben_efc_adjustments.g_epr_rcoerr_val_set
646 ,p_failed_adj_val_set => ben_efc_adjustments.g_epr_failed_adj_val_set
647 ,p_fatal_error_val_set => ben_efc_adjustments.g_epr_fatal_error_val_set
648 ,p_success_val_set => ben_efc_adjustments.g_epr_success_adj_val_set
649 );
650 --
651 end if;
652 --
653 end if;
654 --
655 end if;
656 --
657 if nvl(p_multithread_substep,30) = 30 then
658 --
659 if p_ent_scode is null
660 or p_ent_scode = 'ECR'
661 then
662 --
663 ben_efc_adjustments.ecr_adjustments
664 (p_validate => FALSE
665 ,p_worker_id => p_worker_id
666 ,p_action_id => l_action_id
667 ,p_total_workers => p_total_workers
668
669 ,p_pk1 => l_pk1
670 ,p_chunk => l_chunk
671 ,p_efc_worker_id => l_efc_worker_id
672 --
673 ,p_valworker_id => p_valworker_id
674 ,p_valtotal_workers => p_valtotal_workers
675 --
676 ,p_business_group_id => l_bgp_id
677 --
678 ,p_adjustment_counts => l_adjustment_counts
679 );
680 --
681 if l_validation then
682 --
683 ben_efc_reporting.DisplayEFCInfo
684 (p_ent_scode => 'ECR'
685 ,p_efc_action_id => l_action_id
686 ,p_adjustment_counts => l_adjustment_counts
687 --
688 ,p_disp_private => p_disp_private
689 ,p_disp_succeeds => p_disp_succeeds
690 ,p_disp_exclusions => p_disp_exclusions
691 --
692 ,p_rcoerr_val_set => ben_efc_adjustments.g_ecr_rcoerr_val_set
693 ,p_failed_adj_val_set => ben_efc_adjustments.g_ecr_failed_adj_val_set
694 ,p_fatal_error_val_set => ben_efc_adjustments.g_ecr_fatal_error_val_set
695 ,p_success_val_set => ben_efc_adjustments.g_ecr_success_adj_val_set
696 );
697 --
698 end if;
699 --
700 end if;
701 --
702 end if;
703 --
704 if nvl(p_multithread_substep,40) = 40 then
705 --
706 if p_ent_scode is null
707 or p_ent_scode = 'PRV'
708 then
709 --
710 ben_efc_adjustments1.prv_adjustments
711 (p_validate => FALSE
712 ,p_worker_id => p_worker_id
713 ,p_action_id => l_action_id
714 ,p_total_workers => p_total_workers
715
716 ,p_pk1 => l_pk1
717 ,p_chunk => l_chunk
718 ,p_efc_worker_id => l_efc_worker_id
719 --
720 ,p_valworker_id => p_valworker_id
721 ,p_valtotal_workers => p_valtotal_workers
722 --
723 ,p_business_group_id => l_bgp_id
724 --
725 ,p_adjustment_counts => l_adjustment_counts
726 );
727 --
728 if l_validation then
729 --
730 ben_efc_reporting.DisplayEFCInfo
731 (p_ent_scode => 'PRV'
732 ,p_efc_action_id => l_action_id
733 ,p_adjustment_counts => l_adjustment_counts
734 --
735 ,p_disp_private => p_disp_private
736 ,p_disp_succeeds => p_disp_succeeds
737 ,p_disp_exclusions => p_disp_exclusions
738 --
739 ,p_rcoerr_val_set => ben_efc_adjustments.g_prv_rcoerr_val_set
740 ,p_failed_adj_val_set => ben_efc_adjustments.g_prv_failed_adj_val_set
741 ,p_fatal_error_val_set => ben_efc_adjustments.g_prv_fatal_error_val_set
742 ,p_success_val_set => ben_efc_adjustments.g_prv_success_adj_val_set
743 );
744 --
745 end if;
746 --
747 end if;
748 --
749 end if;
750 --
751 if nvl(p_multithread_substep,50) = 50 then
752 --
753 if p_ent_scode is null
754 or p_ent_scode = 'EEV'
755 then
756 --
757 ben_efc_adjustments1.eev_adjustments
758 (p_validate => FALSE
759 ,p_worker_id => p_worker_id
760 ,p_action_id => l_action_id
761 ,p_total_workers => p_total_workers
762
763 ,p_pk1 => l_pk1
764 ,p_chunk => l_chunk
765 ,p_efc_worker_id => l_efc_worker_id
766 --
767 ,p_valworker_id => p_valworker_id
768 ,p_valtotal_workers => p_valtotal_workers
769 --
770 ,p_business_group_id => l_bgp_id
771 --
772 ,p_adjustment_counts => l_adjustment_counts
773 );
774 --
775 if l_validation then
776 --
777 ben_efc_reporting.DisplayEFCInfo
778 (p_ent_scode => 'EEV'
779 ,p_efc_action_id => l_action_id
780 ,p_adjustment_counts => l_adjustment_counts
781 --
782 ,p_disp_private => p_disp_private
783 ,p_disp_succeeds => p_disp_succeeds
784 ,p_disp_exclusions => p_disp_exclusions
785 --
786 ,p_rcoerr_val_set => ben_efc_adjustments.g_eev_rcoerr_val_set
787 ,p_failed_adj_val_set => ben_efc_adjustments.g_eev_failed_adj_val_set
788 ,p_fatal_error_val_set => ben_efc_adjustments.g_eev_fatal_error_val_set
789 ,p_success_val_set => ben_efc_adjustments.g_eev_success_adj_val_set
790 );
791 --
792 end if;
793 --
794 end if;
795 --
796 if p_ent_scode is null
797 or p_ent_scode = 'BPL'
798 then
799 --
800 ben_efc_adjustments1.bpl_adjustments
801 (p_validate => FALSE
802 ,p_worker_id => p_worker_id
803 ,p_action_id => l_action_id
804 ,p_total_workers => p_total_workers
805
806 ,p_pk1 => l_pk1
807 ,p_chunk => l_chunk
808 ,p_efc_worker_id => l_efc_worker_id
809 --
810 ,p_valworker_id => p_valworker_id
811 ,p_valtotal_workers => p_valtotal_workers
812 --
813 ,p_business_group_id => l_bgp_id
814 --
815 ,p_adjustment_counts => l_adjustment_counts
816 );
817 --
818 if l_validation then
819 --
820 ben_efc_reporting.DisplayEFCInfo
821 (p_ent_scode => 'BPL'
822 ,p_efc_action_id => l_action_id
823 ,p_adjustment_counts => l_adjustment_counts
824 --
825 ,p_disp_private => p_disp_private
826 ,p_disp_succeeds => p_disp_succeeds
827 ,p_disp_exclusions => p_disp_exclusions
828 --
829 ,p_rcoerr_val_set => ben_efc_adjustments.g_bpl_rcoerr_val_set
830 ,p_failed_adj_val_set => ben_efc_adjustments.g_bpl_failed_adj_val_set
831 ,p_fatal_error_val_set => ben_efc_adjustments.g_bpl_fatal_error_val_set
832 ,p_success_val_set => ben_efc_adjustments.g_bpl_success_adj_val_set
833 );
834 --
835 end if;
836 --
837 end if;
838 --
839 end if;
840
841
842
843 hr_efc_info.complete_worker_row
844 (p_efc_worker_id => l_efc_worker_id
845 ,p_pk1 => l_pk1
846 );
847
848 commit;
849
850
851
852 --
853 end adjust_validation;
854 --
855 end ben_efc_validation;