-- -- $Id$ -- -- Customer specific once-script BLCC#71247.sql. DEFINE thisfile = 'BLCC#71247.sql' DEFINE dbuser = '^BLCC' SET ECHO ON SET DEFINE ON COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT; COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT; WHENEVER SQLERROR CONTINUE; SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL; SPOOL &fcltlogfile WHENEVER SQLERROR EXIT; SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL; WHENEVER SQLERROR CONTINUE; PROMPT &fcltcusterr SET DEFINE OFF ------ payload begin ------ -- BLCC#71247: Tabel met historische ALG-ruimtegegevens. CREATE TABLE blcc_alg_freeze ( freeze_datum DATE, alg_ruimte_key NUMBER (10), locatiecode VARCHAR2 (20), gebouwcode VARCHAR2 (20), verdiepingcode VARCHAR2 (20), ruimtenummer VARCHAR2 (20), ruimtefunctie VARCHAR2 (60), nvo NUMBER(8,2), -- alg_ruimte_bruto_vloeropp nvo_getekend NUMBER(8,2), vvo NUMBER(8,2), -- alg_ruimte_opp_alt1 vvo_getekend NUMBER(8,2), lhkotc_class VARCHAR2 (60), basic_tarief NUMBER(16,5), premium_tarief NUMBER(16,5), excellent_tarief NUMBER(16,5), sch_maand VARCHAR2 (10), -- Maand voor freeze_datum sch_tariefniveau VARCHAR2 (1000), -- Basic/Premium/Excellent sch_contract VARCHAR2 (1000), -- Aan ruimte gekoppeld(e) Schoonmaakcontract(en) 2981/2501/2982=Soft Services Cleaning Basic/Premium/Excellent sch_mantel VARCHAR2 (1000), -- Aan ruimte gekoppeld(e) Schoonmaakmantel(s) huur_maand VARCHAR2 (10), -- Maand na freeze_datum huur_contract VARCHAR2 (1000) -- Aan ruimte gekoppeld(e) Huurcontract(en) 2122/2123=LA/LA CRF ); /* SELECT SYSDATE freeze_datum, r.alg_ruimte_key, l.alg_locatie_code, g.alg_gebouw_code, v.alg_verdieping_code, r.alg_ruimte_nr, sr.alg_srtruimte_omschrijving, r.alg_ruimte_bruto_vloeropp nvo, tekcont.cad_imp_contour_opp nvo_getekend, r.alg_ruimte_opp_alt1 vvo, tekcont.cad_imp_contour_opp_alt1 vvo_getekend, lhkotc.waarde lhkotc_class, type_vloer.waarde type_vloer, fac.safe_to_number (basic.waarde) basic_tarief, fac.safe_to_number (premium.waarde) premium_tarief, fac.safe_to_number (excellent.waarde) excellent_tarief, TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy-mm') sch_maand, csch.sch_tariefniveau_lijst sch_tariefniveau, csch.sch_cnt_lijst sch_contract, csch.sch_mantel_lijst sch_mantel, TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy-mm') huur_maand, chuur.huur_cnt_lijst huur_contract FROM alg_v_aanwezigruimte r, alg_verdieping v, alg_gebouw g, alg_locatie l, alg_srtruimte sr, (SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1460 -- NVO AND alg_onrgoed_niveau = 'R') nvo, --cad_tekening tek, --(SELECT * FROM cad_tekening WHERE cad_tekening_verwijder IS NULL) tek, --cad_imp_contour cont, --(SELECT * FROM cad_imp_contour WHERE cad_imp_contour_concept = 0 AND prj_scenario_key IS NULL) cont, (SELECT tek.alg_verdieping_key, cont.cad_imp_contour_nr, cont.cad_imp_contour_opp, cont.cad_imp_contour_opp_alt1 FROM cad_tekening tek, cad_imp_contour cont WHERE cad_tekening_verwijder IS NULL AND tek.alg_verdieping_key = cont.cad_tekening_key AND cont.cad_imp_contour_concept = 0 AND cont.prj_scenario_key IS NULL) tekcont, (SELECT alg_onrgoed_key, ud.fac_usrdata_omschr waarde FROM alg_v_aanwezigonrgoedkenmerk ok, fac_v_aanwezigusrdata ud WHERE ok.alg_kenmerk_key = 1100 -- LHKOTC Classificatie AND ok.alg_onrgoed_niveau = 'R' AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key) lhkotc, (SELECT alg_onrgoed_key, ud.fac_usrdata_omschr waarde FROM alg_v_aanwezigonrgoedkenmerk ok, fac_v_aanwezigusrdata ud WHERE ok.alg_kenmerk_key = 1301 -- Type vloer AND ok.alg_onrgoed_niveau = 'R' AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key) type_vloer, (SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1540 -- Schoonmaaktarief Basic AND alg_onrgoed_niveau = 'R') basic, (SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1541 -- Schoonmaaktarief Premium AND alg_onrgoed_niveau = 'R') premium, (SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde FROM alg_v_aanwezigonrgoedkenmerk WHERE alg_kenmerk_key = 1542 -- Schoonmaaktarief Excellent AND alg_onrgoed_niveau = 'R') excellent, ( SELECT c2r.alg_ruimte_key, LISTAGG (DISTINCT DECODE (c.ins_discipline_key, 2981, 'Basic', 2501, 'Premium', 'Excellent'), ',') WITHIN GROUP (ORDER BY DECODE (c.ins_discipline_key, 2981, 'Basic', 2501, 'Premium', 'Excellent')) sch_tariefniveau_lijst, LISTAGG (DISTINCT TO_CHAR (c.cnt_contract_key) || '=' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || '|' || cd.ins_discipline_omschrijving || '|' || b.prs_overeenkomst_nr || '|' || b.prs_bedrijf_naam, ',') WITHIN GROUP (ORDER BY TO_CHAR (c.cnt_contract_key) || '=' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || '|' || cd.ins_discipline_omschrijving || '|' || b.prs_overeenkomst_nr || '|' || b.prs_bedrijf_naam) sch_cnt_lijst, LISTAGG (DISTINCT TO_CHAR (mc.cnt_contract_key) || '=' || mc.cnt_contract_nummer_intern || '.' || COALESCE (mc.cnt_contract_versie, '0') || '|' || mc.cnt_contract_omschrijving, ',') WITHIN GROUP (ORDER BY TO_CHAR (mc.cnt_contract_key) || '=' || mc.cnt_contract_nummer_intern || '.' || COALESCE (mc.cnt_contract_versie, '0') || '|' || mc.cnt_contract_omschrijving) sch_mantel_lijst FROM cnt_v_aanwezigcontract c, cnt_discipline cd, prs_bedrijf b, cnt_v_aanwezigcontract mc, (SELECT cp.cnt_contract_key, r.alg_ruimte_key FROM cnt_contract_plaats cp, alg_ruimte r WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'R' AND cp.cnt_alg_plaats_key = r.alg_ruimte_key UNION SELECT cp.cnt_contract_key, r.alg_ruimte_key FROM cnt_contract_plaats cp, alg_ruimte r WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'V' AND cp.cnt_alg_plaats_key = r.alg_verdieping_key UNION SELECT cp.cnt_contract_key, r.alg_ruimte_key FROM cnt_contract_plaats cp, alg_verdieping v, alg_ruimte r WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key = v.alg_gebouw_key AND v.alg_verdieping_key = r.alg_verdieping_key) c2r -- Contract2Ruimte WHERE c.ins_discipline_key IN (2981, 2501, 2982) -- Soft Services Cleaning Basic/Premium/Excellent AND TRUNC (ADD_MONTHS (SYSDATE, -1), 'mm') >= TRUNC(c.cnt_contract_looptijd_van) AND TRUNC (ADD_MONTHS (SYSDATE, -1), 'mm') < TRUNC(c.cnt_contract_looptijd_tot + 1) -- Voorgaande maand actief (want op 1/4 wordt maart geschoonmaakfactureerd)! AND c.cnt_contract_status = 0 -- Definitief AND c.ins_discipline_key = cd.ins_discipline_key AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key AND c.cnt_contract_mantel_key = mc.cnt_contract_key(+) AND c.cnt_contract_key = c2r.cnt_contract_key GROUP BY c2r.alg_ruimte_key) csch, -- Schoonmaakcontracten per ruimte (via scope gekoppeld) ( SELECT c2r.alg_ruimte_key, LISTAGG (DISTINCT TO_CHAR (c.cnt_contract_key) || '=' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0'), ',') WITHIN GROUP (ORDER BY TO_CHAR (c.cnt_contract_key) || '=' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0')) huur_cnt_lijst FROM cnt_v_aanwezigcontract c, (SELECT cp.cnt_contract_key, r.alg_ruimte_key FROM cnt_contract_plaats cp, alg_v_aanwezigruimte r WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'R' AND cp.cnt_alg_plaats_key = r.alg_ruimte_key UNION SELECT cp.cnt_contract_key, r.alg_ruimte_key FROM cnt_contract_plaats cp, alg_v_aanwezigruimte r WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'V' AND cp.cnt_alg_plaats_key = r.alg_verdieping_key UNION SELECT cp.cnt_contract_key, r.alg_ruimte_key FROM cnt_contract_plaats cp, alg_verdieping v, alg_v_aanwezigruimte r WHERE cp.cnt_contract_plaats_verwijder IS NULL AND cp.cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key = v.alg_gebouw_key AND v.alg_verdieping_key = r.alg_verdieping_key) c2r -- Contract2Ruimte WHERE c.ins_discipline_key IN (2122, 2123) -- LA/LA CRF AND TRUNC (ADD_MONTHS (SYSDATE, 1), 'mm') >= TRUNC(c.cnt_contract_looptijd_van) AND TRUNC (ADD_MONTHS (SYSDATE, 1), 'mm') < TRUNC(c.cnt_contract_looptijd_tot + 1) -- Volgende maand actief (want op 1/4 wordt mei gehuurfactureerd)! AND c.cnt_contract_status = 0 -- Definitief AND c.cnt_contract_key = c2r.cnt_contract_key GROUP BY c2r.alg_ruimte_key) chuur -- Huurcontracten per ruimte (via scope gekoppeld) WHERE r.alg_verdieping_key = v.alg_verdieping_key AND v.alg_gebouw_key = g.alg_gebouw_key AND g.alg_locatie_key = l.alg_locatie_key AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+) AND r.alg_ruimte_key = nvo.alg_onrgoed_key(+) --AND r.alg_verdieping_key = tek.alg_verdieping_key(+) --AND r.alg_ruimte_nr = cont.cad_imp_contour_nr(+) --AND cont.cad_tekening_key = tek.cad_tekening_key(+) AND r.alg_verdieping_key = tekcont.alg_verdieping_key(+) AND r.alg_ruimte_nr = tekcont.cad_imp_contour_nr(+) AND r.alg_ruimte_key = lhkotc.alg_onrgoed_key(+) AND r.alg_ruimte_key = type_vloer.alg_onrgoed_key(+) AND r.alg_ruimte_key = basic.alg_onrgoed_key(+) AND r.alg_ruimte_key = premium.alg_onrgoed_key(+) AND r.alg_ruimte_key = excellent.alg_onrgoed_key(+) AND r.alg_ruimte_key = chuur.alg_ruimte_key(+) AND r.alg_ruimte_key = csch.alg_ruimte_key(+); */ ------ 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