The following lines contain the word 'select', 'insert', 'update' or 'delete':
qpppassact - Insert a QuickPay Pay-slip assg action.
DESCRIPTION
Process a QuickPay Payslip action.
NOTES
This procedure is meant to be called via the QuickPay form.
*/
procedure qppsassact
(
p_payroll_action_id in number, -- of QuickPay Payslip.
p_assignment_action_id out nocopy number,
p_object_version_number out nocopy number
) is
l_assignment_id number;
select act.assignment_action_id
from pay_payroll_actions pac,
pay_assignment_actions act
where pac.payroll_action_id = p_payroll_action_id
and act.payroll_action_id = pac.target_payroll_action_id
and act.source_action_id is null;
select act.assignment_id
from pay_assignment_actions act,
pay_payroll_actions pac
where pac.payroll_action_id = p_payroll_action_id
and act.payroll_action_id = pac.target_payroll_action_id
and act.source_action_id is null;
select pac.assignment_action_id,pac.tax_unit_id
from pay_assignment_actions pac
where pac.payroll_action_id = (select ppa.payroll_action_id
from pay_payroll_actions ppa
where ppa.target_payroll_action_id = (select ppa.target_payroll_action_id
from pay_payroll_actions ppa
where ppa.payroll_action_id = p_payroll_action_id)
and ppa.action_type = 'U'
and ppa.action_status = 'C');
select pac.assignment_action_id
from pay_assignment_actions pac
where pac.payroll_action_id =p_payroll_action_id;
select pay_assignment_actions_s.nextval
from sys.dual;
--Insert the new assignment action
if c_next_assact%found then
if c_qppaction%found then
hr_nonrun_asact.insact(l_assignment_action_id,l_assignment_id,p_payroll_action_id,1,l_tax_unit_id,null,'M',null);
-- We can now insert interlock row.
hr_utility.set_location('qppsassact',50);
--Then insert the quick-pay pre-payment action rows
hr_utility.set_location(' qppsassact ',55);
update pay_payroll_actions pac
set pac.date_earned = (
select pa2.date_earned
from pay_payroll_actions pa2,
pay_assignment_actions act
where act.assignment_action_id = l_qpp_locked_action_id
and pa2.payroll_action_id = act.payroll_action_id)
where pac.payroll_action_id =p_payroll_action_id;
update pay_payroll_actions pac
set pac.action_population_status = 'C'
where pac.payroll_action_id = p_payroll_action_id;
select 'Y'
from pay_payroll_actions
where payroll_action_id = p_payroll_action_id
and current_task is not null;
Procedure check_non_updateable_args(p_rec in g_rec_type) is
--
l_proc varchar2(72) := g_package||'check_non_updateable_args';
end check_non_updateable_args;
select 'Y'
from pay_payroll_actions pya
, pay_assignment_actions aga
where pya.payroll_action_id = p_target_payroll_action_id
and pya.action_type = 'Q'
and aga.payroll_action_id = pya.payroll_action_id
and aga.action_status in ('C', 'S');
select 'Y'
from pay_payroll_actions pya
where pya.payroll_action_id = p_target_payroll_action_id
and pya.business_group_id = p_business_group_id
and pya.effective_date = p_effective_date;
select pya.payroll_action_id
, pya.business_group_id
, pya.org_payment_method_id
, pya.action_status
, pya.effective_date
, pya.target_payroll_action_id
, aga.object_version_number
, pya.object_version_number
from pay_payroll_actions pya
, pay_assignment_actions aga
where /* Payroll action lock */
pya.payroll_action_id = p_payroll_action_id
and pya.action_type = 'X'
/* Assignment action lock */
and aga.payroll_action_id = pya.payroll_action_id
for update nowait;
Procedure update_dml(p_rec in out nocopy g_rec_type) is
--
l_proc varchar2(72) := g_package||'update_dml';
update pay_payroll_actions
set action_status = p_rec.action_status
, object_version_number = p_rec.object_version_number
where payroll_action_id = p_rec.payroll_action_id;
End update_dml;
Procedure insert_dml
(p_rec in out nocopy g_rec_type
,p_action_type in pay_payroll_actions.action_type%TYPE
,p_payroll_id in pay_payroll_actions.payroll_id%TYPE
,p_consolidation_set_id in
pay_payroll_actions.consolidation_set_id%TYPE
,p_action_population_status in
pay_payroll_actions.action_population_status%TYPE
) is
--
l_proc varchar2(72) := g_package||'insert_dml';
insert into pay_payroll_actions
(payroll_action_id
,business_group_id
,org_payment_method_id
,action_status
,effective_date
,target_payroll_action_id
,action_type
,payroll_id
,consolidation_set_id
,action_population_status
,object_version_number
,legislative_parameters
,report_type
,report_qualifier
,report_category
)
values
(p_rec.payroll_action_id
,p_rec.business_group_id
,p_rec.org_payment_method_id
,p_rec.action_status
,p_rec.effective_date
,p_rec.target_payroll_action_id
,p_action_type
,p_payroll_id
,p_consolidation_set_id
,p_action_population_status
,p_rec.object_version_number
,p_rec.legislative_parameters
,p_rec.report_type
,p_rec.report_qualifier
,p_rec.report_category
);
End insert_dml;
Procedure pre_update(p_rec in g_rec_type) is
--
l_proc varchar2(72) := g_package||'pre_update';
End pre_update;
Procedure pre_insert
(p_rec in out nocopy g_rec_type
,p_action_type out nocopy varchar2
,p_payroll_id out nocopy number
,p_consolidation_set_id out nocopy pay_payroll_actions.
consolidation_set_id%TYPE
,p_action_population_status out nocopy varchar2
) is
--
l_proc varchar2(72) := g_package||'pre_insert';
Cursor C_next_id is select pay_payroll_actions_s.nextval from sys.dual;
select pya.payroll_id
, pya.consolidation_set_id
from pay_payroll_actions pya
where pya.payroll_action_id = v_target_payroll_action_id;
End pre_insert;
Procedure post_update(p_rec in g_rec_type) is
--
l_proc varchar2(72) := g_package||'post_update';
End post_update;
Procedure post_insert
(p_rec in g_rec_type
,p_assignment_action_id out nocopy number
,p_a_object_version_number out nocopy number
) is
--
l_proc varchar2(72) := g_package||'post_insert';
End post_insert;
Procedure update_validate(p_rec in g_rec_type) is
--
l_proc varchar2(72) := g_package||'update_validate';
check_non_updateable_args(p_rec => p_rec);
End update_validate;
Procedure insert_validate(p_rec in g_rec_type) is
--
l_proc varchar2(72) := g_package||'insert_validate';
End insert_validate;
update_validate(convert_defs(p_rec));
pre_update(p_rec);
update_dml(p_rec);
post_update(p_rec);
insert_validate(p_rec);
pre_insert
(p_rec => p_rec
,p_action_type => l_action_type
,p_payroll_id => l_payroll_id
,p_consolidation_set_id => l_consolidation_set_id
,p_action_population_status => l_action_population_status
);
insert_dml
(p_rec => p_rec
,p_action_type => l_action_type
,p_payroll_id => l_payroll_id
,p_consolidation_set_id => l_consolidation_set_id
,p_action_population_status => l_action_population_status
);
post_insert
(p_rec => p_rec
,p_assignment_action_id => l_assignment_action_id
,p_a_object_version_number => l_a_object_version_number
);