915: (
916: (
917: SELECT nvl (p_top_org_id
918: ,p_business_group_id)
919: FROM dual
920: )
921: UNION
922: (
923: SELECT (p_business_group_id)
920: )
921: UNION
922: (
923: SELECT (p_business_group_id)
924: FROM dual
925: )
926: UNION
927: (
928: SELECT e.organization_id
1939: INDEX BY BINARY_INTEGER;
1940:
1941: t_single_personid_details person_details;
1942: t_multiple_personid_details person_details;
1943: t_individual_person_details person_details;
1944: r_other_emp_details csr_other_emp_details%ROWTYPE;
1945:
1946: BEGIN
1947:
1974: END IF;
1975: ELSIF r_other_emp_details.rank>1 AND csr_person_details%FOUND THEN
1976: i :=0;
1977: l_income :=0;
1978: t_individual_person_details.DELETE;
1979:
1980: l_prev_rank :=0;
1981:
1982: <
1983: LOOP
1984: IF csr_other_emp_details%FOUND AND l_prev_rank<>r_other_emp_details.rank THEN
1985: l_wage_tax_income := pay_nl_eoy_pkg.get_prev_year_tax_income(r_other_emp_details.assignment_id,
1986: add_months(l_reporting_end_date,12));
1987: t_individual_person_details(i).employee_number := r_other_emp_details.employee_number;
1988: t_individual_person_details(i).employee_name := r_other_emp_details.employee_name;
1989: t_individual_person_details(i).employer_name := r_other_emp_details.employer_name;
1990: t_individual_person_details(i).sofi_number := r_other_emp_details.sofi_number;
1991: t_individual_person_details(i).hire_date := r_other_emp_details.hire_date;
1984: IF csr_other_emp_details%FOUND AND l_prev_rank<>r_other_emp_details.rank THEN
1985: l_wage_tax_income := pay_nl_eoy_pkg.get_prev_year_tax_income(r_other_emp_details.assignment_id,
1986: add_months(l_reporting_end_date,12));
1987: t_individual_person_details(i).employee_number := r_other_emp_details.employee_number;
1988: t_individual_person_details(i).employee_name := r_other_emp_details.employee_name;
1989: t_individual_person_details(i).employer_name := r_other_emp_details.employer_name;
1990: t_individual_person_details(i).sofi_number := r_other_emp_details.sofi_number;
1991: t_individual_person_details(i).hire_date := r_other_emp_details.hire_date;
1992: IF NVL(r_other_emp_details.end_date,hr_general.end_of_time)<>hr_general.end_of_time THEN
1985: l_wage_tax_income := pay_nl_eoy_pkg.get_prev_year_tax_income(r_other_emp_details.assignment_id,
1986: add_months(l_reporting_end_date,12));
1987: t_individual_person_details(i).employee_number := r_other_emp_details.employee_number;
1988: t_individual_person_details(i).employee_name := r_other_emp_details.employee_name;
1989: t_individual_person_details(i).employer_name := r_other_emp_details.employer_name;
1990: t_individual_person_details(i).sofi_number := r_other_emp_details.sofi_number;
1991: t_individual_person_details(i).hire_date := r_other_emp_details.hire_date;
1992: IF NVL(r_other_emp_details.end_date,hr_general.end_of_time)<>hr_general.end_of_time THEN
1993: t_individual_person_details(i).end_date := r_other_emp_details.end_date;
1986: add_months(l_reporting_end_date,12));
1987: t_individual_person_details(i).employee_number := r_other_emp_details.employee_number;
1988: t_individual_person_details(i).employee_name := r_other_emp_details.employee_name;
1989: t_individual_person_details(i).employer_name := r_other_emp_details.employer_name;
1990: t_individual_person_details(i).sofi_number := r_other_emp_details.sofi_number;
1991: t_individual_person_details(i).hire_date := r_other_emp_details.hire_date;
1992: IF NVL(r_other_emp_details.end_date,hr_general.end_of_time)<>hr_general.end_of_time THEN
1993: t_individual_person_details(i).end_date := r_other_emp_details.end_date;
1994: END IF;
1987: t_individual_person_details(i).employee_number := r_other_emp_details.employee_number;
1988: t_individual_person_details(i).employee_name := r_other_emp_details.employee_name;
1989: t_individual_person_details(i).employer_name := r_other_emp_details.employer_name;
1990: t_individual_person_details(i).sofi_number := r_other_emp_details.sofi_number;
1991: t_individual_person_details(i).hire_date := r_other_emp_details.hire_date;
1992: IF NVL(r_other_emp_details.end_date,hr_general.end_of_time)<>hr_general.end_of_time THEN
1993: t_individual_person_details(i).end_date := r_other_emp_details.end_date;
1994: END IF;
1995: t_individual_person_details(i).income := l_wage_tax_income;
1989: t_individual_person_details(i).employer_name := r_other_emp_details.employer_name;
1990: t_individual_person_details(i).sofi_number := r_other_emp_details.sofi_number;
1991: t_individual_person_details(i).hire_date := r_other_emp_details.hire_date;
1992: IF NVL(r_other_emp_details.end_date,hr_general.end_of_time)<>hr_general.end_of_time THEN
1993: t_individual_person_details(i).end_date := r_other_emp_details.end_date;
1994: END IF;
1995: t_individual_person_details(i).income := l_wage_tax_income;
1996: i := i+1;
1997: END IF;
1991: t_individual_person_details(i).hire_date := r_other_emp_details.hire_date;
1992: IF NVL(r_other_emp_details.end_date,hr_general.end_of_time)<>hr_general.end_of_time THEN
1993: t_individual_person_details(i).end_date := r_other_emp_details.end_date;
1994: END IF;
1995: t_individual_person_details(i).income := l_wage_tax_income;
1996: i := i+1;
1997: END IF;
1998:
1999: l_prev_rank := r_other_emp_details.rank;
2000:
2001: FETCH csr_other_emp_details INTO r_other_emp_details;
2002:
2003: IF csr_other_emp_details%NOTFOUND THEN
2004: FOR j IN t_individual_person_details.FIRST..t_individual_person_details.LAST
2005: LOOP
2006: l_income := l_income+t_individual_person_details(j).income;
2007: END LOOP;
2008:
2002:
2003: IF csr_other_emp_details%NOTFOUND THEN
2004: FOR j IN t_individual_person_details.FIRST..t_individual_person_details.LAST
2005: LOOP
2006: l_income := l_income+t_individual_person_details(j).income;
2007: END LOOP;
2008:
2009: IF l_income>=p_threshold_limit THEN
2010: FOR j IN t_individual_person_details.FIRST..t_individual_person_details.LAST
2006: l_income := l_income+t_individual_person_details(j).income;
2007: END LOOP;
2008:
2009: IF l_income>=p_threshold_limit THEN
2010: FOR j IN t_individual_person_details.FIRST..t_individual_person_details.LAST
2011: LOOP
2012: t_multiple_personid_details(l_multiple_index):=t_individual_person_details(j);
2013: l_multiple_index:=l_multiple_index+1;
2014: END LOOP;
2008:
2009: IF l_income>=p_threshold_limit THEN
2010: FOR j IN t_individual_person_details.FIRST..t_individual_person_details.LAST
2011: LOOP
2012: t_multiple_personid_details(l_multiple_index):=t_individual_person_details(j);
2013: l_multiple_index:=l_multiple_index+1;
2014: END LOOP;
2015: END IF;
2016: EXIT;