-- Script containing customer specific configuration sql statements for BAMG: BAM Groep
-- (c) 2005-2007 Dijkoraad IT bv
-- $Revision$
-- $Id$
--
-- Support: +31 53 4800700

SPOOL BAMG.LST
SET ECHO ON

CREATE OR REPLACE VIEW bamg_v_telefoonlijst (naam,
                                             kamer,
                                             telefoon,
                                             email,
                                             fclt_f_werkmaatschappij,
                                             afdeling_niv_1,
                                             fclt_f_locatie
                                            )
AS
   SELECT prs_perslid_naam,
          pwp.alg_gebouw_code || pwp.alg_verdieping_code || pwp.alg_ruimte_nr, prs_perslid_telefoonnr,
          prs_perslid_email,
          af1.prs_afdeling_omschrijving,
          af2.prs_afdeling_naam, alg_locatie_code
     FROM prs_v_aanwezigperslid p,
          prs_v_perslidwerkplek_gegevens pwp,
          prs_v_afdeling_boom a,
          prs_afdeling af1,
          prs_afdeling af2,
          alg_locatie l
    WHERE p.prs_perslid_key = pwp.prs_perslid_key(+)
      AND p.prs_afdeling_key = a.prs_afdeling_key
      AND a.prs_afdeling_key1 = af1.prs_afdeling_key
      AND a.prs_afdeling_key2 = af2.prs_afdeling_key(+)
      AND pwp.alg_locatie_key = l.alg_locatie_key(+);

--FSN#1410

/* Formatted on 2007/06/21 17:07 (Formatter Plus v4.8.7) */
CREATE OR REPLACE VIEW bamg_v_contractoverzicht (contract_nummer,
                                                 locatie_code,
                                                 fclt_f_locatie_omschrijving,
                                                 beschrijving,
                                                 fclt_f_contract_soort,
                                                 ingangsdatum,
                                                 rappeldatum,
                                                 opzegdatum,
                                                 einddatum,
                                                 fclt_f_relatie,
                                                 contactpersoon,
                                                 naamonderverhuurder,
                                                 peildatum_persoonsgegevens,
                                                 fte_kantoor,
                                                 personen_kantoor,
                                                 perceel_opp,
                                                 vvo_kantoor,
                                                 vvo_bedrijfsruimte,
                                                 parkeerplaatsen,
                                                 data_breekopties,
                                                 optieperioden,
                                                 huidige_contractsom,
                                                 per_datum,
                                                 geldig,
                                                 restwaarde_koopprijs,
                                                 perceel_opp_zelf,
                                                 vvo_kantoor_zelf,
                                                 vvo_bedrijfsr_zelf,
                                                 parkeerplaatsen_zelf,
                                                 perceel_opp_leeg,
                                                 vvo_kantoor_leeg,
                                                 vvo_bedrijfsr_leeg,
                                                 parkeerplaatsen_leeg,
                                                 lopende_acties,
                                                 verantwoordelijke,
                                                 verantwoordelijke_tel,
                                                 naam_makelaar,
                                                 peildatum,
                                                 per_m2_grond,
                                                 per_m2_vvo_kantoor,
                                                 per_m2_vvo_bedrijfsr,
                                                 per_parkeerplaats,
                                                 referentie_1,
                                                 referentie_2,
                                                 break1,
                                                 break2,
                                                 break3,
                                                 hide_f_break1,
                                                 hide_f_break2,
                                                 hide_f_break3,
                                                 fclt_f_actief,
                                                 opmerking,
                                                 regio,
                                                 hide_f_alg_locatie_key,
                                                 hide_f_cnt_contract_key,
                                                 wm,
                                                 hide_f_opzeg_verlopen,
                                                 hide_f_eind_verlopen
                                                )
AS
   SELECT c.cnt_contract_nummer_intern contract_nummer,
          l.alg_locatie_code,
          l.alg_locatie_omschrijving,
          c.cnt_contract_omschrijving beschrijving,
          (SELECT sc.ins_discipline_omschrijving
             FROM cnt_discipline sc
            WHERE sc.ins_discipline_key = c.ins_discipline_key)
                                                               contract_soort,
          TO_CHAR (c.cnt_contract_looptijd_van, 'DD-MM-YYYY') ingangsdatum,
          TO_CHAR (cnt.cnt_getRappeldatum(c.cnt_contract_key), 'DD-MM-YYYY') rappeldatum,
          TO_CHAR (cnt.cnt_getOpzegdatum(c.cnt_contract_key), 'DD-MM-YYYY') opzegdatum,
          TO_CHAR (c.cnt_contract_looptijd_tot, 'DD-MM-YYYY') einddatum,
          (SELECT prs_bedrijf_naam
             FROM prs_bedrijf b
            WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key) relatie,
          (SELECT prs_contactpersoon_naam
             FROM prs_contactpersoon cp
            WHERE cp.prs_contactpersoon_key =
                                      c.prs_contactpersoon_key)
                                                               contactpersoon,
          (SELECT prs_bedrijf_naam
             FROM prs_bedrijf b,
                  cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) =
                                                               prs_bedrijf_key
              AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 1) naamonderverhuurder,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 2) peildatum_persoonsgegevens,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 3),
              0
             ) fte_kantoor,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 4),
              0
             ) personen_kantoor,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 6),
              0
             ) perceel_opp,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 7),
              0
             ) vvo_kantoor,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 8),
              0
             ) vvo_bedrijfsruimte,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 9),
              0
             ) parkeerplaatsen,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 10) data_breekopties,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 11) optieperioden,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 12) huidige_contractsom,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 13) per_datum,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 14) geldig,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 15) restwaarde_koopprijs,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 17),
              0
             ) perceel_opp_zelf,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 18),
              0
             ) vvo_kantoor_zelf,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 19),
              0
             ) vvo_bedrijfsr_zelf,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 20),
              0
             ) parkeerplaatsen_zelf,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 22),
              0
             ) perceel_opp_leeg,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 23),
              0
             ) vvo_kantoor_leeg,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 24),
              0
             ) vvo_bedrijfsr_leeg,
          NVL
             ((SELECT fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
                 FROM cnt_kenmerkcontract kc, cnt_kenmerk k,
                      cnt_srtkenmerk sk
                WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                  AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                  AND kc.cnt_contract_key = c.cnt_contract_key
                  AND sk.cnt_srtkenmerk_key = 25),
              0
             ) parkeerplaatsen_leeg,
          (SELECT ud.fac_usrdata_omschr
             FROM fac_usrdata ud,
                  cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE kc.cnt_kenmerkcontract_waarde = fac_usrdata_key
              AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 26) lopende_acties,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 27) verantwoordelijke,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 28) verantwoordelijke_tel,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 29) naam_makelaar,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 31) peildatum,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 32) per_m2_grond,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 33) per_m2_vvo_kantoor,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 34) per_m2_vvo_bedrijfsr,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 35) per_parkeerplaats,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 37) referentie_1,
          (SELECT kc.cnt_kenmerkcontract_waarde
             FROM cnt_kenmerkcontract kc,
                  cnt_kenmerk k,
                  cnt_srtkenmerk sk
            WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
              AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
              AND kc.cnt_contract_key = c.cnt_contract_key
              AND sk.cnt_srtkenmerk_key = 38) referentie_2,
          NVL ((SELECT kc.cnt_kenmerkcontract_waarde
                  FROM cnt_kenmerkcontract kc,
                       cnt_kenmerk k,
                       cnt_srtkenmerk sk
                 WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                   AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                   AND kc.cnt_contract_key = c.cnt_contract_key
                   AND sk.cnt_srtkenmerk_key = 61),
               '') break1,
          NVL ((SELECT kc.cnt_kenmerkcontract_waarde
                  FROM cnt_kenmerkcontract kc,
                       cnt_kenmerk k,
                       cnt_srtkenmerk sk
                 WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                   AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                   AND kc.cnt_contract_key = c.cnt_contract_key
                   AND sk.cnt_srtkenmerk_key = 62),
               '') break2,
          NVL ((SELECT kc.cnt_kenmerkcontract_waarde
                  FROM cnt_kenmerkcontract kc,
                       cnt_kenmerk k,
                       cnt_srtkenmerk sk
                 WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                   AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                   AND kc.cnt_contract_key = c.cnt_contract_key
                   AND sk.cnt_srtkenmerk_key = 63),
               '') break3,
          NVL ((SELECT TO_DATE (kc.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
                  FROM cnt_kenmerkcontract kc,
                       cnt_kenmerk k,
                       cnt_srtkenmerk sk
                 WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                   AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                   AND kc.cnt_contract_key = c.cnt_contract_key
                   AND sk.cnt_srtkenmerk_key = 61),
               TO_DATE ('50000101', 'yyyymmdd')
              ) hide_f_break1,
          NVL ((SELECT TO_DATE (kc.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
                  FROM cnt_kenmerkcontract kc,
                       cnt_kenmerk k,
                       cnt_srtkenmerk sk
                 WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                   AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                   AND kc.cnt_contract_key = c.cnt_contract_key
                   AND sk.cnt_srtkenmerk_key = 62),
               TO_DATE ('50000101', 'yyyymmdd')
              ) hide_f_break2,
          NVL ((SELECT TO_DATE (kc.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
                  FROM cnt_kenmerkcontract kc,
                       cnt_kenmerk k,
                       cnt_srtkenmerk sk
                 WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                   AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                   AND kc.cnt_contract_key = c.cnt_contract_key
                   AND sk.cnt_srtkenmerk_key = 63),
               TO_DATE ('50000101', 'yyyymmdd')
              ) hide_f_break3,
          NVL ((SELECT ud.FAC_USRDATA_OMSCHR
                  FROM cnt_kenmerkcontract kc,
                       fac_usrdata ud,
                       cnt_kenmerk k,
                       cnt_srtkenmerk sk
                 WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                   AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                   AND fac.safe_to_number(kc.cnt_kenmerkcontract_waarde) = ud.fac_usrdata_key
                   AND kc.cnt_contract_key = c.cnt_contract_key
                   AND sk.cnt_srtkenmerk_key = 81),'Ja') fclt_f_actief,
         NVL ((SELECT kc.cnt_kenmerkcontract_waarde
                  FROM cnt_kenmerkcontract kc,
                       cnt_kenmerk k,
                       cnt_srtkenmerk sk
                 WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                   AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                   AND kc.cnt_contract_key = c.cnt_contract_key
                   AND sk.cnt_srtkenmerk_key = 85),'') opmerking,
         NVL ((SELECT kc.cnt_kenmerkcontract_waarde
                  FROM cnt_kenmerkcontract kc,
                       cnt_kenmerk k,
                       cnt_srtkenmerk sk
                 WHERE k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
                   AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                   AND kc.cnt_contract_key = c.cnt_contract_key
                   AND sk.cnt_srtkenmerk_key = 101),'') regio,
          l.alg_locatie_key hide_f_alg_locatie_key,
          c.cnt_contract_key hide_f_cnt_contract_key,
          (SELECT fud.fac_usrdata_code
             FROM prs_bedrijf b, prs_kenmerklink kl, fac_usrdata fud
            WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
              AND kl.prs_kenmerk_key = 1061
              AND kl.prs_link_key = b.prs_bedrijf_key
              AND kl.prs_kenmerklink_waarde = fud.fac_usrdata_key) wm,
          (select 1 from dual where cnt.cnt_getOpzegdatum(c.cnt_contract_key) < sysdate) HIDE_F_OPZEG_VERLOPEN,
          (select 1 from dual where cnt_contract_looptijd_tot < sysdate) HIDE_F_EIND_VERLOPEN
     FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cpl, alg_locatie l
    WHERE cpl.cnt_contract_key(+) = c.cnt_contract_key
          AND cpl.cnt_alg_plaats_key = l.alg_locatie_key(+);



CREATE OR REPLACE VIEW bamg_v_aanwezigcontract ( contract_nummer,
                                                 locatie_code,
                                                 fclt_f_locatie_omschrijving,
                                                 beschrijving,
                                                 fclt_f_contract_soort,
                                                 ingangsdatum,
                                                 rappeldatum,
                                                 opzegdatum,
                                                 einddatum,
                                                 fclt_f_relatie,
                                                 contactpersoon,
                                                 naamonderverhuurder,
                                                 peildatum_persoonsgegevens,
                                                 fte_kantoor,
                                                 personen_kantoor,
                                                 perceel_opp,
                                                 vvo_kantoor,
                                                 vvo_bedrijfsruimte,
                                                 parkeerplaatsen,
                                                 data_breekopties,
                                                 optieperioden,
                                                 huidige_contractsom,
                                                 per_datum,
                                                 geldig,
                                                 restwaarde_koopprijs,
                                                 perceel_opp_zelf,
                                                 vvo_kantoor_zelf,
                                                 vvo_bedrijfsr_zelf,
                                                 parkeerplaatsen_zelf,
                                                 perceel_opp_leeg,
                                                 vvo_kantoor_leeg,
                                                 vvo_bedrijfsr_leeg,
                                                 parkeerplaatsen_leeg,
                                                 lopende_acties,
                                                 verantwoordelijke,
                                                 verantwoordelijke_tel,
                                                 naam_makelaar,
                                                 peildatum,
                                                 per_m2_grond,
                                                 per_m2_vvo_kantoor,
                                                 per_m2_vvo_bedrijfsr,
                                                 per_parkeerplaats,
                                                 referentie_1,
                                                 referentie_2,
                                                 break1,
                                                 break2,
                                                 break3,
                                                 hide_f_break1,
                                                 hide_f_break2,
                                                 hide_f_break3,
                                                 fclt_f_actief,
                                                 opmerking,
                                                 regio,
                                                 hide_f_alg_locatie_key,
                                                 hide_f_cnt_contract_key,
                                                 wm,
                                                 hide_f_opzeg_verlopen,
                                                 hide_f_eind_verlopen
                                                )
AS
   SELECT contract_nummer, locatie_code, fclt_f_locatie_omschrijving,
          beschrijving, fclt_f_contract_soort, ingangsdatum, rappeldatum,
          opzegdatum, einddatum, fclt_f_relatie, contactpersoon,
          naamonderverhuurder, peildatum_persoonsgegevens, fte_kantoor,
          personen_kantoor, perceel_opp, vvo_kantoor, vvo_bedrijfsruimte,
          parkeerplaatsen, data_breekopties, optieperioden,
          huidige_contractsom, per_datum, geldig, restwaarde_koopprijs,
          perceel_opp_zelf, vvo_kantoor_zelf, vvo_bedrijfsr_zelf,
          parkeerplaatsen_zelf, perceel_opp_leeg, vvo_kantoor_leeg,
          vvo_bedrijfsr_leeg, parkeerplaatsen_leeg, lopende_acties,
          verantwoordelijke, verantwoordelijke_tel, naam_makelaar, peildatum,
          per_m2_grond, per_m2_vvo_kantoor, per_m2_vvo_bedrijfsr,
          per_parkeerplaats, referentie_1, referentie_2, break1, break2,
          break3, hide_f_break1, hide_f_break2,
          hide_f_break3,fclt_f_actief, opmerking, regio, hide_f_alg_locatie_key,
          hide_f_cnt_contract_key, wm, hide_f_opzeg_verlopen, hide_f_eind_verlopen
     FROM bamg_v_contractoverzicht
    WHERE fclt_f_actief = 'Ja';

CREATE OR REPLACE VIEW bamg_v_verlopencontract ( contract_nummer,
                                                 locatie_code,
                                                 fclt_f_locatie_omschrijving,
                                                 beschrijving,
                                                 fclt_f_contract_soort,
                                                 ingangsdatum,
                                                 rappeldatum,
                                                 opzegdatum,
                                                 einddatum,
                                                 fclt_f_relatie,
                                                 contactpersoon,
                                                 naamonderverhuurder,
                                                 peildatum_persoonsgegevens,
                                                 fte_kantoor,
                                                 personen_kantoor,
                                                 perceel_opp,
                                                 vvo_kantoor,
                                                 vvo_bedrijfsruimte,
                                                 parkeerplaatsen,
                                                 data_breekopties,
                                                 optieperioden,
                                                 huidige_contractsom,
                                                 per_datum,
                                                 geldig,
                                                 restwaarde_koopprijs,
                                                 perceel_opp_zelf,
                                                 vvo_kantoor_zelf,
                                                 vvo_bedrijfsr_zelf,
                                                 parkeerplaatsen_zelf,
                                                 perceel_opp_leeg,
                                                 vvo_kantoor_leeg,
                                                 vvo_bedrijfsr_leeg,
                                                 parkeerplaatsen_leeg,
                                                 lopende_acties,
                                                 verantwoordelijke,
                                                 verantwoordelijke_tel,
                                                 naam_makelaar,
                                                 peildatum,
                                                 per_m2_grond,
                                                 per_m2_vvo_kantoor,
                                                 per_m2_vvo_bedrijfsr,
                                                 per_parkeerplaats,
                                                 referentie_1,
                                                 referentie_2,
                                                 break1,
                                                 break2,
                                                 break3,
                                                 hide_f_break1,
                                                 hide_f_break2,
                                                 hide_f_break3,
                                                 fclt_f_actief,
                                                 opmerking,
                                                 regio,
                                                 hide_f_alg_locatie_key,
                                                 hide_f_cnt_contract_key,
                                                 wm,
                                                 hide_f_opzeg_verlopen,
                                                 hide_f_eind_verlopen
                                                )
AS
   SELECT contract_nummer, locatie_code, fclt_f_locatie_omschrijving,
          beschrijving, fclt_f_contract_soort, ingangsdatum, rappeldatum,
          opzegdatum, einddatum, fclt_f_relatie, contactpersoon,
          naamonderverhuurder, peildatum_persoonsgegevens, fte_kantoor,
          personen_kantoor, perceel_opp, vvo_kantoor, vvo_bedrijfsruimte,
          parkeerplaatsen, data_breekopties, optieperioden,
          huidige_contractsom, per_datum, geldig, restwaarde_koopprijs,
          perceel_opp_zelf, vvo_kantoor_zelf, vvo_bedrijfsr_zelf,
          parkeerplaatsen_zelf, perceel_opp_leeg, vvo_kantoor_leeg,
          vvo_bedrijfsr_leeg, parkeerplaatsen_leeg, lopende_acties,
          verantwoordelijke, verantwoordelijke_tel, naam_makelaar, peildatum,
          per_m2_grond, per_m2_vvo_kantoor, per_m2_vvo_bedrijfsr,
          per_parkeerplaats, referentie_1, referentie_2, break1, break2,
          break3, hide_f_break1, hide_f_break2,
          hide_f_break3,fclt_f_actief, opmerking, regio, hide_f_alg_locatie_key,
          hide_f_cnt_contract_key, wm, hide_f_opzeg_verlopen, hide_f_eind_verlopen
     FROM bamg_v_contractoverzicht
    WHERE fclt_f_actief = 'Nee';

CREATE OR REPLACE VIEW bamg_v_loc_overzicht_detail (alg_locatie_key,
                                                    alg_district_key,
                                                    alg_locatie_code,
                                                    alg_locatie_omschrijving,
                                                    alg_locatie_upper,
                                                    alg_locatie_aanmaak,
                                                    alg_locatie_verwijder,
                                                    alg_locatie_adres,
                                                    alg_locatie_postcode,
                                                    alg_locatie_plaats,
                                                    alg_locatie_land,
                                                    alg_locatie_post_adres,
                                                    alg_locatie_post_postcode,
                                                    alg_locatie_post_plaats,
                                                    alg_locatie_post_land,
                                                    alg_locatie_verantw,
                                                    alg_locatie_verantw_tel,
                                                    loc_vvo_kant,
                                                    loc_vvo_bedr,
                                                    loc_vvo_perc,
                                                    loc_park,
                                                    eigendom,
                                                    eig_totaal,
                                                    actief
                                                   )
AS
   SELECT alg_locatie_key, alg_district_key, alg_locatie_code,
          alg_locatie_omschrijving, alg_locatie_upper, alg_locatie_aanmaak,
          alg_locatie_verwijder, alg_locatie_adres, alg_locatie_postcode,
          alg_locatie_plaats, alg_locatie_land, alg_locatie_post_adres,
          alg_locatie_post_postcode, alg_locatie_post_plaats,
          alg_locatie_post_land, alg_locatie_verantw, alg_locatie_verantw_tel,
          NVL((SELECT ka.alg_onrgoedkenmerk_waarde
             FROM alg_onrgoedkenmerk ka
            WHERE ka.alg_kenmerk_key = 1011
              AND ka.alg_onrgoed_key = l.alg_locatie_key),0) loc_vvo_kant,
          NVL((SELECT ka.alg_onrgoedkenmerk_waarde
             FROM alg_onrgoedkenmerk ka
            WHERE ka.alg_kenmerk_key = 1012
              AND ka.alg_onrgoed_key = l.alg_locatie_key),0) loc_vvo_bedr,
          NVL((SELECT ka.alg_onrgoedkenmerk_waarde
             FROM alg_onrgoedkenmerk ka
            WHERE ka.alg_kenmerk_key = 1008
              AND ka.alg_onrgoed_key = l.alg_locatie_key),0) loc_vvo_perc,
          NVL((SELECT ka.alg_onrgoedkenmerk_waarde
             FROM alg_onrgoedkenmerk ka
            WHERE ka.alg_kenmerk_key = 1013
              AND ka.alg_onrgoed_key = l.alg_locatie_key),0) loc_park,
          (SELECT COUNT (*)
             FROM bamg_v_aanwezigcontract co
            WHERE fclt_f_contract_soort = 'Eigendom'
              AND co.hide_f_alg_locatie_key = l.alg_locatie_key) eigendom,
          (SELECT COUNT (*)
             FROM bamg_v_aanwezigcontract co
            WHERE fclt_f_contract_soort <> 'Onderhuur'
              AND co.hide_f_alg_locatie_key = l.alg_locatie_key) eig_totaal,
          NVL ((SELECT ud.FAC_USRDATA_OMSCHR
                  FROM alg_onrgoedkenmerk ka,
                       fac_usrdata ud
                 WHERE ka.alg_onrgoed_key = l.alg_locatie_key
                   AND fac.safe_to_number(ka.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key
                   AND ka.alg_kenmerk_key = 999),'Ja') actief
     FROM alg_v_aanweziglocatie l
    WHERE alg_locatie_verwijder IS NULL;


CREATE OR REPLACE VIEW bamg_v_overzicht_locatie_huur
(
   plaats,
   adres,
   code,
   alg_locatie_key,
   fu,
   gr,
   he,
   tn,
   it,
   ma,
   pe,
   ra,
   ub,
   am,
   ci,
   wb,
   we,
   i,
   ip,
   ic,
   int,
   ov,
   opp_kant,
   opp_bedr,
   opp_terr,
   park,
   ja,
   nee,
   deels,
   break1,
   break2,
   break3,
   einddatum,
   leeg_kant,
   leeg_bedr,
   leeg_perc,
   leeg_park,
   actief
)
AS
   SELECT alg_locatie_plaats,
          alg_locatie_adres,
          alg_locatie_code,
          alg_locatie_key,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'fu'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             fu,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'gr'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             gr,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'he'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             he,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'tn'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             tn,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'it'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             it,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'ma'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             ma,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'pe'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             pe,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'ra'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             ra,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'ub'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             ub,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'am'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             am,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'ci'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             ci,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'wb'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             wb,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'we'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             we,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'i'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             i,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'ip'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             ip,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'ic'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             ic,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm = 'in'
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             int,
          (SELECT COUNT ( * )
             FROM bamg_v_aanwezigcontract co
            WHERE wm IS NULL
              AND co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             ov,
          loc_vvo_kant,
          loc_vvo_bedr,
          loc_vvo_perc,
          loc_park,
          DECODE (eigendom,
                  0, '',
                  DECODE (eig_totaal - eigendom, 0, 'x', ''))
             eigendom,
          DECODE (eigendom, 0, 'x', '') geen_eigendom,
          DECODE (eigendom,
                  0, '',
                  DECODE (eig_totaal - eigendom, 0, '', 'x'))
             deels,
          (SELECT MIN (hide_f_break1)
             FROM bamg_v_aanwezigcontract co
            WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key
              AND co.hide_f_break1 > SYSDATE)
             break1,
          (SELECT MIN (hide_f_break2)
             FROM bamg_v_aanwezigcontract co
            WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key
              AND co.hide_f_break2 > SYSDATE)
             break2,
          (SELECT MIN (hide_f_break3)
             FROM bamg_v_aanwezigcontract co
            WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key
              AND co.hide_f_break3 > SYSDATE)
             break3,
          (SELECT MIN (TO_DATE (einddatum, 'dd-mm-yyyy'))
             FROM bamg_v_aanwezigcontract co
            WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key)
             einddatum,
          NVL (loc_vvo_kant, 0)
          - (SELECT NVL (SUM (vvo_kantoor_zelf), 0)
               FROM bamg_v_aanwezigcontract co
              WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key)
          - (SELECT NVL (SUM (co.vvo_kantoor), 0)
               FROM bamg_v_aanwezigcontract co
              WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key
                AND fclt_f_contract_soort = 'Onderhuur')
             kantoor_leeg,
          NVL (loc_vvo_bedr, 0)
          - (SELECT NVL (SUM (vvo_bedrijfsr_zelf), 0)
               FROM bamg_v_aanwezigcontract co
              WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key)
          - (SELECT NVL (SUM (co.vvo_bedrijfsruimte), 0)
               FROM bamg_v_aanwezigcontract co
              WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key
                AND fclt_f_contract_soort = 'Onderhuur')
             bedr_leeg,
          NVL (loc_vvo_perc, 0)
          - (SELECT NVL (SUM (perceel_opp_zelf), 0)
               FROM bamg_v_aanwezigcontract co
              WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key)
          - (SELECT NVL (SUM (co.perceel_opp), 0)
               FROM bamg_v_aanwezigcontract co
              WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key
                AND fclt_f_contract_soort = 'Onderhuur')
             perc_leeg,
          NVL (loc_park, 0)
          - (SELECT NVL (SUM (parkeerplaatsen_zelf), 0)
               FROM bamg_v_aanwezigcontract co
              WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key)
          - (SELECT NVL (SUM (co.parkeerplaatsen), 0)
               FROM bamg_v_aanwezigcontract co
              WHERE co.hide_f_alg_locatie_key = blo.alg_locatie_key
                AND fclt_f_contract_soort = 'Onderhuur')
             park_leeg,
          actief
     FROM bamg_v_loc_overzicht_detail blo;


CREATE OR REPLACE VIEW bamg_v_overzicht_locatie
(
   fclt_f_plaats,
   adres,
   code,
   hide_f_alg_locatie_key,
   ub,
   wb,
   ma,
   am,
   fu,
   he,
   pe,
   ci,
   we,
   it,
   ra,
   tn,
   gr,
   i,
   ip,
   ic,
   int,
   ov,
   m2k,
   m2b,
   m2t,
   pp,
   j,
   n,
   d,
   einddatum,
   hide_f_einddatum,
   hide_f_break1,
   hide_f_break2,
   hide_f_break3,
   l_m2k,
   l_m2b,
   l_m2t,
   l_pp,
   fclt_f_actief
)
AS
   SELECT plaats,
          adres,
          code,
          alg_locatie_key,
          DECODE (ub, 0, '', 'x'),
          DECODE (wb, 0, '', 'x'),
          DECODE (ma, 0, '', 'x'),
          DECODE (am, 0, '', 'x'),
          DECODE (fu, 0, '', 'x'),
          DECODE (he, 0, '', 'x'),
          DECODE (pe, 0, '', 'x'),
          DECODE (ci, 0, '', 'x'),
          DECODE (we, 0, '', 'x'),
          DECODE (it, 0, '', 'x'),
          DECODE (ra, 0, '', 'x'),
          DECODE (tn, 0, '', 'x'),
          DECODE (gr, 0, '', 'x'),
          DECODE (i, 0, '', 'x'),
          DECODE (ip, 0, '', 'x'),
          DECODE (ic, 0, '', 'x'),
          DECODE (int, 0, '', 'x'),
          DECODE (ov, 0, '', 'x'),
          opp_kant,
          opp_bedr,
          opp_terr,
          park,
          ja,
          nee,
          deels,
          DECODE (
             ja,
             'x',
             '',
             TO_CHAR (einddatum, 'dd-mm-yyyy')
             || DECODE (break1,
                        TO_DATE ('50000101', 'yyyymmdd'), '',
                        TO_CHAR (break1, ' dd-mm-yyyy'))
             || DECODE (break2,
                        TO_DATE ('50000101', 'yyyymmdd'), '',
                        TO_CHAR (break2, ' dd-mm-yyyy'))
             || DECODE (break3,
                        TO_DATE ('50000101', 'yyyymmdd'), '',
                        TO_CHAR (break3, ' dd-mm-yyyy'))),
          DECODE (
             ja,
             'x',
             '',
             DECODE (einddatum,
                     TO_DATE ('50000101', 'yyyymmdd'), '',
                     TO_CHAR (einddatum, 'dd-mm-yyyy')))
             einddatum,
          DECODE (break1,
                  TO_DATE ('50000101', 'yyyymmdd'), '',
                  TO_CHAR (break1, 'dd-mm-yyyy'))
             break1,
          DECODE (break2,
                  TO_DATE ('50000101', 'yyyymmdd'), '',
                  TO_CHAR (break2, 'dd-mm-yyyy'))
             break2,
          DECODE (break3,
                  TO_DATE ('50000101', 'yyyymmdd'), '',
                  TO_CHAR (break3, 'dd-mm-yyyy'))
             break3,
          leeg_kant,
          DECODE (leeg_bedr, 0, '', leeg_bedr),
          DECODE (leeg_perc, 0, '', leeg_perc),
          DECODE (leeg_park, 0, '', leeg_park),
          actief
     FROM bamg_v_overzicht_locatie_huur;


CREATE OR REPLACE VIEW bamg_v_aanweziglocatie
(
   fclt_f_plaats,
   adres,
   code,
   hide_f_alg_locatie_key,
   ub,
   wb,
   ma,
   am,
   fu,
   he,
   pe,
   ci,
   we,
   it,
   ra,
   tn,
   gr,
   i,
   ip,
   ic,
   int,
   ov,
   m2k,
   m2b,
   m2t,
   pp,
   j,
   n,
   d,
   einddatum,
   hide_f_einddatum,
   hide_f_break1,
   hide_f_break2,
   hide_f_break3,
   l_m2k,
   l_m2b,
   l_m2t,
   l_pp,
   actief
)
AS
   SELECT fclt_f_plaats,
          adres,
          code,
          hide_f_alg_locatie_key,
          ub,
          wb,
          ma,
          am,
          fu,
          he,
          pe,
          ci,
          we,
          it,
          ra,
          tn,
          gr,
          i,
          ip,
          ic,
          int,
          ov,
          m2k,
          m2b,
          m2t,
          pp,
          j,
          n,
          d,
          einddatum,
          hide_f_einddatum,
          hide_f_break1,
          hide_f_break2,
          hide_f_break3,
          l_m2k,
          l_m2b,
          l_m2t,
          l_pp,
          fclt_f_actief
     FROM bamg_v_overzicht_locatie
    WHERE fclt_f_actief = 'Ja';

CREATE OR REPLACE VIEW bamg_v_verlopenlocatie
(
   fclt_f_plaats,
   adres,
   code,
   hide_f_alg_locatie_key,
   ub,
   wb,
   ma,
   am,
   fu,
   he,
   pe,
   ci,
   we,
   it,
   ra,
   tn,
   gr,
   i,
   ip,
   ic,
   int,
   ov,
   m2k,
   m2b,
   m2t,
   pp,
   j,
   n,
   d,
   einddatum,
   hide_f_einddatum,
   hide_f_break1,
   hide_f_break2,
   hide_f_break3,
   l_m2k,
   l_m2b,
   l_m2t,
   l_pp,
   actief
)
AS
   SELECT fclt_f_plaats,
          adres,
          code,
          hide_f_alg_locatie_key,
          ub,
          wb,
          ma,
          am,
          fu,
          he,
          pe,
          ci,
          we,
          it,
          ra,
          tn,
          gr,
          i,
          ip,
          ic,
          int,
          ov,
          m2k,
          m2b,
          m2t,
          pp,
          j,
          n,
          d,
          einddatum,
          hide_f_einddatum,
          hide_f_break1,
          hide_f_break2,
          hide_f_break3,
          l_m2k,
          l_m2b,
          l_m2t,
          l_pp,
          fclt_f_actief
     FROM bamg_v_overzicht_locatie
    WHERE fclt_f_actief = 'Nee';


CREATE OR REPLACE VIEW BAMG_V_EXPORT_AFMELDEN (RESULT_ORDER, RESULT)
AS
SELECT null, null FROM DUAL;


-- Procedure voor het automatisch afmelden van reserveringen
CREATE OR REPLACE PROCEDURE bamg_select_afmelden (
   p_applname   IN   VARCHAR2,
   p_applrun    IN   VARCHAR2
)
AS
BEGIN
   NULL;
END;
/


-- Procedure voor het automatisch afmelden van reserveringen
CREATE OR REPLACE PROCEDURE bamg_export_afmelden (
   p_applname   IN   VARCHAR2,
   p_applrun    IN   VARCHAR2,
   p_filedir    IN   VARCHAR2,
   p_filename   IN   VARCHAR2
)
AS
   v_count  NUMBER;
   v_prijs  NUMBER;
   -- Data
   CURSOR c_ruimte
   IS
      SELECT    *
         FROM   res_rsv_ruimte
         WHERE  res_rsv_ruimte_tot < sysdate -1
           AND  res_status_bo_key < 5;

   CURSOR c_artikel
   IS
      SELECT    *
         FROM   res_rsv_artikel
         WHERE  res_rsv_artikel_levering < sysdate -1
           AND  res_status_bo_key < 5;

   CURSOR c_deel
   IS
      SELECT    *
         FROM   res_rsv_deel
         WHERE  res_rsv_deel_tot < sysdate -1
           AND  res_status_bo_key < 5;

    rec_ruimte       c_ruimte%ROWTYPE;
    rec_artikel      c_artikel%ROWTYPE;
    rec_deel         c_deel%ROWTYPE;

    -- Error handling
BEGIN
   v_count := 0;
   FOR rec_ruimte IN c_ruimte
   LOOP
      BEGIN
         v_prijs := res.getruimteprijs(rec_ruimte.res_rsv_ruimte_key);
         UPDATE res_rsv_ruimte
            SET res_status_bo_key = 5
              , res_rsv_ruimte_prijs = v_prijs
          WHERE res_rsv_ruimte_key = rec_ruimte.res_rsv_ruimte_key
            AND res_status_bo_key <> 6;
         v_count := v_count+1;

         BEGIN fac.trackaction('RESAFM', rec_ruimte.res_rsv_ruimte_key, 24041, NULL, NULL); END;

      END;
   END LOOP;

   fac.writelog (p_applname, 'I', 'Aantal afgemelde ruimtes: ' || v_count, '');

   v_count:=0;
   FOR rec_artikel IN c_artikel
   LOOP
      BEGIN
         v_prijs := res.getartikelprijs(rec_artikel.res_rsv_artikel_key);
         UPDATE res_rsv_artikel
            SET res_status_bo_key = 5
              , res_rsv_artikel_prijs = v_prijs
          WHERE res_rsv_artikel_key = rec_artikel.res_rsv_artikel_key
            AND res_status_bo_key <> 6;

          fac.trackaction('RESAFM', rec_artikel.res_rsv_ruimte_key, 24041, NULL, 'Catering afgemeld');
         v_count := v_count+1;
      END;
   END LOOP;

   fac.writelog (p_applname, 'I', 'Aantal afgemelde artikelen: ' || v_count, '');

   v_count := 0;
   FOR rec_deel IN c_deel
   LOOP
      BEGIN
         v_prijs := res.getdeelprijs(rec_deel.res_rsv_deel_key);
         UPDATE res_rsv_deel
            SET res_status_bo_key = 5
              , res_rsv_deel_prijs = v_prijs
          WHERE res_rsv_deel_key = rec_deel.res_rsv_deel_key
            AND res_status_bo_key <> 6;

         fac.trackaction('RESAFM', rec_deel.res_rsv_ruimte_key, 24041, NULL, 'Voorziening(en) afgemeld');

         v_count := v_count+1;
      END;
   END LOOP;

   fac.writelog (p_applname, 'I', 'Aantal afgemelde delen: ' || v_count, '');

EXCEPTION
   WHEN OTHERS
   THEN
      fac.writelog (p_applname, 'E', '(ORACLE error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100) || ')','');
      commit;
END;
/

CREATE OR REPLACE VIEW BAMG_V_NOTI_CNTREMINDER
(CODE, SENDER, RECEIVER, TEXT, KEY,
 PAR1, PAR2, XKEY)
AS
SELECT '', '', c.prs_perslid_key_beh,
             'Rappèl: Contract '
           ||  c.cnt_contract_nummer_intern
           ||  ' ('
           ||  c.cnt_contract_omschrijving
           ||  ' '
           ||  b.prs_bedrijf_naam
           ||  ')'
           ||  ' moet uiterlijk per '
           ||  TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'DD-MM-YYYY')
           ||  ' worden verlengd of opgezegd.',
          c.cnt_contract_key, c.cnt_contract_nummer_intern, cnt.cnt_getopzegdatum (c.cnt_contract_key), NULL
     FROM cnt_v_aanwezigcontract c, prs_bedrijf b
    WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
      AND trunc(SYSDATE) = trunc(cnt.cnt_getrappeldatum(c.cnt_contract_key));

-- BAMG#22818 View tbv notificatiejob om receptie bunnik te informeren over reserveringen na 18:00
-- key 27241 = receptie bunnik, key 262 = district bunnik.
CREATE OR REPLACE VIEW BAMG_V_NOTI_RESLATEREMINDER
(
   CODE,
   SENDER,
   RECEIVER,
   TEXT,
   KEY,
   PAR1,
   PAR2,
   XKEY
)
AS
   SELECT   '',
            '',
            27241,
               'Reservering '
            || r.res_reservering_key
            || '/'
            || r.res_rsv_ruimte_volgnr
            || ' is gemaakt op uw locatie met een eindtijd na 20:00 uur.'
            || ' De reservering duurt tot '
            || TO_CHAR (res_rsv_ruimte_tot, 'HH24:MI')
            || ' en vind plaats in de ruimte '
            || rr.res_ruimte_nr,
            res_rsv_ruimte_key,
            NULL,
            NULL,
            NULL
     FROM   res_rsv_ruimte r,
            res_ruimte_opstelling ro,
            res_ruimte rr,
            res_alg_ruimte ra,
            alg_ruimte ar,
            alg_verdieping av,
            alg_gebouw ag,
            alg_locatie al
    WHERE   res_status_bo_key = 2 AND res_rsv_ruimte_verwijder IS NULL
            AND TO_DATE (res_rsv_ruimte_van, 'dd-mm-yyyy') =
                  TO_DATE (SYSDATE, 'dd-mm-yyyy')
            AND TO_CHAR (res_rsv_ruimte_tot, 'HH24') > 19
            AND ro.res_ruimte_opstel_key = r.res_ruimte_opstel_key
            AND rr.res_ruimte_key = ro.res_ruimte_key
            AND ra.res_ruimte_key = rr.res_ruimte_key
            AND ra.alg_ruimte_key = ar.alg_ruimte_key
            AND ar.alg_verdieping_key = av.alg_verdieping_key
            AND av.alg_gebouw_key = ag.alg_gebouw_key
            AND al.alg_locatie_key = ag.alg_locatie_key
            AND al.alg_district_key = 262;


CREATE OR REPLACE VIEW BAMG_V_NOTI_CNT_BREEKREMINDER
(
   CODE,
   SENDER,
   RECEIVER,
   TEXT,
   KEY,
   PAR1,
   PAR2,
   XKEY
)
AS
   SELECT   '',
            '',
            c.prs_perslid_key_beh,
               'Rappèl: Contract '
            || c.cnt_contract_nummer_intern
            || ' ('
            || c.cnt_contract_omschrijving
            || ' '
            || b.prs_bedrijf_naam
            || ')'
            || ' heeft een breekoptiedatum op '
            || kc.cnt_kenmerkcontract_waarde
            || '. Deze datum is volgende week.',
            c.cnt_contract_key,
            c.cnt_contract_nummer_intern,
            cnt.cnt_getopzegdatum (c.cnt_contract_key),
            NULL
     FROM   cnt_v_aanwezigcontract c,
            prs_bedrijf b,
            (SELECT   kc.cnt_kenmerkcontract_waarde, kc.cnt_contract_key
               FROM   cnt_kenmerkcontract kc, cnt_kenmerk k
              WHERE       k.cnt_srtkenmerk_key = 61
                      AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
                      AND kc.cnt_kenmerkcontract_verwijder IS NULL) kc
    WHERE   b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
            AND kc.cnt_contract_key = c.cnt_contract_key
            AND kc.cnt_kenmerkcontract_waarde =
                  TO_CHAR (SYSDATE + 7, 'dd-mm-yyyy');

-- BAMG#24403 View tbv notificatiejob resreminder. Afzender aanpassing voor BAMG
-- key 34541 = receptie Gouda, key 158 = locatie Gouda. key 262 = distric Bunnik, key 27241 = receptie Bunnik
CREATE OR REPLACE FORCE VIEW BAMG_V_NOTI_RESREMINDER
(
   CODE,
   SENDER,
   RECEIVER,
   TEXT,
   KEY,
   XKEY
)
AS
 SELECT   'RESINF',
         DECODE (loc.locatie, 'Gouda', 34541, 'Bunnik', 27241, NULL) sender,
         rsvr.res_rsv_ruimte_contact_key,
            'Reservering '
         || res.res_reservering_key
         || ': U heeft op '
         || TO_CHAR (rsvr.res_rsv_ruimte_van, 'DD-MM')
         || ' van '
         || TO_CHAR (rsvr.res_rsv_ruimte_van, 'HH24:MI')
         || ' tot '
         || TO_CHAR (rsvr.res_rsv_ruimte_tot, 'HH24:MI')
         || ' ruimte '
         || r.res_ruimte_nr
         || ' gereserveerd.',
         res.res_reservering_key,
         rsvr.res_rsv_ruimte_key
  FROM   res_v_aanwezigreservering res,
         res_v_aanwezigrsv_ruimte rsvr,
         res_ruimte_opstelling opst,
         res_disc_params rdp,
         res_ruimte r,
         (SELECT   DISTINCT r.res_ruimte_key, 'Gouda' Locatie
            FROM   alg_gebouw g,
                   alg_verdieping v,
                   alg_ruimte ar,
                   res_alg_ruimte ra,
                   res_ruimte r
           WHERE       r.res_ruimte_key = ra.res_ruimte_key
                   AND ra.alg_ruimte_key = ar.alg_ruimte_key
                   AND ar.alg_verdieping_key = v.alg_verdieping_key
                   AND v.alg_gebouw_key = g.alg_gebouw_key
                   AND g.alg_locatie_key = 158
          UNION ALL
          SELECT   DISTINCT r.res_ruimte_key, 'Bunnik' Locatie
            FROM   alg_gebouw g,
                   alg_verdieping v,
                   alg_ruimte ar,
                   res_alg_ruimte ra,
                   res_ruimte r,
                   alg_locatie l
           WHERE       r.res_ruimte_key = ra.res_ruimte_key
                   AND ra.alg_ruimte_key = ar.alg_ruimte_key
                   AND ar.alg_verdieping_key = v.alg_verdieping_key
                   AND v.alg_gebouw_key = g.alg_gebouw_key
                   AND l.alg_locatie_key = g.alg_locatie_key
                   AND l.alg_district_key = 262) loc
 WHERE       r.res_discipline_key = rdp.res_ins_discipline_key
         AND loc.res_ruimte_key(+) = r.res_ruimte_key
         AND rdp.res_disc_params_noti_dagen IS NOT NULL
         AND res.res_reservering_key = rsvr.res_reservering_key
         AND opst.res_ruimte_opstel_key = rsvr.res_ruimte_opstel_key
         AND opst.res_ruimte_key = r.res_ruimte_key
         AND rsvr.res_status_fo_key <= 5
         AND rsvr.res_rsv_ruimte_van BETWEEN fac.datumtijdplusuitvoertijd (
                                                SYSDATE,
                                                res_disc_params_noti_dagen,
                                                'DAGEN'
                                             )
                                         AND  fac.datumtijdplusuitvoertijd (
                                                 SYSDATE,
                                                 res_disc_params_noti_dagen
                                                 + 1,
                                                 'DAGEN'
                                              )
         AND TO_CHAR (SYSDATE, 'D') NOT IN (1, 7)
         AND rsvr.res_rsv_ruimte_van >= SYSDATE
UNION ALL
  SELECT   'RESINF',
           DECODE (
              (SELECT   locatie
                 FROM   alg_v_onroerendgoed_gegevens arg,
                        (SELECT   'Gouda' Locatie, alg_locatie_key
                           FROM   alg_locatie l
                          WHERE   l.alg_locatie_key = 158
                         UNION ALL
                         SELECT   'Bunnik' Locatie, alg_locatie_key
                           FROM   alg_locatie l
                          WHERE   l.alg_district_key = 262) lc
                WHERE   lc.alg_locatie_key(+) = arg.alg_locatie_key
                        AND arg.alg_ruimte_key = ruimte_key),
              'Gouda',
              34541,
              'Bunnik',
              27241,
              NULL
           )
              sender,
           res_rsv_ruimte_contact_key,
              'Reservering '
           || res_reservering_key
           || ': U heeft op '
           || TO_CHAR (MIN (van), 'dd-mm')
           || DECODE (
                 MIN (van),
                 MAX (tot),
                 ' om ' || TO_CHAR (MIN (van), 'hh24:mi'),
                    ' van '
                 || TO_CHAR (MIN (van), 'hh24:mi')
                 || ' tot '
                 || TO_CHAR (MAX (tot), 'hh24:mi')
              )
           || ' in ruimte ('
           || (SELECT      alg_gebouw_code
                        || '-'
                        || alg_verdieping_code
                        || '-'
                        || alg_ruimte_nr
                 FROM   alg_v_onroerendgoed_gegevens arg
                WHERE   arg.alg_ruimte_key = ruimte_key)
           || ') '
           || COUNT (res_reservering_key)
           || ' voorziening(en) gereserveerd.',
           res_reservering_key,
           res_rsv_ruimte_key
    FROM   (SELECT   rsvr.res_rsv_ruimte_contact_key,
                     res.res_reservering_key,
                     rsvd.res_rsv_deel_van van,
                     rsvd.res_rsv_deel_tot tot,
                     rsvr.res_rsv_ruimte_key,
                     rsvr.alg_ruimte_key ruimte_key
              FROM   res_v_aanwezigreservering res,
                     res_v_aanwezigrsv_ruimte rsvr,
                     res_disc_params rdp,
                     res_rsv_deel rsvd,
                     res_deel rd
             WHERE       rsvd.res_rsv_ruimte_key = rsvr.res_rsv_ruimte_key
                     AND rd.res_deel_key = rsvd.res_deel_key
                     AND rd.res_discipline_key = rdp.res_ins_discipline_key
                     AND rdp.res_disc_params_noti_dagen IS NOT NULL
                     AND res.res_reservering_key = rsvr.res_reservering_key
                     AND rsvr.res_ruimte_opstel_key IS NULL
                     AND rsvr.res_status_fo_key <= 5
                     AND rsvd.res_rsv_deel_verwijder IS NULL
                     AND rsvd.res_rsv_deel_van BETWEEN fac.datumtijdplusuitvoertijd (
                                                          SYSDATE,
                                                          res_disc_params_noti_dagen,
                                                          'DAGEN'
                                                       )
                                                   AND  fac.datumtijdplusuitvoertijd (
                                                           SYSDATE,
                                                           res_disc_params_noti_dagen
                                                           + 1,
                                                           'DAGEN'
                                                        )
                     AND TO_CHAR (SYSDATE, 'D') NOT IN (1, 7)
                     AND rsvd.res_rsv_deel_van >= SYSDATE
            UNION ALL
            SELECT   rsvr.res_rsv_ruimte_contact_key,
                     res.res_reservering_key,
                     rsva.res_rsv_artikel_levering van,
                     rsva.res_rsv_artikel_levering tot,
                     rsvr.res_rsv_ruimte_key,
                     rsvr.alg_ruimte_key ruimte_key
              FROM   res_v_aanwezigreservering res,
                     res_v_aanwezigrsv_ruimte rsvr,
                     res_disc_params rdp,
                     res_rsv_artikel rsva,
                     res_artikel ra
             WHERE       rsva.res_rsv_ruimte_key = rsvr.res_rsv_ruimte_key
                     AND ra.res_discipline_key = rdp.res_ins_discipline_key
                     AND rsva.res_artikel_key = ra.res_artikel_key
                     AND rdp.res_disc_params_noti_dagen IS NOT NULL
                     AND res.res_reservering_key = rsvr.res_reservering_key
                     AND rsvr.res_ruimte_opstel_key IS NULL
                     AND rsvr.res_status_fo_key <= 5
                     AND rsva.res_rsv_artikel_verwijder IS NULL
                     AND rsva.res_rsv_artikel_levering BETWEEN fac.datumtijdplusuitvoertijd (
                                                                  SYSDATE,
                                                                  res_disc_params_noti_dagen,
                                                                  'DAGEN'
                                                               )
                                                           AND  fac.datumtijdplusuitvoertijd (
                                                                   SYSDATE,
                                                                   res_disc_params_noti_dagen
                                                                   + 1,
                                                                   'DAGEN'
                                                                )
                     AND TO_CHAR (SYSDATE, 'D') NOT IN (1, 7)
                     AND rsva.res_rsv_artikel_levering >= SYSDATE)
GROUP BY   res_rsv_ruimte_contact_key,
           res_reservering_key,
           res_rsv_ruimte_key,
           ruimte_key;

BEGIN fac.registercustversion('BAMG', 19); END;
/
BEGIN adm.systrackscriptId('$Id$', 0); END;
/
COMMIT;

spool off
