FSN#18586: Agv FSN#18522: Correctie-script mbt de foute einddatums bij opdracht

svn path=/Customer/trunk/; revision=14338
This commit is contained in:
Marcel Bourseau
2010-09-08 14:14:28 +00:00
parent d41ba3e9e7
commit 6fa5ab419c

63
ATCH/Once/atch8.sql Normal file
View File

@@ -0,0 +1,63 @@
-- Customer specific once-script to add PRS-import as specified
-- ATCHoogeveen
-- (c) 2010 SG|facilitor bv
-- $Revision: 1 $
-- $Modtime: 8-09-10 16:02 $
--
-- Support: +31 53 4800710
SET ECHO ON;
SPOOL atch7.lst;
-- Rapport Aflopende beschikkingen
-- Deze update-query dient direct na installatie/levering van 5.00.9
-- op ATCH-database te worden uitgevoerd, en niet eerder, want de nieuwe kolom van update bestaat dan nog niet
SELECT o.mld_melding_key,
fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM as delta,
MLD_MELDING_EINDDATUM,
to_char(MLD_MELDING_EINDDATUM,'DAY') mld_eind_dag,
fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') opdracht_einddatum,
to_char(fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN'),'DAY') opdr_eind_dag
from mld_opdr o, mld_melding m
where o.mld_melding_key = m.mld_melding_key
and abs(fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM) < 5
and abs(fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM) <> 0
and O.MLD_STATUSOPDR_KEY not in (1,6)
AND m.mld_melding_status IN (4, 7)
order by fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM, m.mld_melding_key;
UPDATE mld_opdr o
set O.MLD_OPDR_EINDDATUM =
(select MLD_MELDING_EINDDATUM
from mld_melding m
where o.mld_melding_key = m.mld_melding_key
and abs(fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM) < 5
and abs(fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM) <> 0
and O.MLD_STATUSOPDR_KEY not in (1,6)
AND m.mld_melding_status IN (4, 7)
);
SELECT mld_melding_key, MLD_OPDR_EINDDATUM FROM mld_opdr
WHERE mld_opdr_einddatum is not null
order by mld_melding_key;
SELECT o.mld_melding_key,
fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM as delta,
MLD_MELDING_EINDDATUM,
MLD_OPDR_EINDDATUM,
to_char(MLD_MELDING_EINDDATUM,'DAY') mld_eind_dag,
fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') opdracht_einddatum,
to_char(fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN'),'DAY') opdr_eind_dag
from mld_opdr o, mld_melding m
where o.mld_melding_key = m.mld_melding_key
and abs(fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM) < 5
and abs(fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM) <> 0
and O.MLD_STATUSOPDR_KEY not in (1,6)
AND m.mld_melding_status IN (4, 7)
order by fac.datumtijdplusuitvoertijd(o.mld_opdr_datumbegin, o.mld_opdr_dagen, 'DAGEN') - M.MLD_MELDING_EINDDATUM, m.mld_melding_key;
COMMIT;
SPOOL OFF;