[Home] [Help]
140: -- Internal Run Balance link list used in rollback
141: --
142: type t_int_rb_rec is record
143: (
144: run_balance_id pay_run_balances.run_balance_id%type,
145: defined_balance_id pay_defined_balances.defined_balance_id%type,
146: payroll_action_id pay_payroll_actions.payroll_action_id%type,
147: tax_unit_id pay_assignment_actions.tax_unit_id%type,
148: jurisdiction_code pay_run_results.jurisdiction_code%type,
6316: ,p_organization_id number)
6317: is
6318: select run_balance_id
6319: , balance_value
6320: from pay_run_balances
6321: where defined_balance_id = p_defined_balance_id
6322: and payroll_action_id = p_pact_id
6323: and nvl(tax_unit_id, -1) = nvl(p_gre, -1)
6324: and nvl(jurisdiction_code, 'null') = nvl(p_jd, 'null')
6333: and nvl(balance_date, to_date('0001/01/01', 'YYYY/MM/DD'))
6334: = nvl(p_balance_date, to_date('0001/01/01', 'YYYY/MM/DD'))
6335: and rownum = 1;
6336: --
6337: l_grp_run_bal_id pay_run_balances.run_balance_id%type;
6338: l_grp_run_bal_val pay_run_balances.balance_value%type;
6339: l_cache_ct number;
6340: l_found boolean;
6341: l_jur1 pay_run_balances.jurisdiction_comp1%type;
6334: = nvl(p_balance_date, to_date('0001/01/01', 'YYYY/MM/DD'))
6335: and rownum = 1;
6336: --
6337: l_grp_run_bal_id pay_run_balances.run_balance_id%type;
6338: l_grp_run_bal_val pay_run_balances.balance_value%type;
6339: l_cache_ct number;
6340: l_found boolean;
6341: l_jur1 pay_run_balances.jurisdiction_comp1%type;
6342: l_jur2 pay_run_balances.jurisdiction_comp2%type;
6337: l_grp_run_bal_id pay_run_balances.run_balance_id%type;
6338: l_grp_run_bal_val pay_run_balances.balance_value%type;
6339: l_cache_ct number;
6340: l_found boolean;
6341: l_jur1 pay_run_balances.jurisdiction_comp1%type;
6342: l_jur2 pay_run_balances.jurisdiction_comp2%type;
6343: l_jur3 pay_run_balances.jurisdiction_comp3%type;
6344: l_current_ptr number;
6345: l_previous_ptr number;
6338: l_grp_run_bal_val pay_run_balances.balance_value%type;
6339: l_cache_ct number;
6340: l_found boolean;
6341: l_jur1 pay_run_balances.jurisdiction_comp1%type;
6342: l_jur2 pay_run_balances.jurisdiction_comp2%type;
6343: l_jur3 pay_run_balances.jurisdiction_comp3%type;
6344: l_current_ptr number;
6345: l_previous_ptr number;
6346: --
6339: l_cache_ct number;
6340: l_found boolean;
6341: l_jur1 pay_run_balances.jurisdiction_comp1%type;
6342: l_jur2 pay_run_balances.jurisdiction_comp2%type;
6343: l_jur3 pay_run_balances.jurisdiction_comp3%type;
6344: l_current_ptr number;
6345: l_previous_ptr number;
6346: --
6347: begin
6391: hr_utility.trace('l_grp_run_bal_val: '||to_char(l_grp_run_bal_val));
6392: hr_utility.trace('contrib amt: '||to_char(p_amount));
6393: end if;
6394: --
6395: update pay_run_balances
6396: set balance_value = (balance_value - p_amount)
6397: where run_balance_id = l_grp_run_bal_id;
6398: --
6399: end if;
6428: if g_debug then
6429: hr_utility.set_location('pay_balance_pkg.subtract_from_grp_bal', 50);
6430: hr_utility.trace('MULTI THREADED UPDATE');
6431: end if;
6432: update pay_run_balances
6433: set balance_value = balance_value - p_amount
6434: where run_balance_id = p_int_mlt_thrd_cache(l_current_ptr).run_balance_id;
6435: --
6436: else -- no row for this balance
6439: hr_utility.set_location('pay_balance_pkg.subtract_from_grp_bal', 55);
6440: end if;
6441: --
6442: --
6443: select pay_run_balances_s.nextval
6444: into l_grp_run_bal_id
6445: from dual;
6446: --
6447: split_jurisdiction(p_jur_code,
6448: l_jur1,
6449: l_jur2,
6450: l_jur3);
6451: --
6452: insert into pay_run_balances
6453: (run_balance_id
6454: ,defined_balance_id
6455: ,payroll_action_id
6456: ,effective_date
6555: -- Get all the group defined_balances
6556: --
6557: cursor get_dbs(p_pact number) is
6558: select distinct defined_balance_id
6559: from pay_run_balances
6560: where payroll_action_id = p_pact;
6561: --
6562: cursor get_contexts(p_asg_action in number,
6563: p_si_needed in varchar2,
6868: p_organization_id in number default null,
6869: p_tax_group in varchar2 default null
6870: )
6871: is
6872: l_jur1 pay_run_balances.jurisdiction_comp1%type;
6873: l_jur2 pay_run_balances.jurisdiction_comp2%type;
6874: l_jur3 pay_run_balances.jurisdiction_comp3%type;
6875: begin
6876: --
6869: p_tax_group in varchar2 default null
6870: )
6871: is
6872: l_jur1 pay_run_balances.jurisdiction_comp1%type;
6873: l_jur2 pay_run_balances.jurisdiction_comp2%type;
6874: l_jur3 pay_run_balances.jurisdiction_comp3%type;
6875: begin
6876: --
6877: split_jurisdiction(p_jurisdiction,
6870: )
6871: is
6872: l_jur1 pay_run_balances.jurisdiction_comp1%type;
6873: l_jur2 pay_run_balances.jurisdiction_comp2%type;
6874: l_jur3 pay_run_balances.jurisdiction_comp3%type;
6875: begin
6876: --
6877: split_jurisdiction(p_jurisdiction,
6878: l_jur1,
6878: l_jur1,
6879: l_jur2,
6880: l_jur3);
6881: --
6882: insert into pay_run_balances
6883: (
6884: run_balance_id,
6885: defined_balance_id,
6886: assignment_action_id,
6905: organization_id,
6906: tax_group
6907: )
6908: values (
6909: pay_run_balances_s.nextval,
6910: p_defined_balance_id,
6911: p_asg_act_id,
6912: p_payroll_act_id,
6913: p_asg_id,
7413: end if;
7414: --
7415: -- Delete run balance records that may conflict with new one.
7416: --
7417: delete from pay_run_balances
7418: where
7419: defined_balance_id = l_rec.defined_balance_id
7420: and assignment_action_id = l_rr_info.assignment_action_id
7421: and payroll_action_id is null
7617: end if;
7618: --
7619: end loop;
7620: --
7621: -- Validate/Delete the pay_run_balances for this mode.
7622: --
7623: for cnt in 1..p_defined_balance_lst.count loop
7624: --
7625: if (p_load_type = 'FORCE') then
7625: if (p_load_type = 'FORCE') then
7626: if g_debug then
7627: hr_utility.set_location('pay_balance_pkg.create_set_asg_balance', 20);
7628: end if;
7629: delete from pay_run_balances
7630: where defined_balance_id = p_defined_balance_lst(cnt).defined_balance_id
7631: and assignment_action_id = p_asgact_id;
7632: elsif (p_load_type = 'TRUSTED') then
7633: null;
7642: select 1
7643: into l_dummy
7644: from dual
7645: where exists (select ''
7646: from pay_run_balances
7647: where defined_balance_id = p_defined_balance_lst(cnt).defined_balance_id
7648: and assignment_action_id = p_asgact_id
7649: and balance_value <> 0);
7650: --
7883: if (p_load_type = 'FORCE') then
7884: if g_debug then
7885: hr_utility.set_location('pay_balance_pkg.add_grpbal_to_list', 20);
7886: end if;
7887: delete from pay_run_balances
7888: where defined_balance_id = p_def_bal_id
7889: and payroll_action_id = p_pactid;
7890: elsif (p_load_type = 'TRUSTED') then
7891: null;
7899: select 1
7900: into l_dummy
7901: from dual
7902: where exists (select ''
7903: from pay_run_balances
7904: where defined_balance_id = p_def_bal_id
7905: and payroll_action_id = p_pactid
7906: and balance_value <> 0);
7907: --
8690: if (p_load_type = 'FORCE') then
8691: if g_debug then
8692: hr_utility.set_location('pay_balance_pkg.add_asgbal_to_list', 20);
8693: end if;
8694: delete from pay_run_balances
8695: where defined_balance_id = p_def_bal_id
8696: and assignment_action_id = p_asgact_id;
8697: elsif (p_load_type = 'TRUSTED') then
8698: null;
8706: select 1
8707: into l_dummy
8708: from dual
8709: where exists (select ''
8710: from pay_run_balances
8711: where defined_balance_id = p_def_bal_id
8712: and assignment_action_id = p_asgact_id
8713: and balance_value <> 0);
8714: --
9717: end if;
9718: --
9719: end loop;
9720: --
9721: -- Validate/Delete the pay_run_balances for this mode.
9722: --
9723: for cnt in 1..p_defined_balance_lst.count loop
9724: --
9725: if (p_load_type = 'FORCE') then
9725: if (p_load_type = 'FORCE') then
9726: if g_debug then
9727: hr_utility.set_location('pay_balance_pkg.create_set_group_balance', 20);
9728: end if;
9729: delete from pay_run_balances
9730: where defined_balance_id = p_defined_balance_lst(cnt).defined_balance_id
9731: and payroll_action_id = p_pact_id;
9732: elsif (p_load_type = 'TRUSTED') then
9733: null;
9741: select 1
9742: into l_dummy
9743: from dual
9744: where exists (select 1
9745: from pay_run_balances
9746: where defined_balance_id = p_defined_balance_lst(cnt).defined_balance_id
9747: and payroll_action_id = p_pact_id
9748: and balance_value <> 0);
9749: --