18: OPEN csr_get_iana_charset;
19: FETCH csr_get_iana_charset INTO lv_iana_charset;
20: CLOSE csr_get_iana_charset;
21:
22: hr_utility.trace('IANA Charset = '||lv_iana_charset);
23: RETURN (lv_iana_charset);
24: END get_IANA_charset;
25: --
26: -------------------------------------------------------------------------------
35: --l_str := '
36: l_str := '
37: dbms_lob.createtemporary(p_xfdf_string,FALSE,DBMS_LOB.CALL);
38: dbms_lob.open(p_xfdf_string,dbms_lob.lob_readwrite);
39: hr_utility.set_location('TableCnt' || to_char(vXMLTable.count),13);
40: IF vXMLTable.count > 0 THEN
41: FOR ctr_table IN vXMLTable.FIRST .. vXMLTable.LAST LOOP
42: -- Bug 4705094
43: l_str1 := vXMLTable(ctr_table).xmlString;
41: FOR ctr_table IN vXMLTable.FIRST .. vXMLTable.LAST LOOP
42: -- Bug 4705094
43: l_str1 := vXMLTable(ctr_table).xmlString;
44: dbms_lob.writeAppend( p_xfdf_string, length(l_str1), l_str1);
45: hr_utility.set_location(to_char(ctr_table),15);
46: END LOOP;
47: ELSE
48: l_str1 := l_str;
49: dbms_lob.writeAppend( p_xfdf_string, length(l_str1), l_str1 );
62: ,p_template_name IN VARCHAR2
63: ,p_xml OUT NOCOPY CLOB
64: )IS
65: BEGIN
66: --hr_utility.TRACE_ON( null, 'IEP35XML' );
67: populate_plsql_table(p_bg_id
68: ,p_emp_no
69: ,p_payroll
70: ,p_assignment_set
278:
279: BEGIN
280:
281:
282: -- hr_utility.trace_on(null,'vikp35');
283: hr_utility.set_location('Start of Generation...', 1);
284:
285: vXMLTable.DELETE;
286: vCtr := 1;
279: BEGIN
280:
281:
282: -- hr_utility.trace_on(null,'vikp35');
283: hr_utility.set_location('Start of Generation...', 1);
284:
285: vXMLTable.DELETE;
286: vCtr := 1;
287: --vXMLTable(vCtr).xmlString := '
289: vCtr := vCtr + 1;
290: l_start_date := PAY_IE_P35_XML_PKG.get_start_date();
291: -- l_end_date := PAY_IE_P35_XML_PKG.get_end_date();
292: l_end_date := fnd_date.canonical_to_date(p_end_date); --4641756
293: hr_utility.set_location('End Date : '||p_end_date,100);
294:
295: IF p_payroll = 0 then
296: l_p_payroll := NULL;
297: ELSE
307: CLOSE csr_get_flag_from_set;
308:
309: FOR c_action IN getPayrollAction LOOP
310: flag := flag + 1;
311: hr_utility.set_location('Loop Count ' || to_char(flag), 1);
312: hr_utility.set_location('pactid' || to_char(r_payroll_action_id),13);
313: IF flag = 1 THEN
314: OPEN csr_header_footer_info(c_action.payroll_action_id);
315: FETCH csr_header_footer_info into l_request_id, l_tax_year,l_date,l_empr_no,l_empr_name,
308:
309: FOR c_action IN getPayrollAction LOOP
310: flag := flag + 1;
311: hr_utility.set_location('Loop Count ' || to_char(flag), 1);
312: hr_utility.set_location('pactid' || to_char(r_payroll_action_id),13);
313: IF flag = 1 THEN
314: OPEN csr_header_footer_info(c_action.payroll_action_id);
315: FETCH csr_header_footer_info into l_request_id, l_tax_year,l_date,l_empr_no,l_empr_name,
316: l_contact_name,l_phone,l_addr1,l_addr2,l_addr3,l_week53,l_payroll,l_currency;
314: OPEN csr_header_footer_info(c_action.payroll_action_id);
315: FETCH csr_header_footer_info into l_request_id, l_tax_year,l_date,l_empr_no,l_empr_name,
316: l_contact_name,l_phone,l_addr1,l_addr2,l_addr3,l_week53,l_payroll,l_currency;
317: CLOSE csr_header_footer_info;
318: hr_utility.set_location('emprno' || to_char(l_empr_no),13);
319:
320: vXMLTable(vCtr).xmlString := '
321: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
322: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
331: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
332: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
333: vCtr := vCtr + 1;
334: END IF;
335: hr_utility.set_location('Fetching detail...', 3);
336: hr_utility.set_location('Fetching Pension...', 3);
337: OPEN csr_get_pension_details (c_action.payroll_action_id, c_action.assignment_action_id);
338: FETCH csr_get_pension_details into c_pension;
339: CLOSE csr_get_pension_details;
332: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
333: vCtr := vCtr + 1;
334: END IF;
335: hr_utility.set_location('Fetching detail...', 3);
336: hr_utility.set_location('Fetching Pension...', 3);
337: OPEN csr_get_pension_details (c_action.payroll_action_id, c_action.assignment_action_id);
338: FETCH csr_get_pension_details into c_pension;
339: CLOSE csr_get_pension_details;
340: l_emp_rbs := l_emp_rbs + c_pension.EMP_RBS;
347: l_empr_prsa_bal := l_empr_prsa_bal + c_pension.EMPR_PRSA_BAL;
348: l_emp_rac := l_emp_rac + c_pension.EMP_RAC;
349: l_emp_rac_bal := l_emp_rac_bal + c_pension.EMP_RAC_BAL;
350: l_taxable_benefits := l_taxable_benefits + c_pension.TAXABLEBENEFITS;
351: hr_utility.set_location('Generating...', 5);
352: hr_utility.set_location('TableCnt' || to_char(vXMLTable.count),13);
353:
354: l_cess_date:=c_action.EndDate;
355: IF trim(l_cess_date) = '31-12-4712' THEN
348: l_emp_rac := l_emp_rac + c_pension.EMP_RAC;
349: l_emp_rac_bal := l_emp_rac_bal + c_pension.EMP_RAC_BAL;
350: l_taxable_benefits := l_taxable_benefits + c_pension.TAXABLEBENEFITS;
351: hr_utility.set_location('Generating...', 5);
352: hr_utility.set_location('TableCnt' || to_char(vXMLTable.count),13);
353:
354: l_cess_date:=c_action.EndDate;
355: IF trim(l_cess_date) = '31-12-4712' THEN
356: l_cess_date := ' ';
354: l_cess_date:=c_action.EndDate;
355: IF trim(l_cess_date) = '31-12-4712' THEN
356: l_cess_date := ' ';
357: END IF;
358: hr_utility.set_location('P1..'||c_action.Works,100);
359: vXMLTable(vCtr).xmlString := '
360: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
361: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
362: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
359: vXMLTable(vCtr).xmlString := '
360: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
361: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
362: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
363: hr_utility.set_location('P2..'||c_action.Works,100);
364: if instr(c_action.IClass,'-') > 0 then
365: l_initial_class := substr(c_action.IClass,1,instr(c_action.IClass,'-',1)-1);
366: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
367: else
366: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
367: else
368: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
369: end if;
370: hr_utility.set_location('P3..'||c_action.Works,100);
371: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
372: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
373: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
374: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
373: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
374: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
375: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
376: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
377: hr_utility.set_location('P4..'||c_action.Works,100);
378: IF c_action.FifthClass is not null then
379: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
380: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
381: ELSE
381: ELSE
382: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
383: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
384: END IF;
385: hr_utility.set_location('P5..'||c_action.Works,100);
386: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
387: l_tot_tax := l_tot_tax + to_number(c_action.NetTax);
388: vCtr := vCtr + 1;
389: vXMLTable(vCtr).xmlString := '
390: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
391: l_tot_emp_prsi := l_tot_emp_prsi + to_number(c_action.EmpPRSI);
392: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
393: l_tot_prsi := l_tot_prsi + to_number(c_action.TotPRSI);
394: hr_utility.set_location('After Adding....TotPRSI=' || l_tot_prsi, 10);
395: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
396: l_tot_pay := l_tot_pay + to_number(c_action.Pay);
397: l_tot_pay_rnd := l_tot_pay_rnd + round(to_number(c_action.Pay),0);
398: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
404: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
405: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
406: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '';
407: vCtr := vCtr + 1;
408: hr_utility.set_location('TableCnt' || to_char(vXMLTable.count),18);
409: END LOOP;
410: hr_utility.set_location('Generated...', 6);
411: IF flag = 0 THEN
412: vXMLTable(vCtr).xmlString := '
406: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '';
407: vCtr := vCtr + 1;
408: hr_utility.set_location('TableCnt' || to_char(vXMLTable.count),18);
409: END LOOP;
410: hr_utility.set_location('Generated...', 6);
411: IF flag = 0 THEN
412: vXMLTable(vCtr).xmlString := '
413: vCtr := vCtr + 1;
414: END IF;
430: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '
431: vXMLTable(vCtr).xmlString := vXMLTable(vCtr).xmlString || '';
432: vCtr := vCtr + 1;
433:
434: hr_utility.set_location('TableCnt' || to_char(vXMLTable.count),13);
435: EXCEPTION
436: WHEN OTHERS THEN
437: null;
438: END populate_plsql_table;