begin
for
select JOR.ID
from PLMJobOrders JO
join PLMJONodes JON on JO.ID = JON.Parent_ID
join PLMJOOutputItems MI on MI.Owner_ID = JON.ID
join PLMJobOrdersRoutines JOR on JOR.Parent_ID = MI.ID
where JO.ID = :JO_ID
into :JOR_ID
do
Update PLMOperations op
Set
op.aggregateworkticket_id = :AWT_ID
Where op.finishedat$date >= :INDATE and op.finishedat$date < (:INDATE + 1) and
op.division_id = :DIV_ID and
op.aggregateworkticket_id is null and
op.cooperation = 'N' and
op.jobordersroutines_id = :JOR_ID and
(op.busorder_id = :BO_ID or (:BO_ID is null and op.BusOrder_ID is null)) and
(op.bustransaction_id = :BT_ID or (:BT_ID is null and op.BusTransaction_ID is null)) and
(op.busproject_id = :BP_ID or (:BP_ID is null and op.BusProject_ID is null))
;
select jo.SALARIESINPRODUCE, jo.OVERHEADCOSTSINPRODUCE, jo.GENERALEXPENSEINPRODUCE
from plmjoborders jo
where jo.id = :JO_ID
into :SALARIESINPRODUCE, :OVERHEADCOSTSINPRODUCE, :GENERALEXPENSEINPRODUCE;
Amount = 0;
select sum(op.SalaryCosts), sum(op.OverheadCosts), sum(op.GeneralExpense)
from plmoperations op
where op.aggregateworkticket_id = :AWT_ID
into :SALARIES, :OVERHEADCOSTS, :GENERALEXPENSE;
if (:SALARIESINPRODUCE = 'A') then
Amount = amount + SALARIES;
if (:OVERHEADCOSTSINPRODUCE = 'A') then
Amount = amount + OVERHEADCOSTS;
if (:generalexpenseINPRODUCE = 'A') then
Amount = amount + generalexpense;
suspend;
end