-- -- $Id$ -- -- Opschonen technisch adressen tbv opdrachten. Alles op 'Geen/Overige opdrachten' & dubbelingen verwijderd. DEFINE thisfile = 'PCHW#53258' DEFINE dbuser = '^PCHW' DEFINE custid = '^PCHW' SET ECHO ON SET DEFINE ON COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT; WHENEVER SQLERROR EXIT; SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL; WHENEVER SQLERROR CONTINUE; SPOOL &fcltlogfile SET DEFINE OFF ------ payload begin ------ -- Dit zet de instelling op 'Geen/Overige opdrachten' wanneer 1 technische adressen is obv Opdracht UPDATE prs_bedrijfadres SET mld_typeopdr_key = NULL WHERE prs_bedrijf_key IN (SELECT a.prs_bedrijf_key FROM ( SELECT ta.prs_bedrijf_key, COUNT (ta.prs_bedrijf_key) AS aantal FROM prs_bedrijfadres ta WHERE ta.prs_bedrijfadres_type = 'O' GROUP BY ta.prs_bedrijf_key ORDER BY ta.prs_bedrijf_key) telling, prs_bedrijfadres a WHERE a.prs_bedrijf_key = telling.prs_bedrijf_key AND telling.aantal = 1 AND a.prs_bedrijfadres_type = 'O' AND mld_typeopdr_key IS NOT NULL); -- Dit verwijder de technische adressen die ingesteld staan op anders dan 'Geen/Overige opdrachten' wanneer er meer dan 1 technische adressen is obv Opdracht DELETE FROM prs_bedrijfadres WHERE prs_bedrijf_key IN (SELECT a.prs_bedrijf_key FROM ( SELECT ta.prs_bedrijf_key, COUNT (ta.prs_bedrijf_key) AS aantal FROM prs_bedrijfadres ta WHERE ta.prs_bedrijfadres_type = 'O' GROUP BY ta.prs_bedrijf_key ORDER BY ta.prs_bedrijf_key) telling, ( SELECT ta.prs_bedrijf_key, COUNT (ta.prs_bedrijfadres_xsl) AS aantal, ta.prs_bedrijfadres_xsl FROM prs_bedrijfadres ta WHERE ta.prs_bedrijfadres_type = 'O' GROUP BY ta.prs_bedrijf_key, ta.prs_bedrijfadres_xsl ORDER BY prs_bedrijf_key) xsl, ( SELECT ta.prs_bedrijf_key, COUNT (ta.prs_bedrijfadres_attachfile) AS aantal, ta.prs_bedrijfadres_attachfile FROM prs_bedrijfadres ta WHERE ta.prs_bedrijfadres_type = 'O' GROUP BY ta.prs_bedrijf_key, ta.prs_bedrijfadres_attachfile ORDER BY prs_bedrijf_key) attachfile, ( SELECT ta.prs_bedrijf_key, COUNT (ta.prs_bedrijfadres_ordermode) AS aantal, ta.prs_bedrijfadres_ordermode FROM prs_bedrijfadres ta WHERE ta.prs_bedrijfadres_type = 'O' GROUP BY ta.prs_bedrijf_key, ta.prs_bedrijfadres_ordermode ORDER BY prs_bedrijf_key) ordermode, ( SELECT ta.prs_bedrijf_key, COUNT (ta.prs_bedrijfadres_url) AS aantal, ta.prs_bedrijfadres_url FROM prs_bedrijfadres ta WHERE ta.prs_bedrijfadres_type = 'O' GROUP BY ta.prs_bedrijf_key, ta.prs_bedrijfadres_url ORDER BY prs_bedrijf_key) url, prs_bedrijfadres a WHERE a.prs_bedrijf_key = telling.prs_bedrijf_key AND telling.aantal > 1 AND a.prs_bedrijfadres_type = 'O' AND a.mld_typeopdr_key IS NOT NULL AND url.prs_bedrijf_key = a.prs_bedrijf_key AND url.aantal > 1 AND xsl.prs_bedrijf_key = a.prs_bedrijf_key AND xsl.aantal > 1 AND ordermode.prs_bedrijf_key = a.prs_bedrijf_key AND ordermode.aantal > 1 AND attachfile.prs_bedrijf_key = a.prs_bedrijf_key AND attachfile.aantal > 1) AND prs_bedrijfadres_type = 'O' AND mld_typeopdr_key IS NOT NULL; UPDATE prs_bedrijfadres SET prs_bedrijfadres_attachfile = 'Alg. inkoopvoorwaarden PCH IFMS.pdf' WHERE prs_bedrijfadres_type = 'O' AND SUBSTR (prs_bedrijfadres_url, 1, 7) = 'mailto:' AND (prs_bedrijfadres_attachfile <> 'Alg. inkoopvoorwaarden PCH IFMS.pdf' OR prs_bedrijfadres_attachfile IS NULL); ------ payload end ------ SET DEFINE OFF BEGIN adm.systrackscriptid('$Id$'); END; / COMMIT; SET ECHO OFF SPOOL OFF SET DEFINE ON PROMPT Logfile of this upgrade is: &fcltlogfile