DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_GB_P11D_EDI_CONTROL

Source


1 PACKAGE BODY PAY_GB_P11D_EDI_CONTROL AS
2 /* $Header: pygbp11dc.pkb 120.5 2008/02/13 12:26:44 parusi noship $ */
3   g_package   CONSTANT VARCHAR2(50) := 'pay_gb_p11d_edi_control.';
4 
5   function  get_header(p_sender_id         in     varchar2,
6                        p_transmission_date in     varchar2,
7                        p_test_transmission in     varchar2,
8                        p_unique_reference  in     varchar2,
9                        p_tax_year          in     varchar2,
10                        p_missing_val       in out NoCopy number,
11                        p_error_count       in out NoCopy number,
12                        p_error_msg1        out NoCopy varchar2,
13                        p_error_msg2        out NoCopy varchar2,
14                        p_error_msg3        out NoCopy varchar2,
15                        p_error_msg4        out NoCopy varchar2,
16                        p_error_msg5        out NoCopy varchar2,
17                        p_error_msg6        out NoCopy varchar2,
18                        p_edi_rec1          out NoCopy varchar2,
19                        p_edi_rec2          out NoCopy varchar2,
20                        p_edi_rec3          out NoCopy varchar2,
21                        p_edi_rec4          out NoCopy varchar2,
22                        p_edi_rec5          out NoCopy varchar2,
23                        p_edi_rec6          out NoCopy varchar2) return number
24   is
25        l_proc   CONSTANT VARCHAR2(50) := g_package || 'get_header';
26   begin
27        if to_number(p_tax_year) < 2006 then
28           return pay_gb_p11d_edi_2005.get_header(p_sender_id         => p_sender_id,
29                                                  p_transmission_date => p_transmission_date,
30                                                  p_test_transmission => p_test_transmission,
31                                                  p_unique_reference  => p_unique_reference,
32                                                  p_tax_year          => p_tax_year,
33                                                  p_missing_val       => p_missing_val,
34                                                  p_error_count       => p_error_count,
35                                                  p_error_msg         => p_error_msg1,
36                                                  p_edi_rec1          => p_edi_rec1,
37                                                  p_edi_rec2          => p_edi_rec2,
38                                                  p_edi_rec3          => p_edi_rec3,
39                                                  p_edi_rec4          => p_edi_rec4,
40                                                  p_edi_rec5          => p_edi_rec5,
41                                                  p_edi_rec6          => p_edi_rec6);
42        elsif to_number(p_tax_year) =  2006 or to_number(p_tax_year) = 2007 then
43              return pay_gb_p11d_edi_2006.get_header(p_sender_id         => p_sender_id,
44                                                  p_transmission_date => p_transmission_date,
45                                                  p_test_transmission => p_test_transmission,
46                                                  p_unique_reference  => p_unique_reference,
47                                                  p_tax_year          => p_tax_year,
48                                                  p_missing_val       => p_missing_val,
49                                                  p_error_count       => p_error_count,
50                                                  p_error_msg1        => p_error_msg1,
51                                                  p_error_msg2        => p_error_msg2,
52                                                  p_error_msg3        => p_error_msg3,
53                                                  p_error_msg4        => p_error_msg4,
54                                                  p_error_msg5        => p_error_msg5,
55                                                  p_error_msg6        => p_error_msg6,
56                                                  p_edi_rec1          => p_edi_rec1,
57                                                  p_edi_rec2          => p_edi_rec2,
58                                                  p_edi_rec3          => p_edi_rec3,
59                                                  p_edi_rec4          => p_edi_rec4,
60                                                  p_edi_rec5          => p_edi_rec5,
61                                                  p_edi_rec6          => p_edi_rec6);
62          else
63             return pay_gb_p11d_edi_2008.get_header(p_sender_id         => p_sender_id,
64                                                  p_transmission_date => p_transmission_date,
65                                                  p_test_transmission => p_test_transmission,
66                                                  p_unique_reference  => p_unique_reference,
67                                                  p_tax_year          => p_tax_year,
68                                                  p_missing_val       => p_missing_val,
69                                                  p_error_count       => p_error_count,
70                                                  p_error_msg1        => p_error_msg1,
71                                                  p_error_msg2        => p_error_msg2,
72                                                  p_error_msg3        => p_error_msg3,
73                                                  p_error_msg4        => p_error_msg4,
74                                                  p_error_msg5        => p_error_msg5,
75                                                  p_error_msg6        => p_error_msg6,
76                                                  p_edi_rec1          => p_edi_rec1,
77                                                  p_edi_rec2          => p_edi_rec2,
78                                                  p_edi_rec3          => p_edi_rec3,
79                                                  p_edi_rec4          => p_edi_rec4,
80                                                  p_edi_rec5          => p_edi_rec5,
81                                                  p_edi_rec6          => p_edi_rec6);
82        end if;
83        return 0;
84   end;
85 
86   function  get_employer(p_tax_office_name  in     varchar2,
87                          p_tax_phone_no     in     varchar2,
88                          p_employer_ref     in     varchar2,
89                          p_employer_name    in     varchar2,
90                          p_employer_addr    in     varchar2,
91                          p_submitter_ref    in     varchar2,
92                          p_message_date     in     varchar2,
93                          p_tax_year         in     varchar2,
94                          p_party            in     varchar2,
95                          p_error_count      in out NoCopy number,
96                          p_error_msg1       out NoCopy varchar2,
97                          p_error_msg2       out NoCopy varchar2,
98                          p_error_msg3       out NoCopy varchar2,
99                          p_error_msg4       out NoCopy varchar2,
100                          p_error_msg5       out NoCopy varchar2,
101                          p_error_msg6       out NoCopy varchar2,
102                          p_error_msg7       out NoCopy varchar2,
103                          p_error_msg8       out NoCopy varchar2,
104                          p_error_msg9       out NoCopy varchar2,
105                          p_edi_rec1         out NoCopy varchar2,
106                          p_edi_rec2         out NoCopy varchar2,
107                          p_edi_rec3         out NoCopy varchar2,
108                          p_edi_rec4         out NoCopy varchar2,
109                          p_edi_rec5         out NoCopy varchar2,
110                          p_edi_rec6         out NoCopy varchar2,
111                          p_edi_rec7         out NoCopy varchar2,
112                          p_edi_rec8         out NoCopy varchar2,
113                          p_edi_rec9         out NoCopy varchar2,
114                          p_edi_rec10        out NoCopy varchar2,
115                          p_edi_rec11        out NoCopy varchar2,
116                          p_edi_rec12        out NoCopy varchar2) return number
117   is
118        l_proc   CONSTANT VARCHAR2(50) := g_package || 'get_employer';
119   begin
120        if to_number(p_tax_year) < 2006 then
121           return pay_gb_p11d_edi_2005.get_employer(p_tax_office_name   => p_tax_office_name,
122                                                    p_tax_phone_no      => p_tax_phone_no,
123                                                    p_employer_ref      => p_employer_ref,
124                                                    p_employer_name     => p_employer_name,
125                                                    p_employer_addr     => p_employer_addr,
126                                                    p_submitter_ref     => p_submitter_ref,
127                                                    p_message_date      => p_message_date,
128                                                    p_tax_year          => p_tax_year,
129                                                    p_party             => p_party,
130                                                    p_error_count       => p_error_count,
131                                                    p_error_msg1        => p_error_msg1,
132                                                    p_error_msg2        => p_error_msg2,
133                                                    p_error_msg3        => p_error_msg3,
134                                                    p_edi_rec1          => p_edi_rec1,
135                                                    p_edi_rec2          => p_edi_rec2,
136                                                    p_edi_rec3          => p_edi_rec3,
137                                                    p_edi_rec4          => p_edi_rec4,
138                                                    p_edi_rec5          => p_edi_rec5,
139                                                    p_edi_rec6          => p_edi_rec6,
140                                                    p_edi_rec7          => p_edi_rec7,
141                                                    p_edi_rec8          => p_edi_rec8,
142                                                    p_edi_rec9          => p_edi_rec9,
143                                                    p_edi_rec10         => p_edi_rec10,
144                                                    p_edi_rec11         => p_edi_rec11,
145                                                    p_edi_rec12         => p_edi_rec12);
146        elsif to_number(p_tax_year) = 2006 or to_number(p_tax_year) = 2007 then
147           return pay_gb_p11d_edi_2006.get_employer(p_tax_office_name   => p_tax_office_name,
148                                                    p_tax_phone_no      => p_tax_phone_no,
149                                                    p_employer_ref      => p_employer_ref,
150                                                    p_employer_name     => p_employer_name,
151                                                    p_employer_addr     => p_employer_addr,
152                                                    p_submitter_ref     => p_submitter_ref,
153                                                    p_message_date      => p_message_date,
154                                                    p_tax_year          => p_tax_year,
155                                                    p_party             => p_party,
156                                                    p_error_count       => p_error_count,
157                                                    p_error_msg1        => p_error_msg1,
158                                                    p_error_msg2        => p_error_msg2,
159                                                    p_error_msg3        => p_error_msg3,
160                                                    p_error_msg4        => p_error_msg4,
161                                                    p_error_msg5        => p_error_msg5,
162                                                    p_error_msg6        => p_error_msg6,
163                                                    p_error_msg7        => p_error_msg7,
164                                                    p_error_msg8        => p_error_msg8,
165                                                    p_error_msg9        => p_error_msg9,
166                                                    p_edi_rec1          => p_edi_rec1,
167                                                    p_edi_rec2          => p_edi_rec2,
168                                                    p_edi_rec3          => p_edi_rec3,
169                                                    p_edi_rec4          => p_edi_rec4,
170                                                    p_edi_rec5          => p_edi_rec5,
171                                                    p_edi_rec6          => p_edi_rec6,
172                                                    p_edi_rec7          => p_edi_rec7,
173                                                    p_edi_rec8          => p_edi_rec8,
174                                                    p_edi_rec9          => p_edi_rec9,
175                                                    p_edi_rec10         => p_edi_rec10,
176                                                    p_edi_rec11         => p_edi_rec11,
177                                                    p_edi_rec12         => p_edi_rec12);
178         else
179             return pay_gb_p11d_edi_2008.get_employer(p_tax_office_name   => p_tax_office_name,
180                                                    p_tax_phone_no      => p_tax_phone_no,
181                                                    p_employer_ref      => p_employer_ref,
182                                                    p_employer_name     => p_employer_name,
183                                                    p_employer_addr     => p_employer_addr,
184                                                    p_submitter_ref     => p_submitter_ref,
185                                                    p_message_date      => p_message_date,
186                                                    p_tax_year          => p_tax_year,
187                                                    p_party             => p_party,
188                                                    p_error_count       => p_error_count,
189                                                    p_error_msg1        => p_error_msg1,
190                                                    p_error_msg2        => p_error_msg2,
191                                                    p_error_msg3        => p_error_msg3,
192                                                    p_error_msg4        => p_error_msg4,
193                                                    p_error_msg5        => p_error_msg5,
194                                                    p_error_msg6        => p_error_msg6,
195                                                    p_error_msg7        => p_error_msg7,
196                                                    p_error_msg8        => p_error_msg8,
197                                                    p_error_msg9        => p_error_msg9,
198                                                    p_edi_rec1          => p_edi_rec1,
199                                                    p_edi_rec2          => p_edi_rec2,
200                                                    p_edi_rec3          => p_edi_rec3,
201                                                    p_edi_rec4          => p_edi_rec4,
202                                                    p_edi_rec5          => p_edi_rec5,
203                                                    p_edi_rec6          => p_edi_rec6,
204                                                    p_edi_rec7          => p_edi_rec7,
205                                                    p_edi_rec8          => p_edi_rec8,
206                                                    p_edi_rec9          => p_edi_rec9,
207                                                    p_edi_rec10         => p_edi_rec10,
208                                                    p_edi_rec11         => p_edi_rec11,
209                                                    p_edi_rec12         => p_edi_rec12);
210        end if;
211        return 0;
212   end;
213 
214   function  get_employee(p_person_id     in         varchar2,
215                          p_pact_id       in         varchar2,
216                          p_tax_year      in         varchar2,
217                          p_error_count   in out NoCopy number,
218                          p_error_msg1    out NoCopy varchar2,
219                          p_error_msg2    out NoCopy varchar2,
220                          p_error_msg3    out NoCopy varchar2,
221                          p_error_msg4    out NoCopy varchar2,
222                          p_error_msg5    out NoCopy varchar2,
223                          p_error_msg6    out NoCopy varchar2,
224                          p_error_msg7    out NoCopy varchar2,
225                          p_error_msg8    out NoCopy varchar2,
226                          p_edi_rec1      out NoCopy varchar2,
227                          p_edi_rec2      out NoCopy varchar2,
228                          p_edi_rec3      out NoCopy varchar2,
229                          p_edi_rec4      out NoCopy varchar2,
230                          p_edi_rec5      out NoCopy varchar2,
231                          p_edi_rec6      out NoCopy varchar2,
232                          p_edi_rec7      out NoCopy varchar2,
233                          p_edi_rec8      out NoCopy varchar2) return number
234   is
235        l_proc   CONSTANT VARCHAR2(50) := g_package || 'get_employee';
236   begin
237        if to_number(p_tax_year) < 2006 then
238           return pay_gb_p11d_edi_2005.get_employee(p_person_id         => p_person_id,
239                                                    p_pact_id           => p_pact_id,
240                                                    p_error_count       => p_error_count,
241                                                    p_error_msg1        => p_error_msg1,
242                                                    p_error_msg2        => p_error_msg2,
243                                                    p_error_msg3        => p_error_msg3,
244                                                    p_error_msg4        => p_error_msg4,
245                                                    p_error_msg5        => p_error_msg5,
246                                                    p_error_msg6        => p_error_msg6,
247                                                    p_error_msg7        => p_error_msg7,
248                                                    p_error_msg8        => p_error_msg8,
249                                                    p_edi_rec1          => p_edi_rec1,
250                                                    p_edi_rec2          => p_edi_rec2,
251                                                    p_edi_rec3          => p_edi_rec3,
252                                                    p_edi_rec4          => p_edi_rec4,
253                                                    p_edi_rec5          => p_edi_rec5,
254                                                    p_edi_rec6          => p_edi_rec6,
255                                                    p_edi_rec7          => p_edi_rec7,
256                                                    p_edi_rec8          => p_edi_rec8);
257        elsif to_number(p_tax_year) = 2006 or to_number(p_tax_year) = 2007 then
258           return pay_gb_p11d_edi_2006.get_employee(p_person_id         => p_person_id,
259                                                    p_pact_id           => p_pact_id,
260                                                    p_error_count       => p_error_count,
261                                                    p_error_msg1        => p_error_msg1,
262                                                    p_error_msg2        => p_error_msg2,
263                                                    p_error_msg3        => p_error_msg3,
264                                                    p_error_msg4        => p_error_msg4,
265                                                    p_error_msg5        => p_error_msg5,
266                                                    p_error_msg6        => p_error_msg6,
267                                                    p_error_msg7        => p_error_msg7,
268                                                    p_error_msg8        => p_error_msg8,
269                                                    p_edi_rec1          => p_edi_rec1,
270                                                    p_edi_rec2          => p_edi_rec2,
271                                                    p_edi_rec3          => p_edi_rec3,
272                                                    p_edi_rec4          => p_edi_rec4,
273                                                    p_edi_rec5          => p_edi_rec5,
274                                                    p_edi_rec6          => p_edi_rec6,
275                                                    p_edi_rec7          => p_edi_rec7,
276                                                    p_edi_rec8          => p_edi_rec8);
277          else
278              return pay_gb_p11d_edi_2008.get_employee(p_person_id         => p_person_id,
279                                                    p_pact_id           => p_pact_id,
280                                                    p_error_count       => p_error_count,
281                                                    p_error_msg1        => p_error_msg1,
282                                                    p_error_msg2        => p_error_msg2,
283                                                    p_error_msg3        => p_error_msg3,
284                                                    p_error_msg4        => p_error_msg4,
285                                                    p_error_msg5        => p_error_msg5,
286                                                    p_error_msg6        => p_error_msg6,
287                                                    p_error_msg7        => p_error_msg7,
288                                                    p_error_msg8        => p_error_msg8,
289                                                    p_edi_rec1          => p_edi_rec1,
290                                                    p_edi_rec2          => p_edi_rec2,
291                                                    p_edi_rec3          => p_edi_rec3,
292                                                    p_edi_rec4          => p_edi_rec4,
293                                                    p_edi_rec5          => p_edi_rec5,
294                                                    p_edi_rec6          => p_edi_rec6,
295                                                    p_edi_rec7          => p_edi_rec7,
296                                                    p_edi_rec8          => p_edi_rec8);
297 
298        end if;
299        return 0;
300   end;
301 
302   function  get_benefit(p_benefit_type  in  varchar2,
303                         p_person_id     in  varchar2,
304                         p_employer_ref  in  varchar2,
305                         p_tax_year      in  varchar2,
306                         p_benefit_count in  varchar2,
307                         p_pact_id       in  varchar2,
308                         p_value1        in out NoCopy varchar2,
309                         p_value2        in out NoCopy varchar2,
310                         p_value3        in out NoCopy varchar2,
311                         p_value4        in out NoCopy varchar2,
312                         p_value5        in out NoCopy varchar2,
313                         p_value6        in out NoCopy varchar2,
314                         p_value7        in out NoCopy varchar2,
315                         p_value8        in out NoCopy varchar2,
316                         p_value9        in out NoCopy varchar2,
317                         p_value10       in out NoCopy varchar2,
318                         p_value11       in out NoCopy varchar2,
319                         p_value12       in out NoCopy varchar2,
320                         p_value13       in out NoCopy varchar2,
321                         p_value14       in out NoCopy varchar2,
322                         p_value15       in out NoCopy varchar2,
323                         p_value16       in out NoCopy varchar2,
324                         p_value17       in out NoCopy varchar2,
325                         p_value18       in out NoCopy varchar2,
326                         p_value19       in out NoCopy varchar2,
327                         p_value20       in out NoCopy varchar2,
328                         p_value21       in out NoCopy varchar2,
329                         p_value22       in out NoCopy varchar2,
330                         p_value23       in out NoCopy varchar2,
331                         p_value24       in out NoCopy varchar2,
332                         p_value25       in out NoCopy varchar2,
333                         p_value26       in out NoCopy varchar2,
334                         p_value27       in out NoCopy varchar2,
335                         p_value28       in out NoCopy varchar2,
336                         p_value29       in out NoCopy varchar2,
337                         p_value30       in out NoCopy varchar2,
338                         p_edi_rec1      out NoCopy varchar2,
339                         p_edi_rec2      out NoCopy varchar2,
340                         p_edi_rec3      out NoCopy varchar2,
341                         p_edi_rec4      out NoCopy varchar2,
342                         p_edi_rec5      out NoCopy varchar2,
343                         p_edi_rec6      out NoCopy varchar2,
344                         p_edi_rec7      out NoCopy varchar2,
345                         p_edi_rec8      out NoCopy varchar2,
346                         p_edi_rec9      out NoCopy varchar2,
347                         p_edi_rec10     out NoCopy varchar2,
348                         p_edi_rec11     out NoCopy varchar2,
349                         p_edi_rec12     out NoCopy varchar2,
350                         p_edi_rec13     out NoCopy varchar2,
351                         p_edi_rec14     out NoCopy varchar2,
352                         p_edi_rec15     out NoCopy varchar2,
353                         p_edi_rec16     out NoCopy varchar2,
354                         p_edi_rec17     out NoCopy varchar2,
355                         p_edi_rec18     out NoCopy varchar2,
356                         p_edi_rec19     out NoCopy varchar2,
357                         p_edi_rec20     out NoCopy varchar2,
358                         p_edi_rec21     out NoCopy varchar2,
359                         p_edi_rec22     out NoCopy varchar2,
360                         p_edi_rec23     out NoCopy varchar2,
361                         p_edi_rec24     out NoCopy varchar2,
362                         p_edi_rec25     out NoCopy varchar2,
363                         p_edi_rec26     out NoCopy varchar2,
364                         p_edi_rec27     out NoCopy varchar2,
365                         p_edi_rec28     out NoCopy varchar2,
366                         p_edi_rec29     out NoCopy varchar2,
367                         p_edi_rec30     out NoCopy varchar2) return number
368   is
369        l_proc   CONSTANT VARCHAR2(50) := g_package || 'get_benefit';
370   begin
371        if to_number(p_tax_year) < 2006 then
372           return pay_gb_p11d_edi_2005.get_benefit(p_benefit_type  =>  p_benefit_type,
373                                                   p_person_id     =>  p_person_id,
374                                                   p_employer_ref  =>  p_employer_ref,
375                                                   p_tax_year      =>  p_tax_year,
376                                                   p_benefit_count =>  p_benefit_count,
377                                                   p_pact_id       =>  p_pact_id,
378                                                   p_value1        =>  p_value1,
379                                                   p_value2        =>  p_value2,
380                                                   p_value3        =>  p_value3,
381                                                   p_value4        =>  p_value4,
382                                                   p_value5        =>  p_value5,
383                                                   p_value6        =>  p_value6,
384                                                   p_value7        =>  p_value7,
385                                                   p_value8        =>  p_value8,
386                                                   p_value9        =>  p_value9,
387                                                   p_value10       =>  p_value10,
388                                                   p_value11       =>  p_value11,
389                                                   p_value12       =>  p_value12,
390                                                   p_value13       =>  p_value13,
391                                                   p_value14       =>  p_value14,
392                                                   p_value15       =>  p_value15,
393                                                   p_value16       =>  p_value16,
394                                                   p_value17       =>  p_value17,
395                                                   p_value18       =>  p_value18,
396                                                   p_value19       =>  p_value19,
397                                                   p_value20       =>  p_value20,
398                                                   p_value21       =>  p_value21,
399                                                   p_value22       =>  p_value22,
400                                                   p_value23       =>  p_value23,
401                                                   p_value24       =>  p_value24,
402                                                   p_value25       =>  p_value25,
403                                                   p_value26       =>  p_value26,
404                                                   p_value27       =>  p_value27,
405                                                   p_value28       =>  p_value28,
406                                                   p_value29       =>  p_value29,
407                                                   p_value30       =>  p_value30,
408                                                   p_edi_rec1      =>  p_edi_rec1,
409                                                   p_edi_rec2      =>  p_edi_rec2,
410                                                   p_edi_rec3      =>  p_edi_rec3,
411                                                   p_edi_rec4      =>  p_edi_rec4,
412                                                   p_edi_rec5      =>  p_edi_rec5,
413                                                   p_edi_rec6      =>  p_edi_rec6,
414                                                   p_edi_rec7      =>  p_edi_rec7,
415                                                   p_edi_rec8      =>  p_edi_rec8,
416                                                   p_edi_rec9      =>  p_edi_rec9,
417                                                   p_edi_rec10     =>  p_edi_rec10,
418                                                   p_edi_rec11     =>  p_edi_rec11,
419                                                   p_edi_rec12     =>  p_edi_rec12,
420                                                   p_edi_rec13     =>  p_edi_rec13,
421                                                   p_edi_rec14     =>  p_edi_rec14,
422                                                   p_edi_rec15     =>  p_edi_rec15,
423                                                   p_edi_rec16     =>  p_edi_rec16,
424                                                   p_edi_rec17     =>  p_edi_rec17,
425                                                   p_edi_rec18     =>  p_edi_rec18,
426                                                   p_edi_rec19     =>  p_edi_rec19,
427                                                   p_edi_rec20     =>  p_edi_rec20,
428                                                   p_edi_rec21     =>  p_edi_rec21,
429                                                   p_edi_rec22     =>  p_edi_rec22,
430                                                   p_edi_rec23     =>  p_edi_rec23,
431                                                   p_edi_rec24     =>  p_edi_rec24,
432                                                   p_edi_rec25     =>  p_edi_rec25,
433                                                   p_edi_rec26     =>  p_edi_rec26,
434                                                   p_edi_rec27     =>  p_edi_rec27,
435                                                   p_edi_rec28     =>  p_edi_rec28,
436                                                   p_edi_rec29     =>  p_edi_rec29,
437                                                   p_edi_rec30     =>  p_edi_rec30);
438        elsif to_number(p_tax_year) = 2006 or to_number(p_tax_year) = 2007 then
439           return pay_gb_p11d_edi_2006.get_benefit(p_benefit_type  =>  p_benefit_type,
440                                                   p_person_id     =>  p_person_id,
441                                                   p_employer_ref  =>  p_employer_ref,
442                                                   p_tax_year      =>  p_tax_year,
443                                                   p_benefit_count =>  p_benefit_count,
444                                                   p_pact_id       =>  p_pact_id,
445                                                   p_value1        =>  p_value1,
446                                                   p_value2        =>  p_value2,
447                                                   p_value3        =>  p_value3,
448                                                   p_value4        =>  p_value4,
449                                                   p_value5        =>  p_value5,
450                                                   p_value6        =>  p_value6,
451                                                   p_value7        =>  p_value7,
452                                                   p_value8        =>  p_value8,
453                                                   p_value9        =>  p_value9,
454                                                   p_value10       =>  p_value10,
455                                                   p_value11       =>  p_value11,
456                                                   p_value12       =>  p_value12,
457                                                   p_value13       =>  p_value13,
458                                                   p_value14       =>  p_value14,
459                                                   p_value15       =>  p_value15,
460                                                   p_value16       =>  p_value16,
461                                                   p_value17       =>  p_value17,
462                                                   p_value18       =>  p_value18,
463                                                   p_value19       =>  p_value19,
464                                                   p_value20       =>  p_value20,
465                                                   p_value21       =>  p_value21,
466                                                   p_value22       =>  p_value22,
467                                                   p_value23       =>  p_value23,
468                                                   p_value24       =>  p_value24,
469                                                   p_value25       =>  p_value25,
470                                                   p_value26       =>  p_value26,
471                                                   p_value27       =>  p_value27,
472                                                   p_value28       =>  p_value28,
473                                                   p_value29       =>  p_value29,
474                                                   p_value30       =>  p_value30,
475                                                   p_edi_rec1      =>  p_edi_rec1,
476                                                   p_edi_rec2      =>  p_edi_rec2,
477                                                   p_edi_rec3      =>  p_edi_rec3,
478                                                   p_edi_rec4      =>  p_edi_rec4,
479                                                   p_edi_rec5      =>  p_edi_rec5,
480                                                   p_edi_rec6      =>  p_edi_rec6,
481                                                   p_edi_rec7      =>  p_edi_rec7,
482                                                   p_edi_rec8      =>  p_edi_rec8,
483                                                   p_edi_rec9      =>  p_edi_rec9,
484                                                   p_edi_rec10     =>  p_edi_rec10,
485                                                   p_edi_rec11     =>  p_edi_rec11,
486                                                   p_edi_rec12     =>  p_edi_rec12,
487                                                   p_edi_rec13     =>  p_edi_rec13,
488                                                   p_edi_rec14     =>  p_edi_rec14,
489                                                   p_edi_rec15     =>  p_edi_rec15,
490                                                   p_edi_rec16     =>  p_edi_rec16,
491                                                   p_edi_rec17     =>  p_edi_rec17,
492                                                   p_edi_rec18     =>  p_edi_rec18,
493                                                   p_edi_rec19     =>  p_edi_rec19,
494                                                   p_edi_rec20     =>  p_edi_rec20,
495                                                   p_edi_rec21     =>  p_edi_rec21,
496                                                   p_edi_rec22     =>  p_edi_rec22,
497                                                   p_edi_rec23     =>  p_edi_rec23,
498                                                   p_edi_rec24     =>  p_edi_rec24,
499                                                   p_edi_rec25     =>  p_edi_rec25,
500                                                   p_edi_rec26     =>  p_edi_rec26,
501                                                   p_edi_rec27     =>  p_edi_rec27,
502                                                   p_edi_rec28     =>  p_edi_rec28,
503                                                   p_edi_rec29     =>  p_edi_rec29,
504                                                   p_edi_rec30     =>  p_edi_rec30);
505        else
506           return pay_gb_p11d_edi_2008.get_benefit(p_benefit_type  =>  p_benefit_type,
507                                                   p_person_id     =>  p_person_id,
508                                                   p_employer_ref  =>  p_employer_ref,
509                                                   p_tax_year      =>  p_tax_year,
510                                                   p_benefit_count =>  p_benefit_count,
511                                                   p_pact_id       =>  p_pact_id,
512                                                   p_value1        =>  p_value1,
513                                                   p_value2        =>  p_value2,
514                                                   p_value3        =>  p_value3,
515                                                   p_value4        =>  p_value4,
516                                                   p_value5        =>  p_value5,
517                                                   p_value6        =>  p_value6,
518                                                   p_value7        =>  p_value7,
519                                                   p_value8        =>  p_value8,
520                                                   p_value9        =>  p_value9,
521                                                   p_value10       =>  p_value10,
522                                                   p_value11       =>  p_value11,
523                                                   p_value12       =>  p_value12,
524                                                   p_value13       =>  p_value13,
525                                                   p_value14       =>  p_value14,
526                                                   p_value15       =>  p_value15,
527                                                   p_value16       =>  p_value16,
528                                                   p_value17       =>  p_value17,
529                                                   p_value18       =>  p_value18,
530                                                   p_value19       =>  p_value19,
531                                                   p_value20       =>  p_value20,
532                                                   p_value21       =>  p_value21,
533                                                   p_value22       =>  p_value22,
534                                                   p_value23       =>  p_value23,
535                                                   p_value24       =>  p_value24,
536                                                   p_value25       =>  p_value25,
537                                                   p_value26       =>  p_value26,
538                                                   p_value27       =>  p_value27,
539                                                   p_value28       =>  p_value28,
540                                                   p_value29       =>  p_value29,
541                                                   p_value30       =>  p_value30,
542                                                   p_edi_rec1      =>  p_edi_rec1,
543                                                   p_edi_rec2      =>  p_edi_rec2,
544                                                   p_edi_rec3      =>  p_edi_rec3,
545                                                   p_edi_rec4      =>  p_edi_rec4,
546                                                   p_edi_rec5      =>  p_edi_rec5,
547                                                   p_edi_rec6      =>  p_edi_rec6,
548                                                   p_edi_rec7      =>  p_edi_rec7,
549                                                   p_edi_rec8      =>  p_edi_rec8,
550                                                   p_edi_rec9      =>  p_edi_rec9,
551                                                   p_edi_rec10     =>  p_edi_rec10,
552                                                   p_edi_rec11     =>  p_edi_rec11,
553                                                   p_edi_rec12     =>  p_edi_rec12,
554                                                   p_edi_rec13     =>  p_edi_rec13,
555                                                   p_edi_rec14     =>  p_edi_rec14,
556                                                   p_edi_rec15     =>  p_edi_rec15,
557                                                   p_edi_rec16     =>  p_edi_rec16,
558                                                   p_edi_rec17     =>  p_edi_rec17,
559                                                   p_edi_rec18     =>  p_edi_rec18,
560                                                   p_edi_rec19     =>  p_edi_rec19,
561                                                   p_edi_rec20     =>  p_edi_rec20,
562                                                   p_edi_rec21     =>  p_edi_rec21,
563                                                   p_edi_rec22     =>  p_edi_rec22,
564                                                   p_edi_rec23     =>  p_edi_rec23,
565                                                   p_edi_rec24     =>  p_edi_rec24,
566                                                   p_edi_rec25     =>  p_edi_rec25,
567                                                   p_edi_rec26     =>  p_edi_rec26,
568                                                   p_edi_rec27     =>  p_edi_rec27,
569                                                   p_edi_rec28     =>  p_edi_rec28,
570                                                   p_edi_rec29     =>  p_edi_rec29,
571                                                   p_edi_rec30     =>  p_edi_rec30);
572 
573        end if;
574        return 0;
575   end;
576 
577   function  get_summary(p_benefit_type  in varchar2,
578                         p_tax_year      in varchar2,
579                         p_value1        in varchar2,
580                         p_value2        in varchar2,
581                         p_value3        in varchar2,
582                         p_value4        in varchar2,
583                         p_value5        in varchar2,
584                         p_value6        in varchar2,
585                         p_value7        in varchar2,
586                         p_value8        in varchar2,
587                         p_value9        in varchar2,
588                         p_value10       in varchar2,
589                         p_value11       in varchar2,
590                         p_value12       in varchar2,
591                         p_value13       in varchar2,
592                         p_value14       in varchar2,
593                         p_value15       in varchar2,
594                         p_value16       in varchar2,
595                         p_value17       in varchar2,
596                         p_value18       in varchar2,
597                         p_value19       in varchar2,
598                         p_value20       in varchar2,
599                         p_value21       in varchar2,
600                         p_value22       in varchar2,
601                         p_value23       in varchar2,
602                         p_value24       in varchar2,
603                         p_value25       in varchar2,
604                         p_value26       in varchar2,
605                         p_value27       in varchar2,
606                         p_value28       in varchar2,
607                         p_value29       in varchar2,
608                         p_value30       in varchar2,
609                         p_edi_rec1      out NoCopy varchar2,
610                         p_edi_rec2      out NoCopy varchar2,
611                         p_edi_rec3      out NoCopy varchar2,
612                         p_edi_rec4      out NoCopy varchar2,
613                         p_edi_rec5      out NoCopy varchar2,
614                         p_edi_rec6      out NoCopy varchar2,
615                         p_edi_rec7      out NoCopy varchar2,
616                         p_edi_rec8      out NoCopy varchar2,
617                         p_edi_rec9      out NoCopy varchar2,
618                         p_edi_rec10     out NoCopy varchar2,
619                         p_edi_rec11     out NoCopy varchar2,
620                         p_edi_rec12     out NoCopy varchar2,
621                         p_edi_rec13     out NoCopy varchar2,
622                         p_edi_rec14     out NoCopy varchar2,
623                         p_edi_rec15     out NoCopy varchar2,
624                         p_edi_rec16     out NoCopy varchar2,
625                         p_edi_rec17     out NoCopy varchar2,
626                         p_edi_rec18     out NoCopy varchar2,
627                         p_edi_rec19     out NoCopy varchar2,
628                         p_edi_rec20     out NoCopy varchar2,
629                         p_edi_rec21     out NoCopy varchar2,
630                         p_edi_rec22     out NoCopy varchar2,
631                         p_edi_rec23     out NoCopy varchar2,
632                         p_edi_rec24     out NoCopy varchar2,
633                         p_edi_rec25     out NoCopy varchar2,
634                         p_edi_rec26     out NoCopy varchar2,
635                         p_edi_rec27     out NoCopy varchar2,
636                         p_edi_rec28     out NoCopy varchar2,
637                         p_edi_rec29     out NoCopy varchar2,
638                         p_edi_rec30     out NoCopy varchar2) return number
639   is
640        l_proc   CONSTANT VARCHAR2(50) := g_package || 'get_summary';
641   begin
642        if to_number(p_tax_year) < 2006 then
643           return pay_gb_p11d_edi_2005.get_summary(p_benefit_type  =>  p_benefit_type,
644                                                   p_tax_year      =>  p_tax_year,
645                                                   p_value1        =>  p_value1,
646                                                   p_value2        =>  p_value2,
647                                                   p_value3        =>  p_value3,
648                                                   p_value4        =>  p_value4,
649                                                   p_value5        =>  p_value5,
650                                                   p_value6        =>  p_value6,
651                                                   p_value7        =>  p_value7,
652                                                   p_value8        =>  p_value8,
653                                                   p_value9        =>  p_value9,
654                                                   p_value10       =>  p_value10,
655                                                   p_value11       =>  p_value11,
656                                                   p_value12       =>  p_value12,
657                                                   p_value13       =>  p_value13,
658                                                   p_value14       =>  p_value14,
659                                                   p_value15       =>  p_value15,
660                                                   p_value16       =>  p_value16,
661                                                   p_value17       =>  p_value17,
662                                                   p_value18       =>  p_value18,
663                                                   p_value19       =>  p_value19,
664                                                   p_value20       =>  p_value20,
665                                                   p_value21       =>  p_value21,
666                                                   p_value22       =>  p_value22,
667                                                   p_value23       =>  p_value23,
668                                                   p_value24       =>  p_value24,
669                                                   p_value25       =>  p_value25,
670                                                   p_value26       =>  p_value26,
671                                                   p_value27       =>  p_value27,
672                                                   p_value28       =>  p_value28,
673                                                   p_value29       =>  p_value29,
674                                                   p_value30       =>  p_value30,
675                                                   p_edi_rec1      =>  p_edi_rec1,
676                                                   p_edi_rec2      =>  p_edi_rec2,
677                                                   p_edi_rec3      =>  p_edi_rec3,
678                                                   p_edi_rec4      =>  p_edi_rec4,
679                                                   p_edi_rec5      =>  p_edi_rec5,
680                                                   p_edi_rec6      =>  p_edi_rec6,
681                                                   p_edi_rec7      =>  p_edi_rec7,
682                                                   p_edi_rec8      =>  p_edi_rec8,
683                                                   p_edi_rec9      =>  p_edi_rec9,
684                                                   p_edi_rec10     =>  p_edi_rec10,
685                                                   p_edi_rec11     =>  p_edi_rec11,
686                                                   p_edi_rec12     =>  p_edi_rec12,
687                                                   p_edi_rec13     =>  p_edi_rec13,
688                                                   p_edi_rec14     =>  p_edi_rec14,
689                                                   p_edi_rec15     =>  p_edi_rec15,
690                                                   p_edi_rec16     =>  p_edi_rec16,
691                                                   p_edi_rec17     =>  p_edi_rec17,
692                                                   p_edi_rec18     =>  p_edi_rec18,
693                                                   p_edi_rec19     =>  p_edi_rec19,
694                                                   p_edi_rec20     =>  p_edi_rec20,
695                                                   p_edi_rec21     =>  p_edi_rec21,
696                                                   p_edi_rec22     =>  p_edi_rec22,
697                                                   p_edi_rec23     =>  p_edi_rec23,
698                                                   p_edi_rec24     =>  p_edi_rec24,
699                                                   p_edi_rec25     =>  p_edi_rec25,
700                                                   p_edi_rec26     =>  p_edi_rec26,
701                                                   p_edi_rec27     =>  p_edi_rec27,
702                                                   p_edi_rec28     =>  p_edi_rec28,
703                                                   p_edi_rec29     =>  p_edi_rec29,
704                                                   p_edi_rec30     =>  p_edi_rec30);
705        elsif to_number(p_tax_year) = 2006 or to_number(p_tax_year) = 2007 then
706           return pay_gb_p11d_edi_2006.get_summary(p_benefit_type  =>  p_benefit_type,
707                                                   p_tax_year      =>  p_tax_year,
708                                                   p_value1        =>  p_value1,
709                                                   p_value2        =>  p_value2,
710                                                   p_value3        =>  p_value3,
711                                                   p_value4        =>  p_value4,
712                                                   p_value5        =>  p_value5,
713                                                   p_value6        =>  p_value6,
714                                                   p_value7        =>  p_value7,
715                                                   p_value8        =>  p_value8,
716                                                   p_value9        =>  p_value9,
717                                                   p_value10       =>  p_value10,
718                                                   p_value11       =>  p_value11,
719                                                   p_value12       =>  p_value12,
720                                                   p_value13       =>  p_value13,
721                                                   p_value14       =>  p_value14,
722                                                   p_value15       =>  p_value15,
723                                                   p_value16       =>  p_value16,
724                                                   p_value17       =>  p_value17,
725                                                   p_value18       =>  p_value18,
726                                                   p_value19       =>  p_value19,
727                                                   p_value20       =>  p_value20,
728                                                   p_value21       =>  p_value21,
729                                                   p_value22       =>  p_value22,
730                                                   p_value23       =>  p_value23,
731                                                   p_value24       =>  p_value24,
732                                                   p_value25       =>  p_value25,
733                                                   p_value26       =>  p_value26,
734                                                   p_value27       =>  p_value27,
735                                                   p_value28       =>  p_value28,
736                                                   p_value29       =>  p_value29,
737                                                   p_value30       =>  p_value30,
738                                                   p_edi_rec1      =>  p_edi_rec1,
739                                                   p_edi_rec2      =>  p_edi_rec2,
740                                                   p_edi_rec3      =>  p_edi_rec3,
741                                                   p_edi_rec4      =>  p_edi_rec4,
742                                                   p_edi_rec5      =>  p_edi_rec5,
743                                                   p_edi_rec6      =>  p_edi_rec6,
744                                                   p_edi_rec7      =>  p_edi_rec7,
745                                                   p_edi_rec8      =>  p_edi_rec8,
746                                                   p_edi_rec9      =>  p_edi_rec9,
747                                                   p_edi_rec10     =>  p_edi_rec10,
748                                                   p_edi_rec11     =>  p_edi_rec11,
749                                                   p_edi_rec12     =>  p_edi_rec12,
750                                                   p_edi_rec13     =>  p_edi_rec13,
751                                                   p_edi_rec14     =>  p_edi_rec14,
752                                                   p_edi_rec15     =>  p_edi_rec15,
753                                                   p_edi_rec16     =>  p_edi_rec16,
754                                                   p_edi_rec17     =>  p_edi_rec17,
755                                                   p_edi_rec18     =>  p_edi_rec18,
756                                                   p_edi_rec19     =>  p_edi_rec19,
757                                                   p_edi_rec20     =>  p_edi_rec20,
758                                                   p_edi_rec21     =>  p_edi_rec21,
759                                                   p_edi_rec22     =>  p_edi_rec22,
760                                                   p_edi_rec23     =>  p_edi_rec23,
761                                                   p_edi_rec24     =>  p_edi_rec24,
762                                                   p_edi_rec25     =>  p_edi_rec25,
763                                                   p_edi_rec26     =>  p_edi_rec26,
764                                                   p_edi_rec27     =>  p_edi_rec27,
765                                                   p_edi_rec28     =>  p_edi_rec28,
766                                                   p_edi_rec29     =>  p_edi_rec29,
767                                                   p_edi_rec30     =>  p_edi_rec30);
768        else
769           return pay_gb_p11d_edi_2008.get_summary(p_benefit_type  =>  p_benefit_type,
770                                                   p_tax_year      =>  p_tax_year,
771                                                   p_value1        =>  p_value1,
772                                                   p_value2        =>  p_value2,
773                                                   p_value3        =>  p_value3,
774                                                   p_value4        =>  p_value4,
775                                                   p_value5        =>  p_value5,
776                                                   p_value6        =>  p_value6,
777                                                   p_value7        =>  p_value7,
778                                                   p_value8        =>  p_value8,
779                                                   p_value9        =>  p_value9,
780                                                   p_value10       =>  p_value10,
781                                                   p_value11       =>  p_value11,
782                                                   p_value12       =>  p_value12,
783                                                   p_value13       =>  p_value13,
784                                                   p_value14       =>  p_value14,
785                                                   p_value15       =>  p_value15,
786                                                   p_value16       =>  p_value16,
787                                                   p_value17       =>  p_value17,
788                                                   p_value18       =>  p_value18,
789                                                   p_value19       =>  p_value19,
790                                                   p_value20       =>  p_value20,
791                                                   p_value21       =>  p_value21,
792                                                   p_value22       =>  p_value22,
793                                                   p_value23       =>  p_value23,
794                                                   p_value24       =>  p_value24,
795                                                   p_value25       =>  p_value25,
796                                                   p_value26       =>  p_value26,
797                                                   p_value27       =>  p_value27,
798                                                   p_value28       =>  p_value28,
799                                                   p_value29       =>  p_value29,
800                                                   p_value30       =>  p_value30,
801                                                   p_edi_rec1      =>  p_edi_rec1,
802                                                   p_edi_rec2      =>  p_edi_rec2,
803                                                   p_edi_rec3      =>  p_edi_rec3,
804                                                   p_edi_rec4      =>  p_edi_rec4,
805                                                   p_edi_rec5      =>  p_edi_rec5,
806                                                   p_edi_rec6      =>  p_edi_rec6,
807                                                   p_edi_rec7      =>  p_edi_rec7,
808                                                   p_edi_rec8      =>  p_edi_rec8,
809                                                   p_edi_rec9      =>  p_edi_rec9,
810                                                   p_edi_rec10     =>  p_edi_rec10,
811                                                   p_edi_rec11     =>  p_edi_rec11,
812                                                   p_edi_rec12     =>  p_edi_rec12,
813                                                   p_edi_rec13     =>  p_edi_rec13,
814                                                   p_edi_rec14     =>  p_edi_rec14,
815                                                   p_edi_rec15     =>  p_edi_rec15,
816                                                   p_edi_rec16     =>  p_edi_rec16,
817                                                   p_edi_rec17     =>  p_edi_rec17,
818                                                   p_edi_rec18     =>  p_edi_rec18,
819                                                   p_edi_rec19     =>  p_edi_rec19,
820                                                   p_edi_rec20     =>  p_edi_rec20,
821                                                   p_edi_rec21     =>  p_edi_rec21,
822                                                   p_edi_rec22     =>  p_edi_rec22,
823                                                   p_edi_rec23     =>  p_edi_rec23,
824                                                   p_edi_rec24     =>  p_edi_rec24,
825                                                   p_edi_rec25     =>  p_edi_rec25,
826                                                   p_edi_rec26     =>  p_edi_rec26,
827                                                   p_edi_rec27     =>  p_edi_rec27,
828                                                   p_edi_rec28     =>  p_edi_rec28,
829                                                   p_edi_rec29     =>  p_edi_rec29,
830                                                   p_edi_rec30     =>  p_edi_rec30);
831        end if;
832        return 0;
833   end;
834 
835   function  get_footer(p_tax_year     in     varchar2,
836                        p_record_count in     varchar2,
837                        p_error_count  in     varchar2,
838                        p_missing_val  in     varchar2,
839                        p_error_msg1   out NoCopy varchar2,
840                        p_error_msg2   out NoCopy varchar2,
841                        p_edi_rec1     out NoCopy varchar2,
842                        p_edi_rec2     out NoCopy varchar2,
843                        p_edi_rec3     out NoCopy varchar2) return number
844   is
845        l_proc   CONSTANT VARCHAR2(50) := g_package || 'get_footer';
846   begin
847        if to_number(p_tax_year) < 2006 then
848           return pay_gb_p11d_edi_2005.get_footer(p_record_count      => p_record_count,
849                                                  p_error_count       => p_error_count,
850                                                  p_missing_val       => p_missing_val,
851                                                  p_error_msg1        => p_error_msg1,
852                                                  p_error_msg2        => p_error_msg2,
853                                                  p_edi_rec1          => p_edi_rec1,
854                                                  p_edi_rec2          => p_edi_rec2,
855                                                  p_edi_rec3          => p_edi_rec3);
856        elsif to_number(p_tax_year) = 2006 or to_number(p_tax_year) = 2007 then
857           return pay_gb_p11d_edi_2006.get_footer(p_record_count      => p_record_count,
858                                                  p_error_count       => p_error_count,
859                                                  p_missing_val       => p_missing_val,
860                                                  p_error_msg1        => p_error_msg1,
861                                                  p_error_msg2        => p_error_msg2,
862                                                  p_edi_rec1          => p_edi_rec1,
863                                                  p_edi_rec2          => p_edi_rec2,
864                                                  p_edi_rec3          => p_edi_rec3);
865        else
866           return pay_gb_p11d_edi_2008.get_footer(p_record_count      => p_record_count,
867                                                  p_error_count       => p_error_count,
868                                                  p_missing_val       => p_missing_val,
869                                                  p_error_msg1        => p_error_msg1,
870                                                  p_error_msg2        => p_error_msg2,
871                                                  p_edi_rec1          => p_edi_rec1,
872                                                  p_edi_rec2          => p_edi_rec2,
873                                                  p_edi_rec3          => p_edi_rec3);
874        end if;
875        return 0;
876   end;
877 
878   function  count_occurrence(p_benefit_type  in  varchar2,
879                              p_person_id     in  varchar2,
880                              p_employer_ref  in  varchar2,
881                              p_tax_year      in  varchar2,
882                              p_pact_id       in  varchar2) return number
883   is
884        l_proc   CONSTANT VARCHAR2(50) := g_package || 'count_occurrence';
885   begin
886        if to_number(p_tax_year) < 2006 then
887           return pay_gb_p11d_edi_2005.count_occurrence(p_benefit_type  => p_benefit_type,
888                                                        p_person_id     => p_person_id,
889                                                        p_employer_ref  => p_employer_ref,
890                                                        p_pact_id       => p_pact_id);
891        elsif to_number(p_tax_year) = 2006 or to_number(p_tax_year) = 2007 then
892           return pay_gb_p11d_edi_2006.count_occurrence(p_benefit_type  => p_benefit_type,
893                                                        p_person_id     => p_person_id,
894                                                        p_employer_ref  => p_employer_ref,
895                                                        p_pact_id       => p_pact_id);
896        else
897           return pay_gb_p11d_edi_2008.count_occurrence(p_benefit_type  => p_benefit_type,
898                                                        p_person_id     => p_person_id,
899                                                        p_employer_ref  => p_employer_ref,
900                                                        p_pact_id       => p_pact_id);
901        end if;
902   end;
903 
904   function  check_occurrence(p_benefit_type in varchar2,
905                              p_tax_year     in varchar2) return varchar2
906   is
907        l_proc   CONSTANT VARCHAR2(50) := g_package || 'check_occurrence';
908   begin
909        if to_number(p_tax_year) < 2006 then
910           return pay_gb_p11d_edi_2005.check_occurrence(p_benefit_type  => p_benefit_type);
911        elsif to_number(p_tax_year) = 2006 or to_number(p_tax_year) = 2007 then
912           return pay_gb_p11d_edi_2006.check_occurrence(p_benefit_type  => p_benefit_type);
913        else
914           return pay_gb_p11d_edi_2008.check_occurrence(p_benefit_type  => p_benefit_type);
915        end if;
916   end;
917 
918   function  get_benefit_name(p_benefit_type in varchar2,
919                              p_tax_year     in varchar2) return varchar2
920   is
921        l_proc   CONSTANT VARCHAR2(50) := g_package || 'get_benefit_name';
922   begin
923        if to_number(p_tax_year) < 2006 then
924           return pay_gb_p11d_edi_2005.get_benefit_name(p_benefit_type  => p_benefit_type);
925        elsif to_number(p_tax_year) = 2006 or to_number(p_tax_year) = 2007 then
926           return pay_gb_p11d_edi_2006.get_benefit_name(p_benefit_type  => p_benefit_type);
927        else
928           return pay_gb_p11d_edi_2008.get_benefit_name(p_benefit_type  => p_benefit_type);
929        end if;
930   end;
931 
932   function  fetch_total_benefit(p_assact_id     in  number,
933                                 p_pact_id       in  number,
934                                 p_employer_ref  in  varchar2) return number
935   is
936        l_proc   CONSTANT VARCHAR2(50) := g_package || 'fetch_total_benefit';
937        l_rep_run varchar2(20);
938   begin
939        pay_gb_p11d_archive_ss.get_parameters(
940          p_payroll_action_id => p_pact_id,
941          p_token_name        => 'Rep_Run',
942          p_token_value       => l_rep_run);
943 
944        if to_number(l_rep_run) = 2006 or to_number(l_rep_run) = 2007 then
945           return pay_gb_p11d_edi_2006.fetch_total_benefit(p_assact_id,p_employer_ref);
946        else
947           return pay_gb_p11d_edi_2008.fetch_total_benefit(p_assact_id,p_employer_ref);
948        end if;
949   end;
950 
951 END PAY_GB_P11D_EDI_CONTROL;