DBA Data[Home] [Help]

PACKAGE BODY: APPS.BEN_EXT_ADV_CONDITIONS

Source


1 Package Body ben_ext_adv_conditions as
2 /* $Header: benxadvc.pkb 120.9 2007/10/08 23:56:45 tjesumic noship $ */
3 --------------------------------------------------------------------------------
4 /*
5 +==============================================================================+
6 |			Copyright (c) 1997 Oracle Corporation		       |
7 |			   Redwood Shores, California, USA		       |
8 |			        All rights reserved.			       |
9 +==============================================================================+
10 --
11 Name
12         Extract Advanced Conditions
13 Purpose
14         This package determines if a record or person should be excluded from
15         the extract. It uses dynamic sql.
16 History
17         Date      Version  Who         What?
18         ----      -------  ----------- ----------------------------------------
19         07/29/99  115.0    Ty Hayden   Created.
20         09/27/99  115.1    Ty Hayden   Added prevent_duplicates.
21         10/07/99  115.2    Ty Hayden   Added change event procedures.
22         10/07/99  115.3    Ty Hayden   Fix for signal warning.
23         01/21/00  115.4    Ty Hayden   Fix for data element conditions.
24         29/01/01  115.6    tilak       bug 1579767 the error messages fixed
25         30/01/01  115.7    tilak       bug 1579767 the error messages fixed
26                                        for user defined error too
27         26/11/01  115.8    dschwart/   Bug#1969853: rcd_in_file did not handle
28                            BBurns/     the case where number is passed in as a
29                            QSmith      string correctly.  Altered to check the
30                                        format mask so it a number passed as a string
31                                        could be handled correctly.
32         15/mar/01 115.9    tjesumic    DBDRV fixed
33         23/Dec/02 115.11   rpgupta     Nocopy changes
34         20/Oct/03 115.12   tjesumic    chg_evt_chg_evt_incl procedire changed to validate the
35                                        g_data_elmt_list for the data element in rcd level
36                                        instead of g_rcd_list. g_data_elmt_list_id added to  validate
37                                        correct advance condition
38         05/02/04  115.13    nhunur     removed the unwanted commits.
39         01/Feb/05 115.14    tjesumic   300 elements allowed in  a record
40         21/Jun/05 115.15    tjesumic   pernnserver ,  chg_rcd_merge added
41         21/Jun/05 115.16    tjesumic   no copy added in chg_rcd_merge
42         29/Sep/05 115.17    tjesumic   adv condition changed into  dbms_sql and bind variable
43         07/Now/05 115.18    tjesumic   dynamic adv condition added
44         02/Feb/06 115.19    tjesumic   new  exception  added to restart the error person
45         04/25/06  115.20    tjesumic   new global qdded g_ext_adv_ct_validation
46         04/27/06  115.21    tjesumic   numeric validation is fixed
47         05/10/06  115.22    tjesumic   numeric validation is fixed
48         10/08/07  115.23    tjesumic   cuplication validation cursor changed. the values are extracted and validated for performance
49 
50 */
51 --
52 g_package              varchar2(30) := ' ben_ext_adv_conditions.';
53 --
54 Type num_list is table of varchar2(1)
55 Index by binary_integer;
56 
57 Type id_list is table of number
58 Index by binary_integer;
59 --
60 g_rcd_list num_list;
61 g_data_elmt_list num_list;
62 
63 g_data_elmt_list_id  id_list;
64 
65 TYPE ext_adv_conditions  IS RECORD
66       ( name   varchar2(50),
67         value  varchar2(500)
68       );
69 TYPE t_ext_adv_conditions  IS TABLE OF ext_adv_conditions INDEX BY Binary_Integer;
70 
71 
72 --
73 -- ----------------------------------------------------------------------------
74 -- |--------------------< write_warning >-----------------------------------|
75 -- ----------------------------------------------------------------------------
76 --
77 Procedure WRITE_WARNING
78            (p_err_name in varchar2,
79             p_err_no   in number default null,
80             p_element   in varchar2 default null ) is
81 --
82   l_proc     varchar2(72)    := g_package||'write_warning';
83   l_err_name varchar2(2000)  := p_err_name ;
84   l_err_no   number          :=  p_err_no ;
85 --
86 begin
87 --
88   hr_utility.set_location('Entering'||l_proc, 5);
89 --
90 --  form is changed to take the error message and name from error table
91 --  only customised message is sent as parameter to error text bug: 1579767
92 --  instead of error name the null sent as param
93 --  p_err_no is added as param ,so if err_no sent then name considered as
94 --  customised messagr
95    if p_err_no is null then
96       --assumed the name is error name
97       l_err_no   :=  to_number(substr(p_err_name,5,5)) ;
98       l_err_name :=  null ;
99    end if ;
100    --if element name is sent get the message to write
101    if p_err_no is not null and p_element is not null then
102       l_err_name :=  ben_ext_fmt.get_error_msg(p_err_no,p_err_name,p_element ) ;
103    end if ;
104 
105    if ben_ext_person.g_business_group_id is not null then
106      ben_ext_util.write_err
107       (p_err_num => l_err_no,        -- to_number(substr(p_err_name,5,5)),
108        p_err_name => l_err_name,     --p_err_name,
109        p_typ_cd => 'W',
110        p_person_id => ben_ext_person.g_person_id,
111        p_business_group_id => ben_ext_person.g_business_group_id,
112        p_ext_rslt_id => ben_extract.g_ext_rslt_id);
113    end if;
114 --
115 hr_utility.set_location('Exiting'||l_proc, 15);
116 --
117 --
118 end write_warning;
119 --
120 
121 Function  Strip_quote (p_data in varchar2)
122           return   varchar2 is
123 
124 
125 l_proc     varchar2(72) := g_package||'Strip_quotes';
126 l_ret_val varchar2(500) ;
127 begin
128 
129 hr_utility.set_location('Entering'||l_proc, 5);
130 hr_utility.set_location('date '||p_data , 5);
131 l_ret_val := ltrim(rtrim(p_data)) ;
132 if  substr(l_ret_val,1,1) = '''' then
133     l_ret_val := substr(l_ret_val,2) ;
134 end if ;
135 
136 
137 if  substr(l_ret_val,length(l_ret_val)) = '''' then
138     l_ret_val := substr(l_ret_val,1,length(l_ret_val)-1) ;
139 end if ;
140 
141 hr_utility.set_location('Exiting'||l_proc, 15);
142 return l_ret_val ;
143 end ;
144 -- ----------------------------------------------------------------------------
145 -- |--------------------< rcd_in_file >-----------------------------------|
146 -- ----------------------------------------------------------------------------
147 --
148 Procedure rcd_in_file(p_ext_rcd_in_file_id in number,
149                           p_sprs_cd in varchar2,
150                           p_exclude_this_rcd_flag out nocopy boolean) is
151 
152 cursor c_xwc(p_ext_rcd_in_file_id in number)  is
153  select xwc.oper_cd,
154              xwc.val,
155              xwc.and_or_cd,
156              xer.seq_num,
157              xwc.cond_ext_data_elmt_id,
158              xrc.name,
159              substr(xel.frmt_mask_cd,1,1) xel_frmt_mask_cd,
160              xel.data_elmt_typ_cd,
161              xel.data_elmt_rl,
162              xel.ext_fld_id,
163              fld.frmt_mask_typ_cd,
164              xer.ext_rcd_id
165   from ben_ext_where_clause xwc,
166            ben_ext_data_elmt_in_rcd xer,
167            ben_ext_rcd  xrc,
168            ben_ext_data_elmt xel,
169            ben_ext_fld fld
170   where xwc.ext_rcd_in_file_id = p_ext_rcd_in_file_id
171  and xwc.cond_ext_data_elmt_in_rcd_id = xer.ext_data_elmt_in_rcd_id
172  and xer.ext_rcd_id = xrc.ext_rcd_id
173  and xel.ext_data_elmt_id = xer.ext_data_elmt_id
174  and xel.ext_fld_id = fld.ext_fld_id(+)
175  order by xwc.seq_num;
176 
177 
178 
179 cursor c_cond_xwc(p_ext_data_elmt_id   number,
180                   p_Ext_rcd_id         number)  is
181  select xer.seq_num
182   from  ben_ext_data_elmt_in_rcd xer,
183         ben_ext_data_elmt xel,
184         ben_ext_fld fld
185   where xer.ext_rcd_id = p_Ext_rcd_id
186     and xel.ext_data_elmt_id = xer.ext_data_elmt_id
187     and xel.ext_data_elmt_id = p_ext_data_elmt_id
188      and xel.ext_fld_id = fld.ext_fld_id(+)
189    ;
190 
191 --
192 l_proc     varchar2(72) := g_package||'rcd_in_file';
193 l_condition varchar2(1);
194 l_cnt number;
195 l_cond_cnt  number;
196 l_value_without_quotes varchar2(500);
197 l_dynamic_condition varchar2(9999);
198 l_rcd_name    ben_ext_rcd.name%type ;
199 l_cond_seq    number  ;
200 --
201 l_ext_adv_conditions   t_ext_adv_conditions ;
202 l_ext_adv_data         t_ext_adv_conditions ;
203 l_cursor_name INTEGER;
204 l_dummy_num   integer ;
205 l_dummy_var   varchar2(500) ;
206 l_exclude_flag  boolean ;
207 
208 --
209 Begin
210 --
211   hr_utility.set_location('Entering'||l_proc, 5);
212 --
213   ben_ext_adv_conditions.g_ext_adv_ct_validation := 'N' ;
214   p_exclude_this_rcd_flag := false;
215   if p_sprs_cd = null then
216      return;
217   end if;
218 
219   --
220 
221   --
222   l_cnt      := 0;
223   l_cond_cnt := 0;
224 
225   ben_ext_adv_ct_check.rcd_in_file(p_ext_rcd_in_file_id    => p_ext_rcd_in_file_id  ,
226                                    p_sprs_cd               => p_sprs_cd  ,
227                                    p_exclude_this_rcd_flag =>  l_exclude_flag  ) ;
228 
229   if  ben_ext_adv_conditions.g_ext_adv_ct_validation <> 'N' then
230       p_exclude_this_rcd_flag :=  nvl(l_exclude_flag, false) ;
231       return ;
232   end if ;
233 
234 
235 
236 
237   l_dynamic_condition := 'begin if    ';
238   for xwc in c_xwc(p_ext_rcd_in_file_id) loop
239     l_cnt := l_cnt +1;
240 
241     hr_utility.set_location('count '||l_cnt , 5);
242     l_ext_adv_data(l_cnt).name := ':A'||to_char(l_cnt) ;
243 
244     -- strip all quotes out of any values.
245     l_value_without_quotes := replace(ben_ext_fmt.g_val_tab(xwc.seq_num),'''');
246     --
247     --
248     if (xwc.frmt_mask_typ_cd = 'N' or
249         xwc.xel_frmt_mask_cd = 'N' or
250         xwc.data_elmt_typ_cd = 'R')
251        and
252        l_value_without_quotes is not null
253     then
254        begin
255           --  test for numeric value
256           if xwc.oper_cd = 'IN' then
257              l_ext_adv_data(l_cnt).value   := l_value_without_quotes;
258           else
259              l_ext_adv_data(l_cnt).value   := to_number(l_value_without_quotes);
260           end if;
261 
262        exception when others then
263           -- quotes needed, not numeric value
264           l_ext_adv_data(l_cnt).value   :=  l_value_without_quotes;
265        end;
266     else
267       -- quotes needed, not numeric value
268       l_ext_adv_data(l_cnt).value   :=   l_value_without_quotes;
269     end if;
270 
271     l_dynamic_condition := l_dynamic_condition || l_ext_adv_data(l_cnt).name  ;
272 
273     l_dynamic_condition := l_dynamic_condition || ' ' || xwc.oper_cd  ||' '  ;
274 
275     ----- get the value into array
276     if xwc.oper_cd in ( 'BETWEEN','NOT BETWEEN') then
277 
278          l_cond_cnt := l_cond_cnt +1;
279          l_dummy_var :=  xwc.val ;
280          hr_utility.set_location  ( ' l_dummy_var  ' || l_dummy_var , 99 ) ;
281          l_dummy_num := instr(upper(l_dummy_var), 'AND') ;
282          l_ext_adv_conditions(l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
283 
284          -- if the data lement is number change the value to number
285          if (xwc.frmt_mask_typ_cd = 'N' or
286             xwc.xel_frmt_mask_cd = 'N' or
287             xwc.data_elmt_typ_cd = 'R')  then
288 
289            begin
290              l_ext_adv_conditions( l_cond_cnt).value :=  to_number(strip_quote(substr(l_dummy_var,1,l_dummy_num-1)) )  ;
291              hr_utility.set_location(' number between 1 ' || l_ext_adv_conditions( l_cond_cnt).value , 99 ) ;
292            exception when others then
293              l_ext_adv_conditions( l_cond_cnt).value :=  strip_quote(substr(l_dummy_var,1,l_dummy_num-1))  ;
294            end ;
295 
296            l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || ' AND  '  ;
297            l_cond_cnt := l_cond_cnt +1;
298            l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
299 
300            begin
301              l_ext_adv_conditions( l_cond_cnt).value :=  to_number(strip_quote( substr(l_dummy_var, l_dummy_num+4)))  ;
302              hr_utility.set_location(' number between 2 ' || l_ext_adv_conditions( l_cond_cnt).value , 99 ) ;
303            exception when others then
304              l_ext_adv_conditions( l_cond_cnt).value :=  strip_quote( substr(l_dummy_var, l_dummy_num+4))  ;
305            end ;
306            l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || '  '  ;
307 
308          else
309 
310             l_ext_adv_conditions( l_cond_cnt).value :=  strip_quote(substr(l_dummy_var,1,l_dummy_num-1))  ;
311             l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || ' AND  '  ;
312 
313             l_cond_cnt := l_cond_cnt +1;
314             l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
315             l_ext_adv_conditions( l_cond_cnt).value :=  strip_quote( substr(l_dummy_var, l_dummy_num+4))  ;
316             l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || '  '  ;
317          end if ;
318 
319 
320 
321     elsif xwc.oper_cd in ( 'IN','NOT IN') then
322 
323           l_dummy_var :=  replace(replace(xwc.val,'('), ')')  ;
324           l_dynamic_condition := l_dynamic_condition || ' ( ' ;
325           Loop
326 
327              l_dummy_num := instr(l_dummy_var, ',') ;
328              if  l_dummy_num = 0 then exit  ; end if ;
329              l_cond_cnt := l_cond_cnt +1;
330              l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
331              l_ext_adv_conditions( l_cond_cnt).value := strip_quote(  substr(l_dummy_var, 1, l_dummy_num-1))  ;
332              l_dynamic_condition := l_dynamic_condition ||   l_ext_adv_conditions( l_cond_cnt).name || ' ,  '  ;
333              l_dummy_var  := substr(l_dummy_var, l_dummy_num+1) ;
334           end Loop  ;
335           if l_dummy_var is not null then
336              l_cond_cnt := l_cond_cnt +1;
337              l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
338              l_ext_adv_conditions( l_cond_cnt).value := strip_quote( l_dummy_var)  ;
339              l_dynamic_condition := l_dynamic_condition ||   l_ext_adv_conditions( l_cond_cnt).name || '  '  ;
340           end if ;
341           l_dynamic_condition := l_dynamic_condition || ' ) ' ;
342    elsif xwc.oper_cd in ( 'IS NULL','IS NOT NULL') then
343            -- do nothing
344            null ;
345     else
346       l_cond_cnt := l_cond_cnt +1;
347       l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
348       l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || ' '  ;
349 
353          close c_cond_xwc  ;
350       if xwc.cond_ext_data_elmt_id is not null then
351          open c_cond_xwc (xwc.cond_ext_data_elmt_id , xwc.ext_rcd_id )  ;
352          fetch c_cond_xwc into l_cond_seq ;
354 
355          if l_cond_seq is not null then
356             l_ext_adv_conditions( l_cond_cnt).value :=  replace(ben_ext_fmt.g_val_tab(l_cond_seq),'''');
357          else
358             l_ext_adv_conditions( l_cond_cnt).value := strip_quote(xwc.val)  ;
359          end if ;
360 
361       else
362          l_ext_adv_conditions( l_cond_cnt).value := strip_quote(xwc.val)  ;
363       end if ;
364 
365       -- if the data element is number change the value to number
366       if (xwc.frmt_mask_typ_cd = 'N' or
367             xwc.xel_frmt_mask_cd = 'N' or
368             xwc.data_elmt_typ_cd = 'R')  then
369 
370          begin
371            l_ext_adv_conditions( l_cond_cnt).value := to_number(l_ext_adv_conditions( l_cond_cnt).value) ;
372              hr_utility.set_location(' number =' || l_ext_adv_conditions( l_cond_cnt).value , 99 ) ;
373          exception when others then
374             null ;
375          end  ;
376 
377        end if ;
378     end if ;
379 
380     l_dynamic_condition := l_dynamic_condition || ' ' || xwc.and_or_cd || ' ' ;
381     hr_utility.set_location('  condition    '||  l_value_without_quotes   , 3);
382     l_rcd_name := xwc.name ;
383 
384   end loop;
385   -- if there is no data for advanced conditions, exit this program.
386   if l_cnt = 0 then
387     return;
388   end if;
389   hr_utility.set_location('out of loop   '  , 5);
390   l_dynamic_condition := l_dynamic_condition ||
391          ' then :l_condition := ''T''; else :l_condition := ''F''; end if; end;';
392   begin
393     --execute immediate l_dynamic_condition using OUT l_condition;
394 
395    hr_utility.set_location('  parsing  '||  l_cnt  , 3);
396    l_cursor_name := dbms_sql.open_cursor;
397    dbms_sql.parse(l_cursor_name, l_dynamic_condition,dbms_sql.v7) ;
398    hr_utility.set_location('  parse the cursor  '||  l_cnt  , 3);
399    for i in 1 .. l_cnt
400    Loop
401 
402       hr_utility.set_location('  bind   data  '||  l_ext_adv_data(i).name || l_ext_adv_data(i).value  , 3);
403       dbms_sql.bind_variable(l_cursor_name, l_ext_adv_data(i).name,
404                                                  l_ext_adv_data(i).value);
405    end loop ;
406 
407 
408    for i in 1 .. l_cond_cnt
409    Loop
410 
411       hr_utility.set_location('  bind   cond  '||  l_ext_adv_conditions(i).name || l_ext_adv_conditions(i).value  , 5);
412       dbms_sql.bind_variable(l_cursor_name, l_ext_adv_conditions(i).name,
413                                                  l_ext_adv_conditions(i).value);
414    end loop ;
415    dbms_sql.bind_variable(l_cursor_name, ':l_condition' , l_condition, 1 ) ;
416     --
417    l_cnt := dbms_sql.execute(l_cursor_name ) ;
418 
419    dbms_sql.variable_Value(l_cursor_name, ':l_condition'  ,  l_condition )  ;
420 
421    dbms_sql.close_cursor(l_cursor_name);
422    hr_utility.set_location( 'return from dbms_sql   ' || l_condition   , 99 ) ;
423 
424   exception
425     when others then
426       hr_utility.set_location( 'except  ' || substr(sqlerrm,1,100), 99  ) ;
427       fnd_file.put_line(fnd_file.log,
428         'Error in Advanced Conditions while processing this dynamic sql statement: ');
429       fnd_file.put_line(fnd_file.log, l_dynamic_condition);
430       IF dbms_sql.is_open(l_cursor_name) THEN
431          dbms_sql.close_cursor(l_cursor_name);
432       end if ;
433 
434       raise;  -- such that the error processing in ben_ext_thread occurs.
435   end;
436 
437 
438   if l_condition   = 'T'      then
439 
440     if p_sprs_cd = 'A' then   -- rollback record
441       p_exclude_this_rcd_flag := true;
442     elsif p_sprs_cd = 'B' then  -- rollback person
443       p_exclude_this_rcd_flag := true;
444       raise ben_ext_person.required_error;
445     elsif p_sprs_cd = 'C' then  -- rollback person and error
446       p_exclude_this_rcd_flag := true;
447       ben_ext_person.g_elmt_name := l_rcd_name ;
448       ben_ext_person.g_err_num := 92679;
449       ben_ext_person.g_err_name := 'BEN_92679_EXT_USER_DEFINED_ERR';
450       raise ben_ext_person.detail_restart_error;
451     elsif p_sprs_cd = 'H' then  -- signal warning
452       write_warning ('BEN_92678_EXT_USER_DEFINED_WRN',92678,l_rcd_name);
453 
454     end if;
455 
456   else -- l_condition = 'F'
457 
458     if p_sprs_cd = 'D' then -- rollback record
459       p_exclude_this_rcd_flag := true;
460     elsif p_sprs_cd = 'E' then  -- rollback person
461       p_exclude_this_rcd_flag := true;
462       raise ben_ext_person.required_error;
463     elsif p_sprs_cd = 'F' then  -- rollback person and error
464       p_exclude_this_rcd_flag := true;
465       ben_ext_person.g_elmt_name := l_rcd_name ;
466       ben_ext_person.g_err_num := 92679;
467       ben_ext_person.g_err_name := 'BEN_92679_EXT_USER_DEFINED_ERR';
468       raise ben_ext_person.detail_restart_error;
469     elsif p_sprs_cd = 'K' then  -- signal warning
470       write_warning ('BEN_92678_EXT_USER_DEFINED_WRN',92678,l_rcd_name);
471 
472     end if;
473   --
474   end if;
475 --
476 hr_utility.set_location('Exiting'||l_proc, 15);
477 --
478 end rcd_in_file;
479 --
483 --
480 -- ----------------------------------------------------------------------------
481 -- |--------------------< data_elmt_in_rcd >-----------------------------------|
482 -- ----------------------------------------------------------------------------
484 Procedure data_elmt_in_rcd(p_ext_rcd_id in number,
485                            p_exclude_this_rcd_flag out nocopy boolean) is
486 --
487  cursor c_xer(p_ext_rcd_id in number) is
488   select xer.seq_num,
489          xer.sprs_cd,
490          xer.ext_data_elmt_in_rcd_id,
491          xdm.name
492   from  ben_ext_data_elmt_in_rcd xer,
493         ben_ext_data_elmt  xdm
494         where ext_rcd_id = p_ext_rcd_id
495         and xer.sprs_cd is not null
496         and xer.ext_data_elmt_id = xdm.ext_data_elmt_id ;
497 --
498 --
499 cursor c_xwc(p_ext_data_elmt_in_rcd_id in number)  is
500   select xwc.oper_cd,
501              xwc.val,
502              xwc.and_or_cd,
503              xwc.cond_ext_data_elmt_id,
504              xer.seq_num,
505              substr(xel.frmt_mask_cd,1,1) xel_frmt_mask_cd,
506              xel.data_elmt_typ_cd,
507              xel.data_elmt_rl,
508              xer.ext_rcd_id ,
509              fld.frmt_mask_typ_cd
510   from ben_ext_where_clause xwc,
511        ben_ext_data_elmt_in_rcd xer,
512        ben_ext_data_elmt xel,
513        ben_ext_fld fld
514   where xwc.ext_data_elmt_in_rcd_id = p_ext_data_elmt_in_rcd_id
515  and xwc.cond_ext_data_elmt_in_rcd_id = xer.ext_data_elmt_in_rcd_id
516  and xel.ext_data_elmt_id = xer.ext_data_elmt_id
517  and xel.ext_fld_id = fld.ext_fld_id(+)
518  order by xwc.seq_num;
519 --
520  cursor c_cond_xwc(p_ext_data_elmt_id   number,
521                    p_Ext_rcd_id         number)  is
522  select xer.seq_num
523   from  ben_ext_data_elmt_in_rcd xer,
524         ben_ext_data_elmt xel,
525         ben_ext_fld fld
526   where xer.ext_rcd_id = p_Ext_rcd_id
527     and xel.ext_data_elmt_id = xer.ext_data_elmt_id
528     and xel.ext_data_elmt_id = p_ext_data_elmt_id
529      and xel.ext_fld_id = fld.ext_fld_id(+)
530    ;
531 
532 
533 l_proc     varchar2(72) := g_package||'data_elmt_in_rcd';
534 l_condition varchar2(1);
535 l_cnt number;
536 l_cond_seq  number;
537 l_value_without_quotes varchar2(500);
538 l_dynamic_condition varchar2(9999);
539 --
540 l_ext_adv_conditions   t_ext_adv_conditions ;
541 l_ext_adv_data         t_ext_adv_conditions ;
542 l_cursor_name INTEGER;
543 l_dummy_num   integer ;
544 l_dummy_var   varchar2(500) ;
545 l_cond_cnt  number;
546 l_exclude_flag  boolean ;
547 --
548   l_val_tab_mirror   ben_ext_fmt.ValTabTyp;
549 --
550 --
551 Begin
552 --
553   hr_utility.set_location('Entering'||l_proc, 5);
554   ben_ext_adv_conditions.g_ext_adv_ct_validation := 'N' ;
555 --
556   p_exclude_this_rcd_flag := false;
557 
558 
559 
560   ben_ext_adv_ct_check.data_elmt_in_rcd(p_ext_rcd_id            => p_ext_rcd_id ,
561                                         p_exclude_this_rcd_flag => l_exclude_flag ) ;
562 
563   if  ben_ext_adv_conditions.g_ext_adv_ct_validation <> 'N' then
564       p_exclude_this_rcd_flag :=  nvl(l_exclude_flag, false) ;
565       return ;
566   end if ;
567 
568 
569 --
570 -- make mirror image of table for evaluation, since values in the real table
571 -- are changing (being nullified).
572 --
573   l_val_tab_mirror := ben_ext_fmt.g_val_tab;
574 --
575 for xer in c_xer(p_ext_rcd_id) loop
576   --
577   l_cnt       := 0;
578   l_cond_cnt  := 0 ;
579   l_dynamic_condition := 'begin If ';
580   for xwc in c_xwc(xer.ext_data_elmt_in_rcd_id) loop
581     l_cnt := l_cnt +1;
582     l_ext_adv_data(l_cnt).name := ':A'||to_char(l_cnt) ;
583    -- strip all quotes out of any values.
584     l_value_without_quotes := replace(l_val_tab_mirror(xwc.seq_num),'''');
585 
586     if (xwc.frmt_mask_typ_cd = 'N' or
587         xwc.xel_frmt_mask_cd = 'N' or
588         xwc.data_elmt_typ_cd = 'R')
589        and
590        l_value_without_quotes is not null
591     then
592        begin
593           --  test for numeric value
594           if xwc.oper_cd = 'IN' then
595              l_ext_adv_data(l_cnt).value   := l_value_without_quotes;
596           else
597              l_ext_adv_data(l_cnt).value   := to_number(l_value_without_quotes);
598           end if;
599 
600        exception when others then
601           -- quotes needed, not numeric value
602           l_ext_adv_data(l_cnt).value   :=  l_value_without_quotes;
603        end;
604     else
605       -- quotes needed, not numeric value
606       l_ext_adv_data(l_cnt).value   :=   l_value_without_quotes;
607     end if;
608 
609     l_dynamic_condition := l_dynamic_condition || ' ' || l_ext_adv_data(l_cnt).name || ' ' || xwc.oper_cd  || ' ' ;
610     hr_utility.set_location(' oper code ' || xwc.oper_cd , 99 ) ;
611      ----- get the value into array
612     if xwc.oper_cd in ( 'BETWEEN','NOT BETWEEN') then
613 
614          l_cond_cnt := l_cond_cnt +1;
615          l_dummy_var :=  xwc.val ;
616          hr_utility.set_location  ( ' l_dummy_var  ' || l_dummy_var , 99 ) ;
617          l_dummy_num := instr(upper(l_dummy_var), 'AND') ;
618          l_ext_adv_conditions(l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
619          -- if the data lement is number change the value to number
620          if (xwc.frmt_mask_typ_cd = 'N' or
624            begin
621             xwc.xel_frmt_mask_cd = 'N' or
622             xwc.data_elmt_typ_cd = 'R')  then
623 
625              l_ext_adv_conditions( l_cond_cnt).value :=  to_number(strip_quote(substr(l_dummy_var,1,l_dummy_num-1)) )  ;
626              hr_utility.set_location(' number between 1 ' || l_ext_adv_conditions( l_cond_cnt).value , 99 ) ;
627            exception when others then
628              l_ext_adv_conditions( l_cond_cnt).value :=  strip_quote(substr(l_dummy_var,1,l_dummy_num-1))  ;
629            end ;
630 
631            l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || ' AND  '  ;
632            l_cond_cnt := l_cond_cnt +1;
633            l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
634 
635            begin
636              l_ext_adv_conditions( l_cond_cnt).value :=  to_number(strip_quote( substr(l_dummy_var, l_dummy_num+4)))  ;
637              hr_utility.set_location(' number between 2 ' || l_ext_adv_conditions( l_cond_cnt).value , 99 ) ;
638            exception when others then
639              l_ext_adv_conditions( l_cond_cnt).value :=  strip_quote( substr(l_dummy_var, l_dummy_num+4))  ;
640              hr_utility.set_location(' number between 2 ' || l_ext_adv_conditions( l_cond_cnt).value , 99 ) ;
641            end ;
642            l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || '  '  ;
643 
644          else
645 
646             l_ext_adv_conditions( l_cond_cnt).value :=  strip_quote(substr(l_dummy_var,1,l_dummy_num-1))  ;
647             l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || ' AND  '  ;
648 
649             l_cond_cnt := l_cond_cnt +1;
650             l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
651             l_ext_adv_conditions( l_cond_cnt).value :=  strip_quote( substr(l_dummy_var, l_dummy_num+4))  ;
652             l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || '  '  ;
653          end if ;
654 
655 
656     elsif xwc.oper_cd in ( 'IN','NOT IN') then
657 
658           l_dummy_var :=  replace(replace(xwc.val,'('), ')')  ;
659           l_dynamic_condition := l_dynamic_condition || ' ( ' ;
660           Loop
661 
662              l_dummy_num := instr(l_dummy_var, ',') ;
663              if  l_dummy_num = 0 then exit  ; end if ;
664              l_cond_cnt := l_cond_cnt +1;
665              l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
666              l_ext_adv_conditions( l_cond_cnt).value := strip_quote(  substr(l_dummy_var, 1, l_dummy_num-1))  ;
667              l_dynamic_condition := l_dynamic_condition ||   l_ext_adv_conditions( l_cond_cnt).name || ' ,  '  ;
668              l_dummy_var  := substr(l_dummy_var, l_dummy_num+1) ;
669           end Loop  ;
670           if l_dummy_var is not null then
671              l_cond_cnt := l_cond_cnt +1;
672              l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
673              l_ext_adv_conditions( l_cond_cnt).value := strip_quote( l_dummy_var)  ;
674              l_dynamic_condition := l_dynamic_condition ||   l_ext_adv_conditions( l_cond_cnt).name || '  '  ;
675           end if ;
676           l_dynamic_condition := l_dynamic_condition || ' ) ' ;
677    elsif xwc.oper_cd in ( 'IS NULL','IS NOT NULL') then
678           -- do nothing
679           null ;
680     else
681         l_cond_cnt := l_cond_cnt +1;
682         l_ext_adv_conditions( l_cond_cnt).name := ':B'||to_char(l_cond_cnt) ;
683         l_dynamic_condition := l_dynamic_condition || l_ext_adv_conditions( l_cond_cnt).name || ' '  ;
684 
685         if xwc.cond_ext_data_elmt_id is not null then
686            open c_cond_xwc (xwc.cond_ext_data_elmt_id , xwc.ext_rcd_id )  ;
687            fetch c_cond_xwc into l_cond_seq ;
688            close c_cond_xwc  ;
689 
690            if l_cond_seq is not null then
691               l_ext_adv_conditions( l_cond_cnt).value :=  replace(l_val_tab_mirror(l_cond_seq),'''');
692            else
693               l_ext_adv_conditions( l_cond_cnt).value := strip_quote(xwc.val)  ;
694            end if ;
695         else
696            l_ext_adv_conditions( l_cond_cnt).value := strip_quote(xwc.val)  ;
697         end if ;
698         -- if the data element is number change the value to number
699         if (xwc.frmt_mask_typ_cd = 'N' or
700             xwc.xel_frmt_mask_cd = 'N' or
701             xwc.data_elmt_typ_cd = 'R')  then
702 
703            begin
704              l_ext_adv_conditions( l_cond_cnt).value := to_number(l_ext_adv_conditions( l_cond_cnt).value) ;
705              hr_utility.set_location(' number = ' || l_ext_adv_conditions( l_cond_cnt).value , 99 ) ;
706            exception when others then
707               null ;
708          end  ;
709 
710        end if ;
711 
712     end if ;
713     l_dynamic_condition := l_dynamic_condition || ' ' || xwc.and_or_cd || ' ' ;
714 
715 
716   end loop;
717   -- if there is no data for advanced conditions, bypass rest of this program.
718   if l_cnt > 0 then
719 
720       l_dynamic_condition := l_dynamic_condition ||
721       ' then :l_condition := ''T''; else :l_condition := ''F''; end if; end;';
722   begin
723      --execute immediate l_dynamic_condition using OUT l_condition;
724      l_cursor_name := dbms_sql.open_cursor;
725      dbms_sql.parse(l_cursor_name, l_dynamic_condition,dbms_sql.v7) ;
726      hr_utility.set_location('  parse the cursor  '||  l_cnt  , 3);
727      for i in 1 .. l_cnt
728      Loop
732      end loop ;
729         hr_utility.set_location('  bind   '||  l_ext_adv_data(i).name || l_ext_adv_data(i).value  , 3);
730         dbms_sql.bind_variable(l_cursor_name, l_ext_adv_data(i).name,
731                                                  l_ext_adv_data(i).value);
733 
734      -- bind the values from conditions
735      for i in 1 .. l_cond_cnt
736      Loop
737 
738        hr_utility.set_location('  bind   cond  '||  l_ext_adv_conditions(i).name || l_ext_adv_conditions(i).value  , 5);
739        dbms_sql.bind_variable(l_cursor_name, l_ext_adv_conditions(i).name,
740                                                  l_ext_adv_conditions(i).value);
741      end loop ;
742 
743      dbms_sql.bind_variable(l_cursor_name, ':l_condition' , l_condition, 1 ) ;
744      --
745      l_cnt := dbms_sql.execute(l_cursor_name ) ;
746      dbms_sql.variable_Value(l_cursor_name, ':l_condition'  ,  l_condition )  ;
747      dbms_sql.close_cursor(l_cursor_name);
748   exception
749     when others then
750       -- this needs replaced with a message for translation.
751       fnd_file.put_line(fnd_file.log,
752         'Error in Advanced Conditions while processing this dynamic sql statement: ');
753       fnd_file.put_line(fnd_file.log, l_dynamic_condition);
754       If dbms_sql.is_open(l_cursor_name) THEN
755          dbms_sql.close_cursor(l_cursor_name);
756       end if ;
757       raise;  -- such that the error processing in ben_ext_thread occurs.
758   end;
759   --
760   hr_utility.set_location( 'return from dbms_sql   ' || l_condition   , 99 ) ;
761   --
762   if l_condition = 'T' then
763 
764     if xer.sprs_cd = 'A' then  -- rollback record
765        p_exclude_this_rcd_flag := true;
766        exit;
767     elsif xer.sprs_cd = 'B' then  -- rollback person
768        p_exclude_this_rcd_flag := true;
769        raise ben_ext_person.required_error;
770     elsif xer.sprs_cd = 'C' then  -- rollback person and error
771        p_exclude_this_rcd_flag := true;
772        ben_ext_person.g_elmt_name := xer.name ;
773        ben_ext_person.g_err_num := 92312;
774        ben_ext_person.g_err_name := 'BEN_92312_EXT_USER_DEFINED_ERR';
775        raise ben_ext_person.detail_error;
776     elsif xer.sprs_cd = 'G' then -- nullify data element
777        ben_ext_fmt.g_val_tab(xer.seq_num) := null;
778     elsif xer.sprs_cd = 'H' then  -- signal warning
779        write_warning ('BEN_92313_EXT_USER_DEFINED_WRN',92313,xer.name);
780     elsif xer.sprs_cd = 'I' then -- nullify data element and signal warning
781        ben_ext_fmt.g_val_tab(xer.seq_num) := null;
782        write_warning ('BEN_92313_EXT_USER_DEFINED_WRN',92313,xer.name);
783     end if;
784 
785   else -- l_condition = 'F'
786 
787     if xer.sprs_cd = 'D' then  -- rollback record
788        p_exclude_this_rcd_flag := true;
789        exit;
790     elsif xer.sprs_cd = 'E' then  -- rollback person
791        p_exclude_this_rcd_flag := true;
792        raise ben_ext_person.required_error;
793     elsif xer.sprs_cd = 'F' then  -- rollback person and error
794        p_exclude_this_rcd_flag := true;
795        ben_ext_person.g_err_num := 92312;
796        ben_ext_person.g_elmt_name := xer.name ;
797        ben_ext_person.g_err_name := 'BEN_92312_EXT_USER_DEFINED_ERR';
798        raise ben_ext_person.detail_error;
799     elsif xer.sprs_cd = 'J' then -- nullify data element
800        ben_ext_fmt.g_val_tab(xer.seq_num) := null;
801     elsif xer.sprs_cd = 'K' then  -- signal warning
802        write_warning ('BEN_92313_EXT_USER_DEFINED_WRN',92313,xer.name);
803     elsif xer.sprs_cd = 'L' then -- nullify data element and signal warning
804        ben_ext_fmt.g_val_tab(xer.seq_num) := null;
805        write_warning ('BEN_92313_EXT_USER_DEFINED_WRN',92313,xer.name);
806     end if;
807     --
808   end if;
809   --
810   end if;
811   --
812  end loop;
813 --
814 hr_utility.set_location('Exiting'||l_proc, 15);
815 --
816 end data_elmt_in_rcd;
817 --
818 -- ----------------------------------------------------------------------------
819 -- |--------------------< prevent duplicates >-----------------------------------|
820 -- ----------------------------------------------------------------------------
821 --
822 Procedure prevent_duplicates(p_ext_rslt_id in number,
823                           p_person_id in number,
824                           p_any_or_all_cd in varchar2,
825                           p_ext_rcd_id in number,
826                           p_exclude_this_rcd_flag out nocopy boolean) is
827 --
828 l_proc     varchar2(72) := g_package||'prevent_duplicates';
829 l_dummy    varchar2(1);
830 --
831 /*
832  This curosr ischanged for performance
833 
834 cursor c_check_for_dup_rcds is
835   select 'x'
836   from ben_ext_rslt_dtl xrd
837   where xrd.ext_rslt_id = p_ext_rslt_id
838   and   xrd.person_id = p_person_id
839   and   xrd.ext_rcd_id = p_ext_rcd_id
840   and   nvl(xrd.val_01,'X') = nvl(ben_ext_fmt.g_val_tab(1),'X')
841   and   nvl(xrd.val_02,'X') = nvl(ben_ext_fmt.g_val_tab(2),'X')
842   and   nvl(xrd.val_03,'X') = nvl(ben_ext_fmt.g_val_tab(3),'X')
843   and   nvl(xrd.val_04,'X') = nvl(ben_ext_fmt.g_val_tab(4),'X')
844   and   nvl(xrd.val_05,'X') = nvl(ben_ext_fmt.g_val_tab(5),'X')
845   and   nvl(xrd.val_06,'X') = nvl(ben_ext_fmt.g_val_tab(6),'X')
846   and   nvl(xrd.val_07,'X') = nvl(ben_ext_fmt.g_val_tab(7),'X')
850   and   nvl(xrd.val_11,'X') = nvl(ben_ext_fmt.g_val_tab(11),'X')
847   and   nvl(xrd.val_08,'X') = nvl(ben_ext_fmt.g_val_tab(8),'X')
848   and   nvl(xrd.val_09,'X') = nvl(ben_ext_fmt.g_val_tab(9),'X')
849   and   nvl(xrd.val_10,'X') = nvl(ben_ext_fmt.g_val_tab(10),'X')
851   and   nvl(xrd.val_12,'X') = nvl(ben_ext_fmt.g_val_tab(12),'X')
852   and   nvl(xrd.val_13,'X') = nvl(ben_ext_fmt.g_val_tab(13),'X')
853   and   nvl(xrd.val_14,'X') = nvl(ben_ext_fmt.g_val_tab(14),'X')
854   and   nvl(xrd.val_15,'X') = nvl(ben_ext_fmt.g_val_tab(15),'X')
855   and   nvl(xrd.val_16,'X') = nvl(ben_ext_fmt.g_val_tab(16),'X')
856   and   nvl(xrd.val_17,'X') = nvl(ben_ext_fmt.g_val_tab(17),'X')
857   and   nvl(xrd.val_18,'X') = nvl(ben_ext_fmt.g_val_tab(18),'X')
858   and   nvl(xrd.val_19,'X') = nvl(ben_ext_fmt.g_val_tab(19),'X')
859   and   nvl(xrd.val_20,'X') = nvl(ben_ext_fmt.g_val_tab(20),'X')
860   and   nvl(xrd.val_21,'X') = nvl(ben_ext_fmt.g_val_tab(21),'X')
861   and   nvl(xrd.val_22,'X') = nvl(ben_ext_fmt.g_val_tab(22),'X')
862   and   nvl(xrd.val_23,'X') = nvl(ben_ext_fmt.g_val_tab(23),'X')
863   and   nvl(xrd.val_24,'X') = nvl(ben_ext_fmt.g_val_tab(24),'X')
864   and   nvl(xrd.val_25,'X') = nvl(ben_ext_fmt.g_val_tab(25),'X')
865   and   nvl(xrd.val_26,'X') = nvl(ben_ext_fmt.g_val_tab(26),'X')
866   and   nvl(xrd.val_27,'X') = nvl(ben_ext_fmt.g_val_tab(27),'X')
867   and   nvl(xrd.val_28,'X') = nvl(ben_ext_fmt.g_val_tab(28),'X')
868   and   nvl(xrd.val_29,'X') = nvl(ben_ext_fmt.g_val_tab(29),'X')
869   and   nvl(xrd.val_30,'X') = nvl(ben_ext_fmt.g_val_tab(30),'X')
870   and   nvl(xrd.val_31,'X') = nvl(ben_ext_fmt.g_val_tab(31),'X')
871   and   nvl(xrd.val_32,'X') = nvl(ben_ext_fmt.g_val_tab(32),'X')
872   and   nvl(xrd.val_33,'X') = nvl(ben_ext_fmt.g_val_tab(33),'X')
873   and   nvl(xrd.val_34,'X') = nvl(ben_ext_fmt.g_val_tab(34),'X')
874   and   nvl(xrd.val_35,'X') = nvl(ben_ext_fmt.g_val_tab(35),'X')
875   and   nvl(xrd.val_36,'X') = nvl(ben_ext_fmt.g_val_tab(36),'X')
876   and   nvl(xrd.val_37,'X') = nvl(ben_ext_fmt.g_val_tab(37),'X')
877   and   nvl(xrd.val_38,'X') = nvl(ben_ext_fmt.g_val_tab(38),'X')
878   and   nvl(xrd.val_39,'X') = nvl(ben_ext_fmt.g_val_tab(39),'X')
879   and   nvl(xrd.val_40,'X') = nvl(ben_ext_fmt.g_val_tab(40),'X')
880   and   nvl(xrd.val_41,'X') = nvl(ben_ext_fmt.g_val_tab(41),'X')
881   and   nvl(xrd.val_42,'X') = nvl(ben_ext_fmt.g_val_tab(42),'X')
882   and   nvl(xrd.val_43,'X') = nvl(ben_ext_fmt.g_val_tab(43),'X')
883   and   nvl(xrd.val_44,'X') = nvl(ben_ext_fmt.g_val_tab(44),'X')
884   and   nvl(xrd.val_45,'X') = nvl(ben_ext_fmt.g_val_tab(45),'X')
885   and   nvl(xrd.val_46,'X') = nvl(ben_ext_fmt.g_val_tab(46),'X')
886   and   nvl(xrd.val_47,'X') = nvl(ben_ext_fmt.g_val_tab(47),'X')
887   and   nvl(xrd.val_48,'X') = nvl(ben_ext_fmt.g_val_tab(48),'X')
888   and   nvl(xrd.val_49,'X') = nvl(ben_ext_fmt.g_val_tab(49),'X')
889   and   nvl(xrd.val_50,'X') = nvl(ben_ext_fmt.g_val_tab(50),'X')
890   and   nvl(xrd.val_51,'X') = nvl(ben_ext_fmt.g_val_tab(51),'X')
891   and   nvl(xrd.val_52,'X') = nvl(ben_ext_fmt.g_val_tab(52),'X')
892   and   nvl(xrd.val_53,'X') = nvl(ben_ext_fmt.g_val_tab(53),'X')
893   and   nvl(xrd.val_54,'X') = nvl(ben_ext_fmt.g_val_tab(54),'X')
894   and   nvl(xrd.val_55,'X') = nvl(ben_ext_fmt.g_val_tab(55),'X')
895   and   nvl(xrd.val_56,'X') = nvl(ben_ext_fmt.g_val_tab(56),'X')
896   and   nvl(xrd.val_57,'X') = nvl(ben_ext_fmt.g_val_tab(57),'X')
897   and   nvl(xrd.val_58,'X') = nvl(ben_ext_fmt.g_val_tab(58),'X')
898   and   nvl(xrd.val_59,'X') = nvl(ben_ext_fmt.g_val_tab(59),'X')
899   and   nvl(xrd.val_60,'X') = nvl(ben_ext_fmt.g_val_tab(60),'X')
900   and   nvl(xrd.val_61,'X') = nvl(ben_ext_fmt.g_val_tab(61),'X')
901   and   nvl(xrd.val_62,'X') = nvl(ben_ext_fmt.g_val_tab(62),'X')
902   and   nvl(xrd.val_63,'X') = nvl(ben_ext_fmt.g_val_tab(63),'X')
903   and   nvl(xrd.val_64,'X') = nvl(ben_ext_fmt.g_val_tab(64),'X')
904   and   nvl(xrd.val_65,'X') = nvl(ben_ext_fmt.g_val_tab(65),'X')
905   and   nvl(xrd.val_66,'X') = nvl(ben_ext_fmt.g_val_tab(66),'X')
906   and   nvl(xrd.val_67,'X') = nvl(ben_ext_fmt.g_val_tab(67),'X')
907   and   nvl(xrd.val_68,'X') = nvl(ben_ext_fmt.g_val_tab(68),'X')
908   and   nvl(xrd.val_69,'X') = nvl(ben_ext_fmt.g_val_tab(69),'X')
909   and   nvl(xrd.val_70,'X') = nvl(ben_ext_fmt.g_val_tab(70),'X')
910   and   nvl(xrd.val_71,'X') = nvl(ben_ext_fmt.g_val_tab(71),'X')
911   and   nvl(xrd.val_72,'X') = nvl(ben_ext_fmt.g_val_tab(72),'X')
912   and   nvl(xrd.val_73,'X') = nvl(ben_ext_fmt.g_val_tab(73),'X')
913   and   nvl(xrd.val_74,'X') = nvl(ben_ext_fmt.g_val_tab(74),'X')
914   and   nvl(xrd.val_75,'X') = nvl(ben_ext_fmt.g_val_tab(75),'X')
915   and   nvl(xrd.val_76,'X') = nvl(ben_ext_fmt.g_val_tab(76),'X')
916   and   nvl(xrd.val_77,'X') = nvl(ben_ext_fmt.g_val_tab(77),'X')
917   and   nvl(xrd.val_78,'X') = nvl(ben_ext_fmt.g_val_tab(78),'X')
918   and   nvl(xrd.val_79,'X') = nvl(ben_ext_fmt.g_val_tab(79),'X')
919   and   nvl(xrd.val_80,'X') = nvl(ben_ext_fmt.g_val_tab(80),'X')
920   and   nvl(xrd.val_81,'X') = nvl(ben_ext_fmt.g_val_tab(81),'X')
921   and   nvl(xrd.val_82,'X') = nvl(ben_ext_fmt.g_val_tab(82),'X')
922   and   nvl(xrd.val_83,'X') = nvl(ben_ext_fmt.g_val_tab(83),'X')
923   and   nvl(xrd.val_84,'X') = nvl(ben_ext_fmt.g_val_tab(84),'X')
924   and   nvl(xrd.val_85,'X') = nvl(ben_ext_fmt.g_val_tab(85),'X')
925   and   nvl(xrd.val_86,'X') = nvl(ben_ext_fmt.g_val_tab(86),'X')
926   and   nvl(xrd.val_87,'X') = nvl(ben_ext_fmt.g_val_tab(87),'X')
927   and   nvl(xrd.val_88,'X') = nvl(ben_ext_fmt.g_val_tab(88),'X')
928   and   nvl(xrd.val_89,'X') = nvl(ben_ext_fmt.g_val_tab(89),'X')
929   and   nvl(xrd.val_90,'X') = nvl(ben_ext_fmt.g_val_tab(90),'X')
930   and   nvl(xrd.val_91,'X') = nvl(ben_ext_fmt.g_val_tab(91),'X')
934   and   nvl(xrd.val_95,'X') = nvl(ben_ext_fmt.g_val_tab(95),'X')
931   and   nvl(xrd.val_92,'X') = nvl(ben_ext_fmt.g_val_tab(92),'X')
932   and   nvl(xrd.val_93,'X') = nvl(ben_ext_fmt.g_val_tab(93),'X')
933   and   nvl(xrd.val_94,'X') = nvl(ben_ext_fmt.g_val_tab(94),'X')
935   and   nvl(xrd.val_96,'X') = nvl(ben_ext_fmt.g_val_tab(96),'X')
936   and   nvl(xrd.val_97,'X') = nvl(ben_ext_fmt.g_val_tab(97),'X')
937   and   nvl(xrd.val_98,'X') = nvl(ben_ext_fmt.g_val_tab(98),'X')
938   and   nvl(xrd.val_99,'X') = nvl(ben_ext_fmt.g_val_tab(99),'X')
939   and   nvl(xrd.val_100,'X') = nvl(ben_ext_fmt.g_val_tab(100),'X')
940   and   nvl(xrd.val_101,'X') = nvl(ben_ext_fmt.g_val_tab(101),'X')
941   and   nvl(xrd.val_102,'X') = nvl(ben_ext_fmt.g_val_tab(102),'X')
942   and   nvl(xrd.val_103,'X') = nvl(ben_ext_fmt.g_val_tab(103),'X')
943   and   nvl(xrd.val_104,'X') = nvl(ben_ext_fmt.g_val_tab(104),'X')
944   and   nvl(xrd.val_105,'X') = nvl(ben_ext_fmt.g_val_tab(105),'X')
945   and   nvl(xrd.val_106,'X') = nvl(ben_ext_fmt.g_val_tab(106),'X')
946   and   nvl(xrd.val_107,'X') = nvl(ben_ext_fmt.g_val_tab(107),'X')
947   and   nvl(xrd.val_108,'X') = nvl(ben_ext_fmt.g_val_tab(108),'X')
948   and   nvl(xrd.val_109,'X') = nvl(ben_ext_fmt.g_val_tab(109),'X')
949   and   nvl(xrd.val_110,'X') = nvl(ben_ext_fmt.g_val_tab(110),'X')
950   and   nvl(xrd.val_111,'X') = nvl(ben_ext_fmt.g_val_tab(111),'X')
951   and   nvl(xrd.val_112,'X') = nvl(ben_ext_fmt.g_val_tab(112),'X')
952   and   nvl(xrd.val_113,'X') = nvl(ben_ext_fmt.g_val_tab(113),'X')
953   and   nvl(xrd.val_114,'X') = nvl(ben_ext_fmt.g_val_tab(114),'X')
954   and   nvl(xrd.val_115,'X') = nvl(ben_ext_fmt.g_val_tab(115),'X')
955   and   nvl(xrd.val_116,'X') = nvl(ben_ext_fmt.g_val_tab(116),'X')
956   and   nvl(xrd.val_117,'X') = nvl(ben_ext_fmt.g_val_tab(117),'X')
957   and   nvl(xrd.val_118,'X') = nvl(ben_ext_fmt.g_val_tab(118),'X')
958   and   nvl(xrd.val_119,'X') = nvl(ben_ext_fmt.g_val_tab(119),'X')
959   and   nvl(xrd.val_120,'X') = nvl(ben_ext_fmt.g_val_tab(120),'X')
960   and   nvl(xrd.val_121,'X') = nvl(ben_ext_fmt.g_val_tab(121),'X')
961   and   nvl(xrd.val_122,'X') = nvl(ben_ext_fmt.g_val_tab(122),'X')
962   and   nvl(xrd.val_123,'X') = nvl(ben_ext_fmt.g_val_tab(123),'X')
963   and   nvl(xrd.val_124,'X') = nvl(ben_ext_fmt.g_val_tab(124),'X')
964   and   nvl(xrd.val_125,'X') = nvl(ben_ext_fmt.g_val_tab(125),'X')
965   and   nvl(xrd.val_126,'X') = nvl(ben_ext_fmt.g_val_tab(126),'X')
966   and   nvl(xrd.val_127,'X') = nvl(ben_ext_fmt.g_val_tab(127),'X')
967   and   nvl(xrd.val_128,'X') = nvl(ben_ext_fmt.g_val_tab(128),'X')
968   and   nvl(xrd.val_129,'X') = nvl(ben_ext_fmt.g_val_tab(129),'X')
969   and   nvl(xrd.val_130,'X') = nvl(ben_ext_fmt.g_val_tab(130),'X')
970   and   nvl(xrd.val_131,'X') = nvl(ben_ext_fmt.g_val_tab(131),'X')
971   and   nvl(xrd.val_132,'X') = nvl(ben_ext_fmt.g_val_tab(132),'X')
972   and   nvl(xrd.val_133,'X') = nvl(ben_ext_fmt.g_val_tab(133),'X')
973   and   nvl(xrd.val_134,'X') = nvl(ben_ext_fmt.g_val_tab(134),'X')
974   and   nvl(xrd.val_135,'X') = nvl(ben_ext_fmt.g_val_tab(135),'X')
975   and   nvl(xrd.val_136,'X') = nvl(ben_ext_fmt.g_val_tab(136),'X')
976   and   nvl(xrd.val_137,'X') = nvl(ben_ext_fmt.g_val_tab(137),'X')
977   and   nvl(xrd.val_138,'X') = nvl(ben_ext_fmt.g_val_tab(138),'X')
978   and   nvl(xrd.val_139,'X') = nvl(ben_ext_fmt.g_val_tab(139),'X')
979   and   nvl(xrd.val_140,'X') = nvl(ben_ext_fmt.g_val_tab(140),'X')
980   and   nvl(xrd.val_141,'X') = nvl(ben_ext_fmt.g_val_tab(141),'X')
981   and   nvl(xrd.val_142,'X') = nvl(ben_ext_fmt.g_val_tab(142),'X')
982   and   nvl(xrd.val_143,'X') = nvl(ben_ext_fmt.g_val_tab(143),'X')
983   and   nvl(xrd.val_144,'X') = nvl(ben_ext_fmt.g_val_tab(144),'X')
984   and   nvl(xrd.val_145,'X') = nvl(ben_ext_fmt.g_val_tab(145),'X')
985   and   nvl(xrd.val_146,'X') = nvl(ben_ext_fmt.g_val_tab(146),'X')
986   and   nvl(xrd.val_147,'X') = nvl(ben_ext_fmt.g_val_tab(147),'X')
987   and   nvl(xrd.val_148,'X') = nvl(ben_ext_fmt.g_val_tab(148),'X')
988   and   nvl(xrd.val_149,'X') = nvl(ben_ext_fmt.g_val_tab(149),'X')
989   and   nvl(xrd.val_150,'X') = nvl(ben_ext_fmt.g_val_tab(150),'X')
990   and   nvl(xrd.val_151,'X') = nvl(ben_ext_fmt.g_val_tab(151),'X')
991   and   nvl(xrd.val_152,'X') = nvl(ben_ext_fmt.g_val_tab(152),'X')
992   and   nvl(xrd.val_153,'X') = nvl(ben_ext_fmt.g_val_tab(153),'X')
993   and   nvl(xrd.val_154,'X') = nvl(ben_ext_fmt.g_val_tab(154),'X')
994   and   nvl(xrd.val_155,'X') = nvl(ben_ext_fmt.g_val_tab(155),'X')
995   and   nvl(xrd.val_156,'X') = nvl(ben_ext_fmt.g_val_tab(156),'X')
996   and   nvl(xrd.val_157,'X') = nvl(ben_ext_fmt.g_val_tab(157),'X')
997   and   nvl(xrd.val_158,'X') = nvl(ben_ext_fmt.g_val_tab(158),'X')
998   and   nvl(xrd.val_159,'X') = nvl(ben_ext_fmt.g_val_tab(159),'X')
999   and   nvl(xrd.val_160,'X') = nvl(ben_ext_fmt.g_val_tab(160),'X')
1000   and   nvl(xrd.val_161,'X') = nvl(ben_ext_fmt.g_val_tab(161),'X')
1001   and   nvl(xrd.val_162,'X') = nvl(ben_ext_fmt.g_val_tab(162),'X')
1002   and   nvl(xrd.val_163,'X') = nvl(ben_ext_fmt.g_val_tab(163),'X')
1003   and   nvl(xrd.val_164,'X') = nvl(ben_ext_fmt.g_val_tab(164),'X')
1004   and   nvl(xrd.val_165,'X') = nvl(ben_ext_fmt.g_val_tab(165),'X')
1005   and   nvl(xrd.val_166,'X') = nvl(ben_ext_fmt.g_val_tab(166),'X')
1006   and   nvl(xrd.val_167,'X') = nvl(ben_ext_fmt.g_val_tab(167),'X')
1007   and   nvl(xrd.val_168,'X') = nvl(ben_ext_fmt.g_val_tab(168),'X')
1008   and   nvl(xrd.val_169,'X') = nvl(ben_ext_fmt.g_val_tab(169),'X')
1009   and   nvl(xrd.val_170,'X') = nvl(ben_ext_fmt.g_val_tab(170),'X')
1010   and   nvl(xrd.val_171,'X') = nvl(ben_ext_fmt.g_val_tab(171),'X')
1011   and   nvl(xrd.val_172,'X') = nvl(ben_ext_fmt.g_val_tab(172),'X')
1012   and   nvl(xrd.val_173,'X') = nvl(ben_ext_fmt.g_val_tab(173),'X')
1013   and   nvl(xrd.val_174,'X') = nvl(ben_ext_fmt.g_val_tab(174),'X')
1014   and   nvl(xrd.val_175,'X') = nvl(ben_ext_fmt.g_val_tab(175),'X')
1018   and   nvl(xrd.val_179,'X') = nvl(ben_ext_fmt.g_val_tab(179),'X')
1015   and   nvl(xrd.val_176,'X') = nvl(ben_ext_fmt.g_val_tab(176),'X')
1016   and   nvl(xrd.val_177,'X') = nvl(ben_ext_fmt.g_val_tab(177),'X')
1017   and   nvl(xrd.val_178,'X') = nvl(ben_ext_fmt.g_val_tab(178),'X')
1019   and   nvl(xrd.val_180,'X') = nvl(ben_ext_fmt.g_val_tab(180),'X')
1020   and   nvl(xrd.val_181,'X') = nvl(ben_ext_fmt.g_val_tab(181),'X')
1021   and   nvl(xrd.val_182,'X') = nvl(ben_ext_fmt.g_val_tab(182),'X')
1022   and   nvl(xrd.val_183,'X') = nvl(ben_ext_fmt.g_val_tab(183),'X')
1023   and   nvl(xrd.val_184,'X') = nvl(ben_ext_fmt.g_val_tab(184),'X')
1024   and   nvl(xrd.val_185,'X') = nvl(ben_ext_fmt.g_val_tab(185),'X')
1025   and   nvl(xrd.val_186,'X') = nvl(ben_ext_fmt.g_val_tab(186),'X')
1026   and   nvl(xrd.val_187,'X') = nvl(ben_ext_fmt.g_val_tab(187),'X')
1027   and   nvl(xrd.val_188,'X') = nvl(ben_ext_fmt.g_val_tab(188),'X')
1028   and   nvl(xrd.val_189,'X') = nvl(ben_ext_fmt.g_val_tab(189),'X')
1029   and   nvl(xrd.val_190,'X') = nvl(ben_ext_fmt.g_val_tab(190),'X')
1030   and   nvl(xrd.val_191,'X') = nvl(ben_ext_fmt.g_val_tab(191),'X')
1031   and   nvl(xrd.val_192,'X') = nvl(ben_ext_fmt.g_val_tab(192),'X')
1032   and   nvl(xrd.val_193,'X') = nvl(ben_ext_fmt.g_val_tab(193),'X')
1033   and   nvl(xrd.val_194,'X') = nvl(ben_ext_fmt.g_val_tab(194),'X')
1034   and   nvl(xrd.val_195,'X') = nvl(ben_ext_fmt.g_val_tab(195),'X')
1035   and   nvl(xrd.val_196,'X') = nvl(ben_ext_fmt.g_val_tab(196),'X')
1036   and   nvl(xrd.val_197,'X') = nvl(ben_ext_fmt.g_val_tab(197),'X')
1037   and   nvl(xrd.val_198,'X') = nvl(ben_ext_fmt.g_val_tab(198),'X')
1038   and   nvl(xrd.val_199,'X') = nvl(ben_ext_fmt.g_val_tab(199),'X')
1039   and   nvl(xrd.val_200,'X') = nvl(ben_ext_fmt.g_val_tab(200),'X')
1040   and   nvl(xrd.val_201,'X') = nvl(ben_ext_fmt.g_val_tab(201),'X')
1041   and   nvl(xrd.val_202,'X') = nvl(ben_ext_fmt.g_val_tab(202),'X')
1042   and   nvl(xrd.val_203,'X') = nvl(ben_ext_fmt.g_val_tab(203),'X')
1043   and   nvl(xrd.val_204,'X') = nvl(ben_ext_fmt.g_val_tab(204),'X')
1044   and   nvl(xrd.val_205,'X') = nvl(ben_ext_fmt.g_val_tab(205),'X')
1045   and   nvl(xrd.val_206,'X') = nvl(ben_ext_fmt.g_val_tab(206),'X')
1046   and   nvl(xrd.val_207,'X') = nvl(ben_ext_fmt.g_val_tab(207),'X')
1047   and   nvl(xrd.val_208,'X') = nvl(ben_ext_fmt.g_val_tab(208),'X')
1048   and   nvl(xrd.val_209,'X') = nvl(ben_ext_fmt.g_val_tab(209),'X')
1049   and   nvl(xrd.val_210,'X') = nvl(ben_ext_fmt.g_val_tab(210),'X')
1050   and   nvl(xrd.val_211,'X') = nvl(ben_ext_fmt.g_val_tab(211),'X')
1051   and   nvl(xrd.val_212,'X') = nvl(ben_ext_fmt.g_val_tab(212),'X')
1052   and   nvl(xrd.val_213,'X') = nvl(ben_ext_fmt.g_val_tab(213),'X')
1053   and   nvl(xrd.val_214,'X') = nvl(ben_ext_fmt.g_val_tab(214),'X')
1054   and   nvl(xrd.val_215,'X') = nvl(ben_ext_fmt.g_val_tab(215),'X')
1055   and   nvl(xrd.val_216,'X') = nvl(ben_ext_fmt.g_val_tab(216),'X')
1056   and   nvl(xrd.val_217,'X') = nvl(ben_ext_fmt.g_val_tab(217),'X')
1057   and   nvl(xrd.val_218,'X') = nvl(ben_ext_fmt.g_val_tab(218),'X')
1058   and   nvl(xrd.val_219,'X') = nvl(ben_ext_fmt.g_val_tab(219),'X')
1059   and   nvl(xrd.val_220,'X') = nvl(ben_ext_fmt.g_val_tab(220),'X')
1060   and   nvl(xrd.val_221,'X') = nvl(ben_ext_fmt.g_val_tab(221),'X')
1061   and   nvl(xrd.val_222,'X') = nvl(ben_ext_fmt.g_val_tab(222),'X')
1062   and   nvl(xrd.val_223,'X') = nvl(ben_ext_fmt.g_val_tab(223),'X')
1063   and   nvl(xrd.val_224,'X') = nvl(ben_ext_fmt.g_val_tab(224),'X')
1064   and   nvl(xrd.val_225,'X') = nvl(ben_ext_fmt.g_val_tab(225),'X')
1065   and   nvl(xrd.val_226,'X') = nvl(ben_ext_fmt.g_val_tab(226),'X')
1066   and   nvl(xrd.val_227,'X') = nvl(ben_ext_fmt.g_val_tab(227),'X')
1067   and   nvl(xrd.val_228,'X') = nvl(ben_ext_fmt.g_val_tab(228),'X')
1068   and   nvl(xrd.val_229,'X') = nvl(ben_ext_fmt.g_val_tab(229),'X')
1069   and   nvl(xrd.val_230,'X') = nvl(ben_ext_fmt.g_val_tab(230),'X')
1070   and   nvl(xrd.val_231,'X') = nvl(ben_ext_fmt.g_val_tab(231),'X')
1071   and   nvl(xrd.val_232,'X') = nvl(ben_ext_fmt.g_val_tab(232),'X')
1072   and   nvl(xrd.val_233,'X') = nvl(ben_ext_fmt.g_val_tab(233),'X')
1073   and   nvl(xrd.val_234,'X') = nvl(ben_ext_fmt.g_val_tab(234),'X')
1074   and   nvl(xrd.val_235,'X') = nvl(ben_ext_fmt.g_val_tab(235),'X')
1075   and   nvl(xrd.val_236,'X') = nvl(ben_ext_fmt.g_val_tab(236),'X')
1076   and   nvl(xrd.val_237,'X') = nvl(ben_ext_fmt.g_val_tab(237),'X')
1077   and   nvl(xrd.val_238,'X') = nvl(ben_ext_fmt.g_val_tab(238),'X')
1078   and   nvl(xrd.val_239,'X') = nvl(ben_ext_fmt.g_val_tab(239),'X')
1079   and   nvl(xrd.val_240,'X') = nvl(ben_ext_fmt.g_val_tab(240),'X')
1080   and   nvl(xrd.val_241,'X') = nvl(ben_ext_fmt.g_val_tab(241),'X')
1081   and   nvl(xrd.val_242,'X') = nvl(ben_ext_fmt.g_val_tab(242),'X')
1082   and   nvl(xrd.val_243,'X') = nvl(ben_ext_fmt.g_val_tab(243),'X')
1083   and   nvl(xrd.val_244,'X') = nvl(ben_ext_fmt.g_val_tab(244),'X')
1084   and   nvl(xrd.val_245,'X') = nvl(ben_ext_fmt.g_val_tab(245),'X')
1085   and   nvl(xrd.val_246,'X') = nvl(ben_ext_fmt.g_val_tab(246),'X')
1086   and   nvl(xrd.val_247,'X') = nvl(ben_ext_fmt.g_val_tab(247),'X')
1087   and   nvl(xrd.val_248,'X') = nvl(ben_ext_fmt.g_val_tab(248),'X')
1088   and   nvl(xrd.val_249,'X') = nvl(ben_ext_fmt.g_val_tab(249),'X')
1089   and   nvl(xrd.val_250,'X') = nvl(ben_ext_fmt.g_val_tab(250),'X')
1090   and   nvl(xrd.val_251,'X') = nvl(ben_ext_fmt.g_val_tab(251),'X')
1091   and   nvl(xrd.val_252,'X') = nvl(ben_ext_fmt.g_val_tab(252),'X')
1092   and   nvl(xrd.val_253,'X') = nvl(ben_ext_fmt.g_val_tab(253),'X')
1093   and   nvl(xrd.val_254,'X') = nvl(ben_ext_fmt.g_val_tab(254),'X')
1094   and   nvl(xrd.val_255,'X') = nvl(ben_ext_fmt.g_val_tab(255),'X')
1095   and   nvl(xrd.val_256,'X') = nvl(ben_ext_fmt.g_val_tab(256),'X')
1096   and   nvl(xrd.val_257,'X') = nvl(ben_ext_fmt.g_val_tab(257),'X')
1097   and   nvl(xrd.val_258,'X') = nvl(ben_ext_fmt.g_val_tab(258),'X')
1098   and   nvl(xrd.val_259,'X') = nvl(ben_ext_fmt.g_val_tab(259),'X')
1102   and   nvl(xrd.val_263,'X') = nvl(ben_ext_fmt.g_val_tab(263),'X')
1099   and   nvl(xrd.val_260,'X') = nvl(ben_ext_fmt.g_val_tab(260),'X')
1100   and   nvl(xrd.val_261,'X') = nvl(ben_ext_fmt.g_val_tab(261),'X')
1101   and   nvl(xrd.val_262,'X') = nvl(ben_ext_fmt.g_val_tab(262),'X')
1103   and   nvl(xrd.val_264,'X') = nvl(ben_ext_fmt.g_val_tab(264),'X')
1104   and   nvl(xrd.val_265,'X') = nvl(ben_ext_fmt.g_val_tab(265),'X')
1105   and   nvl(xrd.val_266,'X') = nvl(ben_ext_fmt.g_val_tab(266),'X')
1106   and   nvl(xrd.val_267,'X') = nvl(ben_ext_fmt.g_val_tab(267),'X')
1107   and   nvl(xrd.val_268,'X') = nvl(ben_ext_fmt.g_val_tab(268),'X')
1108   and   nvl(xrd.val_269,'X') = nvl(ben_ext_fmt.g_val_tab(269),'X')
1109   and   nvl(xrd.val_270,'X') = nvl(ben_ext_fmt.g_val_tab(270),'X')
1110   and   nvl(xrd.val_271,'X') = nvl(ben_ext_fmt.g_val_tab(271),'X')
1111   and   nvl(xrd.val_272,'X') = nvl(ben_ext_fmt.g_val_tab(272),'X')
1112   and   nvl(xrd.val_273,'X') = nvl(ben_ext_fmt.g_val_tab(273),'X')
1113   and   nvl(xrd.val_274,'X') = nvl(ben_ext_fmt.g_val_tab(274),'X')
1114   and   nvl(xrd.val_275,'X') = nvl(ben_ext_fmt.g_val_tab(275),'X')
1115   and   nvl(xrd.val_276,'X') = nvl(ben_ext_fmt.g_val_tab(276),'X')
1116   and   nvl(xrd.val_277,'X') = nvl(ben_ext_fmt.g_val_tab(277),'X')
1117   and   nvl(xrd.val_278,'X') = nvl(ben_ext_fmt.g_val_tab(278),'X')
1118   and   nvl(xrd.val_279,'X') = nvl(ben_ext_fmt.g_val_tab(279),'X')
1119   and   nvl(xrd.val_280,'X') = nvl(ben_ext_fmt.g_val_tab(280),'X')
1120   and   nvl(xrd.val_281,'X') = nvl(ben_ext_fmt.g_val_tab(281),'X')
1121   and   nvl(xrd.val_282,'X') = nvl(ben_ext_fmt.g_val_tab(282),'X')
1122   and   nvl(xrd.val_283,'X') = nvl(ben_ext_fmt.g_val_tab(283),'X')
1123   and   nvl(xrd.val_284,'X') = nvl(ben_ext_fmt.g_val_tab(284),'X')
1124   and   nvl(xrd.val_285,'X') = nvl(ben_ext_fmt.g_val_tab(285),'X')
1125   and   nvl(xrd.val_286,'X') = nvl(ben_ext_fmt.g_val_tab(286),'X')
1126   and   nvl(xrd.val_287,'X') = nvl(ben_ext_fmt.g_val_tab(287),'X')
1127   and   nvl(xrd.val_288,'X') = nvl(ben_ext_fmt.g_val_tab(288),'X')
1128   and   nvl(xrd.val_289,'X') = nvl(ben_ext_fmt.g_val_tab(289),'X')
1129   and   nvl(xrd.val_290,'X') = nvl(ben_ext_fmt.g_val_tab(290),'X')
1130   and   nvl(xrd.val_291,'X') = nvl(ben_ext_fmt.g_val_tab(291),'X')
1131   and   nvl(xrd.val_292,'X') = nvl(ben_ext_fmt.g_val_tab(292),'X')
1132   and   nvl(xrd.val_293,'X') = nvl(ben_ext_fmt.g_val_tab(293),'X')
1133   and   nvl(xrd.val_294,'X') = nvl(ben_ext_fmt.g_val_tab(294),'X')
1134   and   nvl(xrd.val_295,'X') = nvl(ben_ext_fmt.g_val_tab(295),'X')
1135   and   nvl(xrd.val_296,'X') = nvl(ben_ext_fmt.g_val_tab(296),'X')
1136   and   nvl(xrd.val_297,'X') = nvl(ben_ext_fmt.g_val_tab(297),'X')
1137   and   nvl(xrd.val_298,'X') = nvl(ben_ext_fmt.g_val_tab(298),'X')
1138   and   nvl(xrd.val_299,'X') = nvl(ben_ext_fmt.g_val_tab(299),'X')
1139   and   nvl(xrd.val_300,'X') = nvl(ben_ext_fmt.g_val_tab(300),'X')
1140   ;
1141 
1142 
1143 */
1144 
1145 
1146 cursor c_check_for_dup_rcds
1147     (c_rslt_id   number
1148     ,c_per_id    number
1149     ,c_extrcd_id number
1150     )
1151   is SELECT
1152          xrd.val_01,
1153          xrd.val_02,
1154          xrd.val_03,
1155          xrd.val_04,
1156          xrd.val_05,
1157          xrd.val_06,
1158          xrd.val_07,
1159          xrd.val_08,
1160          xrd.val_09,
1161          xrd.val_10,
1162          xrd.val_11,
1163          xrd.val_12,
1164          xrd.val_13,
1165          xrd.val_14,
1166          xrd.val_15,
1167          xrd.val_16,
1168          xrd.val_17,
1169          xrd.val_18,
1170          xrd.val_19,
1171          xrd.val_20,
1172          xrd.val_21,
1173          xrd.val_22,
1174          xrd.val_23,
1175          xrd.val_24,
1176          xrd.val_25,
1177          xrd.val_26,
1178          xrd.val_27,
1179          xrd.val_28,
1180          xrd.val_29,
1181          xrd.val_30,
1182          xrd.val_31,
1183          xrd.val_32,
1184          xrd.val_33,
1185          xrd.val_34,
1186          xrd.val_35,
1187          xrd.val_36,
1188          xrd.val_37,
1189          xrd.val_38,
1190          xrd.val_39,
1191          xrd.val_40,
1192          xrd.val_41,
1193          xrd.val_42,
1194          xrd.val_43,
1195          xrd.val_44,
1196          xrd.val_45,
1197          xrd.val_46,
1198          xrd.val_47,
1199          xrd.val_48,
1200          xrd.val_49,
1201          xrd.val_50,
1202          xrd.val_51,
1203          xrd.val_52,
1204          xrd.val_53,
1205          xrd.val_54,
1206          xrd.val_55,
1207          xrd.val_56,
1208          xrd.val_57,
1209          xrd.val_58,
1210          xrd.val_59,
1211          xrd.val_60,
1212          xrd.val_61,
1213          xrd.val_62,
1214          xrd.val_63,
1215          xrd.val_64,
1216          xrd.val_65,
1217          xrd.val_66,
1218          xrd.val_67,
1219          xrd.val_68,
1220          xrd.val_69,
1221          xrd.val_70,
1222          xrd.val_71,
1223          xrd.val_72,
1224          xrd.val_73,
1225          xrd.val_74,
1226          xrd.val_75,
1227          xrd.val_76,
1228          xrd.val_77,
1229          xrd.val_78,
1230          xrd.val_79,
1231          xrd.val_80,
1232          xrd.val_81,
1233          xrd.val_82,
1234          xrd.val_83,
1235          xrd.val_84,
1236          xrd.val_85,
1237          xrd.val_86,
1238          xrd.val_87,
1239          xrd.val_88,
1240          xrd.val_89,
1244          xrd.val_93,
1241          xrd.val_90,
1242          xrd.val_91,
1243          xrd.val_92,
1245          xrd.val_94,
1246          xrd.val_95,
1247          xrd.val_96,
1248          xrd.val_97,
1249          xrd.val_98,
1250          xrd.val_99,
1251          xrd.val_100,
1252          xrd.val_101,
1253          xrd.val_102,
1254          xrd.val_103,
1255          xrd.val_104,
1256          xrd.val_105,
1257          xrd.val_106,
1258          xrd.val_107,
1259          xrd.val_108,
1260          xrd.val_109,
1261          xrd.val_110,
1262          xrd.val_111,
1263          xrd.val_112,
1264          xrd.val_113,
1265          xrd.val_114,
1266          xrd.val_115,
1267          xrd.val_116,
1268          xrd.val_117,
1269          xrd.val_118,
1270          xrd.val_119,
1271          xrd.val_120,
1272          xrd.val_121,
1273          xrd.val_122,
1274          xrd.val_123,
1275          xrd.val_124,
1276          xrd.val_125,
1277          xrd.val_126,
1278          xrd.val_127,
1279          xrd.val_128,
1280          xrd.val_129,
1281          xrd.val_130,
1282          xrd.val_131,
1283          xrd.val_132,
1284          xrd.val_133,
1285          xrd.val_134,
1286          xrd.val_135,
1287          xrd.val_136,
1288          xrd.val_137,
1289          xrd.val_138,
1290          xrd.val_139,
1291          xrd.val_140,
1292          xrd.val_141,
1293          xrd.val_142,
1294          xrd.val_143,
1295          xrd.val_144,
1296          xrd.val_145,
1297          xrd.val_146,
1298          xrd.val_147,
1299          xrd.val_148,
1300          xrd.val_149,
1301          xrd.val_150,
1302          xrd.val_151,
1303          xrd.val_152,
1304          xrd.val_153,
1305          xrd.val_154,
1306          xrd.val_155,
1307          xrd.val_156,
1308          xrd.val_157,
1309          xrd.val_158,
1310          xrd.val_159,
1311          xrd.val_160,
1312          xrd.val_161,
1313          xrd.val_162,
1314          xrd.val_163,
1315          xrd.val_164,
1316          xrd.val_165,
1317          xrd.val_166,
1318          xrd.val_167,
1319          xrd.val_168,
1320          xrd.val_169,
1321          xrd.val_170,
1322          xrd.val_171,
1323          xrd.val_172,
1324          xrd.val_173,
1325          xrd.val_174,
1326          xrd.val_175,
1327          xrd.val_176,
1328          xrd.val_177,
1329          xrd.val_178,
1330          xrd.val_179,
1331          xrd.val_180,
1332          xrd.val_181,
1333          xrd.val_182,
1334          xrd.val_183,
1335          xrd.val_184,
1336          xrd.val_185,
1337          xrd.val_186,
1338          xrd.val_187,
1339          xrd.val_188,
1340          xrd.val_189,
1341          xrd.val_190,
1342          xrd.val_191,
1343          xrd.val_192,
1344          xrd.val_193,
1345          xrd.val_194,
1346          xrd.val_195,
1347          xrd.val_196,
1348          xrd.val_197,
1349          xrd.val_198,
1350          xrd.val_199,
1351          xrd.val_200,
1352          xrd.val_201,
1353          xrd.val_202,
1354          xrd.val_203,
1355          xrd.val_204,
1356          xrd.val_205,
1357          xrd.val_206,
1358          xrd.val_207,
1359          xrd.val_208,
1360          xrd.val_209,
1361          xrd.val_210,
1362          xrd.val_211,
1363          xrd.val_212,
1364          xrd.val_213,
1365          xrd.val_214,
1366          xrd.val_215,
1367          xrd.val_216,
1368          xrd.val_217,
1369          xrd.val_218,
1370          xrd.val_219,
1371          xrd.val_220,
1372          xrd.val_221,
1373          xrd.val_222,
1374          xrd.val_223,
1375          xrd.val_224,
1376          xrd.val_225,
1377          xrd.val_226,
1378          xrd.val_227,
1379          xrd.val_228,
1380          xrd.val_229,
1381          xrd.val_230,
1382          xrd.val_231,
1383          xrd.val_232,
1384          xrd.val_233,
1385          xrd.val_234,
1386          xrd.val_235,
1387          xrd.val_236,
1388          xrd.val_237,
1389          xrd.val_238,
1390          xrd.val_239,
1391          xrd.val_240,
1392          xrd.val_241,
1393          xrd.val_242,
1394          xrd.val_243,
1395          xrd.val_244,
1396          xrd.val_245,
1397          xrd.val_246,
1398          xrd.val_247,
1399          xrd.val_248,
1400          xrd.val_249,
1401          xrd.val_250,
1402          xrd.val_251,
1403          xrd.val_252,
1404          xrd.val_253,
1405          xrd.val_254,
1406          xrd.val_255,
1407          xrd.val_256,
1408          xrd.val_257,
1409          xrd.val_258,
1410          xrd.val_259,
1411          xrd.val_260,
1412          xrd.val_261,
1413          xrd.val_262,
1414          xrd.val_263,
1415          xrd.val_264,
1416          xrd.val_265,
1417          xrd.val_266,
1418          xrd.val_267,
1419          xrd.val_268,
1420          xrd.val_269,
1421          xrd.val_270,
1422          xrd.val_271,
1423          xrd.val_272,
1427          xrd.val_276,
1424          xrd.val_273,
1425          xrd.val_274,
1426          xrd.val_275,
1428          xrd.val_277,
1429          xrd.val_278,
1430          xrd.val_279,
1431          xrd.val_280,
1432          xrd.val_281,
1433          xrd.val_282,
1434          xrd.val_283,
1435          xrd.val_284,
1436          xrd.val_285,
1437          xrd.val_286,
1438          xrd.val_287,
1439          xrd.val_288,
1440          xrd.val_289,
1441          xrd.val_290,
1442          xrd.val_291,
1443          xrd.val_292,
1444          xrd.val_293,
1445          xrd.val_294,
1446          xrd.val_295,
1447          xrd.val_296,
1448          xrd.val_297,
1449          xrd.val_298,
1450          xrd.val_299,
1451          xrd.val_300
1452     from ben_ext_rslt_dtl xrd
1453     where xrd.ext_rslt_id = c_rslt_id
1454     and   xrd.person_id = c_per_id
1455     and   xrd.ext_rcd_id = c_extrcd_id
1456     ;
1457 
1458 
1459 
1460 --
1461 begin
1462 --
1463 hr_utility.set_location('Entering'||l_proc, 5);
1464 --
1465 p_exclude_this_rcd_flag := false;
1466 --
1467 if p_any_or_all_cd = 'Y' then
1468 
1469   for  row in  c_check_for_dup_rcds
1470            (c_rslt_id   => p_ext_rslt_id
1471            ,c_per_id    => p_person_id
1472            ,c_extrcd_id => p_ext_rcd_id
1473            )
1474    Loop
1475 
1476 
1477      if nvl(row.val_01,'X') = nvl(ben_ext_fmt.g_val_tab(1),'X')
1478         and nvl(row.val_02,'X') = nvl(ben_ext_fmt.g_val_tab(2),'X')
1479         and nvl(row.val_03,'X') = nvl(ben_ext_fmt.g_val_tab(3),'X')
1480         and nvl(row.val_04,'X') = nvl(ben_ext_fmt.g_val_tab(4),'X')
1481         and nvl(row.val_05,'X') = nvl(ben_ext_fmt.g_val_tab(5),'X')
1482         and nvl(row.val_06,'X') = nvl(ben_ext_fmt.g_val_tab(6),'X')
1483         and nvl(row.val_07,'X') = nvl(ben_ext_fmt.g_val_tab(7),'X')
1484         and nvl(row.val_08,'X') = nvl(ben_ext_fmt.g_val_tab(8),'X')
1485         and nvl(row.val_09,'X') = nvl(ben_ext_fmt.g_val_tab(9),'X')
1486         and nvl(row.val_10,'X') = nvl(ben_ext_fmt.g_val_tab(10),'X')
1487         and nvl(row.val_11,'X') = nvl(ben_ext_fmt.g_val_tab(11),'X')
1488         and nvl(row.val_12,'X') = nvl(ben_ext_fmt.g_val_tab(12),'X')
1489         and nvl(row.val_13,'X') = nvl(ben_ext_fmt.g_val_tab(13),'X')
1490         and nvl(row.val_14,'X') = nvl(ben_ext_fmt.g_val_tab(14),'X')
1491         and nvl(row.val_15,'X') = nvl(ben_ext_fmt.g_val_tab(15),'X')
1492         and nvl(row.val_16,'X') = nvl(ben_ext_fmt.g_val_tab(16),'X')
1493         and nvl(row.val_17,'X') = nvl(ben_ext_fmt.g_val_tab(17),'X')
1494         and nvl(row.val_18,'X') = nvl(ben_ext_fmt.g_val_tab(18),'X')
1495         and nvl(row.val_19,'X') = nvl(ben_ext_fmt.g_val_tab(19),'X')
1496         and nvl(row.val_20,'X') = nvl(ben_ext_fmt.g_val_tab(20),'X')
1497         and nvl(row.val_21,'X') = nvl(ben_ext_fmt.g_val_tab(21),'X')
1498         and nvl(row.val_22,'X') = nvl(ben_ext_fmt.g_val_tab(22),'X')
1499         and nvl(row.val_23,'X') = nvl(ben_ext_fmt.g_val_tab(23),'X')
1500         and nvl(row.val_24,'X') = nvl(ben_ext_fmt.g_val_tab(24),'X')
1501         and nvl(row.val_25,'X') = nvl(ben_ext_fmt.g_val_tab(25),'X')
1502         and nvl(row.val_26,'X') = nvl(ben_ext_fmt.g_val_tab(26),'X')
1503         and nvl(row.val_27,'X') = nvl(ben_ext_fmt.g_val_tab(27),'X')
1504         and nvl(row.val_28,'X') = nvl(ben_ext_fmt.g_val_tab(28),'X')
1505         and nvl(row.val_29,'X') = nvl(ben_ext_fmt.g_val_tab(29),'X')
1506         and nvl(row.val_30,'X') = nvl(ben_ext_fmt.g_val_tab(30),'X')
1507         and nvl(row.val_31,'X') = nvl(ben_ext_fmt.g_val_tab(31),'X')
1508         and nvl(row.val_32,'X') = nvl(ben_ext_fmt.g_val_tab(32),'X')
1509         and nvl(row.val_33,'X') = nvl(ben_ext_fmt.g_val_tab(33),'X')
1510         and nvl(row.val_34,'X') = nvl(ben_ext_fmt.g_val_tab(34),'X')
1511         and nvl(row.val_35,'X') = nvl(ben_ext_fmt.g_val_tab(35),'X')
1512         and nvl(row.val_36,'X') = nvl(ben_ext_fmt.g_val_tab(36),'X')
1513         and nvl(row.val_37,'X') = nvl(ben_ext_fmt.g_val_tab(37),'X')
1514         and nvl(row.val_38,'X') = nvl(ben_ext_fmt.g_val_tab(38),'X')
1515         and nvl(row.val_39,'X') = nvl(ben_ext_fmt.g_val_tab(39),'X')
1516         and nvl(row.val_40,'X') = nvl(ben_ext_fmt.g_val_tab(40),'X')
1517         and nvl(row.val_41,'X') = nvl(ben_ext_fmt.g_val_tab(41),'X')
1518         and nvl(row.val_42,'X') = nvl(ben_ext_fmt.g_val_tab(42),'X')
1519         and nvl(row.val_43,'X') = nvl(ben_ext_fmt.g_val_tab(43),'X')
1520         and nvl(row.val_44,'X') = nvl(ben_ext_fmt.g_val_tab(44),'X')
1521         and nvl(row.val_45,'X') = nvl(ben_ext_fmt.g_val_tab(45),'X')
1522         and nvl(row.val_46,'X') = nvl(ben_ext_fmt.g_val_tab(46),'X')
1523         and nvl(row.val_47,'X') = nvl(ben_ext_fmt.g_val_tab(47),'X')
1524         and nvl(row.val_48,'X') = nvl(ben_ext_fmt.g_val_tab(48),'X')
1525         and nvl(row.val_49,'X') = nvl(ben_ext_fmt.g_val_tab(49),'X')
1526         and nvl(row.val_50,'X') = nvl(ben_ext_fmt.g_val_tab(50),'X')
1527         and nvl(row.val_51,'X') = nvl(ben_ext_fmt.g_val_tab(51),'X')
1528         and nvl(row.val_52,'X') = nvl(ben_ext_fmt.g_val_tab(52),'X')
1529         and nvl(row.val_53,'X') = nvl(ben_ext_fmt.g_val_tab(53),'X')
1530         and nvl(row.val_54,'X') = nvl(ben_ext_fmt.g_val_tab(54),'X')
1531         and nvl(row.val_55,'X') = nvl(ben_ext_fmt.g_val_tab(55),'X')
1532         and nvl(row.val_56,'X') = nvl(ben_ext_fmt.g_val_tab(56),'X')
1533         and nvl(row.val_57,'X') = nvl(ben_ext_fmt.g_val_tab(57),'X')
1534         and nvl(row.val_58,'X') = nvl(ben_ext_fmt.g_val_tab(58),'X')
1538         and nvl(row.val_62,'X') = nvl(ben_ext_fmt.g_val_tab(62),'X')
1535         and nvl(row.val_59,'X') = nvl(ben_ext_fmt.g_val_tab(59),'X')
1536         and nvl(row.val_60,'X') = nvl(ben_ext_fmt.g_val_tab(60),'X')
1537         and nvl(row.val_61,'X') = nvl(ben_ext_fmt.g_val_tab(61),'X')
1539         and nvl(row.val_63,'X') = nvl(ben_ext_fmt.g_val_tab(63),'X')
1540         and nvl(row.val_64,'X') = nvl(ben_ext_fmt.g_val_tab(64),'X')
1541         and nvl(row.val_65,'X') = nvl(ben_ext_fmt.g_val_tab(65),'X')
1542         and nvl(row.val_66,'X') = nvl(ben_ext_fmt.g_val_tab(66),'X')
1543         and nvl(row.val_67,'X') = nvl(ben_ext_fmt.g_val_tab(67),'X')
1544         and nvl(row.val_68,'X') = nvl(ben_ext_fmt.g_val_tab(68),'X')
1545         and nvl(row.val_69,'X') = nvl(ben_ext_fmt.g_val_tab(69),'X')
1546         and nvl(row.val_70,'X') = nvl(ben_ext_fmt.g_val_tab(70),'X')
1547         and nvl(row.val_71,'X') = nvl(ben_ext_fmt.g_val_tab(71),'X')
1548         and nvl(row.val_72,'X') = nvl(ben_ext_fmt.g_val_tab(72),'X')
1549         and nvl(row.val_73,'X') = nvl(ben_ext_fmt.g_val_tab(73),'X')
1550         and nvl(row.val_74,'X') = nvl(ben_ext_fmt.g_val_tab(74),'X')
1551         and nvl(row.val_75,'X') = nvl(ben_ext_fmt.g_val_tab(75),'X')
1552         and nvl(row.val_76,'X') = nvl(ben_ext_fmt.g_val_tab(76),'X')
1553         and nvl(row.val_77,'X') = nvl(ben_ext_fmt.g_val_tab(77),'X')
1554         and nvl(row.val_78,'X') = nvl(ben_ext_fmt.g_val_tab(78),'X')
1555         and nvl(row.val_79,'X') = nvl(ben_ext_fmt.g_val_tab(79),'X')
1556         and nvl(row.val_80,'X') = nvl(ben_ext_fmt.g_val_tab(80),'X')
1557         and nvl(row.val_81,'X') = nvl(ben_ext_fmt.g_val_tab(81),'X')
1558         and nvl(row.val_82,'X') = nvl(ben_ext_fmt.g_val_tab(82),'X')
1559         and nvl(row.val_83,'X') = nvl(ben_ext_fmt.g_val_tab(83),'X')
1560         and nvl(row.val_84,'X') = nvl(ben_ext_fmt.g_val_tab(84),'X')
1561         and nvl(row.val_85,'X') = nvl(ben_ext_fmt.g_val_tab(85),'X')
1562         and nvl(row.val_86,'X') = nvl(ben_ext_fmt.g_val_tab(86),'X')
1563         and nvl(row.val_87,'X') = nvl(ben_ext_fmt.g_val_tab(87),'X')
1564         and nvl(row.val_88,'X') = nvl(ben_ext_fmt.g_val_tab(88),'X')
1565         and nvl(row.val_89,'X') = nvl(ben_ext_fmt.g_val_tab(89),'X')
1566         and nvl(row.val_90,'X') = nvl(ben_ext_fmt.g_val_tab(90),'X')
1567         and nvl(row.val_91,'X') = nvl(ben_ext_fmt.g_val_tab(91),'X')
1568         and nvl(row.val_92,'X') = nvl(ben_ext_fmt.g_val_tab(92),'X')
1569         and nvl(row.val_93,'X') = nvl(ben_ext_fmt.g_val_tab(93),'X')
1570         and nvl(row.val_94,'X') = nvl(ben_ext_fmt.g_val_tab(94),'X')
1571         and nvl(row.val_95,'X') = nvl(ben_ext_fmt.g_val_tab(95),'X')
1572         and nvl(row.val_96,'X') = nvl(ben_ext_fmt.g_val_tab(96),'X')
1573         and nvl(row.val_97,'X') = nvl(ben_ext_fmt.g_val_tab(97),'X')
1574         and nvl(row.val_98,'X') = nvl(ben_ext_fmt.g_val_tab(98),'X')
1575         and nvl(row.val_99,'X') = nvl(ben_ext_fmt.g_val_tab(99),'X')
1576         and nvl(row.val_100,'X') = nvl(ben_ext_fmt.g_val_tab(100),'X')
1577         and nvl(row.val_101,'X') = nvl(ben_ext_fmt.g_val_tab(101),'X')
1578         and nvl(row.val_102,'X') = nvl(ben_ext_fmt.g_val_tab(102),'X')
1579         and nvl(row.val_103,'X') = nvl(ben_ext_fmt.g_val_tab(103),'X')
1580         and nvl(row.val_104,'X') = nvl(ben_ext_fmt.g_val_tab(104),'X')
1581         and nvl(row.val_105,'X') = nvl(ben_ext_fmt.g_val_tab(105),'X')
1582         and nvl(row.val_106,'X') = nvl(ben_ext_fmt.g_val_tab(106),'X')
1583         and nvl(row.val_107,'X') = nvl(ben_ext_fmt.g_val_tab(107),'X')
1584         and nvl(row.val_108,'X') = nvl(ben_ext_fmt.g_val_tab(108),'X')
1585         and nvl(row.val_109,'X') = nvl(ben_ext_fmt.g_val_tab(109),'X')
1586         and nvl(row.val_110,'X') = nvl(ben_ext_fmt.g_val_tab(110),'X')
1587         and nvl(row.val_111,'X') = nvl(ben_ext_fmt.g_val_tab(111),'X')
1588         and nvl(row.val_112,'X') = nvl(ben_ext_fmt.g_val_tab(112),'X')
1589         and nvl(row.val_113,'X') = nvl(ben_ext_fmt.g_val_tab(113),'X')
1590         and nvl(row.val_114,'X') = nvl(ben_ext_fmt.g_val_tab(114),'X')
1591         and nvl(row.val_115,'X') = nvl(ben_ext_fmt.g_val_tab(115),'X')
1592         and nvl(row.val_116,'X') = nvl(ben_ext_fmt.g_val_tab(116),'X')
1593         and nvl(row.val_117,'X') = nvl(ben_ext_fmt.g_val_tab(117),'X')
1594         and nvl(row.val_118,'X') = nvl(ben_ext_fmt.g_val_tab(118),'X')
1595         and nvl(row.val_119,'X') = nvl(ben_ext_fmt.g_val_tab(119),'X')
1596         and nvl(row.val_120,'X') = nvl(ben_ext_fmt.g_val_tab(120),'X')
1597         and nvl(row.val_121,'X') = nvl(ben_ext_fmt.g_val_tab(121),'X')
1598         and nvl(row.val_122,'X') = nvl(ben_ext_fmt.g_val_tab(122),'X')
1599         and nvl(row.val_123,'X') = nvl(ben_ext_fmt.g_val_tab(123),'X')
1600         and nvl(row.val_124,'X') = nvl(ben_ext_fmt.g_val_tab(124),'X')
1601         and nvl(row.val_125,'X') = nvl(ben_ext_fmt.g_val_tab(125),'X')
1602         and nvl(row.val_126,'X') = nvl(ben_ext_fmt.g_val_tab(126),'X')
1603         and nvl(row.val_127,'X') = nvl(ben_ext_fmt.g_val_tab(127),'X')
1604         and nvl(row.val_128,'X') = nvl(ben_ext_fmt.g_val_tab(128),'X')
1605         and nvl(row.val_129,'X') = nvl(ben_ext_fmt.g_val_tab(129),'X')
1606         and nvl(row.val_130,'X') = nvl(ben_ext_fmt.g_val_tab(130),'X')
1607         and nvl(row.val_131,'X') = nvl(ben_ext_fmt.g_val_tab(131),'X')
1608         and nvl(row.val_132,'X') = nvl(ben_ext_fmt.g_val_tab(132),'X')
1609         and nvl(row.val_133,'X') = nvl(ben_ext_fmt.g_val_tab(133),'X')
1610         and nvl(row.val_134,'X') = nvl(ben_ext_fmt.g_val_tab(134),'X')
1611         and nvl(row.val_135,'X') = nvl(ben_ext_fmt.g_val_tab(135),'X')
1612         and nvl(row.val_136,'X') = nvl(ben_ext_fmt.g_val_tab(136),'X')
1616         and nvl(row.val_140,'X') = nvl(ben_ext_fmt.g_val_tab(140),'X')
1613         and nvl(row.val_137,'X') = nvl(ben_ext_fmt.g_val_tab(137),'X')
1614         and nvl(row.val_138,'X') = nvl(ben_ext_fmt.g_val_tab(138),'X')
1615         and nvl(row.val_139,'X') = nvl(ben_ext_fmt.g_val_tab(139),'X')
1617         and nvl(row.val_141,'X') = nvl(ben_ext_fmt.g_val_tab(141),'X')
1618         and nvl(row.val_142,'X') = nvl(ben_ext_fmt.g_val_tab(142),'X')
1619         and nvl(row.val_143,'X') = nvl(ben_ext_fmt.g_val_tab(143),'X')
1620         and nvl(row.val_144,'X') = nvl(ben_ext_fmt.g_val_tab(144),'X')
1621         and nvl(row.val_145,'X') = nvl(ben_ext_fmt.g_val_tab(145),'X')
1622         and nvl(row.val_146,'X') = nvl(ben_ext_fmt.g_val_tab(146),'X')
1623         and nvl(row.val_147,'X') = nvl(ben_ext_fmt.g_val_tab(147),'X')
1624         and nvl(row.val_148,'X') = nvl(ben_ext_fmt.g_val_tab(148),'X')
1625         and nvl(row.val_149,'X') = nvl(ben_ext_fmt.g_val_tab(149),'X')
1626         and nvl(row.val_150,'X') = nvl(ben_ext_fmt.g_val_tab(150),'X')
1627         and nvl(row.val_151,'X') = nvl(ben_ext_fmt.g_val_tab(151),'X')
1628         and nvl(row.val_152,'X') = nvl(ben_ext_fmt.g_val_tab(152),'X')
1629         and nvl(row.val_153,'X') = nvl(ben_ext_fmt.g_val_tab(153),'X')
1630         and nvl(row.val_154,'X') = nvl(ben_ext_fmt.g_val_tab(154),'X')
1631         and nvl(row.val_155,'X') = nvl(ben_ext_fmt.g_val_tab(155),'X')
1632         and nvl(row.val_156,'X') = nvl(ben_ext_fmt.g_val_tab(156),'X')
1633         and nvl(row.val_157,'X') = nvl(ben_ext_fmt.g_val_tab(157),'X')
1634         and nvl(row.val_158,'X') = nvl(ben_ext_fmt.g_val_tab(158),'X')
1635         and nvl(row.val_159,'X') = nvl(ben_ext_fmt.g_val_tab(159),'X')
1636         and nvl(row.val_160,'X') = nvl(ben_ext_fmt.g_val_tab(160),'X')
1637         and nvl(row.val_161,'X') = nvl(ben_ext_fmt.g_val_tab(161),'X')
1638         and nvl(row.val_162,'X') = nvl(ben_ext_fmt.g_val_tab(162),'X')
1639         and nvl(row.val_163,'X') = nvl(ben_ext_fmt.g_val_tab(163),'X')
1640         and nvl(row.val_164,'X') = nvl(ben_ext_fmt.g_val_tab(164),'X')
1641         and nvl(row.val_165,'X') = nvl(ben_ext_fmt.g_val_tab(165),'X')
1642         and nvl(row.val_166,'X') = nvl(ben_ext_fmt.g_val_tab(166),'X')
1643         and nvl(row.val_167,'X') = nvl(ben_ext_fmt.g_val_tab(167),'X')
1644         and nvl(row.val_168,'X') = nvl(ben_ext_fmt.g_val_tab(168),'X')
1645         and nvl(row.val_169,'X') = nvl(ben_ext_fmt.g_val_tab(169),'X')
1646         and nvl(row.val_170,'X') = nvl(ben_ext_fmt.g_val_tab(170),'X')
1647         and nvl(row.val_171,'X') = nvl(ben_ext_fmt.g_val_tab(171),'X')
1648         and nvl(row.val_172,'X') = nvl(ben_ext_fmt.g_val_tab(172),'X')
1649         and nvl(row.val_173,'X') = nvl(ben_ext_fmt.g_val_tab(173),'X')
1650         and nvl(row.val_174,'X') = nvl(ben_ext_fmt.g_val_tab(174),'X')
1651         and nvl(row.val_175,'X') = nvl(ben_ext_fmt.g_val_tab(175),'X')
1652         and nvl(row.val_176,'X') = nvl(ben_ext_fmt.g_val_tab(176),'X')
1653         and nvl(row.val_177,'X') = nvl(ben_ext_fmt.g_val_tab(177),'X')
1654         and nvl(row.val_178,'X') = nvl(ben_ext_fmt.g_val_tab(178),'X')
1655         and nvl(row.val_179,'X') = nvl(ben_ext_fmt.g_val_tab(179),'X')
1656         and nvl(row.val_180,'X') = nvl(ben_ext_fmt.g_val_tab(180),'X')
1657         and nvl(row.val_181,'X') = nvl(ben_ext_fmt.g_val_tab(181),'X')
1658         and nvl(row.val_182,'X') = nvl(ben_ext_fmt.g_val_tab(182),'X')
1659         and nvl(row.val_183,'X') = nvl(ben_ext_fmt.g_val_tab(183),'X')
1660         and nvl(row.val_184,'X') = nvl(ben_ext_fmt.g_val_tab(184),'X')
1661         and nvl(row.val_185,'X') = nvl(ben_ext_fmt.g_val_tab(185),'X')
1662         and nvl(row.val_186,'X') = nvl(ben_ext_fmt.g_val_tab(186),'X')
1663         and nvl(row.val_187,'X') = nvl(ben_ext_fmt.g_val_tab(187),'X')
1664         and nvl(row.val_188,'X') = nvl(ben_ext_fmt.g_val_tab(188),'X')
1665         and nvl(row.val_189,'X') = nvl(ben_ext_fmt.g_val_tab(189),'X')
1666         and nvl(row.val_190,'X') = nvl(ben_ext_fmt.g_val_tab(190),'X')
1667         and nvl(row.val_191,'X') = nvl(ben_ext_fmt.g_val_tab(191),'X')
1668         and nvl(row.val_192,'X') = nvl(ben_ext_fmt.g_val_tab(192),'X')
1669         and nvl(row.val_193,'X') = nvl(ben_ext_fmt.g_val_tab(193),'X')
1670         and nvl(row.val_194,'X') = nvl(ben_ext_fmt.g_val_tab(194),'X')
1671         and nvl(row.val_195,'X') = nvl(ben_ext_fmt.g_val_tab(195),'X')
1672         and nvl(row.val_196,'X') = nvl(ben_ext_fmt.g_val_tab(196),'X')
1673         and nvl(row.val_197,'X') = nvl(ben_ext_fmt.g_val_tab(197),'X')
1674         and nvl(row.val_198,'X') = nvl(ben_ext_fmt.g_val_tab(198),'X')
1675         and nvl(row.val_199,'X') = nvl(ben_ext_fmt.g_val_tab(199),'X')
1676         and nvl(row.val_200,'X') = nvl(ben_ext_fmt.g_val_tab(200),'X')
1677         and nvl(row.val_201,'X') = nvl(ben_ext_fmt.g_val_tab(201),'X')
1678         and nvl(row.val_202,'X') = nvl(ben_ext_fmt.g_val_tab(202),'X')
1679         and nvl(row.val_203,'X') = nvl(ben_ext_fmt.g_val_tab(203),'X')
1680         and nvl(row.val_204,'X') = nvl(ben_ext_fmt.g_val_tab(204),'X')
1681         and nvl(row.val_205,'X') = nvl(ben_ext_fmt.g_val_tab(205),'X')
1682         and nvl(row.val_206,'X') = nvl(ben_ext_fmt.g_val_tab(206),'X')
1683         and nvl(row.val_207,'X') = nvl(ben_ext_fmt.g_val_tab(207),'X')
1684         and nvl(row.val_208,'X') = nvl(ben_ext_fmt.g_val_tab(208),'X')
1685         and nvl(row.val_209,'X') = nvl(ben_ext_fmt.g_val_tab(209),'X')
1686         and nvl(row.val_210,'X') = nvl(ben_ext_fmt.g_val_tab(210),'X')
1687         and nvl(row.val_211,'X') = nvl(ben_ext_fmt.g_val_tab(211),'X')
1688         and nvl(row.val_212,'X') = nvl(ben_ext_fmt.g_val_tab(212),'X')
1689         and nvl(row.val_213,'X') = nvl(ben_ext_fmt.g_val_tab(213),'X')
1690         and nvl(row.val_214,'X') = nvl(ben_ext_fmt.g_val_tab(214),'X')
1691         and nvl(row.val_215,'X') = nvl(ben_ext_fmt.g_val_tab(215),'X')
1695         and nvl(row.val_219,'X') = nvl(ben_ext_fmt.g_val_tab(219),'X')
1692         and nvl(row.val_216,'X') = nvl(ben_ext_fmt.g_val_tab(216),'X')
1693         and nvl(row.val_217,'X') = nvl(ben_ext_fmt.g_val_tab(217),'X')
1694         and nvl(row.val_218,'X') = nvl(ben_ext_fmt.g_val_tab(218),'X')
1696         and nvl(row.val_220,'X') = nvl(ben_ext_fmt.g_val_tab(220),'X')
1697         and nvl(row.val_221,'X') = nvl(ben_ext_fmt.g_val_tab(221),'X')
1698         and nvl(row.val_222,'X') = nvl(ben_ext_fmt.g_val_tab(222),'X')
1699         and nvl(row.val_223,'X') = nvl(ben_ext_fmt.g_val_tab(223),'X')
1700         and nvl(row.val_224,'X') = nvl(ben_ext_fmt.g_val_tab(224),'X')
1701         and nvl(row.val_225,'X') = nvl(ben_ext_fmt.g_val_tab(225),'X')
1702         and nvl(row.val_226,'X') = nvl(ben_ext_fmt.g_val_tab(226),'X')
1703         and nvl(row.val_227,'X') = nvl(ben_ext_fmt.g_val_tab(227),'X')
1704         and nvl(row.val_228,'X') = nvl(ben_ext_fmt.g_val_tab(228),'X')
1705         and nvl(row.val_229,'X') = nvl(ben_ext_fmt.g_val_tab(229),'X')
1706         and nvl(row.val_230,'X') = nvl(ben_ext_fmt.g_val_tab(230),'X')
1707         and nvl(row.val_231,'X') = nvl(ben_ext_fmt.g_val_tab(231),'X')
1708         and nvl(row.val_232,'X') = nvl(ben_ext_fmt.g_val_tab(232),'X')
1709         and nvl(row.val_233,'X') = nvl(ben_ext_fmt.g_val_tab(233),'X')
1710         and nvl(row.val_234,'X') = nvl(ben_ext_fmt.g_val_tab(234),'X')
1711         and nvl(row.val_235,'X') = nvl(ben_ext_fmt.g_val_tab(235),'X')
1712         and nvl(row.val_236,'X') = nvl(ben_ext_fmt.g_val_tab(236),'X')
1713         and nvl(row.val_237,'X') = nvl(ben_ext_fmt.g_val_tab(237),'X')
1714         and nvl(row.val_238,'X') = nvl(ben_ext_fmt.g_val_tab(238),'X')
1715         and nvl(row.val_239,'X') = nvl(ben_ext_fmt.g_val_tab(239),'X')
1716         and nvl(row.val_240,'X') = nvl(ben_ext_fmt.g_val_tab(240),'X')
1717         and nvl(row.val_241,'X') = nvl(ben_ext_fmt.g_val_tab(241),'X')
1718         and nvl(row.val_242,'X') = nvl(ben_ext_fmt.g_val_tab(242),'X')
1719         and nvl(row.val_243,'X') = nvl(ben_ext_fmt.g_val_tab(243),'X')
1720         and nvl(row.val_244,'X') = nvl(ben_ext_fmt.g_val_tab(244),'X')
1721         and nvl(row.val_245,'X') = nvl(ben_ext_fmt.g_val_tab(245),'X')
1722         and nvl(row.val_246,'X') = nvl(ben_ext_fmt.g_val_tab(246),'X')
1723         and nvl(row.val_247,'X') = nvl(ben_ext_fmt.g_val_tab(247),'X')
1724         and nvl(row.val_248,'X') = nvl(ben_ext_fmt.g_val_tab(248),'X')
1725         and nvl(row.val_249,'X') = nvl(ben_ext_fmt.g_val_tab(249),'X')
1726         and nvl(row.val_250,'X') = nvl(ben_ext_fmt.g_val_tab(250),'X')
1727         and nvl(row.val_251,'X') = nvl(ben_ext_fmt.g_val_tab(251),'X')
1728         and nvl(row.val_252,'X') = nvl(ben_ext_fmt.g_val_tab(252),'X')
1729         and nvl(row.val_253,'X') = nvl(ben_ext_fmt.g_val_tab(253),'X')
1730         and nvl(row.val_254,'X') = nvl(ben_ext_fmt.g_val_tab(254),'X')
1731         and nvl(row.val_255,'X') = nvl(ben_ext_fmt.g_val_tab(255),'X')
1732         and nvl(row.val_256,'X') = nvl(ben_ext_fmt.g_val_tab(256),'X')
1733         and nvl(row.val_257,'X') = nvl(ben_ext_fmt.g_val_tab(257),'X')
1734         and nvl(row.val_258,'X') = nvl(ben_ext_fmt.g_val_tab(258),'X')
1735         and nvl(row.val_259,'X') = nvl(ben_ext_fmt.g_val_tab(259),'X')
1736         and nvl(row.val_260,'X') = nvl(ben_ext_fmt.g_val_tab(260),'X')
1737         and nvl(row.val_261,'X') = nvl(ben_ext_fmt.g_val_tab(261),'X')
1738         and nvl(row.val_262,'X') = nvl(ben_ext_fmt.g_val_tab(262),'X')
1739         and nvl(row.val_263,'X') = nvl(ben_ext_fmt.g_val_tab(263),'X')
1740         and nvl(row.val_264,'X') = nvl(ben_ext_fmt.g_val_tab(264),'X')
1741         and nvl(row.val_265,'X') = nvl(ben_ext_fmt.g_val_tab(265),'X')
1742         and nvl(row.val_266,'X') = nvl(ben_ext_fmt.g_val_tab(266),'X')
1743         and nvl(row.val_267,'X') = nvl(ben_ext_fmt.g_val_tab(267),'X')
1744         and nvl(row.val_268,'X') = nvl(ben_ext_fmt.g_val_tab(268),'X')
1745         and nvl(row.val_269,'X') = nvl(ben_ext_fmt.g_val_tab(269),'X')
1746         and nvl(row.val_270,'X') = nvl(ben_ext_fmt.g_val_tab(270),'X')
1747         and nvl(row.val_271,'X') = nvl(ben_ext_fmt.g_val_tab(271),'X')
1748         and nvl(row.val_272,'X') = nvl(ben_ext_fmt.g_val_tab(272),'X')
1749         and nvl(row.val_273,'X') = nvl(ben_ext_fmt.g_val_tab(273),'X')
1750         and nvl(row.val_274,'X') = nvl(ben_ext_fmt.g_val_tab(274),'X')
1751         and nvl(row.val_275,'X') = nvl(ben_ext_fmt.g_val_tab(275),'X')
1752         and nvl(row.val_276,'X') = nvl(ben_ext_fmt.g_val_tab(276),'X')
1753         and nvl(row.val_277,'X') = nvl(ben_ext_fmt.g_val_tab(277),'X')
1754         and nvl(row.val_278,'X') = nvl(ben_ext_fmt.g_val_tab(278),'X')
1755         and nvl(row.val_279,'X') = nvl(ben_ext_fmt.g_val_tab(279),'X')
1756         and nvl(row.val_280,'X') = nvl(ben_ext_fmt.g_val_tab(280),'X')
1757         and nvl(row.val_281,'X') = nvl(ben_ext_fmt.g_val_tab(281),'X')
1758         and nvl(row.val_282,'X') = nvl(ben_ext_fmt.g_val_tab(282),'X')
1759         and nvl(row.val_283,'X') = nvl(ben_ext_fmt.g_val_tab(283),'X')
1760         and nvl(row.val_284,'X') = nvl(ben_ext_fmt.g_val_tab(284),'X')
1761         and nvl(row.val_285,'X') = nvl(ben_ext_fmt.g_val_tab(285),'X')
1762         and nvl(row.val_286,'X') = nvl(ben_ext_fmt.g_val_tab(286),'X')
1763         and nvl(row.val_287,'X') = nvl(ben_ext_fmt.g_val_tab(287),'X')
1764         and nvl(row.val_288,'X') = nvl(ben_ext_fmt.g_val_tab(288),'X')
1765         and nvl(row.val_289,'X') = nvl(ben_ext_fmt.g_val_tab(289),'X')
1766         and nvl(row.val_290,'X') = nvl(ben_ext_fmt.g_val_tab(290),'X')
1767         and nvl(row.val_291,'X') = nvl(ben_ext_fmt.g_val_tab(291),'X')
1768         and nvl(row.val_292,'X') = nvl(ben_ext_fmt.g_val_tab(292),'X')
1772         and nvl(row.val_296,'X') = nvl(ben_ext_fmt.g_val_tab(296),'X')
1769         and nvl(row.val_293,'X') = nvl(ben_ext_fmt.g_val_tab(293),'X')
1770         and nvl(row.val_294,'X') = nvl(ben_ext_fmt.g_val_tab(294),'X')
1771         and nvl(row.val_295,'X') = nvl(ben_ext_fmt.g_val_tab(295),'X')
1773         and nvl(row.val_297,'X') = nvl(ben_ext_fmt.g_val_tab(297),'X')
1774         and nvl(row.val_298,'X') = nvl(ben_ext_fmt.g_val_tab(298),'X')
1775         and nvl(row.val_299,'X') = nvl(ben_ext_fmt.g_val_tab(299),'X')
1776         and nvl(row.val_300,'X') = nvl(ben_ext_fmt.g_val_tab(300),'X')
1777       then
1778          p_exclude_this_rcd_flag := true;
1779          exit ;
1780       end if ;
1781 
1782    End Loop ;
1783 
1784   /*
1785   open c_check_for_dup_rcds;
1786   fetch c_check_for_dup_rcds into l_dummy;
1787   if c_check_for_dup_rcds%found then
1788     p_exclude_this_rcd_flag := true;
1789   end if;
1790   close c_check_for_dup_rcds;
1791   */
1792 
1793 end if;
1794 --
1795 hr_utility.set_location('Exiting'||l_proc, 15);
1796 --
1797 end prevent_duplicates;
1798 --
1799 -- ----------------------------------------------------------------------------
1800 -- |------------------------< chg_evt_incl >------------------------------|
1801 -- ----------------------------------------------------------------------------
1802 --
1803 Procedure chg_evt_incl
1804          (p_ext_rcd_in_file_id      in number default null,
1805           p_rcd_seq_num             in number default null,
1806           p_ext_data_elmt_in_rcd_id in number default null,
1807           p_data_elmt_seq_num       in number default null,
1808           p_chg_evt_cd              in varchar2,
1809           p_exclude_flag   out nocopy boolean) is
1810 --
1811 l_proc     varchar2(72) := g_package||'chg_evt_incl';
1812 --
1813 cursor c_rcd_chg_evt_exist is
1814   select null
1815     from ben_ext_incl_chg xic
1816     where xic.ext_rcd_in_file_id = p_ext_rcd_in_file_id;
1817 --
1818 cursor c_data_elmt_chg_evt_exist is
1819   select null
1820     from ben_ext_incl_chg xic
1821     where xic.ext_data_elmt_in_rcd_id = p_ext_data_elmt_in_rcd_id;
1822 --
1823 cursor c_incl_rcd is
1824   select null
1825     from ben_ext_incl_chg xic
1826     where xic.ext_rcd_in_file_id = p_ext_rcd_in_file_id
1827      and xic.chg_evt_cd = p_chg_evt_cd;
1828 --
1829 cursor c_incl_data_elmt is
1830   select null
1831     from ben_ext_incl_chg xic
1832     where xic.ext_data_elmt_in_rcd_id = p_ext_data_elmt_in_rcd_id
1833      and xic.chg_evt_cd = p_chg_evt_cd;
1834 --
1835 l_exclude_flag boolean;
1836 l_dummy varchar2(1);
1837 --
1838 begin
1839 --
1840 hr_utility.set_location('Entering'||l_proc, 5);
1841 --
1842 l_exclude_flag := false;
1843 --
1844 
1845 hr_utility.set_location('p_ext_rcd_in_file_id'||p_ext_rcd_in_file_id, 5);
1846 hr_utility.set_location('p_rcd_seq_nu'||p_rcd_seq_num, 5);
1847 if p_ext_rcd_in_file_id is not null then
1848   --
1849   -- for each record load a 'Y' or 'N' into table indicating that
1850   -- that there is or is not change events for this record.
1851   -- This is done only once per record.
1852   --
1853   if g_rcd_list.exists(p_rcd_seq_num)    then
1854     --
1855      hr_utility.set_location('p_ext_rcd_in_file_id found ', 5);
1856     null;
1857   else
1858     --
1859     open c_rcd_chg_evt_exist;
1860     fetch c_rcd_chg_evt_exist into l_dummy;
1861     if c_rcd_chg_evt_exist%found then
1862        g_rcd_list(p_rcd_seq_num) := 'Y';
1863 
1864     else
1865        g_rcd_list(p_rcd_seq_num) := 'N';
1866     end if;
1867     close c_rcd_chg_evt_exist;
1868   end if;
1869   --
1870   -- No (N) change events defined for the record is an automatic
1871   -- include.
1872   --
1873   if g_rcd_list(p_rcd_seq_num) = 'Y' then
1874     --
1875     open c_incl_rcd;
1876     fetch c_incl_rcd into l_dummy;
1877     if c_incl_rcd%notfound then
1878        l_exclude_flag := true;
1879     end if;
1880     close c_incl_rcd;
1881     --
1882   end if;
1883     --
1884 end if;
1885 --
1886 hr_utility.set_location('p_ext_data_elmt_in_rcd_id'||p_ext_data_elmt_in_rcd_id, 15);
1887 hr_utility.set_location('p_data_elmt_seq_num'||p_data_elmt_seq_num, 15);
1888 
1889 if p_ext_data_elmt_in_rcd_id is not null then
1890   --
1891   if  g_data_elmt_list.exists(p_data_elmt_seq_num) and
1892       g_data_elmt_list_id(p_data_elmt_seq_num) = p_ext_data_elmt_in_rcd_id  then
1893     --
1894     hr_utility.set_location('p_ext_data_elmt_in_rcd_id found', 15);
1895     null;
1896   else
1897     open c_data_elmt_chg_evt_exist;
1898     fetch c_data_elmt_chg_evt_exist into l_dummy;
1899     if c_data_elmt_chg_evt_exist%found then
1900        g_data_elmt_list(p_data_elmt_seq_num) := 'Y';
1901     else
1902        g_data_elmt_list(p_data_elmt_seq_num) := 'N';
1903     end if;
1904      g_data_elmt_list_id(p_data_elmt_seq_num) := p_ext_data_elmt_in_rcd_id ;
1905     close c_data_elmt_chg_evt_exist;
1906   end if;
1907   --
1908   if g_data_elmt_list(p_data_elmt_seq_num) = 'Y' then
1909     --
1910     open c_incl_data_elmt;
1911     fetch c_incl_data_elmt into l_dummy;
1912     if c_incl_data_elmt%notfound then
1913        l_exclude_flag := true;
1914     end if;
1915     close c_incl_data_elmt;
1916     --
1917   end if;
1918     --
1919 end if;
1920 --
1921 p_exclude_flag := l_exclude_flag;
1922 
1923 -- to be removed
1924 hr_utility.set_location('Exiting'||l_proc, 15);
1925 --
1926 end chg_evt_incl;
1927 --
1928 
1929 
1930 procedure chg_rcd_merge (
1931    p_ext_rslt_id                    in  number    default null
1932   ,p_ext_rcd_id                     in  number    default null
1933   ,p_person_id                      in  number    default null
1934   ,p_business_group_id              in  number    default null
1935   ,p_val_01                         in out nocopy  varchar2
1936   ,p_val_02                         in out nocopy  varchar2
1937   ,p_val_03                         in out nocopy  varchar2
1938   ,p_val_04                         in out nocopy  varchar2
1939   ,p_val_05                         in out nocopy  varchar2
1940   ,p_val_06                         in out nocopy  varchar2
1941   ,p_val_07                         in out nocopy  varchar2
1942   ,p_val_08                         in out nocopy  varchar2
1943   ,p_val_09                         in out nocopy  varchar2
1944   ,p_val_10                         in out nocopy  varchar2
1945   ,p_val_11                         in out nocopy  varchar2
1946   ,p_val_12                         in out nocopy  varchar2
1947   ,p_val_13                         in out nocopy  varchar2
1948   ,p_val_14                         in out nocopy  varchar2
1949   ,p_val_15                         in out nocopy  varchar2
1950   ,p_val_16                         in out nocopy  varchar2
1951   ,p_val_17                         in out nocopy  varchar2
1952   ,p_val_19                         in out nocopy  varchar2
1953   ,p_val_18                         in out nocopy  varchar2
1954   ,p_val_20                         in out nocopy  varchar2
1955   ,p_val_21                         in out nocopy  varchar2
1956   ,p_val_22                         in out nocopy  varchar2
1957   ,p_val_23                         in out nocopy  varchar2
1958   ,p_val_24                         in out nocopy  varchar2
1959   ,p_val_25                         in out nocopy  varchar2
1960   ,p_val_26                         in out nocopy  varchar2
1961   ,p_val_27                         in out nocopy  varchar2
1962   ,p_val_28                         in out nocopy  varchar2
1963   ,p_val_29                         in out nocopy  varchar2
1964   ,p_val_30                         in out nocopy  varchar2
1965   ,p_val_31                         in out nocopy  varchar2
1966   ,p_val_32                         in out nocopy  varchar2
1967   ,p_val_33                         in out nocopy  varchar2
1968   ,p_val_34                         in out nocopy  varchar2
1969   ,p_val_35                         in out nocopy  varchar2
1970   ,p_val_36                         in out nocopy  varchar2
1971   ,p_val_37                         in out nocopy  varchar2
1972   ,p_val_38                         in out nocopy  varchar2
1973   ,p_val_39                         in out nocopy  varchar2
1974   ,p_val_40                         in out nocopy  varchar2
1975   ,p_val_41                         in out nocopy  varchar2
1976   ,p_val_42                         in out nocopy  varchar2
1977   ,p_val_43                         in out nocopy  varchar2
1978   ,p_val_44                         in out nocopy  varchar2
1979   ,p_val_45                         in out nocopy  varchar2
1980   ,p_val_46                         in out nocopy  varchar2
1981   ,p_val_47                         in out nocopy  varchar2
1982   ,p_val_48                         in out nocopy  varchar2
1983   ,p_val_49                         in out nocopy  varchar2
1984   ,p_val_50                         in out nocopy  varchar2
1985   ,p_val_51                         in out nocopy  varchar2
1986   ,p_val_52                         in out nocopy  varchar2
1987   ,p_val_53                         in out nocopy  varchar2
1988   ,p_val_54                         in out nocopy  varchar2
1989   ,p_val_55                         in out nocopy  varchar2
1990   ,p_val_56                         in out nocopy  varchar2
1991   ,p_val_57                         in out nocopy  varchar2
1992   ,p_val_58                         in out nocopy  varchar2
1993   ,p_val_59                         in out nocopy  varchar2
1994   ,p_val_60                         in out nocopy  varchar2
1995   ,p_val_61                         in out nocopy  varchar2
1996   ,p_val_62                         in out nocopy  varchar2
1997   ,p_val_63                         in out nocopy  varchar2
1998   ,p_val_64                         in out nocopy  varchar2
1999   ,p_val_65                         in out nocopy  varchar2
2000   ,p_val_66                         in out nocopy  varchar2
2001   ,p_val_67                         in out nocopy  varchar2
2002   ,p_val_68                         in out nocopy  varchar2
2003   ,p_val_69                         in out nocopy  varchar2
2004   ,p_val_70                         in out nocopy  varchar2
2005   ,p_val_71                         in out nocopy  varchar2
2006   ,p_val_72                         in out nocopy  varchar2
2007   ,p_val_73                         in out nocopy  varchar2
2008   ,p_val_74                         in out nocopy  varchar2
2009   ,p_val_75                         in out nocopy  varchar2
2010   ,p_val_76                         in out nocopy  varchar2
2011   ,p_val_77                         in out nocopy  varchar2
2012   ,p_val_78                         in out nocopy  varchar2
2016   ,p_val_82                         in out nocopy  varchar2
2013   ,p_val_79                         in out nocopy  varchar2
2014   ,p_val_80                         in out nocopy  varchar2
2015   ,p_val_81                         in out nocopy  varchar2
2017   ,p_val_83                         in out nocopy  varchar2
2018   ,p_val_84                         in out nocopy  varchar2
2019   ,p_val_85                         in out nocopy  varchar2
2020   ,p_val_86                         in out nocopy  varchar2
2021   ,p_val_87                         in out nocopy  varchar2
2022   ,p_val_88                         in out nocopy  varchar2
2023   ,p_val_89                         in out nocopy  varchar2
2024   ,p_val_90                         in out nocopy  varchar2
2025   ,p_val_91                         in out nocopy  varchar2
2026   ,p_val_92                         in out nocopy  varchar2
2027   ,p_val_93                         in out nocopy  varchar2
2028   ,p_val_94                         in out nocopy  varchar2
2029   ,p_val_95                         in out nocopy  varchar2
2030   ,p_val_96                         in out nocopy  varchar2
2031   ,p_val_97                         in out nocopy  varchar2
2032   ,p_val_98                         in out nocopy  varchar2
2033   ,p_val_99                         in out nocopy  varchar2
2034   ,p_val_100                        in out nocopy  varchar2
2035   ,p_val_101                         in out nocopy  varchar2
2036   ,p_val_102                         in out nocopy  varchar2
2037   ,p_val_103                         in out nocopy  varchar2
2038   ,p_val_104                         in out nocopy  varchar2
2039   ,p_val_105                         in out nocopy  varchar2
2040   ,p_val_106                         in out nocopy  varchar2
2041   ,p_val_107                         in out nocopy  varchar2
2042   ,p_val_108                         in out nocopy  varchar2
2043   ,p_val_109                         in out nocopy  varchar2
2044   ,p_val_110                         in out nocopy  varchar2
2045   ,p_val_111                         in out nocopy  varchar2
2046   ,p_val_112                         in out nocopy  varchar2
2047   ,p_val_113                         in out nocopy  varchar2
2048   ,p_val_114                         in out nocopy  varchar2
2049   ,p_val_115                         in out nocopy  varchar2
2050   ,p_val_116                         in out nocopy  varchar2
2051   ,p_val_117                         in out nocopy  varchar2
2055   ,p_val_121                         in out nocopy  varchar2
2052   ,p_val_119                         in out nocopy  varchar2
2053   ,p_val_118                         in out nocopy  varchar2
2054   ,p_val_120                         in out nocopy  varchar2
2056   ,p_val_122                         in out nocopy  varchar2
2057   ,p_val_123                         in out nocopy  varchar2
2058   ,p_val_124                         in out nocopy  varchar2
2059   ,p_val_125                         in out nocopy  varchar2
2060   ,p_val_126                         in out nocopy  varchar2
2061   ,p_val_127                         in out nocopy  varchar2
2062   ,p_val_128                         in out nocopy  varchar2
2063   ,p_val_129                         in out nocopy  varchar2
2064   ,p_val_130                         in out nocopy  varchar2
2065   ,p_val_131                         in out nocopy  varchar2
2066   ,p_val_132                         in out nocopy  varchar2
2067   ,p_val_133                         in out nocopy  varchar2
2068   ,p_val_134                         in out nocopy  varchar2
2069   ,p_val_135                         in out nocopy  varchar2
2070   ,p_val_136                         in out nocopy  varchar2
2071   ,p_val_137                         in out nocopy  varchar2
2072   ,p_val_138                         in out nocopy  varchar2
2073   ,p_val_139                         in out nocopy  varchar2
2074   ,p_val_140                         in out nocopy  varchar2
2075   ,p_val_141                         in out nocopy  varchar2
2076   ,p_val_142                         in out nocopy  varchar2
2077   ,p_val_143                         in out nocopy  varchar2
2078   ,p_val_144                         in out nocopy  varchar2
2079   ,p_val_145                         in out nocopy  varchar2
2080   ,p_val_146                         in out nocopy  varchar2
2081   ,p_val_147                         in out nocopy  varchar2
2082   ,p_val_148                         in out nocopy  varchar2
2083   ,p_val_149                         in out nocopy  varchar2
2084   ,p_val_150                         in out nocopy  varchar2
2085   ,p_val_151                         in out nocopy  varchar2
2086   ,p_val_152                         in out nocopy  varchar2
2087   ,p_val_153                         in out nocopy  varchar2
2088   ,p_val_154                         in out nocopy  varchar2
2089   ,p_val_155                         in out nocopy  varchar2
2090   ,p_val_156                         in out nocopy  varchar2
2091   ,p_val_157                         in out nocopy  varchar2
2092   ,p_val_158                         in out nocopy  varchar2
2093   ,p_val_159                         in out nocopy  varchar2
2094   ,p_val_160                         in out nocopy  varchar2
2095   ,p_val_161                         in out nocopy  varchar2
2096   ,p_val_162                         in out nocopy  varchar2
2097   ,p_val_163                         in out nocopy  varchar2
2098   ,p_val_164                         in out nocopy  varchar2
2099   ,p_val_165                         in out nocopy  varchar2
2100   ,p_val_166                         in out nocopy  varchar2
2101   ,p_val_167                         in out nocopy  varchar2
2102   ,p_val_168                         in out nocopy  varchar2
2103   ,p_val_169                         in out nocopy  varchar2
2104   ,p_val_170                         in out nocopy  varchar2
2105   ,p_val_171                         in out nocopy  varchar2
2106   ,p_val_172                         in out nocopy  varchar2
2107   ,p_val_173                         in out nocopy  varchar2
2108   ,p_val_174                         in out nocopy  varchar2
2109   ,p_val_175                         in out nocopy  varchar2
2110   ,p_val_176                         in out nocopy  varchar2
2111   ,p_val_177                         in out nocopy  varchar2
2112   ,p_val_178                         in out nocopy  varchar2
2113   ,p_val_179                         in out nocopy  varchar2
2114   ,p_val_180                         in out nocopy  varchar2
2115   ,p_val_181                         in out nocopy  varchar2
2116   ,p_val_182                         in out nocopy  varchar2
2117   ,p_val_183                         in out nocopy  varchar2
2118   ,p_val_184                         in out nocopy  varchar2
2119   ,p_val_185                         in out nocopy  varchar2
2120   ,p_val_186                         in out nocopy  varchar2
2121   ,p_val_187                         in out nocopy  varchar2
2122   ,p_val_188                         in out nocopy  varchar2
2123   ,p_val_189                         in out nocopy  varchar2
2124   ,p_val_190                         in out nocopy  varchar2
2125   ,p_val_191                         in out nocopy  varchar2
2126   ,p_val_192                         in out nocopy  varchar2
2127   ,p_val_193                         in out nocopy  varchar2
2128   ,p_val_194                         in out nocopy  varchar2
2129   ,p_val_195                         in out nocopy  varchar2
2130   ,p_val_196                         in out nocopy  varchar2
2131   ,p_val_197                         in out nocopy  varchar2
2132   ,p_val_198                         in out nocopy  varchar2
2133   ,p_val_199                         in out nocopy  varchar2
2134   ,p_val_200                         in out nocopy  varchar2
2135   ,p_val_201                         in out nocopy  varchar2
2136   ,p_val_202                         in out nocopy  varchar2
2137   ,p_val_203                         in out nocopy  varchar2
2138   ,p_val_204                         in out nocopy  varchar2
2139   ,p_val_205                         in out nocopy  varchar2
2140   ,p_val_206                         in out nocopy  varchar2
2141   ,p_val_207                         in out nocopy  varchar2
2142   ,p_val_208                         in out nocopy  varchar2
2143   ,p_val_209                         in out nocopy  varchar2
2144   ,p_val_210                         in out nocopy  varchar2
2145   ,p_val_211                         in out nocopy  varchar2
2146   ,p_val_212                         in out nocopy  varchar2
2150   ,p_val_216                         in out nocopy  varchar2
2147   ,p_val_213                         in out nocopy  varchar2
2148   ,p_val_214                         in out nocopy  varchar2
2149   ,p_val_215                         in out nocopy  varchar2
2151   ,p_val_217                         in out nocopy  varchar2
2152   ,p_val_219                         in out nocopy  varchar2
2153   ,p_val_218                         in out nocopy  varchar2
2154   ,p_val_220                         in out nocopy  varchar2
2155   ,p_val_221                         in out nocopy  varchar2
2156   ,p_val_222                         in out nocopy  varchar2
2157   ,p_val_223                         in out nocopy  varchar2
2158   ,p_val_224                         in out nocopy  varchar2
2159   ,p_val_225                         in out nocopy  varchar2
2160   ,p_val_226                         in out nocopy  varchar2
2161   ,p_val_227                         in out nocopy  varchar2
2162   ,p_val_228                         in out nocopy  varchar2
2163   ,p_val_229                         in out nocopy  varchar2
2164   ,p_val_230                         in out nocopy  varchar2
2165   ,p_val_231                         in out nocopy  varchar2
2166   ,p_val_232                         in out nocopy  varchar2
2167   ,p_val_233                         in out nocopy  varchar2
2168   ,p_val_234                         in out nocopy  varchar2
2169   ,p_val_235                         in out nocopy  varchar2
2170   ,p_val_236                         in out nocopy  varchar2
2171   ,p_val_237                         in out nocopy  varchar2
2172   ,p_val_238                         in out nocopy  varchar2
2173   ,p_val_239                         in out nocopy  varchar2
2174   ,p_val_240                         in out nocopy  varchar2
2175   ,p_val_241                         in out nocopy  varchar2
2176   ,p_val_242                         in out nocopy  varchar2
2177   ,p_val_243                         in out nocopy  varchar2
2178   ,p_val_244                         in out nocopy  varchar2
2179   ,p_val_245                         in out nocopy  varchar2
2180   ,p_val_246                         in out nocopy  varchar2
2181   ,p_val_247                         in out nocopy  varchar2
2182   ,p_val_248                         in out nocopy  varchar2
2183   ,p_val_249                         in out nocopy  varchar2
2184   ,p_val_250                         in out nocopy  varchar2
2185   ,p_val_251                         in out nocopy  varchar2
2186   ,p_val_252                         in out nocopy  varchar2
2187   ,p_val_253                         in out nocopy  varchar2
2188   ,p_val_254                         in out nocopy  varchar2
2189   ,p_val_255                         in out nocopy  varchar2
2190   ,p_val_256                         in out nocopy  varchar2
2191   ,p_val_257                         in out nocopy  varchar2
2192   ,p_val_258                         in out nocopy  varchar2
2193   ,p_val_259                         in out nocopy  varchar2
2194   ,p_val_260                         in out nocopy  varchar2
2195   ,p_val_261                         in out nocopy  varchar2
2196   ,p_val_262                         in out nocopy  varchar2
2197   ,p_val_263                         in out nocopy  varchar2
2198   ,p_val_264                         in out nocopy  varchar2
2199   ,p_val_265                         in out nocopy  varchar2
2200   ,p_val_266                         in out nocopy  varchar2
2201   ,p_val_267                         in out nocopy  varchar2
2202   ,p_val_268                         in out nocopy  varchar2
2203   ,p_val_269                         in out nocopy  varchar2
2204   ,p_val_270                         in out nocopy  varchar2
2205   ,p_val_271                         in out nocopy  varchar2
2206   ,p_val_272                         in out nocopy  varchar2
2207   ,p_val_273                         in out nocopy  varchar2
2208   ,p_val_274                         in out nocopy  varchar2
2209   ,p_val_275                         in out nocopy  varchar2
2210   ,p_val_276                         in out nocopy  varchar2
2211   ,p_val_277                         in out nocopy  varchar2
2212   ,p_val_278                         in out nocopy  varchar2
2213   ,p_val_279                         in out nocopy  varchar2
2214   ,p_val_280                         in out nocopy  varchar2
2215   ,p_val_281                         in out nocopy  varchar2
2216   ,p_val_282                         in out nocopy  varchar2
2217   ,p_val_283                         in out nocopy  varchar2
2218   ,p_val_284                         in out nocopy  varchar2
2219   ,p_val_285                         in out nocopy  varchar2
2220   ,p_val_286                         in out nocopy  varchar2
2221   ,p_val_287                         in out nocopy  varchar2
2222   ,p_val_288                         in out nocopy  varchar2
2223   ,p_val_289                         in out nocopy  varchar2
2224   ,p_val_290                         in out nocopy  varchar2
2225   ,p_val_291                         in out nocopy  varchar2
2226   ,p_val_292                         in out nocopy  varchar2
2227   ,p_val_293                         in out nocopy  varchar2
2228   ,p_val_294                         in out nocopy  varchar2
2229   ,p_val_295                         in out nocopy  varchar2
2230   ,p_val_296                         in out nocopy  varchar2
2231   ,p_val_297                         in out nocopy  varchar2
2232   ,p_val_298                         in out nocopy  varchar2
2233   ,p_val_299                         in out nocopy  varchar2
2234   ,p_val_300                         in out nocopy  varchar2
2235   ,p_ext_rcd_in_file_id             in  number    default null
2236   ,p_object_version_number          out nocopy number
2237   ,p_ext_rslt_dtl_id                out nocopy number
2238   ,p_ext_chg_rcd_mode               out nocopy varchar2
2239  ) is
2240 
2241 
2242 
2243   cursor c_ext_rslt_dtls is
2244   select *   from
2245   ben_ext_rslt_dtl
2246   where ext_rslt_id        = p_ext_rslt_id
2250     ;
2247     and (person_id         = p_person_id or p_person_id is null )  -- for subgroup
2248     and ext_rcd_id         = p_ext_rcd_id
2249     and ext_rcd_in_file_id = p_ext_rcd_in_file_id
2251 
2252  l_proc varchar2(70) ;
2253  l_ext_rslt  c_ext_rslt_dtls%rowtype ;
2254 begin
2255 
2256  l_proc :=  g_package|| '.chg_rcd_merge' ;
2257  hr_utility.set_location('Entering'||l_proc, 5);
2258 
2259  p_ext_chg_rcd_mode := 'C'  ;
2260  open  c_ext_rslt_dtls ;
2261  fetch c_ext_rslt_dtls into  l_ext_rslt ;
2262  if c_ext_rslt_dtls%notfound  then
2263     close c_ext_rslt_dtls ;
2264     hr_utility.set_location('Mode '||p_ext_chg_rcd_mode, 15);
2265     hr_utility.set_location('Exiting'||l_proc, 15);
2266     Return  ;
2267  end if ;
2268  close c_ext_rslt_dtls ;
2269 
2270  p_ext_chg_rcd_mode := 'U' ;
2271  p_object_version_number := l_ext_rslt.object_version_number ;
2272  p_ext_rslt_dtl_id       := l_ext_rslt.ext_rslt_dtl_id       ;
2273 
2274   -- if the parameter valu is null get the table valu
2275   p_val_01   :=  nvl(p_val_01 ,l_ext_rslt.val_01  ) ;
2276   p_val_02   :=  nvl(p_val_02 ,l_ext_rslt.val_02  ) ;
2277   p_val_03   :=  nvl(p_val_03 ,l_ext_rslt.val_03  ) ;
2278   p_val_04   :=  nvl(p_val_04 ,l_ext_rslt.val_04  ) ;
2279   p_val_05   :=  nvl(p_val_05 ,l_ext_rslt.val_05  ) ;
2280   p_val_06   :=  nvl(p_val_06 ,l_ext_rslt.val_06  ) ;
2281   p_val_07   :=  nvl(p_val_07 ,l_ext_rslt.val_07  ) ;
2282   p_val_08   :=  nvl(p_val_08 ,l_ext_rslt.val_08  ) ;
2283   p_val_09   :=  nvl(p_val_09 ,l_ext_rslt.val_09  ) ;
2284   p_val_10   :=  nvl(p_val_10 ,l_ext_rslt.val_10  ) ;
2285   p_val_11   :=  nvl(p_val_11 ,l_ext_rslt.val_11  ) ;
2286   p_val_12   :=  nvl(p_val_12 ,l_ext_rslt.val_12  ) ;
2287   p_val_13   :=  nvl(p_val_13 ,l_ext_rslt.val_13  ) ;
2288   p_val_14   :=  nvl(p_val_14 ,l_ext_rslt.val_14  ) ;
2289   p_val_15   :=  nvl(p_val_15 ,l_ext_rslt.val_15  ) ;
2290   p_val_16   :=  nvl(p_val_16 ,l_ext_rslt.val_16  ) ;
2291   p_val_17   :=  nvl(p_val_17 ,l_ext_rslt.val_17  ) ;
2292   p_val_19   :=  nvl(p_val_19 ,l_ext_rslt.val_19  ) ;
2293   p_val_18   :=  nvl(p_val_18 ,l_ext_rslt.val_18  ) ;
2294   p_val_20   :=  nvl(p_val_20 ,l_ext_rslt.val_20  ) ;
2295   p_val_21   :=  nvl(p_val_21 ,l_ext_rslt.val_21  ) ;
2296   p_val_22   :=  nvl(p_val_22 ,l_ext_rslt.val_22  ) ;
2297   p_val_23   :=  nvl(p_val_23 ,l_ext_rslt.val_23  ) ;
2298   p_val_24   :=  nvl(p_val_24 ,l_ext_rslt.val_24  ) ;
2299   p_val_25   :=  nvl(p_val_25 ,l_ext_rslt.val_25  ) ;
2300   p_val_26   :=  nvl(p_val_26 ,l_ext_rslt.val_26  ) ;
2301   p_val_27   :=  nvl(p_val_27 ,l_ext_rslt.val_27  ) ;
2302   p_val_28   :=  nvl(p_val_28 ,l_ext_rslt.val_28  ) ;
2303   p_val_29   :=  nvl(p_val_29 ,l_ext_rslt.val_29  ) ;
2304   p_val_30   :=  nvl(p_val_30 ,l_ext_rslt.val_30  ) ;
2305   p_val_31   :=  nvl(p_val_31 ,l_ext_rslt.val_31  ) ;
2306   p_val_32   :=  nvl(p_val_32 ,l_ext_rslt.val_32  ) ;
2307   p_val_33   :=  nvl(p_val_33 ,l_ext_rslt.val_33  ) ;
2308   p_val_34   :=  nvl(p_val_34 ,l_ext_rslt.val_34  ) ;
2309   p_val_35   :=  nvl(p_val_35 ,l_ext_rslt.val_35  ) ;
2310   p_val_36   :=  nvl(p_val_36 ,l_ext_rslt.val_36  ) ;
2311   p_val_37   :=  nvl(p_val_37 ,l_ext_rslt.val_37  ) ;
2312   p_val_38   :=  nvl(p_val_38 ,l_ext_rslt.val_38  ) ;
2313   p_val_39   :=  nvl(p_val_39 ,l_ext_rslt.val_39  ) ;
2314   p_val_40   :=  nvl(p_val_40 ,l_ext_rslt.val_40  ) ;
2315   p_val_41   :=  nvl(p_val_41 ,l_ext_rslt.val_41  ) ;
2316   p_val_42   :=  nvl(p_val_42 ,l_ext_rslt.val_42  ) ;
2317   p_val_43   :=  nvl(p_val_43 ,l_ext_rslt.val_43  ) ;
2318   p_val_44   :=  nvl(p_val_44 ,l_ext_rslt.val_44  ) ;
2319   p_val_45   :=  nvl(p_val_45 ,l_ext_rslt.val_45  ) ;
2320   p_val_46   :=  nvl(p_val_46 ,l_ext_rslt.val_46  ) ;
2321   p_val_47   :=  nvl(p_val_47 ,l_ext_rslt.val_47  ) ;
2322   p_val_48   :=  nvl(p_val_48 ,l_ext_rslt.val_48  ) ;
2323   p_val_49   :=  nvl(p_val_49 ,l_ext_rslt.val_49  ) ;
2324   p_val_50   :=  nvl(p_val_50 ,l_ext_rslt.val_50  ) ;
2325   p_val_51   :=  nvl(p_val_51 ,l_ext_rslt.val_51  ) ;
2326   p_val_52   :=  nvl(p_val_52 ,l_ext_rslt.val_52  ) ;
2327   p_val_53   :=  nvl(p_val_53 ,l_ext_rslt.val_53  ) ;
2328   p_val_54   :=  nvl(p_val_54 ,l_ext_rslt.val_54  ) ;
2329   p_val_55   :=  nvl(p_val_55 ,l_ext_rslt.val_55  ) ;
2330   p_val_56   :=  nvl(p_val_56 ,l_ext_rslt.val_56  ) ;
2331   p_val_57   :=  nvl(p_val_57 ,l_ext_rslt.val_57  ) ;
2332   p_val_58   :=  nvl(p_val_58 ,l_ext_rslt.val_58  ) ;
2333   p_val_59   :=  nvl(p_val_59 ,l_ext_rslt.val_59  ) ;
2334   p_val_60   :=  nvl(p_val_60 ,l_ext_rslt.val_60  ) ;
2335   p_val_61   :=  nvl(p_val_61 ,l_ext_rslt.val_61  ) ;
2336   p_val_62   :=  nvl(p_val_62 ,l_ext_rslt.val_62  ) ;
2337   p_val_63   :=  nvl(p_val_63 ,l_ext_rslt.val_63  ) ;
2338   p_val_64   :=  nvl(p_val_64 ,l_ext_rslt.val_64  ) ;
2339   p_val_65   :=  nvl(p_val_65 ,l_ext_rslt.val_65  ) ;
2340   p_val_66   :=  nvl(p_val_66 ,l_ext_rslt.val_66  ) ;
2341   p_val_67   :=  nvl(p_val_67 ,l_ext_rslt.val_67  ) ;
2342   p_val_68   :=  nvl(p_val_68 ,l_ext_rslt.val_68  ) ;
2343   p_val_69   :=  nvl(p_val_69 ,l_ext_rslt.val_69  ) ;
2344   p_val_70   :=  nvl(p_val_70 ,l_ext_rslt.val_70  ) ;
2345   p_val_71   :=  nvl(p_val_71 ,l_ext_rslt.val_71  ) ;
2346   p_val_72   :=  nvl(p_val_72 ,l_ext_rslt.val_72  ) ;
2347   p_val_73   :=  nvl(p_val_73 ,l_ext_rslt.val_73  ) ;
2348   p_val_74   :=  nvl(p_val_74 ,l_ext_rslt.val_74  ) ;
2349   p_val_75   :=  nvl(p_val_75 ,l_ext_rslt.val_75  ) ;
2350   p_val_76   :=  nvl(p_val_76 ,l_ext_rslt.val_76  ) ;
2351   p_val_77   :=  nvl(p_val_77 ,l_ext_rslt.val_77  ) ;
2352   p_val_78   :=  nvl(p_val_78 ,l_ext_rslt.val_78  ) ;
2353   p_val_79   :=  nvl(p_val_79 ,l_ext_rslt.val_79  ) ;
2354   p_val_80   :=  nvl(p_val_80 ,l_ext_rslt.val_80  ) ;
2355   p_val_81   :=  nvl(p_val_81 ,l_ext_rslt.val_81  ) ;
2356   p_val_82   :=  nvl(p_val_82 ,l_ext_rslt.val_82  ) ;
2357   p_val_83   :=  nvl(p_val_83 ,l_ext_rslt.val_83  ) ;
2358   p_val_84   :=  nvl(p_val_84 ,l_ext_rslt.val_84  ) ;
2359   p_val_85   :=  nvl(p_val_85 ,l_ext_rslt.val_85  ) ;
2360   p_val_86   :=  nvl(p_val_86 ,l_ext_rslt.val_86  ) ;
2364   p_val_90   :=  nvl(p_val_90 ,l_ext_rslt.val_90  ) ;
2361   p_val_87   :=  nvl(p_val_87 ,l_ext_rslt.val_87  ) ;
2362   p_val_88   :=  nvl(p_val_88 ,l_ext_rslt.val_88  ) ;
2363   p_val_89   :=  nvl(p_val_89 ,l_ext_rslt.val_89  ) ;
2365   p_val_91   :=  nvl(p_val_91 ,l_ext_rslt.val_91  ) ;
2366   p_val_92   :=  nvl(p_val_92 ,l_ext_rslt.val_92  ) ;
2367   p_val_93   :=  nvl(p_val_93 ,l_ext_rslt.val_93  ) ;
2368   p_val_94   :=  nvl(p_val_94 ,l_ext_rslt.val_94  ) ;
2369   p_val_95   :=  nvl(p_val_95 ,l_ext_rslt.val_95  ) ;
2370   p_val_96   :=  nvl(p_val_96 ,l_ext_rslt.val_96  ) ;
2371   p_val_97   :=  nvl(p_val_97 ,l_ext_rslt.val_97  ) ;
2372   p_val_98   :=  nvl(p_val_98 ,l_ext_rslt.val_98  ) ;
2373   p_val_99   :=  nvl(p_val_99 ,l_ext_rslt.val_99  ) ;
2374   p_val_100  :=  nvl(p_val_100,l_ext_rslt.val_100 ) ;
2375   p_val_101  :=  nvl(p_val_101,l_ext_rslt.val_101 ) ;
2376   p_val_102  :=  nvl(p_val_102,l_ext_rslt.val_102 ) ;
2377   p_val_103  :=  nvl(p_val_103,l_ext_rslt.val_103 ) ;
2378   p_val_104  :=  nvl(p_val_104,l_ext_rslt.val_104 ) ;
2379   p_val_105  :=  nvl(p_val_105,l_ext_rslt.val_105 ) ;
2380   p_val_106  :=  nvl(p_val_106,l_ext_rslt.val_106 ) ;
2381   p_val_107  :=  nvl(p_val_107,l_ext_rslt.val_107 ) ;
2382   p_val_108  :=  nvl(p_val_108,l_ext_rslt.val_108 ) ;
2383   p_val_109  :=  nvl(p_val_109,l_ext_rslt.val_109 ) ;
2384   p_val_110  :=  nvl(p_val_110,l_ext_rslt.val_110 ) ;
2385   p_val_111  :=  nvl(p_val_111,l_ext_rslt.val_111 ) ;
2386   p_val_112  :=  nvl(p_val_112,l_ext_rslt.val_112 ) ;
2387   p_val_113  :=  nvl(p_val_113,l_ext_rslt.val_113 ) ;
2388   p_val_114  :=  nvl(p_val_114,l_ext_rslt.val_114 ) ;
2389   p_val_115  :=  nvl(p_val_115,l_ext_rslt.val_115 ) ;
2390   p_val_116  :=  nvl(p_val_116,l_ext_rslt.val_116 ) ;
2391   p_val_117  :=  nvl(p_val_117,l_ext_rslt.val_117 ) ;
2392   p_val_119  :=  nvl(p_val_119,l_ext_rslt.val_119 ) ;
2393   p_val_118  :=  nvl(p_val_118,l_ext_rslt.val_118 ) ;
2394   p_val_120  :=  nvl(p_val_120,l_ext_rslt.val_120 ) ;
2395   p_val_121  :=  nvl(p_val_121,l_ext_rslt.val_121 ) ;
2396   p_val_122  :=  nvl(p_val_122,l_ext_rslt.val_122 ) ;
2397   p_val_123  :=  nvl(p_val_123,l_ext_rslt.val_123 ) ;
2398   p_val_124  :=  nvl(p_val_124,l_ext_rslt.val_124 ) ;
2399   p_val_125  :=  nvl(p_val_125,l_ext_rslt.val_125 ) ;
2400   p_val_126  :=  nvl(p_val_126,l_ext_rslt.val_126 ) ;
2401   p_val_127  :=  nvl(p_val_127,l_ext_rslt.val_127 ) ;
2402   p_val_128  :=  nvl(p_val_128,l_ext_rslt.val_128 ) ;
2403   p_val_129  :=  nvl(p_val_129,l_ext_rslt.val_129 ) ;
2404   p_val_130  :=  nvl(p_val_130,l_ext_rslt.val_130 ) ;
2405   p_val_131  :=  nvl(p_val_131,l_ext_rslt.val_131 ) ;
2406   p_val_132  :=  nvl(p_val_132,l_ext_rslt.val_132 ) ;
2407   p_val_133  :=  nvl(p_val_133,l_ext_rslt.val_133 ) ;
2408   p_val_134  :=  nvl(p_val_134,l_ext_rslt.val_134 ) ;
2409   p_val_135  :=  nvl(p_val_135,l_ext_rslt.val_135 ) ;
2410   p_val_136  :=  nvl(p_val_136,l_ext_rslt.val_136 ) ;
2411   p_val_137  :=  nvl(p_val_137,l_ext_rslt.val_137 ) ;
2412   p_val_138  :=  nvl(p_val_138,l_ext_rslt.val_138 ) ;
2413   p_val_139  :=  nvl(p_val_139,l_ext_rslt.val_139 ) ;
2414   p_val_140  :=  nvl(p_val_140,l_ext_rslt.val_140 ) ;
2415   p_val_141  :=  nvl(p_val_141,l_ext_rslt.val_141 ) ;
2416   p_val_142  :=  nvl(p_val_142,l_ext_rslt.val_142 ) ;
2417   p_val_143  :=  nvl(p_val_143,l_ext_rslt.val_143 ) ;
2418   p_val_144  :=  nvl(p_val_144,l_ext_rslt.val_144 ) ;
2419   p_val_145  :=  nvl(p_val_145,l_ext_rslt.val_145 ) ;
2420   p_val_146  :=  nvl(p_val_146,l_ext_rslt.val_146 ) ;
2421   p_val_147  :=  nvl(p_val_147,l_ext_rslt.val_147 ) ;
2422   p_val_148  :=  nvl(p_val_148,l_ext_rslt.val_148 ) ;
2423   p_val_149  :=  nvl(p_val_149,l_ext_rslt.val_149 ) ;
2424   p_val_150  :=  nvl(p_val_150,l_ext_rslt.val_150 ) ;
2425   p_val_151  :=  nvl(p_val_151,l_ext_rslt.val_151 ) ;
2426   p_val_152  :=  nvl(p_val_152,l_ext_rslt.val_152 ) ;
2427   p_val_153  :=  nvl(p_val_153,l_ext_rslt.val_153 ) ;
2428   p_val_154  :=  nvl(p_val_154,l_ext_rslt.val_154 ) ;
2429   p_val_155  :=  nvl(p_val_155,l_ext_rslt.val_155 ) ;
2430   p_val_156  :=  nvl(p_val_156,l_ext_rslt.val_156 ) ;
2431   p_val_157  :=  nvl(p_val_157,l_ext_rslt.val_157 ) ;
2432   p_val_158  :=  nvl(p_val_158,l_ext_rslt.val_158 ) ;
2433   p_val_159  :=  nvl(p_val_159,l_ext_rslt.val_159 ) ;
2434   p_val_160  :=  nvl(p_val_160,l_ext_rslt.val_160 ) ;
2435   p_val_161  :=  nvl(p_val_161,l_ext_rslt.val_161 ) ;
2436   p_val_162  :=  nvl(p_val_162,l_ext_rslt.val_162 ) ;
2437   p_val_163  :=  nvl(p_val_163,l_ext_rslt.val_163 ) ;
2438   p_val_164  :=  nvl(p_val_164,l_ext_rslt.val_164 ) ;
2439   p_val_165  :=  nvl(p_val_165,l_ext_rslt.val_165 ) ;
2440   p_val_166  :=  nvl(p_val_166,l_ext_rslt.val_166 ) ;
2441   p_val_167  :=  nvl(p_val_167,l_ext_rslt.val_167 ) ;
2442   p_val_168  :=  nvl(p_val_168,l_ext_rslt.val_168 ) ;
2443   p_val_169  :=  nvl(p_val_169,l_ext_rslt.val_169 ) ;
2444   p_val_170  :=  nvl(p_val_170,l_ext_rslt.val_170 ) ;
2445   p_val_171  :=  nvl(p_val_171,l_ext_rslt.val_171 ) ;
2446   p_val_172  :=  nvl(p_val_172,l_ext_rslt.val_172 ) ;
2447   p_val_173  :=  nvl(p_val_173,l_ext_rslt.val_173 ) ;
2448   p_val_174  :=  nvl(p_val_174,l_ext_rslt.val_174 ) ;
2449   p_val_175  :=  nvl(p_val_175,l_ext_rslt.val_175 ) ;
2450   p_val_176  :=  nvl(p_val_176,l_ext_rslt.val_176 ) ;
2451   p_val_177  :=  nvl(p_val_177,l_ext_rslt.val_177 ) ;
2452   p_val_178  :=  nvl(p_val_178,l_ext_rslt.val_178 ) ;
2453   p_val_179  :=  nvl(p_val_179,l_ext_rslt.val_179 ) ;
2454   p_val_180  :=  nvl(p_val_180,l_ext_rslt.val_180 ) ;
2455   p_val_181  :=  nvl(p_val_181,l_ext_rslt.val_181 ) ;
2456   p_val_182  :=  nvl(p_val_182,l_ext_rslt.val_182 ) ;
2457   p_val_183  :=  nvl(p_val_183,l_ext_rslt.val_183 ) ;
2458   p_val_184  :=  nvl(p_val_184,l_ext_rslt.val_184 ) ;
2459   p_val_185  :=  nvl(p_val_185,l_ext_rslt.val_185 ) ;
2460   p_val_186  :=  nvl(p_val_186,l_ext_rslt.val_186 ) ;
2461   p_val_187  :=  nvl(p_val_187,l_ext_rslt.val_187 ) ;
2462   p_val_188  :=  nvl(p_val_188,l_ext_rslt.val_188 ) ;
2463   p_val_189  :=  nvl(p_val_189,l_ext_rslt.val_189 ) ;
2464   p_val_190  :=  nvl(p_val_190,l_ext_rslt.val_190 ) ;
2465   p_val_191  :=  nvl(p_val_191,l_ext_rslt.val_191 ) ;
2469   p_val_195  :=  nvl(p_val_195,l_ext_rslt.val_195 ) ;
2466   p_val_192  :=  nvl(p_val_192,l_ext_rslt.val_192 ) ;
2467   p_val_193  :=  nvl(p_val_193,l_ext_rslt.val_193 ) ;
2468   p_val_194  :=  nvl(p_val_194,l_ext_rslt.val_194 ) ;
2470   p_val_196  :=  nvl(p_val_196,l_ext_rslt.val_196 ) ;
2471   p_val_197  :=  nvl(p_val_197,l_ext_rslt.val_197 ) ;
2472   p_val_198  :=  nvl(p_val_198,l_ext_rslt.val_198 ) ;
2473   p_val_199  :=  nvl(p_val_199,l_ext_rslt.val_199 ) ;
2474   p_val_200  :=  nvl(p_val_200,l_ext_rslt.val_200 ) ;
2475   p_val_201  :=  nvl(p_val_201,l_ext_rslt.val_201 ) ;
2476   p_val_202  :=  nvl(p_val_202,l_ext_rslt.val_202 ) ;
2477   p_val_203  :=  nvl(p_val_203,l_ext_rslt.val_203 ) ;
2478   p_val_204  :=  nvl(p_val_204,l_ext_rslt.val_204 ) ;
2479   p_val_205  :=  nvl(p_val_205,l_ext_rslt.val_205 ) ;
2480   p_val_206  :=  nvl(p_val_206,l_ext_rslt.val_206 ) ;
2481   p_val_207  :=  nvl(p_val_207,l_ext_rslt.val_207 ) ;
2482   p_val_208  :=  nvl(p_val_208,l_ext_rslt.val_208 ) ;
2483   p_val_209  :=  nvl(p_val_209,l_ext_rslt.val_209 ) ;
2484   p_val_210  :=  nvl(p_val_210,l_ext_rslt.val_210 ) ;
2485   p_val_211  :=  nvl(p_val_211,l_ext_rslt.val_211 ) ;
2486   p_val_212  :=  nvl(p_val_212,l_ext_rslt.val_212 ) ;
2487   p_val_213  :=  nvl(p_val_213,l_ext_rslt.val_213 ) ;
2488   p_val_214  :=  nvl(p_val_214,l_ext_rslt.val_214 ) ;
2489   p_val_215  :=  nvl(p_val_215,l_ext_rslt.val_215 ) ;
2490   p_val_216  :=  nvl(p_val_216,l_ext_rslt.val_216 ) ;
2491   p_val_217  :=  nvl(p_val_217,l_ext_rslt.val_217 ) ;
2492   p_val_219  :=  nvl(p_val_219,l_ext_rslt.val_219 ) ;
2493   p_val_218  :=  nvl(p_val_218,l_ext_rslt.val_218 ) ;
2494   p_val_220  :=  nvl(p_val_220,l_ext_rslt.val_220 ) ;
2495   p_val_221  :=  nvl(p_val_221,l_ext_rslt.val_221 ) ;
2496   p_val_222  :=  nvl(p_val_222,l_ext_rslt.val_222 ) ;
2497   p_val_223  :=  nvl(p_val_223,l_ext_rslt.val_223 ) ;
2498   p_val_224  :=  nvl(p_val_224,l_ext_rslt.val_224 ) ;
2499   p_val_225  :=  nvl(p_val_225,l_ext_rslt.val_225 ) ;
2500   p_val_226  :=  nvl(p_val_226,l_ext_rslt.val_226 ) ;
2501   p_val_227  :=  nvl(p_val_227,l_ext_rslt.val_227 ) ;
2502   p_val_228  :=  nvl(p_val_228,l_ext_rslt.val_228 ) ;
2503   p_val_229  :=  nvl(p_val_229,l_ext_rslt.val_229 ) ;
2504   p_val_230  :=  nvl(p_val_230,l_ext_rslt.val_230 ) ;
2505   p_val_231  :=  nvl(p_val_231,l_ext_rslt.val_231 ) ;
2506   p_val_232  :=  nvl(p_val_232,l_ext_rslt.val_232 ) ;
2507   p_val_233  :=  nvl(p_val_233,l_ext_rslt.val_233 ) ;
2508   p_val_234  :=  nvl(p_val_234,l_ext_rslt.val_234 ) ;
2509   p_val_235  :=  nvl(p_val_235,l_ext_rslt.val_235 ) ;
2510   p_val_236  :=  nvl(p_val_236,l_ext_rslt.val_236 ) ;
2511   p_val_237  :=  nvl(p_val_237,l_ext_rslt.val_237 ) ;
2512   p_val_238  :=  nvl(p_val_238,l_ext_rslt.val_238 ) ;
2513   p_val_239  :=  nvl(p_val_239,l_ext_rslt.val_239 ) ;
2514   p_val_240  :=  nvl(p_val_240,l_ext_rslt.val_240 ) ;
2515   p_val_241  :=  nvl(p_val_241,l_ext_rslt.val_241 ) ;
2516   p_val_242  :=  nvl(p_val_242,l_ext_rslt.val_242 ) ;
2517   p_val_243  :=  nvl(p_val_243,l_ext_rslt.val_243 ) ;
2518   p_val_244  :=  nvl(p_val_244,l_ext_rslt.val_244 ) ;
2519   p_val_245  :=  nvl(p_val_245,l_ext_rslt.val_245 ) ;
2520   p_val_246  :=  nvl(p_val_246,l_ext_rslt.val_246 ) ;
2521   p_val_247  :=  nvl(p_val_247,l_ext_rslt.val_247 ) ;
2522   p_val_248  :=  nvl(p_val_248,l_ext_rslt.val_248 ) ;
2523   p_val_249  :=  nvl(p_val_249,l_ext_rslt.val_249 ) ;
2524   p_val_250  :=  nvl(p_val_250,l_ext_rslt.val_250 ) ;
2525   p_val_251  :=  nvl(p_val_251,l_ext_rslt.val_251 ) ;
2526   p_val_252  :=  nvl(p_val_252,l_ext_rslt.val_252 ) ;
2527   p_val_253  :=  nvl(p_val_253,l_ext_rslt.val_253 ) ;
2528   p_val_254  :=  nvl(p_val_254,l_ext_rslt.val_254 ) ;
2529   p_val_255  :=  nvl(p_val_255,l_ext_rslt.val_255 ) ;
2530   p_val_256  :=  nvl(p_val_256,l_ext_rslt.val_256 ) ;
2531   p_val_257  :=  nvl(p_val_257,l_ext_rslt.val_257 ) ;
2532   p_val_258  :=  nvl(p_val_258,l_ext_rslt.val_258 ) ;
2533   p_val_259  :=  nvl(p_val_259,l_ext_rslt.val_259 ) ;
2534   p_val_260  :=  nvl(p_val_260,l_ext_rslt.val_260 ) ;
2535   p_val_261  :=  nvl(p_val_261,l_ext_rslt.val_261 ) ;
2536   p_val_262  :=  nvl(p_val_262,l_ext_rslt.val_262 ) ;
2537   p_val_263  :=  nvl(p_val_263,l_ext_rslt.val_263 ) ;
2538   p_val_264  :=  nvl(p_val_264,l_ext_rslt.val_264 ) ;
2539   p_val_265  :=  nvl(p_val_265,l_ext_rslt.val_265 ) ;
2540   p_val_266  :=  nvl(p_val_266,l_ext_rslt.val_266 ) ;
2541   p_val_267  :=  nvl(p_val_267,l_ext_rslt.val_267 ) ;
2542   p_val_268  :=  nvl(p_val_268,l_ext_rslt.val_268 ) ;
2543   p_val_269  :=  nvl(p_val_269,l_ext_rslt.val_269 ) ;
2544   p_val_270  :=  nvl(p_val_270,l_ext_rslt.val_270 ) ;
2545   p_val_271  :=  nvl(p_val_271,l_ext_rslt.val_271 ) ;
2546   p_val_272  :=  nvl(p_val_272,l_ext_rslt.val_272 ) ;
2547   p_val_273  :=  nvl(p_val_273,l_ext_rslt.val_273 ) ;
2548   p_val_274  :=  nvl(p_val_274,l_ext_rslt.val_274 ) ;
2549   p_val_275  :=  nvl(p_val_275,l_ext_rslt.val_275 ) ;
2550   p_val_276  :=  nvl(p_val_276,l_ext_rslt.val_276 ) ;
2551   p_val_277  :=  nvl(p_val_277,l_ext_rslt.val_277 ) ;
2552   p_val_278  :=  nvl(p_val_278,l_ext_rslt.val_278 ) ;
2553   p_val_279  :=  nvl(p_val_279,l_ext_rslt.val_279 ) ;
2554   p_val_280  :=  nvl(p_val_280,l_ext_rslt.val_280 ) ;
2555   p_val_281  :=  nvl(p_val_281,l_ext_rslt.val_281 ) ;
2556   p_val_282  :=  nvl(p_val_282,l_ext_rslt.val_282 ) ;
2557   p_val_283  :=  nvl(p_val_283,l_ext_rslt.val_283 ) ;
2558   p_val_284  :=  nvl(p_val_284,l_ext_rslt.val_284 ) ;
2559   p_val_285  :=  nvl(p_val_285,l_ext_rslt.val_285 ) ;
2560   p_val_286  :=  nvl(p_val_286,l_ext_rslt.val_286 ) ;
2561   p_val_287  :=  nvl(p_val_287,l_ext_rslt.val_287 ) ;
2562   p_val_288  :=  nvl(p_val_288,l_ext_rslt.val_288 ) ;
2563   p_val_289  :=  nvl(p_val_289,l_ext_rslt.val_289 ) ;
2564   p_val_290  :=  nvl(p_val_290,l_ext_rslt.val_290 ) ;
2565   p_val_291  :=  nvl(p_val_291,l_ext_rslt.val_291 ) ;
2566   p_val_292  :=  nvl(p_val_292,l_ext_rslt.val_292 ) ;
2567   p_val_293  :=  nvl(p_val_293,l_ext_rslt.val_293 ) ;
2568   p_val_294  :=  nvl(p_val_294,l_ext_rslt.val_294 ) ;
2569   p_val_295  :=  nvl(p_val_295,l_ext_rslt.val_295 ) ;
2570   p_val_296  :=  nvl(p_val_296,l_ext_rslt.val_296 ) ;
2571   p_val_297  :=  nvl(p_val_297,l_ext_rslt.val_297 ) ;
2572   p_val_298  :=  nvl(p_val_298,l_ext_rslt.val_298 ) ;
2573   p_val_299  :=  nvl(p_val_299,l_ext_rslt.val_299 ) ;
2574   p_val_300  :=  nvl(p_val_300,l_ext_rslt.val_300 ) ;
2575 
2576 
2577   hr_utility.set_location('Mode '||p_ext_chg_rcd_mode, 15);
2578   hr_utility.set_location('Exiting'||l_proc, 15);
2579 
2580 End   chg_rcd_merge  ;
2581 
2582 
2583 --
2584 End ben_ext_adv_conditions;