Files
Customer/BAMG/bamg.sql
Jos Groot Lipman 5a480b538d FSN#16166 Wachtwoord
svn path=/Customer/trunk/; revision=14824
2011-06-07 08:39:18 +00:00

2418 lines
103 KiB
MySQL
Raw Blame History

-- Script containing customer specific configuration sql statements for BAMG: BAM Groep
-- (c) 2005-2007 Dijkoraad IT bv
-- $Revision: 21 $
-- $Modtime: 7-06-11 10:24 $
--
-- 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;
/* Formatted on 2007/06/11 15:49 (Formatter Plus v4.8.7) */
CREATE OR REPLACE VIEW bamg_v_overzicht_locatie_huur (plaats,
adres,
code,
alg_locatie_key,
fu,
gr,
he,
tn,
it,
ma,
pe,
ra,
te,
ub,
vg,
ci,
wb,
we,
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 = 'te'
AND co.hide_f_alg_locatie_key = blo.alg_locatie_key) te,
(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 = 'vg'
AND co.hide_f_alg_locatie_key = blo.alg_locatie_key) vg,
(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 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;
/* Formatted on 2007/06/22 11:09 (Formatter Plus v4.8.7) */
CREATE OR REPLACE VIEW bamg_v_overzicht_locatie (fclt_f_plaats,
adres,
code,
hide_f_alg_locatie_key,
ub,
wb,
ma,
vg,
fu,
he,
pe,
ci,
we,
it,
ra,
te,
tn,
gr,
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 (vg, 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 (te, 0, '', 'x'),
DECODE (tn, 0, '', 'x'), DECODE (gr, 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,
vg,
fu,
he,
pe,
ci,
we,
it,
ra,
te,
tn,
gr,
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, vg,
fu, he, pe, ci, we, it, ra, te, tn, gr, 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,
vg,
fu,
he,
pe,
ci,
we,
it,
ra,
te,
tn,
gr,
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, vg,
fu, he, pe, ci, we, it, ra, te, tn, gr, 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';
-- fsn#1371 begin
CREATE OR REPLACE VIEW BAMG_v_imp_telefoon AS
select
SUBSTR(perslid_naam,1,30) perslid_naam
,UPPER(SUBSTR(perslid_naam,1,30)) perslid_upper
,SUBSTR(perslid_telefoon,1,15) perslid_telefoon
,SUBSTR(afdeling_parent_omschrijving,1,10) afdeling_parent
,UPPER(SUBSTR(afdeling_parent_omschrijving,1,10)) afdeling_parent_upper
,SUBSTR(afdeling_parent_omschrijving,1,60) afdeling_parent_omschrijving
,SUBSTR(ruimte,1,5) ruimte
,SUBSTR(ruimte,4,3) ruimte_nr
,fac.safe_to_number(SUBSTR(ruimte,3,1)) verdieping_volgnr
,SUBSTR(ruimte,1,1) gebouw_code
,SUBSTR(afdeling_naam,1,10) afdeling_naam
,UPPER(SUBSTR(afdeling_naam,1,10)) afdeling_naam_upper
,SUBSTR(fax,1,15) fax
from BAMG_imp_telefoon;
/
-- Personen waarvan de EINDDATUM gezet is
CREATE OR REPLACE VIEW BAMG_v_imp_telefoon_del_now AS
SELECT p.prs_perslid_key, p.prs_perslid_naam, p.prs_perslid_upper
FROM PRS_PERSLID p
WHERE 1=1
AND p.prs_perslid_nr = 'IMPORT'
AND p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_einddatum < SYSDATE;
/
CREATE OR REPLACE VIEW bamg_rap_perslid_2delete
AS
SELECT p.prs_perslid_upper hide_f_prs_perslid_upper,
p.prs_perslid_naam naam, pv.fac_message_text verplichting
FROM bamg_v_imp_telefoon_del_now p,
(SELECT pv2.*, m.fac_message_text
FROM prs_v_verplichting_all pv2, FAC_MESSAGE m
WHERE pv2.fac_message_code = m.fac_message_code(+)) pv
WHERE p.prs_perslid_key = pv.prs_perslid_key(+)
GROUP BY p.prs_perslid_key,
p.prs_perslid_naam,
prs_perslid_upper,
pv.fac_message_text;
/
CREATE OR REPLACE VIEW BAMG_RAP_TELEFOON_ERROR AS
SELECT imp_log_datum HIDE_F_TIJD, TO_CHAR(imp_log_datum, 'dd-mm-yyyy hh24:mi') tijd, imp_log_omschrijving omschrijving, imp_log_hint hint
FROM IMP_LOG
WHERE imp_log_applicatie = 'TELEFOON';
/
-- Personen waarvan de EINDDATUM nog moet worden gezet
CREATE OR REPLACE VIEW BAMG_v_imp_telefoon_del AS
SELECT x.prs_perslid_key, x.prs_perslid_naam, x.prs_perslid_upper
from prs_perslid x
where EXISTS (
SELECT p.prs_perslid_key
FROM PRS_PERSLID p, BAMG_v_imp_telefoon tel
WHERE p.prs_perslid_upper = tel.perslid_upper(+)
AND (tel.perslid_upper IS NULL) -- dwz alleen aanwezig in prs_perslid
AND p.prs_perslid_nr = 'IMPORT'
AND p.prs_perslid_verwijder IS NULL
AND ((p.prs_perslid_einddatum IS NULL) OR (p.prs_perslid_einddatum >= sysdate))
AND x.prs_perslid_key = p.prs_perslid_key
AND rownum = 1);
/
CREATE OR REPLACE VIEW BAMG_v_imp_telefoon_upd AS
SELECT p.prs_perslid_key, tel.*
FROM PRS_PERSLID p, BAMG_v_imp_telefoon tel
WHERE p.prs_perslid_upper = tel.perslid_upper
AND p.prs_perslid_nr = 'IMPORT'
AND p.prs_perslid_verwijder IS NULL;
/
CREATE OR REPLACE VIEW BAMG_v_imp_telefoon_ins AS
SELECT -1 prs_perslid_key, tel.*
FROM BAMG_v_imp_telefoon tel
WHERE NOT EXISTS (SELECT 'x' FROM PRS_PERSLID p
WHERE p.prs_perslid_verwijder IS NULL
AND tel.PERSLID_UPPER = p.PRS_PERSLID_UPPER AND ROWNUM=1);
/
CREATE OR REPLACE VIEW BAMG_v_imp_telefoon_mod AS
select * from BAMG_v_imp_telefoon_upd
UNION ALL
select * from BAMG_v_imp_telefoon_ins;
/
CREATE OR REPLACE PACKAGE BAMG_import_export AS
-- Hulpfuncties en procedures:
PROCEDURE to_log (p_do_log BOOLEAN, p_message VARCHAR2, p_proces VARCHAR2);
/* Voorbeeld
DECLARE v_key NUMBER(10);
BEGIN
BAMG_import_export.set_geb_key('43','Test');
SELECT BAMG_import_export.get_geb_key('43','Test')
INTO v_KEY
FROM dual;
END; */
FUNCTION get_geb_key( p_locatie_code IN VARCHAR2, p_gebouw_code VARCHAR2) RETURN NUMBER;
PROCEDURE set_geb_key ( p_locatie_code IN VARCHAR2, p_gebouw_code VARCHAR2);
/* Voorbeeld
DECLARE v_key NUMBER(10);
BEGIN
BAMG_import_export.set_ver_key(9,0);
SELECT BAMG_import_export.get_ver_key(9,0)
INTO v_KEY
FROM dual;
END; */
FUNCTION get_ver_key( p_gebouw_key IN NUMBER, p_verdieping_volgnr NUMBER) RETURN NUMBER;
PROCEDURE set_ver_key ( p_gebouw_key IN NUMBER, p_verdieping_volgnr NUMBER);
/* Voorbeeld
DECLARE v_key NUMBER(10);
BEGIN
BAMG_import_export.set_rui_key(211,'0');
SELECT BAMG_import_export.get_rui_key(211,'0')
INTO v_KEY
FROM dual;
END; */
FUNCTION get_rui_key( p_verdieping_key IN NUMBER, p_ruimte_nr VARCHAR2) RETURN NUMBER;
PROCEDURE set_rui_key ( p_verdieping_key IN NUMBER, p_ruimte_nr VARCHAR2);
/* Voorbeeld
DECLARE v_key NUMBER(10);
BEGIN
BAMG_import_export.set_afd_key('BAM ICT','TEST');
SELECT BAMG_import_export.get_afd_key('BAM ICT','TEST')
INTO v_key
FROM dual;
END; */
FUNCTION get_afd_key( p_afdeling_parentnaam IN VARCHAR2, p_afdeling_naam IN VARCHAR2) RETURN NUMBER;
PROCEDURE set_afd_key ( p_afdeling_parentnaam IN VARCHAR2, p_afdeling_naam IN VARCHAR2);
/* Voorbeeld
DECLARE v_key NUMBER(10);
BEGIN
BAMG_import_export.set_wrk_key(647,21);
SELECT BAMG_import_export.get_wrk_key(647,21)
INTO v_key
FROM dual;
END; */
FUNCTION get_wrk_key( p_ruimte_key IN NUMBER, p_perslid_key NUMBER) RETURN NUMBER;
PROCEDURE set_wrk_key ( p_ruimte_key IN NUMBER, p_perslid_key NUMBER);
END BAMG_import_export;
/
-- show errors
CREATE OR REPLACE PACKAGE BODY BAMG_import_export AS
--
-- to_log
PROCEDURE to_log (p_do_log BOOLEAN, p_message VARCHAR2, p_proces VARCHAR2) IS
v_dummy VARCHAR2(16);
BEGIN
IF p_do_log THEN
fac.imp_writelog ('BAMG_import_export',
p_proces,
'I',
p_message,
'Dit is een algemeen informatieve melding'
);
commit; -- to commit logging
END IF;
EXCEPTION
WHEN OTHERS
THEN v_dummy := 'Dummy opdracht';
END to_log;
--
--
FUNCTION get_geb_key( p_locatie_code IN VARCHAR2, p_gebouw_code VARCHAR2) RETURN NUMBER IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_locatie_key NUMBER(10);
v_gebouw_key NUMBER(10);
BEGIN
select max(g.alg_locatie_key), max(g.alg_gebouw_key), count(*)
into v_locatie_key, v_gebouw_key, v_count
from alg_locatie l, alg_gebouw g
where upper(trim(g.alg_gebouw_code)) = upper(trim(p_gebouw_code))
and l.alg_locatie_key = g.alg_locatie_key
and l.alg_locatie_code like p_locatie_code
and g.alg_gebouw_verwijder is null;
IF (v_count = 0) THEN
v_gebouw_key := -1;
END IF;
RETURN v_gebouw_key;
EXCEPTION
WHEN OTHERS
THEN RETURN -1;
END get_geb_key;
--
--
PROCEDURE set_geb_key( p_locatie_code IN VARCHAR2, p_gebouw_code VARCHAR2) IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_locatie_key NUMBER(10);
v_gebouw_key NUMBER(10);
BEGIN
select max(g.alg_locatie_key), max(g.alg_gebouw_key), count(*)
into v_locatie_key, v_gebouw_key, v_count
from alg_locatie l, alg_gebouw g
where upper(trim(g.alg_gebouw_code)) = upper(trim(p_gebouw_code))
and l.alg_locatie_key = g.alg_locatie_key
and l.alg_locatie_code = p_locatie_code
and g.alg_gebouw_verwijder is null;
IF (v_count = 0) THEN
SELECT alg_locatie_key, alg_s_alg_onroerendgoed_keys.NEXTVAL
INTO v_locatie_key, v_gebouw_key
FROM DUAL, alg_locatie
WHERE alg_locatie_verwijder is null
AND alg_locatie_code = p_locatie_code;
INSERT INTO ALG_GEBOUW
(ALG_LOCATIE_KEY
,ALG_GEBOUW_KEY
,ALG_GEBOUW_NAAM
,ALG_GEBOUW_CODE
,ALG_GEBOUW_OMSCHRIJVING)
VALUES
(v_locatie_key
,v_gebouw_key
,SUBSTR(p_gebouw_code,1,30)
,SUBSTR(p_gebouw_code,1,10)
,SUBSTR(p_gebouw_code,1,30)
);
END IF;
EXCEPTION
WHEN OTHERS
THEN v_dummy := 'Dummy opdracht';
END set_geb_key;
--
--
FUNCTION get_ver_key( p_gebouw_key IN NUMBER, p_verdieping_volgnr NUMBER) RETURN NUMBER IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_verdieping_key NUMBER(10);
BEGIN
select max(v.alg_verdieping_key), count(*)
into v_verdieping_key, v_count
from alg_gebouw g, alg_verdieping v
where v.alg_verdieping_volgnr = p_verdieping_volgnr
and g.alg_gebouw_key = v.alg_gebouw_key
and g.alg_gebouw_key = p_gebouw_key
and v.alg_verdieping_verwijder is null;
IF (v_count = 0) THEN
v_verdieping_key := -1;
END IF;
RETURN v_verdieping_key;
EXCEPTION
WHEN OTHERS
THEN RETURN -1;
END get_ver_key;
--
--
PROCEDURE set_ver_key( p_gebouw_key IN NUMBER, p_verdieping_volgnr NUMBER) IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_verdieping_key NUMBER(10);
BEGIN
select max(v.alg_verdieping_key), count(*)
into v_verdieping_key, v_count
from alg_gebouw g, alg_verdieping v
where v.alg_verdieping_volgnr = p_verdieping_volgnr
and g.alg_gebouw_key = v.alg_gebouw_key
and g.alg_gebouw_key = p_gebouw_key
and v.alg_verdieping_verwijder is null;
IF (v_count = 0) THEN
SELECT alg_s_alg_onroerendgoed_keys.NEXTVAL
INTO v_verdieping_key
FROM DUAL;
INSERT INTO ALG_VERDIEPING
(ALG_VERDIEPING_KEY
,ALG_GEBOUW_KEY
,ALG_VERDIEPING_OMSCHRIJVING
,ALG_VERDIEPING_VOLGNR
,ALG_VERDIEPING_CODE)
VALUES
(v_verdieping_key
,p_gebouw_key
,'Verdieping '||to_char(p_verdieping_volgnr)
,p_verdieping_volgnr
,to_char(p_verdieping_volgnr)
);
END IF;
EXCEPTION
WHEN OTHERS
THEN v_dummy := 'Dummy opdracht';
END set_ver_key;
--
--
FUNCTION get_rui_key( p_verdieping_key IN NUMBER, p_ruimte_nr VARCHAR2) RETURN NUMBER IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_ruimte_key NUMBER(10);
BEGIN
select max(r.alg_ruimte_key), count(*)
into v_ruimte_key, v_count
from alg_ruimte r, alg_verdieping v
where r.alg_ruimte_nr = p_ruimte_nr
and r.alg_verdieping_key = v.alg_verdieping_key
and v.alg_verdieping_key = p_verdieping_key
and r.alg_ruimte_verwijder is null;
IF (v_count = 0) THEN
v_ruimte_key := -1;
END IF;
RETURN v_ruimte_key;
EXCEPTION
WHEN OTHERS
THEN RETURN -1;
END get_rui_key;
--
--
PROCEDURE set_rui_key( p_verdieping_key IN NUMBER, p_ruimte_nr VARCHAR2) IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_ruimte_key NUMBER(10);
BEGIN
select max(r.alg_ruimte_key), count(*)
into v_ruimte_key, v_count
from alg_ruimte r, alg_verdieping v
where r.alg_ruimte_nr = p_ruimte_nr
and r.alg_verdieping_key = v.alg_verdieping_key
and v.alg_verdieping_key = p_verdieping_key
and r.alg_ruimte_verwijder is null;
IF (v_count = 0) THEN
SELECT alg_s_alg_onroerendgoed_keys.NEXTVAL
INTO v_ruimte_key
FROM DUAL;
INSERT INTO ALG_RUIMTE
(ALG_RUIMTE_KEY
,ALG_VERDIEPING_KEY
,ALG_RUIMTE_NR
,ALG_RUIMTE_OMSCHRIJVING)
VALUES
(v_ruimte_key
,p_verdieping_key
,p_ruimte_nr
,'');
END IF;
EXCEPTION
WHEN OTHERS
THEN v_dummy := 'Dummy opdracht';
END set_rui_key;
--
--
FUNCTION get_afd_key( p_afdeling_parentnaam IN VARCHAR2, p_afdeling_naam IN VARCHAR2) RETURN NUMBER IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_afdeling_key NUMBER(10);
BEGIN
select max(a.prs_afdeling_key), count(*)
into v_afdeling_key, v_count
from prs_afdeling a, prs_afdeling p
where trim(a.prs_afdeling_upper) = trim(upper(p_afdeling_naam))
and trim(p.prs_afdeling_upper) = trim(upper(p_afdeling_parentnaam))
and a.prs_afdeling_parentkey = p.prs_afdeling_key
and a.prs_afdeling_verwijder is null
and p.prs_afdeling_verwijder is null;
IF (v_count = 0) THEN
SELECT max(prs_afdeling_key), count(*)
into v_afdeling_key, v_count
from prs_afdeling
where prs_afdeling_verwijder is null
and prs_afdeling_parentkey is null
and prs_afdeling_upper = upper('ONB');
IF (v_count = 0) THEN
v_afdeling_key := -1;
END IF;
END IF;
RETURN v_afdeling_key;
EXCEPTION
WHEN OTHERS
THEN RETURN -1;
END get_afd_key;
--
--
PROCEDURE set_afd_key( p_afdeling_parentnaam IN VARCHAR2, p_afdeling_naam IN VARCHAR2) IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_afdeling_key NUMBER(10);
v_afdeling_parentkey NUMBER(10);
BEGIN
select max(a.prs_afdeling_key), max(p.prs_afdeling_key), count(*)
into v_afdeling_key, v_afdeling_parentkey, v_count
from prs_afdeling a, prs_afdeling p
where trim(a.prs_afdeling_upper) = trim(upper(p_afdeling_naam))
and trim(p.prs_afdeling_upper) = trim(upper(p_afdeling_parentnaam))
and a.prs_afdeling_parentkey = p.prs_afdeling_key
and a.prs_afdeling_verwijder is null
and p.prs_afdeling_verwijder is null;
IF ((v_count = 0) and (p_afdeling_naam is not null) and (p_afdeling_parentnaam is not null)) THEN
SELECT max(prs_afdeling_key), count(*)
into v_afdeling_parentkey, v_count
from prs_afdeling
where prs_afdeling_verwijder is null
and prs_afdeling_upper = upper(p_afdeling_parentnaam);
IF (v_count = 0) THEN
SELECT count(*)
into v_count
from prs_afdeling
where prs_afdeling_verwijder is null
and prs_afdeling_parentkey is null
and prs_afdeling_upper = upper('ONB');
IF (v_count = 0) THEN
INSERT INTO PRS_AFDELING
(prs_bedrijf_key
,prs_afdeling_parentkey
,prs_afdeling_naam
,prs_afdeling_omschrijving
)
VALUES
(1
,NULL
,'ONB'
,'ONBEKEND'
);
END IF;
ELSE
SELECT prs_s_prs_afdeling_key.NEXTVAL
INTO v_afdeling_key
FROM DUAL;
INSERT INTO PRS_AFDELING
(PRS_AFDELING_KEY
,PRS_AFDELING_PARENTKEY
,PRS_AFDELING_NAAM
,PRS_AFDELING_OMSCHRIJVING
) VALUES
(v_afdeling_key
,v_afdeling_parentkey
,p_afdeling_naam
,''
);
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN v_dummy := 'Dummy opdracht';
END set_afd_key;
--
--
FUNCTION get_wrk_key( p_ruimte_key IN NUMBER, p_perslid_key NUMBER) RETURN NUMBER IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_werkplek_key NUMBER(10);
v_werkplek_volgnr NUMBER(3);
v_werkplek_omschrijving VARCHAR2(30);
BEGIN
select max(w.prs_werkplek_key), count(*)
into v_werkplek_key, v_count
from prs_perslidwerkplek pw, prs_werkplek w
where pw.prs_perslidwerkplek_verwijder is null
and w.prs_werkplek_verwijder is null
and pw.prs_werkplek_key = w.prs_werkplek_key
and w.prs_alg_ruimte_key = p_ruimte_key
and pw.prs_perslid_key = p_perslid_key;
IF (v_count = 0) THEN
v_werkplek_key := -1;
END IF;
RETURN v_werkplek_key;
EXCEPTION
WHEN OTHERS
THEN RETURN -1;
END get_wrk_key;
--
--
PROCEDURE set_wrk_key( p_ruimte_key IN NUMBER, p_perslid_key NUMBER) IS
-- variabelen
v_dummy VARCHAR2(16);
v_count NUMBER(10);
v_werkplek_key NUMBER(10);
v_werkplek_volgnr NUMBER(3);
v_werkplek_omschrijving VARCHAR2(30);
v_debug BOOLEAN;
BEGIN
v_debug := false; -- false bij oplevering!
BAMG_import_export.to_log(v_debug,'Heeft de persoon een werkplek in een bepaalde ruimte?','debug set_wrk_key');
select max(w.prs_werkplek_key), count(*)
into v_werkplek_key, v_count
from prs_perslidwerkplek pw, prs_werkplek w
where pw.prs_perslidwerkplek_verwijder is null
and w.prs_werkplek_verwijder is null
and pw.prs_werkplek_key = w.prs_werkplek_key
and w.prs_alg_ruimte_key = p_ruimte_key
and pw.prs_perslid_key = p_perslid_key;
IF (v_count = 0) THEN
BAMG_import_export.to_log(v_debug,'Verwijder koppeling persoon/werkplek indien deze aanwezig is.','debug set_wrk_key');
-- Bij verhuizen van werkplek naar een andere ruimte.
DELETE
FROM prs_perslidwerkplek
WHERE prs_perslid_key = p_perslid_key;
BAMG_import_export.to_log(v_debug,'Bepalen of er een bestaande lege werkplek 100% beschikbaar is','debug set_wrk_key');
SELECT prs_werkplek_key
INTO v_werkplek_key
FROM (
SELECT w.prs_werkplek_key, SUM(NVL(prs_perslidwerkplek_bezetting,0)) perslidwerkplek_bezetting_sum
FROM PRS_PERSLIDWERKPLEK pw, PRS_WERKPLEK w
WHERE pw.prs_perslidwerkplek_verwijder IS NULL
AND w.prs_werkplek_verwijder IS NULL
AND pw.prs_werkplek_key(+) = w.prs_werkplek_key
AND w.prs_alg_ruimte_key = p_ruimte_key
GROUP BY w.prs_werkplek_key
UNION ALL
SELECT -1,0
FROM dual
)
WHERE perslidwerkplek_bezetting_sum = 0
AND ROWNUM = 1 -- ivm 'too many rows'
GROUP BY prs_werkplek_key;
IF (v_werkplek_key = -1) THEN
BAMG_import_export.to_log(v_debug,'Bepalen volgnummer','debug set_wrk_key');
SELECT max(prs_werkplek_volgnr)+1
INTO v_werkplek_volgnr
FROM
(
SELECT MAX(nvl(prs_werkplek_volgnr,0)) prs_werkplek_volgnr
FROM PRS_PERSLIDWERKPLEK pw, PRS_WERKPLEK w
WHERE w.prs_werkplek_key = pw.prs_werkplek_key
AND prs_alg_ruimte_key = p_ruimte_key
GROUP BY prs_alg_ruimte_key
UNION
SELECT 0
FROM dual
);
BAMG_import_export.to_log(v_debug,'Bepalen werkplekomschrijving','debug set_wrk_key');
SELECT TO_CHAR(v.alg_verdieping_volgnr) || '.' || r.alg_ruimte_nr || '/' || to_char(v_werkplek_volgnr)
INTO v_werkplek_omschrijving
FROM ALG_RUIMTE r, ALG_VERDIEPING v
WHERE r.alg_ruimte_key = p_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key;
SELECT prs_s_prs_werkplek_key.NEXTVAL
INTO v_werkplek_key
FROM DUAL;
BAMG_import_export.to_log(v_debug,'INSERT INTO prs_werkplek','debug set_wrk_key');
INSERT INTO prs_werkplek
(prs_werkplek_key
,prs_werkplek_volgnr
,prs_werkplek_omschrijving
,prs_alg_ruimte_key
) VALUES
(v_werkplek_key
,v_werkplek_volgnr
,v_werkplek_omschrijving
,p_ruimte_key
);
END IF;
BAMG_import_export.to_log(v_debug,'INSERT INTO PRS_PERSLIDWERKPLEK','debug set_wrk_key');
INSERT INTO PRS_PERSLIDWERKPLEK
(PRS_PERSLID_KEY
,PRS_WERKPLEK_KEY
) VALUES
(p_perslid_key
,v_werkplek_key);
END IF;
EXCEPTION
WHEN OTHERS
THEN v_dummy := 'Dummy opdracht';
END set_wrk_key;
--
--
--
END BAMG_import_export;
/
-- show errors
CREATE OR REPLACE PROCEDURE BAMG_import_telefoon (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2
)
AS
-- constanten
c_fielddelimitor VARCHAR2 (1) := ';'; -- Field seperator
-- import
v_filehandle UTL_FILE.file_type;
v_field VARCHAR2 (100); -- Import field
v_newline fac_imp_file.fac_imp_file_line%TYPE;
header_is_valid BOOLEAN;
v_aantal NUMBER;
-- foutafhandeling
v_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errmes VARCHAR(1024);
-- De importvelden
v_perslid_naam VARCHAR2(64);
v_perslid_telefoon VARCHAR2(64);
v_afdeling_parent_omschrijving VARCHAR2(64);
v_ruimte VARCHAR2(64);
v_afdeling_naam VARCHAR2(64);
v_fax VARCHAR2(64);
v_teller NUMBER;
CURSOR c1 IS
SELECT *
FROM fac_imp_file
WHERE fac_imp_file_applicatie = p_applname;
rec1 c1%ROWTYPE;
BEGIN
-- Init
header_is_valid := FALSE;
-- Clear my previous imported rows
DELETE FROM BAMG_imp_telefoon;
-- Clear my old logs
DELETE FROM IMP_LOG
WHERE imp_log_applicatie = p_applname;
BEGIN
v_teller := 0;
OPEN c1;
IF c1%ISOPEN THEN
v_teller := 1;
LOOP
BEGIN
v_errmes := 'Fout FETCH te importeren rij';
FETCH c1 INTO rec1;
EXIT WHEN c1%NOTFOUND;
v_errmes := 'Fout opvragen te importeren rij';
v_newline := rec1.fac_imp_file_line;
fac.imp_getfield (v_newline, c_fielddelimitor, v_perslid_naam);
fac.imp_getfield (v_newline, c_fielddelimitor, v_perslid_telefoon);
fac.imp_getfield (v_newline, c_fielddelimitor, v_afdeling_parent_omschrijving);
fac.imp_getfield (v_newline, c_fielddelimitor, v_ruimte);
fac.imp_getfield (v_newline, c_fielddelimitor, v_afdeling_naam);
fac.imp_getfield (v_newline, c_fielddelimitor, v_fax);
-- Skip until a valid header is found
IF ( header_is_valid = FALSE
AND trim(upper(v_perslid_naam)) LIKE 'NAAM'
)
THEN
header_is_valid := TRUE;
ELSIF (header_is_valid)
THEN
INSERT INTO BAMG_imp_telefoon
(perslid_naam
,perslid_telefoon
,afdeling_parent_omschrijving
,ruimte
,afdeling_naam
,fax
)
VALUES (SUBSTR (RTRIM(v_perslid_naam), 1, 64)
,SUBSTR (RTRIM(v_perslid_telefoon), 1, 64)
,SUBSTR (RTRIM(v_afdeling_parent_omschrijving), 1, 64)
,SUBSTR (RTRIM(v_ruimte), 1, 64)
,SUBSTR (RTRIM(v_afdeling_naam), 1, 64)
,SUBSTR (RTRIM(v_fax), 1, 64)
);
END IF;
header_is_valid := TRUE;
COMMIT;
IF (NOT header_is_valid)
THEN
fac.imp_writelog (p_applname,
p_applrun,
'E',
'Invalid import file',
'Er is geen geldige header aangetroffen in het importbestand'
);
END IF;
COMMIT; -- alles is goed gegaan
END;
END LOOP;
END IF;
CLOSE c1;
SELECT COUNT (*)
INTO v_aantal
FROM bamg_imp_telefoon t, prs_v_aanwezigperslid p
WHERE p.prs_perslid_upper = UPPER (t.perslid_naam);
fac.imp_writelog (p_applname, p_applrun, 'S', 'Personen import: aantal medewerkers in beide bestanden: '|| v_aantal,'');
SELECT COUNT (*)
INTO v_aantal
FROM prs_v_aanwezigperslid
WHERE prs_perslid_upper NOT IN (SELECT UPPER (perslid_naam)
FROM bamg_imp_telefoon);
fac.imp_writelog (p_applname, p_applrun, 'S', 'Personen import: aantal Facilitor medewerkers niet in import: '|| v_aantal,'');
SELECT COUNT (*)
INTO v_aantal
FROM bamg_imp_telefoon
WHERE UPPER (perslid_naam) NOT IN (SELECT prs_perslid_upper
FROM prs_v_aanwezigperslid);
fac.imp_writelog (p_applname, p_applrun, 'S', 'Personen import: aantal nieuw op te voeren medewerkers: '|| v_aantal,'');
SELECT COUNT (*)
INTO v_aantal
FROM (SELECT DISTINCT afdeling_parent_omschrijving
FROM bamg_imp_telefoon
WHERE afdeling_parent_omschrijving NOT IN (
SELECT prs_afdeling_omschrijving
FROM prs_v_aanwezigafdeling
WHERE prs_afdeling_omschrijving IS NOT NULL));
fac.imp_writelog (p_applname, p_applrun, 'S', 'Personen import: aantal onbekende werkmaatschappijen: '|| v_aantal,'Zie errors voor details');
INSERT INTO IMP_LOG
( IMP_LOG_APPLICATIE
, IMP_LOG_RUN
, IMP_LOG_DATUM
, IMP_LOG_STATUS
, IMP_LOG_OMSCHRIJVING
, IMP_LOG_HINT )
(
SELECT p_applname
,p_applrun
,sysdate
,'E'
, 'Personen import: Werkmaatschappij: '
|| afdeling_parent_omschrijving
|| ' komt niet voor in Facilitor en wordt '
|| COUNT (afdeling_parent_omschrijving)
|| ' keer in import gebruikt'
,''
FROM bamg_imp_telefoon
WHERE afdeling_parent_omschrijving NOT IN (
SELECT prs_afdeling_omschrijving
FROM prs_v_aanwezigafdeling
WHERE prs_afdeling_omschrijving IS NOT NULL)
GROUP BY afdeling_parent_omschrijving);
COMMIT;
END;
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
fac.imp_writelog (p_applname,
p_applrun,
'E',
'Personen import: '|| v_errmes,
'Oracle foutmelding (' || oracle_err_num || '/' || oracle_err_mes || ')'
);
COMMIT; -- Logging opslaan
END;
/
/* Formatted on 2005/10/11 14:25 (Formatter Plus v4.8.5) */
CREATE OR REPLACE PROCEDURE BAMG_update_telefoon (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
AS
-- Constanten
c_bedrijf_key NUMBER(10) := 0;
c_srtperslid_upper VARCHAR2(30) := 'INTERN';
c_locatie_code VARCHAR2(30) := 'BUN%';
c_perslid_module VARCHAR(3) := 'PRS';
c_kenmerk_upper_fax VARCHAR(30) := 'FAXNUMMER';
c_perslid_nr_import VARCHAR(10) := 'IMPORT';
c_commitbuffer NUMBER := 1000;
c_max_percentage_delete NUMBER := 10;
c_minimum_import_rows NUMBER := 100;
-- Data
CURSOR c_prs_update
IS
SELECT *
FROM BAMG_v_imp_telefoon_mod
WHERE 0=0;
rec_prs_upd c_prs_update%ROWTYPE;
-- Error handling
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (1024);
v_errorhint VARCHAR2 (1024);
v_errmes VARCHAR2 (1024);
v_action VARCHAR2 (64);
v_continue BOOLEAN;
-- Overig
v_buffercount NUMBER := 0;
v_perslid_count_imp NUMBER (10);
v_perslid_count_del NUMBER (10);
v_imp_count NUMBER (10);
v_perslid_key NUMBER (10);
v_srtperslid_key NUMBER (10);
v_afdeling_key NUMBER (10);
v_locatie_key NUMBER (10);
v_locatie_code VARCHAR2(10);
v_gebouw_key NUMBER (10);
v_verdieping_key NUMBER (10);
v_ruimte_key NUMBER (10);
v_werkplek_key NUMBER (10);
v_kenmerk_key_fax NUMBER(10);
v_dummy_key NUMBER (10);
v_gebouw_code VARCHAR2 (10);
v_srtperslid_omschr VARCHAR (30);
v_count NUMBER (10);
v_update BOOLEAN;
--v_filehandle UTL_FILE.file_type;
v_aktie VARCHAR (10);
v_perslid_del_percentage NUMBER (10);
v_goto_next_record BOOLEAN;
BEGIN
-- ****
-- Init
-- ****
select count(*)
into v_perslid_count_imp
from BAMG_v_imp_telefoon;
DELETE FROM IMP_LOG
WHERE imp_log_applicatie = p_applname
AND imp_log_run <> p_applrun;
IF (v_perslid_count_imp < c_minimum_import_rows) THEN
-- Er is kennelijk wel geen (geldig) importbestand (waarschijnlijk leeg)
v_continue := false;
ELSE
-- Er is kennelijk een (geldig?) importbestand
v_continue := true;
END IF;
IF v_continue THEN
DELETE FROM imp_log
WHERE imp_log_applicatie = p_applname;
v_errorhint := 'Onbekende fout';
v_errmes := 'Onbekende fout';
select count(*)
into v_perslid_count_del
from BAMG_v_imp_telefoon_del;
-- Informatieve logging, zien we gelijk hoe laat het was
fac.imp_writelog (p_applname,
p_applrun,
'I',
'Aantal te verwerken records: ' || TO_CHAR (v_perslid_count_imp),
'Dit is een algemeen informatieve melding'
);
IF (v_perslid_count_del <> 0) THEN -- test ivm delen door 0
v_perslid_del_percentage := (v_perslid_count_del/v_perslid_count_imp) * 100;
IF ((v_perslid_count_del/v_perslid_count_imp * 100) > c_max_percentage_delete) THEN
fac.imp_writelog (p_applname,
p_applrun,
'E',
'Import afgebroken: er moeten ' ||
TO_CHAR (v_perslid_del_percentage) ||
'% van de personen in Facilitor verwijderd worden terwijl een maximum van '||
TO_CHAR (v_perslid_del_percentage) ||
'% is toegestaan. Neem eventueel contact op met applicatiebeheer.',
''
);
v_continue := false;
END IF;
END IF;
END IF;
IF v_continue THEN
/*
v_errmes := 'Zoeken locatie Bunnink';
SELECT alg_locatie_key, alg_locatie_code||'%'
FROM alg_locatie
INTO v_locatie_key, v_locatie_code
WHERE alg_locatie_verwijder is null
AND upper(alg_locatie_code) like c_locatie_code;
*/
v_errmes := 'Zoeken Functie Intern';
SELECT prs_srtperslid_key
INTO v_srtperslid_key
FROM prs_srtperslid
WHERE prs_srtperslid_verwijder is null
AND prs_srtperslid_upper = c_srtperslid_upper;
v_errmes := 'Zoeken kenmerk Fax';
SELECT min(prs_kenmerk_key)
INTO v_kenmerk_key_fax
FROM prs_kenmerk
WHERE prs_kenmerk_upper = c_kenmerk_upper_fax
AND prs_kenmerk_verwijder is null
AND prs_kenmerk_niveau = 'P';
-- ********
-- 'Delete'
-- ********
v_action := 'DELETE';
update prs_perslid x
set prs_perslid_einddatum = sysdate
where EXISTS (
SELECT p.prs_perslid_key
FROM PRS_PERSLID p, BAMG_v_imp_telefoon tel
WHERE p.prs_perslid_upper = tel.perslid_upper(+)
AND tel.perslid_upper IS NULL
AND p.prs_perslid_nr = 'IMPORT'
AND p.prs_perslid_verwijder IS NULL
AND ((p.prs_perslid_einddatum IS NULL) OR (p.prs_perslid_einddatum > sysdate))
AND x.prs_perslid_key = p.prs_perslid_key
AND rownum = 1);
v_errormsg := 'Try to open cursor (mod)';
v_errmes := v_errormsg;
v_action := 'INSERT/UPDATE';
FOR rec_prs_upd IN c_prs_update
LOOP
BEGIN
v_goto_next_record := false;
IF (rec_prs_upd.verdieping_volgnr is not null AND rec_prs_upd.ruimte_nr is not null) THEN
v_errormsg := 'Getting v_gebouw_key';
v_errormsg := 'Opvragen verdiepinggegevens in Facilitor';
-- BAMG_import_export.set_geb_key(v_locatie_code,rec_prs_upd.gebouw_code);
SELECT BAMG_import_export.get_geb_key(c_locatie_code,rec_prs_upd.gebouw_code)
INTO v_gebouw_key
FROM dual;
v_errormsg := 'Opvragen verdiepinggegevens in Facilitor';
BAMG_import_export.set_ver_key(v_gebouw_key,rec_prs_upd.verdieping_volgnr);
SELECT BAMG_import_export.get_ver_key(v_gebouw_key,rec_prs_upd.verdieping_volgnr)
INTO v_verdieping_key
FROM dual;
v_errormsg := 'Opvragen ruimtegegevens in Facilitor';
BAMG_import_export.set_rui_key(v_verdieping_key,rec_prs_upd.ruimte_nr);
SELECT BAMG_import_export.get_rui_key(v_verdieping_key,rec_prs_upd.ruimte_nr)
INTO v_ruimte_key
FROM dual;
COMMIT;
ELSE
v_gebouw_key := -1;
v_verdieping_key := -1;
v_ruimte_key := -1;
END IF;
v_errormsg := 'Herleiden afdeling met naam <'||nvl(rec_prs_upd.afdeling_naam,'')||'>';
BAMG_import_export.set_afd_key(rec_prs_upd.afdeling_parent,rec_prs_upd.afdeling_naam);
SELECT BAMG_import_export.get_afd_key(rec_prs_upd.afdeling_parent,rec_prs_upd.afdeling_naam)
INTO v_afdeling_key
FROM dual;
IF (v_afdeling_key > 0) THEN
IF (rec_prs_upd.prs_perslid_key <= 0) THEN
v_errormsg := 'Toevoegen persoon met naam <'||nvl(rec_prs_upd.perslid_naam,'')||'>';
SELECT prs_s_prs_alluitvoerende_keys.NEXTVAL
INTO v_perslid_key
FROM DUAL;
INSERT INTO PRS_PERSLID
(PRS_PERSLID_KEY
,PRS_PERSLID_MODULE
,PRS_SRTPERSLID_KEY
,PRS_AFDELING_KEY
,PRS_PERSLID_NAAM
,PRS_PERSLID_NR
,PRS_PERSLID_OSLOGIN
,PRS_PERSLID_TELEFOONNR
) VALUES
(v_perslid_key
,c_perslid_module
,v_srtperslid_key
,v_afdeling_key
,rec_prs_upd.perslid_naam
,c_perslid_nr_import
,NULL
,rec_prs_upd.perslid_telefoon
);
ELSE
v_perslid_key := rec_prs_upd.prs_perslid_key;
v_errormsg := 'Wijzigen persoon met naam <'||nvl(rec_prs_upd.perslid_naam,'')||'>';
UPDATE PRS_PERSLID
SET PRS_AFDELING_KEY = v_afdeling_key
, PRS_PERSLID_NAAM = rec_prs_upd.perslid_naam
, PRS_PERSLID_TELEFOONNR = rec_prs_upd.perslid_telefoon
WHERE prs_perslid_key = v_perslid_key;
END IF;
-- FlexProp FAXNUMMER
select count(*)
into v_count
from prs_kenmerklink
where prs_kenmerklink_verwijder is null
and prs_kenmerk_key = v_kenmerk_key_fax
and prs_link_key = v_perslid_key;
IF (v_count = 0) THEN
IF (rec_prs_upd.fax IS NOT NULL) THEN
INSERT INTO PRS_KENMERKLINK
(PRS_LINK_KEY
,PRS_KENMERKLINK_NIVEAU
,PRS_KENMERK_KEY
,PRS_KENMERKLINK_WAARDE
) VALUES
(v_perslid_key
,'P'
,v_kenmerk_key_fax
,rec_prs_upd.fax);
END IF;
ELSE
IF (rec_prs_upd.fax IS NOT NULL) THEN
UPDATE PRS_KENMERKLINK
set PRS_KENMERKLINK_WAARDE = rec_prs_upd.fax
where prs_kenmerklink_verwijder is null
and prs_kenmerk_key = v_kenmerk_key_fax
and prs_link_key = v_perslid_key;
ELSE
DELETE
FROM PRS_KENMERKLINK
where prs_kenmerklink_verwijder is null
and prs_kenmerk_key = v_kenmerk_key_fax
and prs_link_key = v_perslid_key;
END IF;
END IF;
-- WERKPLEK aanmaken en koppelen indien noodzakelijk
--fac.imp_writelog (p_applname, p_applrun, 'I', 'WERKPLEK aanmaken en koppelen indien noodzakelijk', to_char(v_perslid_key)||','||to_char(v_ruimte_key));
BAMG_import_export.set_wrk_key(v_ruimte_key,v_perslid_key);
v_buffercount := v_buffercount + 1;
IF v_buffercount >= c_commitbuffer
THEN
COMMIT;
v_buffercount := 0;
END IF;
ELSE
v_errormsg := 'v_afdeling_key <= 0 !!! Log iets indien de afdeling NIET leeg is';
IF (rec_prs_upd.afdeling_naam IS NOT NULL) THEN
v_errormsg := 'Kan geen afdeling vinden voor afdeling met naam <'||rec_prs_upd.afdeling_naam||'> bij persoon <'||rec_prs_upd.perslid_naam||'>';
fac.imp_writelog (p_applname, p_applrun, 'E', '', v_errormsg);
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errorhint := v_errormsg;
v_errormsg := '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, v_errorhint);
commit; -- tbv logging
END;
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errorhint := v_errmes;
v_errormsg := '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_applname, p_applrun, 'E', v_errormsg, v_errorhint);
commit;
END;
/
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
DELETE FROM imp_log
WHERE imp_log_applicatie = p_applname;
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.imp_writelog (p_applname, p_applrun, '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.imp_writelog (p_applname, p_applrun, '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.imp_writelog (p_applname, p_applrun, 'I', 'Aantal afgemelde delen: ' || v_count, '');
EXCEPTION
WHEN OTHERS
THEN
fac.imp_writelog (p_applname, p_applrun, '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<EFBFBD>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));
BEGIN fac.registercustversion('BAMG', 11); END;
/
spool off
commit;