DBA Data[Home] [Help]

PACKAGE: APPS.PAY_US_W2C_IN_MMREF2_FORMAT

Source


1 PACKAGE PAY_US_W2C_IN_MMREF2_FORMAT  as
2 /* $Header: payusw2cinmmref2.pkh 120.2 2007/01/10 12:59:20 sausingh noship $  */
3  /*===========================================================================+
4  |               Copyright (c) 2001 Oracle Corporation                        |
5  |                  Redwood Shores, California, USA                           |
6  |                       All rights reserved.                                 |
7  +============================================================================+
8   Name
9     pay_us_w2c_in_mmref2_format
10 
11   File
12     payusw2cinmmref2.pkh
13 
14   Purpose
15     The purpose of this package is to support the generation of magnetic tape W-2c
16     reports in MMREF-2 format for US legilsative requirements.
17 
18   Notes
19 
20   History
21 
22    Date      User Id       Version    Description
23    24-OCT-03 ppanda        115.0      created
24    26-OCT-04 meshah        115.1      added action_information21 to TYPE
25                                       action_rcw_info_rec for ER Health
26                                       Savings account. Bug# 3650105.
27    10-Jan-07 sausingh      115.2      added action_information_24, action_information_25
28                                       and p_output_51 to p_output_54 for the bug 5358272
29 
30 
31  ============================================================================*/
32  -- Global Variable
33 
34     g_number	NUMBER;
35 
36 
37 FUNCTION format_w2c_record(
38                    p_effective_date       IN  varchar2,
39                    p_report_type          IN  varchar2,
40                    p_format               IN  varchar2,
41                    p_report_qualifier     IN  varchar2,
42                    p_record_name          IN  varchar2,
43                    p_input_1              IN  varchar2,
44                    p_input_2              IN  varchar2,
45                    p_input_3              IN  varchar2,
46                    p_input_4              IN  varchar2,
47                    p_input_5              IN  varchar2,
48                    p_input_6              IN  varchar2,
49                    p_input_7              IN  varchar2,
50                    p_input_8              IN  varchar2,
51                    p_input_9              IN  varchar2,
52                    p_input_10             IN  varchar2,
53                    p_input_11             IN  varchar2,
54                    p_input_12             IN  varchar2,
55                    p_input_13             IN  varchar2,
56                    p_input_14             IN  varchar2,
57                    p_input_15             IN  varchar2,
58                    p_input_16             IN  varchar2,
59                    p_input_17             IN  varchar2,
60                    p_input_18             IN  varchar2,
61                    p_input_19             IN  varchar2,
62                    p_input_20             IN  varchar2,
63                    p_input_21             IN  varchar2,
64                    p_input_22             IN  varchar2,
65                    p_input_23             IN  varchar2,
66                    p_input_24             IN  varchar2,
67                    p_input_25             IN  varchar2,
68                    p_input_26             IN  varchar2,
69                    p_input_27             IN  varchar2,
70                    p_input_28             IN  varchar2,
71                    p_input_29             IN  varchar2,
72                    p_input_30             IN  varchar2,
73                    p_input_31             IN  varchar2,
74                    p_input_32             IN  varchar2,
75                    p_input_33             IN  varchar2,
76                    p_input_34             IN  varchar2,
77                    p_input_35             IN  varchar2,
78                    p_input_36             IN  varchar2,
79                    p_input_37             IN  varchar2,
80                    p_input_38             IN  varchar2,
81                    p_input_39             IN  varchar2,
82                    p_input_40             IN  varchar2,
83                    p_validate             IN  varchar2,
84                    p_exclude_from_output  OUT nocopy varchar2,
85                    sp_out_1               OUT nocopy varchar2,
86                    sp_out_2               OUT nocopy varchar2,
87                    sp_out_3               OUT nocopy varchar2,
88                    sp_out_4               OUT nocopy varchar2,
89                    sp_out_5               OUT nocopy varchar2,
90                    ret_str_len            OUT nocopy number
91                  )
92 
93 return varchar2;
94 
95 /* -------------------------------------------------------------
96    Function Name : print_record_header
97    Purpose       : Function will return the String for header
98                    or title line for the Table or table heading
99                    related to record for printing in audit files
100 
101    Error checking
102 
103    Special Note  :
104 
105   -------------------------------------------------------------- */
106 
107 FUNCTION print_w2c_record_header(
108                    p_effective_date       IN  varchar2,
109                    p_report_type          IN  varchar2,
110                    p_format               IN  varchar2,
111                    p_report_qualifier     IN  varchar2,
112                    p_record_name          IN  varchar2,
113                    p_input_1              IN  varchar2,
114                    p_input_2              IN  varchar2,
115                    p_input_3              IN  varchar2,
116                    p_input_4              IN  varchar2,
117                    p_input_5              IN  varchar2,
118                    p_validate             IN  varchar2,
119                    p_exclude_from_output  OUT nocopy varchar2,
120                    sp_out_1               OUT nocopy varchar2,
121                    sp_out_2               OUT nocopy varchar2,
122                    sp_out_3               OUT nocopy varchar2,
123                    sp_out_4               OUT nocopy varchar2,
124                    sp_out_5               OUT nocopy varchar2,
125                    sp_out_6               OUT nocopy varchar2,
126                    sp_out_7               OUT nocopy varchar2,
127                    sp_out_8               OUT nocopy varchar2,
128                    sp_out_9               OUT nocopy varchar2,
129                    sp_out_10              OUT nocopy varchar2
130                  )  RETURN VARCHAR2;
131 
132  /* ******************************************************************
133   ** PL/SQL Record to store the archived values for RCW Record
134   ****************************************************************** */
135   TYPE action_rcw_info_rec IS RECORD
136    ( assignment_Action_id      NUMBER
137     ,SSN                       varchar2(200)
138     ,first_name                varchar2(200)
139     ,middle_name               varchar2(200)
140     ,last_name                 varchar2(200)
141     ,action_information1       NUMBER(14,2) := 0    -- wages, tips and other compensation
142     ,action_information2       NUMBER(14,2) := 0    -- FIT withheld
143     ,action_information3       NUMBER(14,2) := 0    -- SS Wages
144     ,action_information4       NUMBER(14,2) := 0    -- SS Tax withheld
145     ,action_information5       NUMBER(14,2) := 0    -- Medicare Wages/Tips
146     ,action_information6       NUMBER(14,2) := 0    -- Medicare Tax withheld
147     ,action_information7       NUMBER(14,2) := 0    -- Social Security Tips
148     ,action_information8       NUMBER(14,2) := 0    -- Advanced EIC
149     ,action_information9       NUMBER(14,2) := 0    -- Dependent Care benefits
150     ,action_information10      NUMBER(14,2) := 0    -- deferred compensation contributions to section 401(K)
151     ,action_information11      NUMBER(14,2) := 0    -- deferred compensation contributions to section 403(b)
152     ,action_information12      NUMBER(14,2) := 0    -- deferred compensation contributions to section 408(K)(6)
153     ,action_information13      NUMBER(14,2) := 0    -- deferred compensation contributions to section 457(b)
154     ,action_information14      NUMBER(14,2) := 0    -- deferred compensation contributions to section 501(c)(18)(D)
155     ,action_information15      NUMBER(14,2) := 0    -- Deferred compensation contributions
156     ,action_information16      NUMBER(14,2) := 0    -- Military employees basic quarters, subsistence and combat pay
157     ,action_information17      NUMBER(14,2) := 0    -- nonqualified plan section 457 distributions or contributions
158     ,action_information18      NUMBER(14,2) := 0    -- nonqualified plan not section 457 distributions or contributions
159     ,action_information19      NUMBER(14,2) := 0    -- employer cost of premiums for GTL over $50000
160     ,action_information20      NUMBER(14,2) := 0    -- income from the exercise of nonstatutory stock options
161     ,action_information21      NUMBER(14,2) := 0    -- ER Health Savings Account
162     ,action_information22      NUMBER(14,2) := 0    -- Nontaxable Combat Pay
163     ,action_information23      NUMBER(14,2) := 0    -- 409A deferrals
164     ,action_information24      NUMBER(14,2) := 0    -- Designed ROTH contributio-- ns to a 401(k) plan /* 5358272 */
165     ,action_information25      NUMBER(14,2) := 0    -- Designed ROTH contributio-- ns to a 403(b) plan /* 5358272 */
166     ,statutory_emp_indicator   VARCHAR2(200) := ' '
167     ,retirement_plan_indicator VARCHAR2(200) := ' '
168     ,sick_pay_indicator        VARCHAR2(200) := ' '
169     );
170 /*******************************************************************
171   ** PL/SQL table of record to store the archived values of RCW Record
172   *******************************************************************/
173   TYPE action_rcw_info_tab IS TABLE OF  action_rcw_info_rec
174   INDEX BY BINARY_INTEGER;
175 
176   ltr_rcw_info action_rcw_info_tab;
177 
178 
179  /*******************************************************************
180   ** PL/SQL Record to store the archived values for RCO Record
181   *******************************************************************/
182   TYPE action_rco_info_rec IS RECORD
183    ( action_information1       NUMBER(14,2) := 0    -- allocated tips
184     ,action_information2       NUMBER(14,2) := 0    -- uncollected employee tax on tips
185     ,action_information3       NUMBER(14,2) := 0    -- Medical Savings Account
186     ,action_information4       NUMBER(14,2) := 0    -- Simple Retirement Account
187     ,action_information5       NUMBER(14,2) := 0    -- Qualified adoption expenses
188     ,action_information6       NUMBER(14,2) := 0    -- uncollected social security or RRTA tax on GTL insurance over $50000
189     ,action_information7       NUMBER(14,2) := 0    -- uncollected medicare tax on GTL insurance over $50,000
190     ,action_information8       NUMBER(14,2) := 0    -- 409A income
191     );
192 
193   /*******************************************************************
194   ** PL/SQL table of record to store the archived values of RCO Record
195   *******************************************************************/
196   TYPE action_rco_info_tab IS TABLE OF  action_rco_info_rec
197   INDEX BY BINARY_INTEGER;
198 
199   ltr_rco_info action_rco_info_tab;
200 
201  /*******************************************************************
202   ** PL/SQL Record to store the archived values for RCT Record
203   *******************************************************************/
204   TYPE rct_info_rec IS RECORD
205    ( rct_wage_old          NUMBER(14,2) := 0    -- Old RCW Wage Total
206     ,rct_wage_old_formated varchar2(15) := ' '  -- Old RCW Wage Total reported on RCT
207     ,rct_wage_new          NUMBER(14,2) := 0    -- New RCW Wage Total reported on RCT
208     ,rct_wage_new_formated varchar2(15) := ' '
209     ,rct_identical_flag    varchar2(10) := 'Y'
210    );
211 
212   /*******************************************************************
213   ** PL/SQL table of record to store the archived values of RCT Record
214   *******************************************************************/
215   TYPE rct_info_tab IS TABLE OF  rct_info_rec
216   INDEX BY BINARY_INTEGER;
217 
218   ltr_rct_info rct_info_tab;
219 
220  /*******************************************************************
221   ** PL/SQL Record to store the archived values for RCU Record
222   *******************************************************************/
223   TYPE rcu_info_rec IS RECORD
224    ( rcu_wage_old           NUMBER(14,2) := 0    -- Old RCO Wage Total
225     ,rcu_wage_old_formated  varchar2(15) := ' '  -- OLD RCO Wage Total reported on RCU
226     ,rcu_wage_new           NUMBER(14,2) := 0    -- New RCO Wage Total
227     ,rcu_wage_new_formated  varchar2(15) := ' '  -- New RCO Wage Total reported on RCU
228     ,rcu_identical_flag     varchar2(10) := 'Y'
229    );
230 
231   /*******************************************************************
232   ** PL/SQL table of record to store the archived values of RCO Record
233   *******************************************************************/
234   TYPE rcu_info_tab IS TABLE OF  rcu_info_rec
235   INDEX BY BINARY_INTEGER;
236 
237   ltr_rcu_info rcu_info_tab;
238 
239  /*******************************************************************
240   ** PL/SQL Record to store the column of Formatted RCW record
241   *******************************************************************/
242 
243   TYPE format_rcw_rec IS RECORD
244    (
245      ssn                   varchar2(100),
246      first_name            varchar2(100),
247      middle_name           varchar2(100),
248      last_name             varchar2(100),
249      location_address      varchar2(100),
250      delivery_address      varchar2(100),
251      city                  varchar2(100),
252      state                 varchar2(100),
253      zip                   varchar2(100),
254      zip_extension         varchar2(100),
255      foreign_state         varchar2(100),
256      foreign_postal        varchar2(100),
257      country_code          varchar2(100),
258      wage_1                varchar2(100),
259      wage_2                varchar2(100),
260      wage_3                varchar2(100),
261      wage_4                varchar2(100),
262      wage_5                varchar2(100),
263      wage_6                varchar2(100),
264      wage_7                varchar2(100),
265      wage_8                varchar2(100),
266      wage_9                varchar2(100),
267      wage_10               varchar2(100),
268      wage_11               varchar2(100),
269      wage_12               varchar2(100),
270      wage_13               varchar2(100),
271      wage_14               varchar2(100),
272      wage_15               varchar2(100),
273      wage_16               varchar2(100),
274      wage_17               varchar2(100),
275      wage_18               varchar2(100),
276      wage_19               varchar2(100),
277      wage_20               varchar2(100),
278      stat_emp_indicator    varchar2(100),
279      retire_plan_indicator varchar2(100),
280      sick_pay_indicator    varchar2(100)
281    );
282 
283   /*******************************************************************
284   ** PL/SQL table of record to store the archived values of RCT Record
285   *******************************************************************/
286 
287   TYPE rcw_format_rec IS TABLE OF  format_rcw_rec
288   INDEX BY BINARY_INTEGER;
289 
290   rcw_record rcw_format_rec;
291 
292   rcw_exclude_flag            varchar2(10) := 'N';
293   rco_exclude_flag            varchar2(10) := 'N';
294   rcw_number_of_correction    number       := 0;
295   rco_number_of_correction    number       := 0;
296 
297 
298   number_of_valid_rcw_rct     number       := 0;      -- Number of Valid RCW Record to be reported in RCT
299   number_of_valid_rco_rcu     number       := 0;      -- Number of Valid RCO Record to be reported in RCU
300 
301   number_of_error_rcw_rct     number       := 0;      -- Number of Error RCW Record to be reported in RCT
302   number_of_error_rco_rcu     number       := 0;      -- Number of Error RCO Record to be reported in RCU
303 
304   number_of_error_rcw_rcf     number       := 0;      -- Number of Error RCW Record to be reported in RCF
305   number_of_error_rco_rcf     number       := 0;      -- Number of Error RCO Record to be reported in RCF
306 
307   number_of_valid_rcw_rcf     number       := 0;      -- Number of Valid RCW Record to be reported in RCF
308   number_of_valid_rco_rcf     number       := 0;      -- Number of Valid RCO Record to be reported in RCF
309 
310   rcw_mf_record                varchar2(32767) := '';
311   rcw_csv_record               varchar2(32767) := '';
312   rcw_blank_csv_record         varchar2(32767) := '';
313   rco_mf_record                varchar2(32767) := '';
314   rco_csv_record               varchar2(32767) := '';
318                           wage_old_value           number        := 0,
315   rco_blank_csv_record         varchar2(32767) := '';
316 
317   TYPE wage_rec IS RECORD(identical_flag           varchar2(3)   := 'Y',
319                           wage_old_value_formated  varchar2(100) := '0',
320                           wage_new_value           number        := 0,
321                           wage_new_value_formated  varchar2(100) := '0'
322                          );
323 wage_record  wage_rec;
324 TYPE table_wage_record IS TABLE OF wage_record%TYPE
325                             INDEX BY BINARY_INTEGER;
326 
327 PROCEDURE  GET_ARCHIVED_VALUES ( p_action_type            varchar2 -- O Originally Reported,  C Corrected
328                                 ,p_record_type            varchar2 -- RCW, RCO
329                                 ,p_assignment_action_id   number
330                                 ,p_tax_unit_id            number);
331 
332 FUNCTION  pay_us_w2c_RCW_record ( p_effective_date            IN varchar2,
333                                   p_report_type               IN varchar2,
334                                   p_format                    IN varchar2,
335                                   p_report_qualifier          IN varchar2,
336                                   p_record_name               IN varchar2,
337                                   p_tax_unit_id               IN varchar2,
338                                   p_record_identifier         IN varchar2,
339                                   p_ssn                       IN varchar2,
340                                   p_first_name                IN varchar2,
341                                   p_middle_name               IN varchar2,
342                                   p_last_name                 IN varchar2,
343                                   p_sufix                     IN varchar2,
344                                   p_location_address          IN varchar2,
345                                   p_delivery_address          IN varchar2,
346                                   p_city                      IN varchar2,
347                                   p_state                     IN varchar2,
348                                   p_zip                       IN varchar2,
349                                   p_zip_extension             IN varchar2,
350                                   p_foreign_state             IN varchar2,
351                                   p_foreign_postal_code       IN varchar2,
352                                   p_country_code              IN varchar2,
353                                   p_orig_assignment_actid     IN varchar2,
354                                   p_correct_assignment_actid  IN varchar2,
355                                   p_employee_number           IN varchar2,
356                                   p_format_type               IN varchar2,
357                                   p_validate                  IN varchar2,
358                                   p_exclude_from_output       OUT nocopy varchar2,
359                                   sp_out_1                    OUT nocopy varchar2,
360                                   sp_out_2                    OUT nocopy varchar2,
361                                   sp_out_3                    OUT nocopy varchar2,
362                                   sp_out_4                    OUT nocopy varchar2,
363                                   sp_out_5                    OUT nocopy varchar2,
364                                   ret_str_len                 OUT nocopy varchar2,
365                                   p_error                     OUT nocopy boolean
366                                   ) return varchar2;
367 
368 Function Initialize_GRE_Level_Total return number;
369 
370 FUNCTION format_w2c_total_record(
371                    p_effective_date        IN  varchar2,
372                    p_report_type           IN  varchar2,
373                    p_format                IN  varchar2,
374                    p_report_qualifier      IN  varchar2,
375                    p_record_name           IN  varchar2,
376                    p_input_1               IN  varchar2,
377                    p_input_2               IN  varchar2,
378                    p_input_3               IN  varchar2,
379                    p_input_4               IN  varchar2,
380                    p_input_5               IN  varchar2,
381                    p_output_1              OUT nocopy  varchar2,
382                    p_output_2              OUT nocopy  varchar2,
383                    p_output_3              OUT nocopy  varchar2,
384                    p_output_4              OUT nocopy  varchar2,
385                    p_output_5              OUT nocopy  varchar2,
386                    p_output_6              OUT nocopy  varchar2,
387                    p_output_7              OUT nocopy  varchar2,
388                    p_output_8              OUT nocopy  varchar2,
389                    p_output_9              OUT nocopy  varchar2,
390                    p_output_10             OUT nocopy  varchar2,
391                    p_output_11             OUT nocopy  varchar2,
392                    p_output_12             OUT nocopy  varchar2,
393                    p_output_13             OUT nocopy  varchar2,
394                    p_output_14             OUT nocopy  varchar2,
395                    p_output_15             OUT nocopy  varchar2,
396                    p_output_16             OUT nocopy  varchar2,
397                    p_output_17             OUT nocopy  varchar2,
398                    p_output_18             OUT nocopy  varchar2,
399                    p_output_19             OUT nocopy  varchar2,
400                    p_output_20             OUT nocopy  varchar2,
401                    p_output_21             OUT nocopy  varchar2,
402                    p_output_22             OUT nocopy  varchar2,
403                    p_output_23             OUT nocopy  varchar2,
404                    p_output_24             OUT nocopy  varchar2,
405                    p_output_25             OUT nocopy  varchar2,
406                    p_output_26             OUT nocopy  varchar2,
407                    p_output_27             OUT nocopy  varchar2,
408                    p_output_28             OUT nocopy  varchar2,
409                    p_output_29             OUT nocopy  varchar2,
410                    p_output_30             OUT nocopy  varchar2,
411                    p_output_31             OUT nocopy  varchar2,
412                    p_output_32             OUT nocopy  varchar2,
413                    p_output_33             OUT nocopy  varchar2,
414                    p_output_34             OUT nocopy  varchar2,
415                    p_output_35             OUT nocopy  varchar2,
416                    p_output_36             OUT nocopy  varchar2,
417                    p_output_37             OUT nocopy  varchar2,
418                    p_output_38             OUT nocopy  varchar2,
419                    p_output_39             OUT nocopy  varchar2,
420                    p_output_40             OUT nocopy  varchar2,
421                    p_output_41             OUT nocopy  varchar2,
422                    p_output_42             OUT nocopy  varchar2,
423                    p_output_43             OUT nocopy  varchar2,
424                    p_output_44             OUT nocopy  varchar2,
425                    p_output_45             OUT nocopy  varchar2,
426                    p_output_46             OUT nocopy  varchar2,
427                    p_output_51             OUT nocopy  varchar2, /* 5358272 */
428                    p_output_52             OUT nocopy  varchar2, /* 5358272 */
429                    p_output_53             OUT nocopy  varchar2, /* 5358272 */
430                    p_output_54             OUT nocopy  varchar2, /* 5358272 */
431                    p_validate              IN  varchar2,
432                    p_exclude_from_output   OUT nocopy varchar2,
433                    sp_out_1                OUT nocopy varchar2,
434                    sp_out_2                OUT nocopy varchar2,
435                    sp_out_3                OUT nocopy varchar2,
436                    sp_out_4                OUT nocopy varchar2,
437                    sp_out_5                OUT nocopy varchar2,
438                    ret_str_len             OUT nocopy varchar2,
439                    p_output_47             OUT nocopy  varchar2,
440                    p_output_48             OUT nocopy  varchar2,
441                    p_output_49             OUT nocopy  varchar2,
442                    p_output_50             OUT nocopy  varchar2
443 
444 
445                  ) RETURN VARCHAR2;
446 
447 
448 END pay_us_w2c_in_mmref2_format;