1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| declare dat2 date;
declare pro2 varchar(20);
declare pua2 numeric(14,5);
declare qte2 numeric(14,5);
declare i integer;
BEGIN
DELETE FROM STK;
for select pro,sum(qte) as qte from ACH where (fac='00000')and(pro is not null)and(dat>=:datd)and(dat<=:data) group by pro into :pro,:qte do
begin
INSERT into STK (dat,pro,pua,qto) values(CAST(:dat1 as date),:pro,0,:qte);
suspend;
end
for select pro,sum(qte) as qte from ACH where (fac<>'00000')and(pro is not null)and(dat>=:datd)and(dat<=:data) group by pro into :pro,:qte do
begin
IF (EXISTS(SELECT pro FROM STK WHERE pro=:pro))
then
UPDATE STK set qta=:qte where (pro=:pro);
else INSERT INTO STK (dat,pro,pua,qta) values(CAST(:dat1 as date),:pro,0,:qte);
suspend;
end
for select PRO,sum(qte) from VEN where (PRO is not null)and(dat>=:datd)and(dat<=:data) group by pro into :PRO,:qte do
begin
IF (EXISTS(SELECT pro FROM STK WHERE pro=:pro))
then
UPDATE STK set qtv=:qte where (pro=:pro);
else INSERT INTO STK (dat,pro,pua,qtv) values(CAST(:dat1 as date),:pro,0,:qte);
suspend;
end
END |
Partager