MDUX#36777

svn path=/Customer/; revision=29642
This commit is contained in:
Ruud Lipper
2016-06-06 14:53:21 +00:00
parent e120610ed6
commit 45e160110a

74
onces/MDUX/MDUX#36777.sql Normal file
View File

@@ -0,0 +1,74 @@
-- Customer specific once-script MDUX#36777.
SET ECHO ON
SPOOL xMDUX#36777.lst
SET DEFINE OFF
-- verwijder alle artikelen met verwijderde leveranciers die ook bestaan met niet verwijderde leveranciers
UPDATE bes_srtdeel
SET bes_srtdeel_verwijder = SYSDATE
WHERE bes_srtdeel_key IN
(SELECT srt.bes_srtdeel_key
FROM bes_srtdeel srt,
prs_bedrijf b,
(SELECT bes_srtdeel_key,
bes_srtgroep_key,
bes_srtdeel_omschrijving,
bes_srtdeel_nr,
b.prs_bedrijf_naam,
b.prs_bedrijf_verwijder
FROM bes_srtdeel srt, prs_bedrijf b
WHERE bes_srtdeel_verwijder IS NULL
AND b.prs_bedrijf_key = srt.prs_bedrijf_key
AND b.prs_bedrijf_verwijder IS NULL) b2
WHERE bes_srtdeel_verwijder IS NULL
AND b.prs_bedrijf_key = srt.prs_bedrijf_key
AND b.prs_bedrijf_verwijder IS NOT NULL
AND b2.bes_srtdeel_nr = srt.bes_srtdeel_nr
AND UPPER (b2.prs_bedrijf_naam) = UPPER (b.prs_bedrijf_naam)
AND srt.bes_srtgroep_key = b2.bes_srtgroep_key);
COMMIT;
-- Verwijder een van de dubbele artikelen zonder leverancier
UPDATE bes_srtdeel
SET bes_srtdeel_verwijder = SYSDATE
WHERE bes_srtdeel_key IN
( SELECT MIN (srt.bes_srtdeel_key)
FROM bes_srtdeel srt, prs_bedrijf b, prs_v_aanwezigbedrijf b2
WHERE bes_srtdeel_verwijder IS NULL
AND b.prs_bedrijf_key = srt.prs_bedrijf_key
AND b.prs_bedrijf_verwijder IS NOT NULL
AND UPPER (b2.prs_bedrijf_naam) = UPPER (b.prs_bedrijf_naam)
GROUP BY bes_srtdeel_nr,
bes_srtdeel_omschrijving,
bes_srtgroep_key,
b2.prs_bedrijf_key
HAVING COUNT ( * ) > 1);
COMMIT;
-- update arikelen met een verwijderde leverancier naar een gelijke leveranicer die nog niet is verwijderd
UPDATE bes_srtdeel sd
SET prs_bedrijf_key =
( SELECT b2.prs_bedrijf_key
FROM bes_srtdeel srt, prs_bedrijf b, prs_v_aanwezigbedrijf b2
WHERE bes_srtdeel_verwijder IS NULL
AND b.prs_bedrijf_key = srt.prs_bedrijf_key
AND b.prs_bedrijf_verwijder IS NOT NULL
AND UPPER (b2.prs_bedrijf_naam) = UPPER (b.prs_bedrijf_naam)
AND sd.bes_srtdeel_key = srt.bes_srtdeel_key)
WHERE EXISTS
( SELECT 1
FROM bes_srtdeel srt, prs_bedrijf b, prs_v_aanwezigbedrijf b2
WHERE bes_srtdeel_verwijder IS NULL
AND b.prs_bedrijf_key = srt.prs_bedrijf_key
AND b.prs_bedrijf_verwijder IS NOT NULL
AND UPPER (b2.prs_bedrijf_naam) = UPPER (b.prs_bedrijf_naam)
AND sd.bes_srtdeel_key = srt.bes_srtdeel_key);
COMMIT;
BEGIN adm.systrackscriptId('$Id$'); END;
/
SPOOL OFF