4236 lines
184 KiB
SQL
4236 lines
184 KiB
SQL
-- Script containing customer specific db-configuration for RENK.
|
||
-- (c) 2011 SG|facilitor bv
|
||
-- $Revision$
|
||
-- $Id$
|
||
--
|
||
-- Support: +31 53 4800700
|
||
set echo on
|
||
spool xrenk.lst
|
||
|
||
/* Formatted on 4-4-2012 16:44:36 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW renk_v_rap_import_log
|
||
AS
|
||
SELECT imp_log_status fclt_f_status,
|
||
imp_log_omschrijving omschrijving,
|
||
imp_log_hint opmerking
|
||
FROM imp_log l
|
||
WHERE l.fac_import_key = (SELECT MAX (fac_import_key)
|
||
FROM fac_import
|
||
WHERE fac_import_app_key = 41);
|
||
|
||
/* Formatted on 24-2-2012 11:44:55 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE renk_import_prs (p_import_key IN NUMBER)
|
||
IS
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (1000); -- Input line
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER := 0;
|
||
v_ongeldig NUMBER (1);
|
||
v_count_tot NUMBER (10);
|
||
v_count_import NUMBER (10);
|
||
v_count NUMBER;
|
||
-- De importvelden:
|
||
v_prs_perslid_oslogin VARCHAR2 (256);
|
||
v_prs_perslid_titel VARCHAR2 (256);
|
||
v_prs_perslid_naam VARCHAR2 (256);
|
||
v_prs_perslid_tussenvoegsel VARCHAR2 (256);
|
||
v_prs_perslid_voorletters VARCHAR2 (256);
|
||
v_prs_perslid_voornaam VARCHAR2 (256);
|
||
v_prs_afdeling_naam VARCHAR2 (256);
|
||
v_prs_afdeling_omschrijving VARCHAR2 (256);
|
||
v_prs_srtperslid_omschrijving VARCHAR2 (256);
|
||
--v_alg_locatie_code VARCHAR2 (256);
|
||
v_alg_gebouw_code VARCHAR2 (256);
|
||
--v_alg_verdieping_code VARCHAR2 (256);
|
||
v_alg_ruimte_nr VARCHAR2 (256);
|
||
v_prs_perslid_telefoonnr VARCHAR2 (256);
|
||
v_prs_perslid_mobiel VARCHAR2 (256);
|
||
v_prs_perslid_email VARCHAR2 (256);
|
||
v_prs_perslid_nr VARCHAR2 (256);
|
||
v_prs_perslid_ingangsdatum VARCHAR2 (256);
|
||
v_prs_perslid_einddatum VARCHAR2 (256);
|
||
-- Overig:
|
||
v_prs_perslid_ingangs_date DATE;
|
||
v_prs_perslid_eind_date DATE;
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM renk_imp_prs;
|
||
|
||
COMMIT;
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_aanduiding := '';
|
||
v_errorhint := 'Fout bij opvragen te importeren rij';
|
||
v_ongeldig := 0;
|
||
-- Lees alle veldwaarden
|
||
-- 01
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_oslogin);
|
||
-- 02
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_titel);
|
||
-- 03
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_naam);
|
||
-- 04
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_tussenvoegsel);
|
||
-- 05
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_voorletters);
|
||
-- 06
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_voornaam);
|
||
-- 07
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_afdeling_naam);
|
||
-- 08
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_afdeling_omschrijving);
|
||
-- 09
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_srtperslid_omschrijving);
|
||
-- xx
|
||
--fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_locatie_code);
|
||
-- 10
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_gebouw_code);
|
||
-- xx
|
||
--fac.imp_getfield (v_newline,
|
||
-- c_fielddelimitor,
|
||
-- v_alg_verdieping_code);
|
||
-- 11
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_ruimte_nr);
|
||
-- 12
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_telefoonnr);
|
||
-- 13
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_mobiel);
|
||
-- 14
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_email);
|
||
-- 15
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_nr);
|
||
-- 16
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_ingangsdatum);
|
||
-- 17
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_einddatum);
|
||
--
|
||
v_aanduiding :=
|
||
'['
|
||
|| v_prs_perslid_oslogin
|
||
|| '|'
|
||
|| v_prs_perslid_naam
|
||
|| '|'
|
||
|| v_prs_perslid_tussenvoegsel
|
||
|| '|'
|
||
|| v_prs_perslid_voornaam
|
||
|| '] ';
|
||
|
||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (v_prs_perslid_oslogin) = 'LOGINNAAM'
|
||
AND UPPER (v_prs_perslid_titel) = 'TITEL'
|
||
AND UPPER (v_prs_perslid_naam) = 'PERSOONACHTERNAAM'
|
||
AND UPPER (v_prs_perslid_tussenvoegsel) = 'TUSSENVOEGSEL'
|
||
AND UPPER (v_prs_perslid_voorletters) = 'VOORLETTERS'
|
||
AND UPPER (v_prs_perslid_voornaam) = 'VOORNAAM'
|
||
AND UPPER (v_prs_afdeling_naam) = 'AFDELINGSCODE'
|
||
AND UPPER (v_prs_afdeling_omschrijving) =
|
||
'AFDELINGSOMSCHRIJVING'
|
||
AND UPPER (v_prs_srtperslid_omschrijving) = 'FUNCTIE'
|
||
--AND UPPER (v_alg_locatie_code) = 'LOCATIECODE'
|
||
AND UPPER (v_alg_gebouw_code) = 'GEBOUWCODE'
|
||
--AND UPPER (v_alg_verdieping_code) = 'BOUWLAAGVOLGNUMMER'
|
||
AND UPPER (v_alg_ruimte_nr) = 'RUIMTENUMMER'
|
||
AND UPPER (v_prs_perslid_telefoonnr) = 'TELEFOONNUMMER'
|
||
AND UPPER (v_prs_perslid_mobiel) = 'MOBIEL'
|
||
AND UPPER (v_prs_perslid_email) = 'EMAIL'
|
||
AND UPPER (v_prs_perslid_nr) = 'PERSONEELSNUMMER'
|
||
AND UPPER (v_prs_perslid_ingangsdatum) = 'INDIENSTDATUM'
|
||
AND UPPER (v_prs_perslid_einddatum) = 'UITDIENSTDATUM'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
-- Controleer alle veldwaarden
|
||
v_errorhint := 'Ongeldige loginnaam';
|
||
v_prs_perslid_oslogin := TRIM (v_prs_perslid_oslogin);
|
||
|
||
IF (v_prs_perslid_oslogin IS NULL
|
||
OR LENGTH (v_prs_perslid_oslogin) > 30)
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_aanduiding || 'Loginnaam onbekend of te lang',
|
||
'Loginnaam is verplicht; regel wordt overgeslagen!'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige titel';
|
||
v_prs_perslid_titel := TRIM (v_prs_perslid_titel);
|
||
|
||
IF LENGTH (v_prs_perslid_titel) > 15
|
||
THEN
|
||
v_prs_perslid_titel := SUBSTR (v_prs_perslid_titel, 1, 15);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Titel te lang',
|
||
'Titel wordt afgebroken tot ['
|
||
|| v_prs_perslid_titel
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige achternaam';
|
||
v_prs_perslid_naam := TRIM (v_prs_perslid_naam);
|
||
|
||
IF LENGTH (v_prs_perslid_naam) > 30
|
||
THEN
|
||
v_prs_perslid_naam := SUBSTR (v_prs_perslid_naam, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Achternaam te lang',
|
||
'Achternaam wordt afgebroken tot ['
|
||
|| v_prs_perslid_naam
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
IF (v_prs_perslid_naam IS NULL)
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_aanduiding || 'Achternaam onbekend',
|
||
'Achternaam is verplicht; regel wordt overgeslagen!'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig tussenvoegsel';
|
||
v_prs_perslid_tussenvoegsel := TRIM (v_prs_perslid_tussenvoegsel);
|
||
|
||
IF LENGTH (v_prs_perslid_tussenvoegsel) > 10
|
||
THEN
|
||
v_prs_perslid_tussenvoegsel :=
|
||
SUBSTR (v_prs_perslid_tussenvoegsel, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Tussenvoegsel te lang',
|
||
'Tussenvoegsel wordt afgebroken tot ['
|
||
|| v_prs_perslid_tussenvoegsel
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige voorletters';
|
||
v_prs_perslid_voorletters := TRIM (v_prs_perslid_voorletters);
|
||
|
||
IF LENGTH (v_prs_perslid_voorletters) > 10
|
||
THEN
|
||
v_prs_perslid_voorletters :=
|
||
SUBSTR (v_prs_perslid_voorletters, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Voorletters te lang',
|
||
'Voorletters worden afgebroken tot ['
|
||
|| v_prs_perslid_voorletters
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige voornaam';
|
||
v_prs_perslid_voornaam := TRIM (v_prs_perslid_voornaam);
|
||
|
||
IF LENGTH (v_prs_perslid_voornaam) > 30
|
||
THEN
|
||
v_prs_perslid_voornaam :=
|
||
SUBSTR (v_prs_perslid_voornaam, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Voornaam is te lang',
|
||
'Voornaam wordt afgebroken tot ['
|
||
|| v_prs_perslid_voornaam
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
IF (v_prs_perslid_voornaam IS NULL)
|
||
THEN
|
||
v_prs_perslid_voornaam := '-';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Voornaam onbekend',
|
||
'Voornaam wordt gezet op [-]');
|
||
COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige afdelingscode';
|
||
v_prs_afdeling_naam := TRIM (v_prs_afdeling_naam);
|
||
|
||
IF LENGTH (v_prs_afdeling_naam) > 10
|
||
THEN
|
||
v_prs_afdeling_naam := SUBSTR (v_prs_afdeling_naam, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Afdelingscode te lang',
|
||
'Afdelingscode wordt afgebroken tot ['
|
||
|| v_prs_afdeling_naam
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
IF (v_prs_afdeling_naam IS NULL)
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_aanduiding || 'Afdelingscode onbekend',
|
||
'Afdelingscode is verplicht; regel wordt overgeslagen!'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige afdelingsomschrijving';
|
||
v_prs_afdeling_omschrijving := TRIM (v_prs_afdeling_omschrijving);
|
||
|
||
IF LENGTH (v_prs_afdeling_omschrijving) > 60
|
||
THEN
|
||
v_prs_afdeling_omschrijving :=
|
||
SUBSTR (v_prs_afdeling_omschrijving, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Afdelingsomschrijving te lang',
|
||
'Afdelingsomschrijving wordt afgebroken tot ['
|
||
|| v_prs_afdeling_omschrijving
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige functie';
|
||
v_prs_srtperslid_omschrijving :=
|
||
TRIM (v_prs_srtperslid_omschrijving);
|
||
|
||
IF LENGTH (v_prs_srtperslid_omschrijving) > 60
|
||
THEN
|
||
v_prs_srtperslid_omschrijving :=
|
||
SUBSTR (v_prs_srtperslid_omschrijving, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Functie te lang',
|
||
'Functie wordt afgebroken tot ['
|
||
|| v_prs_srtperslid_omschrijving
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
IF (v_prs_srtperslid_omschrijving IS NULL)
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_aanduiding || 'Functie onbekend',
|
||
'Functie is verplicht; regel wordt overgeslagen!'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
/*
|
||
--
|
||
v_errorhint := 'Ongeldige locatiecode';
|
||
v_alg_locatie_code := TRIM (v_alg_locatie_code);
|
||
|
||
IF LENGTH (v_alg_locatie_code) > 10
|
||
THEN
|
||
v_alg_locatie_code := SUBSTR (v_alg_locatie_code, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Locatiecode te lang',
|
||
'Locatiecode wordt afgebroken tot ['
|
||
|| v_alg_locatie_code
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
*/
|
||
--
|
||
v_errorhint := 'Ongeldige gebouwcode';
|
||
v_alg_gebouw_code := TRIM (v_alg_gebouw_code);
|
||
|
||
IF LENGTH (v_alg_gebouw_code) > 12
|
||
THEN
|
||
v_alg_gebouw_code := SUBSTR (v_alg_gebouw_code, 1, 12);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Gebouwcode te lang',
|
||
'Gebouwcode wordt afgebroken tot ['
|
||
|| v_alg_gebouw_code
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
/*
|
||
--
|
||
v_errorhint := 'Ongeldige verdiepingcode';
|
||
v_alg_verdieping_code := TRIM (v_alg_verdieping_code);
|
||
|
||
IF LENGTH (v_alg_verdieping_code) > 10
|
||
THEN
|
||
v_alg_verdieping_code := SUBSTR (v_alg_verdieping_code, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Verdiepingcode te lang',
|
||
'Verdiepingcode wordt afgebroken tot ['
|
||
|| v_alg_verdieping_code
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
*/
|
||
--
|
||
v_errorhint := 'Ongeldig ruimtenummer';
|
||
v_alg_ruimte_nr := TRIM (v_alg_ruimte_nr);
|
||
|
||
IF LENGTH (v_alg_ruimte_nr) > 10
|
||
THEN
|
||
v_alg_ruimte_nr := SUBSTR (v_alg_ruimte_nr, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Ruimtenummer te lang',
|
||
'Ruimtenummer wordt afgebroken tot ['
|
||
|| v_alg_ruimte_nr
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig telefoonnummer';
|
||
v_prs_perslid_telefoonnr := TRIM (v_prs_perslid_telefoonnr);
|
||
|
||
IF LENGTH (v_prs_perslid_telefoonnr) > 15
|
||
THEN
|
||
v_prs_perslid_telefoonnr :=
|
||
SUBSTR (v_prs_perslid_telefoonnr, 1, 15);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Telefoonnummer te lang',
|
||
'Telefoonnummer wordt afgebroken tot ['
|
||
|| v_prs_perslid_telefoonnr
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig mobielnummer';
|
||
v_prs_perslid_mobiel := TRIM (v_prs_perslid_mobiel);
|
||
|
||
IF LENGTH (v_prs_perslid_mobiel) > 15
|
||
THEN
|
||
v_prs_perslid_mobiel := SUBSTR (v_prs_perslid_mobiel, 1, 15);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Mobielnummer te lang',
|
||
'Mobielnummer wordt afgebroken tot ['
|
||
|| v_prs_perslid_mobiel
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig e-mailadres';
|
||
v_prs_perslid_email := TRIM (v_prs_perslid_email);
|
||
|
||
IF LENGTH (v_prs_perslid_email) > 50
|
||
THEN
|
||
v_prs_perslid_email := SUBSTR (v_prs_perslid_email, 1, 50);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'E-mailadres te lang',
|
||
'E-mailadres wordt afgebroken tot ['
|
||
|| v_prs_perslid_email
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
-- LET OP: Personeelsnummer - nog - niet gebruikt!
|
||
v_errorhint := 'Ongeldig personeelsnummer';
|
||
v_prs_perslid_nr := TRIM (v_prs_perslid_nr);
|
||
|
||
IF LENGTH (v_prs_perslid_nr) > 16
|
||
THEN
|
||
v_prs_perslid_nr := SUBSTR (v_prs_perslid_nr, 1, 16);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Personeelsnummer te lang',
|
||
'Personeelsnummer wordt afgebroken tot ['
|
||
|| v_prs_perslid_nr
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige datum in dienst';
|
||
v_prs_perslid_ingangsdatum := TRIM (v_prs_perslid_ingangsdatum);
|
||
|
||
IF v_prs_perslid_ingangsdatum IS NOT NULL
|
||
THEN
|
||
BEGIN
|
||
v_prs_perslid_ingangs_date :=
|
||
TO_DATE (v_prs_perslid_ingangsdatum, 'dd-mm-yyyy');
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_ongeldig := 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
v_errorhint
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Regel wordt overgeslagen!');
|
||
COMMIT;
|
||
END;
|
||
ELSE
|
||
v_prs_perslid_ingangs_date := NULL;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige datum uit dienst';
|
||
v_prs_perslid_einddatum := TRIM (v_prs_perslid_einddatum);
|
||
|
||
IF v_prs_perslid_einddatum IS NOT NULL
|
||
THEN
|
||
BEGIN
|
||
v_prs_perslid_eind_date :=
|
||
TO_DATE (v_prs_perslid_einddatum, 'dd-mm-yyyy');
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_ongeldig := 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
v_errorhint
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Regel wordt overgeslagen!');
|
||
COMMIT;
|
||
END;
|
||
ELSE
|
||
v_prs_perslid_eind_date := NULL;
|
||
END IF;
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errorhint :=
|
||
'Fout bij toevoegen regel aan importtabel RENK_IMP_PRS';
|
||
|
||
INSERT INTO renk_imp_prs (imp_datum,
|
||
prs_perslid_oslogin,
|
||
prs_perslid_titel,
|
||
prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel,
|
||
prs_perslid_voorletters,
|
||
prs_perslid_voornaam,
|
||
prs_afdeling_naam,
|
||
prs_afdeling_omschrijving,
|
||
prs_srtperslid_omschrijving,
|
||
--alg_locatie_code,
|
||
alg_gebouw_code,
|
||
--alg_verdieping_code,
|
||
alg_ruimte_nr,
|
||
prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel,
|
||
prs_perslid_email,
|
||
prs_perslid_nr,
|
||
prs_perslid_ingangsdatum,
|
||
prs_perslid_einddatum)
|
||
VALUES (SYSDATE,
|
||
v_prs_perslid_oslogin,
|
||
v_prs_perslid_titel,
|
||
v_prs_perslid_naam,
|
||
v_prs_perslid_tussenvoegsel,
|
||
v_prs_perslid_voorletters,
|
||
v_prs_perslid_voornaam,
|
||
v_prs_afdeling_naam,
|
||
v_prs_afdeling_omschrijving,
|
||
v_prs_srtperslid_omschrijving,
|
||
--v_alg_locatie_code,
|
||
v_alg_gebouw_code,
|
||
--v_alg_verdieping_code,
|
||
v_alg_ruimte_nr,
|
||
v_prs_perslid_telefoonnr,
|
||
v_prs_perslid_mobiel,
|
||
v_prs_perslid_email,
|
||
v_prs_perslid_nr,
|
||
v_prs_perslid_ingangs_date,
|
||
v_prs_perslid_eind_date);
|
||
|
||
COMMIT;
|
||
v_count_import := v_count_import + 1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
v_errorhint
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Ingelezen regel kan niet worden weggeschreven!'
|
||
);
|
||
COMMIT;
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Ongeldig importbestand',
|
||
'Geen header of header niet volgens specificatie!');
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Persoon: aantal ingelezen regels: ' || TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Persoon: aantal ongeldige importregels: '
|
||
|| TO_CHAR (v_count_tot - v_count_import),
|
||
''
|
||
);
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END renk_import_prs;
|
||
/
|
||
|
||
/* Formatted on 24-2-2012 11:44:55 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE renk_update_prs (p_import_key IN NUMBER)
|
||
IS
|
||
c_persoon_inactief VARCHAR2 (30) := 'INACTIEF: ';
|
||
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een e-mail
|
||
c_max_delta_percentage NUMBER (10) := 40; -- Per RENK#27766 op 40%!
|
||
-- Ruimte waar personen in geplaatst worden (indien nog geen ruimte in opgegeven gebouw)
|
||
c_ruimte_nr VARCHAR2 (10) := '0.00';
|
||
-- Groep waar personen in geplaatst worden (indien nog geen groep)
|
||
c_groep_upper VARCHAR2 (30) := '_DEFAULT';
|
||
c_profiel_omschrijving VARCHAR2 (30) := 'DEFAULT';
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_prs_import NUMBER (10); -- #actieve personen na import!
|
||
v_count_prs_actual NUMBER (10); -- #actieve personen voor import!
|
||
v_count_tot NUMBER (10);
|
||
v_count_error NUMBER (10);
|
||
v_count NUMBER (10);
|
||
--
|
||
v_perslid_key NUMBER (10);
|
||
v_afdeling_key NUMBER (10);
|
||
v_srtperslid_key NUMBER (10);
|
||
--v_locatie_key NUMBER (10);
|
||
v_gebouw_key NUMBER (10);
|
||
v_gebouw_code VARCHAR2 (10);
|
||
--v_verdieping_key NUMBER (10);
|
||
v_ruimte_key NUMBER (10);
|
||
v_ruimte_nr VARCHAR2 (10);
|
||
v_wp_volgnr NUMBER (3);
|
||
v_wp_oms VARCHAR2 (30);
|
||
v_wp_key NUMBER (10);
|
||
v_groep_key NUMBER (10);
|
||
v_profiel_key NUMBER (10);
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in renk_imp_prs!
|
||
-- Dubbele oslogins? Dan wordt iemand mogelijk niet verwijderd/INACTIEF!
|
||
CURSOR cdelprs
|
||
IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_oslogin,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE (p.prs_perslid_oslogin IS NULL
|
||
OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\')
|
||
AND p.prs_perslid_oslogin2 IS NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM renk_imp_prs ip
|
||
WHERE UPPER (ip.prs_perslid_oslogin) =
|
||
UPPER (p.prs_perslid_oslogin));
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in renk_imp_prs!
|
||
CURSOR csrtperslid
|
||
IS
|
||
SELECT MIN (prs_perslid_oslogin) prs_perslid_oslogin,
|
||
MIN (prs_perslid_naam) prs_perslid_naam,
|
||
MIN (prs_perslid_voornaam) prs_perslid_voornaam,
|
||
MIN (prs_srtperslid_omschrijving) prs_srtperslid_omschrijving
|
||
FROM renk_imp_prs
|
||
GROUP BY UPPER (prs_srtperslid_omschrijving);
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in renk_imp_prs!
|
||
-- Dubbele oslogins? Dan wordt slechts 1 set persoongegevens toegevoegd!
|
||
-- Ook wordt in deze loop de afdelingsomschrijving eventueel bijgewerkt!
|
||
CURSOR cperslid
|
||
IS
|
||
SELECT * FROM renk_imp_prs;
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in renk_imp_prs!
|
||
-- Dubbele oslogins? Dan krijgt iemand mogelijk de verkeerde plaats!
|
||
CURSOR cwp
|
||
IS
|
||
SELECT p.*, ip.alg_gebouw_code, ip.alg_ruimte_nr
|
||
FROM renk_imp_prs ip, prs_v_aanwezigperslid p
|
||
WHERE ip.alg_gebouw_code IS NOT NULL
|
||
AND UPPER (ip.prs_perslid_oslogin) =
|
||
UPPER (p.prs_perslid_oslogin);
|
||
|
||
-- Alle actieve personen met oslogin (ie. de import-doelgroep) zonder een werkplek
|
||
CURSOR cnowp
|
||
IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_oslogin,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_perslid_oslogin IS NOT NULL
|
||
AND p.prs_perslid_naam NOT LIKE c_persoon_inactief || '%'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw
|
||
WHERE pw.prs_perslid_key = p.prs_perslid_key);
|
||
|
||
-- Alle aanwezige personen met oslogin (ie. de import-doelgroep) niet in een groep
|
||
CURSOR cnogroup
|
||
IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_oslogin,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_perslid_oslogin IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep g
|
||
WHERE g.prs_perslid_key = p.prs_perslid_key);
|
||
BEGIN
|
||
-- Bepaal oslogin-match tussen Facilitor en RECENT importbestand ofwel het aantal
|
||
-- actieve personen na import.
|
||
-- RECENT betekent niet meer dan een kwartiertje oud (14,4 minuten); dit voorkomt
|
||
-- dat - als er geen nieuw importbestand is aangeleverd - telkens dezelfde fouten
|
||
-- worden gerapporteerd (nl. op basis van een oud importbestand in RENK_IMP_PRS).
|
||
SELECT COUNT ( * )
|
||
INTO v_count_prs_import
|
||
FROM prs_v_aanwezigperslid p, renk_imp_prs ip
|
||
WHERE p.prs_perslid_oslogin IS NOT NULL
|
||
AND UPPER (p.prs_perslid_oslogin) =
|
||
UPPER (ip.prs_perslid_oslogin)
|
||
AND (ip.imp_datum + 0.01) > SYSDATE;
|
||
|
||
-- Bepaal huidig aantal actieve personen in Facilitor.
|
||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||
INTO v_count_prs_actual
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_oslogin IS NOT NULL;
|
||
|
||
IF ( (TRUNC ( (v_count_prs_import / v_count_prs_actual) * 100) >=
|
||
(100 - c_max_delta_percentage)))
|
||
THEN
|
||
-- Geldig importbestand wat betreft aantal personen
|
||
v_errorhint := 'Fout bij bepalen profiel';
|
||
|
||
SELECT MAX (fac_profiel_key), COUNT ( * )
|
||
INTO v_profiel_key, v_count
|
||
FROM fac_profiel
|
||
WHERE UPPER (TRIM (fac_profiel_omschrijving)) =
|
||
c_profiel_omschrijving;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Standaard profiel ['
|
||
|| c_profiel_omschrijving
|
||
|| '] niet gevonden.',
|
||
'Personen zonder profiel kunnen niet worden gekoppeld aan een profiel.'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
FOR recdelprs IN cdelprs
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
recdelprs.prs_perslid_oslogin
|
||
|| '|'
|
||
|| recdelprs.prs_perslid_naam
|
||
|| '|'
|
||
|| recdelprs.prs_perslid_voornaam
|
||
|| ' - ';
|
||
v_errorhint := 'Fout bij bepalen verplichtingen';
|
||
|
||
-- Heeft persoon actuele/toekomstige verplichtingen?
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_perslid p, prs_v_verplichting_keys r
|
||
WHERE p.prs_perslid_key = r.prs_perslid_key
|
||
AND p.prs_perslid_key = recdelprs.prs_perslid_key;
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
v_errorhint := 'Fout bij verwijderen persoon';
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_verwijder = SYSDATE
|
||
WHERE prs_perslid_key = recdelprs.prs_perslid_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Persoon met loginnaam ['
|
||
|| recdelprs.prs_perslid_oslogin
|
||
|| '] en naam ['
|
||
|| recdelprs.prs_perslid_naam
|
||
|| ', '
|
||
|| recdelprs.prs_perslid_voornaam
|
||
|| '] is verwijderd',
|
||
'Persoon is verwijderd'
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
-- Staat persoon INACTIEF?
|
||
v_errorhint := 'Fout bij bepalen INACTIEF';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_naam LIKE c_persoon_inactief || '%'
|
||
AND p.prs_perslid_key = recdelprs.prs_perslid_key;
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
v_errorhint := 'Fout bij INACTIEF maken persoon';
|
||
|
||
-- Persoon INACTIEF maken (update naam + reset oslogin)
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_naam =
|
||
SUBSTR (c_persoon_inactief || prs_perslid_naam,
|
||
1,
|
||
30),
|
||
prs_perslid_oslogin = NULL
|
||
WHERE prs_perslid_key = recdelprs.prs_perslid_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Persoon met loginnaam ['
|
||
|| recdelprs.prs_perslid_oslogin
|
||
|| '] en naam ['
|
||
|| recdelprs.prs_perslid_naam
|
||
|| ', '
|
||
|| recdelprs.prs_perslid_voornaam
|
||
|| '] is INACTIEF gemaakt',
|
||
'Persoon is INACTIEF gemaakt'
|
||
);
|
||
ELSE
|
||
v_errorhint := 'Fout bij INACTIEF houden persoon';
|
||
|
||
-- Persoon INACTIEF houden (reset oslogin; indien handmatig INACTIEF gemaakt)
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_oslogin = NULL
|
||
WHERE prs_perslid_naam LIKE c_persoon_inactief || '%'
|
||
AND prs_perslid_oslogin IS NOT NULL;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Persoon met loginnaam ['
|
||
|| recdelprs.prs_perslid_oslogin
|
||
|| '] en naam ['
|
||
|| recdelprs.prs_perslid_naam
|
||
|| ', '
|
||
|| recdelprs.prs_perslid_voornaam
|
||
|| '] is INACTIEF',
|
||
'Persoon is INACTIEF'
|
||
);
|
||
END IF;
|
||
|
||
COMMIT;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
FOR recsrtperslid IN csrtperslid
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
recsrtperslid.prs_perslid_oslogin
|
||
|| '|'
|
||
|| recsrtperslid.prs_perslid_naam
|
||
|| '|'
|
||
|| recsrtperslid.prs_perslid_voornaam
|
||
|| '|'
|
||
|| recsrtperslid.prs_srtperslid_omschrijving
|
||
|| ' - ';
|
||
v_errorhint := 'Fout bij bepalen functie';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_v_aanwezigsrtperslid
|
||
WHERE UPPER (prs_srtperslid_omschrijving) =
|
||
UPPER (recsrtperslid.prs_srtperslid_omschrijving);
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
v_errorhint := 'Fout bij toevoegen functie';
|
||
|
||
INSERT INTO prs_srtperslid (prs_srtperslid_omschrijving)
|
||
VALUES (recsrtperslid.prs_srtperslid_omschrijving);
|
||
|
||
COMMIT;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_count_error := v_count_error + 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Functie: verwerkte regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Functie: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
''
|
||
);
|
||
COMMIT;
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
FOR recperslid IN cperslid
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
recperslid.prs_perslid_oslogin
|
||
|| '|'
|
||
|| recperslid.prs_perslid_naam
|
||
|| '|'
|
||
|| recperslid.prs_perslid_voornaam
|
||
|| ' - ';
|
||
v_errorhint :=
|
||
'Fout bij bepalen functie ['
|
||
|| recperslid.prs_srtperslid_omschrijving
|
||
|| ']';
|
||
|
||
SELECT prs_srtperslid_key
|
||
INTO v_srtperslid_key
|
||
FROM prs_v_aanwezigsrtperslid
|
||
WHERE UPPER (prs_srtperslid_omschrijving) =
|
||
UPPER (recperslid.prs_srtperslid_omschrijving);
|
||
|
||
v_errorhint :=
|
||
'Fout bij bepalen afdeling ['
|
||
|| recperslid.prs_afdeling_naam
|
||
|| ']';
|
||
|
||
SELECT prs_afdeling_key
|
||
INTO v_afdeling_key
|
||
FROM prs_v_aanwezigafdeling
|
||
WHERE prs_afdeling_upper =
|
||
UPPER (recperslid.prs_afdeling_naam);
|
||
|
||
v_errorhint :=
|
||
'Fout bij wijzigen afdelingsomschrijving ['
|
||
|| recperslid.prs_afdeling_naam
|
||
|| '|'
|
||
|| recperslid.prs_afdeling_omschrijving
|
||
|| ']';
|
||
|
||
UPDATE prs_afdeling
|
||
SET prs_afdeling_omschrijving =
|
||
COALESCE (recperslid.prs_afdeling_omschrijving,
|
||
prs_afdeling_omschrijving)
|
||
WHERE prs_afdeling_key = v_afdeling_key;
|
||
|
||
COMMIT;
|
||
|
||
v_errorhint := 'Fout bij bepalen persoon';
|
||
|
||
SELECT COUNT ( * ), MAX (prs_perslid_key)
|
||
INTO v_count, v_perslid_key
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE UPPER (prs_perslid_oslogin) =
|
||
UPPER (recperslid.prs_perslid_oslogin);
|
||
|
||
IF v_count > 1
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errorhint,
|
||
'Kan persoon niet 1-duidig bepalen!');
|
||
COMMIT;
|
||
ELSE
|
||
IF v_count = 0
|
||
THEN
|
||
v_errorhint := 'Fout bij toevoegen persoon';
|
||
|
||
INSERT INTO prs_perslid (
|
||
prs_perslid_module,
|
||
prs_srtperslid_key,
|
||
prs_afdeling_key,
|
||
prs_perslid_oslogin,
|
||
prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel,
|
||
prs_perslid_voorletters,
|
||
prs_perslid_voornaam,
|
||
prs_perslid_titel,
|
||
prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel,
|
||
prs_perslid_email,
|
||
prs_perslid_nr,
|
||
prs_perslid_ingangsdatum,
|
||
prs_perslid_einddatum,
|
||
fac_profiel_key
|
||
)
|
||
VALUES (
|
||
'PRS',
|
||
v_srtperslid_key,
|
||
v_afdeling_key,
|
||
recperslid.prs_perslid_oslogin,
|
||
recperslid.prs_perslid_naam,
|
||
recperslid.prs_perslid_tussenvoegsel,
|
||
recperslid.prs_perslid_voorletters,
|
||
recperslid.prs_perslid_voornaam,
|
||
recperslid.prs_perslid_titel,
|
||
recperslid.prs_perslid_telefoonnr,
|
||
recperslid.prs_perslid_mobiel,
|
||
recperslid.prs_perslid_email,
|
||
recperslid.prs_perslid_nr,
|
||
COALESCE (
|
||
recperslid.prs_perslid_ingangsdatum,
|
||
SYSDATE
|
||
),
|
||
recperslid.prs_perslid_einddatum,
|
||
v_profiel_key
|
||
)
|
||
RETURNING prs_perslid_key INTO v_perslid_key;
|
||
ELSE
|
||
v_errorhint := 'Fout bij wijzigen persoon';
|
||
|
||
UPDATE prs_perslid
|
||
SET prs_srtperslid_key = v_srtperslid_key,
|
||
prs_afdeling_key = v_afdeling_key,
|
||
prs_perslid_naam = recperslid.prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel =
|
||
recperslid.prs_perslid_tussenvoegsel,
|
||
prs_perslid_voorletters =
|
||
recperslid.prs_perslid_voorletters,
|
||
prs_perslid_voornaam =
|
||
recperslid.prs_perslid_voornaam,
|
||
prs_perslid_titel = recperslid.prs_perslid_titel,
|
||
prs_perslid_telefoonnr =
|
||
recperslid.prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel = recperslid.prs_perslid_mobiel,
|
||
prs_perslid_email = recperslid.prs_perslid_email,
|
||
prs_perslid_nr = recperslid.prs_perslid_nr,
|
||
prs_perslid_ingangsdatum =
|
||
COALESCE (recperslid.prs_perslid_ingangsdatum,
|
||
prs_perslid_ingangsdatum),
|
||
prs_perslid_einddatum =
|
||
recperslid.prs_perslid_einddatum,
|
||
fac_profiel_key =
|
||
COALESCE (fac_profiel_key, v_profiel_key)
|
||
WHERE prs_perslid_key = v_perslid_key;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_count_error := v_count_error + 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Persoon: verwerkte regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Persoon: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
''
|
||
);
|
||
COMMIT;
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
FOR recwp IN cwp
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
recwp.prs_perslid_oslogin
|
||
|| '|'
|
||
|| recwp.prs_perslid_naam
|
||
|| '|'
|
||
|| recwp.prs_perslid_voornaam
|
||
|| '|'
|
||
|| recwp.alg_gebouw_code
|
||
|| '|'
|
||
|| recwp.alg_ruimte_nr
|
||
|| ' - ';
|
||
v_errorhint := 'Fout bij bepalen persoon';
|
||
|
||
SELECT prs_perslid_key
|
||
INTO v_perslid_key
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE UPPER (prs_perslid_oslogin) =
|
||
UPPER (recwp.prs_perslid_oslogin);
|
||
|
||
v_errorhint := 'Fout bij bepalen gebouw';
|
||
|
||
SELECT alg_gebouw_key
|
||
INTO v_gebouw_key
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE UPPER (alg_gebouw_code) = UPPER (recwp.alg_gebouw_code);
|
||
|
||
v_errorhint := 'Fout bij bepalen beoogde ruimte in gebouw';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanwezigruimte r, alg_verdieping v
|
||
WHERE r.alg_ruimte_upper_nr = UPPER (recwp.alg_ruimte_nr)
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = v_gebouw_key;
|
||
|
||
IF v_count <> 1
|
||
THEN
|
||
v_errorhint := 'Fout bij bepalen default ruimte in gebouw';
|
||
|
||
SELECT r.alg_ruimte_key
|
||
INTO v_ruimte_key
|
||
FROM alg_v_aanwezigruimte r, alg_verdieping v
|
||
WHERE r.alg_ruimte_upper_nr = c_ruimte_nr
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = v_gebouw_key;
|
||
ELSE
|
||
SELECT r.alg_ruimte_key
|
||
INTO v_ruimte_key
|
||
FROM alg_v_aanwezigruimte r, alg_verdieping v
|
||
WHERE r.alg_ruimte_upper_nr = UPPER (recwp.alg_ruimte_nr)
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = v_gebouw_key;
|
||
END IF;
|
||
|
||
v_errorhint :=
|
||
'Fout bij bepalen of persoon in gebouw een werkplek heeft';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
alg_ruimte r,
|
||
alg_verdieping v
|
||
WHERE pw.prs_perslid_key = v_perslid_key
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND w.prs_alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = v_gebouw_key;
|
||
|
||
-- Als persoon in gebouw reeds een werkplek heeft en de nieuwe zou
|
||
-- in de default ruimte zijn (want ongedefinieerd bij import!), dan
|
||
-- wordt onderstaande overgeslagen.
|
||
IF (v_count = 0 OR recwp.alg_ruimte_nr != c_ruimte_nr)
|
||
THEN
|
||
v_errorhint := 'Fout bij verhuizen naar nieuwe werkplek';
|
||
PRS.movetoruimte (v_perslid_key, v_ruimte_key, 'G');
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_count_error := v_count_error + 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Werkplek: verwerkte regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Werkplek: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
''
|
||
);
|
||
COMMIT;
|
||
|
||
FOR recnowp IN cnowp
|
||
LOOP
|
||
BEGIN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Persoon met nummer ['
|
||
|| recnowp.prs_perslid_oslogin
|
||
|| '] en naam ['
|
||
|| recnowp.prs_perslid_naam
|
||
|| ', '
|
||
|| recnowp.prs_perslid_voornaam
|
||
|| '] heeft geen werkplek',
|
||
'Geen werkplek'
|
||
);
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR recnogroup IN cnogroup
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
recnogroup.prs_perslid_oslogin
|
||
|| '|'
|
||
|| recnogroup.prs_perslid_naam
|
||
|| '|'
|
||
|| recnogroup.prs_perslid_voornaam
|
||
|| ' - ';
|
||
v_errorhint := 'Fout bij bepalen groep [' || c_groep_upper || ']';
|
||
|
||
SELECT fac_groep_key
|
||
INTO v_groep_key
|
||
FROM fac_groep
|
||
WHERE fac_groep_upper = c_groep_upper;
|
||
|
||
v_errorhint :=
|
||
'Fout bij koppelen persoon aan groep ['
|
||
|| c_groep_upper
|
||
|| ']';
|
||
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
VALUES (v_groep_key, recnogroup.prs_perslid_key);
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
-- Verwijder ongebruikte functies; deze import bepaalt de functies!
|
||
DELETE FROM prs_srtperslid sp
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslid p
|
||
WHERE p.prs_srtperslid_key = sp.prs_srtperslid_key);
|
||
|
||
COMMIT;
|
||
ELSE
|
||
IF (v_count_prs_import = 0)
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Geen nieuw/recent bestand met te importeren personen aangetroffen!',
|
||
''
|
||
);
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Verschil tussen het actuele aantal en het te importeren aantal personen te groot; zie specificatie!',
|
||
'- max. verschilpercentage = ['
|
||
|| TO_CHAR (c_max_delta_percentage)
|
||
|| '%] <br> '
|
||
|| '- #personen importbestand = ['
|
||
|| TO_CHAR (v_count_prs_import)
|
||
|| '] <br> '
|
||
|| '- #personen Facilitor = ['
|
||
|| TO_CHAR (v_count_prs_actual)
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
COMMIT;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
END renk_update_prs;
|
||
/
|
||
|
||
/* Formatted on 19-9-2013 14:58:52 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW renk_v_kostensoorten
|
||
AS
|
||
SELECT prs_kostensoort_key,
|
||
prs_kostensoort_oms || '-' || prs_kostensoort_opmerking
|
||
prs_kostensoort_oms
|
||
FROM prs_kostensoort;
|
||
|
||
/* Formatted on 4-12-2013 10:05:55 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW renk_v_res_huurders
|
||
AS
|
||
SELECT b.prs_bedrijf_key, b.prs_bedrijf_naam
|
||
FROM prs_v_aanwezigbedrijf b
|
||
WHERE b.prs_bedrijf_huurder = 1
|
||
AND EXISTS
|
||
(SELECT 1 -- Actief relatie-veld 1021=Geadr./1022=Aanhef?
|
||
FROM prs_v_aanwezigkenmerklink
|
||
WHERE prs_kenmerk_key IN (1021, 1022)
|
||
AND prs_link_key = b.prs_bedrijf_key)
|
||
UNION -- Doorsnede met alle bedrijven (ooit) gekoppeld aan Verhuur-boeking
|
||
SELECT b.prs_bedrijf_key,
|
||
DECODE (b.prs_bedrijf_verwijder,
|
||
NULL, b.prs_bedrijf_naam,
|
||
'VERVALLEN:' || b.prs_bedrijf_naam)
|
||
FROM prs_bedrijf b
|
||
WHERE EXISTS
|
||
(SELECT 1 -- Actief boeking-veld 9/426=Relatie?
|
||
FROM res_v_aanwezigkenmerkwaarde rk,
|
||
res_v_aanwezigrsv_ruimte rr
|
||
WHERE rk.res_kenmerk_key IN (9, 426)
|
||
AND rk.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND fac.safe_to_number (
|
||
rk.res_kenmerkreservering_waarde
|
||
) = b.prs_bedrijf_key);
|
||
|
||
/* Formatted on 30-1-2014 9:56:26 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW renk_v_rap_mldinsres_qrc
|
||
(
|
||
fclt_f_soortmelding,
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_verdieping,
|
||
plaats,
|
||
ruimte_key,
|
||
ruimtefunctie,
|
||
fclt_f_objectdiscipline,
|
||
fclt_f_objectgroep,
|
||
objectsoort_key,
|
||
fclt_f_objectsoort,
|
||
objectsoort_code,
|
||
deel_key,
|
||
deel_omschrijving,
|
||
deel_upper,
|
||
hide_f_bookmark_id,
|
||
variabele
|
||
)
|
||
AS
|
||
SELECT md.ins_discipline_omschrijving
|
||
|| '-'
|
||
|| msd.mld_stdmelding_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
o.alg_gebouw_omschrijving,
|
||
o.alg_verdieping_omschrijving,
|
||
o.alg_plaatsaanduiding plaats,
|
||
d.ins_alg_ruimte_key ruimte_key,
|
||
sr.alg_srtruimte_omschrijving,
|
||
disc.ins_discipline_omschrijving,
|
||
sg.ins_srtgroep_omschrijving,
|
||
sd.ins_srtdeel_key,
|
||
sd.ins_srtdeel_omschrijving,
|
||
sd.ins_srtdeel_code,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_upper,
|
||
b.fac_bookmark_id,
|
||
'INS_KEY'
|
||
FROM (SELECT DECODE (
|
||
INSTR (
|
||
SUBSTR (
|
||
UPPER (fac_bookmark_query),
|
||
INSTR (UPPER (fac_bookmark_query), 'STDM_KEY=')),
|
||
'&'),
|
||
0,
|
||
SUBSTR (
|
||
SUBSTR (
|
||
UPPER (fac_bookmark_query),
|
||
INSTR (UPPER (fac_bookmark_query), 'STDM_KEY=')),
|
||
10),
|
||
SUBSTR (
|
||
SUBSTR (
|
||
UPPER (fac_bookmark_query),
|
||
INSTR (UPPER (fac_bookmark_query), 'STDM_KEY=')),
|
||
10,
|
||
INSTR (
|
||
SUBSTR (
|
||
UPPER (fac_bookmark_query),
|
||
INSTR (UPPER (fac_bookmark_query), 'STDM_KEY=')),
|
||
'&')
|
||
- 10))
|
||
stdm_key,
|
||
fac_bookmark_id
|
||
FROM fac_bookmark
|
||
WHERE TRUNC (fac_bookmark_aanmaak) >=
|
||
TO_DATE ('10062013', 'ddmmyyyy')
|
||
AND UPPER (fac_bookmark_path) = 'APPL/PDA/MELDING.ASP'
|
||
AND INSTR (UPPER (fac_bookmark_query), 'STDM_KEY') > 0) b, -- stdm_key-bookmarks
|
||
(SELECT sm.mld_ins_discipline_key,
|
||
sm.mld_stdmelding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
si.ins_srtinstallatie_key ins_srtdeel_key
|
||
FROM mld_stdmelding sm,
|
||
mld_stdmelding_srtinst si
|
||
WHERE sm.mld_stdmelding_key = si.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_verwijder IS NULL
|
||
AND si.ins_srtinstallatie_niveau = 'S'
|
||
UNION ALL
|
||
SELECT sm.mld_ins_discipline_key,
|
||
sm.mld_stdmelding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
sd.ins_srtdeel_key
|
||
FROM mld_stdmelding sm,
|
||
mld_stdmelding_srtinst si,
|
||
ins_srtdeel sd
|
||
WHERE sm.mld_stdmelding_key = si.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_verwijder IS NULL
|
||
AND si.ins_srtinstallatie_niveau = 'G'
|
||
AND si.ins_srtinstallatie_key = sd.ins_srtgroep_key
|
||
UNION ALL
|
||
SELECT sm.mld_ins_discipline_key,
|
||
sm.mld_stdmelding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
sd.ins_srtdeel_key
|
||
FROM mld_stdmelding sm,
|
||
mld_stdmelding_srtinst si,
|
||
ins_srtgroep sg,
|
||
ins_srtdeel sd
|
||
WHERE sm.mld_stdmelding_key = si.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_verwijder IS NULL
|
||
AND si.ins_srtinstallatie_niveau = 'D'
|
||
AND si.ins_srtinstallatie_key = sg.ins_discipline_key
|
||
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key) msd, -- object-meldingen
|
||
mld_discipline md,
|
||
ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_discipline disc,
|
||
ins_v_alg_overzicht o,
|
||
alg_locatie l,
|
||
alg_ruimte r,
|
||
alg_srtruimte sr
|
||
WHERE fac.safe_to_number (b.stdm_key) = msd.mld_stdmelding_key
|
||
AND msd.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND msd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND d.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||
AND d.ins_deel_parent_key IS NULL
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = disc.ins_discipline_key
|
||
AND d.ins_alg_ruimte_key = o.alg_onroerendgoed_keys
|
||
AND d.ins_alg_ruimte_type = o.alg_onroerendgoed_type
|
||
AND d.ins_alg_locatie_key = o.alg_locatie_key -- redundant?
|
||
AND o.alg_locatie_key = l.alg_locatie_key
|
||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
|
||
UNION ALL
|
||
SELECT 'Melding op object',
|
||
l.alg_locatie_omschrijving,
|
||
o.alg_gebouw_omschrijving,
|
||
o.alg_verdieping_omschrijving,
|
||
o.alg_plaatsaanduiding plaats,
|
||
NULL ruimte_key,
|
||
sr.alg_srtruimte_omschrijving,
|
||
disc.ins_discipline_omschrijving,
|
||
sg.ins_srtgroep_omschrijving,
|
||
sd.ins_srtdeel_key,
|
||
sd.ins_srtdeel_omschrijving,
|
||
sd.ins_srtdeel_code,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_upper,
|
||
b.fac_bookmark_id,
|
||
'INS_KEY'
|
||
FROM fac_bookmark b,
|
||
ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_discipline disc,
|
||
ins_v_alg_overzicht o,
|
||
alg_locatie l,
|
||
alg_ruimte r,
|
||
alg_srtruimte sr
|
||
WHERE TRUNC (b.fac_bookmark_aanmaak) = TO_DATE ('10062013', 'ddmmyyyy')
|
||
AND UPPER (b.fac_bookmark_naam) LIKE '%GENERIEK%'
|
||
AND UPPER (b.fac_bookmark_path) = 'APPL/PDA/INS_DEEL.ASP'
|
||
AND d.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||
AND d.ins_deel_parent_key IS NULL
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = disc.ins_discipline_key
|
||
AND d.ins_alg_ruimte_key = o.alg_onroerendgoed_keys
|
||
AND d.ins_alg_ruimte_type = o.alg_onroerendgoed_type
|
||
AND d.ins_alg_locatie_key = o.alg_locatie_key -- redundant?
|
||
AND o.alg_locatie_key = l.alg_locatie_key
|
||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
|
||
UNION ALL
|
||
SELECT 'Melding op ruimte',
|
||
l.alg_locatie_omschrijving,
|
||
o.alg_gebouw_omschrijving,
|
||
o.alg_verdieping_omschrijving,
|
||
o.alg_plaatsaanduiding plaats,
|
||
r.alg_ruimte_key ruimte_key,
|
||
sr.alg_srtruimte_omschrijving,
|
||
NULL ins_discipline_omschrijving,
|
||
NULL ins_srtgroep_omschrijving,
|
||
NULL ins_srtdeel_key,
|
||
NULL ins_srtdeel_omschrijving,
|
||
NULL ins_srtdeel_code,
|
||
NULL ins_deel_key,
|
||
NULL ins_deel_omschrijving,
|
||
NULL ins_deel_upper,
|
||
b.fac_bookmark_id,
|
||
'RUIMTE_KEY'
|
||
FROM fac_bookmark b,
|
||
alg_v_aanwezigruimte r,
|
||
alg_srtruimte sr,
|
||
ins_v_alg_overzicht o,
|
||
alg_locatie l
|
||
WHERE TRUNC (b.fac_bookmark_aanmaak) = TO_DATE ('10062013', 'ddmmyyyy')
|
||
AND UPPER (b.fac_bookmark_naam) LIKE '%GENERIEK%'
|
||
AND UPPER (b.fac_bookmark_path) = 'APPL/PDA/MELDING.ASP'
|
||
AND INSTR (UPPER (fac_bookmark_query), 'STDM_KEY') = 0
|
||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
|
||
AND r.alg_ruimte_key = o.alg_onroerendgoed_keys
|
||
AND o.alg_onroerendgoed_type = 'R'
|
||
AND o.alg_locatie_key = l.alg_locatie_key
|
||
UNION ALL
|
||
SELECT 'Melding op gebouw',
|
||
l.alg_locatie_omschrijving,
|
||
g.alg_gebouw_omschrijving,
|
||
NULL alg_verdieping_omschrijving,
|
||
l.alg_locatie_code || '-' || g.alg_gebouw_code plaats,
|
||
g.alg_gebouw_key ruimte_key,
|
||
sg.alg_srtgebouw_omschrijving,
|
||
NULL ins_discipline_omschrijving,
|
||
NULL ins_srtgroep_omschrijving,
|
||
NULL ins_srtdeel_key,
|
||
NULL ins_srtdeel_omschrijving,
|
||
NULL ins_srtdeel_code,
|
||
NULL ins_deel_key,
|
||
NULL ins_deel_omschrijving,
|
||
NULL ins_deel_upper,
|
||
b.fac_bookmark_id,
|
||
'GEBOUW_KEY'
|
||
FROM fac_bookmark b,
|
||
alg_v_aanweziggebouw g,
|
||
alg_v_aanwezigsrtgebouw sg,
|
||
alg_locatie l
|
||
WHERE TRUNC (b.fac_bookmark_aanmaak) = TO_DATE ('30012014', 'ddmmyyyy')
|
||
AND UPPER (b.fac_bookmark_naam) LIKE '%GENERIEK%'
|
||
AND UPPER (b.fac_bookmark_path) = 'APPL/PDA/MELDING.ASP'
|
||
AND INSTR (UPPER (fac_bookmark_query), 'STDM_KEY') = 0
|
||
AND g.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
UNION ALL -- Reserveerbare ruimtes 50=Gemeentehuis
|
||
SELECT 'Reserveer ruimte',
|
||
l.alg_locatie_omschrijving,
|
||
o.alg_gebouw_omschrijving,
|
||
o.alg_verdieping_omschrijving,
|
||
rr.res_ruimte_nr plaats,
|
||
rar.res_ruimte_key ruimte_key,
|
||
sr.alg_srtruimte_omschrijving,
|
||
NULL ins_discipline_omschrijving,
|
||
NULL ins_srtgroep_omschrijving,
|
||
NULL ins_srtdeel_key,
|
||
NULL ins_srtdeel_omschrijving,
|
||
NULL ins_srtdeel_code,
|
||
NULL ins_deel_key,
|
||
NULL ins_deel_omschrijving,
|
||
NULL ins_deel_upper,
|
||
b.fac_bookmark_id,
|
||
'RES_RUIMTE_KEY'
|
||
FROM fac_bookmark b,
|
||
res_ruimte rr,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar,
|
||
alg_ruimte r,
|
||
alg_srtruimte sr,
|
||
ins_v_alg_overzicht o,
|
||
alg_locatie l
|
||
WHERE TRUNC (b.fac_bookmark_aanmaak) = TO_DATE ('10062013', 'ddmmyyyy')
|
||
AND UPPER (b.fac_bookmark_naam) LIKE '%GENERIEK%'
|
||
AND UPPER (b.fac_bookmark_path) = 'APPL/PDA/RESERVERINGEN.ASP'
|
||
AND rr.res_discipline_key != 62 -- OV kaart
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
|
||
AND r.alg_ruimte_key = o.alg_onroerendgoed_keys
|
||
AND o.alg_onroerendgoed_type = 'R'
|
||
AND o.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_key = 50;
|
||
|
||
/* Formatted on 29-8-2013 17:20:02 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PACKAGE RENK
|
||
AS
|
||
-- PACKAGES voor de RENK specifieke ondersteuning
|
||
PROCEDURE freezereserveringen (p_groepering IN VARCHAR2,
|
||
p_kenmerk IN VARCHAR2);
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 29-8-2013 17:20:02 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PACKAGE BODY RENK
|
||
AS
|
||
PROCEDURE freezereserveringen (p_groepering IN VARCHAR2,
|
||
p_kenmerk IN VARCHAR2)
|
||
AS
|
||
-- Volgende cursors lopen over boekingen door de huurder geidentificeerd
|
||
-- door 'p_groepering' in de lopende jaarhelft hebben plaatsgevonden (of
|
||
-- nog moeten plaatsvinden) en nog niet zijn gefactuureerd; betreffende
|
||
-- ruimte-reservering worden NIET Administratief Verwerkt!
|
||
-- Ook wordt aan deze reserveringen een (nieuw) Docman-kenmerk gekoppeld.
|
||
CURSOR cobj
|
||
IS
|
||
SELECT v.resid,
|
||
rr.res_rsv_ruimte_key,
|
||
rr.res_reservering_key,
|
||
rr.res_rsv_ruimte_volgnr,
|
||
rd.res_rsv_deel_key,
|
||
rd.res_status_bo_key
|
||
FROM renk_v_verhuurregels_alle v,
|
||
res_v_aanwezigrsv_ruimte rr,
|
||
res_v_aanwezigrsv_deel rd
|
||
WHERE v.groepering = p_groepering
|
||
AND v.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key;
|
||
|
||
CURSOR cart
|
||
IS
|
||
SELECT v.resid,
|
||
rr.res_rsv_ruimte_key,
|
||
rr.res_reservering_key,
|
||
rr.res_rsv_ruimte_volgnr,
|
||
ra.res_rsv_artikel_key,
|
||
ra.res_status_bo_key
|
||
FROM renk_v_verhuurregels_alle v,
|
||
res_v_aanwezigrsv_ruimte rr,
|
||
res_v_aanwezigrsv_artikel ra
|
||
WHERE v.groepering = p_groepering
|
||
AND v.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key;
|
||
|
||
CURSOR crui
|
||
IS
|
||
SELECT v.resid,
|
||
rr.res_rsv_ruimte_key,
|
||
rr.res_reservering_key,
|
||
rr.res_rsv_ruimte_volgnr,
|
||
rr.res_status_bo_key
|
||
FROM renk_v_verhuurregels_alle v, res_v_aanwezigrsv_ruimte rr
|
||
WHERE v.groepering = p_groepering
|
||
AND v.res_rsv_ruimte_key = rr.res_rsv_ruimte_key;
|
||
|
||
c_applname VARCHAR2 (50) := 'FREEZE_RES';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200) := '-';
|
||
v_count NUMBER (10);
|
||
v_count_upd NUMBER (10);
|
||
--v_factuurnr VARCHAR2 (20);
|
||
--v_prskey NUMBER (10);
|
||
--v_huurderlid VARCHAR2 (1) := 'N';
|
||
--v_factuurbedrag NUMBER (12, 2);
|
||
--v_prijs NUMBER (9, 2);
|
||
BEGIN
|
||
v_count_upd := 0;
|
||
|
||
-- Bevriezen RES-objecten!
|
||
FOR rec IN cobj
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
'['
|
||
|| rec.resid
|
||
|| '|'
|
||
|| rec.res_rsv_ruimte_key
|
||
|| '|'
|
||
|| TO_CHAR (p_groepering)
|
||
|| '] ';
|
||
|
||
-- Eerst maar eens afmelden (als dat nog niet is gedaan)!
|
||
IF (rec.res_status_bo_key = 2)
|
||
THEN
|
||
v_errormsg := 'Fout bij TV-en RES-object.';
|
||
|
||
UPDATE res_rsv_deel
|
||
SET res_status_bo_key = 5
|
||
WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
|
||
|
||
COMMIT;
|
||
v_count_upd := v_count_upd + 1;
|
||
END IF;
|
||
--v_errormsg := 'Fout bij bepalen res_rsv_deel_prijs.';
|
||
|
||
--SELECT res.getdeelprijs (rec.res_rsv_deel_key)
|
||
-- INTO v_prijs
|
||
-- FROM DUAL;
|
||
|
||
--v_errormsg := 'Fout bij bijwerken res_rsv_deel_prijs.';
|
||
|
||
--UPDATE res_rsv_deel
|
||
-- SET res_rsv_deel_prijs = v_prijs
|
||
-- WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
|
||
|
||
--v_errormsg := 'Fout bij AV-en RES-object.';
|
||
|
||
--UPDATE res_rsv_deel
|
||
-- SET res_status_bo_key = 6
|
||
-- WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
|
||
|
||
--COMMIT;
|
||
--v_count_upd := v_count_upd + 1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.writelog (c_applname,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'RES-object');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (c_applname,
|
||
'S',
|
||
'RES-object/#afgemeld: ' || TO_CHAR (v_count_upd),
|
||
'');
|
||
COMMIT;
|
||
|
||
v_count_upd := 0;
|
||
|
||
-- Bevriezen RES-artikelen!
|
||
FOR rec IN cart
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
'['
|
||
|| rec.resid
|
||
|| '|'
|
||
|| rec.res_rsv_ruimte_key
|
||
|| '|'
|
||
|| TO_CHAR (p_groepering)
|
||
|| '] ';
|
||
|
||
-- Eerst maar eens afmelden (als dat nog niet is gedaan)!
|
||
IF (rec.res_status_bo_key = 2)
|
||
THEN
|
||
v_errormsg := 'Fout bij TV-en RES-artikel.';
|
||
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 5
|
||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
COMMIT;
|
||
v_count_upd := v_count_upd + 1;
|
||
END IF;
|
||
--IF (rec.res_artikel_prijs_vast = 1)
|
||
--THEN
|
||
-- v_errormsg := 'Fout bij bepalen res_rsv_artikel_prijs.';
|
||
|
||
-- SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
|
||
-- INTO v_prijs
|
||
-- FROM DUAL;
|
||
|
||
-- v_errormsg := 'Fout bij bijwerken res_rsv_artikel_prijs.';
|
||
|
||
-- UPDATE res_rsv_artikel
|
||
-- SET res_rsv_artikel_prijs = v_prijs,
|
||
-- res_rsv_artikel_inkoopprijs =
|
||
-- (SELECT res_artikel_inkoopprijs
|
||
-- FROM res_artikel
|
||
-- WHERE res_artikel_key = rec.res_artikel_key),
|
||
-- res_rsv_artikel_btw =
|
||
-- (SELECT res_artikel_btw
|
||
-- FROM res_artikel
|
||
-- WHERE res_artikel_key = rec.res_artikel_key)
|
||
-- WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
--END IF;
|
||
|
||
--v_errormsg := 'Fout bij AV-en RES-artikel.';
|
||
|
||
--UPDATE res_rsv_artikel
|
||
-- SET res_status_bo_key = 6
|
||
-- WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
--COMMIT;
|
||
--v_count_upd := v_count_upd + 1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.writelog (c_applname,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'RES-artikel');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (c_applname,
|
||
'S',
|
||
'RES-artikel/#afgemeld: ' || TO_CHAR (v_count_upd),
|
||
'');
|
||
COMMIT;
|
||
|
||
v_count_upd := 0;
|
||
|
||
-- Eerst maar eens afmelden (als dat nog niet is gedaan)!
|
||
FOR rec IN crui
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
'['
|
||
|| rec.resid
|
||
|| '|'
|
||
|| rec.res_rsv_ruimte_key
|
||
|| '|'
|
||
|| TO_CHAR (p_groepering)
|
||
|| '] ';
|
||
|
||
-- Niet voor reeds afgemelde reserveringen en "roomservice"!
|
||
IF (rec.res_status_bo_key = 2)
|
||
THEN
|
||
v_errormsg := 'Fout bij TV-en RES-ruimte.';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 5
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
fac.trackaction ('RESAFM',
|
||
rec.res_rsv_ruimte_key,
|
||
NULL,
|
||
NULL,
|
||
NULL);
|
||
|
||
COMMIT;
|
||
v_count_upd := v_count_upd + 1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.writelog (c_applname,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'RES-ruimte/TV');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (c_applname,
|
||
'S',
|
||
'RES-ruimte/#afgemeld: ' || TO_CHAR (v_count_upd),
|
||
'');
|
||
COMMIT;
|
||
|
||
v_count_upd := 0;
|
||
|
||
FOR rec IN crui
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
'['
|
||
|| rec.resid
|
||
|| '|'
|
||
|| rec.res_rsv_ruimte_key
|
||
|| '|'
|
||
|| TO_CHAR (p_groepering)
|
||
|| '] ';
|
||
|
||
v_errormsg := 'Fout bij bijwerken kenmerk.';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_rsv_ruimte_ordernr = p_kenmerk
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
-- Niet voor "roomservice"!
|
||
--IF (rec.res_status_bo_key = 5)
|
||
--THEN
|
||
-- IF (rec.old_prijs <> rec.new_prijs)
|
||
-- THEN
|
||
-- v_errormsg := 'Fout bij bijwerken res_rsv_ruimte_prijs';
|
||
|
||
-- UPDATE res_rsv_ruimte rr
|
||
-- SET rr.res_rsv_ruimte_prijs = rec.new_prijs
|
||
-- WHERE rr.res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
-- END IF;
|
||
|
||
-- v_errormsg := 'Fout bij AV-en RES-ruimte.';
|
||
|
||
-- UPDATE res_rsv_ruimte
|
||
-- SET res_status_bo_key = 6
|
||
-- WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
-- fac.trackaction ('RESVER',
|
||
-- rec.res_rsv_ruimte_key,
|
||
-- NULL,
|
||
-- NULL,
|
||
-- NULL);
|
||
--END IF;
|
||
|
||
COMMIT;
|
||
v_count_upd := v_count_upd + 1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.writelog (c_applname,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'RES-ruimte/AV');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (c_applname,
|
||
'S',
|
||
'RES-ruimte/#bijgewerkt: ' || TO_CHAR (v_count_upd),
|
||
'');
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.writelog (c_applname,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
COMMIT;
|
||
END freezereserveringen;
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 4-12-2013 12:30:24 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW renk_v_verhuurregels_alle
|
||
(
|
||
groepering,
|
||
sortering1,
|
||
sortering2,
|
||
fclt_f_naam,
|
||
naam,
|
||
afd,
|
||
tav,
|
||
aanhef,
|
||
adres,
|
||
postcode,
|
||
plaats,
|
||
factuurdatum,
|
||
res_rsv_ruimte_key,
|
||
resid,
|
||
ordernr,
|
||
sys_helft,
|
||
dagnaam,
|
||
dagnr,
|
||
van,
|
||
tot,
|
||
omschrijving,
|
||
opmerking,
|
||
datumverzoek,
|
||
soortverzoek,
|
||
tarief_code,
|
||
termijnen,
|
||
korting,
|
||
behandelaar_naam,
|
||
behandelaar_tel,
|
||
behandelaar_mail,
|
||
res_discipline_key,
|
||
res_ruimte_key,
|
||
alg_locatie_key,
|
||
res_type,
|
||
res_ruimte_nr,
|
||
vnr,
|
||
onderwerp,
|
||
res_voorziening,
|
||
res_rsv_prijs,
|
||
aantal,
|
||
ps,
|
||
po,
|
||
pm,
|
||
pa,
|
||
pd,
|
||
btw
|
||
)
|
||
AS
|
||
SELECT DECODE ( -- V -> per jaarhelft/locatie; I of C -> per reservering!
|
||
tarief.res_kenmerkreservering_waarde,
|
||
'84', -- Vast
|
||
TO_CHAR (rvc.alg_locatie_key) || '-' -- Dash!
|
||
|| COALESCE (TO_CHAR (r.bedr_key),
|
||
--inaam.res_kenmerkreservering_waarde,
|
||
UPPER (TRIM (x.res_rsv_ruimte_omschrijving)),
|
||
'[naam]'),
|
||
TO_CHAR (x.res_key) || '/' || TO_CHAR (x.res_vnr) -- Slash!
|
||
)
|
||
groepering,
|
||
TO_CHAR (x.van, 'yyyy-mm-dd hh24:mi')
|
||
|| rvc.res_ruimte_nr
|
||
|| x.res_key
|
||
sortering1, -- Factuurregels op datum-tijd en dan ruimtenr
|
||
rvc.res_type || SUBSTR ('000000' || TO_CHAR (rvc.vnr), -6)
|
||
sortering2, -- ..daarbinnen op type (1R2V3C) en dan volgnr
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (UPPER (TRIM (x.res_rsv_ruimte_omschrijving)),
|
||
'[naam]'),
|
||
TRIM (r.prs_bedrijf_naam)
|
||
)
|
||
fclt_f_naam,
|
||
DECODE (r.bedr_key,
|
||
NULL,
|
||
COALESCE (inaam.res_kenmerkreservering_waarde, '[naam]'),
|
||
COALESCE (rnaam.prs_kenmerklink_waarde, '[naam]'))
|
||
naam,
|
||
DECODE (r.bedr_key,
|
||
NULL, iafd.res_kenmerkreservering_waarde,
|
||
rafd.prs_kenmerklink_waarde)
|
||
afd,
|
||
DECODE (r.bedr_key,
|
||
NULL, itav.res_kenmerkreservering_waarde,
|
||
rtav.prs_kenmerklink_waarde)
|
||
tav,
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (iaanhef.res_kenmerkreservering_waarde, '[aanhef]'),
|
||
COALESCE (raanhef.prs_kenmerklink_waarde, '[aanhef]')
|
||
)
|
||
aanhef,
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (iadres.res_kenmerkreservering_waarde, '[adres]'),
|
||
COALESCE (r.adres, '[adres]')
|
||
)
|
||
adres,
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (ipostcode.res_kenmerkreservering_waarde, '[pc]'),
|
||
COALESCE (r.postcode, '[pc]')
|
||
)
|
||
postcode,
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (iplaats.res_kenmerkreservering_waarde, '[plaats]'),
|
||
COALESCE (r.plaats, '[plaats]')
|
||
)
|
||
plaats,
|
||
TO_CHAR (SYSDATE, 'dd')
|
||
|| DECODE (TO_CHAR (SYSDATE, 'mm'),
|
||
'01', ' januari ',
|
||
'02', ' februari ',
|
||
'03', ' maart ',
|
||
'04', ' april ',
|
||
'05', ' mei ',
|
||
'06', ' juni ',
|
||
'07', ' juli ',
|
||
'08', ' augustus ',
|
||
'09', ' september ',
|
||
'10', ' okotober ',
|
||
'11', ' november ',
|
||
' december ')
|
||
|| TO_CHAR (SYSDATE, 'yyyy')
|
||
factuurdatum,
|
||
x.res_rsv_ruimte_key,
|
||
x.res_key || '/' || x.res_vnr resid,
|
||
x.res_rsv_ruimte_ordernr ordernr,
|
||
x.sys_helft, -- 1e of 2e jaarhelft in formaat yyyyh(elft)!
|
||
DECODE (TO_CHAR (x.van, 'd'),
|
||
'2', 'maandag',
|
||
'3', 'dinsdag',
|
||
'4', 'woensdag',
|
||
'5', 'donderdag',
|
||
'6', 'vrijdag',
|
||
'7', 'zaterdag',
|
||
'zondag')
|
||
dagnaam,
|
||
DECODE (TO_CHAR (x.van, 'd'),
|
||
'1', 7,
|
||
TO_NUMBER (TO_CHAR (x.van, 'd')) - 1)
|
||
dagnr,
|
||
x.van, --TO_CHAR (x.van, 'hh24:mi') van,
|
||
x.tot, --TO_CHAR (x.tot, 'hh24:mi') tot,
|
||
x.res_rsv_ruimte_omschrijving oms,
|
||
x.res_rsv_ruimte_opmerking opm,
|
||
COALESCE (datumverzoek.res_kenmerkreservering_waarde,
|
||
'dd-mm-jjjj')
|
||
datumverzoek,
|
||
DECODE (soortverzoek.res_kenmerkreservering_waarde,
|
||
'81', 'telefonische',
|
||
'82', 'schriftelijke',
|
||
'[soortverzoek]')
|
||
soortverzoek,
|
||
DECODE (tarief.res_kenmerkreservering_waarde,
|
||
'84', 'V', -- Vast!
|
||
'85', 'C', -- Commercieel!
|
||
'I') -- Incidenteel!
|
||
tarief_code,
|
||
rtermijnen.prs_kenmerklink_waarde termijnen,
|
||
DECODE (
|
||
rkorting.prs_kenmerklink_waarde,
|
||
'1',
|
||
DECODE (
|
||
rvc.res_discipline_key,
|
||
41, -- Sporthal
|
||
DECODE (
|
||
TO_CHAR (x.tot, 'd'),
|
||
'1', -- Zondag
|
||
1,
|
||
'4', -- Woensdag
|
||
DECODE (SIGN ( ( (x.van - TRUNC (x.van)) * 24) - 12),
|
||
-1, 0.5,
|
||
1),
|
||
'7', -- Zaterdag
|
||
1,
|
||
DECODE (SIGN ( ( (x.van - TRUNC (x.van)) * 24) - 18),
|
||
-1, 0.5,
|
||
1)
|
||
),
|
||
1
|
||
),
|
||
1
|
||
)
|
||
korting, -- Eventueel te hanteren korting (factor)!
|
||
x.behandelaar_naam,
|
||
x.behandelaar_tel,
|
||
x.behandelaar_mail,
|
||
rvc.res_discipline_key,
|
||
rvc.res_ruimte_key,
|
||
rvc.alg_locatie_key,
|
||
rvc.res_type,
|
||
rvc.res_ruimte_nr,
|
||
rvc.vnr,
|
||
rvc.onderwerp,
|
||
rvc.res_voorziening,
|
||
rvc.res_rsv_prijs,
|
||
rvc.aantal,
|
||
rvc.ps, -- Uur-tarief
|
||
rvc.po, -- Incidenteel tarief
|
||
rvc.pm, -- Vast tarief/K
|
||
rvc.pa, -- Commercieel tarief/H
|
||
rvc.pd, -- Jaartarief/J
|
||
rvc.btw
|
||
FROM (SELECT rr.res_rsv_ruimte_key,
|
||
rr.res_reservering_key res_key,
|
||
rr.res_rsv_ruimte_volgnr res_vnr,
|
||
rr.res_rsv_ruimte_ordernr,
|
||
rr.res_rsv_ruimte_van van,
|
||
rr.res_rsv_ruimte_tot tot,
|
||
rr.res_rsv_ruimte_omschrijving,
|
||
rr.res_rsv_ruimte_opmerking,
|
||
p.prs_perslid_key,
|
||
DECODE (
|
||
p.prs_perslid_voornaam,
|
||
'', '',
|
||
p.prs_perslid_voornaam
|
||
|| ' '
|
||
)
|
||
|| DECODE (
|
||
p.prs_perslid_tussenvoegsel,
|
||
'', '',
|
||
p.prs_perslid_tussenvoegsel
|
||
|| ' '
|
||
)
|
||
|| p.prs_perslid_naam
|
||
behandelaar_naam,
|
||
COALESCE (
|
||
p.prs_perslid_telefoonnr,
|
||
p.prs_perslid_mobiel
|
||
)
|
||
behandelaar_tel,
|
||
p.prs_perslid_email
|
||
behandelaar_mail,
|
||
TO_CHAR (
|
||
rr.res_rsv_ruimte_tot,
|
||
'yyyy'
|
||
)
|
||
|| DECODE (
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
rr.res_rsv_ruimte_tot, 5
|
||
),
|
||
'yyyy'
|
||
),
|
||
TRUNC (
|
||
rr.res_rsv_ruimte_tot,
|
||
'yyyy'
|
||
),
|
||
'1',
|
||
'2'
|
||
) res_helft,
|
||
TO_CHAR (
|
||
ADD_MONTHS (
|
||
SYSDATE, 1
|
||
),
|
||
'yyyy'
|
||
)
|
||
|| DECODE (
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
SYSDATE, 6
|
||
),
|
||
'yyyy'
|
||
),
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
SYSDATE, 1
|
||
),
|
||
'yyyy'
|
||
),
|
||
'1',
|
||
'2'
|
||
) sys_helft
|
||
FROM res_v_aanwezigrsv_ruimte rr,
|
||
prs_perslid p
|
||
WHERE rr.res_activiteit_key IN (30, 230) -- Verhuur/Schoollokaal
|
||
AND rr.res_status_fo_key IN (1, 2)
|
||
AND rr.res_rsv_ruimte_dirtlevel = 0
|
||
--AND COALESCE (
|
||
-- rr.res_status_bo_key, 2
|
||
-- ) != 6 -- Nog niet AV
|
||
AND rr.res_rsv_ruimte_tot >
|
||
ADD_MONTHS (
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
SYSDATE,
|
||
-6
|
||
),
|
||
'yyyy'
|
||
),
|
||
7
|
||
)
|
||
AND rr.res_rsv_ruimte_contact_key =
|
||
p.prs_perslid_key)
|
||
x
|
||
LEFT JOIN -- 301/422 = Datum verzoek
|
||
res_v_aanwezigkenmerkwaarde datumverzoek
|
||
ON x.res_rsv_ruimte_key = datumverzoek.res_rsv_ruimte_key
|
||
AND datumverzoek.res_kenmerk_key IN (301, 422)
|
||
LEFT JOIN -- 302/423 = Soort verzoek
|
||
res_v_aanwezigkenmerkwaarde soortverzoek
|
||
ON x.res_rsv_ruimte_key = soortverzoek.res_rsv_ruimte_key
|
||
AND soortverzoek.res_kenmerk_key IN (302, 423)
|
||
LEFT JOIN -- 303/424 = Verhuur tarief
|
||
res_v_aanwezigkenmerkwaarde tarief
|
||
ON x.res_rsv_ruimte_key = tarief.res_rsv_ruimte_key
|
||
AND tarief.res_kenmerk_key IN (303, 424)
|
||
LEFT JOIN -- Regelmatige relatiegegevens
|
||
(SELECT kw.res_rsv_ruimte_key,
|
||
b.prs_bedrijf_key bedr_key,
|
||
b.prs_bedrijf_naam,
|
||
COALESCE (
|
||
b.prs_bedrijf_post_adres,
|
||
b.prs_bedrijf_bezoek_adres
|
||
) adres,
|
||
COALESCE (
|
||
b.prs_bedrijf_post_postcode,
|
||
b.prs_bedrijf_bezoek_postcode
|
||
) postcode,
|
||
COALESCE (
|
||
b.prs_bedrijf_post_plaats,
|
||
b.prs_bedrijf_bezoek_plaats
|
||
) plaats
|
||
FROM res_v_aanwezigkenmerkwaarde kw,
|
||
prs_bedrijf b
|
||
WHERE kw.res_kenmerk_key IN (9, 426) -- Relatie
|
||
AND fac.safe_to_number(kw.res_kenmerkreservering_waarde) =
|
||
b.prs_bedrijf_key)
|
||
r
|
||
ON x.res_rsv_ruimte_key = r.res_rsv_ruimte_key
|
||
LEFT JOIN -- 2/428 = Incidentele relatie/Naam
|
||
res_v_aanwezigkenmerkwaarde inaam
|
||
ON x.res_rsv_ruimte_key = inaam.res_rsv_ruimte_key
|
||
AND inaam.res_kenmerk_key IN (2, 428)
|
||
LEFT JOIN -- 341/429 = Incidentele relatie/Afd
|
||
res_v_aanwezigkenmerkwaarde iafd
|
||
ON x.res_rsv_ruimte_key = iafd.res_rsv_ruimte_key
|
||
AND iafd.res_kenmerk_key IN (341, 429)
|
||
LEFT JOIN -- 342/430 = Incidentele relatie/Tav
|
||
res_v_aanwezigkenmerkwaarde itav
|
||
ON x.res_rsv_ruimte_key = itav.res_rsv_ruimte_key
|
||
AND itav.res_kenmerk_key IN (342, 430)
|
||
LEFT JOIN -- 304/436 = Incidentele relatie/Aanhef
|
||
res_v_aanwezigkenmerkwaarde iaanhef
|
||
ON x.res_rsv_ruimte_key = iaanhef.res_rsv_ruimte_key
|
||
AND iaanhef.res_kenmerk_key IN (304, 436)
|
||
LEFT JOIN -- 3/431 = Incidentele relatie/Adres
|
||
res_v_aanwezigkenmerkwaarde iadres
|
||
ON x.res_rsv_ruimte_key = iadres.res_rsv_ruimte_key
|
||
AND iadres.res_kenmerk_key IN (3, 431)
|
||
LEFT JOIN -- 4/432 = Incidentele relatie/Postcode
|
||
res_v_aanwezigkenmerkwaarde ipostcode
|
||
ON x.res_rsv_ruimte_key = ipostcode.res_rsv_ruimte_key
|
||
AND ipostcode.res_kenmerk_key IN (4, 432)
|
||
LEFT JOIN -- 5/433 = Incidentele relatie/Plaats
|
||
res_v_aanwezigkenmerkwaarde iplaats
|
||
ON x.res_rsv_ruimte_key = iplaats.res_rsv_ruimte_key
|
||
AND iplaats.res_kenmerk_key IN (5, 433)
|
||
LEFT JOIN -- 1021 = Regelmatige relatie/Naam
|
||
prs_v_aanwezigkenmerklink rnaam
|
||
ON r.bedr_key = rnaam.prs_link_key
|
||
AND rnaam.prs_kenmerk_key = 1021
|
||
LEFT JOIN -- 1040 = Regelmatige relatie/Afd
|
||
prs_v_aanwezigkenmerklink rafd
|
||
ON r.bedr_key = rafd.prs_link_key
|
||
AND rafd.prs_kenmerk_key = 1040
|
||
LEFT JOIN -- 1041 = Regelmatige relatie/Tav
|
||
prs_v_aanwezigkenmerklink rtav
|
||
ON r.bedr_key = rtav.prs_link_key
|
||
AND rtav.prs_kenmerk_key = 1041
|
||
LEFT JOIN -- 1022 = Regelmatige relatie/Aanhef
|
||
prs_v_aanwezigkenmerklink raanhef
|
||
ON r.bedr_key = raanhef.prs_link_key
|
||
AND raanhef.prs_kenmerk_key = 1022
|
||
LEFT JOIN -- 1023 = Regelmatige relatie/Termijnen
|
||
prs_v_aanwezigkenmerklink rtermijnen
|
||
ON r.bedr_key = rtermijnen.prs_link_key
|
||
AND rtermijnen.prs_kenmerk_key = 1023
|
||
LEFT JOIN -- 1060 = Regelmatige relatie/Korting
|
||
prs_v_aanwezigkenmerklink rkorting
|
||
ON r.bedr_key = rkorting.prs_link_key
|
||
AND rkorting.prs_kenmerk_key = 1060
|
||
LEFT JOIN
|
||
(SELECT rrr.res_rsv_ruimte_key,
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key,
|
||
l.alg_locatie_key,
|
||
'1R' res_type,
|
||
rr.res_ruimte_nr,
|
||
TO_NUMBER (NULL) vnr,
|
||
'Huur '
|
||
|| DECODE (
|
||
rrr.res_activiteit_key,
|
||
30,
|
||
rdi.ins_discipline_omschrijving || ' '
|
||
|| TRIM(SUBSTR (
|
||
rr.res_ruimte_nr,
|
||
1,
|
||
INSTR (rr.res_ruimte_nr || '(',
|
||
'(')
|
||
- 1
|
||
)),
|
||
'locatie ' || l.alg_locatie_omschrijving
|
||
)
|
||
onderwerp,
|
||
rr.res_ruimte_nr res_voorziening,
|
||
rrr.res_rsv_ruimte_prijs res_rsv_prijs,
|
||
(rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van)
|
||
* 24
|
||
aantal, -- Duur in uren
|
||
rr.res_ruimte_prijs ps, -- Uur-tarief
|
||
rr.res_ruimte_prijs_ochtend po, -- Incidenteel tarief
|
||
rr.res_ruimte_prijs_middag pm, -- Vast tarief/K
|
||
rr.res_ruimte_prijs_avond pa, -- Commercieel tarief/H
|
||
rr.res_ruimte_prijs_dag pd, -- Jaartarief/J
|
||
6 btw
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_discipline rdi,
|
||
res_v_res_ruimte_gegevens_all rga,
|
||
alg_locatie l
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_discipline_key = rdi.ins_discipline_key
|
||
AND rr.res_ruimte_key = rga.res_ruimte_key
|
||
AND rga.alg_locatie_key = l.alg_locatie_key
|
||
UNION ALL
|
||
SELECT rrd.res_rsv_ruimte_key,
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key,
|
||
l.alg_locatie_key,
|
||
'2V' res_type,
|
||
rr.res_ruimte_nr,
|
||
rd.res_ins_deel_key vnr,
|
||
NULL onderwerp,
|
||
LTRIM (ID.ins_deel_omschrijving)
|
||
|| DECODE (rd.res_deel_eenheid,
|
||
NULL, '',
|
||
' (' || rd.res_deel_eenheid || ')')
|
||
res_voorziening,
|
||
rrd.res_rsv_deel_prijs res_rsv_prijs,
|
||
(rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van) * 24
|
||
aantal, -- Duur in uren
|
||
rd.res_deel_prijs ps, -- Uur-tarief
|
||
TO_NUMBER (NULL) po, -- Incidenteel tarief
|
||
TO_NUMBER (NULL) pm, -- Vast tarief/K
|
||
TO_NUMBER (NULL) pa, -- Commercieel tarief/H
|
||
TO_NUMBER (NULL) pd, -- Jaartarief/J
|
||
6 btw
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_v_res_ruimte_gegevens_all rga,
|
||
alg_locatie l,
|
||
res_v_aanwezigrsv_deel rrd,
|
||
res_deel rd,
|
||
ins_deel ID
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_ruimte_key = rga.res_ruimte_key
|
||
AND rga.alg_locatie_key = l.alg_locatie_key
|
||
AND rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_ins_deel_key = ID.ins_deel_key
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key,
|
||
l.alg_locatie_key,
|
||
'3C' res_type,
|
||
rr.res_ruimte_nr,
|
||
ra.res_artikel_volgnummer vnr,
|
||
NULL onderwerp,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| DECODE (ra.res_artikel_eenheid,
|
||
NULL, '',
|
||
' (' || ra.res_artikel_eenheid || ')')
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_prijs res_rsv_prijs,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs ps, -- Stuksprijs
|
||
TO_NUMBER (NULL) po, -- Incidenteel tarief
|
||
TO_NUMBER (NULL) pm, -- Vast tarief/K
|
||
TO_NUMBER (NULL) pa, -- Commercieel tarief/H
|
||
TO_NUMBER (NULL) pd, -- Jaartarief/J
|
||
COALESCE (rra.res_rsv_artikel_btw,
|
||
ra.res_artikel_btw,
|
||
21)
|
||
btw
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_v_res_ruimte_gegevens_all rga,
|
||
alg_locatie l,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_ruimte_key = rga.res_ruimte_key
|
||
AND rga.alg_locatie_key = l.alg_locatie_key
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key) rvc
|
||
ON x.res_rsv_ruimte_key = rvc.res_rsv_ruimte_key
|
||
WHERE x.res_helft <= x.sys_helft -- Facturatie t/m lopende jaarhelft!
|
||
AND (x.res_rsv_ruimte_ordernr IS NULL -- Niet eerder gefactureerd
|
||
OR (x.res_rsv_ruimte_ordernr IS NOT NULL -- .. of correctie
|
||
AND x.res_helft = x.sys_helft)) -- ..nog toegestaan!
|
||
AND tarief.res_kenmerkreservering_waarde != '261' -- Niet nul
|
||
/
|
||
|
||
/* Formatted on 6-3-2014 13:30:30 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW renk_v_lokaalverhuur_vast
|
||
(
|
||
groepering, -- Huurder/locatie -> factuur
|
||
sys_helft,
|
||
res_ruimte_key, -- Ruimte
|
||
khj_tarief -- K(wartaal), H(alfjaar) of J(aar)
|
||
)
|
||
AS
|
||
SELECT x.groepering,
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy')
|
||
|| DECODE (TRUNC (ADD_MONTHS (SYSDATE, 6), 'yy'),
|
||
TRUNC (ADD_MONTHS (SYSDATE, 1), 'yy'), '1',
|
||
'2')
|
||
sys_helft,
|
||
x.res_ruimte_key,
|
||
DECODE (
|
||
DECODE (TRUNC (ADD_MONTHS (SYSDATE, 6), 'yy'),
|
||
TRUNC (ADD_MONTHS (SYSDATE, 1), 'yy'), '1',
|
||
'2'),
|
||
'1',
|
||
DECODE (x.k1 + x.k2,
|
||
2, DECODE (x.k3 + x.k4, 2, 'J', 'H'),
|
||
'K'), -- Deze helft geen boekingen in beide kwartalen!
|
||
DECODE (x.k3 + x.k4,
|
||
2, DECODE (x.k1 + x.k2, 2, 'J', 'H'),
|
||
'K') -- Deze helft geen boekingen in beide kwartalen!
|
||
)
|
||
khj
|
||
FROM ( SELECT TO_CHAR (x.alg_locatie_key) || '-'
|
||
|| COALESCE (bedr_key.res_kenmerkreservering_waarde,
|
||
UPPER (TRIM (x.res_rsv_ruimte_omschrijving)),
|
||
'[naam]')
|
||
groepering,
|
||
x.res_ruimte_key,
|
||
DECODE (SIGN (SUM (x.k1) - 8), -1, 0, 1) k1,
|
||
DECODE (SIGN (SUM (x.k2) - 8), -1, 0, 1) k2,
|
||
DECODE (SIGN (SUM (x.k3) - 8), -1, 0, 1) k3,
|
||
DECODE (SIGN (SUM (x.k4) - 8), -1, 0, 1) k4
|
||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rr.res_ruimte_key,
|
||
rga.alg_locatie_key,
|
||
DECODE (TO_CHAR (rrr.res_rsv_ruimte_tot, 'Q'),
|
||
1, 1,
|
||
0)
|
||
k1,
|
||
DECODE (TO_CHAR (rrr.res_rsv_ruimte_tot, 'Q'),
|
||
2, 1,
|
||
0)
|
||
k2,
|
||
DECODE (TO_CHAR (rrr.res_rsv_ruimte_tot, 'Q'),
|
||
3, 1,
|
||
0)
|
||
k3,
|
||
DECODE (TO_CHAR (rrr.res_rsv_ruimte_tot, 'Q'),
|
||
4, 1,
|
||
0)
|
||
k4
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_v_res_ruimte_gegevens_all rga
|
||
WHERE rrr.res_activiteit_key = 230 -- Schoollokaal
|
||
AND rrr.res_status_fo_key IN (1, 2)
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_discipline_key = 43
|
||
AND rr.res_ruimte_key = rga.res_ruimte_key
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN ADD_MONTHS (
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
SYSDATE,
|
||
-6),
|
||
'yyyy'),
|
||
7)
|
||
AND ADD_MONTHS (
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
SYSDATE,
|
||
-6),
|
||
'yyyy'),
|
||
19)) x
|
||
LEFT JOIN -- 424 = Verhuur tarief
|
||
res_v_aanwezigkenmerkwaarde tarief
|
||
ON x.res_rsv_ruimte_key = tarief.res_rsv_ruimte_key
|
||
AND tarief.res_kenmerk_key = 424
|
||
LEFT JOIN -- 426 = Regelmatige relatiegegevens
|
||
res_v_aanwezigkenmerkwaarde bedr_key
|
||
ON x.res_rsv_ruimte_key = bedr_key.res_rsv_ruimte_key
|
||
AND bedr_key.res_kenmerk_key = 426
|
||
WHERE tarief.res_kenmerkreservering_waarde = '84'
|
||
GROUP BY TO_CHAR (x.alg_locatie_key) || '-'
|
||
|| COALESCE (
|
||
bedr_key.res_kenmerkreservering_waarde,
|
||
UPPER (TRIM (x.res_rsv_ruimte_omschrijving)),
|
||
'[naam]'),
|
||
x.res_ruimte_key) x;
|
||
|
||
/* Formatted on 2-8-2013 10:00:45 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW renk_v_rap_res_actual
|
||
(
|
||
hide_f_groepering,
|
||
hide_f_mindatum,
|
||
hide_f_maxdatum,
|
||
hide_f_restype,
|
||
fclt_f_naam,
|
||
naam,
|
||
afd,
|
||
tav,
|
||
aanhef,
|
||
adres,
|
||
postcode,
|
||
plaats,
|
||
factuurdatum,
|
||
ordernr,
|
||
periode, -- sys_helft
|
||
dagnaam,
|
||
dagnr,
|
||
van,
|
||
tot,
|
||
rvc_oms,
|
||
aantal,
|
||
stuksprijs,
|
||
bruto,
|
||
onderwerp,
|
||
datumverzoek,
|
||
soortverzoek,
|
||
tarief_code,
|
||
termijnen,
|
||
korting,
|
||
kenmerk,
|
||
behandelaar_naam,
|
||
behandelaar_tel,
|
||
behandelaar_mail,
|
||
res_discipline_key,
|
||
res_ruimte_key,
|
||
aant_weken
|
||
)
|
||
AS
|
||
SELECT x.groepering,
|
||
MIN (x.sortering1),
|
||
MAX (x.sortering1),
|
||
x.sortering2,
|
||
MIN (x.fclt_f_naam),
|
||
MIN (x.naam),
|
||
MIN (x.afd),
|
||
MIN (x.tav),
|
||
MIN (x.aanhef),
|
||
MIN (x.adres),
|
||
MIN (x.postcode),
|
||
MIN (x.plaats),
|
||
MIN (x.factuurdatum),
|
||
MIN (x.ordernr),
|
||
MIN (x.sys_helft),
|
||
MIN (x.dagnaam),
|
||
x.dagnr,
|
||
x.van,
|
||
x.tot,
|
||
MIN (x.res_voorziening),
|
||
MIN (x.aantal),
|
||
MIN (x.stuksprijs),
|
||
DECODE (x.khj_tarief,
|
||
NULL, SUM (x.bruto),
|
||
SUM (x.bruto) / COUNT ( * )),
|
||
MIN (x.onderwerp),
|
||
MIN (x.datumverzoek), -- Langst geleden verzoekdatum!
|
||
MIN (x.soortverzoek), -- Schriftelijk wint!
|
||
MIN (x.tarief_code),
|
||
MIN (x.termijnen),
|
||
MIN (x.korting),
|
||
'***CONCEPT***' kenmerk,
|
||
MIN (x.behandelaar_naam),
|
||
MIN (x.behandelaar_tel),
|
||
MIN (x.behandelaar_mail),
|
||
MIN (x.res_discipline_key),
|
||
x.res_ruimte_key,
|
||
COUNT ( * ) aant_weken
|
||
FROM (SELECT x.groepering,
|
||
x.sortering1,
|
||
x.sortering2,
|
||
x.fclt_f_naam,
|
||
x.naam,
|
||
x.afd,
|
||
x.tav,
|
||
x.aanhef,
|
||
x.adres,
|
||
x.postcode,
|
||
x.plaats,
|
||
x.factuurdatum,
|
||
x.ordernr,
|
||
x.sys_helft,
|
||
x.dagnaam,
|
||
x.dagnr,
|
||
TO_CHAR (x.van, 'hh24:mi') van,
|
||
TO_CHAR (x.tot, 'hh24:mi') tot,
|
||
x.res_voorziening,
|
||
x.aantal,
|
||
ROUND (
|
||
DECODE (
|
||
x.res_rsv_prijs,
|
||
NULL,
|
||
DECODE (
|
||
x.res_type,
|
||
'1R',
|
||
DECODE (
|
||
x.tarief_code,
|
||
'V', -- Speciale tarieven igv. lokalen!
|
||
DECODE (y.khj_tarief,
|
||
'H', x.pa, -- Halfjaar
|
||
'J', x.pd, -- Jaar
|
||
x.pm), -- Vast/Kwartaal
|
||
'C',
|
||
x.pa, -- Commercieel!
|
||
x.po -- Incidenteel!
|
||
),
|
||
x.ps -- 2V/3C!
|
||
),
|
||
x.res_rsv_prijs
|
||
/ DECODE (x.aantal, NULL, 1, 0, 1, x.aantal)
|
||
),
|
||
2
|
||
)
|
||
stuksprijs,
|
||
ROUND (
|
||
DECODE (
|
||
x.res_type,
|
||
'1R', -- ZIE OOK ONDERSTAANDE - GEVAARLIJKE - AANNAME!
|
||
COALESCE (
|
||
x.res_rsv_prijs, -- NULL totdat door MVH "bevroren"
|
||
--DECODE (x.res_ruimte_key,
|
||
-- 121, CEIL (x.aantal / 4),
|
||
-- x.aantal) -- Instructieruimte per dagdeel
|
||
x.aantal
|
||
* DECODE (
|
||
x.tarief_code,
|
||
'V', -- Speciale tarieven igv. lokalen!
|
||
DECODE (y.khj_tarief,
|
||
'H', x.pa, -- Halfjaar
|
||
'J', x.pd, -- Jaar
|
||
x.pm), -- Vast/Kwartaal
|
||
'C',
|
||
x.pa, -- Commercieel!
|
||
x.po -- Incidenteel!
|
||
)
|
||
* x.korting
|
||
),
|
||
COALESCE (x.res_rsv_prijs, x.aantal * x.ps) -- 2V/3C!
|
||
),
|
||
2
|
||
)
|
||
bruto,
|
||
x.onderwerp,
|
||
SUBSTR (x.datumverzoek, 7, 4)
|
||
|| SUBSTR (x.datumverzoek, 4, 2)
|
||
|| SUBSTR (x.datumverzoek, 1, 2)
|
||
datumverzoek,
|
||
x.soortverzoek,
|
||
x.tarief_code,
|
||
x.termijnen,
|
||
x.korting,
|
||
x.behandelaar_naam,
|
||
x.behandelaar_tel,
|
||
x.behandelaar_mail,
|
||
x.res_discipline_key,
|
||
x.res_ruimte_key,
|
||
y.khj_tarief
|
||
FROM renk_v_verhuurregels_alle x,
|
||
renk_v_lokaalverhuur_vast y
|
||
WHERE x.groepering = y.groepering(+)
|
||
AND x.sys_helft = y.sys_helft(+)
|
||
AND x.res_ruimte_key = y.res_ruimte_key(+)) x
|
||
GROUP BY x.groepering,
|
||
x.sortering2,
|
||
x.dagnr,
|
||
x.van,
|
||
x.tot,
|
||
x.res_ruimte_key,
|
||
x.khj_tarief;
|
||
|
||
/* Formatted on 25-11-2013 11:10:05 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW renk_v_verhuurregels_frozen
|
||
(
|
||
groepering1,
|
||
groepering2,
|
||
sortering1,
|
||
sortering2,
|
||
fclt_f_naam,
|
||
naam,
|
||
afd,
|
||
tav,
|
||
aanhef,
|
||
adres,
|
||
postcode,
|
||
plaats,
|
||
factuurdatum,
|
||
res_rsv_ruimte_key,
|
||
resid,
|
||
ordernr,
|
||
sys_helft,
|
||
dagnaam,
|
||
dagnr,
|
||
van,
|
||
tot,
|
||
omschrijving,
|
||
opmerking,
|
||
datumverzoek,
|
||
soortverzoek,
|
||
tarief_code,
|
||
termijnen,
|
||
korting,
|
||
behandelaar_naam,
|
||
behandelaar_tel,
|
||
behandelaar_mail,
|
||
res_discipline_key,
|
||
res_ruimte_key,
|
||
alg_locatie_key,
|
||
res_type,
|
||
res_ruimte_nr,
|
||
vnr,
|
||
onderwerp,
|
||
res_voorziening,
|
||
res_rsv_prijs,
|
||
aantal,
|
||
ps,
|
||
po,
|
||
pm,
|
||
pa,
|
||
pd,
|
||
btw
|
||
)
|
||
AS
|
||
SELECT x.res_rsv_ruimte_ordernr groepering1,
|
||
DECODE ( -- V -> per jaarhelft/locatie; I of C -> per reservering!
|
||
tarief.res_kenmerkreservering_waarde,
|
||
'84', -- Vast
|
||
TO_CHAR (rvc.alg_locatie_key) || '-' -- Dash!
|
||
|| COALESCE (TO_CHAR (r.bedr_key),
|
||
--inaam.res_kenmerkreservering_waarde,
|
||
UPPER (TRIM (x.res_rsv_ruimte_omschrijving)),
|
||
'[naam]'),
|
||
TO_CHAR (x.res_key) || '/' || TO_CHAR (x.res_vnr) -- Slash!
|
||
)
|
||
groepering2,
|
||
TO_CHAR (x.van, 'yyyy-mm-dd hh24:mi')
|
||
|| rvc.res_ruimte_nr
|
||
|| x.res_key
|
||
sortering1, -- Factuurregels op datum-tijd en dan ruimtenr
|
||
rvc.res_type || SUBSTR ('000000' || TO_CHAR (rvc.vnr), -6)
|
||
sortering2, -- ..daarbinnen op type (1R2V3C) en dan volgnr
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (UPPER (TRIM (x.res_rsv_ruimte_omschrijving)),
|
||
'[naam]'),
|
||
TRIM (r.prs_bedrijf_naam)
|
||
)
|
||
fclt_f_naam,
|
||
DECODE (r.bedr_key,
|
||
NULL,
|
||
COALESCE (inaam.res_kenmerkreservering_waarde, '[naam]'),
|
||
COALESCE (rnaam.prs_kenmerklink_waarde, '[naam]'))
|
||
naam,
|
||
DECODE (r.bedr_key,
|
||
NULL, iafd.res_kenmerkreservering_waarde,
|
||
rafd.prs_kenmerklink_waarde)
|
||
afd,
|
||
DECODE (r.bedr_key,
|
||
NULL, itav.res_kenmerkreservering_waarde,
|
||
rtav.prs_kenmerklink_waarde)
|
||
tav,
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (iaanhef.res_kenmerkreservering_waarde, '[aanhef]'),
|
||
COALESCE (raanhef.prs_kenmerklink_waarde, '[aanhef]')
|
||
)
|
||
aanhef,
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (iadres.res_kenmerkreservering_waarde, '[adres]'),
|
||
COALESCE (r.adres, '[adres]')
|
||
)
|
||
adres,
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (ipostcode.res_kenmerkreservering_waarde, '[pc]'),
|
||
COALESCE (r.postcode, '[pc]')
|
||
)
|
||
postcode,
|
||
DECODE (
|
||
r.bedr_key,
|
||
NULL,
|
||
COALESCE (iplaats.res_kenmerkreservering_waarde, '[plaats]'),
|
||
COALESCE (r.plaats, '[plaats]')
|
||
)
|
||
plaats,
|
||
TO_CHAR (SYSDATE, 'dd')
|
||
|| DECODE (TO_CHAR (SYSDATE, 'mm'),
|
||
'01', ' januari ',
|
||
'02', ' februari ',
|
||
'03', ' maart ',
|
||
'04', ' april ',
|
||
'05', ' mei ',
|
||
'06', ' juni ',
|
||
'07', ' juli ',
|
||
'08', ' augustus ',
|
||
'09', ' september ',
|
||
'10', ' okotober ',
|
||
'11', ' november ',
|
||
' december ')
|
||
|| TO_CHAR (SYSDATE, 'yyyy')
|
||
factuurdatum,
|
||
x.res_rsv_ruimte_key,
|
||
x.res_key || '/' || x.res_vnr resid,
|
||
x.res_rsv_ruimte_ordernr ordernr,
|
||
x.res_helft, -- 1e of 2e jaarhelft in formaat yyyyh(elft)!
|
||
DECODE (TO_CHAR (x.van, 'd'),
|
||
'2', 'maandag',
|
||
'3', 'dinsdag',
|
||
'4', 'woensdag',
|
||
'5', 'donderdag',
|
||
'6', 'vrijdag',
|
||
'7', 'zaterdag',
|
||
'zondag')
|
||
dagnaam,
|
||
DECODE (TO_CHAR (x.van, 'd'),
|
||
'1', 7,
|
||
TO_NUMBER (TO_CHAR (x.van, 'd')) - 1)
|
||
dagnr,
|
||
x.van, --TO_CHAR (x.van, 'hh24:mi') van,
|
||
x.tot, --TO_CHAR (x.tot, 'hh24:mi') tot,
|
||
x.res_rsv_ruimte_omschrijving oms,
|
||
x.res_rsv_ruimte_opmerking opm,
|
||
COALESCE (datumverzoek.res_kenmerkreservering_waarde,
|
||
'dd-mm-jjjj')
|
||
datumverzoek,
|
||
DECODE (soortverzoek.res_kenmerkreservering_waarde,
|
||
'81', 'telefonische',
|
||
'82', 'schriftelijke',
|
||
'[soortverzoek]')
|
||
soortverzoek,
|
||
DECODE (tarief.res_kenmerkreservering_waarde,
|
||
'84', 'V', -- Vast!
|
||
'85', 'C', -- Commercieel!
|
||
'I') -- Incidenteel!
|
||
tarief_code,
|
||
rtermijnen.prs_kenmerklink_waarde termijnen,
|
||
DECODE (
|
||
rkorting.prs_kenmerklink_waarde,
|
||
'1',
|
||
DECODE (
|
||
rvc.res_discipline_key,
|
||
41, -- Sporthal
|
||
DECODE (
|
||
TO_CHAR (x.tot, 'd'),
|
||
'1', -- Zondag
|
||
1,
|
||
'4', -- Woensdag
|
||
DECODE (SIGN ( ( (x.van - TRUNC (x.van)) * 24) - 12),
|
||
-1, 0.5,
|
||
1),
|
||
'7', -- Zaterdag
|
||
1,
|
||
DECODE (SIGN ( ( (x.van - TRUNC (x.van)) * 24) - 18),
|
||
-1, 0.5,
|
||
1)
|
||
),
|
||
1
|
||
),
|
||
1
|
||
)
|
||
korting, -- Eventueel te hanteren korting (factor)!
|
||
x.behandelaar_naam,
|
||
x.behandelaar_tel,
|
||
x.behandelaar_mail,
|
||
rvc.res_discipline_key,
|
||
rvc.res_ruimte_key,
|
||
rvc.alg_locatie_key,
|
||
rvc.res_type,
|
||
rvc.res_ruimte_nr,
|
||
rvc.vnr,
|
||
rvc.onderwerp,
|
||
rvc.res_voorziening,
|
||
rvc.res_rsv_prijs,
|
||
rvc.aantal,
|
||
rvc.ps, -- Uur-tarief
|
||
rvc.po, -- Incidenteel tarief
|
||
rvc.pm, -- Vast tarief/K
|
||
rvc.pa, -- Commercieel tarief/H
|
||
rvc.pd, -- Jaartarief/J
|
||
rvc.btw
|
||
FROM (SELECT rr.res_rsv_ruimte_key,
|
||
rr.res_reservering_key res_key,
|
||
rr.res_rsv_ruimte_volgnr res_vnr,
|
||
rr.res_rsv_ruimte_ordernr,
|
||
rr.res_rsv_ruimte_van van,
|
||
rr.res_rsv_ruimte_tot tot,
|
||
rr.res_rsv_ruimte_omschrijving,
|
||
rr.res_rsv_ruimte_opmerking,
|
||
p.prs_perslid_key,
|
||
DECODE (
|
||
p.prs_perslid_voornaam,
|
||
'', '',
|
||
p.prs_perslid_voornaam
|
||
|| ' '
|
||
)
|
||
|| DECODE (
|
||
p.prs_perslid_tussenvoegsel,
|
||
'', '',
|
||
p.prs_perslid_tussenvoegsel
|
||
|| ' '
|
||
)
|
||
|| p.prs_perslid_naam
|
||
behandelaar_naam,
|
||
COALESCE (
|
||
p.prs_perslid_telefoonnr,
|
||
p.prs_perslid_mobiel
|
||
)
|
||
behandelaar_tel,
|
||
p.prs_perslid_email
|
||
behandelaar_mail,
|
||
TO_CHAR (
|
||
rr.res_rsv_ruimte_tot,
|
||
'yyyy'
|
||
)
|
||
|| DECODE (
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
rr.res_rsv_ruimte_tot, 5
|
||
),
|
||
'yyyy'
|
||
),
|
||
TRUNC (
|
||
rr.res_rsv_ruimte_tot,
|
||
'yyyy'
|
||
),
|
||
'1',
|
||
'2'
|
||
)
|
||
res_helft
|
||
FROM res_v_aanwezigrsv_ruimte rr,
|
||
prs_perslid p
|
||
WHERE rr.res_rsv_ruimte_ordernr IS NOT NULL
|
||
AND rr.res_activiteit_key IN (30, 230) -- Verhuur/Schoollokaal
|
||
AND rr.res_status_fo_key IN (1, 2)
|
||
AND rr.res_rsv_ruimte_dirtlevel = 0
|
||
--AND COALESCE (
|
||
-- rr.res_status_bo_key, 2
|
||
-- ) != 6 -- Nog niet AV
|
||
AND rr.res_rsv_ruimte_tot >
|
||
TO_DATE (
|
||
'01072013', 'ddmmyyyy'
|
||
)
|
||
AND rr.res_rsv_ruimte_tot >
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
SYSDATE, -12
|
||
),
|
||
'yyyy'
|
||
)
|
||
AND rr.res_rsv_ruimte_contact_key =
|
||
p.prs_perslid_key)
|
||
x
|
||
LEFT JOIN -- 301/422 = Datum verzoek
|
||
res_v_aanwezigkenmerkwaarde datumverzoek
|
||
ON x.res_rsv_ruimte_key = datumverzoek.res_rsv_ruimte_key
|
||
AND datumverzoek.res_kenmerk_key IN (301, 422)
|
||
LEFT JOIN -- 302/423 = Soort verzoek
|
||
res_v_aanwezigkenmerkwaarde soortverzoek
|
||
ON x.res_rsv_ruimte_key = soortverzoek.res_rsv_ruimte_key
|
||
AND soortverzoek.res_kenmerk_key IN (302, 423)
|
||
LEFT JOIN -- 303/424 = Verhuur tarief
|
||
res_v_aanwezigkenmerkwaarde tarief
|
||
ON x.res_rsv_ruimte_key = tarief.res_rsv_ruimte_key
|
||
AND tarief.res_kenmerk_key IN (303, 424)
|
||
LEFT JOIN -- Regelmatige relatiegegevens
|
||
(SELECT kw.res_rsv_ruimte_key,
|
||
b.prs_bedrijf_key bedr_key,
|
||
b.prs_bedrijf_naam,
|
||
COALESCE (
|
||
b.prs_bedrijf_post_adres,
|
||
b.prs_bedrijf_bezoek_adres
|
||
) adres,
|
||
COALESCE (
|
||
b.prs_bedrijf_post_postcode,
|
||
b.prs_bedrijf_bezoek_postcode
|
||
) postcode,
|
||
COALESCE (
|
||
b.prs_bedrijf_post_plaats,
|
||
b.prs_bedrijf_bezoek_plaats
|
||
) plaats
|
||
FROM res_v_aanwezigkenmerkwaarde kw,
|
||
prs_bedrijf b
|
||
WHERE kw.res_kenmerk_key IN (9, 426) -- Relatie
|
||
AND fac.safe_to_number(kw.res_kenmerkreservering_waarde) =
|
||
b.prs_bedrijf_key)
|
||
r
|
||
ON x.res_rsv_ruimte_key = r.res_rsv_ruimte_key
|
||
LEFT JOIN -- 2/428 = Incidentele relatie/Naam
|
||
res_v_aanwezigkenmerkwaarde inaam
|
||
ON x.res_rsv_ruimte_key = inaam.res_rsv_ruimte_key
|
||
AND inaam.res_kenmerk_key IN (2, 428)
|
||
LEFT JOIN -- 341/429 = Incidentele relatie/Afd
|
||
res_v_aanwezigkenmerkwaarde iafd
|
||
ON x.res_rsv_ruimte_key = iafd.res_rsv_ruimte_key
|
||
AND iafd.res_kenmerk_key IN (341, 429)
|
||
LEFT JOIN -- 342/430 = Incidentele relatie/Tav
|
||
res_v_aanwezigkenmerkwaarde itav
|
||
ON x.res_rsv_ruimte_key = itav.res_rsv_ruimte_key
|
||
AND itav.res_kenmerk_key IN (342, 430)
|
||
LEFT JOIN -- 304/436 = Incidentele relatie/Aanhef
|
||
res_v_aanwezigkenmerkwaarde iaanhef
|
||
ON x.res_rsv_ruimte_key = iaanhef.res_rsv_ruimte_key
|
||
AND iaanhef.res_kenmerk_key IN (304, 436)
|
||
LEFT JOIN -- 3/431 = Incidentele relatie/Adres
|
||
res_v_aanwezigkenmerkwaarde iadres
|
||
ON x.res_rsv_ruimte_key = iadres.res_rsv_ruimte_key
|
||
AND iadres.res_kenmerk_key IN (3, 431)
|
||
LEFT JOIN -- 4/432 = Incidentele relatie/Postcode
|
||
res_v_aanwezigkenmerkwaarde ipostcode
|
||
ON x.res_rsv_ruimte_key = ipostcode.res_rsv_ruimte_key
|
||
AND ipostcode.res_kenmerk_key IN (4, 432)
|
||
LEFT JOIN -- 5/433 = Incidentele relatie/Plaats
|
||
res_v_aanwezigkenmerkwaarde iplaats
|
||
ON x.res_rsv_ruimte_key = iplaats.res_rsv_ruimte_key
|
||
AND iplaats.res_kenmerk_key IN (5, 433)
|
||
LEFT JOIN -- 1021 = Regelmatige relatie/Naam
|
||
prs_v_aanwezigkenmerklink rnaam
|
||
ON r.bedr_key = rnaam.prs_link_key
|
||
AND rnaam.prs_kenmerk_key = 1021
|
||
LEFT JOIN -- 1040 = Regelmatige relatie/Afd
|
||
prs_v_aanwezigkenmerklink rafd
|
||
ON r.bedr_key = rafd.prs_link_key
|
||
AND rafd.prs_kenmerk_key = 1040
|
||
LEFT JOIN -- 1041 = Regelmatige relatie/Tav
|
||
prs_v_aanwezigkenmerklink rtav
|
||
ON r.bedr_key = rtav.prs_link_key
|
||
AND rtav.prs_kenmerk_key = 1041
|
||
LEFT JOIN -- 1022 = Regelmatige relatie/Aanhef
|
||
prs_v_aanwezigkenmerklink raanhef
|
||
ON r.bedr_key = raanhef.prs_link_key
|
||
AND raanhef.prs_kenmerk_key = 1022
|
||
LEFT JOIN -- 1023 = Regelmatige relatie/Termijnen
|
||
prs_v_aanwezigkenmerklink rtermijnen
|
||
ON r.bedr_key = rtermijnen.prs_link_key
|
||
AND rtermijnen.prs_kenmerk_key = 1023
|
||
LEFT JOIN -- 1060 = Regelmatige relatie/Korting
|
||
prs_v_aanwezigkenmerklink rkorting
|
||
ON r.bedr_key = rkorting.prs_link_key
|
||
AND rkorting.prs_kenmerk_key = 1060
|
||
LEFT JOIN
|
||
(SELECT rrr.res_rsv_ruimte_key,
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key,
|
||
l.alg_locatie_key,
|
||
'1R' res_type,
|
||
rr.res_ruimte_nr,
|
||
TO_NUMBER (NULL) vnr,
|
||
'Huur '
|
||
|| DECODE (
|
||
rrr.res_activiteit_key,
|
||
30,
|
||
rdi.ins_discipline_omschrijving || ' '
|
||
|| TRIM(SUBSTR (
|
||
rr.res_ruimte_nr,
|
||
1,
|
||
INSTR (rr.res_ruimte_nr || '(',
|
||
'(')
|
||
- 1
|
||
)),
|
||
'locatie ' || l.alg_locatie_omschrijving
|
||
)
|
||
onderwerp,
|
||
rr.res_ruimte_nr res_voorziening,
|
||
rrr.res_rsv_ruimte_prijs res_rsv_prijs,
|
||
(rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van)
|
||
* 24
|
||
aantal, -- Duur in uren
|
||
rr.res_ruimte_prijs ps, -- Uur-tarief
|
||
rr.res_ruimte_prijs_ochtend po, -- Incidenteel tarief
|
||
rr.res_ruimte_prijs_middag pm, -- Vast tarief/K
|
||
rr.res_ruimte_prijs_avond pa, -- Commercieel tarief/H
|
||
rr.res_ruimte_prijs_dag pd, -- Jaartarief/J
|
||
6 btw
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_discipline rdi,
|
||
res_v_res_ruimte_gegevens_all rga,
|
||
alg_locatie l
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_discipline_key = rdi.ins_discipline_key
|
||
AND rr.res_ruimte_key = rga.res_ruimte_key
|
||
AND rga.alg_locatie_key = l.alg_locatie_key
|
||
UNION ALL
|
||
SELECT rrd.res_rsv_ruimte_key,
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key,
|
||
l.alg_locatie_key,
|
||
'2V' res_type,
|
||
rr.res_ruimte_nr,
|
||
rd.res_ins_deel_key vnr,
|
||
NULL onderwerp,
|
||
LTRIM (ID.ins_deel_omschrijving)
|
||
|| DECODE (rd.res_deel_eenheid,
|
||
NULL, '',
|
||
' (' || rd.res_deel_eenheid || ')')
|
||
res_voorziening,
|
||
rrd.res_rsv_deel_prijs res_rsv_prijs,
|
||
(rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van) * 24
|
||
aantal, -- Duur in uren
|
||
rd.res_deel_prijs ps, -- Uur-tarief
|
||
TO_NUMBER (NULL) po, -- Incidenteel tarief
|
||
TO_NUMBER (NULL) pm, -- Vast tarief/K
|
||
TO_NUMBER (NULL) pa, -- Commercieel tarief/H
|
||
TO_NUMBER (NULL) pd, -- Jaartarief/J
|
||
6 btw
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_v_res_ruimte_gegevens_all rga,
|
||
alg_locatie l,
|
||
res_v_aanwezigrsv_deel rrd,
|
||
res_deel rd,
|
||
ins_deel ID
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_ruimte_key = rga.res_ruimte_key
|
||
AND rga.alg_locatie_key = l.alg_locatie_key
|
||
AND rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_ins_deel_key = ID.ins_deel_key
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key,
|
||
l.alg_locatie_key,
|
||
'3C' res_type,
|
||
rr.res_ruimte_nr,
|
||
ra.res_artikel_volgnummer vnr,
|
||
NULL onderwerp,
|
||
LTRIM (ra.res_artikel_omschrijving)
|
||
|| DECODE (ra.res_artikel_eenheid,
|
||
NULL, '',
|
||
' (' || ra.res_artikel_eenheid || ')')
|
||
res_voorziening,
|
||
rra.res_rsv_artikel_prijs res_rsv_prijs,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
ra.res_artikel_prijs ps, -- Stuksprijs
|
||
TO_NUMBER (NULL) po, -- Incidenteel tarief
|
||
TO_NUMBER (NULL) pm, -- Vast tarief/K
|
||
TO_NUMBER (NULL) pa, -- Commercieel tarief/H
|
||
TO_NUMBER (NULL) pd, -- Jaartarief/J
|
||
COALESCE (rra.res_rsv_artikel_btw,
|
||
ra.res_artikel_btw,
|
||
21)
|
||
btw
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_v_res_ruimte_gegevens_all rga,
|
||
alg_locatie l,
|
||
res_v_aanwezigrsv_artikel rra,
|
||
res_artikel ra
|
||
WHERE rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_ruimte_key = rga.res_ruimte_key
|
||
AND rga.alg_locatie_key = l.alg_locatie_key
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key) rvc
|
||
ON x.res_rsv_ruimte_key = rvc.res_rsv_ruimte_key
|
||
WHERE tarief.res_kenmerkreservering_waarde != '261' -- Niet nul
|
||
/
|
||
|
||
/* Formatted on 6-3-2014 13:45:45 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW renk_v_lokaalverhuur_frozen
|
||
(
|
||
groepering2, -- Huurder/locatie -> factuur
|
||
sys_helft,
|
||
res_ruimte_key, -- Ruimte
|
||
khj_tarief -- K(wartaal), H(alfjaar) of J(aar)
|
||
)
|
||
AS
|
||
SELECT x.groepering2,
|
||
x.res_helft,
|
||
x.res_ruimte_key,
|
||
DECODE (
|
||
SUBSTR (x.res_helft, -1),
|
||
'1',
|
||
DECODE (x.k1 + x.k2,
|
||
2, DECODE (x.k3 + x.k4, 2, 'J', 'H'),
|
||
'K'), -- Deze helft geen boekingen in beide kwartalen!
|
||
DECODE (x.k3 + x.k4,
|
||
2, DECODE (x.k1 + x.k2, 2, 'J', 'H'),
|
||
'K') -- Deze helft geen boekingen in beide kwartalen!
|
||
)
|
||
khj
|
||
FROM ( SELECT TO_CHAR (x.alg_locatie_key) || '-'
|
||
|| COALESCE (bedr_key.res_kenmerkreservering_waarde,
|
||
UPPER (TRIM (x.res_rsv_ruimte_omschrijving)),
|
||
'[naam]')
|
||
groepering2,
|
||
x.res_helft,
|
||
x.res_ruimte_key,
|
||
DECODE (SIGN (SUM (x.k1) - 8), -1, 0, 1) k1,
|
||
DECODE (SIGN (SUM (x.k2) - 8), -1, 0, 1) k2,
|
||
DECODE (SIGN (SUM (x.k3) - 8), -1, 0, 1) k3,
|
||
DECODE (SIGN (SUM (x.k4) - 8), -1, 0, 1) k4
|
||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rr.res_ruimte_key,
|
||
rga.alg_locatie_key,
|
||
TO_CHAR (DECODE (TO_CHAR (rrr.res_rsv_ruimte_tot, 'mm'),
|
||
'07', ADD_MONTHS (rrr.res_rsv_ruimte_tot, -12),
|
||
rrr.res_rsv_ruimte_tot),
|
||
'yyyy')
|
||
|| DECODE (TRUNC (ADD_MONTHS (rrr.res_rsv_ruimte_tot, 6), 'yy'),
|
||
TRUNC (rrr.res_rsv_ruimte_tot, 'yy'), '1',
|
||
'2')
|
||
res_helft,
|
||
DECODE (TO_CHAR (rrr.res_rsv_ruimte_tot, 'Q'),
|
||
1, 1,
|
||
0)
|
||
k1,
|
||
DECODE (TO_CHAR (rrr.res_rsv_ruimte_tot, 'Q'),
|
||
2, 1,
|
||
0)
|
||
k2,
|
||
DECODE (TO_CHAR (rrr.res_rsv_ruimte_tot, 'Q'),
|
||
3, 1,
|
||
0)
|
||
k3,
|
||
DECODE (TO_CHAR (rrr.res_rsv_ruimte_tot, 'Q'),
|
||
4, 1,
|
||
0)
|
||
k4
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_v_res_ruimte_gegevens_all rga
|
||
WHERE rrr.res_rsv_ruimte_ordernr IS NOT NULL
|
||
AND rrr.res_activiteit_key = 230 -- Schoollokaal
|
||
AND rrr.res_status_fo_key IN (1, 2)
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_ruimte_opstel_key =
|
||
rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_discipline_key = 43
|
||
AND rr.res_ruimte_key = rga.res_ruimte_key) x
|
||
LEFT JOIN -- 424 = Verhuur tarief
|
||
res_v_aanwezigkenmerkwaarde tarief
|
||
ON x.res_rsv_ruimte_key = tarief.res_rsv_ruimte_key
|
||
AND tarief.res_kenmerk_key = 424
|
||
LEFT JOIN -- 426 = Regelmatige relatiegegevens
|
||
res_v_aanwezigkenmerkwaarde bedr_key
|
||
ON x.res_rsv_ruimte_key = bedr_key.res_rsv_ruimte_key
|
||
AND bedr_key.res_kenmerk_key = 426
|
||
WHERE tarief.res_kenmerkreservering_waarde = '84'
|
||
GROUP BY TO_CHAR (x.alg_locatie_key) || '-'
|
||
|| COALESCE (
|
||
bedr_key.res_kenmerkreservering_waarde,
|
||
UPPER (TRIM (x.res_rsv_ruimte_omschrijving)),
|
||
'[naam]'),
|
||
x.res_helft,
|
||
x.res_ruimte_key) x;
|
||
|
||
/* Formatted on 25-11-2013 11:12:24 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW renk_v_rap_res_frozen
|
||
(
|
||
hide_f_groepering,
|
||
hide_f_mindatum,
|
||
hide_f_maxdatum,
|
||
hide_f_restype,
|
||
fclt_f_naam,
|
||
naam,
|
||
afd,
|
||
tav,
|
||
aanhef,
|
||
adres,
|
||
postcode,
|
||
plaats,
|
||
factuurdatum,
|
||
ordernr,
|
||
periode, -- res_helft
|
||
dagnaam,
|
||
dagnr,
|
||
van,
|
||
tot,
|
||
rvc_oms,
|
||
aantal,
|
||
stuksprijs,
|
||
bruto,
|
||
onderwerp,
|
||
datumverzoek,
|
||
soortverzoek,
|
||
tarief_code,
|
||
termijnen,
|
||
korting,
|
||
fclt_f_kenmerk,
|
||
behandelaar_naam,
|
||
behandelaar_tel,
|
||
behandelaar_mail,
|
||
res_discipline_key,
|
||
res_ruimte_key,
|
||
aant_weken
|
||
)
|
||
AS
|
||
SELECT x.groepering1,
|
||
MIN (x.sortering1),
|
||
MAX (x.sortering1),
|
||
x.sortering2,
|
||
MIN (x.fclt_f_naam),
|
||
MIN (x.naam),
|
||
MIN (x.afd),
|
||
MIN (x.tav),
|
||
MIN (x.aanhef),
|
||
MIN (x.adres),
|
||
MIN (x.postcode),
|
||
MIN (x.plaats),
|
||
MIN (x.factuurdatum),
|
||
MIN (x.ordernr),
|
||
MIN (x.sys_helft),
|
||
MIN (x.dagnaam),
|
||
x.dagnr,
|
||
x.van,
|
||
x.tot,
|
||
MIN (x.res_voorziening),
|
||
MIN (x.aantal),
|
||
MIN (x.stuksprijs),
|
||
DECODE (x.khj_tarief,
|
||
NULL, SUM (x.bruto),
|
||
SUM (x.bruto) / COUNT ( * )),
|
||
MIN (x.onderwerp),
|
||
MIN (x.datumverzoek), -- Langst geleden verzoekdatum!
|
||
MIN (x.soortverzoek), -- Schriftelijk wint!
|
||
MIN (x.tarief_code),
|
||
MIN (x.termijnen),
|
||
MIN (x.korting),
|
||
x.ordernr kenmerk,
|
||
MIN (x.behandelaar_naam),
|
||
MIN (x.behandelaar_tel),
|
||
MIN (x.behandelaar_mail),
|
||
MIN (x.res_discipline_key),
|
||
x.res_ruimte_key,
|
||
COUNT ( * ) aant_weken
|
||
FROM (SELECT x.groepering1,
|
||
x.sortering1,
|
||
x.sortering2,
|
||
x.fclt_f_naam,
|
||
x.naam,
|
||
x.afd,
|
||
x.tav,
|
||
x.aanhef,
|
||
x.adres,
|
||
x.postcode,
|
||
x.plaats,
|
||
x.factuurdatum,
|
||
x.ordernr,
|
||
x.sys_helft,
|
||
x.dagnaam,
|
||
x.dagnr,
|
||
TO_CHAR (x.van, 'hh24:mi') van,
|
||
TO_CHAR (x.tot, 'hh24:mi') tot,
|
||
x.res_voorziening,
|
||
x.aantal,
|
||
ROUND (
|
||
DECODE (
|
||
x.res_rsv_prijs,
|
||
NULL,
|
||
DECODE (
|
||
x.res_type,
|
||
'1R',
|
||
DECODE (
|
||
x.tarief_code,
|
||
'V', -- Speciale tarieven igv. lokalen!
|
||
DECODE (y.khj_tarief,
|
||
'H', x.pa, -- Halfjaar
|
||
'J', x.pd, -- Jaar
|
||
x.pm), -- Vast/Kwartaal
|
||
'C',
|
||
x.pa, -- Commercieel!
|
||
x.po -- Incidenteel!
|
||
),
|
||
x.ps -- 2V/3C!
|
||
),
|
||
x.res_rsv_prijs
|
||
/ DECODE (x.aantal, NULL, 1, 0, 1, x.aantal)
|
||
),
|
||
2
|
||
)
|
||
stuksprijs,
|
||
ROUND (
|
||
DECODE (
|
||
x.res_type,
|
||
'1R', -- ZIE OOK ONDERSTAANDE - GEVAARLIJKE - AANNAME!
|
||
COALESCE (
|
||
x.res_rsv_prijs, -- NULL totdat door MVH "bevroren"
|
||
--DECODE (x.res_ruimte_key,
|
||
-- 121, CEIL (x.aantal / 4),
|
||
-- x.aantal) -- Instructieruimte per dagdeel
|
||
x.aantal
|
||
* DECODE (
|
||
x.tarief_code,
|
||
'V', -- Speciale tarieven igv. lokalen!
|
||
DECODE (y.khj_tarief,
|
||
'H', x.pa, -- Halfjaar
|
||
'J', x.pd, -- Jaar
|
||
x.pm), -- Vast/Kwartaal
|
||
'C',
|
||
x.pa, -- Commercieel!
|
||
x.po -- Incidenteel!
|
||
)
|
||
* x.korting
|
||
),
|
||
COALESCE (x.res_rsv_prijs, x.aantal * x.ps) -- 2V/3C!
|
||
),
|
||
2
|
||
)
|
||
bruto,
|
||
x.onderwerp,
|
||
SUBSTR (x.datumverzoek, 7, 4)
|
||
|| SUBSTR (x.datumverzoek, 4, 2)
|
||
|| SUBSTR (x.datumverzoek, 1, 2)
|
||
datumverzoek,
|
||
x.soortverzoek,
|
||
x.tarief_code,
|
||
x.termijnen,
|
||
x.korting,
|
||
x.behandelaar_naam,
|
||
x.behandelaar_tel,
|
||
x.behandelaar_mail,
|
||
x.res_discipline_key,
|
||
x.res_ruimte_key,
|
||
y.khj_tarief
|
||
FROM renk_v_verhuurregels_frozen x,
|
||
renk_v_lokaalverhuur_frozen y
|
||
WHERE x.groepering2 = y.groepering2(+)
|
||
AND x.sys_helft = y.sys_helft(+)
|
||
AND x.res_ruimte_key = y.res_ruimte_key(+)) x
|
||
GROUP BY x.groepering1,
|
||
x.sortering2,
|
||
x.dagnr,
|
||
x.van,
|
||
x.tot,
|
||
x.res_ruimte_key,
|
||
x.khj_tarief;
|
||
|
||
/* Formatted on 2-8-2013 10:05:45 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW renk_v_rap_freezereserveringen
|
||
(
|
||
hide_f_groepering,
|
||
fclt_f_naam,
|
||
aantal,
|
||
eerder_kenmerk
|
||
)
|
||
AS
|
||
SELECT v.hide_f_groepering,
|
||
v.fclt_f_naam,
|
||
SUM (v.aant_weken) aantal,
|
||
MAX (v.ordernr)
|
||
FROM renk_v_rap_res_actual v
|
||
WHERE SUBSTR (v.hide_f_restype, 1, 2) = '1R'
|
||
GROUP BY v.hide_f_groepering, v.fclt_f_naam;
|
||
|
||
-- View voor notificatiejob controleert elk uur of er nieuwe (srtnoti 59)/
|
||
-- gewijzigde (srtnoti 60) reserveringen zijn voor zalen B&W kamer, raadzaal
|
||
-- en trouwzaal (resp. keys 5, 6 en 7).
|
||
-- Met RENK#27558 alleen reserveringen tussen 18:00 en 24:00 controleren.
|
||
CREATE OR REPLACE VIEW RENK_V_NOTI_SPEC_RESREMINDER
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'RESUPD',
|
||
NULL,
|
||
usr.prs_perslid_key,
|
||
(CASE str.fac_srtnotificatie_key
|
||
WHEN 60
|
||
THEN
|
||
'Reservering '
|
||
|| rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
|| ' ('
|
||
|| res_rsv_ruimte_van
|
||
|| ' - '
|
||
|| res_ruimte_nr
|
||
|| ') is op '
|
||
|| fac_tracking_datum
|
||
|| ' gewijzigd door '
|
||
|| pf.prs_perslid_naam_full
|
||
ELSE
|
||
'Reservering '
|
||
|| rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
|| ' ('
|
||
|| res_rsv_ruimte_van
|
||
|| ' - '
|
||
|| res_ruimte_nr
|
||
|| ') is op '
|
||
|| fac_tracking_datum
|
||
|| ' nieuw aangemaakt door '
|
||
|| pf.prs_perslid_naam_full
|
||
END)
|
||
text,
|
||
res_reservering_key,
|
||
res_rsv_ruimte_key
|
||
FROM res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
fac_tracking tr,
|
||
fac_srtnotificatie str,
|
||
prs_v_perslid_fullnames_all pf,
|
||
(SELECT DISTINCT p.prs_perslid_key
|
||
FROM fac_groeprechten g,
|
||
fac_functie f,
|
||
fac_gebruikersgroep gg,
|
||
prs_v_aanwezigperslid p
|
||
WHERE g.fac_functie_key = f.fac_functie_key
|
||
AND g.fac_groep_key = gg.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND fac_functie_code = 'WEB_USER02') usr
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND res_rsv_ruimte_verwijder IS NULL
|
||
AND rr.res_ruimte_key IN (5, 6, 7)
|
||
AND tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key
|
||
AND tr.prs_perslid_key = pf.prs_perslid_key(+)
|
||
AND ( (tr.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND str.fac_srtnotificatie_xmlnode IN
|
||
('reservering', 'xreservering')))
|
||
AND str.fac_srtnotificatie_key IN (59, 60)
|
||
AND tr.fac_tracking_datum >
|
||
(SELECT fac_notificatie_job_nextrun
|
||
- fac_notificatie_job_interval / 24
|
||
FROM fac_notificatie_job
|
||
WHERE fac_notificatie_job_view =
|
||
'RENK_V_NOTI_SPEC_RESREMINDER')
|
||
AND ( (TO_CHAR (rrr.res_rsv_ruimte_van, 'HH24MISS') BETWEEN '180000'
|
||
AND '235959')
|
||
OR (TO_CHAR (rrr.res_rsv_ruimte_tot, 'HH24MISS') BETWEEN '180000'
|
||
AND '235959'));
|
||
|
||
|
||
-- RENK#30936 RTMs
|
||
/* Formatted on 17-11-2014 17:30:24 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW RENK_V_GRAPH_NEW12M_AANVR
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_,
|
||
VOLGORDE
|
||
)
|
||
AS
|
||
SELECT DECODE (TO_CHAR (mld_melding_datum, 'mm'),
|
||
'01', 'Januari',
|
||
'02', 'Februari',
|
||
'03', 'Maart',
|
||
'04', 'April',
|
||
'05', 'Mei',
|
||
'06', 'Juni',
|
||
'07', 'Juli',
|
||
'08', 'Augustus',
|
||
'09', 'September',
|
||
'10', 'Oktober',
|
||
'11', 'November',
|
||
'December'),
|
||
COUNT ( * ),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm')
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md
|
||
WHERE m.mld_melding_datum BETWEEN ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -11)
|
||
AND SYSDATE
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 44 -- Aanvraag
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'mm'),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm');
|
||
|
||
CREATE OR REPLACE VIEW RENK_V_GRAPH_NEW12M_BODES
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_,
|
||
VOLGORDE
|
||
)
|
||
AS
|
||
SELECT DECODE (TO_CHAR (mld_melding_datum, 'mm'),
|
||
'01', 'Januari',
|
||
'02', 'Februari',
|
||
'03', 'Maart',
|
||
'04', 'April',
|
||
'05', 'Mei',
|
||
'06', 'Juni',
|
||
'07', 'Juli',
|
||
'08', 'Augustus',
|
||
'09', 'September',
|
||
'10', 'Oktober',
|
||
'11', 'November',
|
||
'December'),
|
||
COUNT ( * ),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm')
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md
|
||
WHERE m.mld_melding_datum BETWEEN ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -11)
|
||
AND SYSDATE
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 1 -- Melding voor Bodes (intern)
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'mm'),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm');
|
||
|
||
CREATE OR REPLACE VIEW RENK_V_GRAPH_NEW12M_VASTG
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_,
|
||
VOLGORDE
|
||
)
|
||
AS
|
||
SELECT DECODE (TO_CHAR (mld_melding_datum, 'mm'),
|
||
'01', 'Januari',
|
||
'02', 'Februari',
|
||
'03', 'Maart',
|
||
'04', 'April',
|
||
'05', 'Mei',
|
||
'06', 'Juni',
|
||
'07', 'Juli',
|
||
'08', 'Augustus',
|
||
'09', 'September',
|
||
'10', 'Oktober',
|
||
'11', 'November',
|
||
'December'),
|
||
COUNT ( * ),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm')
|
||
FROM mld_melding m, mld_stdmelding sm, mld_discipline md
|
||
WHERE m.mld_melding_datum BETWEEN ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -11)
|
||
AND SYSDATE
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 61 -- Melding Vastgoed (extern)
|
||
GROUP BY TO_CHAR (mld_melding_datum, 'mm'),
|
||
TO_CHAR (mld_melding_datum, 'yyyymm');
|
||
|
||
CREATE OR REPLACE VIEW RENK_V_GRAPH_BHNDLR_OPEN
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_,
|
||
FCLT_YAS2_,
|
||
VOLGORDE
|
||
)
|
||
AS
|
||
SELECT DECODE (
|
||
o.mld_melding_key,
|
||
NULL,
|
||
x.behandelaar,
|
||
DECODE (o.mld_statusopdr_key,
|
||
3, o.budgethouder, -- Nvt. bij RENK?
|
||
10, 'Beheerder', -- Nvt. bij RENK!
|
||
o.uitvoerende))
|
||
behandelaar,
|
||
COUNT ( * ) - SUM (uitvoeringoptijd) telaat,
|
||
SUM (uitvoeringoptijd) optijd,
|
||
0 - COUNT ( * ) volgorde
|
||
FROM (SELECT m.mld_melding_key,
|
||
m.mld_melding_status,
|
||
p.prs_perslid_naam_full behandelaar,
|
||
DECODE (
|
||
SIGN(m.mld_melding_einddatum_std
|
||
- TRUNC (SYSDATE, 'mi')),
|
||
-1,
|
||
0,
|
||
1)
|
||
uitvoeringoptijd
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
--AND md.ins_srtdiscipline_key = -1
|
||
AND m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
|
||
AND m.mld_melding_behandelaar_key = p.prs_perslid_key) x
|
||
LEFT JOIN -- Gegevens van lopende opdracht met laagste volgnummer!
|
||
(SELECT o.mld_melding_key,
|
||
o.mld_statusopdr_key,
|
||
COALESCE (b.prs_bedrijf_naam, p1.prs_perslid_naam_full)
|
||
uitvoerende,
|
||
p2.prs_perslid_naam_full budgethouder
|
||
FROM mld_opdr o,
|
||
prs_bedrijf b, -- Externe leverancier
|
||
prs_v_perslid_fullnames_all p1, -- Interne uitvoerende
|
||
prs_v_perslid_fullnames_all p2 -- Budgethouder
|
||
WHERE o.mld_statusopdr_key IN (3, 4, 5, 8, 10) -- 3-Ter fiattering, 4-Gefiatteerd, 5-Uitgegeven, 8-Geaccepteerd, 10-Ter goedkeuring
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
|
||
AND o.mld_uitvoerende_keys = p1.prs_perslid_key(+)
|
||
AND prs.getkpverantwoordelijke (o.prs_kostenplaats_key,
|
||
1,
|
||
-1) =
|
||
p2.prs_perslid_key(+)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_opdr
|
||
WHERE mld_melding_key = o.mld_melding_key
|
||
AND mld_opdr_bedrijfopdr_volgnr <
|
||
o.mld_opdr_bedrijfopdr_volgnr)) o
|
||
ON x.mld_melding_key = o.mld_melding_key
|
||
GROUP BY DECODE (
|
||
o.mld_melding_key,
|
||
NULL,
|
||
x.behandelaar,
|
||
DECODE (o.mld_statusopdr_key,
|
||
3, o.budgethouder,
|
||
10, 'Beheerder',
|
||
o.uitvoerende))
|
||
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
|
||
SELECT ' ' behandelaar,
|
||
0 telaat,
|
||
0 optijd,
|
||
0 volgorde
|
||
FROM DUAL;
|
||
|
||
CREATE OR REPLACE VIEW RENK_V_GRAPH_VAKGRP_OPEN
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_,
|
||
FCLT_URL
|
||
--FCLT_3D_DISCIPLINE_KEY
|
||
)
|
||
AS
|
||
SELECT sd.ins_srtdiscipline_prefix
|
||
|| '-'
|
||
|| md.ins_discipline_omschrijving,
|
||
COUNT ( * ),
|
||
'appl/mld/mld_search.asp?urole=fo'
|
||
|| '&'
|
||
|| 'autosearch=1'
|
||
|| '&'
|
||
|| 'disc_key_str='
|
||
|| md.ins_discipline_key
|
||
--md.ins_discipline_key
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
--AND sd.ins_srtdiscipline_key = -1
|
||
AND m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
|
||
GROUP BY sd.ins_srtdiscipline_prefix
|
||
|| '-'
|
||
|| md.ins_discipline_omschrijving,
|
||
md.ins_discipline_key
|
||
UNION ALL -- Extra kolom zodat voorgaande kolommen helemaal getoond?
|
||
SELECT ' ', 0, ' ' FROM DUAL;
|
||
|
||
CREATE OR REPLACE VIEW RENK_V_GRAPH_PPI_ACP
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_
|
||
)
|
||
AS
|
||
SELECT SUM (acceptatieoptijd) aantal, COUNT (mld_key) totaal
|
||
FROM (SELECT DISTINCT
|
||
m.mld_melding_key mld_key,
|
||
--DECODE (
|
||
-- SIGN(m.mld_melding_acceptdatum_std - TRUNC (SYSDATE, 'mi')),
|
||
-- -1, 0,
|
||
-- 1)
|
||
CASE SIGN(fac.datumtijdplusuitvoertijd (
|
||
m.mld_melding_datum,
|
||
m.mld_melding_t_accepttijd.tijdsduur,
|
||
m.mld_melding_t_accepttijd.eenheid
|
||
)
|
||
- SYSDATE)
|
||
WHEN -1
|
||
THEN
|
||
0
|
||
ELSE
|
||
1
|
||
END
|
||
acceptatieoptijd
|
||
FROM mld_melding m
|
||
--WHERE m.mld_melding_status IN (2, 3) -- 2-Ingevoerd, 3-Ingezien
|
||
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
|
||
);
|
||
|
||
CREATE OR REPLACE VIEW RENK_V_GRAPH_PPI_AFM
|
||
(
|
||
FCLT_XAS_,
|
||
FCLT_YAS_
|
||
)
|
||
AS
|
||
SELECT SUM (uitvoeringoptijd) aantal, COUNT (mld_key) totaal
|
||
FROM (SELECT DISTINCT
|
||
m.mld_melding_key mld_key,
|
||
--DECODE (
|
||
-- SIGN(m.mld_melding_einddatum_std - TRUNC (SYSDATE, 'mi')),
|
||
-- -1, 0,
|
||
-- 1)
|
||
CASE SIGN(fac.datumtijdplusuitvoertijd (
|
||
m.mld_melding_datum,
|
||
m.mld_melding_t_uitvoertijd.tijdsduur,
|
||
m.mld_melding_t_uitvoertijd.eenheid
|
||
)
|
||
- SYSDATE)
|
||
WHEN -1
|
||
THEN
|
||
0
|
||
ELSE
|
||
1
|
||
END
|
||
uitvoeringoptijd
|
||
FROM mld_melding m
|
||
WHERE m.mld_melding_status IN (2, 3, 4, 7, 0) -- 2-Ingevoerd, 3-Ingezien, 4-Geaccepteerd, 7-Uitgegeven, 0-Pending
|
||
);
|
||
|
||
-- RENK#35126 Extra CUST contractreminder
|
||
CREATE OR REPLACE FORCE VIEW renk_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
|
||
|| DECODE (cnt_contract_versie,
|
||
NULL, '',
|
||
'.' || cnt_contract_versie)
|
||
|| ' ('
|
||
|| 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 cnt_contract_verwijder IS NULL
|
||
AND cnt_contract_status = 0
|
||
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
|
||
UNION ALL
|
||
SELECT '',
|
||
'',
|
||
c.prs_perslid_key_beh,
|
||
'Rapp<EFBFBD>l: Contract ' || c.cnt_contract_nummer_intern
|
||
|| DECODE (cnt_contract_versie,
|
||
NULL, '',
|
||
'.' || cnt_contract_versie)
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' de extra rapp<70>ldatum '
|
||
|| TO_CHAR (opz.waarde, 'DD-MM-YYYY')
|
||
|| ' zal binnenkort verstrijken.',
|
||
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 ckc.cnt_contract_key,
|
||
fac.safe_to_date (cnt_kenmerkcontract_waarde,
|
||
'DD-MM-YYYY')
|
||
waarde
|
||
FROM cnt_kenmerkcontract ckc, cnt_kenmerk ck
|
||
WHERE ckc.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
||
AND ck.cnt_srtkenmerk_key = 161
|
||
AND ckc.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
AND ckc.cnt_kenmerkcontract_verwijder IS NULL) opz
|
||
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND cnt_contract_verwijder IS NULL
|
||
AND cnt_contract_status = 0
|
||
AND opz.cnt_contract_key = c.cnt_contract_key
|
||
AND opz.waarde >= TRUNC (SYSDATE + 7)
|
||
AND opz.waarde <= TRUNC (SYSDATE + 14);
|
||
|
||
|
||
-- RENK#52155 Rapport Contracten met relatiegegevens
|
||
CREATE OR REPLACE VIEW RENK_V_CONTRACTEN
|
||
(
|
||
CONTRACTNR,
|
||
SOORT_CONTRACT,
|
||
BESCHRIJVING,
|
||
OMSCHRIJVING,
|
||
VAN,
|
||
TOT,
|
||
OPMERKING,
|
||
BEDRIJFSNAAM,
|
||
LEVERANCIERSNR,
|
||
ADRES,
|
||
POSTCODE,
|
||
PLAATS,
|
||
LAND,
|
||
POSTADRES,
|
||
POSTADRES_PC,
|
||
POSTADRES_PLAATS,
|
||
POSTADRES_LAND,
|
||
CONTACTPERSOON,
|
||
TELEFOON,
|
||
FAX
|
||
)
|
||
AS
|
||
SELECT c.cnt_contract_key,
|
||
(select ins_tab_discipline.ins_discipline_omschrijving
|
||
from ins_tab_discipline
|
||
where ins_tab_discipline.ins_discipline_key=c.ins_discipline_key),
|
||
c.cnt_contract_omschrijving,c.cnt_contract_document, c.cnt_contract_looptijd_van, cnt_contract_looptijd_tot, c.cnt_contract_opmerking,
|
||
b.prs_bedrijf_naam, b.prs_leverancier_nr, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_adres, b.prs_bedrijf_post_postcode, b.prs_bedrijf_post_plaats, b.prs_bedrijf_post_land,
|
||
b.prs_bedrijf_contact_persoon, b.prs_bedrijf_contact_telefoon, b.prs_bedrijf_contact_fax
|
||
FROM cnt_contract c, prs_bedrijf b
|
||
WHERE
|
||
c.cnt_prs_bedrijf_key =b.PRS_BEDRIJF_KEY
|
||
and c.CNT_CONTRACT_VERWIJDER is null;
|
||
|
||
COMMIT;
|
||
|
||
|
||
|
||
BEGIN fac.registercustversion('RENK', 13); END;
|
||
/
|
||
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
||
/
|
||
commit;
|
||
spool off
|