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;
|
|
|