1 PACKAGE pay_us_mmrf_w2_format_record AS
2 /* $Header: pyusw2fr.pkh 120.3.12010000.1 2008/07/27 23:59:28 appldev ship $ */
3
4 /*===========================================================================+
5 | Copyright (c) 2001 Oracle Corporation |
6 | Redwood Shores, California, USA |
7 | All rights reserved. |
8 +============================================================================+
9
10 Name
11 pay_us_mmrf_w2_format_record
12
13 Purpose
14 The purpose of this package is to format reacord to support the
15 generation of W2 magnetic tape for US legilsative requirements.
16
17 Notes
18 Referenced By: Package pay_us_reporting_utils_pkg
19
20 History
21
22 14-Jul-03 ppanda 115.0 Created
23 07-Nov-05 sudedas 115.2 4391218 Definition of format_W2_RW_record
24 changed. 2 new (optional) input parameters
25 added at the end.
26 17-Aug-06 sudedas 115.3 5256745 Definition of format_W2_RW_record
27 modified with 2 optional input parameters
28 p_input_43 and p_input_44.
29 07-Dec-07 vmkulkar 115.4 6644795 Added function format_W2_RV_record
30 6648007
31
32
33 */
34
35 -- This function determines the required length for fields
36 -- in various data record. Derived lengh is then validated for various
37 -- records. This function is being referenced from DAT_VALIDATION f
38 -- unction in package pay_us_reporting_utils_pkg
39 --
40 FUNCTION set_req_field_length (p_report_type IN varchar2,
41 p_format IN varchar2,
42 p_report_qualifier IN varchar2,
43 p_record_name IN varchar2,
44 p_input_1 IN varchar2,
45 p_input_2 IN varchar2,
46 p_input_3 IN varchar2,
47 p_input_4 IN varchar2,
48 p_input_5 IN varchar2
49 ) return NUMBER;
50
51 -- End of Package Body pay_us_mmrf_data_validation
52
53 --
54 -- This procedure formats contact person information for W2 reporting
55 --
56 PROCEDURE format_w2_contact_prsn_info (
57 p_report_qualifier IN varchar2,
58 p_record_name IN varchar2,
59 p_validate IN varchar2,
60 p_exclude_from_output IN OUT nocopy varchar2,
61 p_contact_prsn_name IN OUT nocopy varchar2,
62 p_contact_prsn_phone IN OUT nocopy varchar2,
63 p_contact_prsn_extension IN OUT nocopy varchar2,
64 p_contact_prsn_email IN OUT nocopy varchar2,
65 p_contact_prsn_fax IN OUT nocopy varchar2,
66 p_contact_prsn_first_name IN OUT nocopy varchar2,
67 p_contact_prsn_middle_name IN OUT nocopy varchar2,
68 p_contact_prsn_last_name IN OUT nocopy varchar2);
69
70 --
71 -- Procedure to Format Employee and Employer Address
72 -- This procedure is being called from function GET_EE_ADDRESS
73 -- and GET_ER_ADDRESS
74 --
75 PROCEDURE format_mmref_address(
76 p_name IN varchar2,
77 p_locality_company_id IN varchar2,
78 p_emp_number IN varchar2,
79 p_address_line_1 IN varchar2,
80 p_address_line_2 IN varchar2,
81 p_address_line_3 IN varchar2,
82 p_town_or_city IN varchar2,
83 p_state IN varchar2,
84 p_postal_code IN varchar2,
85 p_country IN varchar2,
86 p_region_1 IN varchar2,
87 p_region_2 IN varchar2,
88 p_valid_address IN varchar2,
89 p_item_name IN varchar2,
90 p_report_type IN varchar2,
91 p_record_name IN varchar2,
92 p_validate IN varchar2,
93 p_local_code IN varchar2,
94 p_exclude_from_output OUT nocopy varchar2,
95 sp_out_1 IN OUT nocopy varchar2,
96 sp_out_2 IN OUT nocopy varchar2,
97 sp_out_3 IN OUT nocopy varchar2,
98 sp_out_4 IN OUT nocopy varchar2,
99 sp_out_5 IN OUT nocopy varchar2,
100 sp_out_6 IN OUT nocopy varchar2,
101 sp_out_7 IN OUT nocopy varchar2,
102 sp_out_8 IN OUT nocopy varchar2,
103 sp_out_9 IN OUT nocopy varchar2,
104 sp_out_10 IN OUT nocopy varchar2 );
105 --
106 --
107 -- This function is used for formatting RA Record
108 --
109 FUNCTION format_W2_RA_record(
110 p_effective_date IN varchar2,
111 p_report_type IN varchar2,
112 p_format IN varchar2,
113 p_report_qualifier IN varchar2,
114 p_record_name IN varchar2,
115 p_input_1 IN varchar2,
116 p_input_2 IN varchar2,
117 p_input_3 IN varchar2,
118 p_input_4 IN varchar2,
119 p_input_5 IN varchar2,
120 p_input_6 IN varchar2,
121 p_input_7 IN varchar2,
122 p_input_8 IN varchar2,
123 p_input_9 IN varchar2,
124 p_input_10 IN varchar2,
125 p_input_11 IN varchar2,
126 p_input_12 IN varchar2,
127 p_input_13 IN varchar2,
128 p_input_14 IN varchar2,
129 p_input_15 IN varchar2,
130 p_input_16 IN varchar2,
131 p_input_17 IN varchar2,
132 p_input_18 IN varchar2,
133 p_input_19 IN varchar2,
134 p_input_20 IN varchar2,
135 p_input_21 IN varchar2,
136 p_input_22 IN varchar2,
137 p_input_23 IN varchar2,
138 p_input_24 IN varchar2,
139 p_input_25 IN varchar2,
140 p_input_26 IN varchar2,
141 p_input_27 IN varchar2,
142 p_input_28 IN varchar2,
143 p_input_29 IN varchar2,
144 p_input_30 IN varchar2,
145 p_input_31 IN varchar2,
146 p_input_32 IN varchar2,
147 p_input_33 IN varchar2,
148 p_input_34 IN varchar2,
149 p_input_35 IN varchar2,
150 p_input_36 IN varchar2,
151 p_input_37 IN varchar2,
152 p_input_38 IN varchar2,
153 p_input_39 IN varchar2,
154 p_input_40 IN varchar2,
155 p_validate IN varchar2,
156 p_exclude_from_output OUT nocopy varchar2,
157 sp_out_1 OUT nocopy varchar2,
158 sp_out_2 OUT nocopy varchar2,
159 sp_out_3 OUT nocopy varchar2,
160 sp_out_4 OUT nocopy varchar2,
161 sp_out_5 OUT nocopy varchar2,
162 ret_str_len OUT nocopy number,
163 p_error OUT nocopy boolean
164 ) RETURN VARCHAR2;
165
166 --
167 -- This function is used for formatting RV Record (PR)
168 --
169 FUNCTION format_W2_RV_record(
170 p_effective_date IN varchar2,
171 p_report_type IN varchar2,
172 p_format IN varchar2,
173 p_report_qualifier IN varchar2,
174 p_record_name IN varchar2,
175 p_input_1 IN varchar2,
176 p_input_2 IN varchar2,
177 p_input_3 IN varchar2,
178 p_input_4 IN varchar2,
179 p_input_5 IN varchar2,
180 p_input_6 IN varchar2,
181 p_input_7 IN varchar2,
182 p_input_8 IN varchar2,
183 p_input_9 IN varchar2,
184 p_input_10 IN varchar2,
185 p_input_11 IN varchar2,
186 p_input_12 IN varchar2,
187 p_input_13 IN varchar2,
188 p_input_14 IN varchar2,
189 p_input_15 IN varchar2,
190 p_input_16 IN varchar2,
191 p_input_17 IN varchar2,
192 p_input_18 IN varchar2,
193 p_input_19 IN varchar2,
194 p_input_20 IN varchar2,
195 p_input_21 IN varchar2,
196 p_input_22 IN varchar2,
197 p_input_23 IN varchar2,
198 p_input_24 IN varchar2,
199 p_input_25 IN varchar2,
200 p_input_26 IN varchar2,
201 p_input_27 IN varchar2,
202 p_input_28 IN varchar2,
203 p_input_29 IN varchar2,
204 p_input_30 IN varchar2,
205 p_input_31 IN varchar2,
206 p_input_32 IN varchar2,
207 p_input_33 IN varchar2,
208 p_input_34 IN varchar2,
209 p_input_35 IN varchar2,
210 p_input_36 IN varchar2,
211 p_input_37 IN varchar2,
212 p_input_38 IN varchar2,
213 p_input_39 IN varchar2,
214 p_input_40 IN varchar2,
215 p_validate IN varchar2,
216 p_exclude_from_output OUT nocopy varchar2,
217 sp_out_1 OUT nocopy varchar2,
218 sp_out_2 OUT nocopy varchar2,
219 sp_out_3 OUT nocopy varchar2,
220 sp_out_4 OUT nocopy varchar2,
221 sp_out_5 OUT nocopy varchar2,
222 ret_str_len OUT nocopy number,
223 p_error OUT nocopy boolean
224 ) RETURN VARCHAR2;
225
226
227 --
228 -- This function is used for formatting RE Record
229 --
230 FUNCTION format_W2_RE_record(
231 p_effective_date IN varchar2,
232 p_report_type IN varchar2,
233 p_format IN varchar2,
234 p_report_qualifier IN varchar2,
235 p_record_name IN varchar2,
236 p_input_1 IN varchar2,
237 p_input_2 IN varchar2,
238 p_input_3 IN varchar2,
239 p_input_4 IN varchar2,
240 p_input_5 IN varchar2,
241 p_input_6 IN varchar2,
242 p_input_7 IN varchar2,
243 p_input_8 IN varchar2,
244 p_input_9 IN varchar2,
245 p_input_10 IN varchar2,
246 p_input_11 IN varchar2,
247 p_input_12 IN varchar2,
248 p_input_13 IN varchar2,
249 p_input_14 IN varchar2,
250 p_input_15 IN varchar2,
251 p_input_16 IN varchar2,
252 p_input_17 IN varchar2,
253 p_input_18 IN varchar2,
254 p_input_19 IN varchar2,
255 p_input_20 IN varchar2,
256 p_input_21 IN varchar2,
257 p_input_22 IN varchar2,
258 p_input_23 IN varchar2,
259 p_input_24 IN varchar2,
260 p_input_25 IN varchar2,
261 p_input_26 IN varchar2,
262 p_input_27 IN varchar2,
263 p_input_28 IN varchar2,
264 p_input_29 IN varchar2,
265 p_input_30 IN varchar2,
266 p_input_31 IN varchar2,
267 p_input_32 IN varchar2,
268 p_input_33 IN varchar2,
269 p_input_34 IN varchar2,
270 p_input_35 IN varchar2,
271 p_input_36 IN varchar2,
272 p_input_37 IN varchar2,
273 p_input_38 IN varchar2,
274 p_input_39 IN varchar2,
275 p_input_40 IN varchar2,
276 p_validate IN varchar2,
277 p_exclude_from_output OUT nocopy varchar2,
278 sp_out_1 OUT nocopy varchar2,
279 sp_out_2 OUT nocopy varchar2,
280 sp_out_3 OUT nocopy varchar2,
281 sp_out_4 OUT nocopy varchar2,
282 sp_out_5 OUT nocopy varchar2,
283 ret_str_len OUT nocopy number,
284 p_error OUT nocopy boolean
285 ) RETURN VARCHAR2;
286 --
287 -- This function is used for formatting RW Record
288 --
289 -- Allowing additional two parameters
290
291 FUNCTION format_W2_RW_record(
292 p_effective_date IN varchar2,
293 p_report_type IN varchar2,
294 p_format IN varchar2,
295 p_report_qualifier IN varchar2,
296 p_record_name IN varchar2,
297 p_input_1 IN varchar2,
298 p_input_2 IN varchar2,
299 p_input_3 IN varchar2,
300 p_input_4 IN varchar2,
301 p_input_5 IN varchar2,
302 p_input_6 IN varchar2,
303 p_input_7 IN varchar2,
304 p_input_8 IN varchar2,
305 p_input_9 IN varchar2,
306 p_input_10 IN varchar2,
307 p_input_11 IN varchar2,
308 p_input_12 IN varchar2,
309 p_input_13 IN varchar2,
310 p_input_14 IN varchar2,
311 p_input_15 IN varchar2,
312 p_input_16 IN varchar2,
313 p_input_17 IN varchar2,
314 p_input_18 IN varchar2,
315 p_input_19 IN varchar2,
316 p_input_20 IN varchar2,
317 p_input_21 IN varchar2,
318 p_input_22 IN varchar2,
319 p_input_23 IN varchar2,
320 p_input_24 IN varchar2,
321 p_input_25 IN varchar2,
322 p_input_26 IN varchar2,
323 p_input_27 IN varchar2,
324 p_input_28 IN varchar2,
325 p_input_29 IN varchar2,
326 p_input_30 IN varchar2,
327 p_input_31 IN varchar2,
328 p_input_32 IN varchar2,
332 p_input_36 IN varchar2,
329 p_input_33 IN varchar2,
330 p_input_34 IN varchar2,
331 p_input_35 IN varchar2,
333 p_input_37 IN varchar2,
334 p_input_38 IN varchar2,
335 p_input_39 IN varchar2,
336 p_input_40 IN varchar2,
337 p_validate IN varchar2,
338 p_exclude_from_output OUT nocopy varchar2,
339 sp_out_1 OUT nocopy varchar2,
340 sp_out_2 OUT nocopy varchar2,
341 sp_out_3 OUT nocopy varchar2,
342 sp_out_4 OUT nocopy varchar2,
343 sp_out_5 OUT nocopy varchar2,
344 ret_str_len OUT nocopy number,
345 p_error OUT nocopy boolean,
346 p_input_41 IN varchar2 default null,
347 p_input_42 IN varchar2 default null,
348 p_input_43 IN varchar2 default null,
349 p_input_44 IN varchar2 default null /* Bug 5256745 */
350 ) RETURN VARCHAR2;
351
352 -- End of function format_W2_RW_record
353 --
354 -- This function is used for formatting RO Record
355 --
356 FUNCTION format_W2_RO_record(
357 p_effective_date IN varchar2,
358 p_report_type IN varchar2,
359 p_format IN varchar2,
360 p_report_qualifier IN varchar2,
361 p_record_name IN varchar2,
362 p_input_1 IN varchar2,
363 p_input_2 IN varchar2,
364 p_input_3 IN varchar2,
365 p_input_4 IN varchar2,
366 p_input_5 IN varchar2,
367 p_input_6 IN varchar2,
368 p_input_7 IN varchar2,
369 p_input_8 IN varchar2,
370 p_input_9 IN varchar2,
371 p_input_10 IN varchar2,
372 p_input_11 IN varchar2,
373 p_input_12 IN varchar2,
374 p_input_13 IN varchar2,
375 p_input_14 IN varchar2,
376 p_input_15 IN varchar2,
377 p_input_16 IN varchar2,
378 p_input_17 IN varchar2,
379 p_input_18 IN varchar2,
380 p_input_19 IN varchar2,
381 p_input_20 IN varchar2,
382 p_input_21 IN varchar2,
383 p_input_22 IN varchar2,
384 p_input_23 IN varchar2,
385 p_input_24 IN varchar2,
386 p_input_25 IN varchar2,
387 p_input_26 IN varchar2,
388 p_input_27 IN varchar2,
389 p_input_28 IN varchar2,
390 p_input_29 IN varchar2,
391 p_input_30 IN varchar2,
392 p_input_31 IN varchar2,
393 p_input_32 IN varchar2,
394 p_input_33 IN varchar2,
395 p_input_34 IN varchar2,
396 p_input_35 IN varchar2,
397 p_input_36 IN varchar2,
398 p_input_37 IN varchar2,
399 p_input_38 IN varchar2,
400 p_input_39 IN varchar2,
401 p_input_40 IN varchar2,
402 p_validate IN varchar2,
403 p_exclude_from_output OUT nocopy varchar2,
404 sp_out_1 OUT nocopy varchar2,
405 sp_out_2 OUT nocopy varchar2,
406 sp_out_3 OUT nocopy varchar2,
407 sp_out_4 OUT nocopy varchar2,
408 sp_out_5 OUT nocopy varchar2,
409 ret_str_len OUT nocopy number,
410 p_error OUT nocopy boolean
411 ) RETURN VARCHAR2;
412
413 --
414 -- This function is used for formatting RS Record
415 --
416 FUNCTION format_W2_RS_record(
417 p_effective_date IN varchar2,
418 p_report_type IN varchar2,
419 p_format IN varchar2,
420 p_report_qualifier IN varchar2,
421 p_record_name IN varchar2,
422 p_input_1 IN varchar2,
423 p_input_2 IN varchar2,
424 p_input_3 IN varchar2,
425 p_input_4 IN varchar2,
426 p_input_5 IN varchar2,
427 p_input_6 IN varchar2,
428 p_input_7 IN varchar2,
432 p_input_11 IN varchar2,
429 p_input_8 IN varchar2,
430 p_input_9 IN varchar2,
431 p_input_10 IN varchar2,
433 p_input_12 IN varchar2,
434 p_input_13 IN varchar2,
435 p_input_14 IN varchar2,
436 p_input_15 IN varchar2,
437 p_input_16 IN varchar2,
438 p_input_17 IN varchar2,
439 p_input_18 IN varchar2,
440 p_input_19 IN varchar2,
441 p_input_20 IN varchar2,
442 p_input_21 IN varchar2,
443 p_input_22 IN varchar2,
444 p_input_23 IN varchar2,
445 p_input_24 IN varchar2,
446 p_input_25 IN varchar2,
447 p_input_26 IN varchar2,
448 p_input_27 IN varchar2,
449 p_input_28 IN varchar2,
450 p_input_29 IN varchar2,
451 p_input_30 IN varchar2,
452 p_input_31 IN varchar2,
453 p_input_32 IN varchar2,
454 p_input_33 IN varchar2,
455 p_input_34 IN varchar2,
456 p_input_35 IN varchar2,
457 p_input_36 IN varchar2,
458 p_input_37 IN varchar2,
459 p_input_38 IN varchar2,
460 p_input_39 IN varchar2,
461 p_input_40 IN varchar2,
462 p_validate IN varchar2,
463 p_exclude_from_output OUT nocopy varchar2,
464 sp_out_1 OUT nocopy varchar2,
465 sp_out_2 OUT nocopy varchar2,
466 sp_out_3 OUT nocopy varchar2,
467 sp_out_4 OUT nocopy varchar2,
468 sp_out_5 OUT nocopy varchar2,
469 ret_str_len OUT nocopy number,
470 p_error OUT nocopy boolean
471 ) RETURN VARCHAR2;
472
473 --
474 -- This function is used for formatting RT Record
475 --
476 FUNCTION format_W2_RT_record(
477 p_effective_date IN varchar2,
478 p_report_type IN varchar2,
479 p_format IN varchar2,
480 p_report_qualifier IN varchar2,
481 p_record_name IN varchar2,
482 p_input_1 IN varchar2,
483 p_input_2 IN varchar2,
484 p_input_3 IN varchar2,
485 p_input_4 IN varchar2,
486 p_input_5 IN varchar2,
487 p_input_6 IN varchar2,
488 p_input_7 IN varchar2,
489 p_input_8 IN varchar2,
490 p_input_9 IN varchar2,
491 p_input_10 IN varchar2,
492 p_input_11 IN varchar2,
493 p_input_12 IN varchar2,
494 p_input_13 IN varchar2,
495 p_input_14 IN varchar2,
496 p_input_15 IN varchar2,
497 p_input_16 IN varchar2,
498 p_input_17 IN varchar2,
499 p_input_18 IN varchar2,
500 p_input_19 IN varchar2,
501 p_input_20 IN varchar2,
502 p_input_21 IN varchar2,
503 p_input_22 IN varchar2,
504 p_input_23 IN varchar2,
505 p_input_24 IN varchar2,
506 p_input_25 IN varchar2,
507 p_input_26 IN varchar2,
508 p_input_27 IN varchar2,
509 p_input_28 IN varchar2,
510 p_input_29 IN varchar2,
511 p_input_30 IN varchar2,
512 p_input_31 IN varchar2,
513 p_input_32 IN varchar2,
514 p_input_33 IN varchar2,
515 p_input_34 IN varchar2,
516 p_input_35 IN varchar2,
517 p_input_36 IN varchar2,
518 p_input_37 IN varchar2,
519 p_input_38 IN varchar2,
520 p_input_39 IN varchar2,
521 p_input_40 IN varchar2,
522 p_validate IN varchar2,
523 p_exclude_from_output OUT nocopy varchar2,
524 sp_out_1 OUT nocopy varchar2,
525 sp_out_2 OUT nocopy varchar2,
526 sp_out_3 OUT nocopy varchar2,
530 p_error OUT nocopy boolean
527 sp_out_4 OUT nocopy varchar2,
528 sp_out_5 OUT nocopy varchar2,
529 ret_str_len OUT nocopy number,
531 ) RETURN VARCHAR2;
532 --
533 -- This function is used for formatting RU Record
534 --
535 FUNCTION format_W2_RU_record(
536 p_effective_date IN varchar2,
537 p_report_type IN varchar2,
538 p_format IN varchar2,
539 p_report_qualifier IN varchar2,
540 p_record_name IN varchar2,
541 p_input_1 IN varchar2,
542 p_input_2 IN varchar2,
543 p_input_3 IN varchar2,
544 p_input_4 IN varchar2,
545 p_input_5 IN varchar2,
546 p_input_6 IN varchar2,
547 p_input_7 IN varchar2,
548 p_input_8 IN varchar2,
549 p_input_9 IN varchar2,
550 p_input_10 IN varchar2,
551 p_input_11 IN varchar2,
552 p_input_12 IN varchar2,
553 p_input_13 IN varchar2,
554 p_input_14 IN varchar2,
555 p_input_15 IN varchar2,
556 p_input_16 IN varchar2,
557 p_input_17 IN varchar2,
558 p_input_18 IN varchar2,
559 p_input_19 IN varchar2,
560 p_input_20 IN varchar2,
561 p_input_21 IN varchar2,
562 p_input_22 IN varchar2,
563 p_input_23 IN varchar2,
564 p_input_24 IN varchar2,
565 p_input_25 IN varchar2,
566 p_input_26 IN varchar2,
567 p_input_27 IN varchar2,
568 p_input_28 IN varchar2,
569 p_input_29 IN varchar2,
570 p_input_30 IN varchar2,
571 p_input_31 IN varchar2,
572 p_input_32 IN varchar2,
573 p_input_33 IN varchar2,
574 p_input_34 IN varchar2,
575 p_input_35 IN varchar2,
576 p_input_36 IN varchar2,
577 p_input_37 IN varchar2,
578 p_input_38 IN varchar2,
579 p_input_39 IN varchar2,
580 p_input_40 IN varchar2,
581 p_validate IN varchar2,
582 p_exclude_from_output OUT nocopy varchar2,
583 sp_out_1 OUT nocopy varchar2,
584 sp_out_2 OUT nocopy varchar2,
585 sp_out_3 OUT nocopy varchar2,
586 sp_out_4 OUT nocopy varchar2,
587 sp_out_5 OUT nocopy varchar2,
588 ret_str_len OUT nocopy number,
589 p_error OUT nocopy boolean
590 ) RETURN VARCHAR2;
591 --
592 -- This function is used for formatting RF Record
593 --
594 FUNCTION format_W2_RF_record(
595 p_effective_date IN varchar2,
596 p_report_type IN varchar2,
597 p_format IN varchar2,
598 p_report_qualifier IN varchar2,
599 p_record_name IN varchar2,
600 p_record_identifier IN varchar2,
601 p_total_no_of_record IN varchar2,
602 p_total_wages IN varchar2,
603 p_total_taxes IN varchar2,
604 p_format_mode IN varchar2,
608 p_error OUT nocopy boolean
605 p_validate IN varchar2,
606 p_exclude_from_output OUT nocopy varchar2,
607 ret_str_len OUT nocopy number,
609 ) RETURN VARCHAR2;
610 --
611 --
612 END pay_us_mmrf_w2_format_record; -- End of Package Specification