292: l_senior_flag pay_au_tfn_tax_info_v.australian_resident_flag%TYPE; /*bug7270073*/
293:
294: BEGIN
295:
296: hr_utility.trace('Start of populate_tfn_flags procedure');
297:
298: hr_utility.trace('l_business_group_id : ' || to_char(p_business_group_id));
299: hr_utility.trace('l_legal_employer_id : ' || p_legal_employer_id);
300: hr_utility.trace('l_report_end_date : ' || to_char(p_report_end_date, 'DD-MON-YYYY') );
294: BEGIN
295:
296: hr_utility.trace('Start of populate_tfn_flags procedure');
297:
298: hr_utility.trace('l_business_group_id : ' || to_char(p_business_group_id));
299: hr_utility.trace('l_legal_employer_id : ' || p_legal_employer_id);
300: hr_utility.trace('l_report_end_date : ' || to_char(p_report_end_date, 'DD-MON-YYYY') );
301:
302:
295:
296: hr_utility.trace('Start of populate_tfn_flags procedure');
297:
298: hr_utility.trace('l_business_group_id : ' || to_char(p_business_group_id));
299: hr_utility.trace('l_legal_employer_id : ' || p_legal_employer_id);
300: hr_utility.trace('l_report_end_date : ' || to_char(p_report_end_date, 'DD-MON-YYYY') );
301:
302:
303:
296: hr_utility.trace('Start of populate_tfn_flags procedure');
297:
298: hr_utility.trace('l_business_group_id : ' || to_char(p_business_group_id));
299: hr_utility.trace('l_legal_employer_id : ' || p_legal_employer_id);
300: hr_utility.trace('l_report_end_date : ' || to_char(p_report_end_date, 'DD-MON-YYYY') );
301:
302:
303:
304: -- Get the values of Tax Information reportable fields and
303:
304: -- Get the values of Tax Information reportable fields and
305: -- pupolate values into global table.
306:
307: hr_utility.trace('Opening cursor c_get_tfn_flag_values');
308: OPEN c_get_tfn_flag_values(p_business_group_id,
309: p_legal_employer_id,
310: p_report_end_date );
311: LOOP
329: -- in the current report is not eligible to be printed on magtape
330:
331: IF (l_tax_file_number = '111 111 111' AND nvl(l_actual_termination_date,p_report_end_date + 1)
332: NOT BETWEEN (p_report_end_date - 13) AND p_report_end_date) THEN
333: hr_utility.trace('Employee is not eligible for magtape');
334:
335: ELSE
336: hr_utility.trace('Value stored for assignment id : ' || to_char(l_assignment_id));
337:
332: NOT BETWEEN (p_report_end_date - 13) AND p_report_end_date) THEN
333: hr_utility.trace('Employee is not eligible for magtape');
334:
335: ELSE
336: hr_utility.trace('Value stored for assignment id : ' || to_char(l_assignment_id));
337:
338: -- populate the global table
339: g_tfn_flags_table(l_assignment_id).k_assignment_id := l_assignment_id ;
340: g_tfn_flags_table(l_assignment_id).australian_res_flag := l_australian_res_flag ;
361:
362:
363: END IF;
364: END LOOP;
365: hr_utility.trace('closing cursor c_get_tfn_flag_values');
366: CLOSE c_get_tfn_flag_values;
367:
368:
369: -- Get the value of tfn for super flag for all
368:
369: -- Get the value of tfn for super flag for all
370: -- employee and populate the values to a temprorary table
371:
372: hr_utility.trace('Opening cursor c_get_tfn_super_flag_value');
373: OPEN c_get_tfn_super_flag_value(p_business_group_id,
374: p_legal_employer_id,
375: p_report_end_date );
376: LOOP
380: EXIT WHEN c_get_tfn_super_flag_value%NOTFOUND;
381: l_spr_flag_table(l_assignment_id).k_assignment_id := l_assignment_id;
382: l_spr_flag_table(l_assignment_id).tfn_for_super := l_tfn_for_super;
383: END LOOP;
384: hr_utility.trace('closing cursor c_get_tfn_super_flag_value');
385: CLOSE c_get_tfn_super_flag_value;
386:
387:
388:
389: -- For all the eligible assignments populated in the global plsql table
390: -- get the value of 'TFN for Super' flag from the temporary table.
391: -- Populate the table with the proper value of the 'TFN for Super' flag.
392:
393: hr_utility.trace('Populating the supernnuation flag in the global table');
394:
395: IF g_tfn_flags_table.count > 0 THEN
396: for l_assignment_id in g_tfn_flags_table.first..g_tfn_flags_table.last
397: LOOP
405: END LOOP;
406: END IF;
407:
408:
409: hr_utility.trace('End of populate_tfn_flags procedure');
410:
411: EXCEPTION
412: WHEN OTHERS THEN
413: hr_utility.trace('Error in populate_tfn_flags');
409: hr_utility.trace('End of populate_tfn_flags procedure');
410:
411: EXCEPTION
412: WHEN OTHERS THEN
413: hr_utility.trace('Error in populate_tfn_flags');
414: RAISE;
415:
416: END populate_tfn_flags;
417:
428: FUNCTION get_tfn_flag_values(p_assignment_id in per_all_assignments_f.assignment_id%TYPE,
429: p_flag_name in varchar2) RETURN varchar2 IS
430: BEGIN
431:
432: hr_utility.trace('Start of get_tfn_flag_values function');
433: hr_utility.trace('Passed p_assignment_id : ' || to_char(p_assignment_id));
434:
435: -- Check IF assignment exists in the plsql table of tax details values.
436: IF g_tfn_flags_table.exists(p_assignment_id) THEN
429: p_flag_name in varchar2) RETURN varchar2 IS
430: BEGIN
431:
432: hr_utility.trace('Start of get_tfn_flag_values function');
433: hr_utility.trace('Passed p_assignment_id : ' || to_char(p_assignment_id));
434:
435: -- Check IF assignment exists in the plsql table of tax details values.
436: IF g_tfn_flags_table.exists(p_assignment_id) THEN
437:
435: -- Check IF assignment exists in the plsql table of tax details values.
436: IF g_tfn_flags_table.exists(p_assignment_id) THEN
437:
438: -- Return value of the tax detail field for the employee
439: hr_utility.trace('The value of the assignment_id passed : ' || to_char(g_tfn_flags_table(p_assignment_id).k_assignment_id));
440: -- Bug 2728374 : Corrected basis of payment string
441: IF p_flag_name = 'AUSTRALIAN_RESIDENT_FLAG' THEN
442: RETURN g_tfn_flags_table(p_assignment_id).australian_res_flag;
443:
483: ELSE
484: RETURN 'N';
485: END IF;
486:
487: hr_utility.trace('End of get_tfn_flag_values function');
488:
489: EXCEPTION
490: WHEN OTHERS THEN
491: hr_utility.trace('Error in get_tfn_flag_values');
487: hr_utility.trace('End of get_tfn_flag_values function');
488:
489: EXCEPTION
490: WHEN OTHERS THEN
491: hr_utility.trace('Error in get_tfn_flag_values');
492: RAISE;
493: END get_tfn_flag_values;
494:
495: END pay_au_tfn_magtape_flags;