DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_SE_TAX_DECL_REPORT

Source


4       RETURN NUMBER
1 PACKAGE BODY PAY_SE_TAX_DECL_REPORT AS
2 /* $Header: pysetadr.pkb 120.9 2008/03/27 09:01:26 rsengupt noship $ */
3    FUNCTION get_archive_payroll_action_id (p_payroll_action_id IN NUMBER)
5    IS
6       l_payroll_action_id   NUMBER;
7    BEGIN
8 
9       IF p_payroll_action_id IS NULL
10       THEN
11          BEGIN
12             SELECT payroll_action_id
13               INTO l_payroll_action_id
14               FROM pay_payroll_actions ppa,
15                    fnd_conc_req_summary_v fcrs,
16                    fnd_conc_req_summary_v fcrs1
17              WHERE fcrs.request_id = fnd_global.conc_request_id
18                AND fcrs.priority_request_id = fcrs1.priority_request_id
19                AND ppa.request_id BETWEEN fcrs1.request_id
20                                       AND fcrs.request_id
21                AND ppa.request_id = fcrs1.request_id;
22          EXCEPTION
23             WHEN OTHERS
24             THEN
25                NULL;
26          END;
27       ELSE
28          l_payroll_action_id := p_payroll_action_id;
29       END IF;
30 
31       RETURN l_payroll_action_id;
32    END;
33 
34    PROCEDURE get_digit_breakup(
35       p_amount IN NUMBER,
36       p_digit1 OUT NOCOPY NUMBER,
37       p_digit2 OUT NOCOPY NUMBER,
38       p_digit3 OUT NOCOPY NUMBER,
39       p_digit4 OUT NOCOPY NUMBER,
40       p_digit5 OUT NOCOPY NUMBER,
41       p_digit6 OUT NOCOPY NUMBER,
42       p_digit7 OUT NOCOPY NUMBER,
43       p_digit8 OUT NOCOPY NUMBER,
44       p_digit9 OUT NOCOPY NUMBER
45    )
46    IS
47 
48    TYPE digits IS
49       TABLE OF NUMBER
50       INDEX BY BINARY_INTEGER;
51      l_digit digits;
52      l_count NUMBER :=1;
53      l_amount number(9);
54    BEGIN
55    l_amount:=abs(floor(p_amount));
56    FOR I in 1..9 loop
57     l_digit(I):=null;
58    END loop;
59 
60    WHILE l_amount >= 10  LOOP
61 
62 	SELECT mod(l_amount,10) INTO l_digit(l_count) from dual;
63 	l_amount:=floor(l_amount/10);
64 	l_count:=l_count+1;
65    END LOOP;
66 
67    SELECT floor(l_amount) INTO l_digit(l_count) from dual;
68 	p_digit1:=l_digit(1);
69 	p_digit2:=l_digit(2);
70 	p_digit3:=l_digit(3);
71 	p_digit4:=l_digit(4);
72 	p_digit5:=l_digit(5);
73 	p_digit6:=l_digit(6);
74 	p_digit7:=l_digit(7);
75 	p_digit8:=l_digit(8);
76 	p_digit9:=l_digit(9);
77    END get_digit_breakup;
78 
79    PROCEDURE get_data (
80       p_business_group_id  in varchar2,
81       p_payroll_action_id   IN              VARCHAR2,
82       p_template_name       IN              VARCHAR2,
83       p_xml                 OUT NOCOPY      CLOB
84    )
85    IS
86       /*  Start of declaration*/
87       -- Variables needed for the report
88       l_sum                 NUMBER;
89       l_counter             NUMBER                                            := 1;
90       l_payroll_action_id   pay_action_information.action_information1%TYPE;
91       l_digit1 NUMBER(1);
92       l_digit2 NUMBER(1);
93       l_digit3 NUMBER(1);
94       l_digit4 NUMBER(1);
95       l_digit5 NUMBER(1);
96       l_digit6 NUMBER(1);
97       l_digit7 NUMBER(1);
98       l_digit8 NUMBER(1);
99       l_digit9 NUMBER(1);
100       l_regular_year NUMBER(4);
101       l_65_Year NUMBER(4);
102       l_gen_tax_perc NUMBER(5,2);
103       l_spl_65_perc NUMBER(5,2);
104       l_spl_1937_perc NUMBER(5,2);
105       l_spl_25_below_perc NUMBER(5,2);
106       l_business_id   NUMBER;
107       l_effective_date DATE;
108       l_archive varchar2(10);
109       l_legal_employer_id NUMBER;
110       l_month VARCHAR2(25);
111       l_year VARCHAR2(25);
112       l_administrative_code VARCHAR2(200);
113       l_information VARCHAR2(200);
114       l_declaration_due_date DATE;
115       l_emb_below_65 NUMBER;
116       l_comp_perc NUMBER;
117       l_comp_perc_max NUMBER;
118       l_ext_comp_perc NUMBER;
119       l_ext_comp_perc_max NUMBER;
120       l_Pension_Start NUMBER;
121       l_Pension_End NUMBER;
122       l_temp VARCHAR2(10);
123       l_Comp_Emb_Without_LU_Total NUMBER;       -- EOY 2008
124       l_Comp_Emb_Without_LU_Total_29 NUMBER;    -- EOY 2008
125 
126 
127 cursor csr_Tax_Decl (csr_v_pa_id IN VARCHAR2)
128 IS
129 SELECT pai.action_information3 Organization_Name,
130 pai.action_information4 Month,
131 pai.action_information5 Year,
132 pai.action_information8 Declaration_Due_Date,
133 pai.action_information6 Administrative_Code,
134 pai.action_information7 Information,
135 pai1.action_information3 Organization_Number,
136 fnd_number.canonical_to_number(pai1.action_information4) Reduction,
137 fnd_number.canonical_to_number(pai1.action_information7) Code,
138 fnd_number.canonical_to_number(pai1.action_information8) Canada,
139 fnd_number.canonical_to_number(pai1.action_information9) Special_Canada,
140 -- fnd_number.canonical_to_number(pai1.action_information10) Comp_Support,      -- EOY 2008
141 -- fnd_number.canonical_to_number(pai1.action_information11) Comp_Support_5,    -- EOY 2008
142 fnd_number.canonical_to_number(pai1.action_information12) Ext_Comp_Support,
143 fnd_number.canonical_to_number(pai1.action_information13) Ext_Comp_Support_10,
144 fnd_number.canonical_to_number(pai1.action_information14) Pension,
145 fnd_number.canonical_to_number(pai1.action_information15) Ded_Pension,
146 fnd_number.canonical_to_number(pai1.action_information16) Interest,
147 fnd_number.canonical_to_number(pai1.action_information17) Ded_Interest,
151 fnd_number.canonical_to_number(pai1.action_information21) Certain_Insurances_29,    --EOY 2008
148 pai1.action_information18 Contact,
149 pai1.action_information19 Phone,
150 fnd_number.canonical_to_number(pai1.action_information20) Certain_Insurances,       --EOY 2008
152 fnd_number.canonical_to_number(pai2.action_information3) Gross_Pay,
153 fnd_number.canonical_to_number(pai2.action_information4) Benefit,
154 fnd_number.canonical_to_number(pai2.action_information5) Total_Basis_Employer_Tax,
155 fnd_number.canonical_to_number(pai2.action_information6) Regular_Taxable_Base,
156 fnd_number.canonical_to_number(pai2.action_information7) Regular_Tax,
157 fnd_number.canonical_to_number(pai2.action_information8) Special_65_Taxable_Base,
158 fnd_number.canonical_to_number(pai2.action_information9) Special_65_Tax,
159 fnd_number.canonical_to_number(pai2.action_information10) Special_1937_Taxable_Base,
160 fnd_number.canonical_to_number(pai2.action_information11) Special_1937_Tax,
161 fnd_number.canonical_to_number(pai2.action_information12) Total_Employer_Tax,
165 fnd_number.canonical_to_number(pai2.action_information16) Deducted_Tax_Pay,
162 fnd_number.canonical_to_number(pai2.action_information13) Taxable_Base,
163 fnd_number.canonical_to_number(pai2.action_information14) Employee_Tax,
164 fnd_number.canonical_to_number(pai2.action_information15) Tax_Deduction,
166 fnd_number.canonical_to_number(pai2.action_information17) Comp_Without_LU,
167 fnd_number.canonical_to_number(pai2.action_information18) Comp_Without_LU_29,
168 fnd_number.canonical_to_number(pai2.action_information19) Comp_Without_LU_65_above,
169 fnd_number.canonical_to_number(pai2.action_information20) Comp_Without_LU_29_65_above,
170 fnd_number.canonical_to_number(pai2.action_information21) Special_25_below_Taxable_Base,
171 fnd_number.canonical_to_number(pai2.action_information22) Special_25_below_Tax,
172 fnd_number.canonical_to_number(pai2.action_information23) Comp_Without_LU_25_below,     -- EOY 2008
173 fnd_number.canonical_to_number(pai2.action_information24) Comp_Without_LU_29_25_below   -- EOY 2008
174 FROM
175 pay_action_information pai,
176 pay_payroll_actions ppa,
177 pay_action_information pai1,
178 pay_action_information pai2
179 WHERE
180 pai.action_context_id = ppa.payroll_action_id
181 AND ppa.payroll_action_id =csr_v_pa_id
182 AND pai.action_context_id = pai1.action_context_id
183 AND pai1.action_context_id= pai2.action_context_id
184 AND pai2.action_context_id=pai1.action_context_id
185 AND pai1.action_context_type='PA'
186 AND pai1.action_information2 = 'INF'
187 AND pai1.action_information1 = 'PYSETADA'
188 AND pai1.action_information_category = 'EMEA REPORT INFORMATION'
189 AND pai.action_context_type = 'PA'
190 AND pai.action_information1 = 'PYSETADA'
191 AND pai.action_information_category = 'EMEA REPORT DETAILS'
192 AND pai2.action_context_type = 'PA'
193 AND pai2.action_information1 = 'PYSETADA'
194 AND pai2.action_information_category = 'EMEA REPORT INFORMATION'
195 AND pai2.action_information2 = 'BAL';
196 
197 rg_Tax_Decl csr_Tax_Decl%rowtype;
198 CURSOR csr_global(csr_v_global VARCHAR2,csr_v_effective_date DATE )IS
199 SELECT nvl(fnd_number.canonical_to_number(global_value),0) FROM ff_globals_f WHERE GLOBAL_NAME=csr_v_global --'SE_EMPLOYER_TAX_PERC'
200 	and csr_v_effective_date --p_effective_date
201 	BETWEEN effective_start_date AND
202 	effective_end_date;
203 
204 BEGIN
205 
206       hr_utility.set_location ('Entered Procedure GETDATA', 10);
207 
208       l_payroll_action_id :=
209                           get_archive_payroll_action_id (p_payroll_action_id);
210 
211       PAY_SE_TAX_DECL.GET_ALL_PARAMETERS(
212 		 p_payroll_action_id
213 		,l_business_id
214 		,l_effective_date
215 		,l_archive
216  		,l_legal_employer_id
217  		,l_month
218 		,l_year
219 		,l_administrative_code
220 		,l_information
221         ,l_declaration_due_date
222             ) ;
223       OPEN csr_Tax_Decl(l_payroll_action_id);
224         FETCH csr_Tax_Decl INTO rg_Tax_Decl;
225       CLOSE csr_Tax_Decl;
226 	l_regular_Year:=rg_Tax_Decl.Year-65;
227 	l_65_Year:=l_regular_Year-1;
228 	l_Pension_Start:=rg_Tax_Decl.Year-25;
229 	l_Pension_End:=rg_Tax_Decl.Year-19;
230 	 fnd_file.put_line(fnd_file.LOG,'before globals');
231 	 fnd_file.put_line(fnd_file.LOG,'l_effective_date'||l_effective_date);
232 	 OPEN csr_global('SE_EMPLOYER_TAX_PERC',l_effective_date);
233 		FETCH csr_global INTO l_temp; --l_gen_tax_perc;
234 	 CLOSE csr_global;
235  	 fnd_file.put_line(fnd_file.LOG,'l_temp'||l_temp);
236 	 l_gen_tax_perc:=l_temp;
237 	 fnd_file.put_line(fnd_file.LOG,'l_gen_tax_perc'||l_gen_tax_perc);
238 	 fnd_file.put_line(fnd_file.LOG,'after globals');
239 
240 	 OPEN csr_global('SE_SIT_AGE_ABOVE_65',l_effective_date);
241 		FETCH csr_global INTO l_spl_65_perc;
242 	 CLOSE csr_global;
246 	 CLOSE csr_global;
243 
244 	 OPEN csr_global('SE_SIT_BORN_BEFORE_YEAR_LIMIT',l_effective_date);
245 		FETCH csr_global INTO l_spl_1937_perc;
247 
248 	 OPEN csr_global('SE_SIT_AGE_BELOW_25',l_effective_date);
249 		FETCH csr_global INTO l_spl_25_below_perc;
250 	 CLOSE csr_global;
251 
252 	 OPEN csr_global('SE_EMBASSY_BELOW_65',l_effective_date);
253 		FETCH csr_global INTO l_emb_below_65;
254 	 CLOSE csr_global;
255 
256 	 OPEN csr_global('SE_COMPANY_PERC',l_effective_date);
257 		FETCH csr_global INTO l_comp_perc;
258 	 CLOSE csr_global;
259 
260 	 OPEN csr_global('SE_COMPANY_PERC_MAX',l_effective_date);
261 		FETCH csr_global INTO l_comp_perc_max;
262 	 CLOSE csr_global;
263 
264 	 OPEN csr_global('SE_EXT_COMPANY_PERC',l_effective_date);
265 		FETCH csr_global INTO l_ext_comp_perc;
266 	 CLOSE csr_global;
267 
268 	 OPEN csr_global('SE_EXT_COMPANY_PERC_MAX',l_effective_date);
269 		FETCH csr_global INTO l_ext_comp_perc_max;
270 	 CLOSE csr_global;
271 
272 /*****************************************************************************************************/
273 /************************ Calculation of Companies/Embassies Vaues ***********************************/
274 /******************************************************************************************************/
275        l_Comp_Emb_Without_LU_Total := rg_Tax_Decl.Certain_Insurances + rg_Tax_Decl.Comp_Without_LU_25_below
276                                         + rg_Tax_Decl.Comp_Without_LU_65_above + rg_Tax_Decl.Comp_Without_LU ;
277 
278       l_Comp_Emb_Without_LU_Total_29 := rg_Tax_Decl.Certain_Insurances_29 + rg_Tax_Decl.Comp_Without_LU_29_25_below
279                                          + rg_Tax_Decl.Comp_Without_LU_29_65_above + rg_Tax_Decl.Comp_Without_LU_29 ;
280 
281 
282 /*****************************************************************************************************/
283 
284          hr_utility.set_location ('Before populating pl/sql table', 70);
285          gplsqltable (l_counter).tagname := 'START';
286          gplsqltable (l_counter).tagvalue := 'START';
287          l_counter :=   l_counter
288                       + 1;
289 	 gplsqltable (l_counter).tagname := 'EMP_TAX';
290          gplsqltable (l_counter).tagvalue := l_gen_tax_perc;
291          l_counter :=   l_counter
292                       + 1;
293 	 gplsqltable (l_counter).tagname := 'SPL_65';
294          gplsqltable (l_counter).tagvalue := l_spl_65_perc;
295          l_counter :=   l_counter
296                       + 1;
297 	 gplsqltable (l_counter).tagname := 'SPL_1937';
298          gplsqltable (l_counter).tagvalue := l_spl_1937_perc;
299          l_counter :=   l_counter
300                       + 1;
301 	 gplsqltable (l_counter).tagname := 'SE_65_BELOW';
302          gplsqltable (l_counter).tagvalue := l_emb_below_65;
303          l_counter :=   l_counter
304                       + 1;
305 	 gplsqltable (l_counter).tagname := 'SE_25_BELOW';
306          gplsqltable (l_counter).tagvalue := l_spl_25_below_perc;
307          l_counter :=   l_counter
308                       + 1;
309          gplsqltable (l_counter).tagname := 'SE_COMP_PERC';
310          gplsqltable (l_counter).tagvalue := l_comp_perc;
311          l_counter :=   l_counter
312                       + 1;
313 	 gplsqltable (l_counter).tagname := 'SE_COMP_PERC_MAX';
314          gplsqltable (l_counter).tagvalue := l_comp_perc_max;
315          l_counter :=   l_counter
316                       + 1;
317 	 gplsqltable (l_counter).tagname := 'SE_EX_COMP_PERC';
318          gplsqltable (l_counter).tagvalue := l_ext_comp_perc;
319          l_counter :=   l_counter
320                       + 1;
321 	 gplsqltable (l_counter).tagname := 'SE_EX_COMP_PERC_MAX';
322          gplsqltable (l_counter).tagvalue := l_ext_comp_perc_max;
323          l_counter :=   l_counter
324                       + 1;
325 
326 	 gplsqltable (l_counter).tagname := 'Organization_Name';
327          gplsqltable (l_counter).tagvalue :=
328                                           TO_CHAR (rg_Tax_Decl.Organization_Name);
329          l_counter :=   l_counter
330                       + 1;
331          gplsqltable (l_counter).tagname := 'Organization_Number';
332          gplsqltable (l_counter).tagvalue :=
333                                        TO_CHAR(rg_tax_Decl.Organization_Number);
334          l_counter :=   l_counter
335                       + 1;
336          gplsqltable (l_counter).tagname := 'Declaration_Due_Date';
337          gplsqltable (l_counter).tagvalue :=
338                                            TO_CHAR(rg_Tax_Decl.Declaration_Due_Date);
339          l_counter :=   l_counter
340                       + 1;
341          gplsqltable (l_counter).tagname := 'Month';
342          gplsqltable (l_counter).tagvalue :=
343                                            TO_CHAR(rg_Tax_Decl.Month);
344          l_counter :=   l_counter
345                       + 1;
346          gplsqltable (l_counter).tagname := 'Year';
347          gplsqltable (l_counter).tagvalue := TO_CHAR(rg_Tax_Decl.Year);
348          l_counter :=   l_counter
349                       + 1;
350 	 gplsqltable (l_counter).tagname := 'l_Regular_Year';
351          gplsqltable (l_counter).tagvalue := TO_CHAR(l_Regular_Year);
352          l_counter :=   l_counter
353                       + 1;
354 	 gplsqltable (l_counter).tagname := 'l_65_Year';
355          gplsqltable (l_counter).tagvalue := TO_CHAR(l_65_Year);
356          l_counter :=   l_counter
357                       + 1;
358 	 gplsqltable (l_counter).tagname := 'Pension_Start';
359          gplsqltable (l_counter).tagvalue := TO_CHAR(l_Pension_Start);
360          l_counter :=   l_counter
364          l_counter :=   l_counter
361                       + 1;
362 	 gplsqltable (l_counter).tagname := 'Pension_End';
363          gplsqltable (l_counter).tagvalue := TO_CHAR(l_Pension_End);
365                       + 1;
366          get_digit_breakup(rg_tax_Decl.Gross_Pay,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
367 	 gplsqltable (l_counter).tagname := 'Gp1';
368          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
369          l_counter :=   l_counter
370                       + 1;
371 	 gplsqltable (l_counter).tagname := 'Gp2';
372          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
373          l_counter :=   l_counter
374                       + 1;
375 	 gplsqltable (l_counter).tagname := 'Gp3';
376          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
377          l_counter :=   l_counter
378                       + 1;
379 	 gplsqltable (l_counter).tagname := 'Gp4';
380          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
381          l_counter :=   l_counter
382                       + 1;
383 	 gplsqltable (l_counter).tagname := 'Gp5';
384          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
385          l_counter :=   l_counter
386                       + 1;
387 	 gplsqltable (l_counter).tagname := 'Gp6';
388          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
389          l_counter :=   l_counter
390                       + 1;
391 	 gplsqltable (l_counter).tagname := 'Gp7';
392          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
393          l_counter :=   l_counter
394                       + 1;
395 	 gplsqltable (l_counter).tagname := 'Gp8';
396          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
397          l_counter :=   l_counter
398                       + 1;
399 	 gplsqltable (l_counter).tagname := 'Gp9';
400          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
401          l_counter :=   l_counter
402                       + 1;
403  	 get_digit_breakup(rg_tax_Decl.Benefit,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
404 	 gplsqltable (l_counter).tagname := 'Tb1';
405          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
406          l_counter :=   l_counter
407                       + 1;
408 	 gplsqltable (l_counter).tagname := 'Tb2';
409          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
410          l_counter :=   l_counter
411                       + 1;
412 	 gplsqltable (l_counter).tagname := 'Tb3';
413          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
414          l_counter :=   l_counter
415                       + 1;
416 	 gplsqltable (l_counter).tagname := 'Tb4';
417          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
418          l_counter :=   l_counter
419                       + 1;
420 	 gplsqltable (l_counter).tagname := 'Tb5';
421          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
422          l_counter :=   l_counter
423                       + 1;
424 	 gplsqltable (l_counter).tagname := 'Tb6';
425          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
426          l_counter :=   l_counter
427                       + 1;
428 	 gplsqltable (l_counter).tagname := 'Tb7';
429          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
430          l_counter :=   l_counter
431                       + 1;
432 	 gplsqltable (l_counter).tagname := 'Tb8';
433          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
434          l_counter :=   l_counter
435                       + 1;
436 	 gplsqltable (l_counter).tagname := 'Tb9';
437          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
438          l_counter :=   l_counter
439                       + 1;
440 	 get_digit_breakup(rg_tax_Decl.Reduction,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
441 	 gplsqltable (l_counter).tagname := 'Cr1';
442          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
443          l_counter :=   l_counter
444                       + 1;
445 	 gplsqltable (l_counter).tagname := 'Cr2';
446          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
447          l_counter :=   l_counter
448                       + 1;
449 	 gplsqltable (l_counter).tagname := 'Cr3';
450          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
451          l_counter :=   l_counter
452                       + 1;
453 	 gplsqltable (l_counter).tagname := 'Cr4';
454          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
455          l_counter :=   l_counter
456                       + 1;
457 	 gplsqltable (l_counter).tagname := 'Cr5';
458          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
459          l_counter :=   l_counter
460                       + 1;
461 	 gplsqltable (l_counter).tagname := 'Cr6';
462          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
463          l_counter :=   l_counter
464                       + 1;
465 	 gplsqltable (l_counter).tagname := 'Cr7';
466          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
467          l_counter :=   l_counter
468                       + 1;
469 	 gplsqltable (l_counter).tagname := 'Cr8';
470          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
471          l_counter :=   l_counter
472                       + 1;
473 	 gplsqltable (l_counter).tagname := 'Cr9';
474          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
475          l_counter :=   l_counter
476                       + 1;
477 	 get_digit_breakup(rg_tax_Decl.Total_Basis_Employer_Tax,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
478 	 gplsqltable (l_counter).tagname := 'Eb1';
482 	 gplsqltable (l_counter).tagname := 'Eb2';
479          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
480          l_counter :=   l_counter
481                       + 1;
483          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
484          l_counter :=   l_counter
485                       + 1;
486 	 gplsqltable (l_counter).tagname := 'Eb3';
487          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
488          l_counter :=   l_counter
489                       + 1;
490 	 gplsqltable (l_counter).tagname := 'Eb4';
491          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
492          l_counter :=   l_counter
493                       + 1;
494 	 gplsqltable (l_counter).tagname := 'Eb5';
495          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
496          l_counter :=   l_counter
497                       + 1;
498 	 gplsqltable (l_counter).tagname := 'Eb6';
499          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
500          l_counter :=   l_counter
501                       + 1;
502 	 gplsqltable (l_counter).tagname := 'Eb7';
503          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
504          l_counter :=   l_counter
505                       + 1;
506 	 gplsqltable (l_counter).tagname := 'Eb8';
507          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
508          l_counter :=   l_counter
509                       + 1;
510 	 gplsqltable (l_counter).tagname := 'Eb9';
511          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
512          l_counter :=   l_counter
513                       + 1;
514 	 get_digit_breakup(rg_tax_Decl.Reduction,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
515 	 gplsqltable (l_counter).tagname := 'Cr1';
516          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
517          l_counter :=   l_counter
518                       + 1;
519 	 gplsqltable (l_counter).tagname := 'Cr2';
520          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
521          l_counter :=   l_counter
522                       + 1;
523 	 gplsqltable (l_counter).tagname := 'Cr3';
524          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
525          l_counter :=   l_counter
526                       + 1;
527 	 gplsqltable (l_counter).tagname := 'Cr4';
528          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
529          l_counter :=   l_counter
530                       + 1;
531 	 gplsqltable (l_counter).tagname := 'Cr5';
532          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
533          l_counter :=   l_counter
534                       + 1;
535 	 gplsqltable (l_counter).tagname := 'Cr6';
536          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
537          l_counter :=   l_counter
538                       + 1;
539 	 gplsqltable (l_counter).tagname := 'Cr7';
540          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
541          l_counter :=   l_counter
542                       + 1;
543 	 gplsqltable (l_counter).tagname := 'Cr8';
544          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
545          l_counter :=   l_counter
546                       + 1;
547 	 gplsqltable (l_counter).tagname := 'Cr9';
548          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
549          l_counter :=   l_counter
550                       + 1;
551 	 get_digit_breakup(rg_tax_Decl.Regular_Taxable_Base,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
552 	 gplsqltable (l_counter).tagname := 'Rb1';
553          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
554          l_counter :=   l_counter
555                       + 1;
556 	 gplsqltable (l_counter).tagname := 'Rb2';
557          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
558          l_counter :=   l_counter
559                       + 1;
560 	 gplsqltable (l_counter).tagname := 'Rb3';
561          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
562          l_counter :=   l_counter
563                       + 1;
564 	 gplsqltable (l_counter).tagname := 'Rb4';
565          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
566          l_counter :=   l_counter
567                       + 1;
568 	 gplsqltable (l_counter).tagname := 'Rb5';
569          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
570          l_counter :=   l_counter
571                       + 1;
572 	 gplsqltable (l_counter).tagname := 'Rb6';
573          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
574          l_counter :=   l_counter
575                       + 1;
576 	 gplsqltable (l_counter).tagname := 'Rb7';
577          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
578          l_counter :=   l_counter
579                       + 1;
580 	 gplsqltable (l_counter).tagname := 'Rb8';
581          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
582          l_counter :=   l_counter
583                       + 1;
584 	 gplsqltable (l_counter).tagname := 'Rb9';
585          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
586          l_counter :=   l_counter
587                       + 1;
588 	 get_digit_breakup(rg_tax_Decl.Regular_Tax,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
589 	 gplsqltable (l_counter).tagname := 'Rt1';
590          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
591          l_counter :=   l_counter
592                       + 1;
593 	 gplsqltable (l_counter).tagname := 'Rt2';
594          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
598          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
595          l_counter :=   l_counter
596                       + 1;
597 	 gplsqltable (l_counter).tagname := 'Rt3';
599          l_counter :=   l_counter
600                       + 1;
601 	 gplsqltable (l_counter).tagname := 'Rt4';
602          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
603          l_counter :=   l_counter
604                       + 1;
605 	 gplsqltable (l_counter).tagname := 'Rt5';
606          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
607          l_counter :=   l_counter
608                       + 1;
609 	 gplsqltable (l_counter).tagname := 'Rt6';
610          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
611          l_counter :=   l_counter
612                       + 1;
613 	 gplsqltable (l_counter).tagname := 'Rt7';
614          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
615          l_counter :=   l_counter
616                       + 1;
617 	 gplsqltable (l_counter).tagname := 'Rt8';
618          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
619          l_counter :=   l_counter
620                       + 1;
621 	 gplsqltable (l_counter).tagname := 'Rt9';
622          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
623          l_counter :=   l_counter
624                       + 1;
625 	 get_digit_breakup(rg_tax_Decl.Special_65_Taxable_Base,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
626 	 gplsqltable (l_counter).tagname := 'B651';
627          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
628          l_counter :=   l_counter
629                       + 1;
630 	 gplsqltable (l_counter).tagname := 'B652';
631          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
632          l_counter :=   l_counter
633                       + 1;
634 	 gplsqltable (l_counter).tagname := 'B653';
635          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
636          l_counter :=   l_counter
637                       + 1;
638 	 gplsqltable (l_counter).tagname := 'B654';
639          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
640          l_counter :=   l_counter
641                       + 1;
642 	 gplsqltable (l_counter).tagname := 'B655';
643          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
644          l_counter :=   l_counter
645                       + 1;
646 	 gplsqltable (l_counter).tagname := 'B656';
647          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
648          l_counter :=   l_counter
649                       + 1;
650 	 gplsqltable (l_counter).tagname := 'B657';
651          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
652          l_counter :=   l_counter
653                       + 1;
654 	 gplsqltable (l_counter).tagname := 'B658';
655          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
656          l_counter :=   l_counter
657                       + 1;
658 	 gplsqltable (l_counter).tagname := 'B659';
659          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
660          l_counter :=   l_counter
661                       + 1;
662 	 get_digit_breakup(rg_tax_Decl.Special_65_Tax,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
663 	 gplsqltable (l_counter).tagname := 'T651';
664          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
665          l_counter :=   l_counter
666                       + 1;
667 	 gplsqltable (l_counter).tagname := 'T652';
668          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
669          l_counter :=   l_counter
670                       + 1;
671 	 gplsqltable (l_counter).tagname := 'T653';
672          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
673          l_counter :=   l_counter
674                       + 1;
675 	 gplsqltable (l_counter).tagname := 'T654';
676          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
677          l_counter :=   l_counter
678                       + 1;
679 	 gplsqltable (l_counter).tagname := 'T655';
680          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
681          l_counter :=   l_counter
682                       + 1;
683 	 gplsqltable (l_counter).tagname := 'T656';
684          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
685          l_counter :=   l_counter
686                       + 1;
687 	 gplsqltable (l_counter).tagname := 'T657';
688          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
689          l_counter :=   l_counter
690                       + 1;
691 	 gplsqltable (l_counter).tagname := 'T658';
692          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
693          l_counter :=   l_counter
694                       + 1;
695 	 gplsqltable (l_counter).tagname := 'T659';
696          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
697          l_counter :=   l_counter
698                       + 1;
699 
700 /*****************************************************************************************************************/
701 /************ Removed With respect to 2008 Year End changes  ****************************************************/
702 /*****************************************************************************************************************
703 
704 	 get_digit_breakup(rg_tax_Decl.Special_1937_Taxable_Base,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
705 	 gplsqltable (l_counter).tagname := 'B371';
706          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
707          l_counter :=   l_counter
711          l_counter :=   l_counter
708                       + 1;
709 	 gplsqltable (l_counter).tagname := 'B372';
710          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
712                       + 1;
713 	 gplsqltable (l_counter).tagname := 'B373';
717 	 gplsqltable (l_counter).tagname := 'B374';
714          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
715          l_counter :=   l_counter
716                       + 1;
718          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
719          l_counter :=   l_counter
720                       + 1;
721 	 gplsqltable (l_counter).tagname := 'B375';
722          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
723          l_counter :=   l_counter
724                       + 1;
725 	 gplsqltable (l_counter).tagname := 'B376';
726          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
727          l_counter :=   l_counter
728                       + 1;
729 	 gplsqltable (l_counter).tagname := 'B377';
730          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
731          l_counter :=   l_counter
732                       + 1;
733 	 gplsqltable (l_counter).tagname := 'B378';
734          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
735          l_counter :=   l_counter
736                       + 1;
737 	 gplsqltable (l_counter).tagname := 'B379';
738          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
739          l_counter :=   l_counter
740                       + 1;
741 	 get_digit_breakup(rg_tax_Decl.Special_1937_Tax,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
742 	 gplsqltable (l_counter).tagname := 'T371';
743          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
744          l_counter :=   l_counter
745                       + 1;
746 	 gplsqltable (l_counter).tagname := 'T372';
747          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
748          l_counter :=   l_counter
749                       + 1;
750 	 gplsqltable (l_counter).tagname := 'T373';
751          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
752          l_counter :=   l_counter
753                       + 1;
754 	 gplsqltable (l_counter).tagname := 'T374';
755          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
756          l_counter :=   l_counter
757                       + 1;
758 	 gplsqltable (l_counter).tagname := 'T375';
759          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
760          l_counter :=   l_counter
761                       + 1;
762 	 gplsqltable (l_counter).tagname := 'T376';
763          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
764          l_counter :=   l_counter
765                       + 1;
766 	 gplsqltable (l_counter).tagname := 'T377';
767          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
768          l_counter :=   l_counter
769                       + 1;
770 	 gplsqltable (l_counter).tagname := 'T378';
771          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
772          l_counter :=   l_counter
773                       + 1;
774 	 gplsqltable (l_counter).tagname := 'T379';
775          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
776          l_counter :=   l_counter
777                       + 1;
778 ****************************************************************************************************************
779 *****************************************************************************************************************/
780 	 get_digit_breakup(l_Comp_Emb_Without_LU_Total,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
781 	 gplsqltable (l_counter).tagname := 'C1';
782          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
783          l_counter :=   l_counter
784                       + 1;
785 	 gplsqltable (l_counter).tagname := 'C2';
786          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
787          l_counter :=   l_counter
788                       + 1;
789 	 gplsqltable (l_counter).tagname := 'C3';
790          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
791          l_counter :=   l_counter
792                       + 1;
793 	 gplsqltable (l_counter).tagname := 'C4';
794          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
795          l_counter :=   l_counter
796                       + 1;
797 	 gplsqltable (l_counter).tagname := 'C5';
798          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
799          l_counter :=   l_counter
800                       + 1;
801 	 gplsqltable (l_counter).tagname := 'C6';
802          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
806          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
803          l_counter :=   l_counter
804                       + 1;
805 	 gplsqltable (l_counter).tagname := 'C7';
807          l_counter :=   l_counter
808                       + 1;
809 	 gplsqltable (l_counter).tagname := 'C8';
810          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
811          l_counter :=   l_counter
812                       + 1;
813 	 gplsqltable (l_counter).tagname := 'C9';
814          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
815          l_counter :=   l_counter
816                       + 1;
817 	 get_digit_breakup(l_Comp_Emb_Without_LU_Total_29,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
818 	 gplsqltable (l_counter).tagname := 'Cp1';
819          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
820          l_counter :=   l_counter
821                       + 1;
822 	 gplsqltable (l_counter).tagname := 'Cp2';
823          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
824          l_counter :=   l_counter
825                       + 1;
826 	 gplsqltable (l_counter).tagname := 'Cp3';
827          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
828          l_counter :=   l_counter
829                       + 1;
830 	 gplsqltable (l_counter).tagname := 'Cp4';
831          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
832          l_counter :=   l_counter
833                       + 1;
834 	 gplsqltable (l_counter).tagname := 'Cp5';
835          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
836          l_counter :=   l_counter
837                       + 1;
838 	 gplsqltable (l_counter).tagname := 'Cp6';
839          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
840          l_counter :=   l_counter
841                       + 1;
842 	 gplsqltable (l_counter).tagname := 'Cp7';
843          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
844          l_counter :=   l_counter
845                       + 1;
846 	 gplsqltable (l_counter).tagname := 'Cp8';
847          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
848          l_counter :=   l_counter
849                       + 1;
850 	 gplsqltable (l_counter).tagname := 'Cp9';
854 	 gplsqltable (l_counter).tagname := 'Code';
851          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
852          l_counter :=   l_counter
853                       + 1;
855          gplsqltable (l_counter).tagvalue := TO_CHAR (rg_tax_Decl.Code);
856          l_counter :=   l_counter
857                       + 1;
858 
859 	 --
860 	 get_digit_breakup(rg_tax_Decl.Comp_Without_LU_25_below,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
861 	 gplsqltable (l_counter).tagname := 'Cw1';
862          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
863          l_counter :=   l_counter
864                       + 1;
865 	 gplsqltable (l_counter).tagname := 'Cw2';
866          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
867          l_counter :=   l_counter
868                       + 1;
869 	 gplsqltable (l_counter).tagname := 'Cw3';
870          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
871          l_counter :=   l_counter
872                       + 1;
873 	 gplsqltable (l_counter).tagname := 'Cw4';
874          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
875          l_counter :=   l_counter
876                       + 1;
877 	 gplsqltable (l_counter).tagname := 'Cw5';
878          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
879          l_counter :=   l_counter
880                       + 1;
881 	 gplsqltable (l_counter).tagname := 'Cw6';
882          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
883          l_counter :=   l_counter
884                       + 1;
885 	 gplsqltable (l_counter).tagname := 'Cw7';
886          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
887          l_counter :=   l_counter
888                       + 1;
889 	 gplsqltable (l_counter).tagname := 'Cw8';
890          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
891          l_counter :=   l_counter
892                       + 1;
893 	 gplsqltable (l_counter).tagname := 'Cw9';
894          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
895          l_counter :=   l_counter
896                       + 1;
897 	 get_digit_breakup(rg_tax_Decl.Comp_Without_LU_29_25_below,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
898 	 gplsqltable (l_counter).tagname := 'Cwp1';
902 	 gplsqltable (l_counter).tagname := 'Cwp2';
899          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
900          l_counter :=   l_counter
901                       + 1;
903          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
904          l_counter :=   l_counter
905                       + 1;
906 	 gplsqltable (l_counter).tagname := 'Cwp3';
907          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
908          l_counter :=   l_counter
909                       + 1;
910 	 gplsqltable (l_counter).tagname := 'Cwp4';
911          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
912          l_counter :=   l_counter
913                       + 1;
914 	 gplsqltable (l_counter).tagname := 'Cwp5';
915          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
916          l_counter :=   l_counter
917                       + 1;
918 	 gplsqltable (l_counter).tagname := 'Cwp6';
919          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
920          l_counter :=   l_counter
921                       + 1;
922 	 gplsqltable (l_counter).tagname := 'Cwp7';
923          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
924          l_counter :=   l_counter
925                       + 1;
926 	 gplsqltable (l_counter).tagname := 'Cwp8';
927          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
928          l_counter :=   l_counter
929                       + 1;
930 	 gplsqltable (l_counter).tagname := 'Cwp9';
931          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
932          l_counter :=   l_counter
933                       + 1;
934 
935 	 --
936 get_digit_breakup(rg_tax_Decl.Canada,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
937 	 gplsqltable (l_counter).tagname := 'Ca1';
938          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
939          l_counter :=   l_counter
940                       + 1;
941 	 gplsqltable (l_counter).tagname := 'Ca2';
942          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
943          l_counter :=   l_counter
944                       + 1;
945 	 gplsqltable (l_counter).tagname := 'Ca3';
946          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
947          l_counter :=   l_counter
948                       + 1;
949 	 gplsqltable (l_counter).tagname := 'Ca4';
950          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
951          l_counter :=   l_counter
952                       + 1;
953 	 gplsqltable (l_counter).tagname := 'Ca5';
954          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
955          l_counter :=   l_counter
956                       + 1;
957 	 gplsqltable (l_counter).tagname := 'Ca6';
958          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
959          l_counter :=   l_counter
960                       + 1;
961 	 gplsqltable (l_counter).tagname := 'Ca7';
962          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
963          l_counter :=   l_counter
964                       + 1;
965 	 gplsqltable (l_counter).tagname := 'Ca8';
966          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
967          l_counter :=   l_counter
968                       + 1;
969 	 gplsqltable (l_counter).tagname := 'Ca9';
970          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
971          l_counter :=   l_counter
972                       + 1;
973 	 get_digit_breakup(rg_tax_Decl.Special_Canada,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
974 	 gplsqltable (l_counter).tagname := 'Cc1';
975          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
976          l_counter :=   l_counter
977                       + 1;
978 	 gplsqltable (l_counter).tagname := 'Cc2';
979          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
980          l_counter :=   l_counter
981                       + 1;
982 	 gplsqltable (l_counter).tagname := 'Cc3';
983          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
984          l_counter :=   l_counter
985                       + 1;
986 	 gplsqltable (l_counter).tagname := 'Cc4';
987          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
988          l_counter :=   l_counter
989                       + 1;
990 	 gplsqltable (l_counter).tagname := 'Cc5';
991          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
992          l_counter :=   l_counter
993                       + 1;
994 	 gplsqltable (l_counter).tagname := 'Cc6';
995          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
996          l_counter :=   l_counter
997                       + 1;
998 	 gplsqltable (l_counter).tagname := 'Cc7';
999          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1000          l_counter :=   l_counter
1001                       + 1;
1002 	 gplsqltable (l_counter).tagname := 'Cc8';
1003          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1004          l_counter :=   l_counter
1005                       + 1;
1006 	 gplsqltable (l_counter).tagname := 'Cc9';
1007          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1008          l_counter :=   l_counter
1009                       + 1;
1010 /***************************************************************************************************************/
1011 /************************ Removed with respect to 2008 Year End Changes ****************************************/
1012 /**************************************************************************************************************
1013 
1017          l_counter :=   l_counter
1014 	get_digit_breakup(rg_tax_Decl.Comp_Support,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1015 	 gplsqltable (l_counter).tagname := 'Cs1';
1016          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1018                       + 1;
1019 	 gplsqltable (l_counter).tagname := 'Cs2';
1020          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1021          l_counter :=   l_counter
1022                       + 1;
1023 	 gplsqltable (l_counter).tagname := 'Cs3';
1024          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1025          l_counter :=   l_counter
1026                       + 1;
1027 	 gplsqltable (l_counter).tagname := 'Cs4';
1028          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1029          l_counter :=   l_counter
1030                       + 1;
1031 	 gplsqltable (l_counter).tagname := 'Cs5';
1032          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1033          l_counter :=   l_counter
1034                       + 1;
1035 	 gplsqltable (l_counter).tagname := 'Cs6';
1036          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1037          l_counter :=   l_counter
1038                       + 1;
1039 	 gplsqltable (l_counter).tagname := 'Cs7';
1040          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1041          l_counter :=   l_counter
1042                       + 1;
1043 	 gplsqltable (l_counter).tagname := 'Cs8';
1044          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1045          l_counter :=   l_counter
1046                       + 1;
1047 	 gplsqltable (l_counter).tagname := 'Cs9';
1048          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1049          l_counter :=   l_counter
1050                       + 1;
1051 
1052 	 get_digit_breakup(rg_tax_Decl.Comp_Support_5,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1053 	 gplsqltable (l_counter).tagname := 'Ds1';
1054          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1055          l_counter :=   l_counter
1056                       + 1;
1057 	 gplsqltable (l_counter).tagname := 'Ds2';
1058          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1059          l_counter :=   l_counter
1060                       + 1;
1061 	 gplsqltable (l_counter).tagname := 'Ds3';
1062          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1063          l_counter :=   l_counter
1064                       + 1;
1065 	 gplsqltable (l_counter).tagname := 'Ds4';
1066          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1067          l_counter :=   l_counter
1068                       + 1;
1069 	 gplsqltable (l_counter).tagname := 'Ds5';
1070          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1071          l_counter :=   l_counter
1072                       + 1;
1073 	 gplsqltable (l_counter).tagname := 'Ds6';
1074          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1075          l_counter :=   l_counter
1076                       + 1;
1077 	 gplsqltable (l_counter).tagname := 'Ds7';
1078          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1079          l_counter :=   l_counter
1080                       + 1;
1081 	 gplsqltable (l_counter).tagname := 'Ds8';
1082          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1083          l_counter :=   l_counter
1084                       + 1;
1085 	 gplsqltable (l_counter).tagname := 'Ds9';
1086          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1087          l_counter :=   l_counter
1088                       + 1;
1089 ****************************************************************************************************************/
1090 /***************************************************************************************************************/
1091 	 get_digit_breakup(rg_tax_Decl.Ext_Comp_Support,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1092 	 gplsqltable (l_counter).tagname := 'Es1';
1093          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1094          l_counter :=   l_counter
1095                       + 1;
1096 	 gplsqltable (l_counter).tagname := 'Es2';
1097          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1098          l_counter :=   l_counter
1099                       + 1;
1100 	 gplsqltable (l_counter).tagname := 'Es3';
1101          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1102          l_counter :=   l_counter
1103                       + 1;
1104 	 gplsqltable (l_counter).tagname := 'Es4';
1105          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1106          l_counter :=   l_counter
1107                       + 1;
1108 	 gplsqltable (l_counter).tagname := 'Es5';
1109          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1110          l_counter :=   l_counter
1111                       + 1;
1112 	 gplsqltable (l_counter).tagname := 'Es6';
1113          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1114          l_counter :=   l_counter
1115                       + 1;
1116 	 gplsqltable (l_counter).tagname := 'Es7';
1117          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1118          l_counter :=   l_counter
1119                       + 1;
1120 	 gplsqltable (l_counter).tagname := 'Es8';
1121          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1122          l_counter :=   l_counter
1123                       + 1;
1124 	 gplsqltable (l_counter).tagname := 'Es9';
1128 
1125          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1126          l_counter :=   l_counter
1127                       + 1;
1129 /***************************************************************************************************************/
1130 /************************* removed With respect to EOY 2008 ****************************************************/
1131 /************************************************************************************************************
1132          get_digit_breakup(rg_tax_Decl.Comp_Support_5,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1133 	 gplsqltable (l_counter).tagname := 'Ds1';
1134          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1135          l_counter :=   l_counter
1136                       + 1;
1137 	 gplsqltable (l_counter).tagname := 'Ds2';
1138          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1139          l_counter :=   l_counter
1140                       + 1;
1141 	 gplsqltable (l_counter).tagname := 'Ds3';
1142          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1143          l_counter :=   l_counter
1144                       + 1;
1145 	 gplsqltable (l_counter).tagname := 'Ds4';
1146          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1147          l_counter :=   l_counter
1148                       + 1;
1149 	 gplsqltable (l_counter).tagname := 'Ds5';
1150          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1151          l_counter :=   l_counter
1152                       + 1;
1153 	 gplsqltable (l_counter).tagname := 'Ds6';
1154          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1155          l_counter :=   l_counter
1156                       + 1;
1157 	 gplsqltable (l_counter).tagname := 'Ds7';
1158          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1159          l_counter :=   l_counter
1160                       + 1;
1161 	 gplsqltable (l_counter).tagname := 'Ds8';
1162          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1163          l_counter :=   l_counter
1164                       + 1;
1165 	 gplsqltable (l_counter).tagname := 'Ds9';
1166          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1167          l_counter :=   l_counter
1168                       + 1;
1169 
1170 *************************************************************************************************************/
1171 /************************************************************************************************************/
1172 	 get_digit_breakup(rg_tax_Decl.Ext_Comp_Support_10,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1173 	 gplsqltable (l_counter).tagname := 'De1';
1174          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1175          l_counter :=   l_counter
1176                       + 1;
1177 	 gplsqltable (l_counter).tagname := 'De2';
1178          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1179          l_counter :=   l_counter
1180                       + 1;
1181 	 gplsqltable (l_counter).tagname := 'De3';
1182          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1183          l_counter :=   l_counter
1184                       + 1;
1185 	 gplsqltable (l_counter).tagname := 'De4';
1186          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1187          l_counter :=   l_counter
1188                       + 1;
1189 	 gplsqltable (l_counter).tagname := 'De5';
1190          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1191          l_counter :=   l_counter
1192                       + 1;
1193 	 gplsqltable (l_counter).tagname := 'De6';
1194          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1195          l_counter :=   l_counter
1196                       + 1;
1197 	 gplsqltable (l_counter).tagname := 'De7';
1198          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1199          l_counter :=   l_counter
1200                       + 1;
1201 	 gplsqltable (l_counter).tagname := 'De8';
1202          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1203          l_counter :=   l_counter
1204                       + 1;
1205 	 gplsqltable (l_counter).tagname := 'De9';
1206          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1207          l_counter :=   l_counter
1208                       + 1;
1209 	 get_digit_breakup(rg_tax_Decl.Total_Employer_Tax,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1210 	 gplsqltable (l_counter).tagname := 'Et1';
1211          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1212          l_counter :=   l_counter
1213                       + 1;
1214 	 gplsqltable (l_counter).tagname := 'Et2';
1218 	 gplsqltable (l_counter).tagname := 'Et3';
1215          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1216          l_counter :=   l_counter
1217                       + 1;
1219          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1220          l_counter :=   l_counter
1221                       + 1;
1222 	 gplsqltable (l_counter).tagname := 'Et4';
1223          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1224          l_counter :=   l_counter
1225                       + 1;
1226 	 gplsqltable (l_counter).tagname := 'Et5';
1227          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1228          l_counter :=   l_counter
1229                       + 1;
1230 	 gplsqltable (l_counter).tagname := 'Et6';
1231          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1232          l_counter :=   l_counter
1233                       + 1;
1234 	 gplsqltable (l_counter).tagname := 'Et7';
1235          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1236          l_counter :=   l_counter
1237                       + 1;
1238 	 gplsqltable (l_counter).tagname := 'Et8';
1239          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1240          l_counter :=   l_counter
1241                       + 1;
1242 	 gplsqltable (l_counter).tagname := 'Et9';
1243          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1244          l_counter :=   l_counter
1245                       + 1;
1246 	 get_digit_breakup(rg_tax_Decl.Taxable_Base,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1247 	 gplsqltable (l_counter).tagname := 'Bt1';
1248          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1249          l_counter :=   l_counter
1250                       + 1;
1251 	 gplsqltable (l_counter).tagname := 'Bt2';
1252          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1253          l_counter :=   l_counter
1254                       + 1;
1255 	 gplsqltable (l_counter).tagname := 'Bt3';
1256          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1257          l_counter :=   l_counter
1258                       + 1;
1259 	 gplsqltable (l_counter).tagname := 'Bt4';
1260          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1261          l_counter :=   l_counter
1262                       + 1;
1263 	 gplsqltable (l_counter).tagname := 'Bt5';
1264          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1265          l_counter :=   l_counter
1266                       + 1;
1267 	 gplsqltable (l_counter).tagname := 'Bt6';
1268          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1269          l_counter :=   l_counter
1270                       + 1;
1271 	 gplsqltable (l_counter).tagname := 'Bt7';
1272          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1273          l_counter :=   l_counter
1274                       + 1;
1275 	 gplsqltable (l_counter).tagname := 'Bt8';
1276          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1277          l_counter :=   l_counter
1278                       + 1;
1279 	 gplsqltable (l_counter).tagname := 'Bt9';
1280          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1281          l_counter :=   l_counter
1282                       + 1;
1283 	 get_digit_breakup(rg_tax_Decl.Employee_Tax,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1284 	 gplsqltable (l_counter).tagname := 'Be1';
1285          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1286          l_counter :=   l_counter
1287                       + 1;
1288 	 gplsqltable (l_counter).tagname := 'Be2';
1289          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1290          l_counter :=   l_counter
1291                       + 1;
1292 	 gplsqltable (l_counter).tagname := 'Be3';
1293          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1294          l_counter :=   l_counter
1295                       + 1;
1296 	 gplsqltable (l_counter).tagname := 'Be4';
1297          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1298          l_counter :=   l_counter
1299                       + 1;
1300 	 gplsqltable (l_counter).tagname := 'Be5';
1301          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1302          l_counter :=   l_counter
1303                       + 1;
1304 	 gplsqltable (l_counter).tagname := 'Be6';
1305          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1306          l_counter :=   l_counter
1307                       + 1;
1308 	 gplsqltable (l_counter).tagname := 'Be7';
1309          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1310          l_counter :=   l_counter
1311                       + 1;
1312 	 gplsqltable (l_counter).tagname := 'Be8';
1313          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1314          l_counter :=   l_counter
1315                       + 1;
1316 	 gplsqltable (l_counter).tagname := 'Be9';
1317          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1318          l_counter :=   l_counter
1319                       + 1;
1320 	 get_digit_breakup(rg_tax_Decl.Pension,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1321 	 gplsqltable (l_counter).tagname := 'P1';
1322          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1323          l_counter :=   l_counter
1324                       + 1;
1325 	 gplsqltable (l_counter).tagname := 'P2';
1326          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1327          l_counter :=   l_counter
1328                       + 1;
1329 	 gplsqltable (l_counter).tagname := 'P3';
1330          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1331          l_counter :=   l_counter
1332                       + 1;
1336                       + 1;
1333 	 gplsqltable (l_counter).tagname := 'P4';
1334          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1335          l_counter :=   l_counter
1337 	 gplsqltable (l_counter).tagname := 'P5';
1338          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1339          l_counter :=   l_counter
1340                       + 1;
1341 	 gplsqltable (l_counter).tagname := 'P6';
1342          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1343          l_counter :=   l_counter
1344                       + 1;
1345 	 gplsqltable (l_counter).tagname := 'P7';
1346          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1347          l_counter :=   l_counter
1348                       + 1;
1349 	 gplsqltable (l_counter).tagname := 'P8';
1350          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1351          l_counter :=   l_counter
1352                       + 1;
1353 	 gplsqltable (l_counter).tagname := 'P9';
1354          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1355          l_counter :=   l_counter
1356                       + 1;
1357 	 get_digit_breakup(rg_tax_Decl.Ded_Pension,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1358 	 gplsqltable (l_counter).tagname := 'Dp1';
1359          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1360          l_counter :=   l_counter
1361                       + 1;
1362 	 gplsqltable (l_counter).tagname := 'Dp2';
1363          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1364          l_counter :=   l_counter
1365                       + 1;
1366 	 gplsqltable (l_counter).tagname := 'Dp3';
1367          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1368          l_counter :=   l_counter
1369                       + 1;
1370 	 gplsqltable (l_counter).tagname := 'Dp4';
1371          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1372          l_counter :=   l_counter
1373                       + 1;
1374 	 gplsqltable (l_counter).tagname := 'Dp5';
1375          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1376          l_counter :=   l_counter
1377                       + 1;
1378 	 gplsqltable (l_counter).tagname := 'Dp6';
1379          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1380          l_counter :=   l_counter
1381                       + 1;
1382 	 gplsqltable (l_counter).tagname := 'Dp7';
1383          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1384          l_counter :=   l_counter
1385                       + 1;
1386 	 gplsqltable (l_counter).tagname := 'Dp8';
1387          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1388          l_counter :=   l_counter
1389                       + 1;
1390 	 gplsqltable (l_counter).tagname := 'Dp9';
1391          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1392          l_counter :=   l_counter
1393                       + 1;
1394 	 get_digit_breakup(rg_tax_Decl.Interest,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1395 	 gplsqltable (l_counter).tagname := 'I1';
1396          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1397          l_counter :=   l_counter
1398                       + 1;
1399 	 gplsqltable (l_counter).tagname := 'I2';
1400          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1401          l_counter :=   l_counter
1402                       + 1;
1403 	 gplsqltable (l_counter).tagname := 'I3';
1404          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1405          l_counter :=   l_counter
1406                       + 1;
1407 	 gplsqltable (l_counter).tagname := 'I4';
1408          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1409          l_counter :=   l_counter
1410                       + 1;
1411 	 gplsqltable (l_counter).tagname := 'I5';
1412          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1413          l_counter :=   l_counter
1414                       + 1;
1415 	 gplsqltable (l_counter).tagname := 'I6';
1416          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1417          l_counter :=   l_counter
1418                       + 1;
1419 	 gplsqltable (l_counter).tagname := 'I7';
1420          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1421          l_counter :=   l_counter
1422                       + 1;
1423 	 gplsqltable (l_counter).tagname := 'I8';
1424          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1425          l_counter :=   l_counter
1426                       + 1;
1427 	 gplsqltable (l_counter).tagname := 'I9';
1428          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1429          l_counter :=   l_counter
1430                       + 1;
1431 	 get_digit_breakup(rg_tax_Decl.Ded_Interest,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1432 	 gplsqltable (l_counter).tagname := 'Di1';
1433          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1434          l_counter :=   l_counter
1435                       + 1;
1436 	 gplsqltable (l_counter).tagname := 'Di2';
1437          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1438          l_counter :=   l_counter
1439                       + 1;
1440 	 gplsqltable (l_counter).tagname := 'Di3';
1441          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1442          l_counter :=   l_counter
1443                       + 1;
1444 	 gplsqltable (l_counter).tagname := 'Di4';
1445          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1446          l_counter :=   l_counter
1447                       + 1;
1448 	 gplsqltable (l_counter).tagname := 'Di5';
1449          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1450          l_counter :=   l_counter
1454          l_counter :=   l_counter
1451                       + 1;
1452 	 gplsqltable (l_counter).tagname := 'Di6';
1453          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1455                       + 1;
1456 	 gplsqltable (l_counter).tagname := 'Di7';
1457          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1458          l_counter :=   l_counter
1459                       + 1;
1460 	 gplsqltable (l_counter).tagname := 'Di8';
1461          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1462          l_counter :=   l_counter
1463                       + 1;
1464 	 gplsqltable (l_counter).tagname := 'Di9';
1465          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1466          l_counter :=   l_counter
1467                       + 1;
1468 	 get_digit_breakup(rg_tax_Decl.Tax_Deduction,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1469 	 gplsqltable (l_counter).tagname := 'Db1';
1470          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1471          l_counter :=   l_counter
1472                       + 1;
1473 	 gplsqltable (l_counter).tagname := 'Db2';
1474          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1475          l_counter :=   l_counter
1476                       + 1;
1477 	 gplsqltable (l_counter).tagname := 'Db3';
1478          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1479          l_counter :=   l_counter
1480                       + 1;
1481 	 gplsqltable (l_counter).tagname := 'Db4';
1482          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1483          l_counter :=   l_counter
1484                       + 1;
1485 	 gplsqltable (l_counter).tagname := 'Db5';
1486          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1487          l_counter :=   l_counter
1488                       + 1;
1489 	 gplsqltable (l_counter).tagname := 'Db6';
1490          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1491          l_counter :=   l_counter
1492                       + 1;
1493 	 gplsqltable (l_counter).tagname := 'Db7';
1494          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1495          l_counter :=   l_counter
1496                       + 1;
1497 	 gplsqltable (l_counter).tagname := 'Db8';
1498          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1499          l_counter :=   l_counter
1500                       + 1;
1501 	 gplsqltable (l_counter).tagname := 'Db9';
1502          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1503          l_counter :=   l_counter
1504                       + 1;
1505 	 get_digit_breakup(rg_tax_Decl.Deducted_Tax_Pay,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1506 	 gplsqltable (l_counter).tagname := 'Dt1';
1507          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1508          l_counter :=   l_counter
1509                       + 1;
1510 	 gplsqltable (l_counter).tagname := 'Dt2';
1511          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1512          l_counter :=   l_counter
1513                       + 1;
1514 	 gplsqltable (l_counter).tagname := 'Dt3';
1515          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1516          l_counter :=   l_counter
1517                       + 1;
1518 	 gplsqltable (l_counter).tagname := 'Dt4';
1519          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1520          l_counter :=   l_counter
1521                       + 1;
1522 	 gplsqltable (l_counter).tagname := 'Dt5';
1523          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1524          l_counter :=   l_counter
1525                       + 1;
1526 	 gplsqltable (l_counter).tagname := 'Dt6';
1527          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1528          l_counter :=   l_counter
1529                       + 1;
1530 	 gplsqltable (l_counter).tagname := 'Dt7';
1531          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1532          l_counter :=   l_counter
1533                       + 1;
1534 	 gplsqltable (l_counter).tagname := 'Dt8';
1538 	 gplsqltable (l_counter).tagname := 'Dt9';
1535          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1536          l_counter :=   l_counter
1537                       + 1;
1539          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1540          l_counter :=   l_counter
1541                       + 1;
1542 	 get_digit_breakup((trunc(rg_tax_Decl.Deducted_Tax_Pay) + trunc(rg_tax_Decl.Total_Employer_Tax)),l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1543 	 gplsqltable (l_counter).tagname := 'Std1';
1544          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1545          l_counter :=   l_counter
1546                       + 1;
1547 	 gplsqltable (l_counter).tagname := 'Std2';
1548          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1549          l_counter :=   l_counter
1550                       + 1;
1551 	 gplsqltable (l_counter).tagname := 'Std3';
1552          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1553          l_counter :=   l_counter
1554                       + 1;
1555 	 gplsqltable (l_counter).tagname := 'Std4';
1556          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1557          l_counter :=   l_counter
1558                       + 1;
1559 	 gplsqltable (l_counter).tagname := 'Std5';
1560          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1561          l_counter :=   l_counter
1562                       + 1;
1563 	 gplsqltable (l_counter).tagname := 'Std6';
1564          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1565          l_counter :=   l_counter
1566                       + 1;
1567 	 gplsqltable (l_counter).tagname := 'Std7';
1568          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1569          l_counter :=   l_counter
1570                       + 1;
1571 	 gplsqltable (l_counter).tagname := 'Std8';
1572          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1573          l_counter :=   l_counter
1574                       + 1;
1575 	 gplsqltable (l_counter).tagname := 'Std9';
1576          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1577          l_counter :=   l_counter
1578                       + 1;
1579 	 get_digit_breakup(rg_tax_Decl.Special_25_below_Taxable_Base,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1580 	 gplsqltable (l_counter).tagname := 'B251';
1581          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1582          l_counter :=   l_counter
1583                       + 1;
1584 	 gplsqltable (l_counter).tagname := 'B252';
1585          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1586          l_counter :=   l_counter
1587                       + 1;
1588 	 gplsqltable (l_counter).tagname := 'B253';
1589          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1590          l_counter :=   l_counter
1591                       + 1;
1592 	 gplsqltable (l_counter).tagname := 'B254';
1593          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1594          l_counter :=   l_counter
1595                       + 1;
1596 	 gplsqltable (l_counter).tagname := 'B255';
1597          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1598          l_counter :=   l_counter
1599                       + 1;
1600 	 gplsqltable (l_counter).tagname := 'B256';
1601          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1602          l_counter :=   l_counter
1603                       + 1;
1604 	 gplsqltable (l_counter).tagname := 'B257';
1605          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1606          l_counter :=   l_counter
1607                       + 1;
1608 	 gplsqltable (l_counter).tagname := 'B258';
1609          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1610          l_counter :=   l_counter
1611                       + 1;
1612 	 gplsqltable (l_counter).tagname := 'B259';
1613          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1614          l_counter :=   l_counter
1615                       + 1;
1616 	 get_digit_breakup(rg_tax_Decl.Special_25_below_Tax,l_digit1,l_digit2,l_digit3,l_digit4,l_digit5,l_digit6,l_digit7,l_digit8,l_digit9);
1617 	 gplsqltable (l_counter).tagname := 'T251';
1618          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit1);
1619          l_counter :=   l_counter
1620                       + 1;
1624                       + 1;
1621 	 gplsqltable (l_counter).tagname := 'T252';
1622          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit2);
1623          l_counter :=   l_counter
1625 	 gplsqltable (l_counter).tagname := 'T253';
1626          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit3);
1627          l_counter :=   l_counter
1628                       + 1;
1629 	 gplsqltable (l_counter).tagname := 'T254';
1630          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit4);
1631          l_counter :=   l_counter
1632                       + 1;
1633 	 gplsqltable (l_counter).tagname := 'T255';
1634          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit5);
1635          l_counter :=   l_counter
1636                       + 1;
1637 	 gplsqltable (l_counter).tagname := 'T256';
1638          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit6);
1639          l_counter :=   l_counter
1640                       + 1;
1641 	 gplsqltable (l_counter).tagname := 'T257';
1642          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit7);
1643          l_counter :=   l_counter
1644                       + 1;
1645 	 gplsqltable (l_counter).tagname := 'T258';
1646          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit8);
1647          l_counter :=   l_counter
1648                       + 1;
1649 	 gplsqltable (l_counter).tagname := 'T259';
1650          gplsqltable (l_counter).tagvalue := TO_CHAR (l_digit9);
1651          l_counter :=   l_counter
1652                       + 1;
1653 
1654          gplsqltable (l_counter).tagname := 'Information';
1655          gplsqltable (l_counter).tagvalue := TO_CHAR (rg_tax_Decl.Information);
1656          l_counter :=   l_counter
1657                       + 1;
1658          gplsqltable (l_counter).tagname := 'Contact';
1659          gplsqltable (l_counter).tagvalue :=
1660                                             TO_CHAR (rg_Tax_Decl.Contact);
1661          l_counter :=   l_counter
1662                       + 1;
1663          gplsqltable (l_counter).tagname := 'Phone';
1664          gplsqltable (l_counter).tagvalue := TO_CHAR (rg_Tax_Decl.Phone);
1665          l_counter :=   l_counter
1666                       + 1;
1667          gplsqltable (l_counter).tagname := 'Administrative_Code';
1668          gplsqltable (l_counter).tagvalue :=
1669                                        TO_CHAR (rg_Tax_Decl.Administrative_Code);
1670          l_counter :=   l_counter
1671                       + 1;
1672 
1673 
1674          gplsqltable (l_counter).tagname := 'END';
1675          gplsqltable (l_counter).tagvalue := 'END';
1676          l_counter :=   l_counter
1677                       + 1;
1678 
1679       writetoclob (p_xml);
1680       --INSERT INTO raaj VALUES (p_xml);
1681       fnd_file.put_line(fnd_file.LOG,'p_xml'||p_xml);
1682 
1683    END get_data;
1684 -----------------------------------------------------------------------------------------------------------------
1685    PROCEDURE writetoclob (p_xfdf_clob OUT NOCOPY CLOB)
1686    IS
1687       l_xfdf_string   CLOB;
1688       l_str1          VARCHAR2 (1000);
1689       l_str2          VARCHAR2 (20);
1690       l_str3          VARCHAR2 (20);
1691       l_str4          VARCHAR2 (20);
1692       l_str5          VARCHAR2 (20);
1693       l_str6          VARCHAR2 (30);
1694       l_str7          VARCHAR2 (1000);
1695       l_str8          VARCHAR2 (240);
1696       l_str9          VARCHAR2 (240);
1697       l_str10         VARCHAR2 (20);
1698       l_str11         VARCHAR2 (20);
1699       current_index   PLS_INTEGER;
1700       l_counter       PLS_INTEGER;
1701    BEGIN
1702 
1703       hr_utility.set_location ('Entering WritetoCLOB ', 70);
1704       l_str1 := '<?xml version="1.0" encoding="UTF-8"?> <ROOT>';
1705       l_str2 := '<';
1706       l_str3 := '>';
1707       l_str4 := '</';
1708       l_str5 := '>';
1709       l_str6 := '</ROOT>';
1710       l_str7 := '<?xml version="1.0" encoding="UTF-8"?> <ROOT></ROOT>';
1711       l_str10 := '<TAXDECL>';
1712       l_str11 := '</TAXDECL>';
1713 
1714 BEGIN
1715 dbms_lob.createtemporary(l_xfdf_string, FALSE, dbms_lob.CALL);
1716 
1717 END;
1718 
1719       dbms_lob.OPEN(l_xfdf_string, DBMS_LOB.lob_readwrite);
1720 
1721       current_index := 0;
1722 
1723       IF gplsqltable.COUNT > 0
1724       THEN
1725          DBMS_LOB.writeappend(l_xfdf_string, LENGTH (l_str1), l_str1);
1726          FOR table_counter IN gplsqltable.FIRST .. gplsqltable.LAST
1727          LOOP
1728 
1729             l_str8 := gplsqltable (table_counter).tagname;
1730             l_str9 := gplsqltable (table_counter).tagvalue;
1731             IF l_str9 = 'END'
1732             THEN
1733                DBMS_LOB.writeappend (l_xfdf_string,
1734                   LENGTH (l_str11),
1735                   l_str11
1736                );
1737             ELSIF l_str9 = 'START'
1738             THEN
1739                DBMS_LOB.writeappend (
1740                   l_xfdf_string,
1741                   LENGTH (l_str10),
1742                   l_str10
1743                );
1744             ELSIF l_str9 IS NOT NULL
1745             THEN
1746                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str2), l_str2);
1747                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
1748                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str3), l_str3);
1749                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str9), l_str9);
1750                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str4), l_str4);
1751                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
1752                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str5), l_str5);
1753             ELSE
1757                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str4), l_str4);
1754                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str2), l_str2);
1755                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
1756                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str3), l_str3);
1758                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
1759                DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str5), l_str5);
1760             END IF;
1761          END LOOP;
1762          DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str6), l_str6);
1763       ELSE
1764          DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str7), l_str7);
1765       END IF;
1766       p_xfdf_clob := l_xfdf_string;
1767       hr_utility.set_location ('Leaving WritetoCLOB ', 70);
1768       hr_utility.set_location ('Leaving WritetoCLOB ', 70);
1769 
1770 
1771    END writetoclob;
1772   -------------------------------------------------------------------------------------------------------------------------
1773    PROCEDURE GET_XML
1774 (
1775 	p_business_group_id				IN NUMBER,
1776 	p_payroll_action_id       				IN  VARCHAR2 ,
1777   	p_template_name					IN VARCHAR2,
1778 	p_xml 								OUT NOCOPY CLOB
1779 	)
1780    IS
1781       /*  Start of declaration*/
1782       -- Variables needed for the report
1783       l_sum                 NUMBER;
1784       l_counter             NUMBER                                            := 1;
1785       l_payroll_action_id   pay_action_information.action_information1%TYPE;
1786       l_xfdf_string CLOB;
1787       l_str1 varchar2(2000);
1788 
1789 cursor csr_Tax_Decl (csr_v_pa_id IN VARCHAR2)
1790 IS
1791 SELECT pai.action_information3 Organization_Name,
1792 pai.action_information4 Month,
1793 pai.action_information5 Year,
1794 pai.action_information8 Declaration_Due_Date,
1795 pai.action_information6 Administrative_Code,
1796 pai.action_information7 Information,
1797 pai1.action_information3 Organization_Number,
1798 fnd_number.canonical_to_number(pai1.action_information4) Reduction,
1799 pai1.action_information7 Code,
1800 fnd_number.canonical_to_number(pai1.action_information8) Canada,
1801 fnd_number.canonical_to_number(pai1.action_information9) Special_Canada,
1802 -- fnd_number.canonical_to_number(pai1.action_information10) Comp_Support,  -- EOY 2008
1803 -- fnd_number.canonical_to_number(pai1.action_information11) Comp_Support_5,  -- EOY 2008
1804 fnd_number.canonical_to_number(pai1.action_information12) Ext_Comp_Support,
1805 fnd_number.canonical_to_number(pai1.action_information13) Ext_Comp_Support_10,
1806 fnd_number.canonical_to_number(pai1.action_information14) Pension,
1807 fnd_number.canonical_to_number(pai1.action_information15) Ded_Pension,
1808 fnd_number.canonical_to_number(pai1.action_information16) Interest,
1809 fnd_number.canonical_to_number(pai1.action_information17) Ded_Interest,
1810 pai1.action_information18 Contact,
1811 pai1.action_information19 Phone,
1812 fnd_number.canonical_to_number(pai1.action_information20) Certain_Insurances,    --EOY 2008
1813 fnd_number.canonical_to_number(pai1.action_information21) Certain_Insurances_29, -- EOY 2008
1814 fnd_number.canonical_to_number(pai2.action_information3) Gross_Pay,
1815 fnd_number.canonical_to_number(pai2.action_information4) Benefit,
1816 fnd_number.canonical_to_number(pai2.action_information5) Total_Basis_Employer_Tax,
1817 fnd_number.canonical_to_number(pai2.action_information6) Regular_Taxable_Base,
1818 fnd_number.canonical_to_number(pai2.action_information7) Regular_Tax,
1819 fnd_number.canonical_to_number(pai2.action_information8) Special_65_Taxable_Base,
1820 fnd_number.canonical_to_number(pai2.action_information9) Special_65_Tax,
1821 fnd_number.canonical_to_number(pai2.action_information10) Special_1937_Taxable_Base,
1822 fnd_number.canonical_to_number(pai2.action_information11) Special_1937_Tax,
1823 fnd_number.canonical_to_number(pai2.action_information12) Total_Employer_Tax,
1824 fnd_number.canonical_to_number(pai2.action_information13) Taxable_Base,
1825 fnd_number.canonical_to_number(pai2.action_information14) Employee_Tax,
1826 fnd_number.canonical_to_number(pai2.action_information15) Tax_Deduction,
1827 fnd_number.canonical_to_number(pai2.action_information16) Deducted_Tax_Pay,
1828 fnd_number.canonical_to_number(pai2.action_information17) Comp_Without_LU,
1829 fnd_number.canonical_to_number(pai2.action_information18) Comp_Without_LU_29,
1830 fnd_number.canonical_to_number(pai2.action_information19) Comp_Without_LU_65_below,
1831 fnd_number.canonical_to_number(pai2.action_information20) Comp_Without_LU_29_65_below,
1832 fnd_number.canonical_to_number(pai2.action_information21) Special_25_below_Taxable_Base,
1833 fnd_number.canonical_to_number(pai2.action_information22) Special_25_below_Tax,
1834 fnd_number.canonical_to_number(pai2.action_information23) Comp_Without_LU_25_below,     -- EOY 2008
1835 fnd_number.canonical_to_number(pai2.action_information24) Comp_Without_LU_29_25_below   -- EOY 2008
1836 FROM
1837 pay_action_information pai,
1838 pay_payroll_actions ppa,
1839 pay_action_information pai1,
1840 pay_action_information pai2
1841 WHERE
1842 pai.action_context_id = ppa.payroll_action_id
1843 AND ppa.payroll_action_id =csr_v_pa_id
1844 AND pai.action_context_id = pai1.action_context_id
1845 AND pai1.action_context_id= pai2.action_context_id
1846 AND pai2.action_context_id=pai1.action_context_id
1847 AND pai1.action_context_type='PA'
1848 AND pai1.action_information2 = 'INF'
1849 AND pai1.action_information1 = 'PYSETADA'
1850 AND pai1.action_information_category = 'EMEA REPORT INFORMATION'
1851 AND pai.action_context_type = 'PA'
1852 AND pai.action_information1 = 'PYSETADA'
1853 AND pai.action_information_category = 'EMEA REPORT DETAILS'
1854 AND pai2.action_context_type = 'PA'
1855 AND pai2.action_information1 = 'PYSETADA'
1856 AND pai2.action_information_category = 'EMEA REPORT INFORMATION'
1857 AND pai2.action_information2 = 'BAL';
1858 
1859 rg_Tax_Decl csr_Tax_Decl%rowtype;
1860 
1861 CURSOR csr_month(csr_v_month varchar2) IS
1862 SELECT decode(trim(csr_v_month),'JANUARY','01',
1863 	'FEBRUARY','02',
1864 	'MARCH','03',
1865 	'APRIL','04',
1866 	'MAY','05',
1867 	'JUNE','06',
1868 	'JULY','07',
1869 	'AUGUST','08',
1870 	'SEPTEMBER','09',
1871 	'OCTOBER','10',
1872 	'NOVEMBER','11',
1873 	'DECEMBER','12') FROM dual;
1874 
1875 
1876 l_month varchar2(5);
1877 l_full_month varchar2(25);
1878 BEGIN
1879     fnd_file.put_line (fnd_file.LOG, 'Entering into GET_XML');
1880 	hr_utility.set_location ('Entered Procedure GETDATA', 10);
1881 
1882 	l_payroll_action_id :=
1883                           get_archive_payroll_action_id (p_payroll_action_id);
1884 
1885 	OPEN csr_Tax_Decl(l_payroll_action_id);
1886 		FETCH csr_Tax_Decl INTO rg_Tax_Decl;
1887 	CLOSE csr_Tax_Decl;
1888 
1889 	--l_regular_Year:=rg_Tax_Decl.Year-65;
1890 	--l_65_Year:=l_regular_Year-1;
1891 
1892 	 l_full_month:=	rg_Tax_Decl.Month;
1893 
1894 	 OPEN csr_month(l_full_month);
1895 		FETCH csr_month INTO l_month;
1896 	 CLOSE csr_month;
1897 
1898 	/*Generate an xml string*/
1899 	dbms_lob.createtemporary(l_xfdf_string,FALSE,DBMS_LOB.CALL);
1900 	dbms_lob.open(l_xfdf_string,dbms_lob.lob_readwrite);
1901 
1902 	 				/*Generate an xml string*/
1903 				dbms_lob.createtemporary(l_xfdf_string,FALSE,DBMS_LOB.CALL);
1904 				dbms_lob.open(l_xfdf_string,dbms_lob.lob_readwrite);
1905 
1906 			/*	 l_str1 := '<?xml version="1.0" encoding="'||l_IANA_charset||'"?>
1907 				<Skjema xmlns:brreg="http://www.brreg.no/or" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1908 				tittel="Terminoppgave for  arbeidsgiveravgift og forskuddstrekk." gruppeid="52" spesifikasjonsnummer="4578"
1909 				skjemanummer="669" etatid="974761076" blankettnummer="RF-1037">';
1910 				dbms_lob.writeAppend( l_xfdf_string, length(l_str1), l_str1 );*/
1911 
1912 	l_str1 := '<?xml version="1.0" encoding="ISO-8859-1"?>
1913 
1914    	<!--DOCTYPE eSKDUpload PUBLIC "-//Skatteverket, Sweden//DTD Skatteverket
1915        eSKDUpload-DTD Version 3.0//SV"
1916        "https://www1.skatteverket.se/demoeskd/eSKDUpload_3p0.dtd"-->
1917    	<eSKDUpload Version="3.0">';
1918 
1919 	/*<Skjema xmlns:brreg="http://www.brreg.no/or" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1920 	tittel="Terminoppgave for  arbeidsgiveravgift og forskuddstrekk." gruppeid="52" spesifikasjonsnummer="4578"
1921 	skjemanummer="669" etatid="974761076" blankettnummer="RF-1037">';*/
1922 
1923 	dbms_lob.writeAppend( l_xfdf_string, length(l_str1), l_str1 );
1924 	 l_str1:='<OrgNr>'||  (rg_Tax_Decl.Organization_Number)||'</OrgNr>
1925 		<Ag>
1926 			<Period>'||(rg_Tax_Decl.Year)||l_month||'</Period>
1927 			<LonBrutto>'||substr(trunc(rg_tax_Decl.Gross_Pay),1,12)||'</LonBrutto>
1928 			<Forman>'||substr(trunc(rg_tax_Decl.Benefit),1,12)||'</Forman>
1929 			<AvdrKostn>'||substr(trunc(rg_tax_Decl.Reduction),1,12)||'</AvdrKostn>
1930 			<SumUlagAvg>'||substr(trunc(rg_tax_Decl.Total_Basis_Employer_Tax),1,12)||'</SumUlagAvg>
1931 			<UlagAvgHel>'||substr(trunc(rg_tax_Decl.Regular_Taxable_Base),1,12)||'</UlagAvgHel>
1932 			<AvgHel>'||substr(trunc(rg_tax_Decl.Regular_Tax),1,12)||'</AvgHel>
1933 			<UlagAvgAldersp>'||substr(trunc(rg_tax_Decl.Special_25_below_Taxable_Base),1,12)||'</UlagAvgAldersp>
1934 			<AvgAldersp>'||substr(trunc(rg_tax_Decl.Special_25_below_Tax),1,12)||'</AvgAldersp>
1935 			<UlagAlderspSkLon>'||substr(trunc(rg_tax_Decl.Special_65_Taxable_Base),1,12)||'</UlagAlderspSkLon>
1936 			<AvgAlderspSkLo>'||substr(trunc(rg_tax_Decl.Special_65_Tax),1,12)||'</AvgAlderspSkLo>
1937 			<UlagSkLonSarsk>'||substr(trunc(rg_tax_Decl.Special_1937_Taxable_Base),1,12)||'</UlagSkLonSarsk>
1938 			<SkLonSarsk>'||substr(trunc(rg_tax_Decl.Special_1937_Tax),1,12)||'</SkLonSarsk>
1939 			<UlagAvgAmbassad>'||substr(trunc(rg_tax_Decl.Comp_Without_LU),1,12)||'</UlagAvgAmbassad>
1940 			<AvgAmbassad>'||substr(trunc(rg_tax_Decl.Comp_Without_LU_29),1,12)||'</AvgAmbassad>
1941 			<KodAmerika>'||substr(trunc(rg_tax_Decl.Code),1,12)||'</KodAmerika>
1942 			<UlagAvgAmerika>'||substr(trunc(rg_tax_Decl.Canada),1,12)||'</UlagAvgAmerika>
1943 			<AvgAmerika>'||substr(trunc(rg_tax_Decl.Special_Canada),1,12)||'</AvgAmerika>
1944 			<UlagStodUtvidgat>'||substr(trunc(rg_tax_Decl.Ext_Comp_Support),1,12)||'</UlagStodUtvidgat>
1945 			<AvdrStodUtvidgat>'||substr(trunc(rg_tax_Decl.Ext_Comp_Support_10),1,12)||'</AvdrStodUtvidgat>
1946 			<SumAvgBetala>'||substr(trunc(rg_tax_Decl.Total_Employer_Tax),1,12)||'</SumAvgBetala>
1947 			<UlagSkAvdrLo>'||substr(trunc(rg_tax_Decl.Taxable_Base),1,12)||'</UlagSkAvdrLo>
1948 			<SkAvdrLon>'||substr(trunc(rg_tax_Decl.Employee_Tax),1,12)||'</SkAvdrLon>
1949 			<UlagSkAvdrPension>'||substr(trunc(rg_tax_Decl.Pension),1,12)||'</UlagSkAvdrPension>
1950 			<SkAvdrPension>'||substr(trunc(rg_tax_Decl.Ded_Pension),1,12)||'</SkAvdrPension>
1951 			<UlagSkAvdrRanta>'||substr(trunc(rg_tax_Decl.Interest),1,12)||'</UlagSkAvdrRanta>
1952 			<SkAvdrRanta>'||substr(trunc(rg_tax_Decl.Ded_Interest),1,12)||'</SkAvdrRanta>
1953 			<UlagSumSkAvdr>'||substr(trunc(rg_tax_Decl.Tax_Deduction),1,12)||'</UlagSumSkAvdr>
1954 			<SumSkAvdr>'||substr(trunc(rg_tax_Decl.Deducted_Tax_Pay),1,12)||'</SumSkAvdr>
1955 			<TextUpplysningAg>'||substr(rg_tax_Decl.Information,1,400)||'</TextUpplysningAg>
1956 		</Ag>
1957 	</eSKDUpload>';
1958 	dbms_lob.writeAppend( l_xfdf_string, length(l_str1), l_str1 );
1959 
1960 	hr_utility.set_location('Inside GETDATA',30);
1961 
1962 	p_xml := l_xfdf_string;
1963 
1964 	hr_utility.set_location('Leaving GETDATA',40);
1965 
1966 END GET_XML;
1967 
1968 -------------------------------------------------------------------------------------------------------------------------
1969 END PAY_SE_TAX_DECL_REPORT;
1970