DBA Data[Home] [Help]

PACKAGE: APPS.PAY_US_MAGW2_REPORTING

Source


1 package pay_us_magw2_reporting AUTHID CURRENT_USER as
2  /* $Header: pyyepmw2.pkh 115.13 2002/12/03 03:01:44 ppanda ship $ */
3  /*===========================================================================+
4  |               Copyright (c) 1993 Oracle Corporation                        |
5  |                  Redwood Shores, California, USA                           |
6  |                       All rights reserved.                                 |
7  +============================================================================+
8   Name
9     pay_us_magw2_reporting
10 
11   Purpose
12     The purpose of this package is to support the generation of magnetic tape W2
13     reports for US legilsative requirements incorporating magtape resilience
14 	and the new end-of-year design.
15 
16   Notes
17     The generation of each magnetic tape report is a two stage process i.e.
18     1. Check if the year end pre-processor has been run for all the GREs
19 	   and the assignments. If not, then error out without processing further.
20    2. Create a payroll action for the report. Identify all the assignments
21 	   to be reported and record an assignment action against the payroll action
22 	   for each one of them.
23     3. Run the generic magnetic tape process which will
24        drive off the data created in stage two. This will result in the
25        production of a structured ascii file which can be transferred to
26        magnetic tape and sent to the relevant authority.
27 
28   History
29    25-Jun-98  Vipin Mehta   40.0	 Date created.
30 
31    13-Aug-98  Vipin Mehta   40.1	 changed ohstw2_supp and instw2_supp
32 							 to pick up assignment_action_id
33 							 from pay_action_interlocks
34 							 changed  ohstw2_supp and
35 							 magw2_transmitter to set up an
36 							 additional parameter
37 							 (TRANSFER_SCHOOL_DISTRICT) to pass
38 							 the school district code to
39 							 W2_TIB4_SUPPLEMENTAL
40    11-Jan-99 Vipin Mehta   40.4   Added new parameters to
41 			 		           magw2_transmitter cursor to support
42 					           2678 Filing.
43    16-jan-99 Vipin Mehta   40.5     Modified magw2_reporting, instw2_supp and
44 					           ohstw2_supp to fix indiana and ohio
45 
46    26-jan-99 VMehta        40.6     Modified w2_high_comp to change
47    24-aug-99 djoshi        40.7     Modified ohstw2 to change the table
48 				                pay_us_arch_mag_county_v to pay_us_acrh_county_sd_v
49 				                pay_us_arch_mag_city_v to pay_us_arch_mag_city_sd_v
50  				                and also changed the state abbv in query from IN
51     				                to OH. This is changed for bug 969567
52    24-oct-99 djoshi        40.8     changed the oh_in_employee cursor and
53 				                ohstw2_supp cursor to make them performant.
54    22-NOV-99 ahanda       115.5     Took the 110.6 of r11 and made the fnd_date changes.
55 
56    24-nov-00 djoshi      115.8      Modified the file for Indiana 'S' record ref. bug
57 							 1230231.
58    10-sep-00 djoshi      115.9      Modified the file for Indiana 'S' record
59                                     for persormace
60 
61    20-oct-00 djoshi      115.11     Reveted to 115.09
62    15-NOV-02 asasthan    115.12     Made file gscc compliant
63    02-DEC-02 ppanda      115.13     Made file gscc compliant for nocopy
64 
65  ============================================================================*/
66 
67  -- 'level_cnt' will allow the cursors to select function results,
68  -- whether it is a standard fuction such as to_char or a function
69  -- defined in a package (with the correct pragma restriction).
70 
71  level_cnt	NUMBER;
72 
73  -- Used by Magnetic W2 (TIB4 format).
74  --
75  -- Sets up the tax unit context for the transmitter
76  --
77  --
78 
79 CURSOR magw2_transmitter IS
80 SELECT 'TAX_UNIT_ID=C' , HOI.organization_id,
81        'JURISDICTION_CODE=C', SR.jurisdiction_code,
82        'TRANSFER_HIGH_COUNT=P', '0',
83        'TRANSFER_SCHOOL_DISTRICT=P', '-1',
84        'TRANSFER_COUNTY=P', '-1',
85        'TRANSFER_2678_FILER=P', 'N',
86        'PAYROLL_ACTION_ID=C', PPA.payroll_action_id
87   FROM pay_state_rules SR,
88        hr_organization_information HOI,
89        pay_payroll_actions PPA
90  WHERE HOI.organization_id =
91        pay_magtape_generic.get_parameter_value('TRANSFER_TRANS_LEGAL_CO_ID')
92    AND SR.state_code  =
93 	pay_magtape_generic.get_parameter_value('TRANSFER_STATE')
94   AND HOI.org_information_context = 'W2 Reporting Rules'
95   AND PPA.report_type = 'YREND'
96   AND HOI.ORGANIZATION_ID = substr(PPA.legislative_parameters,instr(PPA.legislative_parameters,'TRANSFER_GRE=') + length('TRANSFER_GRE='))
97   AND to_char(PPA.effective_date,'YYYY') =
98            pay_magtape_generic.get_parameter_value('TRANSFER_REPORTING_YEAR')
99   AND to_char(PPA.effective_date,'DD-MM') = '31-12'
100 UNION ALL
101 SELECT 'TAX_UNIT_ID=C', HOI.organization_id,
102   'JURISDICTION_CODE=C', 'DUMMY_VALUE',
103   'TRANSFER_HIGH_COUNT=P', '0',
104   'TRANSFER_SCHOOL_DISTRICT=P', '-1',
105   'TRANSFER_COUNTY=P', '-1',
106   'TRANSFER_2678_FILER=P', HOI.org_information8,
107   'PAYROLL_ACTION_ID=C',ppa.payroll_action_id -- payroll_action_id of YREND
108 FROM hr_organization_information HOI,
109      pay_payroll_actions PPA
110 WHERE HOI.organization_id =
111  	 pay_magtape_generic.get_parameter_value('TRANSFER_TRANS_LEGAL_CO_ID')
112   AND pay_magtape_generic.get_parameter_value('TRANSFER_STATE') = 'FED'
113   AND HOI.org_information_context = 'W2 Reporting Rules'
114   AND PPA.report_type = 'YREND'
115   AND HOI.ORGANIZATION_ID = substr(PPA.legislative_parameters,instr(PPA.legislative_parameters,'TRANSFER_GRE=') + length('TRANSFER_GRE='))
116   AND to_char(PPA.effective_date,'YYYY') =
117            pay_magtape_generic.get_parameter_value('TRANSFER_REPORTING_YEAR')
118   AND to_char(PPA.effective_date,'DD-MM') = '31-12';
119 
120  --
121  -- Used by Magnetic W2 (TIB4 format).
122  --
123  -- Sets up the tax unit context for each employer to be reported on NB. sets
124  -- up a parameter holding the tax unit identifier which can then be used by
125  -- subsequent cursors to restrict to employees within the employer.
126  --
127  --
128 
129 CURSOR magw2_employer IS
130 SELECT DISTINCT 'PAYROLL_ACTION_ID=C', ppa.payroll_action_id,
131   'TAX_UNIT_ID=C'  , AA.tax_unit_id,
132   'TAX_UNIT_ID=P'  , AA.tax_unit_id,
133   'TAX_UNIT_NAME=P'  , fai.value
134 FROM ff_archive_item_contexts  faic,
135      ff_archive_items          fai,
136      ff_contexts               ffc,
137      ff_database_items         fdi,
138      pay_payroll_actions       ppa,
139      pay_assignment_actions     AA
140 WHERE AA.payroll_action_id = pay_magtape_generic.get_parameter_value
141 				   ('TRANSFER_PAYROLL_ACTION_ID')
142 AND   ppa.report_type = 'YREND'
143 AND to_char(ppa.effective_date,'YYYY') =
144            pay_magtape_generic.get_parameter_value('TRANSFER_REPORTING_YEAR')
145 AND to_char(ppa.effective_date,'DD-MM') = '31-12'
146 AND   AA.tax_unit_id = substr(ppa.legislative_parameters,instr(ppa.legislative_parameters,'TRANSFER_GRE=') + length('TRANSFER_GRE='))
147 AND   fdi.user_name = 'A_TAX_UNIT_NAME'
148 AND   ffc.context_name = 'TAX_UNIT_ID'
149 AND   ppa.payroll_action_id = fai.context1
150 AND   fdi.user_entity_id = fai.user_entity_id
151 AND   fai.archive_item_id = faic.archive_item_id
152 AND   faic.context_id = ffc.context_id
153 AND   faic.context = AA.tax_unit_id
154 order by fai.value;
155  --
156  -- Used by Magnetic W2 (TIB4 format).
157  --
158  -- Sets up the assignment_action_id, assignment_id, and date_earned contexts
159  -- for an employee. The date_earned context is set to be the least of the
160  -- end of the period being reported and the maximum end date of the
161  -- assignment. This ensures that personal information ie. name etc... is
162  -- current relative to the period being reported on.
163  --
164 
165 CURSOR magw2_employee IS
166 SELECT 'ASSIGNMENT_ACTION_ID=C', AI.locked_action_id, -- YREND assignment action
167   'ASSIGNMENT_ID=C', AA.assignment_id,
168   'DATE_EARNED=C', fnd_date.date_to_canonical(pay_magtape_generic.date_earned
169 			(PA.effective_date, AA.assignment_id))
170 FROM  per_people_f           PE,
171       per_assignments_f      SS,
172       pay_action_interlocks  AI,
173       pay_assignment_actions AA,
174       pay_payroll_actions    PA
175 WHERE PA.payroll_action_id = pay_magtape_generic.get_parameter_value
176 			('TRANSFER_PAYROLL_ACTION_ID') AND
177   AA.payroll_action_id = PA.payroll_action_id AND
178   AA.tax_unit_id = pay_magtape_generic.get_parameter_value
179 			('TAX_UNIT_ID') AND
180   AI.locking_action_id  = AA.assignment_action_id AND
181   SS.assignment_id     = AA.assignment_id AND
182   PE.person_id         = SS.person_id AND
183   pay_magtape_generic.date_earned(PA.effective_date,AA.assignment_id) BETWEEN
184 			SS.effective_start_date and SS.effective_end_date AND
185   pay_magtape_generic.date_earned(PA.effective_date,AA.assignment_id) BETWEEN
186 			PE.effective_start_date and PE.effective_end_date
187 ORDER BY PE.last_name, PE.first_name, PE.middle_names;
188 
189  --
190  -- Used by most states for State W2.
191  --
192  -- Sets up the tax unit context for each employer to be reported on NB. sets
193  -- up a parameter holding the tax unit identifier which can then be used by
194  -- subsequent cursors to restrict to employees within the employer.  The
195  -- payroll action id context is used for the Archive DB Items.
196  -- The Date_Earned Context is used for balances with dimensions of
197  --  "GRE_JD_QTD"  -- Notably Pennsylvania SUI_EE_GROSS.  Added join to payroll
198  --  action table.
199 
200 CURSOR st_magw2_employer IS
201 SELECT DISTINCT 'PAYROLL_ACTION_ID=C', PA.payroll_action_id,
202                 'TAX_UNIT_ID=C'      , AA.tax_unit_id,
203                 'TAX_UNIT_ID=P'      , AA.tax_unit_id,
204                 'JURISDICTION_CODE=C', SR.jurisdiction_code,
205                 'DATE_EARNED=C'      , fnd_date.date_to_canonical(PA.effective_date),
206                 'BUSINESS_GROUP_ID=C', PA.business_group_id
207 FROM  pay_state_rules        SR,
208       pay_payroll_actions    PA,
209       pay_assignment_actions AA,
210       pay_payroll_actions        PA1
211 WHERE  PA1.payroll_action_id = pay_magtape_generic.get_parameter_value('TRANSFER_PAYROLL_ACTION_ID')
212 AND  AA.payroll_action_id = pay_magtape_generic.get_parameter_value
213 		   ('TRANSFER_PAYROLL_ACTION_ID')
214   AND  AA.serial_number IS NULL
215   AND  PA.report_type = 'YREND'
216   AND  AA.tax_unit_id = substr(PA.legislative_parameters,instr(PA.legislative_parameters,'TRANSFER_GRE=') + length('TRANSFER_GRE='))
217   AND to_char(PA.effective_date,'YYYY') =
218            pay_magtape_generic.get_parameter_value('TRANSFER_REPORTING_YEAR')
219   AND to_char(PA.effective_date,'DD-MM') = '31-12'
220   AND SR.state_code = ltrim(rtrim(PA1.report_qualifier));
221 
222  --
223  -- Used by Magnetic W2 (TIB4 format).
224  --
225 
226 CURSOR st_magw2_employee IS
227 SELECT 'ASSIGNMENT_ACTION_ID=C', AI.locked_action_id,
228   'ASSIGNMENT_ID=C', AA.assignment_id,
229   'DATE_EARNED=C', fnd_date.date_to_canonical(pay_magtape_generic.date_earned
230 			(PA.effective_date, AA.assignment_id)),
231   'JURISDICTION_CODE=C', SR.jurisdiction_code
232 FROM  per_people_f           PE,
233       per_assignments_f      SS,
234       pay_state_rules	     SR,
235       pay_action_interlocks  AI,
236       pay_assignment_actions AA,
237       pay_payroll_actions    PA
238 WHERE PA.payroll_action_id = pay_magtape_generic.get_parameter_value
239 			('TRANSFER_PAYROLL_ACTION_ID') AND
240   AA.payroll_action_id = PA.payroll_action_id AND
241   AA.tax_unit_id = pay_magtape_generic.get_parameter_value
242 			('TAX_UNIT_ID') AND
243   AI.locking_action_id  =  AA.assignment_action_id AND
244   AA.serial_number IS NULL AND
245   SR.state_code = ltrim(rtrim(PA.report_qualifier)) AND
246   SS.assignment_id = AA.assignment_id AND
247   PE.person_id = SS.person_id AND
248   pay_magtape_generic.date_earned(PA.effective_date,AA.assignment_id) BETWEEN
249 			SS.effective_start_date AND SS.effective_end_date AND
250   pay_magtape_generic.date_earned(PA.effective_date,AA.assignment_id) BETWEEN
251 			PE.effective_start_date AND PE.effective_end_date
252 ORDER BY PE.last_name, PE.first_name, PE.middle_names;
253 
254  --
255 
256 CURSOR oh_in_employee IS
257 SELECT 'ASSIGNMENT_ACTION_ID=C', AI.locked_action_id,
258   'ASSIGNMENT_ACTION_ID=P', AI.locking_action_id,
259   'ASSIGNMENT_ID=C', AA.assignment_id,
260   'DATE_EARNED=C', fnd_date.date_to_canonical(pay_magtape_generic.date_earned
261 			(PA.effective_date, AA.assignment_id)),
262   'YREND_ASSIGNMENT_ACTION_ID=P',AI.locked_action_id,
263   'YREND_ASSIGNMENT_ID=P',AA.assignment_id,
264   'DATE_EARNED=P', fnd_date.date_to_canonical(pay_magtape_generic.date_earned
265                         (PA.effective_date, AA.assignment_id))
266 FROM  per_people_f           PE,
267       per_assignments_f      SS,
268       pay_action_interlocks	 AI,
269       pay_assignment_actions AA,
270       pay_payroll_actions PA
271 WHERE PA.payroll_action_id = pay_magtape_generic.get_parameter_value
272 			('TRANSFER_PAYROLL_ACTION_ID') AND
273   AA.payroll_action_id = PA.payroll_action_id AND
274   AA.tax_unit_id    = pay_magtape_generic.get_parameter_value
275 			('TAX_UNIT_ID') AND
276   AI.locking_action_id  = AA.assignment_action_id AND
277   AA.serial_number     IS NULL AND
278   SS.assignment_id     = AA.assignment_id AND
279   PE.person_id         = SS.person_id AND
280   pay_magtape_generic.date_earned(PA.effective_date,AA.assignment_id) BETWEEN
281 			SS.effective_start_date AND SS.effective_end_date AND
282   pay_magtape_generic.date_earned(PA.effective_date,AA.assignment_id) BETWEEN
283 			PE.effective_start_date AND PE.effective_end_date
284 ORDER BY PE.last_name, PE.first_name, PE.middle_names;
285 
286 
287 
288 CURSOR  instw2_supp
289     IS
290 SELECT  'TRANSFER_ASS_ACTION_ID=C', pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ACTION_ID'),
291         'ASSIGNMENT_ACTION_ID=C', pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ACTION_ID'),
292         'ASSIGNMENT_ID=C', pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ID'),
293         'DATE_EARNED=C', pay_magtape_generic.get_parameter_value('DATE_EARNED'),
294         'TRANSFER_COUNTY=P', substr(PLV.jurisdiction,4,3),
295         'JURISDICTION_CODE=C', PLV.jurisdiction
296 FROM    pay_us_w2_locality_v plv
297 where   plv.assignment_action_id =  pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ACTION_ID')
298         and   plv.TAX_UNIT_ID = pay_magtape_generic.get_parameter_value('TAX_UNIT_ID')
299         and   plv.tax_type = 'COUNTY'
300         and   plv.state_abbrev = 'IN'
301         and   W2_BOX_21 > 0
302 
303 UNION ALL
304 
305 SELECT  'TRANSFER_ASS_ACTION_ID=C',pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ACTION_ID'),
306         'ASSIGNMENT_ACTION_ID=C', pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ACTION_ID'),
307         'ASSIGNMENT_ID=C', pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ID'),
308         'DATE_EARNED=C',pay_magtape_generic.get_parameter_value('DATE_EARNED'),
309         'TRANSFER_COUNTY=P', '-1',
310         'JURISDICTION_CODE=C',psv.jurisdiction_code
311  FROM   pay_us_arch_mag_state_v PSV
312 WHERE
313         PSV.assignment_action_id =  pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ACTION_ID') AND
314         PSV.state_abbrev = 'IN' AND
315         ( NOT EXISTS
316               (
317                 SELECT 'y'
318                   FROM pay_us_arch_mag_county_v pcv
319                  WHERE substr(pcv.jurisdiction_code,1,2) = substr(psv.jurisdiction_code,1,2) AND
320                        pcv.assignment_action_id  = pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ACTION_ID')
321                )
322            OR (0 = (SELECT NVL(sum(W2_BOX_21),0)
323                       FROM pay_us_w2_locality_v plv
324                      WHERE plv.assignment_action_id =  pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ACTION_ID')
325                        AND plv.TAX_UNIT_ID = pay_magtape_generic.get_parameter_value('TAX_UNIT_ID')
326                        AND plv.tax_type = 'COUNTY'
327                        AND plv.state_abbrev = 'IN'
328                        AND substr(plv.jurisdiction,1,2) = substr(PSV.jurisdiction_code,1,2)
329                    )
330                )
331    );
332 --ORDER BY 12;
333 
334 
335 --
336 
337 CURSOR ohstw2_supp IS
338 SELECT  'ASSIGNMENT_ACTION_ID=C', AA.assignment_action_id,
339   'ASSIGNMENT_ID=C', AA.assignment_id,
340   'DATE_EARNED=C', fnd_date.date_to_canonical(pay_magtape_generic.date_earned
341 		(PA.effective_date, AA.assignment_id)),
342  'TRANSFER_SCHOOL_DISTRICT=P',substr(PMV.jurisdiction_code,4,5),
343   'JURISDICTION_CODE=C', PMV.jurisdiction_code
344 FROM
345   pay_us_states PUS,
346   pay_us_arch_mag_county_sd_v PMV,
347   pay_payroll_actions PA,
348   pay_assignment_actions AA
349 
350 WHERE
351   AA.assignment_action_id = pay_magtape_generic.get_parameter_value('YREND_ASSIGNMENT_ACTION_ID') AND
352   AA.payroll_action_id = PA.payroll_action_id AND
353   AA.tax_unit_id = pay_magtape_generic.get_parameter_value('TAX_UNIT_ID') AND
354   PMV.assignment_action_id = AA.assignment_action_id AND
355   substr(PMV.jurisdiction_code,1,2) = pus.state_code AND
356   pus.state_abbrev = 'OH'
357   AND (EXISTS(
358              SELECT 'y'
359              FROM  dual
360              where hr_us_w2_rep.get_w2_arch_bal(aa.assignment_action_id,'A_SCHOOL_WITHHELD_PER_JD_GRE_YTD',
361                                                  aa.tax_unit_id,pmv.jurisdiction_code,8) > 0))
362 UNION ALL
363 SELECT  'ASSIGNMENT_ACTION_ID=C', AA.assignment_action_id,
364   'ASSIGNMENT_ID=C', AA.assignment_id,
365   'DATE_EARNED=C', fnd_date.date_to_canonical(pay_magtape_generic.date_earned
366 		(PA.effective_date, AA.assignment_id)),
367  'TRANSFER_SCHOOL_DISTRICT=P', substr(PMC.jurisdiction_code,4,5),
368  'JURISDICTION_CODE=C', PMC.jurisdiction_code
369 FROM
370   pay_us_states PUS,
371   pay_us_arch_mag_city_sd_v PMC,
372   pay_assignment_actions AA,
373   pay_payroll_actions PA
374 WHERE
375 
376   AA.assignment_action_id = pay_magtape_generic.get_parameter_value
377 		('YREND_ASSIGNMENT_ACTION_ID') AND
378 AA.payroll_action_id = PA.payroll_action_id AND
379   AA.tax_unit_id = pay_magtape_generic.get_parameter_value ('TAX_UNIT_ID') AND
380   PMC.assignment_action_id = AA.assignment_action_id AND
381   substr(PMC.jurisdiction_code,1,2) = PUS.state_code AND
382   PUS.state_abbrev = 'OH'
383   AND (EXISTS(
384               SELECT 'y'
385              FROM  dual
386              where hr_us_w2_rep.get_w2_arch_bal(aa.assignment_action_id,'A_SCHOOL_WITHHELD_PER_JD_GRE_YTD',
387                                                  aa.tax_unit_id,pmc.jurisdiction_code,8) > 0))
388 UNION ALL
389 SELECT  'ASSIGNMENT_ACTION_ID=C', AA.assignment_action_id,
390   'ASSIGNMENT_ID=C', AA.assignment_id,
391   'DATE_EARNED=C', fnd_date.date_to_canonical(pay_magtape_generic.date_earned
392 		(PA.effective_date, AA.assignment_id)),
393  'TRANSFER_SCHOOL_DISTRICT=P', '-1',
394   'JURISDICTION_CODE=C', PSV.jurisdiction_code
395 FROM
396   pay_us_states PUS,
397   pay_us_arch_mag_state_v PSV,
398   pay_assignment_actions AA,
399   pay_payroll_actions PA
400 WHERE
401   AA.assignment_action_id = pay_magtape_generic.get_parameter_value
402 		('YREND_ASSIGNMENT_ACTION_ID') AND
403   AA.payroll_action_id = PA.payroll_action_id AND
404   AA.tax_unit_id = pay_magtape_generic.get_parameter_value ('TAX_UNIT_ID') AND
405   PSV.assignment_action_id = AA.assignment_action_id AND
406   substr(PSV.jurisdiction_code,1,2) = PUS.state_code AND
407   PUS.state_abbrev = 'OH'
408   AND (
409         ( 0 =
410                   (SELECT nvl(sum(W2_BOX_21),0)
411                   FROM pay_us_w2_locality_v plv
412                   where plv.assignment_action_id = AA.assignment_action_id
413                   and   plv.TAX_UNIT_ID = pay_magtape_generic.get_parameter_value('TAX_UNIT_ID')
414                   and   plv.tax_type = 'COUNTY SCHOOL'
415                   and   plv.state_abbrev = 'OH'
416                   and   substr(plv.jurisdiction,1,2) = substr(PSV.jurisdiction_code,1,2)))
417        or ( 0 =
418                   (SELECT nvl(sum(W2_BOX_21),0)
419                   FROM pay_us_w2_locality_v plv
420                   where plv.assignment_action_id = AA.assignment_action_id
421                   and   plv.TAX_UNIT_ID = pay_magtape_generic.get_parameter_value('TAX_UNIT_ID')
422                   and   plv.tax_type = 'CITY SCHOOL'
423                   and   plv.state_abbrev = 'OH'
424                   and   substr(plv.jurisdiction,1,2) = substr(PSV.jurisdiction_code,1,2)))
425       )
426 ORDER BY 10;
427 
428 --
429 -- Cursor for handling Highly Compensated People
430 --
431 
432 CURSOR w2_high_comp IS
433 SELECT 'TRANSFER_MESSAGE=P',
434  tuv.name || '-' || ppf.full_name||'('||ppf.employee_number||')'||fnd_global.local_chr(10)
435 FROM per_people_f           ppf,
436   per_assignments_f      paf,
437   pay_assignment_actions paa,
438   hr_tax_units_v tuv,
439   pay_payroll_actions    ppa
440 WHERE ppa.payroll_action_id = pay_magtape_generic.get_parameter_value
441 	   ('TRANSFER_PAYROLL_ACTION_ID') AND
442   paa.payroll_action_id = ppa.payroll_action_id AND
443   paa.tax_unit_id = tuv.tax_unit_id and
444   paa.assignment_id = paf.assignment_id AND
445   paf.person_id = ppf.person_id AND
446   ppa.effective_date BETWEEN
447 		paf.effective_start_date AND paf.effective_end_date AND
448   ppa.effective_date BETWEEN
449 		ppf.effective_start_date AND ppf.effective_end_date AND
450   paa.serial_number IS NOT NULL
451   order by tuv.name;
452 
453  --
454 
455 FUNCTION bal_db_item
456 (
457 	p_db_item_name VARCHAR2
458 ) RETURN NUMBER;
459 
460 PROCEDURE get_report_parameters
461 (
462 	p_pactid    		IN		NUMBER,
463 	p_year_start		IN OUT	nocopy DATE,
464 	p_year_end		IN OUT	nocopy DATE,
465 	p_state_abbrev		IN OUT	nocopy VARCHAR2,
466 	p_state_code		IN OUT	nocopy VARCHAR2,
467 	p_report_type		IN OUT	nocopy VARCHAR2,
468 	p_business_group_id	IN OUT	nocopy NUMBER
469 );
470 
471 FUNCTION get_balance_value (
472 	p_balance_name		VARCHAR2,
473 	p_tax_unit_id		NUMBER,
474 	p_state_abbrev		VARCHAR2,
475 	p_assignment_id		NUMBER,
476 	p_effective_date	DATE
477 ) RETURN NUMBER;
478 
479 FUNCTION preprocess_check
480 (
481 	p_pactid 				NUMBER,
482 	p_year_start			DATE,
483 	p_year_end				DATE,
484 	p_business_group_id		NUMBER,
485 	p_state_abbrev			VARCHAR2,
486 	p_state_code			VARCHAR2,
487 	p_report_type			VARCHAR2
488 ) RETURN BOOLEAN;
489 
490 PROCEDURE range_cursor (
491 	p_pactid	IN	NUMBER,
492 	p_sqlstr	OUT	nocopy VARCHAR2
493 );
494 
495 PROCEDURE create_assignment_act(
496 	p_pactid 	IN NUMBER,
497 	p_stperson 	IN NUMBER,
498 	p_endperson IN NUMBER,
499 	p_chunk 	IN NUMBER );
500 
501 END pay_us_magw2_reporting;