IMPU#70628 -- Implementatie Facilitor bij Impuls Kinderopvang
svn path=/Customer/trunk/; revision=54990
This commit is contained in:
547
IMPU/impu.sql
Normal file
547
IMPU/impu.sql
Normal file
@@ -0,0 +1,547 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Script containing customer specific sql statements for the FACILITOR database
|
||||
|
||||
DEFINE thisfile = 'impu.SQL'
|
||||
DEFINE dbuser = 'IMPU'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
---------------------------------------
|
||||
PROMPT &fcltcusttxt
|
||||
---------------------------------------
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE impu_import_perslid (p_import_key IN NUMBER)
|
||||
AS
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (400);
|
||||
v_errorhint VARCHAR2 (400);
|
||||
v_aantal_in_fclt NUMBER;
|
||||
|
||||
-- overige variabelen
|
||||
v_prs_afdeling_key NUMBER(10);
|
||||
c_prs_afdeling_key NUMBER(10) := 62 ; -- Fallback-afdeling 'ONBEKEND_IMPU'
|
||||
v_alg_locatie_key NUMBER(10);
|
||||
v_alg_locatie_code VARCHAR2(10);
|
||||
v_alg_gebouw_key NUMBER(10);
|
||||
v_alg_gebouw_code VARCHAR2(12);
|
||||
v_alg_verdieping_key NUMBER(10);
|
||||
v_alg_verdieping_volgnr NUMBER(3);
|
||||
v_alg_ruimte_key NUMBER(10);
|
||||
v_alg_ruimte_nr VARCHAR2(20);
|
||||
|
||||
|
||||
CURSOR c_afd
|
||||
IS
|
||||
SELECT fac_imp_file_index, prs_kenmerk1, prs_afdeling_naam
|
||||
FROM fac_imp_perslid
|
||||
WHERE fac_import_key = p_import_key ;
|
||||
|
||||
CURSOR c_loc
|
||||
IS
|
||||
SELECT fac_imp_file_index, prs_kenmerk4
|
||||
FROM fac_imp_perslid
|
||||
WHERE fac_import_key = p_import_key ;
|
||||
|
||||
CURSOR c_mob
|
||||
IS
|
||||
SELECT fac_imp_file_index, i.prs_perslid_oslogin, p.prs_perslid_key, v.ins_deel_key, SUBSTR(v.nummer_object,1,15) nummer_object, p.prs_perslid_mobiel, p.prs_perslid_telefoonnr
|
||||
FROM fac_imp_perslid i, prs_perslid p, sinn_v_telefoonnr_klantobject v
|
||||
WHERE fac_import_key = p_import_key
|
||||
AND i.prs_perslid_oslogin = p.prs_perslid_oslogin
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_key = v.prs_perslid_key (+)
|
||||
AND (v.ins_deel_key IS NULL OR v.ins_deel_key IN (select min(ins_deel_key) from sinn_v_telefoonnr_klantobject where prs_perslid_key = p.prs_perslid_key))
|
||||
;
|
||||
|
||||
|
||||
BEGIN
|
||||
-- Het aangeleverde bestand heeft de gegevens komma gescheiden ipv ;
|
||||
v_errorhint := 'Delimiter goed zetten';
|
||||
UPDATE fac_imp_file
|
||||
SET fac_imp_file_line = REPLACE (fac_imp_file_line, ',', ';')
|
||||
WHERE fac_import_key = p_import_key;
|
||||
|
||||
-- Het aangeleverde bestand heeft aanhalingstekens om de invoervelden..
|
||||
UPDATE fac_imp_file
|
||||
SET fac_imp_file_line = REPLACE (fac_imp_file_line, '"', '')
|
||||
WHERE fac_import_key = p_import_key;
|
||||
|
||||
|
||||
v_errorhint := 'Generieke update';
|
||||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid procedure
|
||||
-- Voor IMPULS geldt:
|
||||
---
|
||||
prs.import_perslid (
|
||||
p_import_key,
|
||||
'0;0;0;0;0;0;1;1;0;3;'
|
||||
|| '0;0;0;0;0;0;0;5;0;9;'
|
||||
|| '1;0;0;0;0;0;7;4;6;8;'
|
||||
|| '2;0;0;0;0;0;0;0;0;0;'
|
||||
|| '0;0;0;0;0;0',
|
||||
'Country;UserPrincipalName;GivenName;Surname;Mail;JobTitle;Department;PhysicalDeliveryOfficeName;EmployeeId%');
|
||||
-- Country;UserPrincipalName;GivenName;Surname;Mail;JobTitle;Department;PhysicalDeliveryOfficeName;EmployeeId
|
||||
-- DEF. BESTAND bij IMPULS : "Country","UserPrincipalName","GivenName","Surname","Mail","JobTitle","Department","PhysicalDeliveryOfficeName","EmployeeId"
|
||||
|
||||
v_errorhint := 'Login afleiden van emailadres';
|
||||
-- Loginnaam afleiden van emailadres
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_perslid_oslogin =
|
||||
UPPER((SUBSTR (prs_perslid_email,
|
||||
0,
|
||||
INSTR (prs_perslid_email, '@') - 1)))
|
||||
WHERE
|
||||
UPPER (prs_perslid_email) LIKE '%IMPULS.NL'
|
||||
AND prs_perslid_email IS NOT NULL
|
||||
AND LENGTH((SUBSTR (prs_perslid_email,
|
||||
0,
|
||||
INSTR (prs_perslid_email, '@') - 1))) <=30 ;
|
||||
|
||||
v_errorhint := 'Delete record op basis klantregels';
|
||||
-- Delete uit AD IMPULS - Opschoning NODIG ??
|
||||
/*DELETE fac_imp_perslid
|
||||
WHERE UPPER (prs_kenmerk3) IN ('GEDEELD POSTVAK','GENERIEK ACCOUNT', 'OC', 'RVT', 'RESOURCES') OR prs_kenmerk3 IS NULL;
|
||||
|
||||
DELETE fac_imp_perslid
|
||||
WHERE UPPER (prs_kenmerk5) NOT LIKE '%SINNEKINDEROPVANG.NL';
|
||||
*/
|
||||
|
||||
v_errorhint := 'Functie goed vullen';
|
||||
-- Functie is niet altijd gevuld, eerst gevuld met Gebruikerslocatie, nu vullen met kenmerk3 (of 'Onbekend').
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_srtperslid_omschrijving =
|
||||
DECODE (prs_kenmerk3, NULL, 'Onbekend', prs_kenmerk3);
|
||||
|
||||
v_errorhint := 'Naam goed vullen';
|
||||
-- Naam is niet altijd gevuld, eerst gevuld met Gebruikerslocatie, nu vullen met kenmerk2 (of 'Algemeen').
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_perslid_naam =
|
||||
DECODE (prs_kenmerk2, NULL, 'Algemeen', prs_kenmerk2);
|
||||
|
||||
v_errorhint := 'Afdeling bepalen en vullen';
|
||||
-- Afdeling bepalen waar persoon onder komt te vallen
|
||||
FOR rec IN c_afd
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
v_errorhint := 'Persoon aan Afdeling koppelen';
|
||||
|
||||
SELECT min(prs_afdeling_key)
|
||||
INTO v_prs_afdeling_key
|
||||
FROM prs_v_afdeling
|
||||
WHERE UPPER(prs_afdeling_naam) = UPPER(rec.prs_kenmerk1)
|
||||
AND prs_bedrijf_key = 21 -- bedrijf IMPULS - !!!!!!!!
|
||||
AND prs_afdeling_verwijder IS NULL ;
|
||||
|
||||
IF v_prs_afdeling_key IS NOT NULL THEN
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam = (SELECT prs_afdeling_upper FROM prs_afdeling WHERE prs_afdeling_key = v_prs_afdeling_key)
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||||
|
||||
ELSE
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam = (SELECT prs_afdeling_upper FROM prs_afdeling WHERE prs_afdeling_key = c_prs_afdeling_key)
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_errorhint := 'Locatie bepalen en vullen';
|
||||
-- Default Locatie / Standplaats bepalen voor persoon
|
||||
FOR rec IN c_loc
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
v_errorhint := 'Persoon aan Locatie-Ruimte koppelen';
|
||||
v_alg_locatie_key := NULL;
|
||||
v_alg_gebouw_key := NULL;
|
||||
v_alg_verdieping_key := NULL;
|
||||
v_alg_ruimte_key := NULL;
|
||||
|
||||
SELECT min(alg_locatie_key)
|
||||
INTO v_alg_locatie_key
|
||||
FROM alg_locatie
|
||||
WHERE UPPER(alg_locatie_omschrijving) = UPPER(rec.prs_kenmerk4)
|
||||
AND (TRUNC(alg_locatie_vervaldatum) > TRUNC(sysdate) OR alg_locatie_vervaldatum IS NULL )
|
||||
AND alg_locatie_verwijder IS NULL ;
|
||||
|
||||
IF v_alg_locatie_key IS NOT NULL THEN
|
||||
|
||||
-- Locatie_code ophalen
|
||||
SELECT alg_locatie_code
|
||||
INTO v_alg_locatie_code
|
||||
FROM alg_locatie
|
||||
WHERE alg_locatie_key = v_alg_locatie_key ;
|
||||
|
||||
-- Gebouw_key ophalen
|
||||
SELECT min(alg_gebouw_key)
|
||||
INTO v_alg_gebouw_key
|
||||
FROM alg_gebouw
|
||||
WHERE alg_locatie_key = v_alg_locatie_key
|
||||
AND alg_gebouw_verwijder IS NULL
|
||||
AND (TRUNC(alg_gebouw_vervaldatum) > TRUNC(sysdate) OR alg_gebouw_vervaldatum IS NULL ) ;
|
||||
|
||||
-- Om bij update dit kenmerkveld weg te kunnen schrijven naar kenmerkveld 'default standplaats'
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_kenmerk6 = (SELECT UPPER(alg_locatie_code) || alg_locatie_omschrijving FROM alg_locatie WHERE alg_locatie_key = v_alg_locatie_key)
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||||
|
||||
IF v_alg_gebouw_key IS NOT NULL THEN
|
||||
|
||||
-- Gebouw_code ophalen
|
||||
SELECT alg_gebouw_code
|
||||
INTO v_alg_gebouw_code
|
||||
FROM alg_gebouw
|
||||
WHERE alg_gebouw_key = v_alg_gebouw_key ;
|
||||
|
||||
-- Verdiepings_key ophalen
|
||||
SELECT min(alg_verdieping_key)
|
||||
INTO v_alg_verdieping_key
|
||||
FROM alg_verdieping
|
||||
WHERE alg_gebouw_key = v_alg_gebouw_key
|
||||
AND alg_verdieping_verwijder IS NULL ;
|
||||
|
||||
END IF;
|
||||
|
||||
IF v_alg_verdieping_key IS NOT NULL THEN
|
||||
|
||||
-- Verdieping_volgnr ophalen
|
||||
SELECT alg_verdieping_volgnr
|
||||
INTO v_alg_verdieping_volgnr
|
||||
FROM alg_verdieping
|
||||
WHERE alg_verdieping_key = v_alg_verdieping_key ;
|
||||
|
||||
-- Ruimte_key ophalen
|
||||
SELECT min(alg_ruimte_key)
|
||||
INTO v_alg_ruimte_key
|
||||
FROM alg_ruimte
|
||||
WHERE alg_verdieping_key = v_alg_verdieping_key
|
||||
AND alg_ruimte_verwijder IS NULL ;
|
||||
|
||||
END IF;
|
||||
|
||||
IF v_alg_ruimte_key IS NOT NULL THEN
|
||||
|
||||
-- Ruimte_nr ophalen
|
||||
SELECT alg_ruimte_nr
|
||||
INTO v_alg_ruimte_nr
|
||||
FROM alg_ruimte
|
||||
WHERE alg_ruimte_key = v_alg_ruimte_key ;
|
||||
|
||||
-- Vullen vastgoed-keten in import-tabel
|
||||
UPDATE fac_imp_perslid
|
||||
SET alg_locatie_code = v_alg_locatie_code,
|
||||
alg_gebouw_code = v_alg_gebouw_code,
|
||||
alg_verdieping_volgnr = v_alg_verdieping_volgnr,
|
||||
alg_ruimte_nr = v_alg_ruimte_nr
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||||
|
||||
END IF;
|
||||
|
||||
ELSE
|
||||
-- Geen Locatie/Vastgoedketen kunnen vinden
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_kenmerk6 = 'LOCATIE ONBEKEND'
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint);
|
||||
END impu_import_perslid;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE impu_update_perslid (p_import_key IN NUMBER)
|
||||
IS
|
||||
-- Alle personen verwijderen die niet meer in het import bestand voorkomen
|
||||
-- Personen in de juiste autorisatiegroep zetten.
|
||||
-- Match bij SINNE KINDEROPVANG is Email.
|
||||
-- Geen acties tenzij het aantal records in de importtabel meer dan 50 medewerkers betreft.
|
||||
|
||||
CURSOR c_del
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
|
||||
FROM prs_perslid p, prs_v_perslid_fullnames pf
|
||||
WHERE UPPER (p.prs_perslid_email) LIKE '%IMPULS.NL'
|
||||
AND NOT EXISTS (SELECT 1 FROM fac_imp_perslid WHERE INSTR(UPPER (p.prs_perslid_email),UPPER (prs_perslid_email) ) > 0 )
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key ;
|
||||
|
||||
CURSOR c_flex -- Voor updaten van de algemene flex-kenmerkvelden op actuele medewerkers
|
||||
IS
|
||||
SELECT p.prs_perslid_key, i.prs_kenmerk4
|
||||
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
|
||||
WHERE p.prs_perslid_key = i.prs_perslid_key
|
||||
ORDER BY 1;
|
||||
|
||||
v_count NUMBER;
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (400);
|
||||
v_errorhint VARCHAR2 (400);
|
||||
|
||||
BEGIN
|
||||
v_errorhint := 'Niet genoeg personen in bestand, import afgebroken';
|
||||
|
||||
SELECT COUNT ( * ) INTO v_count FROM fac_imp_perslid;
|
||||
|
||||
IF v_count >= 100
|
||||
THEN
|
||||
v_errorhint := 'Verwerken persoonsgegevens';
|
||||
|
||||
-- Geldig importbestand wat betreft aantal personen
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- generic update
|
||||
-- 'EMAIL' betekent dat op basis van Email wordt gematched.
|
||||
-- 'NULL' betekent altijd geen werkplekken verwijderen
|
||||
prs.update_perslid (p_import_key, 'EMAIL', NULL);
|
||||
|
||||
v_errorhint := 'Verwijderen persoonsgegevens';
|
||||
|
||||
-- Verwijder personen die niet meer in de import voorkomen.
|
||||
FOR rec IN c_del
|
||||
LOOP
|
||||
BEGIN
|
||||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_flex
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint:='Fout bijwerken kenmerkveld4 - Standplaats';
|
||||
PRS.upsertkenmerk (1020, rec.prs_perslid_key, rec.prs_kenmerk4); -- IN PRODUCTIE KEY = 1020
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint);
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint);
|
||||
END impu_update_perslid;
|
||||
/
|
||||
|
||||
-- Voor keuzelijstjes (kenmerk domein)
|
||||
CREATE OR REPLACE VIEW impu_v_personenlijst
|
||||
(
|
||||
KEY,
|
||||
NAAM,
|
||||
PERSONEELSNUMMER
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
p.prs_perslid_key,
|
||||
p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam
|
||||
naam,
|
||||
p.prs_perslid_nr
|
||||
FROM
|
||||
prs_perslid p,
|
||||
prs_v_afdeling a,
|
||||
prs_bedrijf b
|
||||
WHERE
|
||||
p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = 81 -- bedrijfs_key IMPULS
|
||||
-- AND p.prs_perslid_voornaam !='TEAM' -- Voor team-accounts
|
||||
ORDER BY p.prs_perslid_naam
|
||||
;
|
||||
|
||||
CREATE OR REPLACE VIEW impu_v_personenlijst_wijkmanager
|
||||
(
|
||||
KEY,
|
||||
NAAM,
|
||||
PERSONEELSNUMMER
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
p.prs_perslid_key,
|
||||
p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam || ' (' || sp.prs_srtperslid_omschrijving || ')'
|
||||
naam,
|
||||
p.prs_perslid_nr
|
||||
FROM
|
||||
prs_perslid p,
|
||||
prs_srtperslid sp,
|
||||
prs_v_afdeling a,
|
||||
prs_bedrijf b
|
||||
WHERE
|
||||
p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = 81 -- bedrijfs_key IMPULS
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND UPPER(sp.prs_srtperslid_omschrijving) = 'WIJKMANAGER'
|
||||
ORDER BY p.prs_perslid_naam
|
||||
;
|
||||
|
||||
/*
|
||||
-- Rapportage Gebouwbeheer
|
||||
CREATE OR REPLACE VIEW IMPU_V_ALG_ONROERENDGOED
|
||||
(
|
||||
KOEPEL,
|
||||
LOCATIE,
|
||||
LOCATIE_CODE,
|
||||
GEBOUW,
|
||||
-- gegevens uit gebouwkaart
|
||||
GEBRUIKSRECHT,
|
||||
EIGENAAR_VERHUURDER_1,
|
||||
EIGENAAR_VERHUURDER_2,
|
||||
EIGENAAR_VERHUURDER_3,
|
||||
EIGENAARSCHAP_TOELICHTING,
|
||||
DOV,
|
||||
SLG,
|
||||
BSO,
|
||||
DOV_LRK,
|
||||
SLG_LRK,
|
||||
BSO_LRK,
|
||||
--
|
||||
VERDIEPING,
|
||||
RUIMTENR,
|
||||
RUIMTE_OMSCHRIJVING,
|
||||
RUIMTEFUNCTIE,
|
||||
BVO_M2,
|
||||
GEBRUIKSRECHT_RUIMTE,
|
||||
VLOERSOORT,
|
||||
M2_BSO,
|
||||
M2_SLG,
|
||||
M2_DOV,
|
||||
M2_OVERIG
|
||||
)
|
||||
AS
|
||||
SELECT d.alg_district_omschrijving,
|
||||
l.alg_locatie_omschrijving,
|
||||
l.alg_locatie_code,
|
||||
v.alg_gebouw_code || ' - ' || v.alg_gebouw_naam
|
||||
gebouw,
|
||||
km.gebruiksrecht,
|
||||
km.eigenaar_verhuurder_1,
|
||||
km.eigenaar_verhuurder_2,
|
||||
km.eigenaar_verhuurder_3,
|
||||
km.eigenaarschap_toelichting,
|
||||
km.dov,
|
||||
km.slg,
|
||||
km.bso,
|
||||
km.dov_lrk,
|
||||
km.slg_lrk,
|
||||
km.bso_lrk,
|
||||
v.alg_verdieping_omschrijving || ' - ' || v.alg_verdieping_code
|
||||
verdieping,
|
||||
v.alg_ruimte_nr,
|
||||
v.alg_ruimte_omschrijving,
|
||||
sr.alg_srtruimte_omschrijving,
|
||||
r.alg_ruimte_bruto_vloeropp,
|
||||
sinn_get_kenmerk('ALG',1106, r.alg_ruimte_key) gebruiksrecht_ruimte,
|
||||
sinn_get_kenmerk('ALG',1006, r.alg_ruimte_key) vloersoort,
|
||||
mm.m2_bso,
|
||||
mm.m2_slg,
|
||||
mm.m2_dov,
|
||||
mm.m2_overig
|
||||
FROM alg_v_onroerendgoed_gegevens v,
|
||||
alg_locatie l,
|
||||
alg_district d,
|
||||
(SELECT g.alg_gebouw_key,
|
||||
sinn_get_kenmerk('ALG',1011, g.alg_gebouw_key) gebruiksrecht,
|
||||
sinn_get_kenmerk('ALG',1103, g.alg_gebouw_key) eigenaar_verhuurder_1,
|
||||
sinn_get_kenmerk('ALG',1104, g.alg_gebouw_key) eigenaar_verhuurder_2,
|
||||
sinn_get_kenmerk('ALG',1105, g.alg_gebouw_key) eigenaar_verhuurder_3,
|
||||
sinn_get_kenmerk('ALG',1012, g.alg_gebouw_key) eigenaarschap_toelichting,
|
||||
sinn_get_kenmerk('ALG',1040, g.alg_gebouw_key) DOV,
|
||||
sinn_get_kenmerk('ALG',1041, g.alg_gebouw_key) SLG,
|
||||
sinn_get_kenmerk('ALG',1042, g.alg_gebouw_key) BSO,
|
||||
sinn_get_kenmerk('ALG',1035, g.alg_gebouw_key) DOV_LRK,
|
||||
sinn_get_kenmerk('ALG',1120, g.alg_gebouw_key) SLG_LRK,
|
||||
sinn_get_kenmerk('ALG',1121, g.alg_gebouw_key) BSO_LRK
|
||||
FROM alg_gebouw g ) km,
|
||||
alg_ruimte r,
|
||||
alg_srtruimte sr,
|
||||
(SELECT m.alg_ruimte_key, sum(m2_dov) m2_dov, sum(m2_slg) m2_slg, sum(m2_bso) m2_bso, sum(m2_overig) m2_overig
|
||||
FROM
|
||||
(SELECT r.alg_ruimte_key, r.alg_ruimte_bruto_vloeropp, a.prs_afdeling_omschrijving, ra.prs_ruimteafdeling_bezetting,
|
||||
CASE WHEN SUBSTR(a.prs_afdeling_omschrijving,1,3) = 'DOV' THEN ROUND(((ra.prs_ruimteafdeling_bezetting/100) * r.alg_ruimte_bruto_vloeropp),2)
|
||||
ELSE NULL
|
||||
END m2_dov,
|
||||
CASE WHEN SUBSTR(a.prs_afdeling_omschrijving,1,3) = 'SLG' THEN ROUND(((ra.prs_ruimteafdeling_bezetting/100) * r.alg_ruimte_bruto_vloeropp),2)
|
||||
ELSE NULL
|
||||
END m2_slg,
|
||||
CASE WHEN SUBSTR(a.prs_afdeling_omschrijving,1,3) = 'BSO' THEN ROUND(((ra.prs_ruimteafdeling_bezetting/100) * r.alg_ruimte_bruto_vloeropp),2)
|
||||
ELSE NULL
|
||||
END m2_bso,
|
||||
CASE WHEN SUBSTR(a.prs_afdeling_omschrijving,1,3) NOT IN ('DOV', 'SLG', 'BSO') THEN ROUND(((ra.prs_ruimteafdeling_bezetting/100) * r.alg_ruimte_bruto_vloeropp),2)
|
||||
ELSE NULL
|
||||
END m2_overig
|
||||
FROM alg_ruimte r, prs_ruimteafdeling ra, prs_afdeling a
|
||||
WHERE r.alg_ruimte_key = ra.alg_ruimte_key
|
||||
AND ra.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND ra.prs_ruimteafdeling_verwijder IS NULL
|
||||
AND (r.alg_ruimte_bruto_vloeropp IS NOT NULL OR r.alg_ruimte_bruto_vloeropp > 0 )
|
||||
) m
|
||||
GROUP BY m.alg_ruimte_key ) mm
|
||||
WHERE v.alg_locatie_key = l.alg_locatie_key
|
||||
AND l.alg_district_key = d.alg_district_key
|
||||
AND v.alg_type IN ('R')
|
||||
AND v.alg_gebouw_key = km.alg_gebouw_key
|
||||
AND v.alg_ruimte_key = r.alg_ruimte_key AND r.alg_ruimte_verwijder IS NULL
|
||||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key (+)
|
||||
AND r.alg_ruimte_key = mm.alg_ruimte_key (+)
|
||||
ORDER BY d.alg_district_omschrijving, l.alg_locatie_code, v.alg_gebouw_code, v.alg_ruimte_nr
|
||||
;
|
||||
*/
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
Reference in New Issue
Block a user