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