-- -- $Id$ -- -- Customer specific once-script BLCC#58361.SQL. DEFINE thisfile = 'BLCC#58361.SQL' DEFINE dbuser = '^BLCC' 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 ------ -- BLCC#58361: Ipv. propertymanager voortaan eerste goedkeurder (en anders de -- propertymanager)! CREATE OR REPLACE VIEW blcc_v_rap_maand_ordafm ( maand, prefix, opdr_key, opdr, kpn, kplaats_nr, kplaats_oms, --corr_kplaats, ksoort_code, ksoort_oms, --org_ksoort, propertymanager, -- BLCC#58361: Voortaan eerste goedkeurder! gebouw_terrein, verdieping, ruimte, vakgroep, melding, melder, omschrijving, opmerking, aanmaak, gepland, gereed, uitv_key, uitvoerende, contactpersoon, kosten, fclt_3d_afdeling_key ) AS SELECT TO_CHAR (SYSDATE, 'yyyy-mm'), a.prefix, a.mld_opdr_key, a.opdracht, COALESCE (a.prs_kostenplaatsgrp_nr, SUBSTR (a.kdrager, 1, 5)) kpn, a.kdrager, a.kdrager_oms, a.ksoort, a.ksoort_oms, --a.propertymanager, COALESCE ((SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = ordgoe.prs_perslid_key), a.propertymanager) goedkeurder, a.gebouw_terrein, a.verdieping, a.ruimte, a.vakgroep, a.melding, a.melder, a.oms, a.opm, a.datum_aanmaak, a.datum_gepland, a.datum_gereed, a.prs_bedrijf_key, a.bedrijf, a.cp, COALESCE (a.kosten, 0), b.afdeling FROM (SELECT o.mld_opdr_key, COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key) gebter_key, sd.ins_srtdiscipline_prefix prefix, o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht, kpg.prs_kostenplaatsgrp_nr, kp.prs_kostenplaats_nr kdrager, kp.prs_kostenplaats_omschrijving kdrager_oms, COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) ksoort, DECODE (ksm.prs_kostensoort_oms, NULL, ksv.prs_kostensoort_opmerking, ksm.prs_kostensoort_opmerking) ksoort_oms, pm.prs_perslid_naam_full propertymanager, COALESCE (og.alg_terreinsector_code, og.alg_gebouw_code) gebouw_terrein, og.alg_verdieping_code verdieping, og.alg_ruimte_nr ruimte, td.ins_discipline_omschrijving vakgroep, sm.mld_stdmelding_omschrijving melding, pf.prs_perslid_naam_full melder, o.mld_opdr_omschrijving oms, o.mld_opdr_opmerking opm, o.mld_opdr_datumbegin datum_aanmaak, -- Of verzonden? --fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin, m.mld_melding_t_uitvoertijd.tijdsduur, m.mld_melding_t_uitvoertijd.eenheid) o.mld_opdr_einddatum datum_gepland, fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) datum_gereed, b.prs_bedrijf_key, b.prs_bedrijf_naam bedrijf, o.mld_opdr_contactpersoon cp, o.mld_opdr_kosten kosten FROM mld_opdr o, prs_bedrijf b, mld_melding m, prs_v_perslid_fullnames_all pf, alg_v_allonrgoed_gegevens og, alg_gebouw g, prs_v_perslid_fullnames pm, mld_stdmelding sm, ins_tab_discipline td, ins_srtdiscipline sd, prs_kostensoort ksm, prs_kostensoort ksv, prs_kostenplaats kp, prs_kostenplaatsgrp kpg WHERE o.mld_typeopdr_key = 101 -- Alleen Werkopdrachten??? AND o.mld_statusopdr_key = 6 -- Afgemeld??? AND o.mld_uitvoerende_keys = b.prs_bedrijf_key AND o.mld_melding_key = m.mld_melding_key AND m.prs_perslid_key = pf.prs_perslid_key AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys AND og.alg_gebouw_key = g.alg_gebouw_key(+) AND g.prs_perslid_key_verantw = pm.prs_perslid_key(+) AND m.mld_stdmelding_key = sm.mld_stdmelding_key AND sm.mld_ins_discipline_key = td.ins_discipline_key AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+) AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) a LEFT JOIN ( SELECT o.mld_opdr_key, MAX (p.prs_afdeling_key) afdeling FROM mld_opdr o, prs_bedrijf b, prs_contactpersoon cp, prs_perslid p WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key AND b.prs_bedrijf_key = cp.prs_bedrijf_key AND cp.prs_perslid_key = p.prs_perslid_key GROUP BY o.mld_opdr_key) b ON a.mld_opdr_key = b.mld_opdr_key LEFT JOIN ( SELECT t.fac_tracking_refkey, t.prs_perslid_key -- Bah! FROM fac_tracking t WHERE t.fac_srtnotificatie_key = 60 -- ORDUPD AND UPPER (t.fac_tracking_oms) LIKE 'OPDRACHT IS GOEDGEKEURD DOOR%' AND NOT EXISTS (SELECT 1 FROM fac_tracking WHERE fac_srtnotificatie_key = 60 -- ORDUPD AND UPPER (fac_tracking_oms) LIKE 'OPDRACHT IS GOEDGEKEURD DOOR%' AND fac_tracking_refkey = t.fac_tracking_refkey AND fac_tracking_key < t.fac_tracking_key)) ordgoe ON a.mld_opdr_key = ordgoe.fac_tracking_refkey; ------ payload end ------ SET DEFINE OFF BEGIN adm.systrackscriptId ('$Id$', 1); END; / COMMIT; SET ECHO OFF SPOOL OFF SET DEFINE ON PROMPT Logfile of this upgrade is: &fcltlogfile