258: l_rows number;
259: begin
260: hr_utility.set_location('pay_us_tax_bals_pkg.get_virtual_date',
261: 30);
262: sql_cursor := dbms_sql.open_cursor;
263: dbms_sql.parse(sql_cursor, p_asg_vdate_cursor, dbms_sql.v7);
264: dbms_sql.bind_variable (sql_cursor, 'ASSIGNMENT_ID',
265: p_assignment_id);
266: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED',
259: begin
260: hr_utility.set_location('pay_us_tax_bals_pkg.get_virtual_date',
261: 30);
262: sql_cursor := dbms_sql.open_cursor;
263: dbms_sql.parse(sql_cursor, p_asg_vdate_cursor, dbms_sql.v7);
264: dbms_sql.bind_variable (sql_cursor, 'ASSIGNMENT_ID',
265: p_assignment_id);
266: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED',
267: p_virtual_date);
260: hr_utility.set_location('pay_us_tax_bals_pkg.get_virtual_date',
261: 30);
262: sql_cursor := dbms_sql.open_cursor;
263: dbms_sql.parse(sql_cursor, p_asg_vdate_cursor, dbms_sql.v7);
264: dbms_sql.bind_variable (sql_cursor, 'ASSIGNMENT_ID',
265: p_assignment_id);
266: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED',
267: p_virtual_date);
268: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED',
262: sql_cursor := dbms_sql.open_cursor;
263: dbms_sql.parse(sql_cursor, p_asg_vdate_cursor, dbms_sql.v7);
264: dbms_sql.bind_variable (sql_cursor, 'ASSIGNMENT_ID',
265: p_assignment_id);
266: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED',
267: p_virtual_date);
268: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED',
269: p_virtual_date);
270: dbms_sql.define_column (sql_cursor, 1, l_virtual_date);
264: dbms_sql.bind_variable (sql_cursor, 'ASSIGNMENT_ID',
265: p_assignment_id);
266: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED',
267: p_virtual_date);
268: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED',
269: p_virtual_date);
270: dbms_sql.define_column (sql_cursor, 1, l_virtual_date);
271: l_rows := dbms_sql.execute(sql_cursor);
272: l_rows := dbms_sql.fetch_rows (sql_cursor);
266: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED',
267: p_virtual_date);
268: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED',
269: p_virtual_date);
270: dbms_sql.define_column (sql_cursor, 1, l_virtual_date);
271: l_rows := dbms_sql.execute(sql_cursor);
272: l_rows := dbms_sql.fetch_rows (sql_cursor);
273: if l_rows > 0 then
274: hr_utility.set_location(
267: p_virtual_date);
268: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED',
269: p_virtual_date);
270: dbms_sql.define_column (sql_cursor, 1, l_virtual_date);
271: l_rows := dbms_sql.execute(sql_cursor);
272: l_rows := dbms_sql.fetch_rows (sql_cursor);
273: if l_rows > 0 then
274: hr_utility.set_location(
275: 'pay_us_tax_bals_pkg.get_virtual_date', 40);
268: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED',
269: p_virtual_date);
270: dbms_sql.define_column (sql_cursor, 1, l_virtual_date);
271: l_rows := dbms_sql.execute(sql_cursor);
272: l_rows := dbms_sql.fetch_rows (sql_cursor);
273: if l_rows > 0 then
274: hr_utility.set_location(
275: 'pay_us_tax_bals_pkg.get_virtual_date', 40);
276: dbms_sql.column_value (sql_cursor, 1, l_virtual_date);
272: l_rows := dbms_sql.fetch_rows (sql_cursor);
273: if l_rows > 0 then
274: hr_utility.set_location(
275: 'pay_us_tax_bals_pkg.get_virtual_date', 40);
276: dbms_sql.column_value (sql_cursor, 1, l_virtual_date);
277: --
278: select max(ppf.effective_end_date)
279: into l_virtual_date2
280: from per_assignments_f paf,
314: 'pay_us_tax_bals_pkg.get_virtual_date', 50);
315: local_error('get_virtual_date', 1);
316: end if;
317: --
318: dbms_sql.close_cursor(sql_cursor);
319: end;
320: --
321: return l_res_date;
322: end;
428: --
429: hr_utility.set_location('pay_us_tax_bals_pkg.get_grp_asg_value', 30);
430: begin
431: --
432: sql_cursor := dbms_sql.open_cursor;
433: dbms_sql.parse(sql_cursor, l_asg_data_cursor, dbms_sql.v7);
434: dbms_sql.bind_variable (sql_cursor, 'TAX_UNIT_ID', p_gre_id);
435: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED', p_virtual_date);
436: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED', p_virtual_date);
429: hr_utility.set_location('pay_us_tax_bals_pkg.get_grp_asg_value', 30);
430: begin
431: --
432: sql_cursor := dbms_sql.open_cursor;
433: dbms_sql.parse(sql_cursor, l_asg_data_cursor, dbms_sql.v7);
434: dbms_sql.bind_variable (sql_cursor, 'TAX_UNIT_ID', p_gre_id);
435: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED', p_virtual_date);
436: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED', p_virtual_date);
437: dbms_sql.define_column (sql_cursor, 1, l_asg_id);
430: begin
431: --
432: sql_cursor := dbms_sql.open_cursor;
433: dbms_sql.parse(sql_cursor, l_asg_data_cursor, dbms_sql.v7);
434: dbms_sql.bind_variable (sql_cursor, 'TAX_UNIT_ID', p_gre_id);
435: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED', p_virtual_date);
436: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED', p_virtual_date);
437: dbms_sql.define_column (sql_cursor, 1, l_asg_id);
438: --
431: --
432: sql_cursor := dbms_sql.open_cursor;
433: dbms_sql.parse(sql_cursor, l_asg_data_cursor, dbms_sql.v7);
434: dbms_sql.bind_variable (sql_cursor, 'TAX_UNIT_ID', p_gre_id);
435: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED', p_virtual_date);
436: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED', p_virtual_date);
437: dbms_sql.define_column (sql_cursor, 1, l_asg_id);
438: --
439: -- Does the cursor require the jurisdiction code. Hence balance
432: sql_cursor := dbms_sql.open_cursor;
433: dbms_sql.parse(sql_cursor, l_asg_data_cursor, dbms_sql.v7);
434: dbms_sql.bind_variable (sql_cursor, 'TAX_UNIT_ID', p_gre_id);
435: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED', p_virtual_date);
436: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED', p_virtual_date);
437: dbms_sql.define_column (sql_cursor, 1, l_asg_id);
438: --
439: -- Does the cursor require the jurisdiction code. Hence balance
440: -- type.
433: dbms_sql.parse(sql_cursor, l_asg_data_cursor, dbms_sql.v7);
434: dbms_sql.bind_variable (sql_cursor, 'TAX_UNIT_ID', p_gre_id);
435: dbms_sql.bind_variable (sql_cursor, 'DATE_EARNED', p_virtual_date);
436: dbms_sql.bind_variable (sql_cursor, 'DATE2_EARNED', p_virtual_date);
437: dbms_sql.define_column (sql_cursor, 1, l_asg_id);
438: --
439: -- Does the cursor require the jurisdiction code. Hence balance
440: -- type.
441: --
444: into l_balance_type_id
445: from pay_defined_balances
446: where defined_balance_id = l_defined_balance_id;
447: --
448: dbms_sql.bind_variable (sql_cursor, 'BALANCE_TYPE_ID',
449: l_balance_type_id);
450: dbms_sql.bind_variable (sql_cursor, 'JURISDICTION_CODE',
451: p_jurisdiction_code);
452: end if;
446: where defined_balance_id = l_defined_balance_id;
447: --
448: dbms_sql.bind_variable (sql_cursor, 'BALANCE_TYPE_ID',
449: l_balance_type_id);
450: dbms_sql.bind_variable (sql_cursor, 'JURISDICTION_CODE',
451: p_jurisdiction_code);
452: end if;
453: l_rows := dbms_sql.execute(sql_cursor);
454: l_rows := 1;
449: l_balance_type_id);
450: dbms_sql.bind_variable (sql_cursor, 'JURISDICTION_CODE',
451: p_jurisdiction_code);
452: end if;
453: l_rows := dbms_sql.execute(sql_cursor);
454: l_rows := 1;
455: cnt := 0;
456: --
457: -- Loop through all the contributing assignments, go get there
457: -- Loop through all the contributing assignments, go get there
458: -- balance value and add onto the running total.
459: --
460: while (l_rows <> 0) loop
461: l_rows := dbms_sql.fetch_rows (sql_cursor);
462: cnt := cnt + 1;
463: if l_rows > 0 then
464: hr_utility.set_location(
465: 'pay_us_tax_bals_pkg.get_grp_asg_value', 40);
462: cnt := cnt + 1;
463: if l_rows > 0 then
464: hr_utility.set_location(
465: 'pay_us_tax_bals_pkg.get_grp_asg_value', 40);
466: dbms_sql.column_value (sql_cursor, 1, l_asg_id);
467: --
468: l_virtual_date := get_virtual_date(l_asg_id, p_virtual_date,
469: l_asg_balance_time,
470: l_asg_vdate_cursor);
479: );
480: end if;
481: end loop;
482: --
483: dbms_sql.close_cursor(sql_cursor);
484: end;
485: else
486: --
487: -- No latets balances available. Run the route.