[Home] [Help]
PACKAGE BODY: APPS.BEN_EXT_FMT
Source
1 Package Body ben_ext_fmt as
2 /* $Header: benxfrmt.pkb 120.21 2007/09/05 02:25:53 tjesumic ship $ */
3 --
4 --
5 -- ----------------------------------------------------------------------------
6 -- | Private Global Definitions |
7 -- ----------------------------------------------------------------------------
8 --
9 g_debug boolean := hr_utility.debug_enabled;
10 g_package varchar2(33) := ' ben_ext_fmt.'; -- Global package name
11 g_val_def valtabtyp := valtabtyp(null,null,null,null,null,null,null,null,null,null,
12 null,null,null,null,null,null,null,null,null,null,
13 null,null,null,null,null,null,null,null,null,null,
14 null,null,null,null,null,null,null,null,null,null,
15 null,null,null,null,null,null,null,null,null,null,
16 null,null,null,null,null,null,null,null,null,null,
17 null,null,null,null,null,null,null,null,null,null,
18 null,null,null,null,null,null,null,null,null,null,
19 null,null,null,null,null,null,null,null,null,null,
20 null,null,null,null,null,null,null,null,null,null,
21 null,null,null,null,null,null,null,null,null,null,
22 null,null,null,null,null,null,null,null,null,null,
23 null,null,null,null,null,null,null,null,null,null,
24 null,null,null,null,null,null,null,null,null,null,
25 null,null,null,null,null,null,null,null,null,null,
26 null,null,null,null,null,null,null,null,null,null,
27 null,null,null,null,null,null,null,null,null,null,
28 null,null,null,null,null,null,null,null,null,null,
29 null,null,null,null,null,null,null,null,null,null,
30 null,null,null,null,null,null,null,null,null,null,
31 null,null,null,null,null,null,null,null,null,null,
32 null,null,null,null,null,null,null,null,null,null,
33 null,null,null,null,null,null,null,null,null,null,
34 null,null,null,null,null,null,null,null,null,null,
35 null,null,null,null,null,null,null,null,null,null,
36 null,null,null,null,null,null,null,null,null,null,
37 null,null,null,null,null,null,null,null,null,null,
38 null,null,null,null,null,null,null,null,null,null,
39 null,null,null,null,null,null,null,null,null,null,
40 null,null,null,null,null,null,null,null,null,null
41 );
42
43 g_rqd_elmt_is_present varchar2(1);
44
45 TYPE t_number IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
46 TYPE t_varchar2_30 IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
47 TYPE t_varchar2_600 IS TABLE OF VARCHAR2(600) INDEX BY BINARY_INTEGER;
48
49
50 -- ------------------------------------------------------------------
51 -- |------------------------< get_pay_balance >----------------|
52 -- ------------------------------------------------------------------
53
54 function get_pay_balance ( p_defined_balance_id in number
55 ,p_assignment_id in number
56 ,p_effective_date in date
57 ,p_business_group_id in number
58 )
59 return varchar2 is
60
61
62 cursor c_leg is
63 select LEGISLATION_CODE
64 from per_business_groups_perf
65 where business_group_id = p_business_group_id
66 ;
67
68
69
70 l_LEGISLATION_CODE per_business_groups.LEGISLATION_CODE%type ;
71 l_proc varchar2(72) := g_package||'get_pay_balance';
72 l_rslt_elmt varchar2(300) ;
73
74 begin
75
76 hr_utility.set_location('Entering:'||l_proc, 5);
77
78
79 open c_leg ;
80 fetch c_leg into l_LEGISLATION_CODE ;
81 close c_leg ;
82
83
84 l_rslt_elmt := ben_ext_payroll_balance.Get_Balance_Value
85 (p_business_group_id => p_business_group_id
86 ,p_assignment_id => p_assignment_id
87 ,p_effective_date => p_effective_date
88 ,p_legislation_code => l_LEGISLATION_CODE
89 ,p_defined_balance_id => p_defined_balance_id
90 ) ;
91
92 hr_utility.set_location(' Exiting: ' || l_rslt_elmt || ' : ' ||l_proc, 15);
93 return l_rslt_elmt ;
94 end ;
95
96
97
98 -- ------------------------------------------------------------------
99 -- |------------------------< get_name >----------------|
100 -- ------------------------------------------------------------------
101 -- Fix for Bug 3870480
102 Function get_name(p_val_id number) Return Varchar2 Is
103 --
104 l_proc varchar2(72) := g_package||'sprs_or_incl';
105 val_name varchar2(250);
106 --
107 Begin
108 --
109 hr_utility.set_location('Entering:'||l_proc, 5);
110 --
111 select user_name into val_name
112 from fnd_user
113 where user_id = p_val_id;
114
115 hr_utility.set_location(' Exiting:'||l_proc, 15);
116 return val_name;
117 --
118 --
119 Exception
120 When NO_DATA_FOUND Then
121 --
122 hr_utility.set_location(' Exiting:'||l_proc, 999);
123 --
124 return null;
125 End get_name;
126 --
127
128 --
129 -- ----------------------------------------------------------------------------
130 -- |---------< get_error_msg >---------------------------------------------|
131 -- ----------------------------------------------------------------------------
132 --
133 function get_error_msg(p_err_no in number ,
134 p_err_name in varchar2 ,
135 p_token1 in varchar2 default null,
136 p_token2 in varchar2 default null ) return varchar2 IS
137 l_err_message fnd_new_messages.message_text%type ;
138 l_proc varchar2(72) := g_package||'get_error_msg';
139 begin
140
141 hr_utility.set_location('Entering'||l_proc, 5);
142 hr_utility.set_location('Error'||substr(p_err_name,1,100), 99.99);
143 fnd_message.set_name('BEN',p_err_name);
144 if P_err_no in ( 91888,92065,91924,91887,92313,92312,92678,92679 )
145 and p_token1 is not null then
146 fnd_message.set_token('DATA' , p_token1 ) ;
147 end if ;
148 -- because the token name is required
149 -- that si hard coded as per the error number
150 -- if any new error calls this then the totken is to be added here
151 -- fnd_message.set_token('FIELD','p_prvs_stat_cd');
152 -- fnd_message.set_token('TYPE','BEN_PER_IN_LER_STAT_CD');
153 l_err_message := fnd_message.get ;
154 hr_utility.set_location('message'||substr(l_err_message,1,100), 99.99);
155 hr_utility.set_location('Exiting'||l_proc, 5);
156 return (l_err_message) ;
157
158 end ;
159
160
161 --
162 -- ----------------------------------------------------------------------------
163 -- |---------< decode_setup >---------------------------------------------|
164 -- ----------------------------------------------------------------------------
165 --
166 function decode_setup(p_ext_data_elmt_typ in varchar2,
167 p_name in varchar2,
168 p_id in varchar2) return varchar2 IS
169 --
170 l_proc varchar2(72) := g_package||'decode_setup';
171 l_val ben_ext_rslt_dtl.val_01%type ;
172 --
173 begin
174 --
175 --
176 hr_utility.set_location('Entering'||l_proc, 5);
177 --
178 if p_ext_data_elmt_typ = 'F' then
179 l_val := p_name;
180 else
181 l_val := p_id;
182 end if;
183 return(l_val);
184 --
185 hr_utility.set_location('Exiting:'||l_proc, 15);
186 --
187 end decode_setup;
188 --
189
190
191 -- ------------------------------------------------------------------
192 -- |------------------------< apply_decode >------------------------|
193 -- ------------------------------------------------------------------
194 -- This function substitute data element value with the decoded
195 -- value defined in the extract layout. This function will
196 -- return the decoded value if found. Otherwise, it would return
197 -- the default value if provided.
198 --
199 Function apply_decode(p_value varchar2,
200 p_ext_data_elmt_id number,
201 p_default varchar2,
202 p_short_name varchar2 default null
203 ) Return Varchar2 Is
204 --
205 l_proc varchar2(72) := g_package||'apply_decode';
206 l_dcd_val ben_ext_data_elmt_decd.dcd_val%type ;
207 l_err_message varchar2(2000) ;
208
209 --
210 cursor c1 is
211 select dcd_val
212 from ben_ext_data_elmt_decd
213 where
214 ext_data_elmt_id = p_ext_data_elmt_id
215 and val = nvl(p_value, ' ');
216 --
217 Begin
218 --
219 hr_utility.set_location('Entering:'||l_proc, 5);
220 hr_utility.set_location('code for decode ' ||p_value||' '|| p_ext_data_elmt_id ,936);
221 --
222 hr_utility.set_location('MONSTER defa '||p_default ,10);
223
224 if p_value is not null then
225 --
226 open c1;
227 fetch c1 into l_dcd_val;
228 --
229 if c1%found then
230 --
231 close c1;
232 --
233 if upper(l_dcd_val) <> 'NULL' then
234 --
235 return(l_dcd_val);
236 --
237 else
238 --
239 return(null);
240 --
241 end if;
242 --
243 else
244 --
245 close c1;
246 --
247 if p_default is not null then
248 --
249 if upper(p_default) <> 'NULL' then
250 --
251 return(p_default);
252 --
253 else
254 --
255 return(null);
256 --
257 end if;
258 --
259 else
260 --
261 -- warning -- could not find decoded value and default was not
262 -- specified. So just return the database value and warn.
263 --
264 IF p_short_name = 'PRLSHP' and p_value = '18' THEN
265 -- whne the person relationshp type is 18 dont raise warning
266 -- the default not defined to return 18 , this is a hard coded value
267 null ;
268 else
269 if ben_ext_person.g_business_group_id is not null then
270 l_err_message := get_error_msg(91888,'BEN_91888_EXT_INVALID_DCD',g_elmt_name );
271 ben_ext_util.write_err
272 (p_ext_rslt_id => ben_extract.g_ext_rslt_id,
273 p_err_num => 91888,
274 p_err_name => l_err_message,
275 p_typ_cd => 'W',
276 p_person_id => ben_ext_person.g_person_id,
277 p_business_group_id => ben_ext_person.g_business_group_id);
278 end if;
279 end if ;
280 --
281 return(p_value);
282 --
283 end if;
284 --
285 end if;
286 --
287 else
288 --
289 if p_default is not null and upper(p_default) <> 'NULL' then
290 --
291 hr_utility.set_location(' retunr defaul :'||p_default, 15);
292 return(p_default);
293 --
294 else
295 --
296 return(null);
297 --
298 end if;
299 --
300 end if;
301 --
302 hr_utility.set_location(' Exiting:'||l_proc, 15);
303 --
304 End apply_decode;
305
306 --
307 -- ----------------------------------------------------------------------------
308 -- |---------< get_element_value >---------------------------------------------|
309 -- ----------------------------------------------------------------------------
310 --
311
312 function get_element_value
313 (
314 p_seq_num number
315 , p_ext_data_elmt_id number
316 , p_data_elmt_typ_cd varchar2
317 , p_name varchar2
318 , p_frmt_mask_cd varchar2
319 , p_dflt_val varchar2
320 , p_short_name varchar2
321 , p_two_char_substr varchar2
322 , p_one_char_substr varchar2
323 , p_lookup_type varchar2
324 , p_frmt_mask_lookup_cd varchar2 default null
325 ) return varchar2 IS
326 --
327 l_proc varchar2(72) := g_package||'get_element_value';
328 l_lookup_type varchar2(30) := p_lookup_type ;
329 l_number varchar2(1);
330 l_max_len integer ;
331 --
332 l_rslt_elmt varchar2(4000) ;
333
334 begin
335 hr_utility.set_location('Entering'||l_proc, 5);
336
337 if p_one_char_substr = 'A' then
338 --
339 if p_two_char_substr in ('AC','AP') then
340 --
341 IF p_short_name = 'ACNITMCMDT' THEN
342 --
343 l_rslt_elmt := apply_format_mask
344 (ben_ext_person.g_actn_cmpltd_date, p_frmt_mask_cd);
345 --
346 ELSIF p_short_name = 'ACNITMDDT' THEN
347 --
348 l_rslt_elmt := apply_format_mask
349 (ben_ext_person.g_actn_due_date, p_frmt_mask_cd);
350 --
351 ELSIF p_short_name = 'ACNITMDES' THEN
352 --
353 l_rslt_elmt := ben_ext_person.g_actn_description;
354 --
355 ELSIF p_short_name = 'ACNITMNM' THEN
356 --
357 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
358 ben_ext_person.g_actn_name,
359 to_char(ben_ext_person.g_actn_type_id));
360 --
361 ELSIF p_short_name = 'ACNITMRQFG' THEN
362 --
363 l_rslt_elmt := ben_ext_person.g_actn_required_flag;
364 --
365 -- Run Result
366 --
367 ELSIF p_short_name = 'ACNITMTYP' THEN
368 --
369 l_rslt_elmt := ben_ext_person.g_actn_type;
370 --
371 ELSIF p_short_name = 'APPNUM' THEN
372 --
373 l_rslt_elmt := ben_ext_person.g_applicant_number;
374 --
375 end if;
376 --
377 elsif p_two_char_substr = 'AS' then
378 --
379 IF p_short_name = 'ASGFLX01' THEN
380 l_rslt_elmt := ben_ext_person.g_asg_attr_1;
381 ELSIF p_short_name = 'ASGFLX02' THEN
382 l_rslt_elmt := ben_ext_person.g_asg_attr_2;
383 ELSIF p_short_name = 'ASGFLX03' THEN
384 l_rslt_elmt := ben_ext_person.g_asg_attr_3;
385 ELSIF p_short_name = 'ASGFLX04' THEN
386 l_rslt_elmt := ben_ext_person.g_asg_attr_4;
387 ELSIF p_short_name = 'ASGFLX05' THEN
388 l_rslt_elmt := ben_ext_person.g_asg_attr_5;
389 ELSIF p_short_name = 'ASGFLX06' THEN
390 l_rslt_elmt := ben_ext_person.g_asg_attr_6;
391 ELSIF p_short_name = 'ASGFLX07' THEN
392 l_rslt_elmt := ben_ext_person.g_asg_attr_7;
393 ELSIF p_short_name = 'ASGFLX08' THEN
394 l_rslt_elmt := ben_ext_person.g_asg_attr_8;
395 ELSIF p_short_name = 'ASGFLX09' THEN
396 l_rslt_elmt := ben_ext_person.g_asg_attr_9;
397 ELSIF p_short_name = 'ASGFLX10' THEN
398 l_rslt_elmt := ben_ext_person.g_asg_attr_10;
399 ELSIF p_short_name = 'ASGGRP' THEN
400 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
401 ben_ext_person.g_people_group,
402 to_char(ben_ext_person.g_people_group_id));
403 ELSIF p_short_name = 'ASGHSAL' THEN
404 l_rslt_elmt := ben_ext_person.g_hourly_salaried_code;
405 ELSIF p_short_name = 'ASGJOB' THEN
406 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
407 ben_ext_person.g_job,
408 to_char(ben_ext_person.g_job_id));
409 ELSIF p_short_name = 'ASGLUN' THEN
410 l_rslt_elmt := ben_ext_person.g_labour_union_member_flag;
411 ELSIF p_short_name = 'ASGMNG' THEN
412 l_rslt_elmt := ben_ext_person.g_manager_flag;
413 ELSIF p_short_name = 'ASGPAY' THEN
414 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
415 ben_ext_person.g_payroll,
416 to_char(ben_ext_person.g_payroll_id));
417 ELSIF p_short_name = 'ASGPYBS' THEN
418 l_rslt_elmt := ben_ext_person.g_pay_basis_type ;
419
420 ELSIF p_short_name = 'ASGPBSS' THEN
421 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
422 ben_ext_person.g_pay_basis, to_char(ben_ext_person.g_pay_basis_id));
423
424 ELSIF p_short_name = 'ASGPOS' THEN
425 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
426 ben_ext_person.g_position,
427 to_char(ben_ext_person.g_position_id));
428 ELSIF p_short_name = 'ASGTITL' THEN
429 l_rslt_elmt := ben_ext_person.g_asg_title;
430 END IF;
431 --
432 end if;
433 --
434 elsif p_one_char_substr = 'B' then
435 --
436 if p_two_char_substr in ('BA','BC') then
437 IF p_short_name = 'BAMTDSGD' THEN
438 l_rslt_elmt := apply_format_mask
439 (ben_ext_person.g_bnf_amt_dsgd,p_frmt_mask_cd);
440 ELSIF p_short_name = 'BAMTUOM' THEN
441 l_rslt_elmt := ben_ext_person.g_bnf_amt_uom;
442 ELSIF p_short_name = 'BCONSQNM' THEN
443 l_rslt_elmt := apply_format_mask
444 (ben_ext_person.g_bnf_contact_seq_num, p_frmt_mask_cd);
445 END IF;
446 elsif p_two_char_substr in ('BD','BE','BF') then
447 IF p_short_name = 'BDOB' THEN
448 l_rslt_elmt := apply_format_mask
449 (ben_ext_person.g_bnf_date_of_birth, p_frmt_mask_cd);
450 ELSIF p_short_name = 'BDOD' THEN
451 l_rslt_elmt := apply_format_mask
452 (ben_ext_person.g_bnf_date_of_death, p_frmt_mask_cd);
453 ELSIF p_short_name = 'BDSBCD' THEN
454 l_rslt_elmt := ben_ext_person.g_bnf_disabled_flag;
455 ELSIF p_short_name = 'BEMADR' THEN
456 l_rslt_elmt := substr(ben_ext_person.g_bnf_email_address,1,600);
457 ELSIF p_short_name = 'BFLNM' THEN
458 l_rslt_elmt := ben_ext_person.g_bnf_fl_nm;
459 ELSIF p_short_name = 'BFSTNM' THEN
460 l_rslt_elmt := ben_ext_person.g_bnf_fst_nm;
461 ELSIF p_short_name = 'BFXNUM' THEN
462 l_rslt_elmt := apply_format_mask
463 (ben_ext_person.g_bnf_fax,p_frmt_mask_cd);
464 END IF;
465 elsif p_two_char_substr in ('BG','BK','BL','BM','BN') then
466 IF p_short_name = 'BGENDR' THEN
467 l_rslt_elmt := ben_ext_person.g_bnf_gender;
468 ELSIF p_short_name = 'BKNASNM' THEN
469 l_rslt_elmt := ben_ext_person.g_bnf_known_as;
470 ELSIF p_short_name = 'BLANG' THEN
471 l_rslt_elmt := ben_ext_person.g_bnf_language;
472 ELSIF p_short_name = 'BLSTNM' THEN
473 l_rslt_elmt := ben_ext_person.g_bnf_lst_nm;
474 ELSIF p_short_name = 'BMBNUM' THEN
475 l_rslt_elmt := apply_format_mask
476 (ben_ext_person.g_bnf_mobile,p_frmt_mask_cd);
477 --
478 -- change log information
479 --
480 ELSIF p_short_name = 'BMIDNM' THEN
481 l_rslt_elmt := ben_ext_person.g_bnf_mid_nm;
482 ELSIF p_short_name = 'BMRSTS' THEN
483 l_rslt_elmt := ben_ext_person.g_bnf_marital_status;
484 ELSIF p_short_name = 'BNATION' THEN
485 l_rslt_elmt := ben_ext_person.g_bnf_nationality;
486 ELSIF p_short_name = 'BNGRP' THEN
487 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
488 ben_ext_person.g_benefit_group,
489 to_char(ben_ext_person.g_benefit_group_id));
490 END IF;
491 elsif p_two_char_substr = 'BP' then
492 IF p_short_name = 'BPCTDSGD' THEN
493 l_rslt_elmt := apply_format_mask
494 (ben_ext_person.g_bnf_pct_dsgd,p_frmt_mask_cd);
495 ELSIF p_short_name = 'BPHNHM' THEN
496 l_rslt_elmt := apply_format_mask
497 (ben_ext_person.g_bnf_home_phone, p_frmt_mask_cd);
498 ELSIF p_short_name = 'BPHNWR' THEN
499 l_rslt_elmt := apply_format_mask
500 (ben_ext_person.g_bnf_work_phone, p_frmt_mask_cd);
501 ELSIF p_short_name = 'BPRADCITY' THEN
502 l_rslt_elmt := ben_ext_person.g_bnf_prim_city;
503 ELSIF p_short_name = 'BPRADCNT' THEN
504 l_rslt_elmt := ben_ext_person.g_bnf_prim_country;
505 ELSIF p_short_name = 'BPRADEFDT' THEN
506 l_rslt_elmt := apply_format_mask
507 (ben_ext_person.g_bnf_prim_effect_date, p_frmt_mask_cd);
508 ELSIF p_short_name = 'BPRADLN1' THEN
509 l_rslt_elmt := ben_ext_person.g_bnf_prim_address1;
510 ELSIF p_short_name = 'BPRADLN2' THEN
511 l_rslt_elmt := ben_ext_person.g_bnf_prim_address2;
512 ELSIF p_short_name = 'BPRADLN3' THEN
513 l_rslt_elmt := ben_ext_person.g_bnf_prim_address3;
514 ELSIF p_short_name = 'BPRADPCD' THEN
515 l_rslt_elmt := ben_ext_person.g_bnf_prim_postal_code;
516 ELSIF p_short_name = 'BPRADRG' THEN
517 l_rslt_elmt := ben_ext_person.g_bnf_prim_region;
518 ELSIF p_short_name = 'BPRADST' THEN
519 l_rslt_elmt := ben_ext_person.g_bnf_prim_state;
520 ELSIF p_short_name = 'BPRENMADJ' THEN
521 l_rslt_elmt := ben_ext_person.g_bnf_pre_nm_adjunct;
522 ELSIF p_short_name = 'BPRMYCNT' THEN
523 l_rslt_elmt := ben_ext_person.g_bnf_prmy_cont;
524 ELSIF p_short_name = 'BPRVLSTNM' THEN
525 l_rslt_elmt := ben_ext_person.g_bnf_prv_lst_nm;
526 ELSIF p_short_name = 'BPREFIX' THEN
527 l_rslt_elmt := ben_ext_person.g_bnf_prefix;
528 END IF;
529 elsif p_two_char_substr in ('BR','BS') then
530 IF p_short_name = 'BRLSHP' THEN
531 l_rslt_elmt := ben_ext_person.g_bnf_rlshp;
532 ELSIF p_short_name = 'BSGRP' THEN
533 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
534 ben_extract.g_business_group_name,
535 to_char(ben_ext_person.g_business_group_id));
536 --
537 ELSIF p_short_name = 'BSHRFL' THEN
538 l_rslt_elmt := ben_ext_person.g_bnf_shared_resd_flag;
539 ELSIF p_short_name = 'BSSN' THEN
540 l_rslt_elmt := apply_format_mask
541 (ben_ext_person.g_bnf_ssn,p_frmt_mask_cd);
542 ELSIF p_short_name = 'BSTUSTS' THEN
543 l_rslt_elmt := ben_ext_person.g_bnf_student_status;
544 ELSIF p_short_name = 'BSUF' THEN
545 l_rslt_elmt := ben_ext_person.g_bnf_suffix;
546 END IF;
547 elsif p_two_char_substr = 'BT' then
548 IF p_short_name = 'BTOBUSG' THEN
549 l_rslt_elmt := apply_format_mask
550 (ben_ext_person.g_bnf_tobacco_usage, p_frmt_mask_cd);
551 ELSIF p_short_name = 'BTTL' THEN
552 l_rslt_elmt := ben_ext_person.g_bnf_title;
553 END IF;
554 end if;
555 elsif p_one_char_substr = 'C' then
556 if p_two_char_substr = 'CB' then
557 IF p_short_name = 'CBRADNM' then
558 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_name ;
559 ELSIF p_short_name = 'CBRADORG' then
560 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_org_name ;
561 ELSIF p_short_name = 'CBRADAD1' then
562 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_addr1 ;
563 ELSIF p_short_name = 'CBRADAD2' then
564 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_addr2 ;
565 ELSIF p_short_name = 'CBRADAD3' then
566 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_addr3 ;
567 ELSIF p_short_name = 'CBRADCTY' then
568 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_city ;
569 ELSIF p_short_name = 'CBRADST' then
570 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_state ;
571 ELSIF p_short_name = 'CBRACNT' then
572 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_country ;
573 ELSIF p_short_name = 'CBRAPH' then
574 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_phone ;
575 ELSIF p_short_name = 'CBRAZIP' then
576 l_rslt_elmt := ben_ext_person.g_elig_cobra_admin_zip ;
577 end if ;
578
579 ELSIF p_two_char_substr = 'CH' then
580 IF p_short_name = 'CHGACTDT' THEN
581 l_rslt_elmt := apply_format_mask
582 (ben_ext_person.g_chg_actl_dt,p_frmt_mask_cd);
583 ELSIF p_short_name = 'CHGCD' THEN
584 l_rslt_elmt := ben_ext_person.g_chg_evt_cd;
585 ELSIF p_short_name = 'CHGDT' THEN
586 l_rslt_elmt := apply_format_mask
587 (ben_ext_person.g_chg_eff_dt,p_frmt_mask_cd);
588 ELSIF p_short_name = 'CHGEVNEW1' THEN
589 l_rslt_elmt := ben_ext_person.g_chg_new_val1;
590 ELSIF p_short_name = 'CHGEVNEW2' THEN
591 l_rslt_elmt := ben_ext_person.g_chg_new_val2;
592 ELSIF p_short_name = 'CHGEVNEW3' THEN
593 l_rslt_elmt := ben_ext_person.g_chg_new_val3;
594 ELSIF p_short_name = 'CHGEVNEW4' THEN
595 l_rslt_elmt := ben_ext_person.g_chg_new_val4;
596 ELSIF p_short_name = 'CHGEVNEW5' THEN
597 l_rslt_elmt := ben_ext_person.g_chg_new_val5;
598 ELSIF p_short_name = 'CHGEVNEW6' THEN
599 l_rslt_elmt := ben_ext_person.g_chg_new_val6;
600 ELSIF p_short_name = 'CHGEVOLD1' THEN
601 l_rslt_elmt := ben_ext_person.g_chg_old_val1;
602 ELSIF p_short_name = 'CHGEVOLD2' THEN
603 l_rslt_elmt := ben_ext_person.g_chg_old_val2;
604 ELSIF p_short_name = 'CHGEVOLD3' THEN
605 l_rslt_elmt := ben_ext_person.g_chg_old_val3;
606 ELSIF p_short_name = 'CHGEVOLD4' THEN
607 l_rslt_elmt := ben_ext_person.g_chg_old_val4;
608 ELSIF p_short_name = 'CHGEVOLD5' THEN
609 l_rslt_elmt := ben_ext_person.g_chg_old_val5;
610 ELSIF p_short_name = 'CHGEVOLD6' THEN
611 l_rslt_elmt := ben_ext_person.g_chg_old_val6;
612 ELSIF p_short_name = 'CHGPTBLNM' THEN
613 l_rslt_elmt := ben_ext_person.g_chg_pay_table;
614 ELSIF p_short_name = 'CHGPCLNM' THEN
615 l_rslt_elmt := ben_ext_person.g_chg_pay_column;
616 ELSIF p_short_name = 'CHGPMOD' THEN
617 l_rslt_elmt := ben_ext_person.g_chg_pay_mode;
618
619 END IF;
620 elsif p_two_char_substr = 'CI' then
621 IF p_short_name = 'CINSPRQD' THEN
622 l_rslt_elmt := ben_ext_person.g_cm_inspn_rqd_flag;
623 END IF;
624 elsif p_two_char_substr = 'CM' then
625 IF p_short_name = 'CMAD1' THEN
626 l_rslt_elmt := ben_ext_person.g_cm_addr_line1;
627 ELSIF p_short_name = 'CMAD2' THEN
628 l_rslt_elmt := ben_ext_person.g_cm_addr_line2;
629 ELSIF p_short_name = 'CMAD3' THEN
630 l_rslt_elmt := ben_ext_person.g_cm_addr_line3;
631 ELSIF p_short_name = 'CMCNTY' THEN -- Fix for Bug 2593220
632 l_rslt_elmt := nvl(hr_general.DECODE_FND_COMM_LOOKUP(l_lookup_type,
633 ben_ext_person.g_cm_county),
634 ben_ext_person.g_cm_county);
635 --l_rslt_elmt := ben_ext_person.g_cm_county; -- End of Fix, Bug 2593220
636 ELSIF p_short_name = 'CMCRY' THEN
637 l_rslt_elmt := ben_ext_person.g_cm_country;
638 ELSIF p_short_name = 'CMCTY' THEN
639 l_rslt_elmt := ben_ext_person.g_cm_city;
640 ELSIF p_short_name = 'CMDLVTXT' THEN
641 l_rslt_elmt := ben_ext_person.g_cm_dlvry_instn_txt;
642 ELSIF p_short_name = 'CMEFFDT' THEN
643 l_rslt_elmt := apply_format_mask
644 (ben_ext_person.g_cm_eff_dt,p_frmt_mask_cd);
645 ELSIF p_short_name = 'CMKIT' THEN
646 l_rslt_elmt := ben_ext_person.g_cm_kit;
647 ELSIF p_short_name = 'CMLEND' THEN
648 l_rslt_elmt := apply_format_mask
649 (ben_ext_person.g_cm_lf_evt_ntfn_dt, p_frmt_mask_cd);
650 --
651 -- Eligibility
652 --
653 ELSIF p_short_name = 'CMLENM' THEN
654 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
655 ben_ext_person.g_cm_lf_evt,
656 to_char(ben_ext_person.g_cm_lf_evt_id));
657 ELSIF p_short_name = 'CMLEOD' THEN
658 l_rslt_elmt := apply_format_mask
659 (ben_ext_person.g_cm_lf_evt_ocrd_dt, p_frmt_mask_cd);
660 ELSIF p_short_name = 'CMLEST' THEN
661 l_rslt_elmt := ben_ext_person.g_cm_lf_evt_stat;
662 ELSIF p_short_name = 'CMREG3' THEN
663 l_rslt_elmt := ben_ext_person.g_cm_region_3;
664 ELSIF p_short_name = 'CMSHRTNM' THEN
665 l_rslt_elmt := ben_ext_person.g_cm_short_name;
666 ELSIF p_short_name = 'CMSTA' THEN
667 l_rslt_elmt := ben_ext_person.g_cm_state;
668 ELSIF p_short_name = 'CMTBSNTDT' THEN
669 l_rslt_elmt := apply_format_mask
670 (ben_ext_person.g_cm_to_be_sent_dt, p_frmt_mask_cd);
671 ELSIF p_short_name = 'CMTRGR' THEN
672 l_rslt_elmt := ben_ext_person.g_cm_trgr_proc_name;
673 ELSIF p_short_name = 'CMTRGRDT' THEN
674 l_rslt_elmt := apply_format_mask
675 (ben_ext_person.g_cm_trgr_proc_dt, p_frmt_mask_cd);
676 ELSIF p_short_name = 'CMTYP' THEN
677 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
678 ben_ext_person.g_cm_type,
679 to_char(ben_ext_person.g_cm_type_id));
680 ELSIF p_short_name = 'CMZIP' THEN
681 l_rslt_elmt := ben_ext_person.g_cm_postal_code;
682 END IF;
683 elsif p_two_char_substr = 'CO' then
684 IF p_short_name = 'COBEFL' THEN
685 l_rslt_elmt := ben_ext_person.g_contact_is_bnfcry_flag;
686 ELSIF p_short_name = 'COCDFL' THEN
687 l_rslt_elmt := ben_ext_person.g_contact_is_cvrd_dpnt_flag;
688 ELSIF p_short_name = 'COCONSQNM' THEN
689 l_rslt_elmt := apply_format_mask
690 (ben_ext_person.g_contact_seq_num, p_frmt_mask_cd);
691 ELSIF p_short_name = 'CODOB' THEN
692 l_rslt_elmt := apply_format_mask
693 (ben_ext_person.g_contact_date_of_birth, p_frmt_mask_cd);
694 ELSIF p_short_name = 'CODOD' THEN
695 l_rslt_elmt := apply_format_mask
696 (ben_ext_person.g_contact_date_of_death, p_frmt_mask_cd);
697 ELSIF p_short_name = 'CODSBL' THEN
698 l_rslt_elmt := ben_ext_person.g_contact_disabled_flag;
699 ELSIF p_short_name = 'COEDFL' THEN
700 l_rslt_elmt := ben_ext_person.g_contact_is_elig_dpnt_flag;
701 ELSIF p_short_name = 'COEMADR' THEN
702 l_rslt_elmt := substr(ben_ext_person.g_contact_email_address,1,600) ;
703 ELSIF p_short_name = 'COENDT' THEN
704 l_rslt_elmt := apply_format_mask(ben_ext_person.g_contact_end_date, p_frmt_mask_cd);
705 ELSIF p_short_name = 'COENLER' THEN
706 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
707 ben_ext_person.g_contact_end_life_evt,
708 to_char(ben_ext_person.g_contact_end_ler_id));
709 ELSIF p_short_name = 'COFSTNM' THEN
710 l_rslt_elmt := ben_ext_person.g_contact_first_name;
711 ELSIF p_short_name = 'COFULNM' THEN
712 l_rslt_elmt := ben_ext_person.g_contact_full_name;
713 ELSIF p_short_name = 'COFXNUM' THEN
714 l_rslt_elmt := apply_format_mask
715 (ben_ext_person.g_contact_fax,p_frmt_mask_cd);
716 ELSIF p_short_name = 'COKNASNM' THEN
717 l_rslt_elmt := ben_ext_person.g_contact_known_as;
718 ELSIF p_short_name = 'COLANG' THEN
719 l_rslt_elmt := ben_ext_person.g_contact_language;
720 ELSIF p_short_name = 'COLSTNM' THEN
721 l_rslt_elmt := ben_ext_person.g_contact_last_name;
722 ELSIF p_short_name = 'COMBNUM' THEN
723 l_rslt_elmt := apply_format_mask
724 (ben_ext_person.g_contact_mobile, p_frmt_mask_cd);
725 ELSIF p_short_name = 'COMIDNM' THEN
726 l_rslt_elmt := ben_ext_person.g_contact_middle_names;
727 ELSIF p_short_name = 'COMRTL' THEN
728 l_rslt_elmt := ben_ext_person.g_contact_marital_status;
729 ELSIF p_short_name = 'CONATID' THEN
730 l_rslt_elmt := apply_format_mask
731 (ben_ext_person.g_contact_national_ident, p_frmt_mask_cd);
732 ELSIF p_short_name = 'CONATION' THEN
733 l_rslt_elmt := ben_ext_person.g_contact_nationality;
734 ELSIF p_short_name = 'CONMSFX' THEN
735 l_rslt_elmt := ben_ext_person.g_contact_suffix;
736 ELSIF p_short_name = 'CONMPREFIX' THEN
737 l_rslt_elmt := ben_ext_person.g_contact_prefix;
738 ELSIF p_short_name = 'COPERSFL' THEN
739 l_rslt_elmt := ben_ext_person.g_contact_personal_flag;
740 ELSIF p_short_name = 'COPHNHM' THEN
741 l_rslt_elmt := apply_format_mask
742 (ben_ext_person.g_contact_home_phone, p_frmt_mask_cd);
743 ELSIF p_short_name = 'COPHNWR' THEN
744 l_rslt_elmt := apply_format_mask
745 (ben_ext_person.g_contact_work_phone, p_frmt_mask_cd);
746 ELSIF p_short_name = 'COPLSTNM' THEN
747 l_rslt_elmt := ben_ext_person.g_contact_prev_last_name;
748 ELSIF p_short_name = 'COPRADCITY' THEN
749 l_rslt_elmt := ben_ext_person.g_contact_prim_city;
750 ELSIF p_short_name = 'COPRADCNT' THEN
751 l_rslt_elmt := ben_ext_person.g_contact_prim_country;
752 ELSIF p_short_name = 'COPRADEFDT' THEN
753 l_rslt_elmt := apply_format_mask
754 (ben_ext_person.g_contact_prim_effect_date, p_frmt_mask_cd);
755 ELSIF p_short_name = 'COPRADLN1' THEN
756 l_rslt_elmt := ben_ext_person.g_contact_prim_address1;
757 ELSIF p_short_name = 'COPRADLN2' THEN
758 l_rslt_elmt := ben_ext_person.g_contact_prim_address2;
759 ELSIF p_short_name = 'COPRADLN3' THEN
760 l_rslt_elmt := ben_ext_person.g_contact_prim_address3;
761 ELSIF p_short_name = 'COPRADPCD' THEN
762 l_rslt_elmt := ben_ext_person.g_contact_prim_postal_code;
763 ELSIF p_short_name = 'COPRADRG' THEN
764 l_rslt_elmt := ben_ext_person.g_contact_prim_region;
765 ELSIF p_short_name = 'COPRADST' THEN
766 l_rslt_elmt := ben_ext_person.g_contact_prim_state;
767 ELSIF p_short_name = 'COPRMFL' THEN
768 l_rslt_elmt := ben_ext_person.g_contact_prmy_contact_flag;
769 ELSIF p_short_name = 'COPRNMAD' THEN
770 l_rslt_elmt := ben_ext_person.g_contact_pre_name_adjunct;
771 ELSIF p_short_name = 'COPYRFL' THEN
772 l_rslt_elmt := ben_ext_person.g_contact_pymts_rcpnt_flag;
773 ELSIF p_short_name = 'CORLSHP' THEN
774 l_rslt_elmt := ben_ext_person.g_contact_rlshp_type;
775 ELSIF p_short_name = 'COSEX' THEN
776 l_rslt_elmt := ben_ext_person.g_contact_sex;
777 ELSIF p_short_name = 'COSHRFL' THEN
778 l_rslt_elmt := ben_ext_person.g_contact_shared_resd_flag;
779 ELSIF p_short_name = 'COSTDNT' THEN
780 l_rslt_elmt := ben_ext_person.g_contact_student_status;
781 ELSIF p_short_name = 'COSTDT' THEN
782 l_rslt_elmt := ben_ext_person.g_contact_start_date;
783 ELSIF p_short_name = 'COSTLER' THEN
784 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
785 ben_ext_person.g_contact_start_life_evt,
786 to_char(ben_ext_person.g_contact_start_ler_id));
787 ELSIF p_short_name = 'COTITLE' THEN
788 l_rslt_elmt := ben_ext_person.g_contact_title;
789 ELSIF p_short_name = 'COTOBUSG' THEN
790 l_rslt_elmt := apply_format_mask
791 (ben_ext_person.g_contact_tobacco_usage, p_frmt_mask_cd);
792 END IF;
793 elsif p_two_char_substr = 'CV' then
794 IF p_short_name = 'CVGST' THEN
795 l_rslt_elmt := apply_format_mask
796 (ben_ext_person.g_enrt_cvg_strt_dt, p_frmt_mask_cd);
797 ELSIF p_short_name = 'CVGTH' THEN
798 --
799 IF ben_ext_person.g_enrt_cvg_thru_dt =
800 to_date('31/12/4712','DD/MM/YYYY') THEN
801 --
802 l_rslt_elmt := null;
803 --
804 ELSE
805 --
806 l_rslt_elmt := apply_format_mask
807 (ben_ext_person.g_enrt_cvg_thru_dt, p_frmt_mask_cd);
808 --
809 END IF;
810
811 END IF;
812 elsif p_two_char_substr = 'CW' then
813 --- CWB Elements
814 hr_utility.set_location(' cwb extract ' || p_two_char_substr || ' /' || p_short_name , 99 );
815 IF p_short_name = 'CWBLEN' then
816 l_rslt_elmt := ben_ext_person.g_CWB_Life_Event_Name ;
817 ELSIF p_short_name = 'CWBLEOD' then
818 l_rslt_elmt := apply_format_mask (ben_ext_person.g_CWB_Life_Event_Occurred_Date,p_frmt_mask_cd);
819 ELSIF p_short_name = 'CWBPGN' then
820 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_name ;
821 ELSIF p_short_name = 'CWBPGS1' then
822 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT1 ;
823 ELSIF p_short_name = 'CWBPGS2' then
824 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT2 ;
825 ELSIF p_short_name = 'CWBPGS3' then
826 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT3 ;
827 ELSIF p_short_name = 'CWBPGS4' then
828 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT4 ;
829 ELSIF p_short_name = 'CWBPGS5' then
830 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT5 ;
831 ELSIF p_short_name = 'CWBPGS6' then
832 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT6 ;
833 ELSIF p_short_name = 'CWBPGS7' then
834 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT7 ;
835 ELSIF p_short_name = 'CWBPGS8' then
836 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT8 ;
837 ELSIF p_short_name = 'CWBPGS9' then
838 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT9 ;
839 ELSIF p_short_name = 'CWBPGS10' then
840 l_rslt_elmt := ben_ext_person.g_CWB_PEOPLE_GROUP_SEGMENT10 ;
841 ELSIF p_short_name = 'CWBPS' then
842 l_rslt_elmt := ben_ext_person.g_CWB_new_Perf_rating ;
843 ELSIF p_short_name = 'CWBPASD' then
844 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_ADJUSTED_SVC_DATE,p_frmt_mask_cd) ;
845 ELSIF p_short_name = 'CWBPAA1' then
846 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE1 ;
847 ELSIF p_short_name = 'CWBPAA2' then
848 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE2 ;
849 ELSIF p_short_name = 'CWBPAA3' then
850 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE3 ;
851 ELSIF p_short_name = 'CWBPAA4' then
852 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE4 ;
853 ELSIF p_short_name = 'CWBPAA5' then
854 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE5 ;
855 ELSIF p_short_name = 'CWBPAA6' then
856 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE6 ;
857 ELSIF p_short_name = 'CWBPAA7' then
858 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE7 ;
859 ELSIF p_short_name = 'CWBPAA8' then
860 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE8 ;
861 ELSIF p_short_name = 'CWBPAA9' then
862 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE9 ;
863 ELSIF p_short_name = 'CWBPAA10' then
864 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE10 ;
865 ELSIF p_short_name = 'CWBPAA11' then
866 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE11 ;
867 ELSIF p_short_name = 'CWBPAA12' then
868 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE12 ;
869 ELSIF p_short_name = 'CWBPAA13' then
870 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE13 ;
871 ELSIF p_short_name = 'CWBPAA14' then
872 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE14 ;
873 ELSIF p_short_name = 'CWBPAA15' then
874 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE15 ;
875 ELSIF p_short_name = 'CWBPAA16' then
876 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE16 ;
877 ELSIF p_short_name = 'CWBPAA17' then
878 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE17 ;
879 ELSIF p_short_name = 'CWBPAA18' then
880 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE18 ;
881 ELSIF p_short_name = 'CWBPAA19' then
882 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE19 ;
883 ELSIF p_short_name = 'CWBPAA20' then
884 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE20 ;
885 ELSIF p_short_name = 'CWBPAA21' then
886 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE21 ;
887 ELSIF p_short_name = 'CWBPAA22' then
888 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE22 ;
889 ELSIF p_short_name = 'CWBPAA23' then
890 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE23 ;
891 ELSIF p_short_name = 'CWBPAA24' then
892 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE24 ;
893 ELSIF p_short_name = 'CWBPAA25' then
894 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE25 ;
895 ELSIF p_short_name = 'CWBPAA26' then
896 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE26 ;
897 ELSIF p_short_name = 'CWBPAA27' then
898 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE27 ;
899 ELSIF p_short_name = 'CWBPAA28' then
900 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE28 ;
901 ELSIF p_short_name = 'CWBPAA29' then
902 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE29 ;
903 ELSIF p_short_name = 'CWBPAA30' then
904 l_rslt_elmt := ben_ext_person.g_CWB_Person_Assg_ATTRIBUTE30 ;
905 ELSIF p_short_name = 'CWBPBS' then
906 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_BASE_SALARY , p_frmt_mask_cd);
907 ELSIF p_short_name = 'CWBPBSF' then
908 l_rslt_elmt := ben_ext_person.g_CWB_Person_BASE_SALARY_FREQ ;
909 ELSIF p_short_name = 'CWBPBN' then
910 l_rslt_elmt := ben_ext_person.g_CWB_Person_Brief_Name ;
911 ELSIF p_short_name = 'CWBPBGN' then
912 l_rslt_elmt := ben_ext_person.g_CWB_Person_BG_Name ;
913 ELSIF p_short_name = 'CWBPCN' then
914 l_rslt_elmt := ben_ext_person.g_CWB_Person_Custom_Name ;
915 ELSIF p_short_name = 'CWBPCS1' then
916 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT1 ;
917 ELSIF p_short_name = 'CWBPCS2' then
918 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT2 ;
919 ELSIF p_short_name = 'CWBPCS3' then
920 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT3 ;
921 ELSIF p_short_name = 'CWBPCS4' then
922 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT4 ;
923 ELSIF p_short_name = 'CWBPCS5' then
924 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT5 ;
925 ELSIF p_short_name = 'CWBPCS6' then
926 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT6 ;
927 ELSIF p_short_name = 'CWBPCS7' then
928 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT7 ;
929 ELSIF p_short_name = 'CWBPCS8' then
930 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT8 ;
931 ELSIF p_short_name = 'CWBPCS9' then
932 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT9 ;
933 ELSIF p_short_name = 'CWBPCS10' then
934 l_rslt_elmt := ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT10 ;
935 ELSIF p_short_name = 'CWBPCS11' then
936 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT11 , p_frmt_mask_cd);
937 ELSIF p_short_name = 'CWBPCS12' then
938 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT12 , p_frmt_mask_cd);
939 ELSIF p_short_name = 'CWBPCS13' then
940 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT13 , p_frmt_mask_cd);
941 ELSIF p_short_name = 'CWBPCS14' then
942 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT14 , p_frmt_mask_cd);
943 ELSIF p_short_name = 'CWBPCS15' then
944 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_CUSTOM_SEGMENT15 , p_frmt_mask_cd);
945 ELSIF p_short_name = 'CWBPEA' then
946 l_rslt_elmt := ben_ext_person.g_CWB_Person_EMAIL_DDRESS ;
947 ELSIF p_short_name = 'CWBPEC' then
948 l_rslt_elmt := ben_ext_person.g_CWB_Person_EMPloyee_CATEGORY ;
949 ELSIF p_short_name = 'CWBPEN' then
950 l_rslt_elmt := ben_ext_person.g_CWB_Person_EMPLOYEE_NUMBER ;
951 ELSIF p_short_name = 'CWBPFR' then
952 l_rslt_elmt := ben_ext_person.g_CWB_Person_FEEDBACK_RATING ;
953 ELSIF p_short_name = 'CWBPF' then
954 l_rslt_elmt := ben_ext_person.g_CWB_Person_FREQUENCY ;
955 ELSIF p_short_name = 'CWBPFN' then
956 l_rslt_elmt := ben_ext_person.g_CWB_Person_FULL_NAME ;
957 hr_utility.set_location(' cwbfn ' || ben_ext_person.g_CWB_Person_FULL_NAME , 99 );
958 ELSIF p_short_name = 'CWBPGAF' then
959 l_rslt_elmt := ben_ext_person.g_CWB_Person_GRADE_ANN_FACTOR ;
960 ELSIF p_short_name = 'CWBPGC' then
961 l_rslt_elmt := ben_ext_person.g_CWB_Person_Grade_COMPARATIO ;
962 ELSIF p_short_name = 'CWBPGMXV' then
963 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_Grade_MAX_VAL , p_frmt_mask_cd);
964 ELSIF p_short_name = 'CWBPGMP' then
965 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_Grade_MID_POINT, p_frmt_mask_cd);
966 ELSIF p_short_name = 'CWBPGMNV' then
967 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_Grade_MIN_VAL , p_frmt_mask_cd);
968 ELSIF p_short_name = 'CWBPGRDN' then
969 l_rslt_elmt := ben_ext_person.g_CWB_Person_GRADE_name ;
970 ELSIF p_short_name = 'CWBPGQ' then
971 l_rslt_elmt := ben_ext_person.g_CWB_Person_Grade_QUARTILE ;
972 ELSIF p_short_name = 'CWBPIA1' then
973 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE1 ;
974 ELSIF p_short_name = 'CWBPIA2' then
975 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE2 ;
976 ELSIF p_short_name = 'CWBPIA3' then
977 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE3 ;
978 ELSIF p_short_name = 'CWBPIA4' then
979 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE4 ;
980 ELSIF p_short_name = 'CWBPIA5' then
981 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE5 ;
982 ELSIF p_short_name = 'CWBPIA6' then
983 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE6 ;
984 ELSIF p_short_name = 'CWBPIA7' then
985 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE7 ;
986 ELSIF p_short_name = 'CWBPIA8' then
987 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE8 ;
988 ELSIF p_short_name = 'CWBPIA9' then
989 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE9 ;
990 ELSIF p_short_name = 'CWBPIA10' then
991 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE10 ;
992 ELSIF p_short_name = 'CWBPIA11' then
993 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE11 ;
994 ELSIF p_short_name = 'CWBPIA12' then
995 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE12 ;
996 ELSIF p_short_name = 'CWBPIA13' then
997 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE13 ;
998 ELSIF p_short_name = 'CWBPIA14' then
999 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE14 ;
1000 ELSIF p_short_name = 'CWBPIA15' then
1001 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE15 ;
1002 ELSIF p_short_name = 'CWBPIA16' then
1003 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE16 ;
1004 ELSIF p_short_name = 'CWBPIA17' then
1005 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE17 ;
1006 ELSIF p_short_name = 'CWBPIA18' then
1007 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE18 ;
1008 ELSIF p_short_name = 'CWBPIA19' then
1009 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE19 ;
1010 ELSIF p_short_name = 'CWBPIA20' then
1011 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE20 ;
1012 ELSIF p_short_name = 'CWBPIA21' then
1013 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE21 ;
1014 ELSIF p_short_name = 'CWBPIA22' then
1015 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE22 ;
1016 ELSIF p_short_name = 'CWBPIA23' then
1017 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE23 ;
1018 ELSIF p_short_name = 'CWBPIA24' then
1019 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE24 ;
1020 ELSIF p_short_name = 'CWBPIA25' then
1021 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE25 ;
1022 ELSIF p_short_name = 'CWBPIA26' then
1023 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE26 ;
1024 ELSIF p_short_name = 'CWBPIA27' then
1025 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE27 ;
1026 ELSIF p_short_name = 'CWBPIA28' then
1027 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE28 ;
1028 ELSIF p_short_name = 'CWBPIA29' then
1029 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE29 ;
1030 ELSIF p_short_name = 'CWBPIA30' then
1031 l_rslt_elmt := ben_ext_person.g_CWB_Person_Info_ATTRIBUTE30 ;
1032 ELSIF p_short_name = 'CWBPJN' then
1033 l_rslt_elmt := ben_ext_person.g_CWB_Person_JOB_name ;
1034 ELSIF p_short_name = 'CWBPLG' then
1035 l_rslt_elmt := ben_ext_person.g_CWB_Person_LEGISLATION ;
1036 ELSIF p_short_name = 'CWBPLOC' then
1037 l_rslt_elmt := ben_ext_person.g_CWB_Person_LOCATION ;
1038 ELSIF p_short_name = 'CWBPNH' then
1039 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_NORMAL_HOURS , p_frmt_mask_cd);
1040 ELSIF p_short_name = 'CWBPON' then
1041 l_rslt_elmt := ben_ext_person.g_CWB_Person_ORG_name ;
1042 ELSIF p_short_name = 'CWBPOSD' then
1043 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_ORIG_START_DATE , p_frmt_mask_cd);
1044 ELSIF p_short_name = 'CWBPPAF' then
1045 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_PAY_ANNUL_FACTOR , p_frmt_mask_cd);
1046 ELSIF p_short_name = 'CWBPPR' then
1047 l_rslt_elmt := ben_ext_person.g_CWB_Person_PAY_RATE ; ---- ?????????
1048 ELSIF p_short_name = 'CWBPPN' then
1049 l_rslt_elmt := ben_ext_person.g_CWB_Person_PAYROLL_NAME ;
1050 ELSIF p_short_name = 'CWBPPRTN' then
1051 l_rslt_elmt := ben_ext_person.g_CWB_Person_PERF_RATING ;
1052 ELSIF p_short_name = 'CWBPPRD' then
1053 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_PERF_RATING_DATE, p_frmt_mask_cd) ;
1054 ELSIF p_short_name = 'CWBPPRT' then
1055 l_rslt_elmt := ben_ext_person.g_CWB_Persom_PERF_RATING_TYPE ;
1056 ELSIF p_short_name = 'CWBPP' then
1057 l_rslt_elmt := ben_ext_person. g_CWB_Person_POSITION ;
1058 ELSIF p_short_name = 'CWBPPPS' then
1059 l_rslt_elmt := ben_ext_person.g_CWB_Person_POST_PROCESS_Stat ;
1060 ELSIF p_short_name = 'CWBPSD' then
1061 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_START_DATE, p_frmt_mask_cd) ;
1062 ELSIF p_short_name = 'CWBPST' then
1063 l_rslt_elmt := ben_ext_person.g_CWB_Person_STATUS_TYPE ;
1064 ELSIF p_short_name = 'CWBPSBN' then
1065 l_rslt_elmt := ben_ext_person.g_CWB_Person_SUP_BRIEF_NAME ;
1066 ELSIF p_short_name = 'CWBPSCN' then
1067 l_rslt_elmt := ben_ext_person.g_CWB_Person_SUP_CUSTOM_NAME ;
1068 ELSIF p_short_name = 'CWBPSFN' then
1069 l_rslt_elmt := ben_ext_person.g_CWB_Person_SUP_FULL_NAME ;
1070 ELSIF p_short_name = 'CWBPYE' then
1071 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_YEARS_EMPLOYED, p_frmt_mask_cd) ;
1072 ELSIF p_short_name = 'CWBPYIG' then
1073 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_YEARS_IN_GRADE, p_frmt_mask_cd) ;
1074 ELSIF p_short_name = 'CWBPYIJ' then
1075 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_YEARS_IN_JOB, p_frmt_mask_cd) ;
1076 ELSIF p_short_name = 'CWBPYIP' then
1077 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Person_YEARS_IN_POS, p_frmt_mask_cd) ;
1078 ELSIF p_short_name = 'CWBPSTAT' then
1079 l_rslt_elmt := ben_ext_person.g_CWB_new_Postion_name ;
1080 --- cwb groups
1081 ELSIF p_short_name = 'CWBB' THEN
1082 l_rslt_elmt := ben_ext_person.g_CWB_Budget_PL_ID ;
1083 ELSIF p_short_name = 'CWBBACS' THEN
1084 l_rslt_elmt := ben_ext_person.g_CWB_Budget_Access ;
1085 ELSIF p_short_name = 'CWBBAPRL' THEN
1086 l_rslt_elmt := ben_ext_person.g_CWB_Budget_Approval ;
1087 ELSIF p_short_name = 'CWBBAD' THEN
1088 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_Approval_Date, p_frmt_mask_cd);
1089 ELSIF p_short_name = 'CWBBDBV' THEN
1090 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_Dist_Budget_Value, p_frmt_mask_cd) ;
1091 ELSIF p_short_name = 'CWBBDD' THEN
1092 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_Due_Date, p_frmt_mask_cd);
1093 ELSIF p_short_name = 'CWBBGON' THEN
1094 l_rslt_elmt := ben_ext_person.g_CWB_Budget_Group_Option_Name ;
1095 ELSIF p_short_name = 'CWBBGPN' THEN
1096 l_rslt_elmt := ben_ext_person.g_CWB_Budget_Group_Plan_Name ;
1097 ELSIF p_short_name = 'CWBBLUB' THEN
1098 l_rslt_elmt :=
1099 decode_setup(p_data_elmt_typ_cd,
1100 get_name(ben_ext_person.g_CWB_Budget_Last_Updt_By),
1101 ben_ext_person.g_CWB_Budget_Last_Updt_By);
1102 ELSIF p_short_name = 'CWBBLUD' THEN
1103 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_Last_Updt_dt, p_frmt_mask_cd);
1104 ELSIF p_short_name = 'CWBBP' THEN
1105 l_rslt_elmt := ben_ext_person.g_CWB_Budget_Population ;
1106 ELSIF p_short_name = 'CWBBRMXV' THEN
1107 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_Resv_Max_Value, p_frmt_mask_cd) ;
1108 ELSIF p_short_name = 'CWBBRMNV' THEN
1109 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_Resv_Min_Value, p_frmt_mask_cd) ;
1110 ELSIF p_short_name = 'CWBBRV' THEN
1111 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_Resv_Value , p_frmt_mask_cd) ;
1112 ELSIF p_short_name = 'CWBBRVLUB' THEN
1113 l_rslt_elmt :=
1114 decode_setup(p_data_elmt_typ_cd,
1115 get_name(ben_ext_person.g_CWB_Budget_Resv_Val_Updt_By),
1116 ben_ext_person.g_CWB_Budget_Resv_Val_Updt_By);
1117 ELSIF p_short_name = 'CWBBRVLUD' THEN
1118 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_Resv_Val_Updt_dt, p_frmt_mask_cd) ;
1119 ELSIF p_short_name = 'CWBBSD' THEN
1120 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_Submit_date , p_frmt_mask_cd) ;
1121 ELSIF p_short_name = 'CWBBSN' THEN
1122 l_rslt_elmt := ben_ext_person.g_CWB_Budget_Submit_Name ;
1123 ELSIF p_short_name = 'CWBBWBV' THEN
1124 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Budget_WS_Budget_Value, p_frmt_mask_cd) ;
1125 ELSIF p_short_name = 'CWBDBID' THEN
1126 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Dist_Budget_Issue_date, p_frmt_mask_cd) ;
1127 ELSIF p_short_name = 'CWBDBIV' THEN
1128 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Dist_Budget_Issue_Value, p_frmt_mask_cd) ;
1129 ELSIF p_short_name = 'CWBDBMNV' THEN
1130 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Dist_Budget_Max_Value, p_frmt_mask_cd) ;
1131 ELSIF p_short_name = 'CWBDBMXV' THEN
1132 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Dist_Budget_Max_Value, p_frmt_mask_cd) ;
1133 ELSIF p_short_name = 'CWBDBVLUB' THEN
1134 l_rslt_elmt :=
1135 decode_setup(p_data_elmt_typ_cd,
1136 get_name(ben_ext_person.g_CWB_Dist_Budget_Val_Updt_By),
1137 ben_ext_person.g_CWB_Dist_Budget_Val_Updt_By);
1138 ELSIF p_short_name = 'CWBDBVLUD' THEN
1139 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Dist_Budget_Val_Updt_dt, p_frmt_mask_cd) ;
1140 ELSIF p_short_name = 'CWBWBID' THEN
1141 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_WS_Budget_Issue_Date, p_frmt_mask_cd) ;
1142 ELSIF p_short_name = 'CWBWBIV' THEN
1143 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_WS_Budget_Max_Value, p_frmt_mask_cd) ;
1144 ELSIF p_short_name = 'CWBWBMXV' THEN
1145 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_WS_Budget_Max_Value, p_frmt_mask_cd) ;
1146 ELSIF p_short_name = 'CWBWBMNV' THEN
1147 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_WS_Budget_Min_Value, p_frmt_mask_cd) ;
1148 ELSIF p_short_name = 'CWBWBVLUB' THEN
1149 l_rslt_elmt :=
1150 decode_setup(p_data_elmt_typ_cd,
1151 get_name(ben_ext_person.g_CWB_WS_Budget_Val_Updt_By),
1152 ben_ext_person.g_CWB_WS_Budget_Val_Updt_By);
1153 ELSIF p_short_name = 'CWBWBVLUD' THEN
1154 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_WS_Budget_Val_Updt_dt, p_frmt_mask_cd) ;
1155 -- cwb rates
1156 ELSIF p_short_name = 'CWBAEF' THEN
1157 l_rslt_elmt := ben_ext_person.g_CWB_Awrd_Elig_Flag ;
1158 ELSIF p_short_name = 'CWBAESV' THEN
1159 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_Elig_Salary_Value, p_frmt_mask_cd) ;
1160 ELSIF p_short_name = 'CWBAGON' THEN
1161 l_rslt_elmt := ben_ext_person.g_CWB_Awrd_Group_Option_Name ;
1162 ELSIF p_short_name = 'CWBAGPN' THEN
1163 l_rslt_elmt := ben_ext_person.g_CWB_Awrd_Group_Plan_Name ;
1164 ELSIF p_short_name = 'CWBAMV1' THEN
1165 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_Misc_Value1, p_frmt_mask_cd) ;
1166 ELSIF p_short_name = 'CWBAMV2' THEN
1167 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_Misc_Value2, p_frmt_mask_cd) ;
1168 ELSIF p_short_name = 'CWBAMV3' THEN
1169 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_Misc_Value3, p_frmt_mask_cd) ;
1170 ELSIF p_short_name = 'CWBAON' THEN
1171 l_rslt_elmt := ben_ext_person.g_CWB_Awrd_Option_Name ;
1172 ELSIF p_short_name = 'CWBAOCV' THEN
1173 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_Other_Comp_Value, p_frmt_mask_cd) ;
1174 ELSIF p_short_name = 'CWBAPN' THEN
1175 l_rslt_elmt := ben_ext_person.g_CWB_Awrd_Plan_Name ;
1176 ELSIF p_short_name = 'CWBARV' THEN
1177 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_Recorded_Value, p_frmt_mask_cd) ;
1178 ELSIF p_short_name = 'CWBASSV' THEN
1179 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_Stated_Salary_Value, p_frmt_mask_cd) ;
1180 ELSIF p_short_name = 'CWBATCV' THEN
1181 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_Total_Comp_Value, p_frmt_mask_cd) ;
1182 ELSIF p_short_name = 'CWBAWMXV' THEN
1183 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_WS_Maximum_Value, p_frmt_mask_cd) ;
1184 ELSIF p_short_name = 'CWBAWMNV' THEN
1185 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_WS_Minimum_Value, p_frmt_mask_cd) ;
1186 ELSIF p_short_name = 'CWBAWV' THEN
1187 l_rslt_elmt := apply_format_mask(ben_ext_person.g_CWB_Awrd_WS_Value, p_frmt_mask_cd) ;
1188 ELSIF p_short_name = 'CWBNCR' THEN
1189 l_rslt_elmt := ben_ext_person.g_cwb_nw_chg_reason ;
1190 ELSIF p_short_name = 'CWBRDGS' THEN
1191 l_rslt_elmt := ben_ext_person.g_CWB_new_Grade_name ;
1192 ELSIF p_short_name = 'CWBGRPS' THEN
1193 l_rslt_elmt := ben_ext_person.g_CWB_new_Group_name ;
1194 ELSIF p_short_name = 'CWBJS' THEN
1195 l_rslt_elmt := ben_ext_person.g_CWB_new_Job_name ;
1196 ELSIF p_short_name = 'CWBPILST' then
1197 l_rslt_elmt := ben_ext_person.g_CWB_Life_Event_status ;
1198 ELSIF p_short_name = 'CWBGPLN' then
1199 l_rslt_elmt := ben_ext_person.g_cwb_group_plan_name ;
1200 END IF ;
1201 --- EOF cwb
1202
1203
1204 end if;
1205 elsif p_one_char_substr = 'D' then
1206 if p_two_char_substr in ('DA','DB','DC') then
1207 IF p_short_name = 'DATVRFDT' THEN
1208 l_rslt_elmt := apply_format_mask
1209 (ben_ext_person.g_data_verification_dt, p_frmt_mask_cd);
1210 ELSIF p_short_name = 'DCONSQNM' THEN
1211 l_rslt_elmt := apply_format_mask
1212 (ben_ext_person.g_dpnt_contact_seq_num, p_frmt_mask_cd);
1213 ELSIF p_short_name = 'DCVID' THEN
1214 l_rslt_elmt := apply_format_mask(ben_ext_person.g_dpnt_cvrd_dpnt_id,p_frmt_mask_cd) ;
1215 ELSIF p_short_name = 'DCVGST' THEN
1216 l_rslt_elmt := apply_format_mask
1217 (ben_ext_person.g_dpnt_cvg_strt_dt, p_frmt_mask_cd);
1218 ELSIF p_short_name = 'DCVGTH' THEN
1219 --
1220 IF ben_ext_person.g_dpnt_cvg_thru_dt =
1221 to_date('31/12/4712','DD/MM/YYYY') THEN
1222 l_rslt_elmt := null;
1223 ELSE
1224 l_rslt_elmt := apply_format_mask
1225 (ben_ext_person.g_dpnt_cvg_thru_dt, p_frmt_mask_cd);
1226 END IF;
1227 --
1228 END IF ;
1229 elsif p_two_char_substr in ('DD','DE') then
1230 IF p_short_name = 'DDOB' THEN
1231 l_rslt_elmt := apply_format_mask
1232 (ben_ext_person.g_dpnt_date_of_birth, p_frmt_mask_cd);
1233 ELSIF p_short_name = 'DDOD' THEN
1234 l_rslt_elmt := apply_format_mask
1235 (ben_ext_person.g_dpnt_date_of_death, p_frmt_mask_cd);
1236 ELSIF p_short_name = 'DDSBL' THEN
1237 l_rslt_elmt := ben_ext_person.g_dpnt_disabled_flag;
1238 ELSIF p_short_name = 'DEMADR' THEN
1239 l_rslt_elmt := substr(ben_ext_person.g_dpnt_email_address,1,600);
1240 END IF;
1241 elsif p_two_char_substr in ('DF','DK','DL','DM') then
1242 IF p_short_name = 'DFSTNM' THEN
1243 l_rslt_elmt := ben_ext_person.g_dpnt_first_name;
1244 ELSIF p_short_name = 'DFULNM' THEN
1245 l_rslt_elmt := ben_ext_person.g_dpnt_full_name;
1246 ELSIF p_short_name = 'DFXNUM' THEN
1247 l_rslt_elmt := apply_format_mask
1248 (ben_ext_person.g_dpnt_fax,p_frmt_mask_cd);
1249 ELSIF p_short_name = 'DKNASNM' THEN
1250 l_rslt_elmt := ben_ext_person.g_dpnt_known_as;
1251 ELSIF p_short_name = 'DLANG' THEN
1252 l_rslt_elmt := ben_ext_person.g_dpnt_language;
1253 ELSIF p_short_name = 'DLSTNM' THEN
1254 l_rslt_elmt := ben_ext_person.g_dpnt_last_name;
1255 ELSIF p_short_name = 'DMBNUM' THEN
1256 l_rslt_elmt := apply_format_mask
1257 (ben_ext_person.g_dpnt_mobile,p_frmt_mask_cd);
1258 ELSIF p_short_name = 'DMIDNM' THEN
1259 l_rslt_elmt := ben_ext_person.g_dpnt_middle_names;
1260 ELSIF p_short_name = 'DMRTL' THEN
1261 l_rslt_elmt := ben_ext_person.g_dpnt_marital_status;
1262 END IF;
1263 elsif p_two_char_substr in ('DN','DO') then
1264 IF p_short_name = 'DNATID' THEN
1265 l_rslt_elmt := apply_format_mask
1266 (ben_ext_person.g_dpnt_national_identifier, p_frmt_mask_cd);
1267 ELSIF p_short_name = 'DNATION' THEN
1268 l_rslt_elmt := ben_ext_person.g_dpnt_nationality;
1269 ELSIF p_short_name = 'DNMSFX' THEN
1270 l_rslt_elmt := ben_ext_person.g_dpnt_suffix;
1271 ELSIF p_short_name = 'DNMPREFIX' THEN
1272 l_rslt_elmt := ben_ext_person.g_dpnt_prefix;
1273 ELSIF p_short_name = 'DOB' THEN
1274 l_rslt_elmt := apply_format_mask
1275 (ben_ext_person.g_date_of_birth, p_frmt_mask_cd);
1276 ELSIF p_short_name = 'DOD' THEN
1277 l_rslt_elmt := apply_format_mask
1278 (ben_ext_person.g_date_of_death, p_frmt_mask_cd);
1279 END IF;
1280 elsif p_two_char_substr = 'DP' then
1281 IF p_short_name = 'DPHNHM' THEN
1282 l_rslt_elmt := apply_format_mask
1283 (ben_ext_person.g_dpnt_home_phone, p_frmt_mask_cd);
1284 ELSIF p_short_name = 'DPHNWR' THEN
1285 l_rslt_elmt := apply_format_mask
1286 (ben_ext_person.g_dpnt_work_phone, p_frmt_mask_cd);
1287 ELSIF p_short_name = 'DPLSTNM' THEN
1288 l_rslt_elmt := ben_ext_person.g_dpnt_prev_last_name;
1289 ELSIF p_short_name = 'DPPREND' THEN
1290 --
1291 IF ben_ext_person.g_dpnt_ppr_end_dt =
1292 to_date('31/12/4712','DD/MM/YYYY') THEN
1293 l_rslt_elmt := null;
1294 ELSE
1295 l_rslt_elmt := apply_format_mask
1296 (ben_ext_person.g_dpnt_ppr_end_dt, p_frmt_mask_cd);
1297 END IF;
1298 --
1299 ELSIF p_short_name = 'DPPRIDENT' THEN
1300 l_rslt_elmt := ben_ext_person.g_dpnt_ppr_ident;
1301 ELSIF p_short_name = 'DPPRNAME' THEN
1302 l_rslt_elmt := ben_ext_person.g_dpnt_ppr_name;
1303 ELSIF p_short_name = 'DPPRSTRT' THEN
1304 l_rslt_elmt := apply_format_mask
1305 (ben_ext_person.g_dpnt_ppr_strt_dt, p_frmt_mask_cd);
1306 ELSIF p_short_name = 'DPPRTYP' THEN
1307 l_rslt_elmt := ben_ext_person.g_dpnt_ppr_typ;
1308 ELSIF p_short_name = 'DPRADCITY' THEN
1309 l_rslt_elmt := ben_ext_person.g_dpnt_prim_city;
1310 ELSIF p_short_name = 'DPRADCNT' THEN
1311 l_rslt_elmt := ben_ext_person.g_dpnt_prim_country;
1312 ELSIF p_short_name = 'DPRADEFDT' THEN
1313 l_rslt_elmt := apply_format_mask
1314 (ben_ext_person.g_dpnt_prim_effect_date, p_frmt_mask_cd);
1315 ELSIF p_short_name = 'DPRADLN1' THEN
1316 l_rslt_elmt := ben_ext_person.g_dpnt_prim_address1;
1317 ELSIF p_short_name = 'DPRADLN2' THEN
1318 l_rslt_elmt := ben_ext_person.g_dpnt_prim_address2;
1319 ELSIF p_short_name = 'DPRADLN3' THEN
1320 l_rslt_elmt := ben_ext_person.g_dpnt_prim_address3;
1321 ELSIF p_short_name = 'DPRADPCD' THEN
1322 l_rslt_elmt := ben_ext_person.g_dpnt_prim_postal_code;
1323 ELSIF p_short_name = 'DPRADRG' THEN
1324 l_rslt_elmt := ben_ext_person.g_dpnt_prim_region;
1325 ELSIF p_short_name = 'DPRADST' THEN
1326 l_rslt_elmt := ben_ext_person.g_dpnt_prim_state;
1327 ELSIF p_short_name = 'DPRNMAD' THEN
1328 l_rslt_elmt := ben_ext_person.g_dpnt_pre_name_adjunct;
1329 END IF;
1330 elsif p_two_char_substr in ('DR','DS','DT') then
1331 IF p_short_name = 'DRLSHP' THEN
1332 l_rslt_elmt := ben_ext_person.g_dpnt_rlshp_type;
1333 ELSIF p_short_name = 'DSBL' THEN
1334 l_rslt_elmt := ben_ext_person.g_registered_disabled_flag;
1335 ELSIF p_short_name = 'DSEX' THEN
1336 l_rslt_elmt := ben_ext_person.g_dpnt_sex;
1337 ELSIF p_short_name = 'DSHRFL' THEN
1338 l_rslt_elmt := ben_ext_person.g_dpnt_shared_resd_flag;
1339 ELSIF p_short_name = 'DSTDNT' THEN
1340 l_rslt_elmt := ben_ext_person.g_dpnt_student_status;
1341 ELSIF p_short_name = 'DTITLE' THEN
1342 l_rslt_elmt := ben_ext_person.g_dpnt_title;
1343 ELSIF p_short_name = 'DTOBUSG' THEN
1344 l_rslt_elmt := apply_format_mask
1345 (ben_ext_person.g_dpnt_tobacco_usage, p_frmt_mask_cd);
1346 END IF;
1347 end if;
1348 elsif p_one_char_substr = 'E' then
1349 if p_two_char_substr in ('EA','EC') then
1350 IF p_short_name = 'EAGE' THEN
1351 l_rslt_elmt := apply_format_mask
1352 (ben_ext_person.g_elig_age_val, p_frmt_mask_cd);
1353 ELSIF p_short_name = 'EAGELOS' THEN
1354 l_rslt_elmt := apply_format_mask
1355 (ben_ext_person.g_elig_cmbn_age_n_los, p_frmt_mask_cd);
1356 ELSIF p_short_name = 'EAGEUOM' THEN
1357 l_rslt_elmt := ben_ext_person.g_elig_age_uom;
1358 ELSIF p_short_name = 'ECMPAMT' THEN
1359 l_rslt_elmt := apply_format_mask
1360 (ben_ext_person.g_elig_comp_amt, p_frmt_mask_cd);
1361 ELSIF p_short_name = 'ECMPUOM' THEN
1362 l_rslt_elmt := ben_ext_person.g_elig_comp_amt_uom;
1363 ELSIF p_short_name = 'ECVGAMT' THEN
1364 l_rslt_elmt := apply_format_mask
1365 (ben_ext_person.g_elig_cvg_amt, p_frmt_mask_cd);
1366 END IF;
1367 elsif p_two_char_substr = 'ED' then
1368 IF p_short_name = 'EDCONSQNM' THEN
1369 l_rslt_elmt := apply_format_mask
1370 (ben_ext_person.g_elig_dpnt_contact_seq_num,p_frmt_mask_cd);
1371 ELSIF p_short_name = 'EDCRDT' THEN
1372 l_rslt_elmt := apply_format_mask
1373 (ben_ext_person.g_elig_dpnt_create_dt, p_frmt_mask_cd);
1374 ELSIF p_short_name = 'EDID' THEN
1375 l_rslt_elmt := apply_format_mask(ben_ext_person.g_elig_dpnt_id, p_frmt_mask_cd);
1376 ELSIF p_short_name = 'EDDOB' THEN
1377 l_rslt_elmt := apply_format_mask
1378 (ben_ext_person.g_elig_dpnt_date_of_birth, p_frmt_mask_cd);
1379 ELSIF p_short_name = 'EDDOD' THEN
1380 l_rslt_elmt := apply_format_mask
1381 (ben_ext_person.g_elig_dpnt_date_of_death, p_frmt_mask_cd);
1382 ELSIF p_short_name = 'EDDSBL' THEN
1383 l_rslt_elmt := ben_ext_person.g_elig_dpnt_disabled_flag;
1384 ELSIF p_short_name = 'EDELGST' THEN
1385 l_rslt_elmt := apply_format_mask
1386 (ben_ext_person.g_elig_dpnt_elig_strt_dt, p_frmt_mask_cd);
1387 ELSIF p_short_name = 'EDELGTH' THEN
1388 IF ben_ext_person.g_elig_dpnt_elig_thru_dt =
1389 to_date('31/12/4712', 'DD/MM/YYYY') THEN
1390 l_rslt_elmt := null;
1391 ELSE
1392 l_rslt_elmt := apply_format_mask
1393 (ben_ext_person.g_elig_dpnt_elig_thru_dt, p_frmt_mask_cd);
1394 END IF;
1395 ELSIF p_short_name = 'EDEMADR' THEN
1396 l_rslt_elmt := substr(ben_ext_person.g_elig_dpnt_email_address,1,600) ;
1397 ELSIF p_short_name = 'EDFLTAMT' THEN
1398 l_rslt_elmt := apply_format_mask
1399 (ben_ext_person.g_elig_dflt_amt, p_frmt_mask_cd);
1400 ELSIF p_short_name = 'EDFSTNM' THEN
1401 l_rslt_elmt := ben_ext_person.g_elig_dpnt_first_name;
1402 ELSIF p_short_name = 'EDFULNM' THEN
1403 l_rslt_elmt := ben_ext_person.g_elig_dpnt_full_name;
1404 ELSIF p_short_name = 'EDFXNUM' THEN
1405 l_rslt_elmt := apply_format_mask
1406 (ben_ext_person.g_elig_dpnt_fax, p_frmt_mask_cd);
1407 ELSIF p_short_name = 'EDKNASNM' THEN
1408 l_rslt_elmt := ben_ext_person.g_elig_dpnt_known_as;
1409 ELSIF p_short_name = 'EDLANG' THEN
1410 l_rslt_elmt := ben_ext_person.g_elig_dpnt_language;
1411 ELSIF p_short_name = 'EDLSTNM' THEN
1412 l_rslt_elmt := ben_ext_person.g_elig_dpnt_last_name;
1413 ELSIF p_short_name = 'EDMBNUM' THEN
1414 l_rslt_elmt := apply_format_mask
1415 (ben_ext_person.g_elig_dpnt_mobile, p_frmt_mask_cd);
1416 ELSIF p_short_name = 'EDMIDNM' THEN
1417 l_rslt_elmt := ben_ext_person.g_elig_dpnt_middle_names;
1418 ELSIF p_short_name = 'EDMRTL' THEN
1419 l_rslt_elmt := ben_ext_person.g_elig_dpnt_marital_status;
1420 ELSIF p_short_name = 'EDNATID' THEN
1421 l_rslt_elmt := apply_format_mask
1422 (ben_ext_person.g_elig_dpnt_national_ident, p_frmt_mask_cd);
1423 ELSIF p_short_name = 'EDNATION' THEN
1424 l_rslt_elmt := ben_ext_person.g_elig_dpnt_nationality;
1425 ELSIF p_short_name = 'EDNMSFX' THEN
1426 l_rslt_elmt := ben_ext_person.g_elig_dpnt_suffix;
1427 ELSIF p_short_name = 'EDORDT' THEN
1428 l_rslt_elmt := apply_format_mask
1429 (ben_ext_person.g_elig_dpnt_ovrdn_thru_dt, p_frmt_mask_cd);
1430 ELSIF p_short_name = 'EDORF' THEN
1431 l_rslt_elmt := ben_ext_person.g_elig_dpnt_ovrdn_flag;
1432 ELSIF p_short_name = 'EDPHNHM' THEN
1433 l_rslt_elmt := apply_format_mask
1434 (ben_ext_person.g_elig_dpnt_home_phone, p_frmt_mask_cd);
1435 ELSIF p_short_name = 'EDPHNWR' THEN
1436 l_rslt_elmt := apply_format_mask
1437 (ben_ext_person.g_elig_dpnt_work_phone, p_frmt_mask_cd);
1438 ELSIF p_short_name = 'EDPLSTNM' THEN
1439 l_rslt_elmt := ben_ext_person.g_elig_dpnt_prev_last_name;
1440 ELSIF p_short_name = 'EDPRADCITY' THEN
1441 l_rslt_elmt := ben_ext_person.g_elig_dpnt_prim_city;
1442 ELSIF p_short_name = 'EDPRADCNT' THEN
1443 l_rslt_elmt := ben_ext_person.g_elig_dpnt_prim_country;
1444 ELSIF p_short_name = 'EDPRADEFDT' THEN
1445 l_rslt_elmt := apply_format_mask
1446 (ben_ext_person.g_elig_dpnt_prim_effect_date,p_frmt_mask_cd);
1447 ELSIF p_short_name = 'EDPRADLN1' THEN
1448 l_rslt_elmt := ben_ext_person.g_elig_dpnt_prim_address1;
1449 ELSIF p_short_name = 'EDPRADLN2' THEN
1450 l_rslt_elmt := ben_ext_person.g_elig_dpnt_prim_address2;
1451 ELSIF p_short_name = 'EDPRADLN3' THEN
1452 l_rslt_elmt := ben_ext_person.g_elig_dpnt_prim_address3;
1453 ELSIF p_short_name = 'EDPRADPCD' THEN
1454 l_rslt_elmt := ben_ext_person.g_elig_dpnt_prim_postal_code;
1455 ELSIF p_short_name = 'EDPRADRG' THEN
1456 l_rslt_elmt := ben_ext_person.g_elig_dpnt_prim_region;
1457 ELSIF p_short_name = 'EDPRADST' THEN
1458 l_rslt_elmt := ben_ext_person.g_elig_dpnt_prim_state;
1459 ELSIF p_short_name = 'EDPRNMAD' THEN
1460 l_rslt_elmt := ben_ext_person.g_elig_dpnt_pre_name_adjunct;
1461 ELSIF p_short_name = 'EDRLSHP' THEN
1462 l_rslt_elmt := ben_ext_person.g_elig_dpnt_rlshp_type;
1463 ELSIF p_short_name = 'EDSEX' THEN
1464 l_rslt_elmt := ben_ext_person.g_elig_dpnt_sex;
1465 ELSIF p_short_name = 'EDSHRFL' THEN
1466 l_rslt_elmt := ben_ext_person.g_elig_dpnt_shared_resd_flag;
1467 ELSIF p_short_name = 'EDSTDNT' THEN
1468 l_rslt_elmt := ben_ext_person.g_elig_dpnt_student_status;
1469 ELSIF p_short_name = 'EDTITLE' THEN
1470 l_rslt_elmt := ben_ext_person.g_elig_dpnt_title;
1471 ELSIF p_short_name = 'EDTOBUSG' THEN
1472 l_rslt_elmt := apply_format_mask
1473 (ben_ext_person.g_elig_dpnt_tobacco_usage, p_frmt_mask_cd);
1474 END IF;
1475 elsif p_two_char_substr = 'EE' then
1476 IF p_short_name = 'EEDFLTDT' THEN
1477 l_rslt_elmt :=
1478 apply_format_mask(ben_ext_person.g_elig_dflt_enrt_dt, p_frmt_mask_cd);
1479 ELSIF p_short_name = 'EELCMDDT' THEN
1480 l_rslt_elmt :=
1481 apply_format_mask(ben_ext_person.g_elig_elec_made_dt, p_frmt_mask_cd);
1482 ELSIF p_short_name = 'EEMPAFTTAX' THEN
1483 l_rslt_elmt :=
1484 apply_format_mask(ben_ext_person.g_elig_ee_after_tax_cost, p_frmt_mask_cd);
1485 ELSIF p_short_name = 'EEMPPRETAX' THEN
1486 l_rslt_elmt :=
1487 apply_format_mask(ben_ext_person.g_elig_ee_pre_tax_cost, p_frmt_mask_cd);
1488 ELSIF p_short_name = 'EEMPTOTCST' THEN
1489 l_rslt_elmt :=
1490 apply_format_mask(ben_ext_person.g_elig_ee_ttl_cost, p_frmt_mask_cd);
1491 ELSIF p_short_name = 'EEPRTOTCST' THEN
1492 l_rslt_elmt :=
1493 apply_format_mask(ben_ext_person.g_elig_er_ttl_cost, p_frmt_mask_cd);
1494 ELSIF p_short_name = 'EESTDT' THEN
1495 l_rslt_elmt :=
1496 apply_format_mask(ben_ext_person.g_elig_enrt_strt_dt, p_frmt_mask_cd);
1497 ELSIF p_short_name = 'EETHRUDT' THEN
1498 l_rslt_elmt :=
1499 apply_format_mask(ben_ext_person.g_elig_enrt_end_dt, p_frmt_mask_cd);
1500 END IF;
1501 elsif p_two_char_substr = 'EF' then
1502 IF p_short_name = 'EFFDT' THEN
1503 l_rslt_elmt :=
1504 apply_format_mask(ben_extract.g_effective_date,p_frmt_mask_cd);
1505 ELSIF p_short_name = 'EFLX01' THEN
1506 l_rslt_elmt := ben_ext_person.g_elig_flex_01;
1507 ELSIF p_short_name = 'EFLX02' THEN
1508 l_rslt_elmt := ben_ext_person.g_elig_flex_02;
1509 ELSIF p_short_name = 'EFLX03' THEN
1510 l_rslt_elmt := ben_ext_person.g_elig_flex_03;
1511 ELSIF p_short_name = 'EFLX04' THEN
1512 l_rslt_elmt := ben_ext_person.g_elig_flex_04;
1513 ELSIF p_short_name = 'EFLX05' THEN
1514 l_rslt_elmt := ben_ext_person.g_elig_flex_05;
1515 ELSIF p_short_name = 'EFLX06' THEN
1516 l_rslt_elmt := ben_ext_person.g_elig_flex_06;
1517 ELSIF p_short_name = 'EFLX07' THEN
1518 l_rslt_elmt := ben_ext_person.g_elig_flex_07;
1519 ELSIF p_short_name = 'EFLX08' THEN
1520 l_rslt_elmt := ben_ext_person.g_elig_flex_08;
1521 ELSIF p_short_name = 'EFLX09' THEN
1522 l_rslt_elmt := ben_ext_person.g_elig_flex_09;
1523 ELSIF p_short_name = 'EFLX10' THEN
1524 l_rslt_elmt := ben_ext_person.g_elig_flex_10;
1525 END IF;
1526 elsif p_two_char_substr in ('EH','EI') then
1527 IF p_short_name = 'EHRSWKD' THEN
1528 l_rslt_elmt :=
1529 apply_format_mask(ben_ext_person.g_elig_hrs_wkd, p_frmt_mask_cd);
1530 ELSIF p_short_name = 'EINCRAMT' THEN
1531 l_rslt_elmt :=
1532 apply_format_mask(ben_ext_person.g_elig_incr_amt, p_frmt_mask_cd);
1533 END IF;
1534 elsif p_two_char_substr = 'EL' then
1535 IF p_short_name = 'ELCVAO' THEN
1536 l_rslt_elmt := ben_ext_person.g_elig_cvg_onl_flg;
1537 ELSIF p_short_name = 'ELCVBT' THEN
1538 l_rslt_elmt := ben_ext_person.g_elig_cvg_bnft_typ;
1539 ELSIF p_short_name = 'ELCVBU' THEN
1540 l_rslt_elmt := ben_ext_person.g_elig_cvg_bnft_uom;
1541 ELSIF p_short_name = 'ELCVCM' THEN
1542 l_rslt_elmt := ben_ext_person.g_elig_cvg_calc_mthd;
1543 ELSIF p_short_name = 'ELCVDA' THEN
1544 l_rslt_elmt :=
1545 apply_format_mask(ben_ext_person.g_elig_cvg_dfl_amt, p_frmt_mask_cd);
1546 ELSIF p_short_name = 'ELCVDF' THEN
1547 l_rslt_elmt := ben_ext_person.g_elig_cvg_dfl_flg;
1548 ELSIF p_short_name = 'ELCVIN' THEN
1549 l_rslt_elmt :=
1550 apply_format_mask(ben_ext_person.g_elig_cvg_inc_amt, p_frmt_mask_cd);
1551 ELSIF p_short_name = 'ELCVMN' THEN
1552 l_rslt_elmt :=
1553 apply_format_mask(ben_ext_person.g_elig_cvg_min_amt, p_frmt_mask_cd);
1554 ELSIF p_short_name = 'ELCVMX' THEN
1555 l_rslt_elmt :=
1556 apply_format_mask(ben_ext_person.g_elig_cvg_max_amt, p_frmt_mask_cd);
1557 ELSIF p_short_name = 'ELCVOR' THEN
1558 l_rslt_elmt :=
1559 apply_format_mask(ben_ext_person.g_elig_cvg_seq_no, p_frmt_mask_cd);
1560 ELSIF p_short_name = 'ELDSC' THEN
1561 l_rslt_elmt := ben_ext_person.g_element_description;
1562 ELSIF p_short_name = 'ELECS' THEN
1563 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1564 ben_ext_person.g_element_entry_costing,
1565 to_char(ben_ext_person.g_element_entry_costing_id));
1566 ELSIF p_short_name = 'ELEED' THEN
1567 if ben_ext_person.g_element_entry_eff_end_date = hr_api.g_eot then
1568 l_rslt_elmt := null ;
1569 else
1570 l_rslt_elmt := apply_format_mask(ben_ext_person.g_element_entry_eff_end_date,
1571 p_frmt_mask_cd);
1572 end if ;
1573 ELSIF p_short_name = 'ELEID' THEN
1574 l_rslt_elmt :=
1575 apply_format_mask(ben_ext_person.g_element_entry_id, p_frmt_mask_cd);
1576 ELSIF p_short_name = 'ELENM' THEN
1577 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1578 ben_ext_person.g_elig_lfevt_name,
1579 to_char(ben_ext_person.g_elig_ler_id));
1580 ELSIF p_short_name = 'ELENTDT' THEN
1581 l_rslt_elmt :=
1582 apply_format_mask(ben_ext_person.g_elig_lfevt_note_dt, p_frmt_mask_cd);
1583 ELSIF p_short_name = 'ELEOCRDT' THEN
1584 l_rslt_elmt :=
1585 apply_format_mask(ben_ext_person.g_elig_lfevt_ocrd_dt, p_frmt_mask_cd);
1586 ELSIF p_short_name = 'ELERS' THEN
1587 l_rslt_elmt := ben_ext_person.g_element_entry_reason;
1588 ELSIF p_short_name = 'ELESD' THEN
1589 l_rslt_elmt :=
1590 apply_format_mask(ben_ext_person.g_element_entry_eff_start_date,p_frmt_mask_cd);
1591 ELSIF p_short_name = 'ELVESDT' THEN
1592 l_rslt_elmt := apply_format_mask(ben_ext_person.g_element_eev_eff_strt_date,p_frmt_mask_cd);
1593 hr_utility.set_location('eeveffdate '||ben_ext_person.g_element_eev_eff_strt_date ,99);
1594
1595 ELSIF p_short_name = 'ELVEEDT' THEN
1596 if ben_ext_person.g_element_eev_eff_end_date = hr_api.g_eot then
1597 l_rslt_elmt := null ;
1598 else
1599 l_rslt_elmt := apply_format_mask(ben_ext_person.g_element_eev_eff_end_date,p_frmt_mask_cd);
1600 end if ;
1601 hr_utility.set_location('eeveffdate '||ben_ext_person.g_element_eev_eff_end_date ,99);
1602 ELSIF p_short_name = 'ELESTS' THEN
1603 l_rslt_elmt := ben_ext_person.g_elig_lfevt_status;
1604 ELSIF p_short_name = 'ELEVL' THEN
1605 -- checking whether numeric formating applicable
1606 l_number := 'Y';
1607 -- begin bug# 2247340
1608 -- the modification made above as part of 2197144 doesn't check for negative number
1609 DECLARE
1610 ln_is_number number;
1611 BEGIN
1612 ln_is_number := to_number(ben_ext_person.g_element_entry_value);
1613 l_number := 'Y' ;
1614 EXCEPTION
1615 when value_error then
1616 l_number := 'N';
1617 END;
1618 -- end bug# 2247340
1619
1620
1621 -- if the value is a pure number then
1622 if l_number = 'Y' then
1623 -- call numeric formatting
1624 l_rslt_elmt := apply_format_mask(to_number(ben_ext_person.g_element_entry_value), p_frmt_mask_cd);
1625 else
1626 -- else do not format, just pass the value
1627 l_rslt_elmt := ben_ext_person.g_element_entry_value;
1628 end if;
1629
1630 ELSIF p_short_name = 'ELICU' THEN
1631 l_rslt_elmt := ben_ext_person.g_element_input_currency_code;
1632 ELSIF p_short_name = 'ELIVNM' THEN
1633 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1634 ben_ext_person.g_element_input_value_name,
1635 to_char(ben_ext_person.g_element_input_value_id));
1636 ELSIF p_short_name = 'ELIVSQ' THEN
1637 l_rslt_elmt :=
1638 apply_format_mask(ben_ext_person.g_element_input_value_sequence,p_frmt_mask_cd);
1639 ELSIF p_short_name = 'ELIVUN' THEN
1640 l_rslt_elmt := ben_ext_person.g_element_input_value_units;
1641 ELSIF p_short_name = 'ELNM' THEN
1642 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1643 ben_ext_person.g_element_name,
1644 to_char(ben_ext_person.g_element_id));
1645 ELSIF p_short_name = 'ELOCU' THEN
1646 l_rslt_elmt := ben_ext_person.g_element_output_currency_code;
1647 ELSIF p_short_name = 'ELOS' THEN
1648 l_rslt_elmt :=
1649 apply_format_mask(ben_ext_person.g_elig_los_val, p_frmt_mask_cd);
1650 ELSIF p_short_name = 'ELOSUOM' THEN
1651 l_rslt_elmt := ben_ext_person.g_elig_los_uom;
1652 ELSIF p_short_name = 'ELPCL' THEN
1653 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1654 ben_ext_person.g_element_classification_name,
1655 to_char(ben_ext_person.g_element_classification_id));
1656 ELSIF p_short_name = 'ELPTY' THEN
1657 l_rslt_elmt := ben_ext_person.g_element_processing_type;
1658 ELSIF p_short_name = 'ELRNM' THEN
1659 l_rslt_elmt := ben_ext_person.g_element_reporting_name;
1660 ELSIF p_short_name = 'ELSRL' THEN
1661 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1662 ben_ext_person.g_element_skip_rule,
1663 to_char(ben_ext_person.g_element_skip_rule_id));
1664 END IF;
1665 elsif p_two_char_substr = 'EM' then
1666 IF p_short_name = 'EMAXAMT' THEN
1667 l_rslt_elmt :=
1668 apply_format_mask(ben_ext_person.g_elig_max_amt, p_frmt_mask_cd);
1669 ELSIF p_short_name = 'EMINAMT' THEN
1670 l_rslt_elmt :=
1671 apply_format_mask(ben_ext_person.g_elig_min_amt, p_frmt_mask_cd);
1672 ELSIF p_short_name = 'EMPBU' THEN
1673 l_rslt_elmt := ben_ext_person.g_employee_barg_unit;
1674 ELSIF p_short_name = 'EMPCATG' THEN
1675 l_rslt_elmt := ben_ext_person.g_employee_category;
1676 ELSIF p_short_name = 'EMPGR' THEN
1677 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1678 ben_ext_person.g_employee_grade,
1679 to_char(ben_ext_person.g_employee_grade_id));
1680 ELSIF p_short_name = 'EMPLOC' THEN
1681 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1682 ben_ext_person.g_location_code,
1683 to_char(ben_ext_person.g_location_id));
1684
1685 ELSIF p_short_name = 'EMPLOCADR1' then
1686 l_rslt_elmt := ben_ext_person.g_location_addr1;
1687 ELSIF p_short_name = 'EMPLOCADR2' then
1688 l_rslt_elmt := ben_ext_person.g_location_addr2;
1689 ELSIF p_short_name = 'EMPLOCADR3' then
1690 l_rslt_elmt := ben_ext_person.g_location_addr3;
1691 ELSIF p_short_name = 'EMPLOCTWN' then
1692 l_rslt_elmt := ben_ext_person.g_location_city;
1693 ELSIF p_short_name = 'EMPLOCNTRY' then
1694 l_rslt_elmt := ben_ext_person.g_location_country;
1695 ELSIF p_short_name = 'EMPLOZIP' then
1696 l_rslt_elmt := ben_ext_person.g_location_zip;
1697 ELSIF p_short_name = 'EMPLOCRG1' then
1698 l_rslt_elmt := ben_ext_person.g_location_region1;
1699 ELSIF p_short_name = 'EMPLOCRG2' then
1700 l_rslt_elmt := ben_ext_person.g_location_region2;
1701 ELSIF p_short_name = 'EMPLOCRG3' then
1702 l_rslt_elmt := ben_ext_person.g_location_region3;
1703 ELSIF p_short_name = 'EMPNO' THEN
1704 l_rslt_elmt := ben_ext_person.g_employee_number;
1705 ELSIF p_short_name = 'EMPORG' THEN
1706 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1707 ben_ext_person.g_employee_organization,
1708 to_char(ben_ext_person.g_employee_organization_id));
1709
1710 --- organization addr 1
1711 ELSIF p_short_name = 'EMPORADDL1' THEN
1712 l_rslt_elmt := ben_ext_person.g_org_location_addr1;
1713 ELSIF p_short_name = 'EMPORADDL2' THEN
1714 l_rslt_elmt := ben_ext_person.g_org_location_addr2;
1715 ELSIF p_short_name = 'EMPORADDL3' THEN
1716 l_rslt_elmt := ben_ext_person.g_org_location_addr3;
1717 ELSIF p_short_name = 'EMPORADDCTY' THEN
1718 l_rslt_elmt := ben_ext_person.g_org_location_city;
1719 ELSIF p_short_name = 'EMPORADDCNT' THEN
1720 l_rslt_elmt := ben_ext_person.g_org_location_country;
1721 ELSIF p_short_name = 'EMPORADDZIP' THEN
1722 l_rslt_elmt := ben_ext_person.g_org_location_zip;
1723 ELSIF p_short_name = 'EMPORADDRG1' THEN
1724 l_rslt_elmt := ben_ext_person.g_org_location_region1;
1725 ELSIF p_short_name = 'EMPORADDRG2' THEN
1726 l_rslt_elmt := ben_ext_person.g_org_location_region2;
1727 ELSIF p_short_name = 'EMPORADDRG3' THEN
1728 l_rslt_elmt := ben_ext_person.g_org_location_region3;
1729 ELSIF p_short_name = 'EMPORADDPH' THEN
1730 l_rslt_elmt := ben_ext_person.g_org_location_phone;
1731 ---
1732 ELSIF p_short_name = 'EMPST' THEN
1733 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1734 ben_ext_person.g_employee_status,
1735 to_char(ben_ext_person.g_employee_status_id));
1736 ELSIF p_short_name = 'EMPASID' then
1737 l_rslt_elmt := ben_ext_person.g_assignment_id ;
1738 ELSIF p_short_name = 'EMPASTY' then
1739 hr_utility.set_location(' EMPASTY ' || ben_ext_person.g_asg_type, 99 );
1740 l_rslt_elmt := ben_ext_person.g_asg_type;
1741 end if;
1742 elsif p_two_char_substr = 'EN' then
1743 IF p_short_name = 'ENDDT' THEN
1744 l_rslt_elmt := apply_format_mask(ben_extract.g_ext_end_dt,p_frmt_mask_cd);
1745 end if;
1746 elsif p_two_char_substr = 'EO' then
1747 IF p_short_name = 'EOIPFLX01' THEN
1748 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_01;
1749 ELSIF p_short_name = 'EOIPFLX02' THEN
1750 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_02;
1751 ELSIF p_short_name = 'EOIPFLX03' THEN
1752 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_03;
1753 ELSIF p_short_name = 'EOIPFLX04' THEN
1754 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_04;
1755 ELSIF p_short_name = 'EOIPFLX05' THEN
1756 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_05;
1757 ELSIF p_short_name = 'EOIPFLX06' THEN
1758 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_06;
1759 ELSIF p_short_name = 'EOIPFLX07' THEN
1760 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_07;
1761 ELSIF p_short_name = 'EOIPFLX08' THEN
1762 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_08;
1763 ELSIF p_short_name = 'EOIPFLX09' THEN
1764 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_09;
1765 ELSIF p_short_name = 'EOIPFLX10' THEN
1766 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_10;
1767 ELSIF p_short_name = 'EOIPSQNUM' THEN
1768 l_rslt_elmt :=
1769 apply_format_mask(ben_ext_person.g_elig_oip_seq_num, p_frmt_mask_cd);
1770 ELSIF p_short_name = 'EOPTFLX01' THEN
1771 l_rslt_elmt := ben_ext_person.g_elig_opt_flex_01;
1772 ELSIF p_short_name = 'EOPTFLX02' THEN
1773 l_rslt_elmt := ben_ext_person.g_elig_opt_flex_02;
1774 ELSIF p_short_name = 'EOPTFLX03' THEN
1775 l_rslt_elmt := ben_ext_person.g_elig_opt_flex_03;
1776 ELSIF p_short_name = 'EOPTFLX04' THEN
1777 l_rslt_elmt := ben_ext_person.g_elig_opt_flex_04;
1778 ELSIF p_short_name = 'EOPTFLX05' THEN
1779 l_rslt_elmt := ben_ext_person.g_elig_opt_flex_05;
1780 ELSIF p_short_name = 'EOPTFLX06' THEN
1781 l_rslt_elmt := ben_ext_person.g_elig_opt_flex_06;
1782 ELSIF p_short_name = 'EOPTFLX07' THEN
1783 l_rslt_elmt := ben_ext_person.g_elig_opt_flex_07;
1784 ELSIF p_short_name = 'EOPTFLX08' THEN
1785 l_rslt_elmt := ben_ext_person.g_elig_opt_flex_08;
1786 ELSIF p_short_name = 'EOPTFLX09' THEN
1787 l_rslt_elmt := ben_ext_person.g_elig_opt_flex_09;
1788 ELSIF p_short_name = 'EOPTFLX10' THEN
1789 l_rslt_elmt := ben_ext_person.g_elig_opt_in_pl_flex_10;
1790 ELSIF p_short_name = 'EOPTNM' THEN
1791 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1792 ben_ext_person.g_elig_opt_name,
1793 to_char(ben_ext_person.g_elig_opt_id));
1794 ELSIF p_short_name = 'EOPTSEQ' THEN
1795 l_rslt_elmt :=
1796 apply_format_mask(ben_ext_person.g_elig_opt_ord_no, p_frmt_mask_cd);
1797 -- 2732104
1798 ELSIF p_short_name = 'EOPTFDNM' then
1799 l_rslt_elmt := ben_ext_person.g_elig_opt_fd_name ;
1800 ELSIF p_short_name = 'EOPTFDCD' then
1801 l_rslt_elmt := ben_ext_person.g_elig_opt_fd_code;
1802 ELSIF p_short_name = 'EOTPFDNM' then
1803 l_rslt_elmt := ben_ext_person.g_elig_pl_typ_fd_name ;
1804 ELSIF p_short_name = 'EOTPFDCD' then
1805 l_rslt_elmt := ben_ext_person.g_elig_pl_typ_fd_code ;
1806 ELSIF p_short_name = 'EOOPFDNM' then
1807 l_rslt_elmt := ben_ext_person.g_elig_opt_pl_fd_name;
1808 ELSIF p_short_name = 'EOOPFDCD' then
1809 l_rslt_elmt := ben_ext_person.g_elig_opt_pl_fd_code ;
1810 ELSIF p_short_name = 'EOPPFDNM' then
1811 l_rslt_elmt := ben_ext_person.g_elig_pl_pgm_fd_name ;
1812 ELSIF p_short_name = 'EOPPFDCD' then
1813 l_rslt_elmt := ben_ext_person.g_elig_pl_pgm_fd_code ;
1814 ELSIF p_short_name = 'EOYPFDNM' then
1815 l_rslt_elmt := ben_ext_person.g_elig_pl_typ_pgm_fd_name;
1816 ELSIF p_short_name = 'EOYPFDCD' then
1817 l_rslt_elmt := ben_ext_person.g_elig_pl_typ_pgm_fd_code;
1818 END IF;
1819
1820 elsif p_two_char_substr = 'EP' then
1821 IF p_short_name = 'EPCTFLTM' THEN
1822 l_rslt_elmt :=
1823 apply_format_mask(ben_ext_person.g_elig_pct_fl_tm, p_frmt_mask_cd);
1824 --
1825 -- Eligible Dependents
1826 --
1827 ELSIF p_short_name = 'EPGMFLX01' THEN
1828 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_01;
1829 ELSIF p_short_name = 'EPGMFLX02' THEN
1830 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_02;
1831 ELSIF p_short_name = 'EPGMFLX03' THEN
1832 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_03;
1833 ELSIF p_short_name = 'EPGMFLX04' THEN
1834 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_04;
1835 ELSIF p_short_name = 'EPGMFLX05' THEN
1836 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_05;
1837 ELSIF p_short_name = 'EPGMFLX06' THEN
1838 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_06;
1839 ELSIF p_short_name = 'EPGMFLX07' THEN
1840 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_07;
1841 ELSIF p_short_name = 'EPGMFLX08' THEN
1842 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_08;
1843 ELSIF p_short_name = 'EPGMFLX09' THEN
1844 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_09;
1845 ELSIF p_short_name = 'EPGMFLX10' THEN
1846 l_rslt_elmt := ben_ext_person.g_elig_pgm_flex_10;
1847 ELSIF p_short_name = 'EPIPFLX01' THEN
1848 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_01;
1849 ELSIF p_short_name = 'EPIPFLX02' THEN
1850 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_02;
1851 ELSIF p_short_name = 'EPIPFLX03' THEN
1852 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_03;
1853 ELSIF p_short_name = 'EPIPFLX04' THEN
1854 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_04;
1855 ELSIF p_short_name = 'EPIPFLX05' THEN
1856 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_05;
1857 ELSIF p_short_name = 'EPIPFLX06' THEN
1858 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_06;
1859 ELSIF p_short_name = 'EPIPFLX07' THEN
1860 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_07;
1861 ELSIF p_short_name = 'EPIPFLX08' THEN
1862 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_08;
1863 ELSIF p_short_name = 'EPIPFLX09' THEN
1864 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_09;
1865 ELSIF p_short_name = 'EPIPFLX10' THEN
1866 l_rslt_elmt := ben_ext_person.g_elig_pl_in_pgm_flex_10;
1867 ELSIF p_short_name = 'EPIPSQNUM' THEN
1868 l_rslt_elmt :=
1869 apply_format_mask(ben_ext_person.g_elig_pip_seq_num, p_frmt_mask_cd);
1870 ELSIF p_short_name = 'EPLFLX01' THEN
1871 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_01;
1872 ELSIF p_short_name = 'EPLFLX02' THEN
1873 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_02;
1874 ELSIF p_short_name = 'EPLFLX03' THEN
1875 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_03;
1876 ELSIF p_short_name = 'EPLFLX04' THEN
1877 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_04;
1878 ELSIF p_short_name = 'EPLFLX05' THEN
1879 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_05;
1880 ELSIF p_short_name = 'EPLFLX06' THEN
1881 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_06;
1882 ELSIF p_short_name = 'EPLFLX07' THEN
1883 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_07;
1884 ELSIF p_short_name = 'EPLFLX08' THEN
1885 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_08;
1886 ELSIF p_short_name = 'EPLFLX09' THEN
1887 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_09;
1888 ELSIF p_short_name = 'EPLFLX10' THEN
1889 l_rslt_elmt := ben_ext_person.g_elig_plan_flex_10;
1890 ELSIF p_short_name = 'EPLNM' THEN
1891 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1892 ben_ext_person.g_elig_pl_name,to_char(ben_ext_person.g_elig_pl_id));
1893 ELSIF p_short_name = 'EPLSEQ' THEN
1894 l_rslt_elmt :=
1895 apply_format_mask(ben_ext_person.g_elig_pl_ord_no, p_frmt_mask_cd);
1896 ELSIF p_short_name = 'EPLSQNUM' THEN
1897 l_rslt_elmt :=
1898 apply_format_mask(ben_ext_person.g_elig_pl_seq_num, p_frmt_mask_cd);
1899 ELSIF p_short_name = 'EPLTFLX01' THEN
1900 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_01;
1901 ELSIF p_short_name = 'EPLTFLX02' THEN
1902 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_02;
1903 ELSIF p_short_name = 'EPLTFLX03' THEN
1904 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_03;
1905 ELSIF p_short_name = 'EPLTFLX04' THEN
1906 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_04;
1907 ELSIF p_short_name = 'EPLTFLX05' THEN
1908 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_05;
1909 ELSIF p_short_name = 'EPLTFLX06' THEN
1910 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_06;
1911 ELSIF p_short_name = 'EPLTFLX07' THEN
1912 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_07;
1913 ELSIF p_short_name = 'EPLTFLX08' THEN
1914 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_08;
1915 ELSIF p_short_name = 'EPLTFLX09' THEN
1916 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_09;
1917 ELSIF p_short_name = 'EPLTFLX10' THEN
1918 l_rslt_elmt := ben_ext_person.g_elig_ptp_flex_10;
1919 ELSIF p_short_name = 'EPLTYPNM' THEN
1920 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1921 ben_ext_person.g_elig_pl_typ_name,to_char(ben_ext_person.g_elig_pl_typ_id));
1922 l_rslt_elmt := ben_ext_person.g_elig_pl_typ_name;
1923 ELSIF p_short_name = 'EPLYRENDT' THEN
1924 l_rslt_elmt :=
1925 apply_format_mask(ben_ext_person.g_elig_pl_yr_enddt, p_frmt_mask_cd);
1926 ELSIF p_short_name = 'EPLYRSTDT' THEN
1927 l_rslt_elmt :=
1928 apply_format_mask(ben_ext_person.g_elig_pl_yr_strdt, p_frmt_mask_cd);
1929 ELSIF p_short_name = 'EPRGNM' THEN
1930 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1931 ben_ext_person.g_elig_program_name ,to_char(ben_ext_person.g_elig_program_id));
1932 ELSIF p_short_name = 'EPTPSQNUM' THEN
1933 l_rslt_elmt :=
1934 apply_format_mask(ben_ext_person.g_elig_ptp_seq_num, p_frmt_mask_cd);
1935 ----2559743
1936 ELSIF p_short_name = 'EPLFDNM' then
1937 l_rslt_elmt := ben_ext_person.g_elig_pl_fd_name ;
1938 ELSIF p_short_name = 'EPLFDCD' then
1939 l_rslt_elmt := ben_ext_person.g_elig_pl_fd_code ;
1940 ELSIF p_short_name = 'EPRFDNM' then
1941 l_rslt_elmt := ben_ext_person.g_elig_pgm_fd_name;
1942 ELSIF p_short_name = 'EPRFDCD' then
1943 l_rslt_elmt := ben_ext_person.g_elig_pgm_fd_code ;
1944 ----
1945 END IF;
1946
1947 elsif p_two_char_substr in ('ER','ET','EU') then
1948 IF p_short_name = 'EREETOTDS' THEN
1949 l_rslt_elmt :=
1950 apply_format_mask(ben_ext_person.g_elig_ee_ttl_distribution, p_frmt_mask_cd);
1951 ELSIF p_short_name = 'ERERTOTDS' THEN
1952 l_rslt_elmt :=
1953 apply_format_mask(ben_ext_person.g_elig_er_ttl_distribution, p_frmt_mask_cd);
1954 ELSIF p_short_name = 'ERPGRPNM' THEN
1955 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
1956 ben_ext_person.g_elig_rpt_group_name,to_char(ben_ext_person.g_elig_rpt_group_id));
1957 ELSIF p_short_name = 'ERTOTORT' THEN
1958 l_rslt_elmt :=
1959 apply_format_mask(ben_ext_person.g_elig_ttl_other_rate, p_frmt_mask_cd);
1960 --- CWB 2832419
1961 --Eligible Rate - CWB Distribution Budget
1962 ELSIF p_short_name = 'ERCWBDSBD' THEN
1963 l_rslt_elmt :=
1964 apply_format_mask(ben_ext_person.g_elig_ee_cwb_dst_bdgt , p_frmt_mask_cd);
1965 --Eligible Rate - CWB Misc Rate 1
1966 ELSIF p_short_name = 'ERCWBMSR1' THEN
1967 l_rslt_elmt :=
1968 apply_format_mask(ben_ext_person.g_elig_ee_cwb_misc_rate_1 , p_frmt_mask_cd);
1969 --ligible Rate - CWB Eligible Salary
1970 ELSIF p_short_name = 'ERCWBELSL' THEN
1971 l_rslt_elmt :=
1972 apply_format_mask(ben_ext_person.g_elig_ee_cwb_elig_salary , p_frmt_mask_cd);
1973 --Eligible Rate - CWB Misc Rate 2
1974 ELSIF p_short_name = 'ERCWBMSR2' THEN
1975 l_rslt_elmt :=
1976 apply_format_mask(ben_ext_person.g_elig_ee_cwb_misc_rate_2 , p_frmt_mask_cd);
1977 --Eligible Rate - CWB Grant Price
1978 ELSIF p_short_name = 'ERCWBGRPR' THEN
1979 l_rslt_elmt :=
1980 apply_format_mask(ben_ext_person.g_elig_ee_cwb_grant_price , p_frmt_mask_cd);
1981 --Eligible Rate - CWB Other Salary
1982 ELSIF p_short_name = 'ERCWBOTSL' THEN
1983 l_rslt_elmt :=
1984 apply_format_mask(ben_ext_person.g_elig_ee_cwb_other_salary , p_frmt_mask_cd);
1985 --Eligible Rate - CWB Reserve
1986 ELSIF p_short_name = 'ERCWBRSRV' THEN
1987 l_rslt_elmt :=
1988 apply_format_mask(ben_ext_person.g_elig_ee_cwb_reserve , p_frmt_mask_cd);
1989 --Eligible Rate - CWB Recommended Amount
1990 ELSIF p_short_name = 'ERCWBRCAM' THEN
1991 l_rslt_elmt :=
1992 apply_format_mask(ben_ext_person.g_elig_ee_cwb_recomond_amt , p_frmt_mask_cd);
1993 --Eligible Rate - CWB Stated Salary
1994 ELSIF p_short_name = 'ERCWBSTSL' THEN
1995 l_rslt_elmt :=
1996 apply_format_mask(ben_ext_person.g_elig_ee_cwb_stated_salary , p_frmt_mask_cd);
1997 --Eligible Rate - CWB Total Compensation
1998 ELSIF p_short_name = 'ERCWBTTCM' THEN
1999 l_rslt_elmt :=
2000 apply_format_mask(ben_ext_person.g_elig_ee_cwb_tot_compensation , p_frmt_mask_cd);
2001 --Eligible Rate - CWB Worksheet Budget
2002 ELSIF p_short_name = 'ERCWBWSBD' THEN
2003 l_rslt_elmt :=
2004 apply_format_mask(ben_ext_person.g_elig_ee_cwb_worksheet_bdgt , p_frmt_mask_cd);
2005 --Eligible Rate - CWB Worksheet Amount
2006 ELSIF p_short_name = 'ERCWBWSAM' THEN
2007 l_rslt_elmt :=
2008 apply_format_mask(ben_ext_person.g_elig_ee_cwb_elig_salary , p_frmt_mask_cd);
2009 --Eligible Rate - CWB Misc Rate 3
2010 ELSIF p_short_name = 'ERCWBMSR3' THEN
2011 l_rslt_elmt :=
2012 apply_format_mask(ben_ext_person.g_elig_ee_cwb_misc_rate_3 , p_frmt_mask_cd);
2013 ELSIF p_short_name = 'ETOTPRAMT' THEN
2014 l_rslt_elmt :=
2015 apply_format_mask(ben_ext_person.g_elig_total_premium_amt, p_frmt_mask_cd);
2016 ELSIF p_short_name = 'ETOTPRUOM' THEN
2017 l_rslt_elmt := ben_ext_person.g_elig_total_premium_uom;
2018 ELSIF p_short_name = 'EUOM' tHEN
2019 l_rslt_elmt := ben_ext_person.g_elig_uom;
2020 END IF;
2021 end if;
2022 --
2023 -- Payroll
2024 --
2025 elsif p_one_char_substr = 'F' then
2026 IF p_short_name = 'FILLER' THEN
2027 l_rslt_elmt := null;
2028 ELSIF p_short_name = 'FSTNM' THEN
2029 l_rslt_elmt := ben_ext_person.g_first_name;
2030 ELSIF p_short_name = 'FULNM' THEN
2031 l_rslt_elmt := ben_ext_person.g_full_name;
2032 end if;
2033 elsif p_one_char_substr = 'L' then
2034 IF p_short_name = 'LERFLX01' THEN
2035 l_rslt_elmt := ben_ext_person.g_ler_attr_1;
2036 ELSIF p_short_name = 'LERFLX02' THEN
2037 l_rslt_elmt := ben_ext_person.g_ler_attr_2;
2038 ELSIF p_short_name = 'LERFLX03' THEN
2039 l_rslt_elmt := ben_ext_person.g_ler_attr_3;
2040 ELSIF p_short_name = 'LERFLX04' THEN
2041 l_rslt_elmt := ben_ext_person.g_ler_attr_4;
2042 ELSIF p_short_name = 'LERFLX05' THEN
2043 l_rslt_elmt := ben_ext_person.g_ler_attr_5;
2044 ELSIF p_short_name = 'LERFLX06' THEN
2045 l_rslt_elmt := ben_ext_person.g_ler_attr_6;
2046 ELSIF p_short_name = 'LERFLX07' THEN
2047 l_rslt_elmt := ben_ext_person.g_ler_attr_7;
2048 ELSIF p_short_name = 'LERFLX08' THEN
2049 l_rslt_elmt := ben_ext_person.g_ler_attr_8;
2050 ELSIF p_short_name = 'LERFLX09' THEN
2051 l_rslt_elmt := ben_ext_person.g_ler_attr_9;
2052 ELSIF p_short_name = 'LERFLX10' THEN
2053 l_rslt_elmt := ben_ext_person.g_ler_attr_10;
2054 ELSIF p_short_name = 'LSTNM' THEN
2055 l_rslt_elmt := ben_ext_person.g_last_name;
2056 end if;
2057 elsif p_one_char_substr = 'M' then
2058 IF p_short_name = 'MIDNM' THEN
2059 l_rslt_elmt := ben_ext_person.g_middle_names;
2060 ELSIF p_short_name = 'MLAD1' THEN
2061 l_rslt_elmt := ben_ext_person.g_mail_address_line_1;
2062 ELSIF p_short_name = 'MLAD2' THEN
2063 l_rslt_elmt := ben_ext_person.g_mail_address_line_2;
2064 ELSIF p_short_name = 'MLAD3' THEN
2065 l_rslt_elmt := ben_ext_person.g_mail_address_line_3;
2066 ELSIF p_short_name = 'MLADRDT' THEN
2067 l_rslt_elmt :=
2068 apply_format_mask(ben_ext_person.g_mail_address_date, p_frmt_mask_cd);
2069 --
2070 ELSIF p_short_name = 'MLCNTY' THEN -- Fix for Bug 2593220
2071 l_rslt_elmt := nvl(hr_general.DECODE_FND_COMM_LOOKUP(l_lookup_type,
2072 ben_ext_person.g_mail_county),
2073 ben_ext_person.g_mail_county);
2074 --l_rslt_elmt := ben_ext_person.g_mail_county; -- End of fix, Bug 2593220
2075 ELSIF p_short_name = 'MLCRY' THEN
2076 l_rslt_elmt := ben_ext_person.g_mail_country;
2077 ELSIF p_short_name = 'MLCTY' THEN
2078 l_rslt_elmt := ben_ext_person.g_mail_city;
2079 ELSIF p_short_name = 'MLREG3' THEN
2080 l_rslt_elmt := ben_ext_person.g_mail_region_3;
2081 ELSIF p_short_name = 'MLSTA' THEN
2082 l_rslt_elmt := ben_ext_person.g_mail_state;
2083 ELSIF p_short_name = 'MLZIP' THEN
2084 l_rslt_elmt := ben_ext_person.g_mail_postal_code;
2085 ELSIF p_short_name = 'MRTL' THEN
2086 l_rslt_elmt := ben_ext_person.g_marital_status;
2087 end if;
2088 elsif p_one_char_substr = 'N' then
2089 IF p_short_name = 'NATID' THEN
2090 l_rslt_elmt :=
2091 apply_format_mask(ben_ext_person.g_national_identifier, p_frmt_mask_cd);
2092 ELSIF p_short_name = 'NMSFX' THEN
2093 l_rslt_elmt := ben_ext_person.g_suffix;
2094 ELSIF p_short_name = 'NMPREFIX' THEN
2095 l_rslt_elmt := ben_ext_person.g_prefix;
2096 end if;
2097
2098 elsif p_one_char_substr = 'O' then
2099
2100 IF p_short_name = 'OIPLFLX01' THEN
2101 l_rslt_elmt := ben_ext_person.g_oipl_attr_1;
2102 ELSIF p_short_name = 'OIPLFLX02' THEN
2103 l_rslt_elmt := ben_ext_person.g_oipl_attr_2;
2104 ELSIF p_short_name = 'OIPLFLX03' THEN
2105 l_rslt_elmt := ben_ext_person.g_oipl_attr_3;
2106 ELSIF p_short_name = 'OIPLFLX04' THEN
2107 l_rslt_elmt := ben_ext_person.g_oipl_attr_4;
2108 ELSIF p_short_name = 'OIPLFLX05' THEN
2109 l_rslt_elmt := ben_ext_person.g_oipl_attr_5;
2110 ELSIF p_short_name = 'OIPLFLX06' THEN
2111 l_rslt_elmt := ben_ext_person.g_oipl_attr_6;
2112 ELSIF p_short_name = 'OIPLFLX07' THEN
2113 l_rslt_elmt := ben_ext_person.g_oipl_attr_7;
2114 ELSIF p_short_name = 'OIPLFLX08' THEN
2115 l_rslt_elmt := ben_ext_person.g_oipl_attr_8;
2116 ELSIF p_short_name = 'OIPLFLX09' THEN
2117 l_rslt_elmt := ben_ext_person.g_oipl_attr_9;
2118 ELSIF p_short_name = 'OIPLFLX10' THEN
2119 l_rslt_elmt := ben_ext_person.g_oipl_attr_10;
2120 ELSIF p_short_name = 'OTL_TC_START_DATE' THEN
2121 l_rslt_elmt := apply_format_mask
2122 (hxc_ext_timecard.OTL_TC_START_DATE, p_frmt_mask_cd);
2123 ELSIF p_short_name = 'OTL_TC_END_DATE' THEN
2124 l_rslt_elmt := apply_format_mask
2125 (hxc_ext_timecard.OTL_TC_END_DATE, p_frmt_mask_cd);
2126 ELSIF p_short_name = 'OTL_TC_STATUS' THEN
2127 l_rslt_elmt := hxc_ext_timecard.OTL_TC_STATUS;
2128 ELSIF p_short_name = 'OTL_TC_COMMENTS' THEN
2129 l_rslt_elmt := hxc_ext_timecard.OTL_TC_COMMENTS;
2130 ELSIF p_short_name = 'OTL_TC_DELTED' THEN
2131 l_rslt_elmt := hxc_ext_timecard.OTL_TC_DELTED;
2132 ELSIF p_short_name = 'OTL_DAY' THEN
2133 l_rslt_elmt := apply_format_mask
2134 (hxc_ext_timecard.OTL_DAY, p_frmt_mask_cd);
2135 ELSIF p_short_name = 'OTL_DAY_COMMENTS' THEN
2136 l_rslt_elmt := hxc_ext_timecard.OTL_DAY_COMMENTS;
2137 ELSIF p_short_name = 'OTL_MEASURE' THEN
2138 l_rslt_elmt := hxc_ext_timecard.OTL_MEASURE;
2139 ELSIF p_short_name = 'OTL_DAY_START' THEN
2140 l_rslt_elmt := apply_format_mask
2141 (hxc_ext_timecard.OTL_DAY_START, p_frmt_mask_cd);
2142 ELSIF p_short_name = 'OTL_DAY_STOP' THEN
2143 l_rslt_elmt := apply_format_mask
2144 (hxc_ext_timecard.OTL_DAY_STOP, p_frmt_mask_cd);
2145 ELSIF p_short_name = 'OTL_PA_SYS_LINK_FUNCN' THEN
2146 l_rslt_elmt := hxc_ext_timecard.OTL_PA_SYS_LINK_FUNCN;
2147 ELSIF p_short_name = 'OTL_PA_BILLABLE_FLAG' THEN
2148 l_rslt_elmt := hxc_ext_timecard.OTL_PA_BILLABLE_FLAG;
2149 ELSIF p_short_name = 'OTL_PA_TASK' THEN
2150 l_rslt_elmt := hxc_ext_timecard.OTL_PA_TASK;
2151 ELSIF p_short_name = 'OTL_PA_PROJECT' THEN
2152 l_rslt_elmt := hxc_ext_timecard.OTL_PA_PROJECT;
2153 ELSIF p_short_name = 'OTL_PA_EXPENDITURE_TYPE' THEN
2154 l_rslt_elmt := hxc_ext_timecard.OTL_PA_EXPENDITURE_TYPE;
2155 ELSIF p_short_name = 'OTL_PA_EXPENDITURE_COMMENT' THEN
2156 l_rslt_elmt := hxc_ext_timecard.OTL_PA_EXPENDITURE_COMMENT;
2157 ELSIF p_short_name = 'OTL_PAY_ELEMENT_NAME' THEN
2158 l_rslt_elmt := hxc_ext_timecard.OTL_PAY_ELEMENT_NAME;
2159 ELSIF p_short_name = 'OTL_PAY_COST_CENTRE' THEN
2160 l_rslt_elmt := hxc_ext_timecard.OTL_PAY_COST_CENTRE;
2161 ELSIF p_short_name = 'OTL_PO_NUMBER' THEN
2162 l_rslt_elmt := hxc_ext_timecard.OTL_PO_NUMBER;
2163 ELSIF p_short_name = 'OTL_PO_LINE_ID' THEN
2164 l_rslt_elmt := hxc_ext_timecard.OTL_PO_LINE_ID;
2165 ELSIF p_short_name = 'OTL_PO_PRICE_TYPE' THEN
2166 l_rslt_elmt := hxc_ext_timecard.OTL_PO_PRICE_TYPE;
2167 ELSIF p_short_name = 'OTL_ALIAS_ELEMENTS_EXP_SLF' THEN
2168 l_rslt_elmt := hxc_ext_timecard.OTL_ALIAS_ELEMENTS_EXP_SLF;
2169 ELSIF p_short_name = 'OTL_ALIAS_EXPENDITURE_ELEMENTS' THEN
2170 l_rslt_elmt := hxc_ext_timecard.OTL_ALIAS_EXPENDITURE_ELEMENTS;
2171 ELSIF p_short_name = 'OTL_ALIAS_EXPENDITURE_TYPES' THEN
2172 l_rslt_elmt := hxc_ext_timecard.OTL_ALIAS_EXPENDITURE_TYPES;
2173 ELSIF p_short_name = 'OTL_ALIAS_LOCATIONS' THEN
2174 l_rslt_elmt := hxc_ext_timecard.OTL_ALIAS_LOCATIONS;
2175 ELSIF p_short_name = 'OTL_ALIAS_PAYROLL_ELEMENTS' THEN
2176 l_rslt_elmt := hxc_ext_timecard.OTL_ALIAS_PAYROLL_ELEMENTS;
2177 ELSIF p_short_name = 'OTL_ALIAS_PROJECTS' THEN
2178 l_rslt_elmt := hxc_ext_timecard.OTL_ALIAS_PROJECTS;
2179 ELSIF p_short_name = 'OTL_ALIAS_TASKS' THEN
2180 l_rslt_elmt := hxc_ext_timecard.OTL_ALIAS_TASKS;
2181 ELSIF p_short_name = 'OTL_ALIAS_RATE_TYPE_EXP_SLF' THEN
2182 l_rslt_elmt := hxc_ext_timecard.OTL_ALIAS_RATE_TYPE_EXP_SLF;
2183 END IF;
2184
2185 elsif p_one_char_substr = 'P' then
2186 if p_two_char_substr = 'PA' then
2187 IF p_short_name = 'PABCRTBY' THEN
2188 l_rslt_elmt := -- Fix for Bug 3870480
2189 decode_setup(p_data_elmt_typ_cd,
2190 get_name(ben_ext_person.g_abs_created_by),
2191 ben_ext_person.g_abs_created_by);
2192 ELSIF p_short_name = 'PABCRTDT' THEN
2193 l_rslt_elmt :=
2194 apply_format_mask(ben_ext_person.g_abs_creation_date, p_frmt_mask_cd);
2195 --
2196 -- Flex Credit
2197 --
2198 ELSIF p_short_name = 'PABLSTUPBY' THEN -- Fix for Bug 3870480
2199 l_rslt_elmt :=
2200 decode_setup(p_data_elmt_typ_cd,
2201 get_name(ben_ext_person.g_abs_last_updated_by),
2202 ben_ext_person.g_abs_last_updated_by);
2203 ELSIF p_short_name = 'PABLSTUPDT' THEN
2204 l_rslt_elmt :=
2205 apply_format_mask(ben_ext_person.g_abs_last_update_date, p_frmt_mask_cd);
2206 ELSIF p_short_name = 'PABLSTUPLG' THEN
2207 l_rslt_elmt :=
2208 apply_format_mask(ben_ext_person.g_abs_last_update_login, p_frmt_mask_cd);
2209
2210 ELSIF p_short_name = 'PABSCAT' THEN
2211 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2212 ben_ext_person.g_abs_category_name,ben_ext_person.g_abs_category);
2213 ---bug1374208 l_rslt_elmt:=apply_format_mask(ben_ext_person.g_abs_category,p_frmt_mask_cd);
2214 ELSIF p_short_name = 'PABSDRN' THEN
2215 l_rslt_elmt := apply_format_mask(ben_ext_person.g_abs_duration,p_frmt_mask_cd);
2216 ELSIF p_short_name = 'PABSENDT' THEN
2217 l_rslt_elmt :=
2218 apply_format_mask(ben_ext_person.g_abs_end_dt,p_frmt_mask_cd);
2219 ELSIF p_short_name = 'PABSFLX01' THEN
2220 l_rslt_elmt := ben_ext_person.g_abs_flex_01;
2221 ELSIF p_short_name = 'PABSFLX02' THEN
2222 l_rslt_elmt := ben_ext_person.g_abs_flex_02;
2223 ELSIF p_short_name = 'PABSFLX03' THEN
2224 l_rslt_elmt := ben_ext_person.g_abs_flex_03;
2225 ELSIF p_short_name = 'PABSFLX04' THEN
2226 l_rslt_elmt := ben_ext_person.g_abs_flex_04;
2227 ELSIF p_short_name = 'PABSFLX05' THEN
2228 l_rslt_elmt := ben_ext_person.g_abs_flex_05;
2229 ELSIF p_short_name = 'PABSFLX06' THEN
2230 l_rslt_elmt := ben_ext_person.g_abs_flex_06;
2231 ELSIF p_short_name = 'PABSFLX07' THEN
2232 l_rslt_elmt := ben_ext_person.g_abs_flex_07;
2233 ELSIF p_short_name = 'PABSFLX08' THEN
2234 l_rslt_elmt := ben_ext_person.g_abs_flex_08;
2235 ELSIF p_short_name = 'PABSFLX09' THEN
2236 l_rslt_elmt := ben_ext_person.g_abs_flex_09;
2237 ELSIF p_short_name = 'PABSFLX10' THEN
2238 l_rslt_elmt := ben_ext_person.g_abs_flex_10;
2239 ELSIF p_short_name = 'PABSRSN' THEN
2240
2241 --
2242 -- bug 2841958, If the element type code is 'D' the reason code should
2243 -- be sent to decode_setup and not abs_reason_id, as abs_reason_id would
2244 -- result in the default value to be extracted for all people
2245 --
2246 -- l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2247 -- ben_ext_person.g_abs_reason_name,to_char(ben_ext_person.g_abs_reason));
2248
2249 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2250 ben_ext_person.g_abs_reason_name,ben_ext_person.g_abs_reason_cd);
2251
2252 -- end of bug 2841958
2253
2254 --bug 1374208 l_rslt_elmt := apply_format_mask(ben_ext_person.g_abs_reason,p_frmt_mask_cd);
2255 ELSIF p_short_name = 'PABSSTDT' THEN
2256 l_rslt_elmt :=
2257 apply_format_mask(ben_ext_person.g_abs_start_dt,p_frmt_mask_cd);
2258 ELSIF p_short_name = 'PABSTYP' THEN
2259 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2260 ben_ext_person.g_abs_type_name,to_char(ben_ext_person.g_abs_type));
2261 -- 1374208l l_rslt_elmt := apply_format_mask(ben_ext_person.g_abs_type,p_frmt_mask_cd);
2262 ELSIF p_short_name = 'PACRTBY' THEN
2263 l_rslt_elmt := -- Fix for Bug 3870480
2264 decode_setup(p_data_elmt_typ_cd,
2265 get_name(ben_ext_person.g_asg_created_by),
2266 ben_ext_person.g_asg_created_by);
2267 ELSIF p_short_name = 'PACRTDT' THEN
2268 l_rslt_elmt :=
2269 apply_format_mask(ben_ext_person.g_asg_creation_date, p_frmt_mask_cd);
2270 --
2271 ELSIF p_short_name = 'PADOT' THEN
2272 l_rslt_elmt :=
2273 apply_format_mask(ben_ext_person.g_actual_term_date, p_frmt_mask_cd);
2274 ELSIF p_short_name = 'PALCFLX01' THEN
2275 l_rslt_elmt := ben_ext_person.g_alc_flex_01;
2276 ELSIF p_short_name = 'PALCFLX02' THEN
2277 l_rslt_elmt := ben_ext_person.g_alc_flex_02;
2278 ELSIF p_short_name = 'PALCFLX03' THEN
2279 l_rslt_elmt := ben_ext_person.g_alc_flex_03;
2280 ELSIF p_short_name = 'PALCFLX04' THEN
2281 l_rslt_elmt := ben_ext_person.g_alc_flex_04;
2282 ELSIF p_short_name = 'PALCFLX05' THEN
2283 l_rslt_elmt := ben_ext_person.g_alc_flex_05;
2284 ELSIF p_short_name = 'PALCFLX06' THEN
2285 l_rslt_elmt := ben_ext_person.g_alc_flex_06;
2286 ELSIF p_short_name = 'PALCFLX07' THEN
2287 l_rslt_elmt := ben_ext_person.g_alc_flex_07;
2288 ELSIF p_short_name = 'PALCFLX08' THEN
2289 l_rslt_elmt := ben_ext_person.g_alc_flex_08;
2290 ELSIF p_short_name = 'PALCFLX09' THEN
2291 l_rslt_elmt := ben_ext_person.g_alc_flex_09;
2292 ELSIF p_short_name = 'PALCFLX10' THEN
2293 l_rslt_elmt := ben_ext_person.g_alc_flex_10;
2294 ELSIF p_short_name = 'PALSTUPBY' THEN
2295 l_rslt_elmt := -- Fix for Bug 3870480
2296 decode_setup(p_data_elmt_typ_cd,
2297 get_name(ben_ext_person.g_asg_last_updated_by),
2298 ben_ext_person.g_asg_last_updated_by);
2299 ELSIF p_short_name = 'PALSTUPDT' THEN
2300 l_rslt_elmt :=
2301 apply_format_mask(ben_ext_person.g_asg_last_update_date, p_frmt_mask_cd);
2302 ELSIF p_short_name = 'PALSTUPLG' THEN
2303 l_rslt_elmt :=
2304 apply_format_mask(ben_ext_person.g_asg_last_update_login, p_frmt_mask_cd);
2305
2306 ELSIF p_short_name = 'PARTFNM' THEN
2307 l_rslt_elmt :=
2308 apply_format_mask(ben_ext_person.g_part_first_name, p_frmt_mask_cd);
2309 ELSIF p_short_name = 'PARTLNM' THEN
2310 l_rslt_elmt :=
2311 apply_format_mask(ben_ext_person.g_part_last_name, p_frmt_mask_cd);
2312 --
2313 -- ASG
2314 ELSIF p_short_name = 'PARTSSN' THEN
2315 l_rslt_elmt :=
2316 apply_format_mask(ben_ext_person.g_part_ssn,p_frmt_mask_cd);
2317 ELSIF p_short_name = 'PASVCD' THEN
2318 l_rslt_elmt :=
2319 apply_format_mask(ben_ext_person.g_adjusted_svc_date, p_frmt_mask_cd);
2320 END IF;
2321 elsif p_two_char_substr = 'PB' then
2322 IF p_short_name = 'PBNBDC' THEN
2323 l_rslt_elmt :=
2324 apply_format_mask(ben_ext_person.g_benefit_bal_dfncntrbn, p_frmt_mask_cd);
2325 ELSIF p_short_name = 'PBNBPS' THEN
2326 l_rslt_elmt :=
2327 apply_format_mask(ben_ext_person.g_benefit_bal_pension, p_frmt_mask_cd);
2328 ELSIF p_short_name = 'PBNBSL' THEN
2329 l_rslt_elmt :=
2330 apply_format_mask(ben_ext_person.g_benefit_bal_sickleave, p_frmt_mask_cd);
2331 ELSIF p_short_name = 'PBNBVC' THEN
2332 l_rslt_elmt :=
2333 apply_format_mask(ben_ext_person.g_benefit_bal_vacation, p_frmt_mask_cd);
2334 ELSIF p_short_name = 'PBNBWN' THEN
2335 l_rslt_elmt :=
2336 apply_format_mask(ben_ext_person.g_benefit_bal_wellness, p_frmt_mask_cd);
2337 ELSIF p_short_name = 'PBNGFLX01' THEN
2338 l_rslt_elmt := ben_ext_person.g_bng_flex_01;
2339 ELSIF p_short_name = 'PBNGFLX02' THEN
2340 l_rslt_elmt := ben_ext_person.g_bng_flex_02;
2341 ELSIF p_short_name = 'PBNGFLX03' THEN
2342 l_rslt_elmt := ben_ext_person.g_bng_flex_03;
2343 ELSIF p_short_name = 'PBNGFLX04' THEN
2344 l_rslt_elmt := ben_ext_person.g_bng_flex_04;
2345 ELSIF p_short_name = 'PBNGFLX05' THEN
2346 l_rslt_elmt := ben_ext_person.g_bng_flex_05;
2347 ELSIF p_short_name = 'PBNGFLX06' THEN
2348 l_rslt_elmt := ben_ext_person.g_bng_flex_06;
2349 ELSIF p_short_name = 'PBNGFLX07' THEN
2350 l_rslt_elmt := ben_ext_person.g_bng_flex_07;
2351 ELSIF p_short_name = 'PBNGFLX08' THEN
2352 l_rslt_elmt := ben_ext_person.g_bng_flex_08;
2353 ELSIF p_short_name = 'PBNGFLX09' THEN
2354 l_rslt_elmt := ben_ext_person.g_bng_flex_09;
2355 ELSIF p_short_name = 'PBNGFLX10' THEN
2356 l_rslt_elmt := ben_ext_person.g_bng_flex_10;
2357 ELSIF p_short_name = 'PBNORDNM' THEN
2358 l_rslt_elmt :=
2359 apply_format_mask(ben_ext_person.g_enrt_benefit_order_num, p_frmt_mask_cd);
2360 ELSIF p_short_name = 'PBNSTCD' THEN
2361 l_rslt_elmt := ben_ext_person.g_bnft_stat_cd;
2362 ELSIF p_short_name = 'PBASSAL' then
2363 l_rslt_elmt := apply_format_mask(ben_ext_person.g_base_salary, p_frmt_mask_cd);
2364 ELSIF p_short_name = 'PBSGRP' THEN
2365 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2366 ben_extract.g_proc_business_group_name,
2367 to_char( ben_extract.g_proc_business_group_id));
2368 --
2369
2370 end if;
2371 elsif p_two_char_substr = 'PC' then
2372 IF p_short_name = 'PCBRAENDT' THEN
2373 l_rslt_elmt := apply_format_mask(ben_ext_person.g_cbra_end_dt,p_frmt_mask_cd);
2374 -- Communication
2375 --
2376 ELSIF p_short_name = 'PCBRAENM' THEN
2377 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2378 ben_ext_person.g_cbra_ler_name,
2379 to_char(ben_ext_person.g_cbra_ler_id));
2380 ELSIF p_short_name = 'PCBRASTDT' THEN
2381 l_rslt_elmt := apply_format_mask(ben_ext_person.g_cbra_strt_dt,
2382 p_frmt_mask_cd);
2383 ELSIF p_short_name = 'PCO' THEN
2384 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2385 ben_ext_person.g_payroll_costing,
2386 to_char(ben_ext_person.g_payroll_costing_id));
2387 ELSIF p_short_name = 'PCRTBY' THEN
2388 l_rslt_elmt := -- Fix for Bug 3870480
2389 decode_setup(p_data_elmt_typ_cd,
2390 get_name(ben_ext_person.g_created_by),
2391 ben_ext_person.g_created_by);
2392 ELSIF p_short_name = 'PCRTDT' THEN
2393 l_rslt_elmt :=
2394 apply_format_mask(ben_ext_person.g_creation_date, p_frmt_mask_cd);
2395 --
2396 ELSIF p_short_name = 'PCS' THEN
2397 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2398 ben_ext_person.g_payroll_consolidation_set,
2399 to_char(ben_ext_person.g_payroll_consolidation_set_id));
2400 ELSIF p_short_name = 'PCVGAMT' THEN
2401 l_rslt_elmt := apply_format_mask(ben_ext_person.g_enrt_cvg_amt,
2402 p_frmt_mask_cd);
2403 --
2404 end if;
2405 elsif p_two_char_substr = 'PE' then
2406 IF p_short_name = 'PEC' THEN
2407 l_rslt_elmt := ben_ext_person.g_enrt_uom;
2408 ELSIF p_short_name = 'PEEAFTRTX' THEN
2409 l_rslt_elmt :=
2410 apply_format_mask(ben_ext_person.g_ee_after_tax_cost, p_frmt_mask_cd);
2411 ELSIF p_short_name = 'PEEPRETX' THEN
2412 l_rslt_elmt :=
2413 apply_format_mask(ben_ext_person.g_ee_pre_tax_cost, p_frmt_mask_cd);
2414 ELSIF p_short_name = 'PEETTL' THEN
2415 l_rslt_elmt := apply_format_mask(ben_ext_person.g_ee_ttl_cost,
2416 p_frmt_mask_cd);
2417 ELSIF p_short_name = 'PEICVG' THEN
2418 l_rslt_elmt :=
2419 apply_format_mask(ben_ext_person.g_enrt_int_cvg_amt, p_frmt_mask_cd);
2420 ELSIF p_short_name = 'PEIOPTNM' THEN
2421 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2422 ben_ext_person.g_enrt_int_opt_name,
2423 to_char(ben_ext_person.g_enrt_int_opt_id));
2424 ELSIF p_short_name = 'PEIPLNM' THEN
2425 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2426 ben_ext_person.g_enrt_int_pl_name,
2427 to_char(ben_ext_person.g_enrt_int_pl_id));
2428 ELSIF p_short_name = 'PELCMDDT' THEN
2429 l_rslt_elmt :=
2430 apply_format_mask(ben_ext_person.g_enrt_elec_made_dt, p_frmt_mask_cd);
2431 ELSIF p_short_name = 'PENRMTHD' THEN
2432 l_rslt_elmt := ben_ext_person.g_enrt_method;
2433 ELSIF p_short_name = 'PENROVFG' THEN
2434 l_rslt_elmt := ben_ext_person.g_enrt_ovrd_flag;
2435 ELSIF p_short_name = 'PENROVRSN' THEN
2436 l_rslt_elmt := ben_ext_person.g_enrt_ovrd_reason;
2437 ELSIF p_short_name = 'PENROVTDT' THEN
2438 l_rslt_elmt :=
2439 apply_format_mask(ben_ext_person.g_enrt_ovrd_thru_dt, p_frmt_mask_cd);
2440 ELSIF p_short_name = 'PENRRSDT' THEN
2441 l_rslt_elmt :=
2442 apply_format_mask(ben_ext_person.g_enrt_rslt_effct_strdt, p_frmt_mask_cd);
2443 ELSIF p_short_name = 'PENRSPDFG' THEN
2444 l_rslt_elmt := ben_ext_person.g_enrt_suspended_flag;
2445 ELSIF p_short_name = 'PERADJ' THEN
2446 l_rslt_elmt := ben_ext_person.g_pre_name_adjunct;
2447 ELSIF p_short_name = 'PEREML' THEN
2448 l_rslt_elmt := substr(ben_ext_person.g_email_address,1,600) ;
2449 ELSIF p_short_name = 'PERFLX01' THEN
2450 l_rslt_elmt := ben_ext_person.g_per_attr_1;
2451 ELSIF p_short_name = 'PERFLX02' THEN
2452 l_rslt_elmt := ben_ext_person.g_per_attr_2;
2453 ELSIF p_short_name = 'PERFLX03' THEN
2454 l_rslt_elmt := ben_ext_person.g_per_attr_3;
2455 ELSIF p_short_name = 'PERFLX04' THEN
2456 l_rslt_elmt := ben_ext_person.g_per_attr_4;
2457 ELSIF p_short_name = 'PERFLX05' THEN
2458 l_rslt_elmt := ben_ext_person.g_per_attr_5;
2459 ELSIF p_short_name = 'PERFLX06' THEN
2460 l_rslt_elmt := ben_ext_person.g_per_attr_6;
2461 ELSIF p_short_name = 'PERFLX07' THEN
2462 l_rslt_elmt := ben_ext_person.g_per_attr_7;
2463 ELSIF p_short_name = 'PERFLX08' THEN
2464 l_rslt_elmt := ben_ext_person.g_per_attr_8;
2465 ELSIF p_short_name = 'PERFLX09' THEN
2466 l_rslt_elmt := ben_ext_person.g_per_attr_9;
2467 ELSIF p_short_name = 'PERFLX10' THEN
2468 l_rslt_elmt := ben_ext_person.g_per_attr_10;
2469 ELSIF p_short_name = 'PERKNWN' THEN
2470 l_rslt_elmt := ben_ext_person.g_known_as;
2471 ELSIF p_short_name = 'PERLNG' THEN
2472 l_rslt_elmt := ben_ext_person.g_correspondence_language;
2473 ELSIF p_short_name = 'PERMSTP' THEN
2474 l_rslt_elmt := ben_ext_person.g_mailstop;
2475 ELSIF p_short_name = 'PERNTL' THEN
2476 l_rslt_elmt := ben_ext_person.g_nationality;
2477 ELSIF p_short_name = 'PEROHD' THEN
2478 l_rslt_elmt :=
2479 apply_format_mask(ben_ext_person.g_original_date_of_hire, p_frmt_mask_cd);
2480 ELSIF p_short_name = 'PERPDOB' THEN
2481 l_rslt_elmt := apply_format_mask(ben_ext_person.g_previous_dob,
2482 p_frmt_mask_cd);
2483 --
2484 ELSIF p_short_name = 'PERPSEX' THEN
2485 l_rslt_elmt := ben_ext_person.g_previous_sex;
2486 -- extract dates and bus group
2487 --
2488 ELSIF p_short_name = 'PERPFST' THEN
2489 l_rslt_elmt := ben_ext_person.g_previous_first_name;
2490 ELSIF p_short_name = 'PERPLN' THEN
2491 l_rslt_elmt := ben_ext_person.g_previous_last_name;
2492 ELSIF p_short_name = 'PERPMID' THEN
2493 l_rslt_elmt := ben_ext_person.g_previous_middle_name;
2494 ELSIF p_short_name = 'PERPSSN' THEN
2495 l_rslt_elmt := apply_format_mask(ben_ext_person.g_previous_ssn,
2496 p_frmt_mask_cd);
2497 ELSIF p_short_name = 'PERPSUF' THEN
2498 l_rslt_elmt := ben_ext_person.g_previous_suffix;
2499 ELSIF p_short_name = 'PERPPRE' THEN
2500 l_rslt_elmt := ben_ext_person.g_previous_prefix;
2501 ELSIF p_short_name = 'PERTBC' THEN
2502 l_rslt_elmt :=
2503 apply_format_mask(ben_ext_person.g_uses_tobacco_flag, p_frmt_mask_cd);
2504 --
2505 ELSIF p_short_name = 'PERTTL' THEN
2506 l_rslt_elmt := apply_format_mask(ben_ext_person.g_er_ttl_cost,
2507 p_frmt_mask_cd);
2508 ELSIF p_short_name = 'PEROPMED' THEN
2509 l_rslt_elmt := ben_ext_person.g_per_information10 ;
2510 ELSIF p_short_name = 'PERETHORG' THEN
2511 l_rslt_elmt := ben_ext_person.g_per_information1 ;
2512 ELSIF p_short_name = 'PEVEEATC' THEN
2513 l_rslt_elmt :=
2514 apply_format_mask(ben_ext_person.g_pev_ee_after_tax_contr, p_frmt_mask_cd);
2515 ELSIF p_short_name = 'PEVEEPTC' THEN
2516 l_rslt_elmt :=
2517 apply_format_mask(ben_ext_person.g_pev_ee_pre_tax_contr, p_frmt_mask_cd);
2518 ELSIF p_short_name = 'PEVEETOTC' THEN
2519 l_rslt_elmt :=
2520 apply_format_mask(ben_ext_person.g_pev_ee_ttl_contr, p_frmt_mask_cd);
2521 ELSIF p_short_name = 'PEVEETOTD' THEN
2522 l_rslt_elmt :=
2523 apply_format_mask(ben_ext_person.g_pev_ee_ttl_distribution, p_frmt_mask_cd);
2524 ELSIF p_short_name = 'PEVERTOTC' THEN
2525 l_rslt_elmt :=
2526 apply_format_mask(ben_ext_person.g_pev_er_ttl_contr, p_frmt_mask_cd);
2527 ELSIF p_short_name = 'PEVERTOTD' THEN
2528 l_rslt_elmt :=
2529 apply_format_mask(ben_ext_person.g_pev_er_ttl_distribution, p_frmt_mask_cd);
2530 ELSIF p_short_name = 'PEVTOTOR' THEN
2531 l_rslt_elmt :=
2532 apply_format_mask(ben_ext_person.g_pev_ttl_other_rate, p_frmt_mask_cd);
2533 --
2534 -- Absence
2535 --
2536 ELSIF p_short_name = 'PERTYPE' THEN
2537 --
2538 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2539 ben_ext_person.g_person_types ,
2540 to_char(ben_ext_person.g_person_type_id ));
2541 --
2542 ELSIF p_short_name = 'PERSHLNM' THEN
2543
2544 l_rslt_elmt := ben_ext_person.g_ESTABLISHMENT_name ;
2545 -- cwb changes
2546 --Enrollment Rate - CWB Distribution Budget
2547 ELSIF p_short_name = 'PECWBDSBD' THEN
2548 l_rslt_elmt :=
2549 apply_format_mask(ben_ext_person.g_er_cwb_dst_bdgt , p_frmt_mask_cd);
2550 --Enrollment Rate - CWB Misc Rate 1
2551 ELSIF p_short_name = 'PECWBMSR1' THEN
2552 l_rslt_elmt :=
2553 apply_format_mask(ben_ext_person.g_er_cwb_misc_rate_1, p_frmt_mask_cd);
2554 --Enrollment Rate - CWB Eligible Salary
2555 ELSIF p_short_name = 'PECWBELSL' THEN
2556 l_rslt_elmt :=
2557 apply_format_mask(ben_ext_person.g_er_cwb_elig_salary, p_frmt_mask_cd);
2558 --nrollment Rate - CWB Misc Rate 2
2559 ELSIF p_short_name = 'PECWBMSR2' THEN
2560 l_rslt_elmt :=
2561 apply_format_mask(ben_ext_person.g_er_cwb_misc_rate_2, p_frmt_mask_cd);
2562 --Enrollment Rate - CWB Grant Price
2563 ELSIF p_short_name = 'PECWBGRPR' THEN
2564 l_rslt_elmt :=
2565 apply_format_mask(ben_ext_person.g_er_cwb_grant_price , p_frmt_mask_cd);
2566 --Enrollment Rate - CWB Other Salary
2567 ELSIF p_short_name = 'PECWBOTSL' THEN
2568 l_rslt_elmt :=
2569 apply_format_mask(ben_ext_person.g_er_cwb_other_salary , p_frmt_mask_cd);
2570 --Enrollment Rate - CWB Reserve
2571 ELSIF p_short_name = 'PECWBRSRV' THEN
2572 l_rslt_elmt :=
2573 apply_format_mask(ben_ext_person.g_er_cwb_reserve , p_frmt_mask_cd);
2574 --Enrollment Rate - CWB Recommended Amount
2575 ELSIF p_short_name = 'PECWBRCAM' THEN
2576 l_rslt_elmt :=
2577 apply_format_mask(ben_ext_person.g_er_cwb_recomond_amt , p_frmt_mask_cd);
2578 --Enrollment Rate - CWB Stated Salary
2579 ELSIF p_short_name = 'PECWBSTSL' THEN
2580 l_rslt_elmt :=
2581 apply_format_mask(ben_ext_person.g_er_cwb_stated_salary , p_frmt_mask_cd);
2582 --Enrollment Rate - CWB Total Compensation
2583 ELSIF p_short_name = 'PECWBTTCM' THEN
2584 l_rslt_elmt :=
2585 apply_format_mask(ben_ext_person.g_er_cwb_tot_compensation , p_frmt_mask_cd);
2586 --Enrollment Rate - CWB Worksheet Budget
2587 ELSIF p_short_name = 'PECWBWSBD' THEN
2588 l_rslt_elmt :=
2589 apply_format_mask(ben_ext_person.g_er_cwb_worksheet_bdgt , p_frmt_mask_cd);
2590 --Enrollment Rate - CWB Worksheet Amount
2591 ELSIF p_short_name = 'PECWBWSAM' THEN
2592 hr_utility.set_location(' Worksheet Amount ' || ben_ext_person.g_er_cwb_worksheet_amt,991);
2593 l_rslt_elmt :=
2594 apply_format_mask(ben_ext_person.g_er_cwb_worksheet_amt , p_frmt_mask_cd);
2595 --Enrollment Rate - CWB Misc Rate 3
2596 ELSIF p_short_name = 'PECWBMSR3' THEN
2597 l_rslt_elmt :=
2598 apply_format_mask(ben_ext_person.g_er_cwb_misc_rate_3 , p_frmt_mask_cd);
2599 --Enrollment Rate - Reimbursement
2600 ELSIF p_short_name = 'PEREIMBRS' THEN
2601 l_rslt_elmt :=
2602 apply_format_mask(ben_ext_person.g_pev_er_reimbursement , p_frmt_mask_cd);
2603 --Enrollment Rate - Forfeited
2604 ELSIF p_short_name = 'PEFORFEIT' THEN
2605 l_rslt_elmt :=
2606 apply_format_mask(ben_ext_person.g_pev_er_forfeited , p_frmt_mask_cd);
2607
2608
2609 end if;
2610
2611 elsif p_two_char_substr = 'PF' then
2612 IF p_short_name = 'PFLXAMT' THEN
2613 l_rslt_elmt := apply_format_mask(ben_ext_person.g_flex_amt,
2614 p_frmt_mask_cd);
2615 ELSIF p_short_name = 'PFLXCMBOPT' THEN
2616 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2617 ben_ext_person.g_flex_cmbn_ptip_opt_name,
2618 to_char(ben_ext_person.g_flex_cmbn_ptip_opt_id));
2619 ELSIF p_short_name = 'PFLXCMBPLN' THEN
2620 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2621 ben_ext_person.g_flex_cmbn_plip_name,
2622 to_char(ben_ext_person.g_flex_cmbn_plip_id));
2623 ELSIF p_short_name = 'PFLXCMBPLT' THEN
2624 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2625 ben_ext_person.g_flex_cmbn_ptip_name,
2626 to_char(ben_ext_person.g_flex_cmbn_ptip_id));
2627 ELSIF p_short_name = 'PFLXCREXC' THEN
2628 l_rslt_elmt :=
2629 apply_format_mask(ben_ext_person.g_flex_credit_excess, p_frmt_mask_cd);
2630 ELSIF p_short_name = 'PFLXCRFRT' THEN
2631 l_rslt_elmt :=
2632 apply_format_mask(ben_ext_person.g_flex_credit_forfited, p_frmt_mask_cd);
2633 ELSIF p_short_name = 'PFLXCRPRV' THEN
2634 l_rslt_elmt :=
2635 apply_format_mask(ben_ext_person.g_flex_credit_provided, p_frmt_mask_cd);
2636 ELSIF p_short_name = 'PFLXCRUSD' THEN
2637 l_rslt_elmt :=
2638 apply_format_mask(ben_ext_person.g_flex_credit_used, p_frmt_mask_cd);
2639 ELSIF p_short_name = 'PFLXCUR' THEN
2640 l_rslt_elmt := ben_ext_person.g_flex_currency;
2641 ELSIF p_short_name = 'PFLXOPT' THEN
2642 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2643 ben_ext_person.g_flex_opt_name,
2644 to_char(ben_ext_person.g_flex_opt_id));
2645 ELSIF p_short_name = 'PFLXPGM' THEN
2646 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2647 ben_ext_person.g_flex_pgm_name,
2648 to_char(ben_ext_person.g_flex_pgm_id));
2649 ELSIF p_short_name = 'PFLXPLN' THEN
2650 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2651 ben_ext_person.g_flex_pl_name,
2652 to_char(ben_ext_person.g_flex_pl_id));
2653 ELSIF p_short_name = 'PFLXPLTYP' THEN
2654 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2655 ben_ext_person.g_flex_pl_typ_name,
2656 to_char(ben_ext_person.g_flex_pl_typ_id));
2657 ELSIF p_short_name = 'PFLXPOOL' THEN
2658 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2659 ben_ext_person.g_flex_bnft_pool_name,
2660 to_char(ben_ext_person.g_flex_bnft_pool_id));
2661 --
2662 -- Covered Dependents
2663 --
2664 end if;
2665 elsif p_two_char_substr = 'PG' then
2666 IF p_short_name = 'PGMFLX01' THEN
2667 l_rslt_elmt := ben_ext_person.g_pgm_attr_1;
2668 ELSIF p_short_name = 'PGMFLX02' THEN
2669 l_rslt_elmt := ben_ext_person.g_pgm_attr_2;
2670 ELSIF p_short_name = 'PGMFLX03' THEN
2671 l_rslt_elmt := ben_ext_person.g_pgm_attr_3;
2672 ELSIF p_short_name = 'PGMFLX04' THEN
2673 l_rslt_elmt := ben_ext_person.g_pgm_attr_4;
2674 ELSIF p_short_name = 'PGMFLX05' THEN
2675 l_rslt_elmt := ben_ext_person.g_pgm_attr_5;
2676 ELSIF p_short_name = 'PGMFLX06' THEN
2677 l_rslt_elmt := ben_ext_person.g_pgm_attr_6;
2678 ELSIF p_short_name = 'PGMFLX07' THEN
2679 l_rslt_elmt := ben_ext_person.g_pgm_attr_7;
2680 ELSIF p_short_name = 'PGMFLX08' THEN
2681 l_rslt_elmt := ben_ext_person.g_pgm_attr_8;
2682 ELSIF p_short_name = 'PGMFLX09' THEN
2683 l_rslt_elmt := ben_ext_person.g_pgm_attr_9;
2684 ELSIF p_short_name = 'PGMFLX10' THEN
2685 l_rslt_elmt := ben_ext_person.g_pgm_attr_10;
2686 ELSIF p_short_name = 'PGRDFLX01' THEN
2687 l_rslt_elmt := ben_ext_person.g_grd_flex_01;
2688 ELSIF p_short_name = 'PGRDFLX02' THEN
2689 l_rslt_elmt := ben_ext_person.g_grd_flex_02;
2690 ELSIF p_short_name = 'PGRDFLX03' THEN
2691 l_rslt_elmt := ben_ext_person.g_grd_flex_03;
2692 ELSIF p_short_name = 'PGRDFLX04' THEN
2693 l_rslt_elmt := ben_ext_person.g_grd_flex_04;
2694 ELSIF p_short_name = 'PGRDFLX05' THEN
2695 l_rslt_elmt := ben_ext_person.g_grd_flex_05;
2696 ELSIF p_short_name = 'PGRDFLX06' THEN
2697 l_rslt_elmt := ben_ext_person.g_grd_flex_06;
2698 ELSIF p_short_name = 'PGRDFLX07' THEN
2699 l_rslt_elmt := ben_ext_person.g_grd_flex_07;
2700 ELSIF p_short_name = 'PGRDFLX08' THEN
2701 l_rslt_elmt := ben_ext_person.g_grd_flex_08;
2702 ELSIF p_short_name = 'PGRDFLX09' THEN
2703 l_rslt_elmt := ben_ext_person.g_grd_flex_09;
2704 ELSIF p_short_name = 'PGRDFLX10' THEN
2705 l_rslt_elmt := ben_ext_person.g_grd_flex_10;
2706 end if;
2707 elsif p_two_char_substr = 'PI' then
2708 IF p_short_name = 'PINCOVFG' THEN
2709 l_rslt_elmt := ben_ext_person.g_enrt_intrcovg_flag;
2710 end if;
2711 elsif p_two_char_substr = 'PJ' then
2712 IF p_short_name = 'PJOBFLX01' THEN
2713 l_rslt_elmt := ben_ext_person.g_job_flex_01;
2714 ELSIF p_short_name = 'PJOBFLX02' THEN
2715 l_rslt_elmt := ben_ext_person.g_job_flex_02;
2716 ELSIF p_short_name = 'PJOBFLX03' THEN
2717 l_rslt_elmt := ben_ext_person.g_job_flex_03;
2718 ELSIF p_short_name = 'PJOBFLX04' THEN
2719 l_rslt_elmt := ben_ext_person.g_job_flex_04;
2720 ELSIF p_short_name = 'PJOBFLX05' THEN
2721 l_rslt_elmt := ben_ext_person.g_job_flex_05;
2722 ELSIF p_short_name = 'PJOBFLX06' THEN
2723 l_rslt_elmt := ben_ext_person.g_job_flex_06;
2724 ELSIF p_short_name = 'PJOBFLX07' THEN
2725 l_rslt_elmt := ben_ext_person.g_job_flex_07;
2726 ELSIF p_short_name = 'PJOBFLX08' THEN
2727 l_rslt_elmt := ben_ext_person.g_job_flex_08;
2728 ELSIF p_short_name = 'PJOBFLX09' THEN
2729 l_rslt_elmt := ben_ext_person.g_job_flex_09;
2730 ELSIF p_short_name = 'PJOBFLX10' THEN
2731 l_rslt_elmt := ben_ext_person.g_job_flex_10;
2732 end if;
2733 elsif p_two_char_substr = 'PL' then
2734 IF p_short_name = 'PLDOH' THEN
2735 l_rslt_elmt :=
2736 apply_format_mask(ben_ext_person.g_last_hire_date, p_frmt_mask_cd);
2737 ELSIF p_short_name = 'PLENM' THEN
2738 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2739 ben_ext_person.g_enrt_lfevt_name,
2740 to_char(ben_ext_person.g_enrt_ler_id));
2741 ELSIF p_short_name = 'PLENTDT' THEN
2742 l_rslt_elmt :=
2743 apply_format_mask(ben_ext_person.g_enrt_lfevt_note_dt, p_frmt_mask_cd);
2744 ELSIF p_short_name = 'PLEOCRDT' THEN
2745 l_rslt_elmt :=
2746 apply_format_mask(ben_ext_person.g_enrt_lfevt_ocrd_dt, p_frmt_mask_cd);
2747 ELSIF p_short_name = 'PLERDT' THEN
2748 l_rslt_elmt :=
2749 apply_format_mask(ben_ext_person.g_lf_evt_ocrd_dt, p_frmt_mask_cd);
2750 ELSIF p_short_name = 'PLERNM' THEN
2751 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2752 ben_ext_person.g_ler_name,
2753 to_char(ben_ext_person.g_ler_id));
2754 ELSIF p_short_name = 'PLESTS' THEN
2755 l_rslt_elmt := ben_ext_person.g_enrt_lfevt_status;
2756 ELSIF p_short_name = 'PLFEVNTDT' THEN
2757 l_rslt_elmt :=
2758 apply_format_mask(ben_ext_person.g_lf_evt_note_dt, p_frmt_mask_cd);
2759 ELSIF p_short_name = 'PLFLX01' THEN
2760 l_rslt_elmt := ben_ext_person.g_pl_attr_1;
2761 ELSIF p_short_name = 'PLFLX02' THEN
2762 l_rslt_elmt := ben_ext_person.g_pl_attr_2;
2763 ELSIF p_short_name = 'PLFLX03' THEN
2764 l_rslt_elmt := ben_ext_person.g_pl_attr_3;
2765 ELSIF p_short_name = 'PLFLX04' THEN
2766 l_rslt_elmt := ben_ext_person.g_pl_attr_4;
2767 ELSIF p_short_name = 'PLFLX05' THEN
2768 l_rslt_elmt := ben_ext_person.g_pl_attr_5;
2769 ELSIF p_short_name = 'PLFLX06' THEN
2770 l_rslt_elmt := ben_ext_person.g_pl_attr_6;
2771 ELSIF p_short_name = 'PLFLX07' THEN
2772 l_rslt_elmt := ben_ext_person.g_pl_attr_7;
2773 ELSIF p_short_name = 'PLFLX08' THEN
2774 l_rslt_elmt := ben_ext_person.g_pl_attr_8;
2775 ELSIF p_short_name = 'PLFLX09' THEN
2776 l_rslt_elmt := ben_ext_person.g_pl_attr_9;
2777 ELSIF p_short_name = 'PLFLX10' THEN
2778 l_rslt_elmt := ben_ext_person.g_pl_attr_10;
2779 ELSIF p_short_name = 'PLIPFLX01' THEN
2780 l_rslt_elmt := ben_ext_person.g_plip_attr_1;
2781 ELSIF p_short_name = 'PLIPFLX02' THEN
2782 l_rslt_elmt := ben_ext_person.g_plip_attr_2;
2783 ELSIF p_short_name = 'PLIPFLX03' THEN
2784 l_rslt_elmt := ben_ext_person.g_plip_attr_3;
2785 ELSIF p_short_name = 'PLIPFLX04' THEN
2786 l_rslt_elmt := ben_ext_person.g_plip_attr_4;
2787 ELSIF p_short_name = 'PLIPFLX05' THEN
2788 l_rslt_elmt := ben_ext_person.g_plip_attr_5;
2789 ELSIF p_short_name = 'PLIPFLX06' THEN
2790 l_rslt_elmt := ben_ext_person.g_plip_attr_6;
2791 ELSIF p_short_name = 'PLIPFLX07' THEN
2792 l_rslt_elmt := ben_ext_person.g_plip_attr_7;
2793 ELSIF p_short_name = 'PLIPFLX08' THEN
2794 l_rslt_elmt := ben_ext_person.g_plip_attr_8;
2795 ELSIF p_short_name = 'PLIPFLX09' THEN
2796 l_rslt_elmt := ben_ext_person.g_plip_attr_9;
2797 ELSIF p_short_name = 'PLIPFLX10' THEN
2798 l_rslt_elmt := ben_ext_person.g_plip_attr_10;
2799 ELSIF p_short_name = 'PLSTUPBY' THEN
2800 l_rslt_elmt := -- Fix for Bug 3870480
2801 decode_setup(p_data_elmt_typ_cd,
2802 get_name(ben_ext_person.g_last_updated_by),
2803 ben_ext_person.g_last_updated_by);
2804 ELSIF p_short_name = 'PLSTUPDT' THEN
2805 l_rslt_elmt :=
2806 apply_format_mask(ben_ext_person.g_last_update_date, p_frmt_mask_cd);
2807 ELSIF p_short_name = 'PLSTUPLG' THEN
2808 l_rslt_elmt :=
2809 apply_format_mask(ben_ext_person.g_last_update_login, p_frmt_mask_cd);
2810 ELSIF p_short_name = 'PLTYPFLX01' THEN
2811 l_rslt_elmt := ben_ext_person.g_ptp_attr_1;
2812 ELSIF p_short_name = 'PLTYPFLX02' THEN
2813 l_rslt_elmt := ben_ext_person.g_ptp_attr_2;
2814 ELSIF p_short_name = 'PLTYPFLX03' THEN
2815 l_rslt_elmt := ben_ext_person.g_ptp_attr_3;
2816 ELSIF p_short_name = 'PLTYPFLX04' THEN
2817 l_rslt_elmt := ben_ext_person.g_ptp_attr_4;
2818 ELSIF p_short_name = 'PLTYPFLX05' THEN
2819 l_rslt_elmt := ben_ext_person.g_ptp_attr_5;
2820 ELSIF p_short_name = 'PLTYPFLX06' THEN
2821 l_rslt_elmt := ben_ext_person.g_ptp_attr_6;
2822 ELSIF p_short_name = 'PLTYPFLX07' THEN
2823 l_rslt_elmt := ben_ext_person.g_ptp_attr_7;
2824 ELSIF p_short_name = 'PLTYPFLX08' THEN
2825 l_rslt_elmt := ben_ext_person.g_ptp_attr_8;
2826 ELSIF p_short_name = 'PLTYPFLX09' THEN
2827 l_rslt_elmt := ben_ext_person.g_ptp_attr_9;
2828 ELSIF p_short_name = 'PLTYPFLX10' THEN
2829 l_rslt_elmt := ben_ext_person.g_ptp_attr_10;
2830 end if;
2831 elsif p_two_char_substr = 'PM' then
2832 IF p_short_name = 'PMTPRAMT' THEN
2833 hr_utility.set_location(' pm ' || p_short_name ,5382 );
2834 l_rslt_elmt :=
2835 apply_format_mask(ben_ext_person.g_enrt_mntot_prem_amt, p_frmt_mask_cd);
2836 ELSIF p_short_name = 'PMTPRCRT' THEN
2837 hr_utility.set_location(' pm ' || p_short_name ,5382 );
2838 l_rslt_elmt :=
2839 apply_format_mask(ben_ext_person.g_enrt_mntot_prem_cramt, p_frmt_mask_cd);
2840 end if ;
2841 --
2842
2843 elsif p_two_char_substr = 'PN' then
2844 IF p_short_name = 'PNMLHR' THEN
2845 l_rslt_elmt := apply_format_mask(ben_ext_person.g_asg_normal_hours, p_frmt_mask_cd);
2846 ELSIF p_short_name = 'PNMLFRQ' THEN
2847 l_rslt_elmt := ben_ext_person.g_asg_frequency;
2848 ELSIF p_short_name = 'PNMLFTM' THEN
2849 l_rslt_elmt := ben_ext_person.g_asg_time_normal_finish;
2850 ELSIF p_short_name = 'PNMLSTM' THEN
2851 l_rslt_elmt := ben_ext_person.g_asg_time_normal_start;
2852 end if;
2853 --- tilak: the decode supports for null value and default values
2854 --- so it is neccessery to call the apply_decode for null element
2855 /*
2856 if p_data_elmt_typ_cd = 'D' then
2857 l_rslt_elmt := apply_decode
2858 (p_value => l_rslt_elmt,
2859 p_ext_data_elmt_id => p_ext_data_elmt_id,
2860 p_default => p_dflt_val,
2861 p_short_name => p_short_name);
2862 end if;
2863 */
2864
2865 elsif p_two_char_substr = 'PO' then
2866 IF p_short_name = 'POCSTDT' THEN
2867 l_rslt_elmt :=
2868 apply_format_mask(ben_ext_person.g_enrt_orgcovg_strdt, p_frmt_mask_cd);
2869 ELSIF p_short_name = 'POCSTDTP' THEN
2870 l_rslt_elmt :=
2871 apply_format_mask(ben_ext_person.g_enrt_prt_orgcovg_strdt, p_frmt_mask_cd);
2872 ELSIF p_short_name = 'POFNUM' THEN
2873 l_rslt_elmt := ben_ext_person.g_office_number;
2874 --
2875
2876 ELSIF p_short_name = 'POIPSQNUM' THEN
2877 l_rslt_elmt :=
2878 apply_format_mask(ben_ext_person.g_enrt_oip_seq_num, p_frmt_mask_cd);
2879 ELSIF p_short_name = 'POPTFLX01' THEN
2880 l_rslt_elmt := ben_ext_person.g_opt_attr_1;
2881 ELSIF p_short_name = 'POPTFLX02' THEN
2882 l_rslt_elmt := ben_ext_person.g_opt_attr_2;
2883 ELSIF p_short_name = 'POPTFLX03' THEN
2884 l_rslt_elmt := ben_ext_person.g_opt_attr_3;
2885 ELSIF p_short_name = 'POPTFLX04' THEN
2886 l_rslt_elmt := ben_ext_person.g_opt_attr_4;
2887 ELSIF p_short_name = 'POPTFLX05' THEN
2888 l_rslt_elmt := ben_ext_person.g_opt_attr_5;
2889 ELSIF p_short_name = 'POPTFLX06' THEN
2890 l_rslt_elmt := ben_ext_person.g_opt_attr_6;
2891 ELSIF p_short_name = 'POPTFLX07' THEN
2892 l_rslt_elmt := ben_ext_person.g_opt_attr_7;
2893 ELSIF p_short_name = 'POPTFLX08' THEN
2894 l_rslt_elmt := ben_ext_person.g_opt_attr_8;
2895 ELSIF p_short_name = 'POPTFLX09' THEN
2896 l_rslt_elmt := ben_ext_person.g_opt_attr_9;
2897 ELSIF p_short_name = 'POPTFLX10' THEN
2898 l_rslt_elmt := ben_ext_person.g_opt_attr_10;
2899 ELSIF p_short_name = 'POPTNM' THEN
2900 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2901 ben_ext_person.g_enrt_opt_name,
2902 to_char(ben_ext_person.g_enrt_opt_id));
2903 ELSIF p_short_name = 'POSFLX01' THEN
2904 l_rslt_elmt := ben_ext_person.g_prs_flex_01;
2905 ELSIF p_short_name = 'POSFLX02' THEN
2906 l_rslt_elmt := ben_ext_person.g_prs_flex_02;
2907 ELSIF p_short_name = 'POSFLX03' THEN
2908 l_rslt_elmt := ben_ext_person.g_prs_flex_03;
2909 ELSIF p_short_name = 'POSFLX04' THEN
2910 l_rslt_elmt := ben_ext_person.g_prs_flex_04;
2911 ELSIF p_short_name = 'POSFLX05' THEN
2912 l_rslt_elmt := ben_ext_person.g_prs_flex_05;
2913 ELSIF p_short_name = 'POSFLX06' THEN
2914 l_rslt_elmt := ben_ext_person.g_prs_flex_06;
2915 ELSIF p_short_name = 'POSFLX07' THEN
2916 l_rslt_elmt := ben_ext_person.g_prs_flex_07;
2917 ELSIF p_short_name = 'POSFLX08' THEN
2918 l_rslt_elmt := ben_ext_person.g_prs_flex_08;
2919 ELSIF p_short_name = 'POSFLX09' THEN
2920 l_rslt_elmt := ben_ext_person.g_prs_flex_09;
2921 ELSIF p_short_name = 'POSFLX10' THEN
2922 l_rslt_elmt := ben_ext_person.g_prs_flex_10;
2923 --
2924 -- RSLT
2925 --
2926 ELSIF p_short_name = 'POPTFDNM' then
2927 l_rslt_elmt := ben_ext_person.g_enrt_opt_fd_name ;
2928 ELSIF p_short_name = 'POPTFDCD' then
2929 l_rslt_elmt := ben_ext_person.g_enrt_opt_fd_code ;
2930 end if;
2931 elsif p_two_char_substr = 'PP' then
2932 IF p_short_name = 'PPACRTBY' THEN
2933 l_rslt_elmt := -- Fix for Bug 3870480
2934 decode_setup(p_data_elmt_typ_cd,
2935 get_name(ben_ext_person.g_addr_created_by),
2936 ben_ext_person.g_addr_created_by);
2937 ELSIF p_short_name = 'PPACRTDT' THEN
2938 l_rslt_elmt :=
2939 apply_format_mask(ben_ext_person.g_addr_creation_date, p_frmt_mask_cd);
2940 --
2941 ELSIF p_short_name = 'PPALSTUPBY' THEN
2942 l_rslt_elmt := -- Fix for Bug 3870480
2943 decode_setup(p_data_elmt_typ_cd,
2944 get_name(ben_ext_person.g_addr_last_updated_by),
2945 ben_ext_person.g_addr_last_updated_by);
2946 ELSIF p_short_name = 'PPALSTUPDT' THEN
2947 l_rslt_elmt :=
2948 apply_format_mask(ben_ext_person.g_addr_last_update_date, p_frmt_mask_cd);
2949 ELSIF p_short_name = 'PPALSTUPLG' THEN
2950 l_rslt_elmt :=
2951 apply_format_mask(ben_ext_person.g_addr_last_update_login, p_frmt_mask_cd);
2952 ELSIF p_short_name = 'PPBSFLX01' THEN
2953 l_rslt_elmt := ben_ext_person.g_pbs_flex_01;
2954 ELSIF p_short_name = 'PPBSFLX02' THEN
2955 l_rslt_elmt := ben_ext_person.g_pbs_flex_02;
2956 ELSIF p_short_name = 'PPBSFLX03' THEN
2957 l_rslt_elmt := ben_ext_person.g_pbs_flex_03;
2958 ELSIF p_short_name = 'PPBSFLX04' THEN
2959 l_rslt_elmt := ben_ext_person.g_pbs_flex_04;
2960 ELSIF p_short_name = 'PPBSFLX05' THEN
2961 l_rslt_elmt := ben_ext_person.g_pbs_flex_05;
2962 ELSIF p_short_name = 'PPBSFLX06' THEN
2963 l_rslt_elmt := ben_ext_person.g_pbs_flex_06;
2964 ELSIF p_short_name = 'PPBSFLX07' THEN
2965 l_rslt_elmt := ben_ext_person.g_pbs_flex_07;
2966 ELSIF p_short_name = 'PPBSFLX08' THEN
2967 l_rslt_elmt := ben_ext_person.g_pbs_flex_08;
2968 ELSIF p_short_name = 'PPBSFLX09' THEN
2969 l_rslt_elmt := ben_ext_person.g_pbs_flex_09;
2970 ELSIF p_short_name = 'PPBSFLX10' THEN
2971 l_rslt_elmt := ben_ext_person.g_pbs_flex_10;
2972 ELSIF p_short_name = 'PPGMNM' THEN
2973 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2974 ben_ext_person.g_enrt_pgm_name,
2975 to_char(ben_ext_person.g_enrt_pgm_id));
2976 ELSIF p_short_name = 'PPHFX' THEN
2977 l_rslt_elmt := apply_format_mask(ben_ext_person.g_phone_fax,
2978 p_frmt_mask_cd);
2979 ELSIF p_short_name = 'PPHHM' THEN
2980 l_rslt_elmt := apply_format_mask(ben_ext_person.g_phone_home,
2981 p_frmt_mask_cd);
2982 ELSIF p_short_name = 'PPHMB' THEN
2983 l_rslt_elmt := apply_format_mask(ben_ext_person.g_phone_mobile,
2984 p_frmt_mask_cd);
2985 ELSIF p_short_name = 'PPHWK' THEN
2986 l_rslt_elmt := apply_format_mask(ben_ext_person.g_phone_work,
2987 p_frmt_mask_cd);
2988 ELSIF p_short_name = 'PPIPSQNUM' THEN
2989 l_rslt_elmt :=
2990 apply_format_mask(ben_ext_person.g_enrt_pip_seq_num, p_frmt_mask_cd);
2991 ELSIF p_short_name = 'PPLCY' THEN
2992 l_rslt_elmt := ben_ext_person.g_enrt_plcy_r_grp;
2993 ELSIF p_short_name = 'PPLNM' THEN
2994 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
2995 ben_ext_person.g_enrt_pl_name,
2996 to_char(ben_ext_person.g_enrt_pl_id));
2997 ELSIF p_short_name = 'PPLSQNUM' THEN
2998 l_rslt_elmt :=
2999 apply_format_mask(ben_ext_person.g_enrt_pl_seq_num, p_frmt_mask_cd);
3000 ELSIF p_short_name = 'PPLYRENDT' THEN
3001 l_rslt_elmt :=
3002 apply_format_mask(ben_ext_person.g_enrt_pl_yr_enddt, p_frmt_mask_cd);
3003 ELSIF p_short_name = 'PPLYRSTDT' THEN
3004 l_rslt_elmt :=
3005 apply_format_mask(ben_ext_person.g_enrt_pl_yr_strdt, p_frmt_mask_cd);
3006 ELSIF p_short_name = 'PPLYRSTDT' THEN
3007 l_rslt_elmt :=
3008 apply_format_mask(ben_ext_person.g_enrt_pl_yr_strdt, p_frmt_mask_cd);
3009 ---2559743
3010 ELSIF p_short_name = 'PPLFDNM' then
3011 l_rslt_elmt := ben_ext_person.g_enrt_pl_fd_name ;
3012 ELSIF p_short_name = 'PPLFDCD' then
3013 l_rslt_elmt := ben_ext_person.g_enrt_pl_fd_code ;
3014 ELSIF p_short_name = 'PPPLCPY' then -- cobra plan payment days
3015 l_rslt_elmt := ben_ext_person.g_elig_cobra_payment_dys;
3016 --
3017 ELSIF p_short_name = 'PPOSFLX01' THEN
3018 l_rslt_elmt := ben_ext_person.g_pos_flex_01;
3019 ELSIF p_short_name = 'PPOSFLX02' THEN
3020 l_rslt_elmt := ben_ext_person.g_pos_flex_02;
3021 ELSIF p_short_name = 'PPOSFLX03' THEN
3022 l_rslt_elmt := ben_ext_person.g_pos_flex_03;
3023 ELSIF p_short_name = 'PPOSFLX04' THEN
3024 l_rslt_elmt := ben_ext_person.g_pos_flex_04;
3025 ELSIF p_short_name = 'PPOSFLX05' THEN
3026 l_rslt_elmt := ben_ext_person.g_pos_flex_05;
3027 ELSIF p_short_name = 'PPOSFLX06' THEN
3028 l_rslt_elmt := ben_ext_person.g_pos_flex_06;
3029 ELSIF p_short_name = 'PPOSFLX07' THEN
3030 l_rslt_elmt := ben_ext_person.g_pos_flex_07;
3031 ELSIF p_short_name = 'PPOSFLX08' THEN
3032 l_rslt_elmt := ben_ext_person.g_pos_flex_08;
3033 ELSIF p_short_name = 'PPOSFLX09' THEN
3034 l_rslt_elmt := ben_ext_person.g_pos_flex_09;
3035 ELSIF p_short_name = 'PPOSFLX10' THEN
3036 l_rslt_elmt := ben_ext_person.g_pos_flex_10;
3037 ELSIF p_short_name = 'PPOPFDNM' then
3038 l_rslt_elmt := ben_ext_person.g_enrt_opt_pl_fd_name ;
3039 ELSIF p_short_name = 'PPOPFDCD' then
3040 l_rslt_elmt := ben_ext_person.g_enrt_opt_pl_fd_code ;
3041 ELSIF p_short_name = 'PPPPFDNM' then
3042 l_rslt_elmt := ben_ext_person.g_enrt_pl_pgm_fd_name ;
3043 ELSIF p_short_name = 'PPPPFDCD' then
3044 l_rslt_elmt := ben_ext_person.g_enrt_pl_pgm_fd_code ;
3045 ELSIF p_short_name = 'PPYPFDNM' then
3046 l_rslt_elmt := ben_ext_person.g_enrt_pl_typ_pgm_fd_name ;
3047 ELSIF p_short_name = 'PPYPFDCD' then
3048 l_rslt_elmt := ben_ext_person.g_enrt_pl_typ_pgm_fd_code ;
3049 ELSIF p_short_name = 'PPPRNUM' THEN
3050 l_rslt_elmt :=
3051 apply_format_mask(ben_ext_person.g_payroll_period_number, p_frmt_mask_cd);
3052 ELSIF p_short_name = 'PPRFDNM' then
3053 l_rslt_elmt := ben_ext_person.g_enrt_pgm_fd_name ;
3054 ELSIF p_short_name = 'PPRFDCD' then
3055 l_rslt_elmt := ben_ext_person.g_enrt_pgm_fd_code ;
3056 ELSIF p_short_name = 'PPREND' THEN
3057 --
3058 IF ben_ext_person.g_ppr_end_dt = to_date('31/12/4712','DD/MM/YYYY') THEN
3059 l_rslt_elmt := null;
3060 ELSE
3061 l_rslt_elmt := apply_format_mask
3062 (ben_ext_person.g_ppr_end_dt, p_frmt_mask_cd);
3063 END IF;
3064 --
3065 ELSIF p_short_name = 'PPRENDT' THEN
3066 l_rslt_elmt :=
3067 apply_format_mask(ben_ext_person.g_payroll_period_enddt, p_frmt_mask_cd);
3068 ELSIF p_short_name = 'PPRIDENT' THEN
3069 l_rslt_elmt := ben_ext_person.g_ppr_ident;
3070 ELSIF p_short_name = 'PPRLFLX01' THEN
3071 l_rslt_elmt := ben_ext_person.g_prl_flex_01;
3072 ELSIF p_short_name = 'PPRLFLX02' THEN
3073 l_rslt_elmt := ben_ext_person.g_prl_flex_02;
3074 ELSIF p_short_name = 'PPRLFLX03' THEN
3075 l_rslt_elmt := ben_ext_person.g_prl_flex_03;
3076 ELSIF p_short_name = 'PPRLFLX04' THEN
3077 l_rslt_elmt := ben_ext_person.g_prl_flex_04;
3078 ELSIF p_short_name = 'PPRLFLX05' THEN
3079 l_rslt_elmt := ben_ext_person.g_prl_flex_05;
3080 ELSIF p_short_name = 'PPRLFLX06' THEN
3081 l_rslt_elmt := ben_ext_person.g_prl_flex_06;
3082 ELSIF p_short_name = 'PPRLFLX07' THEN
3083 l_rslt_elmt := ben_ext_person.g_prl_flex_07;
3084 ELSIF p_short_name = 'PPRLFLX08' THEN
3085 l_rslt_elmt := ben_ext_person.g_prl_flex_08;
3086 ELSIF p_short_name = 'PPRLFLX09' THEN
3087 l_rslt_elmt := ben_ext_person.g_prl_flex_09;
3088 ELSIF p_short_name = 'PPRLFLX10' THEN
3089 l_rslt_elmt := ben_ext_person.g_prl_flex_10;
3090 ELSIF p_short_name = 'PPRNAME' THEN
3091 l_rslt_elmt := ben_ext_person.g_ppr_name;
3092 ELSIF p_short_name = 'PPRSTDT' THEN
3093 l_rslt_elmt :=
3094 apply_format_mask(ben_ext_person.g_payroll_period_strtdt, p_frmt_mask_cd);
3095 ELSIF p_short_name = 'PPRSTRT' THEN
3096 l_rslt_elmt := apply_format_mask
3097 (ben_ext_person.g_ppr_strt_dt, p_frmt_mask_cd);
3098 ELSIF p_short_name = 'PPRTYP' THEN
3099 l_rslt_elmt := ben_ext_person.g_ppr_typ;
3100 ELSIF p_short_name = 'PPSCRTBY' THEN
3101 l_rslt_elmt := -- Fix for Bug 3870480
3102 decode_setup(p_data_elmt_typ_cd,
3103 get_name(ben_ext_person.g_pos_created_by),
3104 ben_ext_person.g_pos_created_by);
3105 ELSIF p_short_name = 'PPSCRTDT' THEN
3106 l_rslt_elmt :=
3107 apply_format_mask(ben_ext_person.g_pos_creation_date, p_frmt_mask_cd);
3108 --
3109 -- Cobra
3110 ELSIF p_short_name = 'PPSLSTUPBY' THEN
3111 l_rslt_elmt := -- Fix for Bug 3870480
3112 decode_setup(p_data_elmt_typ_cd,
3113 get_name(ben_ext_person.g_pos_last_updated_by),
3114 ben_ext_person.g_pos_last_updated_by);
3115 ELSIF p_short_name = 'PPSLSTUPDT' THEN
3116 l_rslt_elmt :=
3117 apply_format_mask(ben_ext_person.g_pos_last_update_date, p_frmt_mask_cd);
3118 ELSIF p_short_name = 'PPSLSTUPLG' THEN
3119 l_rslt_elmt :=
3120 apply_format_mask(ben_ext_person.g_pos_last_update_login, p_frmt_mask_cd);
3121 ELSIF p_short_name = 'PPT' THEN
3122 l_rslt_elmt := ben_ext_person.g_payroll_period_type;
3123 ELSIF p_short_name = 'PPTPNM' THEN
3124 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
3125 ben_ext_person.g_enrt_pl_typ_name,
3126 to_char(ben_ext_person.g_enrt_pl_typ_id));
3127 ELSIF p_short_name = 'PPTPSQNUM' THEN
3128 l_rslt_elmt :=
3129 apply_format_mask(ben_ext_person.g_enrt_ptp_seq_num, p_frmt_mask_cd);
3130 ---2559743
3131 ELSIF p_short_name = 'PPTPFDNM' then
3132 l_rslt_elmt := ben_ext_person.g_enrt_pl_typ_fd_name ;
3133 ELSIF p_short_name = 'PPTPFDCD' then
3134 l_rslt_elmt := ben_ext_person.g_enrt_pl_typ_fd_code ;
3135 ---2559743
3136 end if;
3137 elsif p_two_char_substr = 'PR' then
3138 IF p_short_name = 'PRMMOCAFX1' THEN
3139 l_rslt_elmt := ben_ext_person.g_prem_mn_costalloc_flex_01;
3140 ELSIF p_short_name = 'PRMMOCAFX2' THEN
3141 l_rslt_elmt := ben_ext_person.g_prem_mn_costalloc_flex_02;
3142 ELSIF p_short_name = 'PRMMOCAFX3' THEN
3143 l_rslt_elmt := ben_ext_person.g_prem_mn_costalloc_flex_03;
3144 ELSIF p_short_name = 'PRMMOCAFLX' THEN
3145 l_rslt_elmt :=
3146 apply_format_mask(ben_ext_person.g_prem_mn_costalloc_id, p_frmt_mask_cd);
3147 ELSIF p_short_name = 'PRMMOCANM' THEN
3148 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
3149 ben_ext_person.g_prem_mn_costalloc_name,
3150 to_char(ben_ext_person.g_prem_mn_costalloc_id));
3151 ELSIF p_short_name = 'PRMMOAMT' THEN
3152 l_rslt_elmt :=
3153 apply_format_mask(ben_ext_person.g_prem_mn_amt, p_frmt_mask_cd);
3154 ELSIF p_short_name = 'PRMMAADJ' THEN
3155 l_rslt_elmt := ben_ext_person.g_prem_mn_mnl_adj;
3156 ELSIF p_short_name = 'PRMMACRADJ' THEN
3157 l_rslt_elmt := ben_ext_person.g_prem_mn_cr_mnl_adj;
3158 ELSIF p_short_name = 'PRMMOCRT' THEN
3159 l_rslt_elmt :=
3160 apply_format_mask(ben_ext_person.g_prem_mn_cramt, p_frmt_mask_cd);
3161 ELSIF p_short_name = 'PRMMOUOM' THEN
3162 l_rslt_elmt := ben_ext_person.g_prem_mn_uom;
3163 ELSIF p_short_name = 'PRMTYP' THEN
3164 l_rslt_elmt := ben_ext_person.g_prem_type;
3165 ELSIF p_short_name = 'PRMYEAR' THEN
3166 l_rslt_elmt := ben_ext_person.g_prem_year;
3167 hr_utility.set_location(' year ' || ben_ext_person.g_prem_year , 5484);
3168 ELSIF p_short_name = 'PRMMNTH' THEN
3169 hr_utility.set_location(' month ' || ben_ext_person.g_prem_month , 119);
3170 l_rslt_elmt := ben_ext_person.g_prem_month;
3171 ELSIF p_short_name = 'PRMLUPDT' THEN
3172 Begin -- to_date removed in 115.149
3173 l_rslt_elmt := apply_format_mask(ben_ext_person.g_prem_last_upd_date,
3174 p_frmt_mask_cd);
3175 exception
3176 when others then
3177 l_rslt_elmt := ben_ext_person.g_prem_last_upd_date;
3178 end ;
3179 hr_utility.set_location(' updated date ' || ben_ext_person.g_prem_last_upd_date , 119);
3180 ELSIF p_short_name = 'PRAD1' THEN
3181 l_rslt_elmt := ben_ext_person.g_prim_address_line_1;
3182 ELSIF p_short_name = 'PRAD2' THEN
3183 l_rslt_elmt := ben_ext_person.g_prim_address_line_2;
3184 ELSIF p_short_name = 'PRAD3' THEN
3185 l_rslt_elmt := ben_ext_person.g_prim_address_line_3;
3186 ELSIF p_short_name = 'PRADRDT' THEN
3187 l_rslt_elmt :=
3188 apply_format_mask(ben_ext_person.g_prim_address_date, p_frmt_mask_cd);
3189 ELSIF p_short_name = 'PRADSVA' THEN
3190 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
3191 ben_ext_person.g_prim_addr_service_area,
3192 to_char(ben_ext_person.g_prim_addr_sva_id));
3193 ELSIF p_short_name = 'PRCNTY' THEN -- Fix for Bug 2593220
3194 -- For UK Legislation, the County code is stored in the
3195 -- Region_1 column of per_addresses instead of County name.
3196 -- So we need to get the County name from fnd_common_lookups, for lookup_type 'GB_COUNTY'
3197
3198 l_rslt_elmt := nvl(hr_general.DECODE_FND_COMM_LOOKUP(l_lookup_type,
3199 ben_ext_person.g_prim_county),
3200 ben_ext_person.g_prim_county);
3201 --l_rslt_elmt := ben_ext_person.g_prim_county; -- End of Fix, Bug 2593220
3202 ELSIF p_short_name = 'PRCRY' THEN
3203 l_rslt_elmt := ben_ext_person.g_prim_country;
3204 ELSIF p_short_name = 'PRCTY' THEN
3205 l_rslt_elmt := ben_ext_person.g_prim_city;
3206 ELSIF p_short_name = 'PREETOTDS' THEN
3207 l_rslt_elmt :=
3208 apply_format_mask(ben_ext_person.g_ee_ttl_distribution, p_frmt_mask_cd);
3209 ELSIF p_short_name = 'PRERTOTDS' THEN
3210 l_rslt_elmt :=
3211 apply_format_mask(ben_ext_person.g_er_ttl_distribution, p_frmt_mask_cd);
3212 ELSIF p_short_name = 'PRLSHP' THEN
3213 l_rslt_elmt := ben_ext_person.g_per_rlshp_type;
3214 ELSIF p_short_name = 'PRPGRPNM' THEN
3215 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
3216 ben_ext_person.g_enrt_rpt_group_name,
3217 to_char(ben_ext_person.g_enrt_rpt_group_id));
3218 ELSIF p_short_name = 'PRREG3' THEN
3219 l_rslt_elmt := ben_ext_person.g_prim_region_3;
3220 ELSIF p_short_name = 'PRSID' THEN
3221 l_rslt_elmt := apply_format_mask( ben_ext_person.g_Person_ID,p_frmt_mask_cd) ;
3222 ELSIF p_short_name = 'PRSTA' THEN
3223 l_rslt_elmt := ben_ext_person.g_prim_state;
3224 ELSIF p_short_name = 'PRSTAPR' THEN -- ansi state
3225 l_rslt_elmt := ben_ext_person.g_prim_state_ansi;
3226 ELSIF p_short_name = 'PRTOTORT' THEN
3227 l_rslt_elmt :=
3228 apply_format_mask(ben_ext_person.g_ttl_other_rate, p_frmt_mask_cd);
3229 ---fix from fido
3230 ELSIF p_short_name = 'PRSEQ' THEN
3231 l_rslt_elmt := apply_format_mask(ben_ext_person.g_dpnt_contact_seq_num,p_frmt_mask_cd);
3232 ----
3233 ELSIF p_short_name = 'PRTYP' THEN
3234 l_rslt_elmt := ben_ext_person.g_part_type;
3235 ELSIF p_short_name = 'PRZIP' THEN
3236 l_rslt_elmt := ben_ext_person.g_prim_postal_code;
3237 -- Participation Rate - Reimbursement
3238 ELSIF p_short_name = 'PRREIMBRS' THEN
3239 hr_utility.set_location(' PRREIMBRS '|| ben_ext_person.g_er_reimbursement,937);
3240 l_rslt_elmt :=
3241 apply_format_mask(ben_ext_person.g_er_reimbursement , p_frmt_mask_cd);
3242
3243 end if;
3244 elsif p_two_char_substr = 'PS' then
3245 IF p_short_name = 'PSTSCD' THEN
3246 l_rslt_elmt := ben_ext_person.g_enrt_status_cd;
3247 elsIF p_short_name = 'PSUPFLNM' THEN
3248 l_rslt_elmt := ben_ext_person.g_sup_full_name;
3249 --hr_utility.set_location('sup name '|| l_rslt_elmt,937);
3250 elsif p_short_name = 'PSUPEMNO' THEN
3251 l_rslt_elmt := ben_ext_person.g_sup_employee_number;
3252
3253 end if;
3254 elsif p_two_char_substr = 'PT' then
3255 IF p_short_name = 'PTERMRS' THEN
3256 l_rslt_elmt := ben_ext_person.g_term_reason;
3257 --
3258 -- Flex Fields
3259 --
3260 ELSIF p_short_name = 'PTOTPRAMT' THEN
3261 l_rslt_elmt :=
3262 apply_format_mask(ben_ext_person.g_enrt_total_premium_amt, p_frmt_mask_cd);
3263 ELSIF p_short_name = 'PTOTPRUOM' THEN
3264 l_rslt_elmt := ben_ext_person.g_enrt_total_premium_uom;
3265 end if;
3266 end if;
3267 elsif p_one_char_substr = 'R' then
3268
3269
3270 if p_two_char_substr = 'RE' then
3271 -- this element does not have any values
3272 -- this is used to just link the record in writing
3273 IF p_short_name = 'RECLINKS' THEN
3274 l_rslt_elmt := NULL;
3275 END IF ;
3276
3277 ELSIF p_two_char_substr = 'RS' then
3278 IF p_short_name = 'RSLTFLX01' THEN
3279 l_rslt_elmt := ben_ext_person.g_enrt_attr_1;
3280 ELSIF p_short_name = 'RSLTFLX02' THEN
3281 l_rslt_elmt := ben_ext_person.g_enrt_attr_2;
3282 ELSIF p_short_name = 'RSLTFLX03' THEN
3283 l_rslt_elmt := ben_ext_person.g_enrt_attr_3;
3284 ELSIF p_short_name = 'RSLTFLX04' THEN
3285 l_rslt_elmt := ben_ext_person.g_enrt_attr_4;
3286 ELSIF p_short_name = 'RSLTFLX05' THEN
3287 l_rslt_elmt := ben_ext_person.g_enrt_attr_5;
3288 ELSIF p_short_name = 'RSLTFLX06' THEN
3289 l_rslt_elmt := ben_ext_person.g_enrt_attr_6;
3290 ELSIF p_short_name = 'RSLTFLX07' THEN
3291 l_rslt_elmt := ben_ext_person.g_enrt_attr_7;
3292 ELSIF p_short_name = 'RSLTFLX08' THEN
3293 l_rslt_elmt := ben_ext_person.g_enrt_attr_8;
3294 ELSIF p_short_name = 'RSLTFLX09' THEN
3295 l_rslt_elmt := ben_ext_person.g_enrt_attr_9;
3296 ELSIF p_short_name = 'RSLTFLX10' THEN
3297 l_rslt_elmt := ben_ext_person.g_enrt_attr_10;
3298 end if;
3299 elsif p_two_char_substr = 'RU' then
3300 IF p_short_name = 'RUNDT' THEN
3301 l_rslt_elmt := apply_format_mask(ben_extract.g_run_date,
3302 p_frmt_mask_cd);
3303 ELSIF p_short_name = 'RUNPPEDT' then
3304 l_rslt_elmt := apply_format_mask(ben_ext_person.g_runrslt_last_pay_date,
3305 p_frmt_mask_cd);
3306
3307 ELSIF p_short_name = 'RUNELDESC' THEN
3308 l_rslt_elmt := ben_ext_person.g_runrslt_element_description;
3309 ELSIF p_short_name = 'RUNELINCUR' THEN
3310 l_rslt_elmt := ben_ext_person.g_runrslt_input_currency;
3311 ELSIF p_short_name = 'RUNELNM' THEN
3312 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
3313 ben_ext_person.g_runrslt_element_name,
3314 to_char(ben_ext_person.g_runrslt_element_id));
3315 ELSIF p_short_name = 'RUNELOUCUR' THEN
3316 l_rslt_elmt := ben_ext_person.g_runrslt_output_currency;
3317 ELSIF p_short_name = 'RUNELPRCLS' THEN
3318 l_rslt_elmt := ben_ext_person.g_runrslt_classification;
3319 ELSIF p_short_name = 'RUNELPRTYP' THEN
3320 l_rslt_elmt := ben_ext_person.g_runrslt_processing_type;
3321 ELSIF p_short_name = 'RUNELRPNM' THEN
3322 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
3323 ben_ext_person.g_runrslt_reporting_name,
3324 to_char(ben_ext_person.g_runrslt_classification_id));
3325 ELSIF p_short_name = 'RUNELSKPRL' THEN
3326 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
3327 ben_ext_person.g_runrslt_skip_rule,
3328 to_char(ben_ext_person.g_runrslt_skip_rule_id));
3329 ELSIF p_short_name = 'RUNENTTYP' THEN
3330 l_rslt_elmt := ben_ext_person.g_runrslt_entry_type;
3331 ELSIF p_short_name = 'RUNIDNT' THEN
3332 l_rslt_elmt := ben_ext_person.g_runrslt_identifier;
3333 ELSIF p_short_name = 'RUNINVLNM' THEN
3334 l_rslt_elmt := decode_setup(p_data_elmt_typ_cd,
3335 ben_ext_person.g_runrslt_input_value_name,
3336 to_char(ben_ext_person.g_runrslt_input_value_id));
3337 ELSIF p_short_name = 'RUNINVLSQ' THEN
3338 l_rslt_elmt :=
3339 apply_format_mask(ben_ext_person.g_runrslt_input_value_sequence,
3340 p_frmt_mask_cd);
3341 ELSIF p_short_name = 'RUNINVLUNT' THEN
3342 l_rslt_elmt := ben_ext_person.g_runrslt_input_value_units;
3343 ELSIF p_short_name = 'RUNJURCD' THEN
3344 L_rslt_elmt := ben_ext_person.g_runrslt_jurisdiction_code;
3345 ELSIF p_short_name = 'RUNSRCTYP' THEN
3346 l_rslt_elmt := ben_ext_person.g_runrslt_source_type;
3347 ELSIF p_short_name = 'RUNSTAT' THEN
3348 l_rslt_elmt := ben_ext_person.g_runrslt_status;
3349 ELSIF p_short_name = 'RUNVALCHR' THEN
3350 -- run result value in characted format
3351 hr_utility.set_location (' character for run result ',98 );
3352 Begin
3353 l_rslt_elmt := apply_format_mask(ben_ext_person.g_runrslt_value,
3354 p_frmt_mask_cd);
3355 exception
3356 when others then
3357 l_rslt_elmt := ben_ext_person.g_runrslt_value;
3358 end ;
3359
3360 ELSIF p_short_name = 'RUNVALDT' THEN
3361 --l_rslt_elmt := ben_ext_person.g_runrslt_value;
3362 -- to_date raise any error then sent the value as it is
3363 hr_utility.set_location (' date for run result ',98 );
3364 Begin -- to_date removed in 115.149
3365 l_rslt_elmt := apply_format_mask(fnd_date.chardate_to_date(ben_ext_person.g_runrslt_value ),
3366 p_frmt_mask_cd);
3367 exception
3368 when others then
3369 l_rslt_elmt := ben_ext_person.g_runrslt_value;
3370 end ;
3371 ELSIF p_short_name = 'RUNVAL' THEN
3372 --l_rslt_elmt := ben_ext_person.g_runrslt_value;
3373 -- to_number raise any error then sent the value as it is
3374 hr_utility.set_location (' number for run result ',98 );
3375 Begin
3376 l_rslt_elmt := apply_format_mask(to_number(ben_ext_person.g_runrslt_value),
3377 p_frmt_mask_cd);
3378 exception
3379 when others then
3380 l_rslt_elmt := ben_ext_person.g_runrslt_value;
3381 end ;
3382 end if;
3383 end if ;
3384 elsif p_one_char_substr = 'S' then
3385 IF p_short_name = 'SEX' THEN
3386 hr_utility.set_location('sex '||ben_ext_person.g_sex,936);
3387 l_rslt_elmt := ben_ext_person.g_sex;
3388 ELSIF p_short_name = 'STDNT' THEN
3389 l_rslt_elmt := ben_ext_person.g_student_status;
3390 ELSIF p_short_name = 'STRTDT' THEN
3391 l_rslt_elmt := apply_format_mask(ben_extract.g_ext_strt_dt,
3392 p_frmt_mask_cd);
3393 end if;
3394 elsif p_one_char_substr = 'T' then
3395 IF p_short_name = 'TITLE' THEN
3396 l_rslt_elmt := ben_ext_person.g_title;
3397 --
3398 end if;
3399 ELSE
3400 --
3401 ben_ext_person.g_elmt_name := g_elmt_name ;
3402 ben_ext_person.g_err_num := 91924;
3403 ben_ext_person.g_err_name := 'BEN_91924_EXT_INV_FLD';
3404 --raise ben_ext_person.detail_error;
3405 g_rqd_elmt_is_present := 'N' ;
3406 return null ;
3407 --
3408 END IF;
3409 --
3410
3411 --- tilak: the decode supports for null value and default values
3412 --- so it is neccessery to call the apply_decode for null element
3413 if p_data_elmt_typ_cd = 'D' /*and l_rslt_elmt is not null*/ then
3414
3415 l_rslt_elmt := apply_decode
3416 (p_value => l_rslt_elmt,
3417 p_ext_data_elmt_id => p_ext_data_elmt_id,
3418 p_default => p_dflt_val,
3419 p_short_name => p_short_name);
3420
3421 end if;
3422
3423 --since the name like lower /upper can be translated so the code is
3424 -- passsed as param not the meaning like other format parameters
3425 if substr(p_frmt_mask_lookup_cd,1,1) = 'C' then
3426 l_rslt_elmt := apply_format_Function(l_rslt_elmt,p_frmt_mask_lookup_cd);
3427 end if;
3428 --
3429
3430 hr_utility.set_location(' Exiting:'||l_proc, 15);
3431 return l_rslt_elmt ;
3432 end get_element_value ;
3433
3434
3435 --
3436 -- ----------------------------------------------------------------------------
3437 -- |---------< Calculate_formula >---------------------------------------------|
3438 -- ----------------------------------------------------------------------------
3439
3440
3441 Function Calculate_formula ( p_person_id in number ,
3442 p_data_elmt_rl in number ,
3443 p_ext_per_bg_id in number ,
3444 p_String_val in varchar2,
3445 p_frmt_mask_lookup_cd in varchar2,
3446 p_frmt_mask_cd in varchar2 ,
3447 p_business_group_id in number ,
3448 p_effective_date in date ) return varchar2 is
3449
3450 l_proc varchar2(72) := g_package||'process_ext_recs';
3451 l_jurisdiction_code varchar2(30);
3452 l_outputs ff_exec.outputs_t;
3453 l_rslt_elmt ben_ext_rslt_dtl.val_01%type := null;
3454 l_rslt_elmt_fmt ben_ext_rslt_dtl.val_01%type := null;
3455
3456 -- data element is a rule:
3457
3458 cursor c_rule_type(p_rule_id ff_formulas_f.formula_id%type) is
3459 select formula_type_id
3460 from ff_formulas_f
3461 where formula_id = p_rule_id
3462 and p_effective_date
3463 between effective_start_date
3464 and effective_end_date;
3465
3466
3467 l_rule_type c_rule_type%rowtype;
3468
3469 cursor c_asg is
3470 select asg.assignment_id,asg.organization_id,loc.region_2
3471 from per_all_assignments_f asg,hr_locations_all loc
3472 where asg.person_id = p_person_id
3473 and (asg.primary_flag = 'Y' OR asg.assignment_type = 'A')
3474 and asg.assignment_id = nvl(ben_ext_person.g_assignment_id,asg.assignment_id) --1969853
3475 and asg.location_id = loc.location_id(+)
3476 and ben_ext_person.g_person_ext_dt
3477 between asg.effective_start_date
3478 and asg.effective_end_date;
3479 --
3480 l_asg c_asg%rowtype;
3481
3482
3483 Begin
3484 --
3485 hr_utility.set_location('Entering'||l_proc , 5) ;
3486
3487 hr_utility.set_location(' Rule537:'||p_data_elmt_rl, 39);
3488 open c_rule_type(p_data_elmt_rl);
3489 fetch c_rule_type into l_rule_type;
3490 close c_rule_type;
3491 --
3492 hr_utility.set_location(' Rule537:'||l_rule_type.formula_type_id, 39);
3493 open c_asg;
3494 fetch c_asg into l_asg;
3495 close c_asg;
3496 --
3497 if l_rule_type.formula_type_id = -413 then -- Person Level rule
3498 -- Call formula initialise routine
3499 -- assignment condition is removed, with this conidtion dpnt can not be called for the formula
3500 -- user need formula to get person level data for dpnt
3501 --if l_asg.assignment_id is not null then
3502 l_outputs := benutils.formula
3503 (p_formula_id => p_data_elmt_rl,
3504 p_effective_date => ben_ext_person.g_person_ext_dt,
3505 p_assignment_id => l_asg.assignment_id,
3506 p_organization_id => l_asg.organization_id,
3507 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3508 p_jurisdiction_code => l_jurisdiction_code,
3509 p_per_cm_id => ben_ext_person.g_per_cm_id
3510 ,p_param1 => 'EXT_DFN_ID'
3511 ,p_param1_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3512 ,p_param2 => 'EXT_RSLT_ID'
3513 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3514 ,p_param3 => 'EXT_PERSON_ID'
3515 ,p_param3_value => to_char(nvl(ben_ext_person.g_person_id, -1))
3516 ,p_param4 => 'EXT_PROCESS_BUSINESS_GROUP'
3517 ,p_param4_value => to_char(p_business_group_id)
3518 ,p_param5 => 'EXT_USER_VALUE'
3519 ,p_param5_value => p_String_Val
3520 ); --optional
3521 --
3522 l_rslt_elmt := l_outputs(l_outputs.first).value;
3523 --
3524 --else
3525 --
3526 -- l_rslt_elmt := null;
3527 --
3528 --end if;
3529 --
3530 elsif l_rule_type.formula_type_id = -531 then -- Enrollment Level rule
3531 -- Call formula initialise routine
3532 hr_utility.set_location('g_enrt_prtt_enrt_rslt_id' ||ben_ext_person.g_enrt_prtt_enrt_rslt_id, 886) ;
3533 l_outputs := benutils.formula
3534 (p_formula_id => p_data_elmt_rl,
3535 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3536 p_assignment_id => l_asg.assignment_id,
3537 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3538 p_pl_id => ben_ext_person.g_enrt_pl_id,
3539 p_opt_id => ben_ext_person.g_enrt_opt_id,
3540 p_ler_id => ben_ext_person.g_enrt_ler_id
3541 --RChase pass extract definition id as input value
3542 ,p_param1 => 'EXT_DFN_ID'
3543 ,p_param1_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3544 ,p_param2 => 'EXT_RSLT_ID'
3545 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3546 /* Start of Changes for WWBUG: 1828349: addition */
3547 ,p_param3 => 'PRTT_ENRT_RSLT_ID'
3548 ,p_param3_value => to_char(nvl(ben_ext_person.g_enrt_prtt_enrt_rslt_id, -1))
3549 /* for the ansi dpnt person id is necessary 3419446 */
3550 ,p_param4 => 'PRTT_ENRT_PERSON_ID'
3551 ,p_param4_value => to_char(nvl(ben_ext_person.g_person_id, -1))
3552 ,p_param5 => 'EXT_PROCESS_BUSINESS_GROUP'
3553 ,p_param5_value => to_char(p_business_group_id)
3554 ,p_param6 => 'EXT_USER_VALUE'
3555 ,p_param6_value => p_String_Val
3556 );
3557 /* End of Changes for WWBUG: 1828349: addition */
3558
3559 --
3560 l_rslt_elmt := l_outputs(l_outputs.first).value;
3561 --
3562 elsif l_rule_type.formula_type_id = -536 then -- Eligible Level Rule
3563 -- Call formula initialise routine
3564 l_outputs := benutils.formula
3565 (p_formula_id => p_data_elmt_rl,
3566 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3567 p_assignment_id => l_asg.assignment_id,
3568 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3569 p_elig_per_elctbl_chc_id => ben_ext_person.g_elig_per_elctbl_chc_id
3570 --RChase pass extract definition id as input value
3571 ,p_param1 => 'EXT_DFN_ID'
3572 ,p_param1_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3573 ,p_param2 => 'EXT_RSLT_ID'
3574 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3575 ,p_param3 => 'EXT_PROCESS_BUSINESS_GROUP'
3576 ,p_param3_value => to_char(p_business_group_id)
3577 ,p_param4 => 'EXT_USER_VALUE'
3578 ,p_param4_value => p_String_Val
3579 );
3580 --
3581 l_rslt_elmt := l_outputs(l_outputs.first).value;
3582 --
3583 elsif l_rule_type.formula_type_id = -537 then -- Premium Level Rule
3584 hr_utility.set_location(' Rule537:'||l_proc, 35);
3585 -- Call formula initialise routine
3586 l_outputs := benutils.formula
3587 (p_formula_id => p_data_elmt_rl,
3588 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3589 p_assignment_id => l_asg.assignment_id,
3590 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3591 p_param1 => 'PRTT_PREM_BY_MO_ID',
3592 p_param1_value => to_char(ben_ext_person.g_prtt_prem_by_mo_id),
3593 p_param2 => 'ACTL_PREM_ID',
3594 p_param2_value => to_char(ben_ext_person.g_prem_actl_prem_id)
3595 ,p_param3 => 'EXT_DFN_ID'
3596 ,p_param3_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3597 ,p_param4 => 'EXT_RSLT_ID'
3598 ,p_param4_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3599 ,p_param5 => 'EXT_PROCESS_BUSINESS_GROUP'
3600 ,p_param5_value => to_char(p_business_group_id)
3601 ,p_param6 => 'EXT_USER_VALUE'
3602 ,p_param6_value => p_String_Val
3603 );
3604 --
3605 l_rslt_elmt := l_outputs(l_outputs.first).value;
3606 --
3607 elsif l_rule_type.formula_type_id = -538 then -- Dependnt Level Rule
3608 -- Call formula initialise routine
3609 l_outputs := benutils.formula
3610 (p_formula_id => p_data_elmt_rl,
3611 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3612 p_assignment_id => l_asg.assignment_id,
3613 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3614 p_param1 => 'ELIG_CVRD_DPNT_ID',
3615 p_param1_value => to_char(ben_ext_person.g_dpnt_cvrd_dpnt_id)
3616 ,p_param2 => 'EXT_DFN_ID'
3617 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3618 ,p_param3 => 'EXT_RSLT_ID'
3619 ,p_param3_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3620 ,p_param4 => 'EXT_PROCESS_BUSINESS_GROUP'
3621 ,p_param4_value => to_char(p_business_group_id)
3622 ,p_param5 => 'EXT_USER_VALUE'
3623 ,p_param5_value => p_String_Val
3624 );
3625 --
3626 l_rslt_elmt := l_outputs(l_outputs.first).value;
3627 --
3628 elsif l_rule_type.formula_type_id = -539 then -- Action Item Level Rule
3629 -- Call formula initialise routine
3630 l_outputs := benutils.formula
3631 (p_formula_id => p_data_elmt_rl,
3632 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3633 p_assignment_id => l_asg.assignment_id,
3634 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3635 p_prtt_enrt_actn_id => ben_ext_person.g_actn_prtt_enrt_actn_id
3636 ,p_param1 => 'EXT_DFN_ID'
3637 ,p_param1_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3638 ,p_param2 => 'EXT_RSLT_ID'
3639 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3640 ,p_param3 => 'EXT_PROCESS_BUSINESS_GROUP'
3641 ,p_param3_value => to_char(p_business_group_id)
3642 ,p_param4 => 'EXT_USER_VALUE'
3643 ,p_param4_value => p_string_Val
3644 );
3645 --
3646 l_rslt_elmt := l_outputs(l_outputs.first).value;
3647 --
3648 elsif l_rule_type.formula_type_id = -540 then -- Beneficiary level Rule
3649 -- Call formula initialise routine
3650 l_outputs := benutils.formula
3651 (p_formula_id => p_data_elmt_rl,
3652 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3653 p_assignment_id => l_asg.assignment_id,
3654 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3655 p_param1 => 'PL_BNF_ID',
3656 p_param1_value => to_char(ben_ext_person.g_bnf_pl_bnf_id)
3657 ,p_param2 => 'EXT_DFN_ID'
3658 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3659 ,p_param3 => 'EXT_RSLT_ID'
3660 ,p_param3_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3661 ,p_param4 => 'EXT_PROCESS_BUSINESS_GROUP'
3662 ,p_param4_value => to_char(p_business_group_id)
3663 ,p_param5 => 'EXT_USER_VALUE'
3664 ,p_param5_value => p_String_Val
3665 );
3666 --
3667 l_rslt_elmt := l_outputs(l_outputs.first).value;
3668 --
3669 elsif l_rule_type.formula_type_id = -541 then -- Flex credit level Rule
3670 -- Call formula initialise routine
3671 l_outputs := benutils.formula
3672 (p_formula_id => p_data_elmt_rl,
3673 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3674 p_assignment_id => l_asg.assignment_id,
3675 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3676 p_param1 => 'BNFT_PRVDR_POOL_ID',
3677 p_param1_value => to_char(ben_ext_person.g_flex_bnft_pool_id)
3678 --RChase pass extract definition id as input value
3679 ,p_param2 => 'EXT_DFN_ID'
3680 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3681 ,p_param3 => 'EXT_RSLT_ID'
3682 ,p_param3_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3683 ,p_param4 => 'EXT_PROCESS_BUSINESS_GROUP'
3684 ,p_param4_value => to_char(p_business_group_id)
3685 ,p_param5 => 'EXT_USER_VALUE'
3686 ,p_param5_value => p_String_Val
3687 );
3688 --
3689 l_rslt_elmt := l_outputs(l_outputs.first).value;
3690 --
3691 elsif l_rule_type.formula_type_id = -542 then -- payroll level Rule
3692 -- Call formula initialise routine
3693 l_outputs := benutils.formula
3694 (p_formula_id => p_data_elmt_rl,
3695 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3696 p_assignment_id => l_asg.assignment_id,
3697 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3698 p_param1 => 'ELEMENT_ENTRY_VALUE_ID',
3699 p_param1_value => to_char(ben_ext_person.g_element_entry_value_id)
3700 --RChase pass extract definition id as input value
3701 ,p_param2 => 'EXT_DFN_ID'
3702 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3703 ,p_param3 => 'EXT_RSLT_ID'
3704 ,p_param3_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3705 ,p_param4 => 'EXT_PROCESS_BUSINESS_GROUP'
3706 ,p_param4_value => to_char(p_business_group_id)
3707 ,p_param5 => 'EXT_USER_VALUE'
3708 ,p_param5_value => p_String_Val
3709 );
3710 --
3711 l_rslt_elmt := l_outputs(l_outputs.first).value;
3712 --
3713 elsif l_rule_type.formula_type_id = -543 then -- runresult level Rule
3714 -- Call formula initialise routine
3715 l_outputs := benutils.formula
3716 (p_formula_id => p_data_elmt_rl,
3717 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3718 p_assignment_id => l_asg.assignment_id,
3719 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3720 p_param1 => 'RUN_RESULT_ID',
3721 p_param1_value => to_char(ben_ext_person.g_runrslt_identifier)
3722 --RChase pass extract definition id as input value
3723 ,p_param2 => 'EXT_DFN_ID'
3724 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3725 ,p_param3 => 'EXT_RSLT_ID'
3726 ,p_param3_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3727 ---bug : 1724999
3728 ,p_param4 => 'INPUT_VALUE_ID'
3729 ,p_param4_value => to_char(nvl(ben_ext_person.g_runrslt_input_value_id,-1))
3730 ,p_param5 => 'RESULT_VALUE'
3731 ,p_param5_value => ben_ext_person.g_runrslt_value
3732 ,p_param6 => 'EXT_PROCESS_BUSINESS_GROUP'
3733 ,p_param6_value => to_char(p_business_group_id)
3734 ,p_param7 => 'EXT_USER_VALUE'
3735 ,p_param7_value => p_String_Val
3736 );
3737 --
3738 l_rslt_elmt := l_outputs(l_outputs.first).value;
3739 --
3740 elsif l_rule_type.formula_type_id = -544 then -- contact level Rule
3741 -- Call formula initialise routine
3742 l_outputs := benutils.formula
3743 (p_formula_id => p_data_elmt_rl,
3744 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3745 p_assignment_id => l_asg.assignment_id,
3746 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3747 p_param1 => 'CONTACT_RELATIONSHIP_ID',
3748 p_param1_value => to_char(ben_ext_person.g_contact_rlshp_id)
3749 --RChase pass extract definition id as input value
3750 ,p_param2 => 'EXT_DFN_ID'
3751 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3752 ,p_param3 => 'EXT_RSLT_ID'
3753 ,p_param3_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3754 ,p_param4 => 'EXT_PROCESS_BUSINESS_GROUP'
3755 ,p_param4_value => to_char(p_business_group_id)
3756 ,p_param5 => 'EXT_USER_VALUE'
3757 ,p_param5_value => p_String_Val
3758 );
3759 --
3760 l_rslt_elmt := l_outputs(l_outputs.first).value;
3761 --
3762 elsif l_rule_type.formula_type_id = -545 then -- elig dpnt level Rule
3763 -- Call formula initialise routine
3764 l_outputs := benutils.formula
3765 (p_formula_id => p_data_elmt_rl,
3766 p_effective_date => ben_ext_person.g_benefits_ext_dt,
3767 p_assignment_id => l_asg.assignment_id,
3768 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id),
3769 p_param1 => 'ELIG_DPNT_ID',
3770 p_param1_value => to_char(ben_ext_person.g_elig_dpnt_id)
3771 --RChase pass extract definition id as input value
3772 ,p_param2 => 'EXT_DFN_ID'
3773 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3774 ,p_param3 => 'EXT_RSLT_ID'
3775 ,p_param3_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3776 ,p_param4 => 'EXT_PROCESS_BUSINESS_GROUP'
3777 ,p_param4_value => to_char(p_business_group_id)
3778 ,p_param5 => 'EXT_USER_VALUE'
3779 ,p_param5_value => p_String_Val
3780 );
3781 --
3782 l_rslt_elmt := l_outputs(l_outputs.first).value;
3783
3784 elsif l_rule_type.formula_type_id = -546 then -- subheader level rule
3785 l_outputs := benutils.formula
3786 (p_formula_id => p_data_elmt_rl,
3787 p_effective_date => p_effective_date ,
3788 p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id)
3789 ,p_param1 => 'EXT_DFN_ID'
3790 ,p_param1_value => to_char(nvl(ben_ext_thread.g_ext_dfn_id, -1))
3791 ,p_param2 => 'EXT_RSLT_ID'
3792 ,p_param2_value => to_char(nvl(ben_ext_thread.g_ext_rslt_id, -1))
3793 ,p_param3 => 'EXT_GROUP_VALUE_01'
3794 ,p_param3_value => ben_ext_person.g_group_elmt_value1
3795 ,p_param4 => 'EXT_PROCESS_BUSINESS_GROUP'
3796 ,p_param4_value => to_char(p_business_group_id)
3797 ,p_param5 => 'EXT_USER_VALUE'
3798 ,p_param5_value => p_String_Val
3799 );
3800
3801 l_rslt_elmt := l_outputs(l_outputs.first).value;
3802
3803 --
3804 end if;
3805
3806 -- format mask handling
3807 begin
3808 if substr(p_frmt_mask_lookup_cd,1,1) = 'N' then
3809 l_rslt_elmt_fmt := apply_format_mask(to_number(l_rslt_elmt), p_frmt_mask_cd);
3810 l_rslt_elmt := l_rslt_elmt_fmt;
3811 end if;
3812 if substr(p_frmt_mask_lookup_cd,1,1) = 'D' then
3813 l_rslt_elmt_fmt := apply_format_mask(fnd_date.canonical_to_date(l_rslt_elmt), p_frmt_mask_cd);
3814 l_rslt_elmt := l_rslt_elmt_fmt;
3815 end if ;
3816 exception -- incase l_rslt_elmt is not valid for formatting, just don't format it.
3817 when others then
3818 null;
3819 end;
3820 --
3821 hr_utility.set_location('Exiting '||l_proc || ' with ' || l_rslt_elmt, 5) ;
3822 Return l_rslt_elmt ;
3823
3824
3825 end Calculate_formula;
3826
3827
3828 --
3829 -- ----------------------------------------------------------------------------
3830 -- |---------< Calcualte_calc_value >---------------------------------------------|
3831 -- ----------------------------------------------------------------------------
3832
3833 function Calculate_calc_value
3834 (p_firtst_value in number
3835 ,p_second_value in number
3836 ,p_calc in varchar2 ) return number is
3837 l_value number ;
3838 l_proc varchar2(72) := g_package||'Calculate_calc_value';
3839 l_err_message varchar2(2000) := 'Zero Divide Error' ;
3840 begin
3841 hr_utility.set_location('Entering'||l_proc, 5) ;
3842 hr_utility.set_location('p_firtst_value'||p_firtst_value, 5) ;
3843 hr_utility.set_location('p_second_value'||p_second_value, 5) ;
3844 hr_utility.set_location('p_calc '||p_calc , 5) ;
3845
3846 if p_calc = 'ADD' then
3847
3848 l_value := nvl(p_firtst_value,0)+ nvl(p_second_value,0) ;
3849 elsif p_calc = 'SUB' then
3850
3851 l_value := nvl(p_firtst_value,0)- nvl(p_second_value,0) ;
3852
3853 elsif p_calc = 'MLT' then
3854 if p_firtst_value is not null and p_second_value is not null then
3855 l_value := p_firtst_value* p_second_value ;
3856 elsif p_firtst_value is null and p_second_value is null then
3857 l_value := null ;
3858 else
3859 l_value := nvl(p_firtst_value,1)* nvl(p_second_value,1) ;
3860 end if ;
3861
3862 elsif p_calc = 'DIV' then
3863
3864 if p_firtst_value is not null and p_second_value is not null then
3865 if p_second_value <> 0 then
3866 l_value := p_firtst_value/p_second_value ;
3867 else
3868 ben_ext_util.write_err
3869 (p_err_num => 92065
3870 ,p_err_name => l_err_message
3871 ,p_typ_cd => 'W'
3872 ,p_person_id => g_person_id
3873 ,p_request_id => ben_extract.g_request_id
3874 ,p_ext_rslt_id => ben_extract.g_ext_rslt_id
3875 ,p_business_group_id => ben_ext_person.g_business_group_id
3876 );
3877 --
3878
3879 l_value := null ;
3880 end if ;
3881 elsif p_firtst_value is null and p_second_value is null then
3882 l_value := null ;
3883 elsif p_firtst_value is not null then
3884 l_value := p_firtst_value ;
3885 else
3886 l_value := null ;
3887 end if ;
3888 end if ;
3889
3890 hr_utility.set_location(' Exiting' ||l_value ||' :'||l_proc, 15);
3891 return l_value ;
3892 end Calculate_calc_value ;
3893
3894
3895 --
3896 -- ----------------------------------------------------------------------------
3897 -- |---------< get_calc_value >---------------------------------------------|
3898 -- ----------------------------------------------------------------------------
3899 function get_calc_value
3900 (
3901 p_seq_num in number
3902 , p_ext_data_elmt_id in number
3903 , p_data_elmt_typ_cd in varchar2
3904 , p_name in varchar2
3905 , p_frmt_mask_cd in varchar2
3906 , p_dflt_val in varchar2
3907 , p_short_name in varchar2
3908 , p_two_char_substr in varchar2
3909 , p_one_char_substr in varchar2
3910 , p_lookup_type in varchar2
3911 , p_calc in varchar2
3912 , p_person_id in varchar2 default null
3913 , p_ext_per_bg_id in number
3914 , p_effective_date in date
3915 , p_business_group_id in number
3916 , p_frmt_mask_lookup_cd in varchar2
3917 , p_Ext_rcd_id in number ) return varchar2 IS
3918 --
3919 l_proc varchar2(72) := g_package||'get_calc_value';
3920 l_lookup_type varchar2(30) := p_lookup_type ;
3921 l_number varchar2(1);
3922 l_max_len integer ;
3923 --
3924 l_rslt_elmt varchar2(4000) ;
3925 l_rslt_calc varchar2(4000) ;
3926 Cursor c_calc_elmt is
3927 select ewc.seq_num
3928 , xel.ext_data_elmt_id
3929 , xel.data_elmt_typ_cd
3930 , xel.data_elmt_rl
3931 , xel.name
3932 , xel.string_val
3933 , xel.dflt_val
3934 , xel.max_length_num
3935 , xel.frmt_mask_cd
3936 , xel.defined_balance_id
3937 , efl.short_name
3938 , substr(efl.short_name,1,2) two_char_substr
3939 , substr(efl.short_name,1,1) one_char_substr
3940 from ben_Ext_where_clause ewc,
3941 ben_Ext_data_elmt xel,
3942 ben_ext_fld efl
3943 where ewc.ext_data_elmt_id = p_ext_data_elmt_id
3944 and xel.ext_data_elmt_id = ewc.cond_ext_data_elmt_id
3945 and xel.ext_fld_id = efl.ext_fld_id (+) ;
3946
3947
3948 l_seq_num ben_ext_data_elmt_in_rcd.seq_num%Type ;
3949
3950 cursor c_seq (p_ext_rcd_id in number ,
3951 p_ext_data_elmt_id in number) is
3952 select a.seq_num
3953 from ben_ext_data_elmt_in_rcd a
3954 where a.ext_rcd_id = p_ext_rcd_id
3955 and a.ext_data_elmt_id = p_ext_data_elmt_id ;
3956
3957 begin
3958
3959 hr_utility.set_location('Entering'||l_proc, 5);
3960 for elmt in c_calc_elmt Loop
3961
3962 open c_seq (p_ext_rcd_id , elmt.ext_data_elmt_id) ;
3963 fetch c_seq into l_seq_num ;
3964 close c_seq ;
3965 l_rslt_calc := null ;
3966 hr_utility.set_location (' sequence number ' || l_seq_num , 99) ;
3967
3968 if nvl(p_seq_num,-1) > nvl(l_seq_num,0) and g_val_tab(l_seq_num) is not null then
3969 l_rslt_calc := g_val_tab(l_seq_num) ;
3970 hr_utility.set_location (' element inprev calc val ' || g_val_tab(l_seq_num) , 99) ;
3971
3972 else
3973 if elmt.data_elmt_typ_cd in ('F', 'D') then
3974 l_rslt_calc := get_element_value(
3975 p_seq_num => elmt.seq_num
3976 , p_ext_data_elmt_id => elmt.ext_data_elmt_id
3977 , p_data_elmt_typ_cd => elmt.data_elmt_typ_cd
3978 , p_name => elmt.name
3979 , p_frmt_mask_cd => null
3980 , p_dflt_val => elmt.dflt_val
3981 , p_short_name => elmt.short_name
3982 , p_two_char_substr => elmt.two_char_substr
3983 , p_one_char_substr => elmt.one_char_substr
3984 , p_lookup_type => p_lookup_type
3985 );
3986 elsif elmt.data_elmt_typ_cd = 'R'then
3987 l_rslt_calc := Calculate_formula
3988 ( p_person_id => p_person_id ,
3989 p_data_elmt_rl => elmt.data_elmt_rl ,
3990 p_ext_per_bg_id => p_ext_per_bg_id ,
3991 p_String_val => elmt.string_val,
3992 p_frmt_mask_lookup_cd => p_frmt_mask_lookup_cd,
3993 p_frmt_mask_cd => elmt.frmt_mask_cd ,
3994 p_business_group_id => p_business_group_id ,
3995 p_effective_date => p_effective_date ) ;
3996 elsif elmt.data_elmt_typ_cd = 'P'then
3997
3998 if ben_Ext_person.g_assignment_id is not null then
3999
4000 l_rslt_calc := get_pay_balance(
4001 p_defined_balance_id => elmt.defined_balance_id
4002 ,p_assignment_id => ben_Ext_person.g_assignment_id
4003 ,p_effective_date => p_effective_date
4004 ,p_business_group_id => nvl(p_ext_per_bg_id,p_business_group_id)
4005 ) ;
4006
4007 else
4008 l_rslt_calc := null ;
4009 end if ;
4010 hr_utility.set_location (' element val ' || l_rslt_calc , 99) ;
4011 end if ;
4012 end if ;
4013 --- check for the number
4014
4015 Begin
4016 l_rslt_calc := to_number(l_rslt_calc) ;
4017 exception
4018 when value_error then
4019 l_rslt_calc := null ;
4020 end ;
4021
4022 if l_rslt_elmt is null then
4023 l_rslt_elmt := l_rslt_calc ;
4024 hr_utility.set_location(' first calc value : '||l_rslt_elmt, 15);
4025
4026 else
4027 if l_rslt_calc is not null then
4028 hr_utility.set_location(' firs and sec calc value : '||l_rslt_elmt || ' '|| l_rslt_calc , 15);
4029 l_rslt_elmt := Calculate_calc_value
4030 (p_firtst_value => to_number(l_rslt_elmt)
4031 ,p_second_value => l_rslt_calc
4032 ,p_calc => p_calc ) ;
4033
4034 hr_utility.set_location(' return calcaulated alue : '|| l_rslt_elmt , 15);
4035
4036 end if ;
4037 end if ;
4038
4039 end loop ;
4040 l_rslt_elmt := apply_format_mask(to_number(l_rslt_elmt), p_frmt_mask_cd);
4041
4042 hr_utility.set_location(' Exiting:'||l_proc, 15);
4043 return l_rslt_elmt ;
4044 end get_calc_value ;
4045
4046
4047
4048
4049
4050 --
4051 -- ----------------------------------------------------------------------------
4052 -- |---------< process_ext_recs >---------------------------------------------|
4053 -- ----------------------------------------------------------------------------
4054 -- This procedure will process detail extract records of the given level.
4055 -- For each record of the given level it will format it's data elements as
4056 -- required and create a row in ben_ext_rslt_dtl with all the formatted values.
4057 --
4058 Procedure process_ext_recs(p_ext_rslt_id in number,
4059 p_ext_file_id in number,
4060 p_data_typ_cd in varchar2, -- F, C
4061 p_ext_typ_cd in varchar2,
4062 p_rcd_typ_cd in varchar2, -- D S only
4063 p_low_lvl_cd in varchar2 default null, -- P, E, D
4064 p_person_id in number default null,
4065 p_chg_evt_cd in varchar2 default null,
4066 p_business_group_id in number,
4067 p_ext_per_bg_id in number default null ,
4068 p_effective_date in date
4069 ) IS
4070 --
4071 l_proc varchar2(72) := g_package||'process_ext_recs';
4072 --
4073 l_ext_rcd_id number(15) := null;
4074 l_ext_rcd_in_file_id number(15) := null;
4075 l_rslt_elmt ben_ext_rslt_dtl.val_01%type := null;
4076 l_rslt_elmt_fmt ben_ext_rslt_dtl.val_01%type := null;
4077 --
4078 l_ext_rslt_dtl_id number(15);
4079 l_object_version_number number(15);
4080 --
4081 l_trans_num number(15);
4082 --
4083 l_write_rcd varchar2(1);
4084 l_dummy varchar2(1);
4085 --
4086 l_prmy_sort_val ben_ext_rslt_dtl.prmy_sort_val%type;
4087 l_scnd_sort_val ben_ext_rslt_dtl.scnd_sort_val%type;
4088 l_thrd_sort_val ben_ext_rslt_dtl.thrd_sort_val%type;
4089 l_exclude_this_rcd_flag boolean := false;
4090 l_exclude_flag boolean := false;
4091 l_lookup_type varchar2(30) := null; --Bug 2593220
4092 --
4093
4094 l_frmt_mask_cd hr_lookups.meaning%type ;
4095 l_two_char_substr varchar2(2) ;
4096 l_one_char_substr varchar2(1) ;
4097
4098
4099 l_ext_data_elmt_in_rcd_id_va t_number ;
4100 l_seq_num_va t_number ;
4101 l_sprs_cd_va t_varchar2_30 ;
4102 l_strt_pos_va t_number ;
4103 l_dlmtr_val_va t_varchar2_30 ;
4104 l_rqd_flag_va t_varchar2_30 ;
4105 l_ext_data_elmt_id_va t_number ;
4106 l_data_elmt_typ_cd_va t_varchar2_30 ;
4107 l_data_elmt_rl_va t_number ;
4108 l_name_va t_varchar2_600 ;
4109 l_frmt_mask_lookup_cd_va t_varchar2_30 ;
4110 l_string_val_va t_varchar2_600 ;
4111 l_dflt_val_va t_varchar2_600 ;
4112 l_max_length_num_va t_number ;
4113 l_just_cd_va t_varchar2_30 ;
4114 l_short_name_va t_varchar2_30 ;
4115 l_ttl_fnctn_cd_va t_varchar2_30 ;
4116 l_defined_balance_id_va t_number ;
4117
4118 cursor rcd_elmt_c is
4119 select /*+ index(b) index(c) */
4120 a.ext_data_elmt_in_rcd_id
4121 , a.seq_num
4122 , a.sprs_cd
4123 , a.strt_pos
4124 , a.dlmtr_val
4125 , a.rqd_flag
4126 , b.ext_data_elmt_id
4127 , b.data_elmt_typ_cd
4128 , b.data_elmt_rl
4129 , b.name
4130 , b.frmt_mask_cd frmt_mask_lookup_cd
4131 , b.string_val
4132 , b.dflt_val
4133 , b.max_length_num
4134 , b.just_cd
4135 , c.short_name
4136 , ttl_fnctn_cd
4137 , defined_balance_id
4138 from
4139 ben_ext_fld c,
4140 ben_ext_data_elmt b,
4141 ben_ext_data_elmt_in_rcd a
4142 where
4143 a.ext_data_elmt_id = b.ext_data_elmt_id
4144 and a.ext_rcd_id = l_ext_rcd_id
4145 and b.ext_fld_id = c.ext_fld_id (+)
4146 order by a.seq_num;
4147
4148 elmt rcd_elmt_c%rowtype ;
4149 --
4150 --
4151 cursor c_rcd_in_file_flag(p_rcd_in_id number ) is
4152 select rqd_flag , chg_rcd_upd_flag
4153 from ben_Ext_rcd_in_file
4154 where ext_rcd_in_file_id = p_rcd_in_id ;
4155
4156 --
4157
4158 l_rcd_rqd_flag varchar2(1);
4159 l_chg_rcd_upd_flag varchar2(1);
4160 l_ext_chg_rcd_mode varchar2(1);
4161 --
4162 l_dummy_start_date date;
4163 l_dummy_end_date date;
4164 l_number varchar2(1);
4165 l_loop_count number := 0;
4166 l_jurisdiction_code varchar2(30);
4167 l_max_len integer ;
4168 l_rollback boolean ;
4169 --
4170 -- Bug fix 2197144
4171 l_decimal_counter number := 0;
4172 l_ext_per_bg_id number ;
4173 --
4174 begin
4175 --
4176
4177 hr_utility.set_location('Entering'||l_proc, 5);
4178 --
4179 g_person_id := p_person_id;
4180
4181 -- when subheader process the bg id is passed as parameter
4182 -- whne the detail record processed this parameter is not
4183 -- passed
4184 l_ext_per_bg_id := p_ext_per_bg_id ;
4185 if p_rcd_typ_cd = 'D' then
4186 l_ext_per_bg_id := ben_ext_person.g_business_group_id ;
4187 end if ;
4188
4189
4190
4191 hr_utility.set_location('person_id '||g_person_id , 5);
4192 -- Check for required record present
4193 --
4194 /*
4195 -- Check for required record
4196
4197 FOR i IN
4198 ben_extract.gtt_rcd_rqd_vals.FIRST .. ben_extract.gtt_rcd_rqd_vals.LAST
4199 LOOP
4200 --
4201 IF ben_extract.gtt_rcd_rqd_vals(i).low_lvl_cd = p_low_lvl_cd
4202 OR ben_extract.gtt_rcd_rqd_vals(i).low_lvl_cd = 'NOREQDRCD'
4203 THEN
4204 ben_extract.gtt_rcd_rqd_vals(i).rcd_found := TRUE;
4205 END IF;
4206 --
4207 END LOOP;
4208 */
4209
4210 -- For UK Legislation, set the lookup type as GB_COUNTY to
4211 -- get the County Name from fnd_common_lookups , Bug 2593220
4212
4213 if nvl(hr_api.return_legislation_code(p_business_group_id),'NVL') = 'GB' then
4214 l_lookup_type := 'GB_COUNTY';
4215 end if;
4216
4217 --
4218 -- assign transaction number
4219 --
4220 l_trans_num := ben_ext_person.g_trans_num;
4221 --
4222 -- This loop will be executed for each record in the extract definition
4223 -- of a given record type (Detail) and of a given level
4224 -- (Personal, Enrollment, Dependent), if applicable.
4225 --
4226 --
4227 --hr_utility.set_location(' format max ' || ben_extract.gtt_rcd_typ_vals.last,99);
4228
4229 FOR i IN ben_extract.gtt_rcd_typ_vals.first .. ben_extract.gtt_rcd_typ_vals.last LOOP
4230 --
4231 --
4232 --hr_utility.set_location(' low level ' ||ben_extract.gtt_rcd_typ_vals(i).low_lvl_cd,99);
4233 IF ben_extract.gtt_rcd_typ_vals(i).rcd_type_cd = p_rcd_typ_cd
4234 AND nvl(ben_extract.gtt_rcd_typ_vals(i).low_lvl_cd,' ') = nvl(p_low_lvl_cd, ' ')
4235 THEN
4236
4237 l_write_rcd := 'Y';
4238 g_rqd_elmt_is_present := 'Y';
4239 --
4240 -- check record include/suppress condition
4241 --
4242 l_ext_rcd_id := ben_extract.gtt_rcd_typ_vals(i).ext_rcd_id;
4243 l_ext_rcd_in_file_id := ben_extract.gtt_rcd_typ_vals(i).ext_rcd_in_file_id ;
4244 -- get the rqd flag in record level
4245 -- if the element is rquire and null skip the record
4246 -- if the record is rqd and null skipp the person
4247 open c_rcd_in_file_flag(ben_extract.gtt_rcd_typ_vals(i).ext_rcd_in_file_id) ;
4248 fetch c_rcd_in_file_flag into l_rcd_rqd_flag ,l_chg_rcd_upd_flag ;
4249 close c_rcd_in_file_flag ;
4250 -- Initialize array
4251 --
4252
4253 hr_utility.set_location('l_rcd_rqd_flag'|| l_rcd_rqd_flag,10);
4254 g_val_tab := g_val_def;
4255 --
4256 open rcd_elmt_c ;
4257 fetch rcd_elmt_c bulk collect into
4258 l_ext_data_elmt_in_rcd_id_va ,
4259 l_seq_num_va ,
4260 l_sprs_cd_va ,
4261 l_strt_pos_va ,
4262 l_dlmtr_val_va ,
4263 l_rqd_flag_va ,
4264 l_ext_data_elmt_id_va ,
4265 l_data_elmt_typ_cd_va ,
4266 l_data_elmt_rl_va ,
4267 l_name_va ,
4268 l_frmt_mask_lookup_cd_va ,
4269 l_string_val_va ,
4270 l_dflt_val_va ,
4271 l_max_length_num_va ,
4272 l_just_cd_va ,
4273 l_short_name_va ,
4274 l_ttl_fnctn_cd_va ,
4275 l_defined_balance_id_va ;
4276 close rcd_elmt_c ;
4277
4278 for i IN 1 .. l_ext_data_elmt_in_rcd_id_va.count
4279 LOOP
4280
4281 l_frmt_mask_cd := null ;
4282 l_two_char_substr := null ;
4283 l_one_char_substr := null ;
4284 elmt := null ;
4285
4286
4287 elmt.ext_data_elmt_in_rcd_id := l_ext_data_elmt_in_rcd_id_va(i) ;
4288 elmt.seq_num := l_seq_num_va(i) ;
4289 elmt.sprs_cd := l_sprs_cd_va(i) ;
4290 elmt.strt_pos := l_strt_pos_va(i) ;
4291 elmt.dlmtr_val := l_dlmtr_val_va(i) ;
4292 elmt.rqd_flag := l_rqd_flag_va(i) ;
4293 elmt.ext_data_elmt_id := l_ext_data_elmt_id_va(i) ;
4294 elmt.data_elmt_typ_cd := l_data_elmt_typ_cd_va(i) ;
4295 elmt.data_elmt_rl := l_data_elmt_rl_va(i) ;
4296 elmt.name := l_name_va(i) ;
4297 elmt.frmt_mask_lookup_cd := l_frmt_mask_lookup_cd_va(i) ;
4298 elmt.string_val := l_string_val_va(i) ;
4299 elmt.dflt_val := l_dflt_val_va(i) ;
4300 elmt.max_length_num := l_max_length_num_va(i) ;
4301 elmt.just_cd := l_just_cd_va(i) ;
4302 elmt.short_name := l_short_name_va(i) ;
4303 elmt.ttl_fnctn_cd := l_ttl_fnctn_cd_va(i) ;
4304 elmt.defined_balance_id := l_defined_balance_id_va(i) ;
4305
4306 if elmt.frmt_mask_lookup_cd is not null then
4307 l_frmt_mask_cd := hr_general.decode_lookup('BEN_EXT_FRMT_MASK',
4308 elmt.frmt_mask_lookup_cd ) ;
4309 end if ;
4310
4311 if elmt.short_name is not null then
4312 l_two_char_substr := substr(elmt.short_name,1,2) ;
4313 l_one_char_substr := substr(elmt.short_name,1,1) ;
4314
4315 end if ;
4316
4317 if g_debug then
4318 hr_utility.set_location('short name '||elmt.short_name,90);
4319 hr_utility.set_location(' defined_balance_id '||elmt.defined_balance_id,90);
4320 hr_utility.set_location(' ttl_fnctn_cd '||elmt.ttl_fnctn_cd,90);
4321 hr_utility.set_location(' one_char_substr '||l_one_char_substr,90);
4322 hr_utility.set_location(' two_char_substr '||l_two_char_substr,90);
4323 hr_utility.set_location(' name '||elmt.name,90);
4324 hr_utility.set_location(' dflt_val '||elmt.dflt_val,90);
4325 hr_utility.set_location(' frmt_mask_lookup_cd '||elmt.frmt_mask_lookup_cd,90);
4326 hr_utility.set_location(' frmt_mask_cd '||l_frmt_mask_cd,90);
4327 hr_utility.set_location(' seq_num '||elmt.seq_num,90);
4328 hr_utility.set_location(' seq_num '||elmt.seq_num,90);
4329
4330
4331 end if ;
4332 --
4333 l_rslt_elmt := null;
4334 --
4335 -- check field include/suppress condition
4336 --
4337 g_elmt_name := elmt.name ;
4338 hr_utility.set_location('ELEMENT '||elmt.short_name,10);
4339 hr_utility.set_location('Type Code '||elmt.data_elmt_typ_cd,10);
4340
4341 IF elmt.data_elmt_typ_cd in ('F','D') THEN
4342 --
4343 -- data element is a field:
4344 l_rslt_elmt := get_element_value(
4345 p_seq_num => elmt.seq_num
4346 , p_ext_data_elmt_id => elmt.ext_data_elmt_id
4347 , p_data_elmt_typ_cd => elmt.data_elmt_typ_cd
4348 , p_name => elmt.name
4349 , p_frmt_mask_cd => l_frmt_mask_cd
4350 , p_dflt_val => elmt.dflt_val
4351 , p_short_name => elmt.short_name
4352 , p_two_char_substr => l_two_char_substr
4353 , p_one_char_substr => l_one_char_substr
4354 , p_lookup_type => l_lookup_type
4355 , p_frmt_mask_lookup_cd => elmt.frmt_mask_lookup_cd );
4356 --- if the requird lement is not null and return value is null exit
4357 if g_rqd_elmt_is_present = 'N' and l_rslt_elmt is null then
4358 exit ;
4359 end if ;
4360
4361 --- decide the grouping element subhead
4362 if ben_ext_thread.g_ext_group_elmt1 is not null then
4363 hr_utility.set_location(' GROUP ' || ben_ext_thread.g_ext_group_elmt1 || ' / ' ||elmt.short_name , 99 ) ;
4364 if ben_ext_thread.g_ext_group_elmt1 = elmt.short_name then
4365 ben_ext_person.g_group_elmt_value1 := l_rslt_elmt ;
4366 end if ;
4367 if ben_ext_thread.g_ext_group_elmt2 is not null then
4368 if ben_ext_thread.g_ext_group_elmt2 = elmt.short_name then
4369 ben_ext_person.g_group_elmt_value2 := l_rslt_elmt ;
4370 end if ;
4371 else
4372 if p_rcd_typ_cd = 'S' then
4373 ben_ext_person.g_group_elmt_value2 := ' ' ;
4374 else
4375 ben_ext_person.g_group_elmt_value2 := null ;
4376 end if ;
4377 end if ;
4378 hr_utility.set_location(' GROUP value ' || ben_ext_person.g_group_elmt_value1 , 99 ) ;
4379 else
4380 if p_rcd_typ_cd = 'S' then
4381 ben_ext_person.g_group_elmt_value1 := ' ' ;
4382 ben_ext_person.g_group_elmt_value2 := ' ' ;
4383 else
4384 ben_ext_person.g_group_elmt_value1 := null ;
4385 ben_ext_person.g_group_elmt_value2 := null ;
4386 end if ;
4387 end if ;
4388
4389 --
4390 if p_rcd_typ_cd <> 'S' and ben_ext_person.g_group_elmt_value1 = ' ' then
4391 ben_ext_person.g_group_elmt_value1 := null;
4392 ben_ext_person.g_group_elmt_value2 := null;
4393 end if ;
4394 if p_rcd_typ_cd <> 'S' and ben_ext_person.g_group_elmt_value2 = ' ' then
4395 ben_ext_person.g_group_elmt_value2 := null;
4396 end if ;
4397 --- eof subhead
4398
4399
4400
4401 ELSIF elmt.data_elmt_typ_cd ='C' THEN
4402 --
4403 -- data element is a calcualtion:
4404 l_rslt_elmt := get_calc_value(
4405 p_seq_num => elmt.seq_num
4406 , p_ext_data_elmt_id => elmt.ext_data_elmt_id
4407 , p_data_elmt_typ_cd => elmt.data_elmt_typ_cd
4408 , p_name => elmt.name
4409 , p_frmt_mask_cd => l_frmt_mask_cd
4410 , p_dflt_val => elmt.dflt_val
4411 , p_short_name => elmt.short_name
4412 , p_two_char_substr => l_two_char_substr
4413 , p_one_char_substr => l_one_char_substr
4414 , p_lookup_type => l_lookup_type
4415 , p_calc => elmt.ttl_fnctn_cd
4416 , p_person_id => p_person_id
4417 , p_ext_per_bg_id => l_ext_per_bg_id
4418 , p_effective_date => p_effective_date
4419 , p_business_group_id => p_business_group_id
4420 , p_frmt_mask_lookup_cd => elmt.frmt_mask_lookup_cd
4421 , p_ext_rcd_id => l_ext_rcd_id
4422 );
4423 --- if the requird lement is not null and return value is null exit
4424 if g_rqd_elmt_is_present = 'N' and l_rslt_elmt is null then
4425 exit ;
4426 end if ;
4427
4428 --
4429 ELSIF elmt.data_elmt_typ_cd = 'R' THEN
4430 --
4431
4432 l_rslt_elmt := Calculate_formula
4433 ( p_person_id => p_person_id ,
4434 p_data_elmt_rl => elmt.data_elmt_rl ,
4435 p_ext_per_bg_id => l_ext_per_bg_id ,
4436 p_String_val => elmt.string_val,
4437 p_frmt_mask_lookup_cd => elmt.frmt_mask_lookup_cd,
4438 p_frmt_mask_cd => l_frmt_mask_cd ,
4439 p_business_group_id => p_business_group_id ,
4440 p_effective_date => p_effective_date ) ;
4441
4442
4443
4444 ELSIF elmt.data_elmt_typ_cd = 'S' THEN
4445 --
4446 -- data element is a string:
4447 -- ---------------------------------------------------------
4448 l_rslt_elmt := elmt.string_val;
4449 ---if the max Lenght defined , sixe the string as per
4450 --- the max_string , the function down use the max lengh
4451 --- use the min of lenght and max lenght so format here only
4452 if elmt.max_length_num is not null then
4453 l_rslt_elmt := rpad(nvl(l_rslt_elmt,' '),elmt.max_length_num);
4454 hr_utility.set_location(' string max lenght '|| l_rslt_elmt,100 );
4455 end if ;
4456
4457 ELSIF elmt.data_elmt_typ_cd = 'P' THEN
4458 -- payroll balance
4459 hr_utility.set_location(' payroll balance id '|| elmt.defined_balance_id ,100 );
4460 -- l_rslt_elmt := '00.00';
4461 -- format mask handlinga
4462 if ben_Ext_person.g_assignment_id is not null then
4463 l_rslt_elmt := get_pay_balance(
4464 p_defined_balance_id => elmt.defined_balance_id
4465 ,p_assignment_id => ben_Ext_person.g_assignment_id
4466 ,p_effective_date => p_effective_date
4467 ,p_business_group_id => nvl(l_ext_per_bg_id,p_business_group_id)
4468 ) ;
4469
4470 begin
4471 if substr(elmt.frmt_mask_lookup_cd,1,1) = 'N' then
4472 l_rslt_elmt_fmt := apply_format_mask(to_number(l_rslt_elmt), l_frmt_mask_cd);
4473 l_rslt_elmt := l_rslt_elmt_fmt;
4474 end if;
4475 if substr(elmt.frmt_mask_lookup_cd,1,1) = 'D' then
4476 l_rslt_elmt_fmt:=apply_format_mask(fnd_date.canonical_to_date(l_rslt_elmt),l_frmt_mask_cd);
4477 l_rslt_elmt := l_rslt_elmt_fmt;
4478 end if ;
4479 exception -- incase l_rslt_elmt is not valid for formatting, just don't format it.
4480 when others then
4481 null;
4482 end;
4483 end if ;
4484 hr_utility.set_location(' payroll balance '|| l_rslt_elmt,100 );
4485
4486 END IF;
4487 --
4488 -- if resulting data element (field) is null, substitute it with
4489 -- default value
4490 --
4491 IF elmt.data_elmt_typ_cd in ('F','R' ,'P' ) and l_rslt_elmt is null then
4492 --
4493 l_rslt_elmt := elmt.dflt_val;
4494 --
4495 END IF;
4496
4497 ---
4498 --
4499 -- truncate data element
4500 --
4501 IF elmt.max_length_num is not null THEN
4502 --
4503 l_max_len := least (length(l_rslt_elmt),elmt.max_length_num) ;
4504 -- numbers should always trunc from the left
4505 if substr(elmt.frmt_mask_lookup_cd,1,1) = 'N' then
4506 l_rslt_elmt := SUBSTR(l_rslt_elmt, -l_max_len);
4507 else -- everything else truncs from the right.
4508 l_rslt_elmt := SUBSTR(l_rslt_elmt, 1, elmt.max_length_num);
4509 end if;
4510 hr_utility.set_location(' after max lenght '|| l_rslt_elmt,100 );
4511 --
4512 END IF;
4513 --
4514 --
4515 -- if data element is mandatory, but l_rslt_elmt is null then
4516 -- exit the procedure, raise detail error
4517 -- exit the record not the person
4518 IF elmt.rqd_flag = 'Y' and (l_rslt_elmt is null) then
4519 --
4520 ben_ext_person.g_elmt_name := g_elmt_name ;
4521 ben_ext_person.g_err_num := 91887;
4522 ben_ext_person.g_err_name := 'BEN_91887_EXT_RQD_DATA_ELMT';
4523 -- raise ben_ext_person.detail_error;
4524 g_rqd_elmt_is_present := 'N' ;
4525 exit ;
4526 --
4527 END IF;
4528 --
4529 g_val_tab(elmt.seq_num) := l_rslt_elmt;
4530 --
4531 --
4532 if p_data_typ_cd = 'C' then -- changes only extract
4533 --
4534 ben_ext_adv_conditions.chg_evt_incl
4535 (p_ext_data_elmt_in_rcd_id => elmt.ext_data_elmt_in_rcd_id,
4536 p_data_elmt_seq_num => elmt.seq_num,
4537 p_chg_evt_cd => p_chg_evt_cd,
4538 p_exclude_flag => l_exclude_flag);
4539 --
4540 if l_exclude_flag = true then
4541 g_val_tab(elmt.seq_num) := null;
4542 end if;
4543 --
4544 end if;
4545 --
4546 END LOOP;
4547 --
4548 if g_rqd_elmt_is_present = 'Y' then
4549 ben_ext_adv_conditions.data_elmt_in_rcd
4550 (p_ext_rcd_id => l_ext_rcd_id,
4551 p_exclude_this_rcd_flag => l_exclude_this_rcd_flag);
4552 --
4553 if l_exclude_this_rcd_flag = true then
4554 l_write_rcd := 'N';
4555 end if;
4556 --
4557 if l_write_rcd = 'Y' then
4558 ben_ext_adv_conditions.rcd_in_file
4559 (p_ext_rcd_in_file_id => ben_extract.gtt_rcd_typ_vals(i).ext_rcd_in_file_id,
4560 p_sprs_cd => ben_extract.gtt_rcd_typ_vals(i).sprs_cd,
4561 p_exclude_this_rcd_flag => l_exclude_this_rcd_flag);
4562 --
4563 if l_exclude_this_rcd_flag = true then
4564 l_write_rcd := 'N';
4565 end if;
4566 --
4567 end if;
4568 --
4569 if l_write_rcd = 'Y' and p_data_typ_cd = 'C' then -- changes only extract
4570 ben_ext_adv_conditions.chg_evt_incl
4571 (p_ext_rcd_in_file_id => ben_extract.gtt_rcd_typ_vals(i).ext_rcd_in_file_id,
4572 p_rcd_seq_num => ben_extract.gtt_rcd_typ_vals(i).seq_num,
4573 p_chg_evt_cd => p_chg_evt_cd,
4574 p_exclude_flag => l_exclude_flag);
4575 --
4576 if l_exclude_flag = true then
4577 l_write_rcd := 'N';
4578 end if;
4579 end if;
4580 -- mandatory validation moved from the prevent duplication
4581 if l_write_rcd = 'Y' then
4582 -- check the mandatroy in seq and low level
4583 -- prevent duplication should not have any effect on
4584 -- required flag validation prevent is valdiated because the record is found
4585
4586 FOR rci IN
4587 ben_extract.gtt_rcd_rqd_vals_seq.FIRST .. ben_extract.gtt_rcd_rqd_vals_seq.LAST
4588 LOOP
4589 --
4590 IF ( ben_extract.gtt_rcd_rqd_vals_seq(rci).low_lvl_cd = p_low_lvl_cd
4591 and ben_extract.gtt_rcd_rqd_vals_seq(rci).seq_num = ben_extract.gtt_rcd_typ_vals(i).seq_num
4592 )
4593 OR ben_extract.gtt_rcd_rqd_vals_seq(rci).low_lvl_cd = 'NOREQDRCD'
4594 THEN
4595 hr_utility.set_location('mandatory found' || p_low_lvl_cd , 99 );
4596 hr_utility.set_location('mandatory found' || ben_extract.gtt_rcd_typ_vals(i).seq_num , 99 );
4597 ben_extract.gtt_rcd_rqd_vals_seq(rci).rcd_found := TRUE;
4598 END IF;
4599 END LOOP ;
4600
4601 end if ;
4602 --
4603
4604 if l_write_rcd = 'Y' then
4605 ben_ext_adv_conditions.prevent_duplicates
4606 (p_ext_rslt_id => p_ext_rslt_id,
4607 p_person_id => p_person_id,
4608 p_any_or_all_cd => ben_extract.gtt_rcd_typ_vals(i).any_or_all_cd,
4609 p_ext_rcd_id => l_ext_rcd_id,
4610 p_exclude_this_rcd_flag => l_exclude_this_rcd_flag);
4611 --
4612 if l_exclude_this_rcd_flag = true then
4613 l_write_rcd := 'N';
4614 end if;
4615 --
4616 end if;
4617 --
4618 if l_write_rcd = 'Y' then
4619
4620
4621 --
4622 -- the following sort routine populates the l_..._sort_val fields
4623 --
4624 ben_ext_sort.main
4625 (p_ext_rcd_in_file_id => ben_extract.gtt_rcd_typ_vals(i).ext_rcd_in_file_id,
4626 p_sort1_data_elmt_in_rcd_id => ben_extract.gtt_rcd_typ_vals(i).sort1,
4627 p_sort2_data_elmt_in_rcd_id => ben_extract.gtt_rcd_typ_vals(i).sort2,
4628 p_sort3_data_elmt_in_rcd_id => ben_extract.gtt_rcd_typ_vals(i).sort3,
4629 p_sort4_data_elmt_in_rcd_id => ben_extract.gtt_rcd_typ_vals(i).sort4,
4630 p_rcd_seq_num => ben_extract.gtt_rcd_typ_vals(i).seq_num,
4631 p_low_lvl_cd => p_low_lvl_cd,
4632 p_prmy_sort_val => l_prmy_sort_val,
4633 p_scnd_sort_val => l_scnd_sort_val,
4634 p_thrd_sort_val => l_thrd_sort_val);
4635
4636
4637 --- if the record is sub header send space as sorting vale
4638 if p_rcd_typ_cd = 'S' then
4639 l_prmy_sort_val := ' ' ;
4640 --l_scnd_sort_val := ' ' ;
4641 end if ;
4642
4643 --
4644 hr_utility.set_location( ' l_chg_rcd_upd_flag ' || p_data_typ_cd || ' / ' || l_chg_rcd_upd_flag, 99 ) ;
4645 l_ext_chg_rcd_mode := 'C' ;
4646 if p_data_typ_cd = 'C' and l_chg_rcd_upd_flag = 'Y' then
4647 -- of the record to be sonsoldated for change event extract
4648
4649 ben_ext_adv_conditions.chg_rcd_merge
4650 (p_ext_rslt_dtl_id => l_ext_rslt_dtl_id
4651 ,p_ext_rslt_id => p_ext_rslt_id
4652 ,p_ext_rcd_id => l_ext_rcd_id
4653 ,p_person_id => p_person_id
4654 ,p_business_group_id => p_business_group_id
4655 ,p_val_01 => g_val_tab(1)
4656 ,p_val_02 => g_val_tab(2)
4657 ,p_val_03 => g_val_tab(3)
4658 ,p_val_04 => g_val_tab(4)
4659 ,p_val_05 => g_val_tab(5)
4660 ,p_val_06 => g_val_tab(6)
4661 ,p_val_07 => g_val_tab(7)
4662 ,p_val_08 => g_val_tab(8)
4663 ,p_val_09 => g_val_tab(9)
4664 ,p_val_10 => g_val_tab(10)
4665 ,p_val_11 => g_val_tab(11)
4666 ,p_val_12 => g_val_tab(12)
4667 ,p_val_13 => g_val_tab(13)
4668 ,p_val_14 => g_val_tab(14)
4669 ,p_val_15 => g_val_tab(15)
4670 ,p_val_16 => g_val_tab(16)
4671 ,p_val_17 => g_val_tab(17)
4672 ,p_val_18 => g_val_tab(18)
4673 ,p_val_19 => g_val_tab(19)
4674 ,p_val_20 => g_val_tab(20)
4675 ,p_val_21 => g_val_tab(21)
4676 ,p_val_22 => g_val_tab(22)
4677 ,p_val_23 => g_val_tab(23)
4678 ,p_val_24 => g_val_tab(24)
4679 ,p_val_25 => g_val_tab(25)
4680 ,p_val_26 => g_val_tab(26)
4681 ,p_val_27 => g_val_tab(27)
4682 ,p_val_28 => g_val_tab(28)
4683 ,p_val_29 => g_val_tab(29)
4684 ,p_val_30 => g_val_tab(30)
4685 ,p_val_31 => g_val_tab(31)
4686 ,p_val_32 => g_val_tab(32)
4687 ,p_val_33 => g_val_tab(33)
4688 ,p_val_34 => g_val_tab(34)
4689 ,p_val_35 => g_val_tab(35)
4690 ,p_val_36 => g_val_tab(36)
4691 ,p_val_37 => g_val_tab(37)
4692 ,p_val_38 => g_val_tab(38)
4693 ,p_val_39 => g_val_tab(39)
4694 ,p_val_40 => g_val_tab(40)
4695 ,p_val_41 => g_val_tab(41)
4696 ,p_val_42 => g_val_tab(42)
4697 ,p_val_43 => g_val_tab(43)
4698 ,p_val_44 => g_val_tab(44)
4699 ,p_val_45 => g_val_tab(45)
4700 ,p_val_46 => g_val_tab(46)
4701 ,p_val_47 => g_val_tab(47)
4702 ,p_val_48 => g_val_tab(48)
4703 ,p_val_49 => g_val_tab(49)
4704 ,p_val_50 => g_val_tab(50)
4705 ,p_val_51 => g_val_tab(51)
4706 ,p_val_52 => g_val_tab(52)
4707 ,p_val_53 => g_val_tab(53)
4708 ,p_val_54 => g_val_tab(54)
4709 ,p_val_55 => g_val_tab(55)
4710 ,p_val_56 => g_val_tab(56)
4711 ,p_val_57 => g_val_tab(57)
4712 ,p_val_58 => g_val_tab(58)
4713 ,p_val_59 => g_val_tab(59)
4714 ,p_val_60 => g_val_tab(60)
4715 ,p_val_61 => g_val_tab(61)
4716 ,p_val_62 => g_val_tab(62)
4717 ,p_val_63 => g_val_tab(63)
4718 ,p_val_64 => g_val_tab(64)
4719 ,p_val_65 => g_val_tab(65)
4720 ,p_val_66 => g_val_tab(66)
4721 ,p_val_67 => g_val_tab(67)
4722 ,p_val_68 => g_val_tab(68)
4723 ,p_val_69 => g_val_tab(69)
4724 ,p_val_70 => g_val_tab(70)
4725 ,p_val_71 => g_val_tab(71)
4726 ,p_val_72 => g_val_tab(72)
4727 ,p_val_73 => g_val_tab(73)
4728 ,p_val_74 => g_val_tab(74)
4729 ,p_val_75 => g_val_tab(75)
4730 ,p_val_76 => g_val_tab(76)
4731 ,p_val_77 => g_val_tab(77)
4732 ,p_val_78 => g_val_tab(78)
4733 ,p_val_79 => g_val_tab(79)
4734 ,p_val_80 => g_val_tab(80)
4735 ,p_val_81 => g_val_tab(81)
4736 ,p_val_82 => g_val_tab(82)
4737 ,p_val_83 => g_val_tab(83)
4738 ,p_val_84 => g_val_tab(84)
4739 ,p_val_85 => g_val_tab(85)
4740 ,p_val_86 => g_val_tab(86)
4741 ,p_val_87 => g_val_tab(87)
4742 ,p_val_88 => g_val_tab(88)
4743 ,p_val_89 => g_val_tab(89)
4744 ,p_val_90 => g_val_tab(90)
4745 ,p_val_91 => g_val_tab(91)
4746 ,p_val_92 => g_val_tab(92)
4747 ,p_val_93 => g_val_tab(93)
4748 ,p_val_94 => g_val_tab(94)
4749 ,p_val_95 => g_val_tab(95)
4750 ,p_val_96 => g_val_tab(96)
4751 ,p_val_97 => g_val_tab(97)
4752 ,p_val_98 => g_val_tab(98)
4753 ,p_val_99 => g_val_tab(99)
4754 ,p_val_100 => g_val_tab(100)
4755 ,p_val_101 => g_val_tab(101)
4756 ,p_val_102 => g_val_tab(102)
4757 ,p_val_103 => g_val_tab(103)
4758 ,p_val_104 => g_val_tab(104)
4759 ,p_val_105 => g_val_tab(105)
4760 ,p_val_106 => g_val_tab(106)
4761 ,p_val_107 => g_val_tab(107)
4762 ,p_val_108 => g_val_tab(108)
4763 ,p_val_109 => g_val_tab(109)
4764 ,p_val_110 => g_val_tab(110)
4765 ,p_val_111 => g_val_tab(111)
4766 ,p_val_112 => g_val_tab(112)
4767 ,p_val_113 => g_val_tab(113)
4768 ,p_val_114 => g_val_tab(114)
4769 ,p_val_115 => g_val_tab(115)
4770 ,p_val_116 => g_val_tab(116)
4771 ,p_val_117 => g_val_tab(117)
4772 ,p_val_118 => g_val_tab(118)
4773 ,p_val_119 => g_val_tab(119)
4774 ,p_val_120 => g_val_tab(120)
4775 ,p_val_121 => g_val_tab(121)
4776 ,p_val_122 => g_val_tab(122)
4777 ,p_val_123 => g_val_tab(123)
4778 ,p_val_124 => g_val_tab(124)
4779 ,p_val_125 => g_val_tab(125)
4780 ,p_val_126 => g_val_tab(126)
4781 ,p_val_127 => g_val_tab(127)
4782 ,p_val_128 => g_val_tab(128)
4783 ,p_val_129 => g_val_tab(129)
4784 ,p_val_130 => g_val_tab(130)
4785 ,p_val_131 => g_val_tab(131)
4786 ,p_val_132 => g_val_tab(132)
4787 ,p_val_133 => g_val_tab(133)
4788 ,p_val_134 => g_val_tab(134)
4789 ,p_val_135 => g_val_tab(135)
4790 ,p_val_136 => g_val_tab(136)
4791 ,p_val_137 => g_val_tab(137)
4792 ,p_val_138 => g_val_tab(138)
4793 ,p_val_139 => g_val_tab(139)
4794 ,p_val_140 => g_val_tab(140)
4795 ,p_val_141 => g_val_tab(141)
4796 ,p_val_142 => g_val_tab(142)
4797 ,p_val_143 => g_val_tab(143)
4798 ,p_val_144 => g_val_tab(144)
4799 ,p_val_145 => g_val_tab(145)
4800 ,p_val_146 => g_val_tab(146)
4801 ,p_val_147 => g_val_tab(147)
4802 ,p_val_148 => g_val_tab(148)
4803 ,p_val_149 => g_val_tab(149)
4804 ,p_val_150 => g_val_tab(150)
4805 ,p_val_151 => g_val_tab(151)
4806 ,p_val_152 => g_val_tab(152)
4807 ,p_val_153 => g_val_tab(153)
4808 ,p_val_154 => g_val_tab(154)
4809 ,p_val_155 => g_val_tab(155)
4810 ,p_val_156 => g_val_tab(156)
4811 ,p_val_157 => g_val_tab(157)
4812 ,p_val_158 => g_val_tab(158)
4813 ,p_val_159 => g_val_tab(159)
4814 ,p_val_160 => g_val_tab(160)
4815 ,p_val_161 => g_val_tab(161)
4816 ,p_val_162 => g_val_tab(162)
4817 ,p_val_163 => g_val_tab(163)
4818 ,p_val_164 => g_val_tab(164)
4819 ,p_val_165 => g_val_tab(165)
4820 ,p_val_166 => g_val_tab(166)
4821 ,p_val_167 => g_val_tab(167)
4822 ,p_val_168 => g_val_tab(168)
4823 ,p_val_169 => g_val_tab(169)
4824 ,p_val_170 => g_val_tab(170)
4825 ,p_val_171 => g_val_tab(171)
4826 ,p_val_172 => g_val_tab(172)
4827 ,p_val_173 => g_val_tab(173)
4828 ,p_val_174 => g_val_tab(174)
4829 ,p_val_175 => g_val_tab(175)
4830 ,p_val_176 => g_val_tab(176)
4831 ,p_val_177 => g_val_tab(177)
4832 ,p_val_178 => g_val_tab(178)
4833 ,p_val_179 => g_val_tab(179)
4834 ,p_val_180 => g_val_tab(180)
4835 ,p_val_181 => g_val_tab(181)
4836 ,p_val_182 => g_val_tab(182)
4837 ,p_val_183 => g_val_tab(183)
4838 ,p_val_184 => g_val_tab(184)
4839 ,p_val_185 => g_val_tab(185)
4840 ,p_val_186 => g_val_tab(186)
4841 ,p_val_187 => g_val_tab(187)
4842 ,p_val_188 => g_val_tab(188)
4843 ,p_val_189 => g_val_tab(189)
4844 ,p_val_190 => g_val_tab(190)
4845 ,p_val_191 => g_val_tab(191)
4846 ,p_val_192 => g_val_tab(192)
4847 ,p_val_193 => g_val_tab(193)
4848 ,p_val_194 => g_val_tab(194)
4849 ,p_val_195 => g_val_tab(195)
4850 ,p_val_196 => g_val_tab(196)
4851 ,p_val_197 => g_val_tab(197)
4852 ,p_val_198 => g_val_tab(198)
4853 ,p_val_199 => g_val_tab(199)
4854 ,p_val_200 => g_val_tab(200)
4855 ,p_val_201 => g_val_tab(201)
4856 ,p_val_202 => g_val_tab(202)
4857 ,p_val_203 => g_val_tab(203)
4858 ,p_val_204 => g_val_tab(204)
4859 ,p_val_205 => g_val_tab(205)
4860 ,p_val_206 => g_val_tab(206)
4861 ,p_val_207 => g_val_tab(207)
4862 ,p_val_208 => g_val_tab(208)
4863 ,p_val_209 => g_val_tab(209)
4864 ,p_val_210 => g_val_tab(210)
4865 ,p_val_211 => g_val_tab(211)
4866 ,p_val_212 => g_val_tab(212)
4867 ,p_val_213 => g_val_tab(213)
4868 ,p_val_214 => g_val_tab(214)
4869 ,p_val_215 => g_val_tab(215)
4870 ,p_val_216 => g_val_tab(216)
4871 ,p_val_217 => g_val_tab(217)
4872 ,p_val_218 => g_val_tab(218)
4873 ,p_val_219 => g_val_tab(219)
4874 ,p_val_220 => g_val_tab(220)
4875 ,p_val_221 => g_val_tab(221)
4876 ,p_val_222 => g_val_tab(222)
4877 ,p_val_223 => g_val_tab(223)
4878 ,p_val_224 => g_val_tab(224)
4879 ,p_val_225 => g_val_tab(225)
4880 ,p_val_226 => g_val_tab(226)
4881 ,p_val_227 => g_val_tab(227)
4882 ,p_val_228 => g_val_tab(228)
4883 ,p_val_229 => g_val_tab(229)
4884 ,p_val_230 => g_val_tab(230)
4885 ,p_val_231 => g_val_tab(231)
4886 ,p_val_232 => g_val_tab(232)
4887 ,p_val_233 => g_val_tab(233)
4888 ,p_val_234 => g_val_tab(234)
4889 ,p_val_235 => g_val_tab(235)
4890 ,p_val_236 => g_val_tab(236)
4891 ,p_val_237 => g_val_tab(237)
4892 ,p_val_238 => g_val_tab(238)
4893 ,p_val_239 => g_val_tab(239)
4894 ,p_val_240 => g_val_tab(240)
4895 ,p_val_241 => g_val_tab(241)
4896 ,p_val_242 => g_val_tab(242)
4897 ,p_val_243 => g_val_tab(243)
4898 ,p_val_244 => g_val_tab(244)
4899 ,p_val_245 => g_val_tab(245)
4900 ,p_val_246 => g_val_tab(246)
4901 ,p_val_247 => g_val_tab(247)
4902 ,p_val_248 => g_val_tab(248)
4903 ,p_val_249 => g_val_tab(249)
4904 ,p_val_250 => g_val_tab(250)
4905 ,p_val_251 => g_val_tab(251)
4906 ,p_val_252 => g_val_tab(252)
4907 ,p_val_253 => g_val_tab(253)
4908 ,p_val_254 => g_val_tab(254)
4909 ,p_val_255 => g_val_tab(255)
4910 ,p_val_256 => g_val_tab(256)
4911 ,p_val_257 => g_val_tab(257)
4912 ,p_val_258 => g_val_tab(258)
4913 ,p_val_259 => g_val_tab(259)
4914 ,p_val_260 => g_val_tab(260)
4915 ,p_val_261 => g_val_tab(261)
4916 ,p_val_262 => g_val_tab(262)
4917 ,p_val_263 => g_val_tab(263)
4918 ,p_val_264 => g_val_tab(264)
4919 ,p_val_265 => g_val_tab(265)
4920 ,p_val_266 => g_val_tab(266)
4921 ,p_val_267 => g_val_tab(267)
4922 ,p_val_268 => g_val_tab(268)
4923 ,p_val_269 => g_val_tab(269)
4924 ,p_val_270 => g_val_tab(270)
4925 ,p_val_271 => g_val_tab(271)
4926 ,p_val_272 => g_val_tab(272)
4927 ,p_val_273 => g_val_tab(273)
4928 ,p_val_274 => g_val_tab(274)
4929 ,p_val_275 => g_val_tab(275)
4930 ,p_val_276 => g_val_tab(276)
4931 ,p_val_277 => g_val_tab(277)
4932 ,p_val_278 => g_val_tab(278)
4933 ,p_val_279 => g_val_tab(279)
4934 ,p_val_280 => g_val_tab(280)
4935 ,p_val_281 => g_val_tab(281)
4936 ,p_val_282 => g_val_tab(282)
4937 ,p_val_283 => g_val_tab(283)
4938 ,p_val_284 => g_val_tab(284)
4939 ,p_val_285 => g_val_tab(285)
4940 ,p_val_286 => g_val_tab(286)
4941 ,p_val_287 => g_val_tab(287)
4942 ,p_val_288 => g_val_tab(288)
4943 ,p_val_289 => g_val_tab(289)
4944 ,p_val_290 => g_val_tab(290)
4945 ,p_val_291 => g_val_tab(291)
4946 ,p_val_292 => g_val_tab(292)
4947 ,p_val_293 => g_val_tab(293)
4948 ,p_val_294 => g_val_tab(294)
4949 ,p_val_295 => g_val_tab(295)
4950 ,p_val_296 => g_val_tab(296)
4951 ,p_val_297 => g_val_tab(297)
4952 ,p_val_298 => g_val_tab(298)
4953 ,p_val_299 => g_val_tab(299)
4954 ,p_val_300 => g_val_tab(300)
4955 ,p_object_version_number => l_object_version_number
4956 ,p_ext_chg_rcd_mode => l_ext_chg_rcd_mode
4957 ,p_ext_rcd_in_file_id => l_ext_rcd_in_file_id
4958 );
4959 hr_utility.set_location(' Mode ' || l_ext_chg_rcd_mode,99 ) ;
4960 end if ;
4961
4962 -- if change extract and update flag defined and mode is update then
4963 if p_data_typ_cd = 'C' and l_chg_rcd_upd_flag = 'Y' and l_ext_chg_rcd_mode = 'U' then
4964
4965 ben_ext_rslt_dtl_api.update_ext_rslt_dtl
4966 (p_validate => false
4967 ,p_ext_rslt_dtl_id => l_ext_rslt_dtl_id
4968 ,p_ext_rslt_id => p_ext_rslt_id
4969 ,p_ext_rcd_id => l_ext_rcd_id
4970 ,p_person_id => p_person_id
4971 ,p_business_group_id => p_business_group_id
4972 ,p_val_01 => g_val_tab(1)
4973 ,p_val_02 => g_val_tab(2)
4974 ,p_val_03 => g_val_tab(3)
4975 ,p_val_04 => g_val_tab(4)
4976 ,p_val_05 => g_val_tab(5)
4977 ,p_val_06 => g_val_tab(6)
4978 ,p_val_07 => g_val_tab(7)
4979 ,p_val_08 => g_val_tab(8)
4980 ,p_val_09 => g_val_tab(9)
4981 ,p_val_10 => g_val_tab(10)
4982 ,p_val_11 => g_val_tab(11)
4983 ,p_val_12 => g_val_tab(12)
4984 ,p_val_13 => g_val_tab(13)
4985 ,p_val_14 => g_val_tab(14)
4986 ,p_val_15 => g_val_tab(15)
4987 ,p_val_16 => g_val_tab(16)
4988 ,p_val_17 => g_val_tab(17)
4989 ,p_val_18 => g_val_tab(18)
4990 ,p_val_19 => g_val_tab(19)
4991 ,p_val_20 => g_val_tab(20)
4992 ,p_val_21 => g_val_tab(21)
4993 ,p_val_22 => g_val_tab(22)
4994 ,p_val_23 => g_val_tab(23)
4995 ,p_val_24 => g_val_tab(24)
4996 ,p_val_25 => g_val_tab(25)
4997 ,p_val_26 => g_val_tab(26)
4998 ,p_val_27 => g_val_tab(27)
4999 ,p_val_28 => g_val_tab(28)
5000 ,p_val_29 => g_val_tab(29)
5001 ,p_val_30 => g_val_tab(30)
5002 ,p_val_31 => g_val_tab(31)
5003 ,p_val_32 => g_val_tab(32)
5004 ,p_val_33 => g_val_tab(33)
5005 ,p_val_34 => g_val_tab(34)
5006 ,p_val_35 => g_val_tab(35)
5007 ,p_val_36 => g_val_tab(36)
5008 ,p_val_37 => g_val_tab(37)
5009 ,p_val_38 => g_val_tab(38)
5010 ,p_val_39 => g_val_tab(39)
5011 ,p_val_40 => g_val_tab(40)
5012 ,p_val_41 => g_val_tab(41)
5013 ,p_val_42 => g_val_tab(42)
5014 ,p_val_43 => g_val_tab(43)
5015 ,p_val_44 => g_val_tab(44)
5016 ,p_val_45 => g_val_tab(45)
5017 ,p_val_46 => g_val_tab(46)
5018 ,p_val_47 => g_val_tab(47)
5019 ,p_val_48 => g_val_tab(48)
5020 ,p_val_49 => g_val_tab(49)
5021 ,p_val_50 => g_val_tab(50)
5022 ,p_val_51 => g_val_tab(51)
5023 ,p_val_52 => g_val_tab(52)
5024 ,p_val_53 => g_val_tab(53)
5025 ,p_val_54 => g_val_tab(54)
5026 ,p_val_55 => g_val_tab(55)
5027 ,p_val_56 => g_val_tab(56)
5028 ,p_val_57 => g_val_tab(57)
5029 ,p_val_58 => g_val_tab(58)
5030 ,p_val_59 => g_val_tab(59)
5031 ,p_val_60 => g_val_tab(60)
5032 ,p_val_61 => g_val_tab(61)
5033 ,p_val_62 => g_val_tab(62)
5034 ,p_val_63 => g_val_tab(63)
5035 ,p_val_64 => g_val_tab(64)
5036 ,p_val_65 => g_val_tab(65)
5037 ,p_val_66 => g_val_tab(66)
5038 ,p_val_67 => g_val_tab(67)
5039 ,p_val_68 => g_val_tab(68)
5040 ,p_val_69 => g_val_tab(69)
5041 ,p_val_70 => g_val_tab(70)
5042 ,p_val_71 => g_val_tab(71)
5043 ,p_val_72 => g_val_tab(72)
5044 ,p_val_73 => g_val_tab(73)
5045 ,p_val_74 => g_val_tab(74)
5046 ,p_val_75 => g_val_tab(75)
5047 ,p_val_76 => g_val_tab(76)
5048 ,p_val_77 => g_val_tab(77)
5049 ,p_val_78 => g_val_tab(78)
5050 ,p_val_79 => g_val_tab(79)
5051 ,p_val_80 => g_val_tab(80)
5052 ,p_val_81 => g_val_tab(81)
5053 ,p_val_82 => g_val_tab(82)
5054 ,p_val_83 => g_val_tab(83)
5055 ,p_val_84 => g_val_tab(84)
5056 ,p_val_85 => g_val_tab(85)
5057 ,p_val_86 => g_val_tab(86)
5058 ,p_val_87 => g_val_tab(87)
5059 ,p_val_88 => g_val_tab(88)
5060 ,p_val_89 => g_val_tab(89)
5061 ,p_val_90 => g_val_tab(90)
5062 ,p_val_91 => g_val_tab(91)
5063 ,p_val_92 => g_val_tab(92)
5064 ,p_val_93 => g_val_tab(93)
5065 ,p_val_94 => g_val_tab(94)
5066 ,p_val_95 => g_val_tab(95)
5067 ,p_val_96 => g_val_tab(96)
5068 ,p_val_97 => g_val_tab(97)
5069 ,p_val_98 => g_val_tab(98)
5070 ,p_val_99 => g_val_tab(99)
5071 ,p_val_100 => g_val_tab(100)
5072 ,p_val_101 => g_val_tab(101)
5073 ,p_val_102 => g_val_tab(102)
5074 ,p_val_103 => g_val_tab(103)
5075 ,p_val_104 => g_val_tab(104)
5076 ,p_val_105 => g_val_tab(105)
5077 ,p_val_106 => g_val_tab(106)
5078 ,p_val_107 => g_val_tab(107)
5079 ,p_val_108 => g_val_tab(108)
5080 ,p_val_109 => g_val_tab(109)
5081 ,p_val_110 => g_val_tab(110)
5082 ,p_val_111 => g_val_tab(111)
5083 ,p_val_112 => g_val_tab(112)
5084 ,p_val_113 => g_val_tab(113)
5085 ,p_val_114 => g_val_tab(114)
5086 ,p_val_115 => g_val_tab(115)
5087 ,p_val_116 => g_val_tab(116)
5088 ,p_val_117 => g_val_tab(117)
5089 ,p_val_118 => g_val_tab(118)
5090 ,p_val_119 => g_val_tab(119)
5091 ,p_val_120 => g_val_tab(120)
5092 ,p_val_121 => g_val_tab(121)
5093 ,p_val_122 => g_val_tab(122)
5094 ,p_val_123 => g_val_tab(123)
5095 ,p_val_124 => g_val_tab(124)
5096 ,p_val_125 => g_val_tab(125)
5097 ,p_val_126 => g_val_tab(126)
5098 ,p_val_127 => g_val_tab(127)
5099 ,p_val_128 => g_val_tab(128)
5100 ,p_val_129 => g_val_tab(129)
5101 ,p_val_130 => g_val_tab(130)
5102 ,p_val_131 => g_val_tab(131)
5103 ,p_val_132 => g_val_tab(132)
5104 ,p_val_133 => g_val_tab(133)
5105 ,p_val_134 => g_val_tab(134)
5106 ,p_val_135 => g_val_tab(135)
5107 ,p_val_136 => g_val_tab(136)
5108 ,p_val_137 => g_val_tab(137)
5109 ,p_val_138 => g_val_tab(138)
5110 ,p_val_139 => g_val_tab(139)
5111 ,p_val_140 => g_val_tab(140)
5112 ,p_val_141 => g_val_tab(141)
5113 ,p_val_142 => g_val_tab(142)
5114 ,p_val_143 => g_val_tab(143)
5115 ,p_val_144 => g_val_tab(144)
5116 ,p_val_145 => g_val_tab(145)
5117 ,p_val_146 => g_val_tab(146)
5118 ,p_val_147 => g_val_tab(147)
5119 ,p_val_148 => g_val_tab(148)
5120 ,p_val_149 => g_val_tab(149)
5121 ,p_val_150 => g_val_tab(150)
5122 ,p_val_151 => g_val_tab(151)
5123 ,p_val_152 => g_val_tab(152)
5124 ,p_val_153 => g_val_tab(153)
5125 ,p_val_154 => g_val_tab(154)
5126 ,p_val_155 => g_val_tab(155)
5127 ,p_val_156 => g_val_tab(156)
5128 ,p_val_157 => g_val_tab(157)
5129 ,p_val_158 => g_val_tab(158)
5130 ,p_val_159 => g_val_tab(159)
5131 ,p_val_160 => g_val_tab(160)
5132 ,p_val_161 => g_val_tab(161)
5133 ,p_val_162 => g_val_tab(162)
5134 ,p_val_163 => g_val_tab(163)
5135 ,p_val_164 => g_val_tab(164)
5136 ,p_val_165 => g_val_tab(165)
5137 ,p_val_166 => g_val_tab(166)
5138 ,p_val_167 => g_val_tab(167)
5139 ,p_val_168 => g_val_tab(168)
5140 ,p_val_169 => g_val_tab(169)
5141 ,p_val_170 => g_val_tab(170)
5142 ,p_val_171 => g_val_tab(171)
5143 ,p_val_172 => g_val_tab(172)
5144 ,p_val_173 => g_val_tab(173)
5145 ,p_val_174 => g_val_tab(174)
5146 ,p_val_175 => g_val_tab(175)
5147 ,p_val_176 => g_val_tab(176)
5148 ,p_val_177 => g_val_tab(177)
5149 ,p_val_178 => g_val_tab(178)
5150 ,p_val_179 => g_val_tab(179)
5151 ,p_val_180 => g_val_tab(180)
5152 ,p_val_181 => g_val_tab(181)
5153 ,p_val_182 => g_val_tab(182)
5154 ,p_val_183 => g_val_tab(183)
5155 ,p_val_184 => g_val_tab(184)
5156 ,p_val_185 => g_val_tab(185)
5157 ,p_val_186 => g_val_tab(186)
5158 ,p_val_187 => g_val_tab(187)
5159 ,p_val_188 => g_val_tab(188)
5160 ,p_val_189 => g_val_tab(189)
5161 ,p_val_190 => g_val_tab(190)
5162 ,p_val_191 => g_val_tab(191)
5163 ,p_val_192 => g_val_tab(192)
5164 ,p_val_193 => g_val_tab(193)
5165 ,p_val_194 => g_val_tab(194)
5166 ,p_val_195 => g_val_tab(195)
5167 ,p_val_196 => g_val_tab(196)
5168 ,p_val_197 => g_val_tab(197)
5169 ,p_val_198 => g_val_tab(198)
5170 ,p_val_199 => g_val_tab(199)
5171 ,p_val_200 => g_val_tab(200)
5172 ,p_val_201 => g_val_tab(201)
5173 ,p_val_202 => g_val_tab(202)
5174 ,p_val_203 => g_val_tab(203)
5175 ,p_val_204 => g_val_tab(204)
5176 ,p_val_205 => g_val_tab(205)
5177 ,p_val_206 => g_val_tab(206)
5178 ,p_val_207 => g_val_tab(207)
5179 ,p_val_208 => g_val_tab(208)
5180 ,p_val_209 => g_val_tab(209)
5181 ,p_val_210 => g_val_tab(210)
5182 ,p_val_211 => g_val_tab(211)
5183 ,p_val_212 => g_val_tab(212)
5184 ,p_val_213 => g_val_tab(213)
5185 ,p_val_214 => g_val_tab(214)
5186 ,p_val_215 => g_val_tab(215)
5187 ,p_val_216 => g_val_tab(216)
5188 ,p_val_217 => g_val_tab(217)
5189 ,p_val_218 => g_val_tab(218)
5190 ,p_val_219 => g_val_tab(219)
5191 ,p_val_220 => g_val_tab(220)
5192 ,p_val_221 => g_val_tab(221)
5193 ,p_val_222 => g_val_tab(222)
5194 ,p_val_223 => g_val_tab(223)
5195 ,p_val_224 => g_val_tab(224)
5196 ,p_val_225 => g_val_tab(225)
5197 ,p_val_226 => g_val_tab(226)
5198 ,p_val_227 => g_val_tab(227)
5199 ,p_val_228 => g_val_tab(228)
5200 ,p_val_229 => g_val_tab(229)
5201 ,p_val_230 => g_val_tab(230)
5202 ,p_val_231 => g_val_tab(231)
5203 ,p_val_232 => g_val_tab(232)
5204 ,p_val_233 => g_val_tab(233)
5205 ,p_val_234 => g_val_tab(234)
5206 ,p_val_235 => g_val_tab(235)
5207 ,p_val_236 => g_val_tab(236)
5208 ,p_val_237 => g_val_tab(237)
5209 ,p_val_238 => g_val_tab(238)
5210 ,p_val_239 => g_val_tab(239)
5211 ,p_val_240 => g_val_tab(240)
5212 ,p_val_241 => g_val_tab(241)
5213 ,p_val_242 => g_val_tab(242)
5214 ,p_val_243 => g_val_tab(243)
5215 ,p_val_244 => g_val_tab(244)
5216 ,p_val_245 => g_val_tab(245)
5217 ,p_val_246 => g_val_tab(246)
5218 ,p_val_247 => g_val_tab(247)
5219 ,p_val_248 => g_val_tab(248)
5220 ,p_val_249 => g_val_tab(249)
5221 ,p_val_250 => g_val_tab(250)
5222 ,p_val_251 => g_val_tab(251)
5223 ,p_val_252 => g_val_tab(252)
5224 ,p_val_253 => g_val_tab(253)
5225 ,p_val_254 => g_val_tab(254)
5226 ,p_val_255 => g_val_tab(255)
5227 ,p_val_256 => g_val_tab(256)
5228 ,p_val_257 => g_val_tab(257)
5229 ,p_val_258 => g_val_tab(258)
5230 ,p_val_259 => g_val_tab(259)
5231 ,p_val_260 => g_val_tab(260)
5232 ,p_val_261 => g_val_tab(261)
5233 ,p_val_262 => g_val_tab(262)
5234 ,p_val_263 => g_val_tab(263)
5235 ,p_val_264 => g_val_tab(264)
5236 ,p_val_265 => g_val_tab(265)
5237 ,p_val_266 => g_val_tab(266)
5238 ,p_val_267 => g_val_tab(267)
5239 ,p_val_268 => g_val_tab(268)
5240 ,p_val_269 => g_val_tab(269)
5241 ,p_val_270 => g_val_tab(270)
5242 ,p_val_271 => g_val_tab(271)
5243 ,p_val_272 => g_val_tab(272)
5244 ,p_val_273 => g_val_tab(273)
5245 ,p_val_274 => g_val_tab(274)
5246 ,p_val_275 => g_val_tab(275)
5247 ,p_val_276 => g_val_tab(276)
5248 ,p_val_277 => g_val_tab(277)
5249 ,p_val_278 => g_val_tab(278)
5250 ,p_val_279 => g_val_tab(279)
5251 ,p_val_280 => g_val_tab(280)
5252 ,p_val_281 => g_val_tab(281)
5253 ,p_val_282 => g_val_tab(282)
5254 ,p_val_283 => g_val_tab(283)
5255 ,p_val_284 => g_val_tab(284)
5256 ,p_val_285 => g_val_tab(285)
5257 ,p_val_286 => g_val_tab(286)
5258 ,p_val_287 => g_val_tab(287)
5259 ,p_val_288 => g_val_tab(288)
5260 ,p_val_289 => g_val_tab(289)
5261 ,p_val_290 => g_val_tab(290)
5262 ,p_val_291 => g_val_tab(291)
5263 ,p_val_292 => g_val_tab(292)
5264 ,p_val_293 => g_val_tab(293)
5265 ,p_val_294 => g_val_tab(294)
5266 ,p_val_295 => g_val_tab(295)
5267 ,p_val_296 => g_val_tab(296)
5268 ,p_val_297 => g_val_tab(297)
5269 ,p_val_298 => g_val_tab(298)
5270 ,p_val_299 => g_val_tab(299)
5271 ,p_val_300 => g_val_tab(300)
5272 ,p_group_val_01 => ben_ext_person.g_group_elmt_value1
5273 ,p_group_val_02 => ben_ext_person.g_group_elmt_value2
5274 ,p_ext_rcd_in_file_id => l_ext_rcd_in_file_id
5275 ,p_object_version_number => l_object_version_number
5276 );
5277
5278 else
5279 -- allwasy create for non chang eextract
5280 ben_ext_rslt_dtl_api.create_ext_rslt_dtl
5281 (p_validate => false
5282 ,p_ext_rslt_dtl_id => l_ext_rslt_dtl_id
5283 ,p_prmy_sort_val => l_prmy_sort_val
5284 ,p_scnd_sort_val => l_scnd_sort_val
5285 ,p_thrd_sort_val => l_thrd_sort_val
5286 ,p_trans_seq_num => l_trans_num
5287 ,p_rcrd_seq_num => ben_ext_person.g_rcd_seq
5288 ,p_ext_rslt_id => p_ext_rslt_id
5289 ,p_ext_rcd_id => l_ext_rcd_id
5290 ,p_person_id => p_person_id
5291 ,p_business_group_id => p_business_group_id
5292 ,p_val_01 => g_val_tab(1)
5293 ,p_val_02 => g_val_tab(2)
5294 ,p_val_03 => g_val_tab(3)
5295 ,p_val_04 => g_val_tab(4)
5296 ,p_val_05 => g_val_tab(5)
5297 ,p_val_06 => g_val_tab(6)
5298 ,p_val_07 => g_val_tab(7)
5299 ,p_val_08 => g_val_tab(8)
5300 ,p_val_09 => g_val_tab(9)
5301 ,p_val_10 => g_val_tab(10)
5302 ,p_val_11 => g_val_tab(11)
5303 ,p_val_12 => g_val_tab(12)
5304 ,p_val_13 => g_val_tab(13)
5305 ,p_val_14 => g_val_tab(14)
5306 ,p_val_15 => g_val_tab(15)
5307 ,p_val_16 => g_val_tab(16)
5308 ,p_val_17 => g_val_tab(17)
5309 ,p_val_18 => g_val_tab(18)
5310 ,p_val_19 => g_val_tab(19)
5311 ,p_val_20 => g_val_tab(20)
5312 ,p_val_21 => g_val_tab(21)
5313 ,p_val_22 => g_val_tab(22)
5314 ,p_val_23 => g_val_tab(23)
5315 ,p_val_24 => g_val_tab(24)
5316 ,p_val_25 => g_val_tab(25)
5317 ,p_val_26 => g_val_tab(26)
5318 ,p_val_27 => g_val_tab(27)
5319 ,p_val_28 => g_val_tab(28)
5320 ,p_val_29 => g_val_tab(29)
5321 ,p_val_30 => g_val_tab(30)
5322 ,p_val_31 => g_val_tab(31)
5323 ,p_val_32 => g_val_tab(32)
5324 ,p_val_33 => g_val_tab(33)
5325 ,p_val_34 => g_val_tab(34)
5326 ,p_val_35 => g_val_tab(35)
5327 ,p_val_36 => g_val_tab(36)
5328 ,p_val_37 => g_val_tab(37)
5329 ,p_val_38 => g_val_tab(38)
5330 ,p_val_39 => g_val_tab(39)
5331 ,p_val_40 => g_val_tab(40)
5332 ,p_val_41 => g_val_tab(41)
5333 ,p_val_42 => g_val_tab(42)
5334 ,p_val_43 => g_val_tab(43)
5335 ,p_val_44 => g_val_tab(44)
5336 ,p_val_45 => g_val_tab(45)
5337 ,p_val_46 => g_val_tab(46)
5338 ,p_val_47 => g_val_tab(47)
5339 ,p_val_48 => g_val_tab(48)
5340 ,p_val_49 => g_val_tab(49)
5341 ,p_val_50 => g_val_tab(50)
5342 ,p_val_51 => g_val_tab(51)
5343 ,p_val_52 => g_val_tab(52)
5344 ,p_val_53 => g_val_tab(53)
5345 ,p_val_54 => g_val_tab(54)
5346 ,p_val_55 => g_val_tab(55)
5347 ,p_val_56 => g_val_tab(56)
5348 ,p_val_57 => g_val_tab(57)
5349 ,p_val_58 => g_val_tab(58)
5350 ,p_val_59 => g_val_tab(59)
5351 ,p_val_60 => g_val_tab(60)
5352 ,p_val_61 => g_val_tab(61)
5353 ,p_val_62 => g_val_tab(62)
5354 ,p_val_63 => g_val_tab(63)
5355 ,p_val_64 => g_val_tab(64)
5356 ,p_val_65 => g_val_tab(65)
5357 ,p_val_66 => g_val_tab(66)
5358 ,p_val_67 => g_val_tab(67)
5359 ,p_val_68 => g_val_tab(68)
5360 ,p_val_69 => g_val_tab(69)
5361 ,p_val_70 => g_val_tab(70)
5362 ,p_val_71 => g_val_tab(71)
5363 ,p_val_72 => g_val_tab(72)
5364 ,p_val_73 => g_val_tab(73)
5365 ,p_val_74 => g_val_tab(74)
5366 ,p_val_75 => g_val_tab(75)
5367 ,p_val_76 => g_val_tab(76)
5368 ,p_val_77 => g_val_tab(77)
5369 ,p_val_78 => g_val_tab(78)
5370 ,p_val_79 => g_val_tab(79)
5371 ,p_val_80 => g_val_tab(80)
5372 ,p_val_81 => g_val_tab(81)
5373 ,p_val_82 => g_val_tab(82)
5374 ,p_val_83 => g_val_tab(83)
5375 ,p_val_84 => g_val_tab(84)
5376 ,p_val_85 => g_val_tab(85)
5377 ,p_val_86 => g_val_tab(86)
5378 ,p_val_87 => g_val_tab(87)
5379 ,p_val_88 => g_val_tab(88)
5380 ,p_val_89 => g_val_tab(89)
5381 ,p_val_90 => g_val_tab(90)
5382 ,p_val_91 => g_val_tab(91)
5383 ,p_val_92 => g_val_tab(92)
5384 ,p_val_93 => g_val_tab(93)
5385 ,p_val_94 => g_val_tab(94)
5386 ,p_val_95 => g_val_tab(95)
5387 ,p_val_96 => g_val_tab(96)
5388 ,p_val_97 => g_val_tab(97)
5389 ,p_val_98 => g_val_tab(98)
5390 ,p_val_99 => g_val_tab(99)
5391 ,p_val_100 => g_val_tab(100)
5392 ,p_val_101 => g_val_tab(101)
5393 ,p_val_102 => g_val_tab(102)
5394 ,p_val_103 => g_val_tab(103)
5395 ,p_val_104 => g_val_tab(104)
5396 ,p_val_105 => g_val_tab(105)
5397 ,p_val_106 => g_val_tab(106)
5398 ,p_val_107 => g_val_tab(107)
5399 ,p_val_108 => g_val_tab(108)
5400 ,p_val_109 => g_val_tab(109)
5401 ,p_val_110 => g_val_tab(110)
5402 ,p_val_111 => g_val_tab(111)
5403 ,p_val_112 => g_val_tab(112)
5404 ,p_val_113 => g_val_tab(113)
5405 ,p_val_114 => g_val_tab(114)
5406 ,p_val_115 => g_val_tab(115)
5407 ,p_val_116 => g_val_tab(116)
5408 ,p_val_117 => g_val_tab(117)
5409 ,p_val_118 => g_val_tab(118)
5410 ,p_val_119 => g_val_tab(119)
5411 ,p_val_120 => g_val_tab(120)
5412 ,p_val_121 => g_val_tab(121)
5413 ,p_val_122 => g_val_tab(122)
5414 ,p_val_123 => g_val_tab(123)
5415 ,p_val_124 => g_val_tab(124)
5416 ,p_val_125 => g_val_tab(125)
5417 ,p_val_126 => g_val_tab(126)
5418 ,p_val_127 => g_val_tab(127)
5419 ,p_val_128 => g_val_tab(128)
5420 ,p_val_129 => g_val_tab(129)
5421 ,p_val_130 => g_val_tab(130)
5422 ,p_val_131 => g_val_tab(131)
5423 ,p_val_132 => g_val_tab(132)
5424 ,p_val_133 => g_val_tab(133)
5425 ,p_val_134 => g_val_tab(134)
5426 ,p_val_135 => g_val_tab(135)
5427 ,p_val_136 => g_val_tab(136)
5428 ,p_val_137 => g_val_tab(137)
5429 ,p_val_138 => g_val_tab(138)
5430 ,p_val_139 => g_val_tab(139)
5431 ,p_val_140 => g_val_tab(140)
5432 ,p_val_141 => g_val_tab(141)
5433 ,p_val_142 => g_val_tab(142)
5434 ,p_val_143 => g_val_tab(143)
5435 ,p_val_144 => g_val_tab(144)
5436 ,p_val_145 => g_val_tab(145)
5437 ,p_val_146 => g_val_tab(146)
5438 ,p_val_147 => g_val_tab(147)
5439 ,p_val_148 => g_val_tab(148)
5440 ,p_val_149 => g_val_tab(149)
5441 ,p_val_150 => g_val_tab(150)
5442 ,p_val_151 => g_val_tab(151)
5443 ,p_val_152 => g_val_tab(152)
5444 ,p_val_153 => g_val_tab(153)
5445 ,p_val_154 => g_val_tab(154)
5446 ,p_val_155 => g_val_tab(155)
5447 ,p_val_156 => g_val_tab(156)
5448 ,p_val_157 => g_val_tab(157)
5449 ,p_val_158 => g_val_tab(158)
5450 ,p_val_159 => g_val_tab(159)
5451 ,p_val_160 => g_val_tab(160)
5452 ,p_val_161 => g_val_tab(161)
5453 ,p_val_162 => g_val_tab(162)
5454 ,p_val_163 => g_val_tab(163)
5455 ,p_val_164 => g_val_tab(164)
5456 ,p_val_165 => g_val_tab(165)
5457 ,p_val_166 => g_val_tab(166)
5458 ,p_val_167 => g_val_tab(167)
5459 ,p_val_168 => g_val_tab(168)
5460 ,p_val_169 => g_val_tab(169)
5461 ,p_val_170 => g_val_tab(170)
5462 ,p_val_171 => g_val_tab(171)
5463 ,p_val_172 => g_val_tab(172)
5464 ,p_val_173 => g_val_tab(173)
5465 ,p_val_174 => g_val_tab(174)
5466 ,p_val_175 => g_val_tab(175)
5467 ,p_val_176 => g_val_tab(176)
5468 ,p_val_177 => g_val_tab(177)
5469 ,p_val_178 => g_val_tab(178)
5470 ,p_val_179 => g_val_tab(179)
5471 ,p_val_180 => g_val_tab(180)
5472 ,p_val_181 => g_val_tab(181)
5473 ,p_val_182 => g_val_tab(182)
5474 ,p_val_183 => g_val_tab(183)
5475 ,p_val_184 => g_val_tab(184)
5476 ,p_val_185 => g_val_tab(185)
5477 ,p_val_186 => g_val_tab(186)
5478 ,p_val_187 => g_val_tab(187)
5479 ,p_val_188 => g_val_tab(188)
5480 ,p_val_189 => g_val_tab(189)
5481 ,p_val_190 => g_val_tab(190)
5482 ,p_val_191 => g_val_tab(191)
5483 ,p_val_192 => g_val_tab(192)
5484 ,p_val_193 => g_val_tab(193)
5485 ,p_val_194 => g_val_tab(194)
5486 ,p_val_195 => g_val_tab(195)
5487 ,p_val_196 => g_val_tab(196)
5488 ,p_val_197 => g_val_tab(197)
5489 ,p_val_198 => g_val_tab(198)
5490 ,p_val_199 => g_val_tab(199)
5491 ,p_val_200 => g_val_tab(200)
5492 ,p_val_201 => g_val_tab(201)
5493 ,p_val_202 => g_val_tab(202)
5494 ,p_val_203 => g_val_tab(203)
5495 ,p_val_204 => g_val_tab(204)
5496 ,p_val_205 => g_val_tab(205)
5497 ,p_val_206 => g_val_tab(206)
5498 ,p_val_207 => g_val_tab(207)
5499 ,p_val_208 => g_val_tab(208)
5500 ,p_val_209 => g_val_tab(209)
5501 ,p_val_210 => g_val_tab(210)
5502 ,p_val_211 => g_val_tab(211)
5503 ,p_val_212 => g_val_tab(212)
5504 ,p_val_213 => g_val_tab(213)
5505 ,p_val_214 => g_val_tab(214)
5506 ,p_val_215 => g_val_tab(215)
5507 ,p_val_216 => g_val_tab(216)
5508 ,p_val_217 => g_val_tab(217)
5509 ,p_val_218 => g_val_tab(218)
5510 ,p_val_219 => g_val_tab(219)
5511 ,p_val_220 => g_val_tab(220)
5512 ,p_val_221 => g_val_tab(221)
5513 ,p_val_222 => g_val_tab(222)
5514 ,p_val_223 => g_val_tab(223)
5515 ,p_val_224 => g_val_tab(224)
5516 ,p_val_225 => g_val_tab(225)
5517 ,p_val_226 => g_val_tab(226)
5518 ,p_val_227 => g_val_tab(227)
5519 ,p_val_228 => g_val_tab(228)
5520 ,p_val_229 => g_val_tab(229)
5521 ,p_val_230 => g_val_tab(230)
5522 ,p_val_231 => g_val_tab(231)
5523 ,p_val_232 => g_val_tab(232)
5524 ,p_val_233 => g_val_tab(233)
5525 ,p_val_234 => g_val_tab(234)
5526 ,p_val_235 => g_val_tab(235)
5527 ,p_val_236 => g_val_tab(236)
5528 ,p_val_237 => g_val_tab(237)
5529 ,p_val_238 => g_val_tab(238)
5530 ,p_val_239 => g_val_tab(239)
5531 ,p_val_240 => g_val_tab(240)
5532 ,p_val_241 => g_val_tab(241)
5533 ,p_val_242 => g_val_tab(242)
5534 ,p_val_243 => g_val_tab(243)
5535 ,p_val_244 => g_val_tab(244)
5536 ,p_val_245 => g_val_tab(245)
5537 ,p_val_246 => g_val_tab(246)
5538 ,p_val_247 => g_val_tab(247)
5539 ,p_val_248 => g_val_tab(248)
5540 ,p_val_249 => g_val_tab(249)
5541 ,p_val_250 => g_val_tab(250)
5542 ,p_val_251 => g_val_tab(251)
5543 ,p_val_252 => g_val_tab(252)
5544 ,p_val_253 => g_val_tab(253)
5545 ,p_val_254 => g_val_tab(254)
5546 ,p_val_255 => g_val_tab(255)
5547 ,p_val_256 => g_val_tab(256)
5548 ,p_val_257 => g_val_tab(257)
5549 ,p_val_258 => g_val_tab(258)
5550 ,p_val_259 => g_val_tab(259)
5551 ,p_val_260 => g_val_tab(260)
5552 ,p_val_261 => g_val_tab(261)
5553 ,p_val_262 => g_val_tab(262)
5554 ,p_val_263 => g_val_tab(263)
5555 ,p_val_264 => g_val_tab(264)
5556 ,p_val_265 => g_val_tab(265)
5557 ,p_val_266 => g_val_tab(266)
5558 ,p_val_267 => g_val_tab(267)
5559 ,p_val_268 => g_val_tab(268)
5560 ,p_val_269 => g_val_tab(269)
5561 ,p_val_270 => g_val_tab(270)
5562 ,p_val_271 => g_val_tab(271)
5563 ,p_val_272 => g_val_tab(272)
5564 ,p_val_273 => g_val_tab(273)
5565 ,p_val_274 => g_val_tab(274)
5566 ,p_val_275 => g_val_tab(275)
5567 ,p_val_276 => g_val_tab(276)
5568 ,p_val_277 => g_val_tab(277)
5569 ,p_val_278 => g_val_tab(278)
5570 ,p_val_279 => g_val_tab(279)
5571 ,p_val_280 => g_val_tab(280)
5572 ,p_val_281 => g_val_tab(281)
5573 ,p_val_282 => g_val_tab(282)
5574 ,p_val_283 => g_val_tab(283)
5575 ,p_val_284 => g_val_tab(284)
5576 ,p_val_285 => g_val_tab(285)
5577 ,p_val_286 => g_val_tab(286)
5578 ,p_val_287 => g_val_tab(287)
5579 ,p_val_288 => g_val_tab(288)
5580 ,p_val_289 => g_val_tab(289)
5581 ,p_val_290 => g_val_tab(290)
5582 ,p_val_291 => g_val_tab(291)
5583 ,p_val_292 => g_val_tab(292)
5584 ,p_val_293 => g_val_tab(293)
5585 ,p_val_294 => g_val_tab(294)
5586 ,p_val_295 => g_val_tab(295)
5587 ,p_val_296 => g_val_tab(296)
5588 ,p_val_297 => g_val_tab(297)
5589 ,p_val_298 => g_val_tab(298)
5590 ,p_val_299 => g_val_tab(299)
5591 ,p_val_300 => g_val_tab(300)
5592 ,p_group_val_01 => ben_ext_person.g_group_elmt_value1
5593 ,p_group_val_02 => ben_ext_person.g_group_elmt_value2
5594 ,p_program_id => fnd_global.conc_program_id
5595 ,p_program_update_date => sysdate
5596 ,p_request_id => nvl(ben_extract.g_request_id,fnd_global.conc_request_id)
5597 ,p_object_version_number => l_object_version_number
5598 ,p_ext_per_bg_id => l_ext_per_bg_id
5599 ,p_ext_rcd_in_file_id => l_ext_rcd_in_file_id
5600 );
5601 end if ;
5602 --
5603 -- This is set to true because we want the ben_per_cm_prvdd to be updated
5604 -- only when some detail is written.
5605 -- bug 1386266
5606 --
5607 ben_ext_person.g_detail_extracted:=true;
5608 --
5609 --
5610 end if; --write record = 'Y'
5611 /* madatory validated down Else
5612 hr_utility.set_location(' Element not found ', 15);
5613 --- If the element is mandatory and null and the record is mandatory
5614 --- skip the person
5615 if nvl(l_rcd_rqd_flag,'N') = 'Y' then
5616 hr_utility.set_location(' record not found ', 15) ;
5617 raise ben_ext_person.detail_error ;
5618 end if ;
5619 */
5620 end if ;
5621
5622 --
5623 END IF;
5624 --
5625 END LOOP;
5626
5627 --
5628 hr_utility.set_location(' Exiting:'||l_proc, 15);
5629 --
5630 end process_ext_recs;
5631 --
5632 -- The following three functions are overloaded.
5633 -- They will return a result string for a date, number or varchar data element
5634 -- that is formatted according to the format mask specified.
5635 -- These procedures do not validate the format mask. Such validation should
5636 -- happen in the API.
5637 -- ----------------------------------------------------------------------------
5638 -- |------------------------< apply_format_mask for date >--------------------|
5639 -- ----------------------------------------------------------------------------
5640 Function apply_format_mask(p_value date, p_format_mask varchar2
5641 )Return Varchar2 Is
5642 --
5643 l_proc varchar2(72) := g_package||'apply_format_mask';
5644 l_fmt_date ben_ext_rslt_Dtl.val_01%type := null;
5645
5646 --
5647 Begin
5648 --
5649 hr_utility.set_location('Entering:'||l_proc, 5);
5650 --
5651 if p_value is null then
5652 return p_value;
5653 end if;
5654
5655 --
5656 if p_format_mask is not null then
5657 --
5658 l_fmt_date := to_char(p_value, p_format_mask);
5659 --
5660 else
5661 --
5662 l_fmt_date := to_char(p_value);
5663 --
5664 end if;
5665 --
5666 return (l_fmt_date);
5667 --
5668 hr_utility.set_location(' Exiting:'||l_proc, 15);
5669 --
5670 End apply_format_mask;
5671 --
5672 -- ----------------------------------------------------------------------------
5673 -- |------------------------< apply_format_mask for number >------------------|
5674 -- ----------------------------------------------------------------------------
5675 Function apply_format_mask(p_value number, p_format_mask varchar2
5676 ) Return Varchar2 Is
5677 --
5678 l_proc varchar2(72) := g_package||'apply_format_mask';
5679 l_fmt_num ben_ext_rslt_Dtl.val_01%type := null;
5680 l_cd_strt varchar2(1);
5681 l_str_value varchar2(100);
5682 l_format varchar2(100);
5683 --
5684 Begin
5685 --
5686 hr_utility.set_location('Entering:'||l_proc, 10);
5687 --
5688 if p_value is null then
5689 return p_value;
5690 end if;
5691 --
5692 if p_format_mask is not null then
5693 --
5694 hr_utility.set_location('format :'||p_format_mask, 10);
5695 hr_utility.set_location('value :'||p_value , 10);
5696 -- Check for special format
5697 --
5698 if substr(p_format_mask,length(p_format_mask),1) in ('{','}') then
5699 -- check the first char of the code
5700 select substr(lookup_code,1,1) into l_cd_strt
5701 from hr_lookups
5702 where lookup_type = 'BEN_EXT_FRMT_MASK'
5703 and meaning = p_format_mask;
5704
5705 if l_cd_strt = 'N' then
5706
5707 --- convert the number as per the format
5708 l_format := substr(p_format_mask,1, length(p_format_mask)-1) ;
5709 hr_utility.set_location('l_format :'||l_format , 10);
5710
5711 l_str_value := to_char(p_value,l_format);
5712
5713 hr_utility.set_location('Formated number :'||l_str_value , 10);
5714
5715 -- as per the bug 5387355 , The Last digit of the number has to be changed
5716 -- if the number is + then 1 to 9 changes as A to I and 0 chages as {
5717 -- if the number is - then 1 to 9 changes as J to R and 0 chages as }
5718 -- as per the bug 5526107 the format changes takes place only if the number is negetive
5719 -- We have two requirement, 1 changes the format for every number
5720 -- 2 changes the format only for nevetive number
5721 -- if the format mask end with { then the first case is taken care
5722 -- if the format mask end with } then the second case is taken care
5723 /*
5724 if substr(p_format_mask,length(p_format_mask),1) = '}' then
5725 if substr(l_str_value ,length(l_str_value),1) = '0' then
5726 l_fmt_num := '}';
5727 else
5728 l_fmt_num := substr(l_str_value,length(l_str_value),1);
5729 end if;
5730 else
5731 */
5732 ---
5733 l_fmt_num := '' ;
5734 if p_value >= 0 then
5735 -- Positive value changes only for { format mask
5736 if substr(p_format_mask,length(p_format_mask),1) = '{' then
5737 select decode(substr(l_str_value,length(l_str_value),1),
5738 '1','A','2','B','3','C','4','D','5','E','6','F','7','G','8','H','9','I','0','{')
5739 into l_fmt_num from dual;
5740 else
5741 l_fmt_num := substr(l_str_value,-1) ;
5742 End if ;
5743 else
5744 -- change the number as positive
5745 l_str_value := to_char(abs(p_value),l_format);
5746 select decode(substr(l_str_value,length(l_str_value),1),
5747 '1','J','2','K','3','L','4','M','5','N','6','O','7','P','8','Q','9','R','0','}')
5748 into l_fmt_num from dual;
5749 end if;
5750
5751 hr_utility.set_location('non Formated value :'||l_str_value , 10);
5752 hr_utility.set_location('non Formated value :'|| (length(l_str_value)-1) , 10);
5753
5754 l_fmt_num := substr(l_str_value ,1, (length(l_str_value)-1) )||l_fmt_num;
5755
5756 hr_utility.set_location('Formated value :'||l_fmt_num , 10);
5757
5758 end if;
5759 else --- for {} formats
5760 --
5761 l_fmt_num := to_char(p_value, p_format_mask);
5762 --
5763 end if;
5764 --
5765 else
5766 --
5767 l_fmt_num := to_char(p_value);
5768 --
5769 end if;
5770 --
5771 return (rtrim(ltrim(l_fmt_num)));
5772 --
5773 hr_utility.set_location(' Exiting:'||l_proc, 10);
5774 --
5775 End apply_format_mask;
5776 --
5777 -- ----------------------------------------------------------------------------
5778 -- |------------------------< apply_format_mask for string >------------------|
5779 -- ----------------------------------------------------------------------------
5780 Function apply_format_mask(p_value varchar2, p_format_mask varchar2
5781 ) Return Varchar2 Is
5782 --
5783 l_proc varchar2(72) := g_package||'apply_format_mask';
5784 l_fmt_string ben_ext_rslt_Dtl.val_01%type := null;
5785 l_value_stripped ben_ext_rslt_Dtl.val_01%type := null;
5786 l_length number;
5787 l_err_message varchar2(2000) ;
5788 --
5789 Begin
5790 --
5791 hr_utility.set_location('Entering:'||l_proc, 15);
5792 hr_utility.set_location('value :'||p_value||' - ' || p_format_mask, 15);
5793 --
5794 if p_value is null then
5795 return p_value;
5796 end if;
5797 --
5798 --error message taken in advance so it is not called every time
5799 l_err_message := get_error_msg(92065,'BEN_92065_EXT_FRMT_INVALID',g_elmt_name );
5800 --
5801 if p_format_mask is not null then
5802 --
5803 hr_utility.set_location('format mask :' || p_format_mask, 16);
5804 l_value_stripped := translate(p_value,
5805 '1234567890 !@#$%^&*()-_+={}|:"<>?,./;''[]\`~',
5806 '1234567890');
5807 --
5808 l_length := length(l_value_stripped);
5809 --
5810 if p_format_mask = '999999999' then
5811 --
5812 -- can be used for SSN
5813 --
5814 if l_length > 9 then
5815 --
5816 l_fmt_string := p_value;
5817 --
5818 ben_ext_util.write_err
5819 (p_err_num => 92065
5820 ,p_err_name => l_err_message
5821 ,p_typ_cd => 'W'
5822 ,p_person_id => g_person_id
5823 ,p_request_id => ben_extract.g_request_id
5824 ,p_ext_rslt_id => ben_extract.g_ext_rslt_id
5825 ,p_business_group_id => ben_ext_person.g_business_group_id
5826 );
5827 --
5828 else
5829 l_fmt_string := l_value_stripped;
5830 end if;
5831 --
5832 elsif p_format_mask = '999-99-9999' then
5833 --
5834 -- can be used for SSN
5835 --
5836 if l_length = 9 then
5837 --
5838 l_fmt_string := SUBSTR(l_value_stripped, 1, 3) || '-'
5839 || SUBSTR(l_value_stripped, 4, 2) || '-'
5840 || SUBSTR(l_value_stripped, 6);
5841 --
5842 else
5843 --
5844 l_fmt_string := p_value;
5845 --
5846 ben_ext_util.write_err
5847 (p_err_num => 92065
5848 ,p_err_name => l_err_message
5849 ,p_typ_cd => 'W'
5850 ,p_person_id => g_person_id
5851 ,p_request_id => ben_extract.g_request_id
5852 ,p_ext_rslt_id => ben_extract.g_ext_rslt_id
5853 ,p_business_group_id => ben_ext_person.g_business_group_id
5854 );
5855 --
5856 end if;
5857 --
5858 elsif p_format_mask = '9999999999' then
5859 --
5860 -- can be used for PHONE
5861 --
5862 if l_length > 10 then
5863 --
5864 l_fmt_string := p_value;
5865 --
5866 ben_ext_util.write_err
5867 (p_err_num => 92065
5868 ,p_err_name =>l_err_message
5869 ,p_typ_cd => 'W'
5870 ,p_person_id => g_person_id
5871 ,p_request_id => ben_extract.g_request_id
5872 ,p_ext_rslt_id => ben_extract.g_ext_rslt_id
5873 ,p_business_group_id => ben_ext_person.g_business_group_id
5874 );
5875 --
5876 else
5877 l_fmt_string := l_value_stripped;
5878 end if;
5879 --
5880 elsif p_format_mask = '999999999999999' then
5881 --
5882 -- can be used for PHONE
5883 --
5884 if l_length > 15 then
5885 --
5886 l_fmt_string := p_value;
5887 --
5888 ben_ext_util.write_err
5889 (p_err_num => 92065
5890 ,p_err_name => l_err_message
5891 ,p_typ_cd => 'W'
5892 ,p_person_id => g_person_id
5893 ,p_request_id => ben_extract.g_request_id
5894 ,p_ext_rslt_id => ben_extract.g_ext_rslt_id
5895 ,p_business_group_id => ben_ext_person.g_business_group_id
5896 );
5897 --
5898 else
5899 l_fmt_string := l_value_stripped;
5900 end if;
5901 --
5902 elsif p_format_mask = '(999)999-9999' then
5903 --
5904 if l_length = 7 then
5905 l_fmt_string := '( )'
5906 || SUBSTR(l_value_stripped, 1, 3) || '-'
5907 || SUBSTR(l_value_stripped, 4);
5908 elsif l_length = 10 then
5909 l_fmt_string := '(' || SUBSTR(l_value_stripped, 1, 3) || ')'
5910 || SUBSTR(l_value_stripped, 4, 3) || '-'
5911 || SUBSTR(l_value_stripped, 7);
5912 else
5913 l_fmt_string := p_value;
5914 --
5915 ben_ext_util.write_err
5916 (p_err_num => 92065
5917 ,p_err_name => l_err_message
5918 ,p_typ_cd => 'W'
5919 ,p_person_id => g_person_id
5920 ,p_request_id => ben_extract.g_request_id
5921 ,p_ext_rslt_id => ben_extract.g_ext_rslt_id
5922 ,p_business_group_id => ben_ext_person.g_business_group_id
5923 );
5924 --
5925 end if;
5926 --
5927 elsif p_format_mask = '999-999-9999' then
5928 --
5929 if l_length = 7 then
5930 l_fmt_string := SUBSTR(l_value_stripped, 1, 3) || '-'
5931 || SUBSTR(l_value_stripped, 4);
5932 elsif l_length = 10 then
5933 l_fmt_string := SUBSTR(l_value_stripped, 1, 3) || '-'
5934 || SUBSTR(l_value_stripped, 4, 3) || '-'
5935 || SUBSTR(l_value_stripped, 7);
5936 else
5937 l_fmt_string := p_value;
5938 --
5939 ben_ext_util.write_err
5940 (p_err_num => 92065
5941 ,p_err_name => l_err_message
5942 ,p_typ_cd => 'W'
5943 ,p_person_id => g_person_id
5944 ,p_request_id => ben_extract.g_request_id
5945 ,p_ext_rslt_id => ben_extract.g_ext_rslt_id
5946 ,p_business_group_id => ben_ext_person.g_business_group_id
5947 );
5948 --
5949 end if;
5950 --
5951 elsif p_format_mask = '+1 999 999 9999' then
5952 --
5953 if l_length = 10 then
5954 l_fmt_string := '+1 '||SUBSTR(l_value_stripped, 1, 3) || ' '
5955 || SUBSTR(l_value_stripped, 4, 3) || ' '
5956 || SUBSTR(l_value_stripped, 7);
5957 else
5958 l_fmt_string := p_value;
5959 --
5960 ben_ext_util.write_err
5961 (p_err_num => 92065
5962 ,p_err_name => l_err_message
5963 ,p_typ_cd => 'W'
5964 ,p_person_id => g_person_id
5965 ,p_request_id => ben_extract.g_request_id
5966 ,p_ext_rslt_id => ben_extract.g_ext_rslt_id
5967 ,p_business_group_id => ben_ext_person.g_business_group_id
5968 );
5969 --
5970 end if;
5971 --
5972
5973 else
5974 l_fmt_string := p_value;
5975 end if;
5976 --
5977 else
5978 --
5979 l_fmt_string := p_value;
5980 --
5981 hr_utility.set_location('value :' || l_fmt_string, 16);
5982 end if;
5983 --
5984 return (rtrim(ltrim(l_fmt_string)));
5985 --
5986 hr_utility.set_location(' Exiting:'||l_proc, 15);
5987 --
5988 End apply_format_mask;
5989
5990 -- ------------------------------------------------------------------
5991 -- |------------------------< apply_format_function >----------------|
5992 -- ------------------------------------------------------------------
5993
5994 Function apply_format_function(p_value varchar2, p_format_mask varchar2
5995 ) Return Varchar2 Is
5996 --
5997 l_proc varchar2(72) := g_package||'apply_format_function';
5998 l_fmt_string ben_ext_rslt_Dtl.val_01%type := null;
5999 l_err_message varchar2(2000) ;
6000 --
6001 Begin
6002 --
6003 hr_utility.set_location('Entering:'||l_proc, 15);
6004 hr_utility.set_location('value :'||p_value||' - ' || p_format_mask, 15);
6005 --
6006 if p_value is null then
6007 return p_value;
6008 end if;
6009 --
6010 --error message taken in advance so it is not called every time
6011 l_err_message := get_error_msg(92065,'BEN_92065_EXT_FRMT_INVALID',g_elmt_name );
6012 --
6013
6014 l_fmt_string := p_value;
6015 if p_format_mask is not null then
6016 --
6017 if p_format_mask = 'CUPPER' then
6018 l_fmt_string := Upper(p_value) ;
6019 elsif p_format_mask = 'CLOWER' then
6020 l_fmt_string := Lower(p_value) ;
6021 elsif p_format_mask = 'CINITCAP' then
6022 l_fmt_string := InitCap(p_value) ;
6023 elsif p_format_mask = 'CALPHANO' then
6024 l_fmt_string := translate(p_value,
6025 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~`!@#$%^&*()_-+={[}]|\;:''"<,>.?/',
6026 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789');
6027
6028 else
6029 --
6030 ben_ext_util.write_err
6031 (p_err_num => 92065
6032 ,p_err_name => l_err_message
6033 ,p_typ_cd => 'W'
6034 ,p_person_id => g_person_id
6035 ,p_request_id => ben_extract.g_request_id
6036 ,p_ext_rslt_id => ben_extract.g_ext_rslt_id
6037 ,p_business_group_id => ben_ext_person.g_business_group_id
6038 );
6039 --
6040 end if;
6041 end if ;
6042 hr_utility.set_location(' Exiting:'||l_proc, 15);
6043 return l_fmt_string ;
6044 end apply_format_function ;
6045
6046
6047 --
6048 -- ------------------------------------------------------------------
6049 -- |------------------------< sprs_or_incl >------------------------|
6050 -- ------------------------------------------------------------------
6051 -- This function will check record or data element include condition
6052 -- based on the change event being processed. This function will
6053 -- return 'I' - include, if the condition is satisfied or
6054 -- 'S' - suppress, otherwise.
6055 --
6056 Function sprs_or_incl(p_ext_rcd_in_file_id number,
6057 p_ext_data_elmt_in_rcd_id number,
6058 p_chg_evt_cd varchar2
6059 ) Return Varchar2 Is
6060 --
6061 l_proc varchar2(72) := g_package||'sprs_or_incl';
6062 l_sprs_or_incl varchar2(1) := 'S';
6063 l_dummy varchar2(1);
6064 --
6065 cursor incl_rcd_c is
6066 select null
6067 from ben_ext_incl_chg
6068 where ext_rcd_in_file_id = p_ext_rcd_in_file_id
6069 and chg_evt_cd = p_chg_evt_cd
6070 ;
6071 --
6072 cursor incl_elmt_c is
6073 select null
6074 from ben_ext_incl_chg
6075 where ext_data_elmt_in_rcd_id = p_ext_data_elmt_in_rcd_id
6076 and chg_evt_cd = p_chg_evt_cd
6077 ;
6078 --
6079 Begin
6080 --
6081 hr_utility.set_location('Entering:'||l_proc, 5);
6082 --
6083 if p_ext_rcd_in_file_id is not null then
6084 --
6085 open incl_rcd_c;
6086 fetch incl_rcd_c into l_dummy;
6087 if incl_rcd_c%found then
6088 l_sprs_or_incl := 'I';
6089 end if;
6090 close incl_rcd_c;
6091 --
6092 elsif p_ext_data_elmt_in_rcd_id is not null then
6093 --
6094 open incl_elmt_c;
6095 fetch incl_elmt_c into l_dummy;
6096 if incl_elmt_c%found then
6097 l_sprs_or_incl := 'I';
6098 end if;
6099 close incl_elmt_c;
6100 --
6101 end if;
6102 --
6103 return (l_sprs_or_incl);
6104 --
6105 hr_utility.set_location(' Exiting:'||l_proc, 15);
6106 --
6107 End sprs_or_incl;
6108 --
6109 --
6110 --
6111 end ben_ext_fmt;