[Home] [Help]
PACKAGE BODY: APPS.PAY_FI_PAYLIST
Source
1 PACKAGE BODY PAY_FI_PAYLIST AS
2 /* $Header: pyfipaylr.pkb 120.2.12000000.2 2007/06/12 09:39:51 psingla noship $ */
3
4 FUNCTION get_archive_payroll_action_id (p_payroll_action_id IN NUMBER)
5 RETURN NUMBER
6 IS
7 l_payroll_action_id NUMBER;
8 BEGIN
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_data (
35 p_business_group_id in varchar2,
36 p_payroll_action_id IN VARCHAR2,
37 p_template_name IN VARCHAR2,
38 p_xml OUT NOCOPY CLOB
39 )
40 IS
41 /* Start of declaration*/
42
43 -- Variables needed for the report
44 l_sum NUMBER;
45
46 l_payroll_action_id pay_action_information.action_information1%TYPE;
47 l_sr_no NUMBER ;
48 l_counter number := 0;
49 CURSOR CSR_HEADER(csr_v_pa_id IN VARCHAR2)
50 IS
51 SELECT pai.action_information4 payroll_name,
52 pai.action_information5
53 payment_month,
54 pai.action_information6 pay_day,
55 pai.action_information7
56 end_date
57 FROM pay_action_information pai,
58 pay_payroll_actions ppa
59 WHERE pai.action_context_id = ppa.payroll_action_id
60 AND ppa.payroll_action_id = csr_v_pa_id;
61 CSR_HEADER_REC CSR_HEADER%ROWTYPE;
62
63
64
65 CURSOR csr_payl_data (csr_v_pa_id IN VARCHAR2)
66 IS
67 SELECT
68 pai_ass.action_information3 person_name,
69 pai_ass.action_information4
70 salary,
71 pai_ass.action_information5 benefits,
72 pai_ass.action_information6
73 insurance_salary,
74 pai_ass.action_information7
75 deductions_withhold_tax,
76 pai_ass.action_information8 tax_income,
77 pai_ass.action_information9
78 withhold_tax,
79 pai_ass.action_information10 expenses,
80 pai_ass.action_information11
81 after_tax_deductions,
82 pai_ass.action_information12 net_pay,
83 pai_ass.action_information13 capital_income_base,
84 pai_ass.action_information14 assignment_number
85 FROM pay_payroll_actions ppa,
86 pay_assignment_actions paa,
87 pay_action_information pai_ass
88 WHERE ppa.payroll_action_id = csr_v_pa_id
89 AND paa.payroll_action_id = ppa.payroll_action_id
90 AND paa.assignment_action_id = pai_ass.action_context_id
91 AND pai_ass.action_context_type = 'AAP'
92 AND pai_ass.action_information1 = 'PYFIPAYL'
93 AND pai_ass.action_information_category = 'EMEA REPORT INFORMATION';
94
95 CURSOR csr_total (csr_v_pa_id IN VARCHAR2)
96 IS
97 SELECT
98 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information4))
99 salary,
100 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information5)) benefits,
101 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information6))
102 insurance_salary,
103 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information7))
104 deductions_withhold_tax,
105 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information8)) tax_income,
106 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information9))
107 withhold_tax,
108 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information10) )expenses,
109 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information11))
110 after_tax_deductions,
111 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information12))net_pay,
112 SUM(FND_NUMBER.CANONICAL_TO_NUMBER(pai_ass.action_information13)) capital_income_base
113 FROM pay_payroll_actions ppa,
114 pay_assignment_actions paa,
115 pay_action_information pai_ass
116 WHERE ppa.payroll_action_id = csr_v_pa_id
117 AND paa.payroll_action_id = ppa.payroll_action_id
118 AND paa.assignment_action_id = pai_ass.action_context_id
119 AND pai_ass.action_context_type = 'AAP'
120 AND pai_ass.action_information1 = 'PYFIPAYL'
121 AND pai_ass.action_information_category = 'EMEA REPORT INFORMATION';
122
123 csr_total_REC csr_total%ROWTYPE;
124
125 payl_rep csr_payl_data%ROWTYPE;
126 BEGIN
127 hr_utility.set_location ('Entered Procedure GETDATA', 10);
128 fnd_file.put_line (
129 fnd_file.LOG,
130 'payroll_action_id '
131 || l_payroll_action_id
132 );
133 l_payroll_action_id :=
134 get_archive_payroll_action_id (p_payroll_action_id);
135 fnd_file.put_line (
136 fnd_file.LOG,
137 'payroll_action_id '
138 || l_payroll_action_id
139 );
140 OPEN CSR_HEADER( l_payroll_action_id);
141 FETCH CSR_HEADER INTO CSR_HEADER_REC;
142 CLOSE CSR_HEADER;
143
144 hr_utility.set_location('Before populating pl/sql table',20);
145
146 gplsqltable(l_counter).TagName := 'HEADER_START';
147 gplsqltable(l_counter).TagValue := 'HEADER_START';
148 l_counter := l_counter + 1;
149
150 gplsqltable(l_counter).TagName := 'PAYROLL_NAME';
151 gplsqltable(l_counter).TagValue :=CSR_HEADER_REC.payroll_name;
152 l_counter := l_counter + 1;
153
154 gplsqltable(l_counter).TagName := 'PAYMENT_MONTH';
155 gplsqltable(l_counter).TagValue := CSR_HEADER_REC.payment_month;
156 l_counter := l_counter + 1;
157
158 gplsqltable(l_counter).TagName := 'PAY_DAY';
159 gplsqltable(l_counter).TagValue := FND_DATE.CANONICAL_TO_DATE(CSR_HEADER_REC.pay_day);
160 l_counter := l_counter + 1;
161
162 gplsqltable(l_counter).TagName := 'END_DATE ';
163 gplsqltable(l_counter).TagValue := FND_DATE.CANONICAL_TO_DATE(CSR_HEADER_REC.end_date);
164 l_counter := l_counter + 1;
165
166
167 gplsqltable(l_counter).TagName := 'HEADER_START';
168 gplsqltable(l_counter).TagValue := 'HEADER_END';
169 l_counter := l_counter + 1;
170
171 gplsqltable(l_counter).TagName := 'BODY_START';
172 gplsqltable(l_counter).TagValue := 'BODY_START';
173 l_counter := l_counter + 1;
174
175 l_sr_no:= 1;
176 FOR payl_rep IN csr_payl_data (l_payroll_action_id)
177 -- FOR rg_ltfr_body_rpt IN csr_ltfr_body_rpt( l_payroll_action_id)
178 LOOP
179
180 gplsqltable(l_counter).TagName := 'EMP_START';
181 gplsqltable(l_counter).TagValue := 'EMP_START';
182 l_counter := l_counter + 1;
183
184
185 gplsqltable (l_counter).tagname := 'PERSON_NAME';
186 gplsqltable (l_counter).tagvalue := TO_CHAR (payl_rep.person_name);
187 l_counter := l_counter
188 + 1;
189 gplsqltable (l_counter).tagname := 'ASSIGNMENT_NUMBER';
190 gplsqltable (l_counter).tagvalue := payl_rep.assignment_number;
191 l_counter := l_counter
192 + 1;
193
194 gplsqltable (l_counter).tagname := 'SALARY';
195 gplsqltable (l_counter).tagvalue :=
196 payl_rep.salary;
197 -- fnd_number.canonical_to_number(payl_rep.salary);
198
199 l_counter := l_counter
200 + 1;
201 gplsqltable (l_counter).tagname := 'BENEFITS';
202 gplsqltable (l_counter).tagvalue :=
203 payl_rep.benefits;
204 -- fnd_number.canonical_to_number(payl_rep.benefits);
205
206 l_counter := l_counter
207 + 1;
208 gplsqltable (l_counter).tagname := 'INSURANCE_SALARY';
209 gplsqltable (l_counter).tagvalue :=
210 payl_rep.insurance_salary;
211 -- fnd_number.canonical_to_number(payl_rep.insurance_salary);
212
213 l_counter := l_counter
214 + 1;
215 gplsqltable (l_counter).tagname := 'DEDUCTIONS_WITHHOLD_TAX';
216 gplsqltable (l_counter).tagvalue :=
217 payl_rep.deductions_withhold_tax;
218 -- fnd_number.canonical_to_number(payl_rep.deductions_withhold_tax);
219
220 l_counter := l_counter
221 + 1;
222 gplsqltable (l_counter).tagname := 'TAX_INCOME';
223 gplsqltable (l_counter).tagvalue :=
224 payl_rep.tax_income;
225 -- fnd_number.canonical_to_number(payl_rep.tax_income);
226
227 l_counter := l_counter
228 + 1;
229 gplsqltable (l_counter).tagname := 'CAPITAL_INCOME_BASE';
230 gplsqltable (l_counter).tagvalue :=
231 payl_rep.capital_income_base;
232 -- fnd_number.canonical_to_number(payl_rep.capital_income_base);
233
234 l_counter := l_counter
235 + 1;
236 gplsqltable (l_counter).tagname := 'WITHHOLD_TAX';
237 gplsqltable (l_counter).tagvalue :=
238 payl_rep.withhold_Tax;
239 --fnd_number.canonical_to_number(payl_rep.withhold_Tax);
240
241 l_counter := l_counter
242 + 1;
243 gplsqltable (l_counter).tagname := 'EXPENSES';
244 gplsqltable (l_counter).tagvalue :=
245 payl_rep.expenses;
246 --fnd_number.canonical_to_number(payl_rep.expenses);
247
248 l_counter := l_counter
249 + 1;
250 gplsqltable (l_counter).tagname := 'AFTER_TAX_DEDUCTIONS';
251 gplsqltable (l_counter).tagvalue :=
252 payl_rep.after_tax_deductions;
253 --fnd_number.canonical_to_number(payl_rep.after_tax_deductions);
254
255 l_counter := l_counter
256 + 1;
257 gplsqltable (l_counter).tagname := 'NET_PAY';
258 gplsqltable (l_counter).tagvalue :=
259 payl_rep.net_pay;
260 --fnd_number.canonical_to_number(payl_rep.net_pay);
261
262 l_counter := l_counter
263 + 1;
264
265 l_sr_no:= l_sr_no + 1;
266
267 gplsqltable(l_counter).TagName := 'EMP_START';
268 gplsqltable(l_counter).TagValue := 'EMP_END';
269 l_counter := l_counter + 1;
270 fnd_file.put_line (
271 fnd_file.LOG,
272 'payl_rep.person_name '
273 || payl_rep.person_name
274 );
275 END LOOP;
276
277 gplsqltable(l_counter).TagName := 'BODY_START';
278 gplsqltable(l_counter).TagValue := 'BODY_END';
279 l_counter := l_counter + 1;
280
281 gplsqltable(l_counter).TagName := 'FOOTER_START';
282 gplsqltable(l_counter).TagValue := 'FOOTER_START';
283 l_counter := l_counter + 1;
284
285 fnd_file.put_line (
286 fnd_file.LOG,
287 'payroll_action_id ...TOTAL '
288 || l_payroll_action_id
289 );
290
291 OPEN csr_total( l_payroll_action_id);
292 FETCH csr_total INTO csr_total_REC;
293 CLOSE csr_total;
294
295 gplsqltable (l_counter).tagname := 'SALARY';
296 gplsqltable (l_counter).tagvalue :=
297 csr_total_REC.salary;
298 -- fnd_number.canonical_to_number(csr_total_REC.salary);
299
300 l_counter := l_counter
301 + 1;
302 gplsqltable (l_counter).tagname := 'BENEFITS';
303 gplsqltable (l_counter).tagvalue :=
304 csr_total_REC.benefits;
305 -- fnd_number.canonical_to_number(csr_total_REC.benefits);
306
307 l_counter := l_counter
308 + 1;
309 gplsqltable (l_counter).tagname := 'INSURANCE_SALARY';
310 gplsqltable (l_counter).tagvalue :=
311 csr_total_REC.insurance_salary;
312 -- fnd_number.canonical_to_number(csr_total_REC.insurance_salary);
313
314 l_counter := l_counter
315 + 1;
316 gplsqltable (l_counter).tagname := 'DEDUCTIONS_WITHHOLD_TAX';
317 gplsqltable (l_counter).tagvalue :=
318 csr_total_REC.deductions_withhold_tax;
319 -- fnd_number.canonical_to_number(csr_total_REC.deductions_withhold_tax);
320
321 l_counter := l_counter
322 + 1;
323 gplsqltable (l_counter).tagname := 'TAX_INCOME';
324 gplsqltable (l_counter).tagvalue :=
325 csr_total_REC.tax_income;
326 -- fnd_number.canonical_to_number(csr_total_REC.tax_income);
327
328 l_counter := l_counter
329 + 1;
330 gplsqltable (l_counter).tagname := 'CAPITAL_INCOME_BASE';
331 gplsqltable (l_counter).tagvalue :=
332 csr_total_REC.capital_income_base;
333 -- fnd_number.canonical_to_number(csr_total_REC.capital_income_base);
334
335 l_counter := l_counter
336 + 1;
337 gplsqltable (l_counter).tagname := 'WITHHOLD_TAX';
338 gplsqltable (l_counter).tagvalue :=
339 csr_total_REC.withhold_Tax;
340 --fnd_number.canonical_to_number(csr_total_REC.withhold_Tax);
341
342 l_counter := l_counter
343 + 1;
344 gplsqltable (l_counter).tagname := 'EXPENSES';
345 gplsqltable (l_counter).tagvalue :=
346 csr_total_REC.expenses;
347 --fnd_number.canonical_to_number(csr_total_REC.expenses);
348
349 l_counter := l_counter
350 + 1;
351 gplsqltable (l_counter).tagname := 'AFTER_TAX_DEDUCTIONS';
352 gplsqltable (l_counter).tagvalue :=
353 csr_total_REC.after_tax_deductions;
354 --fnd_number.canonical_to_number(csr_total_REC.after_tax_deductions);
355
356 l_counter := l_counter
357 + 1;
358 gplsqltable (l_counter).tagname := 'NET_PAY';
359 gplsqltable (l_counter).tagvalue :=
360 csr_total_REC.net_pay;
361 --fnd_number.canonical_to_number(csr_total_REC.net_pay);
362
363 l_counter := l_counter
364 + 1;
365
366 gplsqltable(l_counter).TagName := 'FOOTER_START';
367 gplsqltable(l_counter).TagValue := 'FOOTER_END';
368 l_counter := l_counter + 1;
369
370
371 writetoclob (p_xml);
372 -- fnd_file.put_line ( fnd_file.LOG, 'XML ' || p_xml );
373 -- COMMIT;
374 END get_data;
375
376
377 -----------------------------------------------------------------------------------------------------------------
378 PROCEDURE WritetoCLOB(p_xfdf_clob out nocopy CLOB) is
379 l_xfdf_string clob;
380 l_str1 varchar2(1000);
381 l_str2 varchar2(20);
382 l_str3 varchar2(20);
383 l_str4 varchar2(20);
384 l_str5 varchar2(20);
385 l_str6 varchar2(30);
386 l_str7 varchar2(1000);
387 l_str8 varchar2(240);
388 l_str9 varchar2(240);
389 l_str10 varchar2(20);
390 l_str11 varchar2(20);
391
392 current_index pls_integer;
393 l_IANA_charset VARCHAR2 (50);
394 BEGIN
395 l_IANA_charset :=hr_fi_utility.get_IANA_charset ;
396 hr_utility.set_location ('Entering WritetoCLOB ', 70);
397 l_str1 := '<?xml version="1.0" encoding="'||l_IANA_charset||'"?> <ROOT><LTFR>';
398 l_str2 := '<';
399 l_str3 := '>';
400 l_str4 := '</';
401 l_str5 := '>';
402 l_str6 := '</LTFR></ROOT>';
403 l_str7 := '<?xml version="1.0" encoding="'||l_IANA_charset||'"?> <ROOT></ROOT>';
404 l_str10 := '<LTFR>';
405 l_str11 := '</LTFR>';
406
407
408 /*
409
410 hr_utility.set_location('Entering WritetoCLOB ',70);
411 l_str1 := '<?xml version="1.0" encoding="UTF-8"?> <ROOT><LTFR>' ;
412 l_str2 := '<';
413 l_str3 := '>';
414 l_str4 := '</';
415 l_str5 := '>';
416 l_str6 := '</LTFR></ROOT>';
417 l_str7 := '<?xml version="1.0" encoding="UTF-8"?> <ROOT></ROOT>';
418 l_str10 := '<LTFR>';
419 l_str11 := '</LTFR>';
420 */
421
422 dbms_lob.createtemporary(l_xfdf_string,FALSE,DBMS_LOB.CALL);
423 dbms_lob.open(l_xfdf_string,dbms_lob.lob_readwrite);
424
425 current_index := 0;
426
427 IF gplsqltable.count > 0 THEN
428
429 dbms_lob.writeAppend( l_xfdf_string, length(l_str1), l_str1 );
430
431
432 FOR table_counter IN gplsqltable.FIRST .. gplsqltable.LAST LOOP
433
434 l_str8 := gplsqltable(table_counter).TagName;
435 l_str9 := gplsqltable(table_counter).TagValue;
436
437 IF l_str9 IN ('HEADER_START' ,'HEADER_END','BODY_START',
438 'BODY_END','EMP_START','EMP_END','FOOTER_START','FOOTER_END') THEN
439
440 IF l_str9 IN ('HEADER_START' ,'BODY_START','EMP_START','FOOTER_START') THEN
441 dbms_lob.writeAppend(l_xfdf_string, length(l_str2), l_str2);
442 dbms_lob.writeAppend(l_xfdf_string, length(l_str8), l_str8);
443 dbms_lob.writeAppend(l_xfdf_string, length(l_str3), l_str3);
444 ELSE
445 dbms_lob.writeAppend(l_xfdf_string, length(l_str4), l_str4);
446 dbms_lob.writeAppend(l_xfdf_string, length(l_str8), l_str8);
447 dbms_lob.writeAppend(l_xfdf_string, length(l_str5), l_str5);
448 END IF;
449
450 ELSE
451
452 if l_str9 is not null then
453
454 dbms_lob.writeAppend(l_xfdf_string, length(l_str2), l_str2);
455 dbms_lob.writeAppend(l_xfdf_string, length(l_str8), l_str8);
456 dbms_lob.writeAppend(l_xfdf_string, length(l_str3), l_str3);
457 dbms_lob.writeAppend(l_xfdf_string, length(l_str9), l_str9);
458 dbms_lob.writeAppend(l_xfdf_string, length(l_str4), l_str4);
459 dbms_lob.writeAppend(l_xfdf_string, length(l_str8), l_str8);
460 dbms_lob.writeAppend(l_xfdf_string, length(l_str5), l_str5);
461 else
462
463 dbms_lob.writeAppend(l_xfdf_string, length(l_str2), l_str2);
464 dbms_lob.writeAppend(l_xfdf_string, length(l_str8), l_str8);
465 dbms_lob.writeAppend(l_xfdf_string, length(l_str3), l_str3);
466 dbms_lob.writeAppend(l_xfdf_string, length(l_str4), l_str4);
467 dbms_lob.writeAppend(l_xfdf_string, length(l_str8), l_str8);
468 dbms_lob.writeAppend(l_xfdf_string, length(l_str5), l_str5);
469
470 end if;
471
472 END IF;
473
474 END LOOP;
475
476 dbms_lob.writeAppend(l_xfdf_string, length(l_str6), l_str6 );
477
478 ELSE
479 dbms_lob.writeAppend(l_xfdf_string, length(l_str7), l_str7 );
480 END IF;
481
482 p_xfdf_clob := l_xfdf_string;
483
484 hr_utility.set_location('Leaving WritetoCLOB ',40);
485
486 EXCEPTION
487 WHEN OTHERS then
488 HR_UTILITY.TRACE('sqlerrm ' || SQLERRM);
489 HR_UTILITY.RAISE_ERROR;
490 END WritetoCLOB;
491
492
493 /* PROCEDURE writetoclob (p_xfdf_clob OUT NOCOPY CLOB)
494 IS
495 l_xfdf_string CLOB;
496 l_str1 VARCHAR2 (1000);
497 l_str2 VARCHAR2 (20);
498 l_str3 VARCHAR2 (20);
499 l_str4 VARCHAR2 (20);
500 l_str5 VARCHAR2 (20);
501 l_str6 VARCHAR2 (30);
502 l_str7 VARCHAR2 (1000);
503 l_str8 VARCHAR2 (240);
504 l_str9 VARCHAR2 (240);
505 l_str10 VARCHAR2 (20);
506 l_str11 VARCHAR2 (20);
507 current_index PLS_INTEGER;
508 l_counter PLS_INTEGER;
509 BEGIN
510 hr_utility.set_location ('Entering WritetoCLOB ', 70);
511 l_str1 := '<?xml version="1.0" encoding="UTF-8"?> <ROOT>';
512 l_str2 := '<';
513 l_str3 := '>';
514 l_str4 := '</';
515 l_str5 := '>';
516 l_str6 := '</ROOT>';
517 l_str7 := '<?xml version="1.0" encoding="UTF-8"?> <ROOT></ROOT>';
518 l_str10 := '<PAYL>';
519 l_str11 := '</PAYL>';
520 DBMS_LOB.createtemporary (l_xfdf_string, FALSE, DBMS_LOB.CALL);
521 DBMS_LOB.OPEN (l_xfdf_string, DBMS_LOB.lob_readwrite);
522 current_index := 0;
523
524 IF gplsqltable.COUNT > 0
525 THEN
526 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str1), l_str1);
527 l_str8 := gplsqltable (1).tagname;
528 l_str9 := gplsqltable (1).tagvalue;
529 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str2), l_str2);
530 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
531 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str3), l_str3);
532 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str9), l_str9);
533 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str4), l_str4);
534 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
535 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str5), l_str5);
536 l_str8 := gplsqltable (2).tagname;
537 l_str9 := gplsqltable (2).tagvalue;
538 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str2), l_str2);
539 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
540 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str3), l_str3);
541 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str9), l_str9);
542 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str4), l_str4);
543 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
544 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str5), l_str5);
545
546 FOR table_counter IN gplsqltable.FIRST .. gplsqltable.LAST
547 LOOP
548 l_str8 := gplsqltable (table_counter).tagname;
549 l_str9 := gplsqltable (table_counter).tagvalue;
550
551 IF l_str9 = 'END'
552 THEN
553 DBMS_LOB.writeappend (
554 l_xfdf_string,
555 LENGTH (l_str11),
556 l_str11
557 );
558 ELSIF l_str9 = 'START'
559 THEN
560 DBMS_LOB.writeappend (
561 l_xfdf_string,
562 LENGTH (l_str10),
563 l_str10
564 );
565 ELSIF l_str9 IS NOT NULL
566 THEN
567 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str2), l_str2);
568 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
569 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str3), l_str3);
570 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str9), l_str9);
571 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str4), l_str4);
572 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
573 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str5), l_str5);
574 ELSE
575 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str2), l_str2);
576 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
577 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str3), l_str3);
578 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str4), l_str4);
579 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str8), l_str8);
580 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str5), l_str5);
581 END IF;
582 END LOOP;
583
584 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str6), l_str6);
585 ELSE
586 DBMS_LOB.writeappend (l_xfdf_string, LENGTH (l_str7), l_str7);
587 END IF;
588
589 p_xfdf_clob := l_xfdf_string;
590 hr_utility.set_location ('Leaving WritetoCLOB ', 70);
591 hr_utility.set_location ('Leaving WritetoCLOB ', 70);
592 --INSERT INTO CLOBTABLE VALUES(p_xfdf_clob,'PAYL');
593 --COMMIT;
594 EXCEPTION
595 WHEN OTHERS
596 THEN
597 hr_utility.TRACE ( 'sqlerrm '
598 || SQLERRM);
599 hr_utility.raise_error;
600 END writetoclob;
601 */
602 -------------------------------------------------------------------------------------------------------------------------
603 END PAY_FI_PAYLIST;