18: sodhingr 20-Jul-2005 115.0 Initial Version
19: sodhingr 22-Aug-2005 115.1 changed the PL/sql table name
20: from g_payslip_xml to g_xml_table
21: vmehta 05-Oct-2005 115.3 Delete the parameter table
22: pay_payroll_xml_extract_pkg.
23: g_custom_params before setting.
24: mmukherj 21-Oct-2005 115.4 Created another TAG in the
25: employee details level which
26: prints the deposit amount
261: IF g_person_flex.count <> 0 THEN
262: g_person_flex.delete;
263: END IF;
264:
265: /* IF pay_payroll_xml_extract_pkg.g_leg_code IS NULL THEN
266: OPEN get_leg_code(ln_assignment_action_id);
267: FETCH get_leg_code INTO pay_payroll_xml_extract_pkg.g_leg_code;
268: CLOSE get_leg_code;
269: END IF;
263: END IF;
264:
265: /* IF pay_payroll_xml_extract_pkg.g_leg_code IS NULL THEN
266: OPEN get_leg_code(ln_assignment_action_id);
267: FETCH get_leg_code INTO pay_payroll_xml_extract_pkg.g_leg_code;
268: CLOSE get_leg_code;
269: END IF;
270: */
271:
269: END IF;
270: */
271:
272: /* Get Personal Bank Details */
273: IF pay_payroll_xml_extract_pkg.g_leg_code IS NULL THEN
274: OPEN c_get_leg_code(ln_business_group_id);
275: FETCH c_get_leg_code INTO pay_payroll_xml_extract_pkg.g_leg_code;
276: CLOSE c_get_leg_code;
277: END IF;
271:
272: /* Get Personal Bank Details */
273: IF pay_payroll_xml_extract_pkg.g_leg_code IS NULL THEN
274: OPEN c_get_leg_code(ln_business_group_id);
275: FETCH c_get_leg_code INTO pay_payroll_xml_extract_pkg.g_leg_code;
276: CLOSE c_get_leg_code;
277: END IF;
278:
279: OPEN get_person_bank_details(ln_per_pay_method,ld_effective_date);
310:
311: CLOSE get_payroll_details;
312:
313: /* Build XML */
314: pay_payroll_xml_extract_pkg.load_xml('CS','DEPOSIT_DETAILS','');
315:
316: FOR cntr IN 1..30 LOOP
317: IF g_person_flex(cntr) IS NOT NULL THEN
318: pay_payroll_xml_extract_pkg.load_xml('D','Segment'||cntr,g_person_flex(cntr));
314: pay_payroll_xml_extract_pkg.load_xml('CS','DEPOSIT_DETAILS','');
315:
316: FOR cntr IN 1..30 LOOP
317: IF g_person_flex(cntr) IS NOT NULL THEN
318: pay_payroll_xml_extract_pkg.load_xml('D','Segment'||cntr,g_person_flex(cntr));
319: END IF;
320: END LOOP;
321:
322:
319: END IF;
320: END LOOP;
321:
322:
323: pay_payroll_xml_extract_pkg.load_xml('D','PAYROLL_START_DATE',
324: fnd_date.date_to_canonical(ld_payroll_start_date));
325:
326: pay_payroll_xml_extract_pkg.load_xml('D','PAYROLL_END_DATE',
327: fnd_date.date_to_canonical(ld_payroll_end_date));
322:
323: pay_payroll_xml_extract_pkg.load_xml('D','PAYROLL_START_DATE',
324: fnd_date.date_to_canonical(ld_payroll_start_date));
325:
326: pay_payroll_xml_extract_pkg.load_xml('D','PAYROLL_END_DATE',
327: fnd_date.date_to_canonical(ld_payroll_end_date));
328:
329: pay_payroll_xml_extract_pkg.load_xml('D','PAYROLL_NAME',lv_payroll_name);
330:
325:
326: pay_payroll_xml_extract_pkg.load_xml('D','PAYROLL_END_DATE',
327: fnd_date.date_to_canonical(ld_payroll_end_date));
328:
329: pay_payroll_xml_extract_pkg.load_xml('D','PAYROLL_NAME',lv_payroll_name);
330:
331: pay_payroll_xml_extract_pkg.load_xml('D','EMPLOYEE_NUMBER',
332: lv_employee_number);
333:
327: fnd_date.date_to_canonical(ld_payroll_end_date));
328:
329: pay_payroll_xml_extract_pkg.load_xml('D','PAYROLL_NAME',lv_payroll_name);
330:
331: pay_payroll_xml_extract_pkg.load_xml('D','EMPLOYEE_NUMBER',
332: lv_employee_number);
333:
334: pay_payroll_xml_extract_pkg.load_xml('D','FIRST_NAME',lv_first_name);
335:
330:
331: pay_payroll_xml_extract_pkg.load_xml('D','EMPLOYEE_NUMBER',
332: lv_employee_number);
333:
334: pay_payroll_xml_extract_pkg.load_xml('D','FIRST_NAME',lv_first_name);
335:
336: pay_payroll_xml_extract_pkg.load_xml('D','LAST_NAME',lv_last_name);
337:
338: pay_payroll_xml_extract_pkg.load_xml('D','MIDDLE_NAMES',lv_middle_names);
332: lv_employee_number);
333:
334: pay_payroll_xml_extract_pkg.load_xml('D','FIRST_NAME',lv_first_name);
335:
336: pay_payroll_xml_extract_pkg.load_xml('D','LAST_NAME',lv_last_name);
337:
338: pay_payroll_xml_extract_pkg.load_xml('D','MIDDLE_NAMES',lv_middle_names);
339:
340: pay_payroll_xml_extract_pkg.load_xml('D','FULL_NAME',lv_full_name);
334: pay_payroll_xml_extract_pkg.load_xml('D','FIRST_NAME',lv_first_name);
335:
336: pay_payroll_xml_extract_pkg.load_xml('D','LAST_NAME',lv_last_name);
337:
338: pay_payroll_xml_extract_pkg.load_xml('D','MIDDLE_NAMES',lv_middle_names);
339:
340: pay_payroll_xml_extract_pkg.load_xml('D','FULL_NAME',lv_full_name);
341:
342: pay_payroll_xml_extract_pkg.load_xml('D','CURRENCY',g_currency_code);
336: pay_payroll_xml_extract_pkg.load_xml('D','LAST_NAME',lv_last_name);
337:
338: pay_payroll_xml_extract_pkg.load_xml('D','MIDDLE_NAMES',lv_middle_names);
339:
340: pay_payroll_xml_extract_pkg.load_xml('D','FULL_NAME',lv_full_name);
341:
342: pay_payroll_xml_extract_pkg.load_xml('D','CURRENCY',g_currency_code);
343:
344: pay_payroll_xml_extract_pkg.load_xml('D','DEPOSIT_AMOUNT',
338: pay_payroll_xml_extract_pkg.load_xml('D','MIDDLE_NAMES',lv_middle_names);
339:
340: pay_payroll_xml_extract_pkg.load_xml('D','FULL_NAME',lv_full_name);
341:
342: pay_payroll_xml_extract_pkg.load_xml('D','CURRENCY',g_currency_code);
343:
344: pay_payroll_xml_extract_pkg.load_xml('D','DEPOSIT_AMOUNT',
345: lv_deposit_amount);
346:
340: pay_payroll_xml_extract_pkg.load_xml('D','FULL_NAME',lv_full_name);
341:
342: pay_payroll_xml_extract_pkg.load_xml('D','CURRENCY',g_currency_code);
343:
344: pay_payroll_xml_extract_pkg.load_xml('D','DEPOSIT_AMOUNT',
345: lv_deposit_amount);
346:
347:
348: pay_payroll_xml_extract_pkg.g_custom_params.DELETE;
344: pay_payroll_xml_extract_pkg.load_xml('D','DEPOSIT_AMOUNT',
345: lv_deposit_amount);
346:
347:
348: pay_payroll_xml_extract_pkg.g_custom_params.DELETE;
349: ln_param_count := pay_payroll_xml_extract_pkg.g_custom_params.COUNT;
350:
351: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_name
352: := 'p_xml_level';
345: lv_deposit_amount);
346:
347:
348: pay_payroll_xml_extract_pkg.g_custom_params.DELETE;
349: ln_param_count := pay_payroll_xml_extract_pkg.g_custom_params.COUNT;
350:
351: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_name
352: := 'p_xml_level';
353:
347:
348: pay_payroll_xml_extract_pkg.g_custom_params.DELETE;
349: ln_param_count := pay_payroll_xml_extract_pkg.g_custom_params.COUNT;
350:
351: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_name
352: := 'p_xml_level';
353:
354: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_value
355: := 'EE';
350:
351: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_name
352: := 'p_xml_level';
353:
354: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_value
355: := 'EE';
356:
357: /*Employee Information -Legislation Specific*/
358: SELECT pay_ip_utility.get_ip_installation(ln_business_group_id)
358: SELECT pay_ip_utility.get_ip_installation(ln_business_group_id)
359: INTO lv_legislation_install FROM dual;
360: /*Modified for International Payroll*/
361: IF lv_legislation_install = 'Y' THEN
362: EXECUTE IMMEDIATE 'BEGIN PAY_'||pay_payroll_xml_extract_pkg.g_leg_code||
363: '_RULES.add_custom_xml(:1,:2,:3); END;'
364: USING IN ln_assignment_action_id,'','DEPOSIT_XML';
365: ELSE
366: EXECUTE IMMEDIATE 'BEGIN PAY_IP_RULES.add_custom_xml(:1,:2,:3); END;'
366: EXECUTE IMMEDIATE 'BEGIN PAY_IP_RULES.add_custom_xml(:1,:2,:3); END;'
367: USING IN ln_assignment_action_id,'','DEPOSIT_XML';
368: END IF;
369:
370: pay_payroll_xml_extract_pkg.load_xml('CE','DEPOSIT_DETAILS','');
371:
372: IF pay_payroll_xml_extract_pkg.g_xml_table.count() <> 0 THEN
373: dbms_lob.createTemporary(l_xml, true, dbms_lob.session);
374: FOR cntr IN
368: END IF;
369:
370: pay_payroll_xml_extract_pkg.load_xml('CE','DEPOSIT_DETAILS','');
371:
372: IF pay_payroll_xml_extract_pkg.g_xml_table.count() <> 0 THEN
373: dbms_lob.createTemporary(l_xml, true, dbms_lob.session);
374: FOR cntr IN
375: pay_payroll_xml_extract_pkg.g_xml_table.first()..pay_payroll_xml_extract_pkg.g_xml_table.last() LOOP
376: lr_xml := utl_raw.cast_to_raw(
371:
372: IF pay_payroll_xml_extract_pkg.g_xml_table.count() <> 0 THEN
373: dbms_lob.createTemporary(l_xml, true, dbms_lob.session);
374: FOR cntr IN
375: pay_payroll_xml_extract_pkg.g_xml_table.first()..pay_payroll_xml_extract_pkg.g_xml_table.last() LOOP
376: lr_xml := utl_raw.cast_to_raw(
377: pay_payroll_xml_extract_pkg.g_xml_table(cntr));
378: ln_amt := utl_raw.length(lr_xml);
379:
373: dbms_lob.createTemporary(l_xml, true, dbms_lob.session);
374: FOR cntr IN
375: pay_payroll_xml_extract_pkg.g_xml_table.first()..pay_payroll_xml_extract_pkg.g_xml_table.last() LOOP
376: lr_xml := utl_raw.cast_to_raw(
377: pay_payroll_xml_extract_pkg.g_xml_table(cntr));
378: ln_amt := utl_raw.length(lr_xml);
379:
380: dbms_lob.writeAppend(l_xml,
381: ln_amt,
380: dbms_lob.writeAppend(l_xml,
381: ln_amt,
382: lr_xml);
383:
384: hr_utility_trace (pay_payroll_xml_extract_pkg.g_xml_table(cntr));
385: END LOOP;
386: pay_payroll_xml_extract_pkg.g_xml_table.delete();
387:
388: END IF;
382: lr_xml);
383:
384: hr_utility_trace (pay_payroll_xml_extract_pkg.g_xml_table(cntr));
385: END LOOP;
386: pay_payroll_xml_extract_pkg.g_xml_table.delete();
387:
388: END IF;
389:
390: write_to_magtape_lob (l_xml);
503: hr_utility_trace ('ln_payroll_action_id '||ln_payroll_action_id);
504: hr_utility_trace ('ln_business_group_id '||ln_business_group_id);
505:
506:
507: pay_payroll_xml_extract_pkg.load_xml('CS','DEPOSIT_HEADER','');
508: /*Clear the details of previous assignmentId */
509: IF g_org_flex.count <> 0 THEN
510: g_org_flex.delete;
511: END IF;
513: IF g_pmeth_flex.count <> 0 THEN
514: g_pmeth_flex.delete;
515: END IF;
516:
517: IF pay_payroll_xml_extract_pkg.g_leg_code IS NULL THEN
518: OPEN c_get_leg_code(ln_business_group_id);
519: FETCH c_get_leg_code INTO lv_leg_code;
520: hr_utility_trace ('Legislation Code '||lv_leg_code);
521:
518: OPEN c_get_leg_code(ln_business_group_id);
519: FETCH c_get_leg_code INTO lv_leg_code;
520: hr_utility_trace ('Legislation Code '||lv_leg_code);
521:
522: pay_payroll_xml_extract_pkg.g_leg_code :=lv_leg_code;
523: CLOSE c_get_leg_code;
524: END IF;
525:
526: hr_utility_trace ('Legislation Code '||pay_payroll_xml_extract_pkg.g_leg_code);
522: pay_payroll_xml_extract_pkg.g_leg_code :=lv_leg_code;
523: CLOSE c_get_leg_code;
524: END IF;
525:
526: hr_utility_trace ('Legislation Code '||pay_payroll_xml_extract_pkg.g_leg_code);
527:
528: OPEN get_org_bank_details(ln_org_pay_method,ld_effective_date);
529: FETCH get_org_bank_details INTO
530: g_org_flex(1),g_org_flex(2),g_org_flex(3),
549: CLOSE get_org_bank_details;
550:
551: FOR cntr IN 1..30 LOOP
552: IF g_org_flex(cntr) IS NOT NULL THEN
553: pay_payroll_xml_extract_pkg.load_xml('D','Segment'||cntr,g_org_flex(cntr));
554: END IF;
555: END LOOP;
556: IF (lv_pmeth_cat IS NOT NULL)
557: THEN
556: IF (lv_pmeth_cat IS NOT NULL)
557: THEN
558: FOR cntr IN 1..20 LOOP
559: IF g_pmeth_flex(cntr) IS NOT NULL THEN
560: pay_payroll_xml_extract_pkg.load_xml('D', 'Paymeth Developer DF',
561: lv_pmeth_cat, 'PMETH_INFORMATION'||cntr,g_pmeth_flex(cntr));
562: END IF;
563: END LOOP;
564: END IF;
561: lv_pmeth_cat, 'PMETH_INFORMATION'||cntr,g_pmeth_flex(cntr));
562: END IF;
563: END LOOP;
564: END IF;
565: pay_payroll_xml_extract_pkg.load_xml('D','DEPOSIT_DATE',lv_dd_date);
566: pay_payroll_xml_extract_pkg.load_xml('D','CURRENCY',g_currency_code);
567:
568: IF pay_payroll_xml_extract_pkg.g_xml_table.count() <> 0 THEN
569: dbms_lob.createTemporary(l_xml, true, dbms_lob.session);
562: END IF;
563: END LOOP;
564: END IF;
565: pay_payroll_xml_extract_pkg.load_xml('D','DEPOSIT_DATE',lv_dd_date);
566: pay_payroll_xml_extract_pkg.load_xml('D','CURRENCY',g_currency_code);
567:
568: IF pay_payroll_xml_extract_pkg.g_xml_table.count() <> 0 THEN
569: dbms_lob.createTemporary(l_xml, true, dbms_lob.session);
570: FOR cntr IN
564: END IF;
565: pay_payroll_xml_extract_pkg.load_xml('D','DEPOSIT_DATE',lv_dd_date);
566: pay_payroll_xml_extract_pkg.load_xml('D','CURRENCY',g_currency_code);
567:
568: IF pay_payroll_xml_extract_pkg.g_xml_table.count() <> 0 THEN
569: dbms_lob.createTemporary(l_xml, true, dbms_lob.session);
570: FOR cntr IN
571: pay_payroll_xml_extract_pkg.g_xml_table.first()..pay_payroll_xml_extract_pkg.g_xml_table.last() LOOP
572: lr_xml := utl_raw.cast_to_raw(
567:
568: IF pay_payroll_xml_extract_pkg.g_xml_table.count() <> 0 THEN
569: dbms_lob.createTemporary(l_xml, true, dbms_lob.session);
570: FOR cntr IN
571: pay_payroll_xml_extract_pkg.g_xml_table.first()..pay_payroll_xml_extract_pkg.g_xml_table.last() LOOP
572: lr_xml := utl_raw.cast_to_raw(
573: pay_payroll_xml_extract_pkg.g_xml_table(cntr));
574: ln_amt := utl_raw.length(lr_xml);
575:
569: dbms_lob.createTemporary(l_xml, true, dbms_lob.session);
570: FOR cntr IN
571: pay_payroll_xml_extract_pkg.g_xml_table.first()..pay_payroll_xml_extract_pkg.g_xml_table.last() LOOP
572: lr_xml := utl_raw.cast_to_raw(
573: pay_payroll_xml_extract_pkg.g_xml_table(cntr));
574: ln_amt := utl_raw.length(lr_xml);
575:
576: dbms_lob.writeAppend(l_xml,
577: ln_amt,
576: dbms_lob.writeAppend(l_xml,
577: ln_amt,
578: lr_xml);
579:
580: hr_utility_trace (pay_payroll_xml_extract_pkg.g_xml_table(cntr));
581: END LOOP;
582: pay_payroll_xml_extract_pkg.g_xml_table.delete();
583:
584: END IF;
578: lr_xml);
579:
580: hr_utility_trace (pay_payroll_xml_extract_pkg.g_xml_table(cntr));
581: END LOOP;
582: pay_payroll_xml_extract_pkg.g_xml_table.delete();
583:
584: END IF;
585: write_to_magtape_lob (l_xml);
586: dbms_lob.freeTemporary(l_xml);
584: END IF;
585: write_to_magtape_lob (l_xml);
586: dbms_lob.freeTemporary(l_xml);
587:
588: pay_payroll_xml_extract_pkg.g_custom_params.DELETE;
589: ln_param_count := pay_payroll_xml_extract_pkg.g_custom_params.COUNT;
590: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_name := 'p_xml_level';
591: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_value := 'ER';
592:
585: write_to_magtape_lob (l_xml);
586: dbms_lob.freeTemporary(l_xml);
587:
588: pay_payroll_xml_extract_pkg.g_custom_params.DELETE;
589: ln_param_count := pay_payroll_xml_extract_pkg.g_custom_params.COUNT;
590: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_name := 'p_xml_level';
591: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_value := 'ER';
592:
593: /*Employee Information -Legislation Specific*/
586: dbms_lob.freeTemporary(l_xml);
587:
588: pay_payroll_xml_extract_pkg.g_custom_params.DELETE;
589: ln_param_count := pay_payroll_xml_extract_pkg.g_custom_params.COUNT;
590: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_name := 'p_xml_level';
591: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_value := 'ER';
592:
593: /*Employee Information -Legislation Specific*/
594: SELECT pay_ip_utility.get_ip_installation(ln_business_group_id)
587:
588: pay_payroll_xml_extract_pkg.g_custom_params.DELETE;
589: ln_param_count := pay_payroll_xml_extract_pkg.g_custom_params.COUNT;
590: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_name := 'p_xml_level';
591: pay_payroll_xml_extract_pkg.g_custom_params(ln_param_count).parameter_value := 'ER';
592:
593: /*Employee Information -Legislation Specific*/
594: SELECT pay_ip_utility.get_ip_installation(ln_business_group_id)
595: INTO lv_legislation_install FROM dual;
594: SELECT pay_ip_utility.get_ip_installation(ln_business_group_id)
595: INTO lv_legislation_install FROM dual;
596: /*Modified for International Payroll*/
597: IF lv_legislation_install = 'Y' THEN
598: EXECUTE IMMEDIATE 'BEGIN PAY_'||pay_payroll_xml_extract_pkg.g_leg_code||
599: '_RULES.add_custom_xml(:1,:2,:3); END;'
600: USING IN ln_payroll_action_id,'','DEPOSIT_XML';
601: ELSE
602: EXECUTE IMMEDIATE 'BEGIN PAY_IP_RULES.add_custom_xml(:1,:2,:3); END;'