4766 lines
203 KiB
MySQL
4766 lines
203 KiB
MySQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific db-configuration for IVET.
|
||
DEFINE thisfile = 'IVET.SQL'
|
||
DEFINE dbuser = '^IVET'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||
SPOOL &fcltlogfile
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
---------------------------------------
|
||
PROMPT &fcltcusttxt
|
||
---------------------------------------
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
CREATE OR REPLACE VIEW ivet_v_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 = 21);
|
||
|
||
-- IVET#25262: Van SAP_ID naar WIN_ID!
|
||
/* Formatted on 30-1-2013 10:24:44 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE ivet_import_prs (p_import_key IN NUMBER)
|
||
IS
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
-- LET OP: moet idem zijn als declaratie bij IVET_UPDATE_PRS
|
||
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_sap_id VARCHAR2 (256);
|
||
v_pers_nr VARCHAR2 (256);
|
||
v_win_id 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_kantoor VARCHAR2 (256);
|
||
v_prs_perslid_telefoonnr VARCHAR2 (256);
|
||
v_prs_perslid_email VARCHAR2 (256);
|
||
v_prs_perslid_oslogin VARCHAR2 (256);
|
||
v_prs_perslid_ingangsdatum VARCHAR2 (256);
|
||
v_prs_perslid_einddatum VARCHAR2 (256);
|
||
v_postadres VARCHAR2 (256);
|
||
-- Overig:
|
||
v_alg_gebouw_code VARCHAR2 (256);
|
||
v_alg_verdieping_code VARCHAR2 (256);
|
||
v_alg_ruimte_nr VARCHAR2 (256);
|
||
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
|
||
DELETE FROM ivet_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_sap_id);
|
||
-- 02
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_pers_nr);
|
||
-- 03
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_win_id);
|
||
-- 04
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_titel);
|
||
-- 05
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_naam);
|
||
-- 06
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_tussenvoegsel);
|
||
-- 07
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_voorletters);
|
||
-- 08
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_voornaam);
|
||
-- 09
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_afdeling_naam);
|
||
-- 10
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_afdeling_omschrijving);
|
||
-- 11
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_srtperslid_omschrijving);
|
||
-- 12
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_kantoor);
|
||
-- 13
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_telefoonnr);
|
||
-- 14
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_email);
|
||
-- 15
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_oslogin);
|
||
-- 16
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_ingangsdatum);
|
||
-- 17
|
||
fac.imp_getfield (v_newline,
|
||
c_fielddelimitor,
|
||
v_prs_perslid_einddatum);
|
||
-- 18
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_postadres);
|
||
--
|
||
v_aanduiding :=
|
||
'['
|
||
|| v_sap_id
|
||
|| '|'
|
||
|| 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_sap_id) = 'SAP-ID'
|
||
AND UPPER (v_pers_nr) = 'PERSONEELSNUMMER'
|
||
AND UPPER (v_win_id) = 'WIN-ID'
|
||
AND UPPER (v_prs_perslid_titel) = 'TITEL'
|
||
AND UPPER (v_prs_perslid_naam) = 'NAAM'
|
||
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_kantoor) = 'KANTOOR'
|
||
AND UPPER (v_prs_perslid_telefoonnr) = 'TELEFOON'
|
||
AND UPPER (v_prs_perslid_email) = 'EMAIL'
|
||
AND UPPER (v_prs_perslid_oslogin) = 'LOGINNAAM'
|
||
AND UPPER (v_prs_perslid_ingangsdatum) = 'INDIENSTDATUM'
|
||
AND UPPER (v_prs_perslid_einddatum) = 'UITDIENSTDATUM'
|
||
--AND UPPER (v_prs_perslid_einddatum) = 'POSTADRES'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
-- Controleer alle veldwaarden
|
||
v_errorhint := 'Ongeldige SAP-ID';
|
||
v_sap_id := TRIM (v_sap_id);
|
||
|
||
IF v_sap_id IS NULL OR LENGTH (v_sap_id) > 16
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'SAP-ID onbekend/te lang',
|
||
'SAP-ID is verplicht; regel wordt overgeslagen!'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig personeelsnummer';
|
||
v_pers_nr := TRIM (v_pers_nr);
|
||
|
||
IF LENGTH (v_pers_nr) > 50
|
||
THEN
|
||
v_pers_nr := SUBSTR (v_pers_nr, 1, 50);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Personeelsnummer te lang',
|
||
'Personeelsnummer wordt afgebroken tot ['
|
||
|| v_pers_nr
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige WIN-ID';
|
||
v_win_id := TRIM (v_win_id);
|
||
|
||
IF v_win_id IS NULL OR LENGTH (v_win_id) > 100
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'WIN-ID onbekend/te lang',
|
||
'WIN-ID 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 naam';
|
||
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 || 'Naam te lang',
|
||
'Naam 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 || 'Naam onbekend',
|
||
'Naam 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;
|
||
|
||
-- LET OP: Kantoor wordt uitgesplitst naar gebouw, verdieping en ruimte!
|
||
v_errorhint := 'Ongeldige locatieomschrijving';
|
||
v_kantoor := TRIM (v_kantoor);
|
||
-- Neem tekens voor de - (streep) en vervang v_kantoor door tekens na de streep.
|
||
v_errorhint := 'Ongeldige gebouwcode';
|
||
v_alg_gebouw_code :=
|
||
SUBSTR (v_kantoor, 1, INSTR (v_kantoor,
|
||
'-',
|
||
1,
|
||
1)
|
||
- 1);
|
||
v_kantoor :=
|
||
SUBSTR (v_kantoor, INSTR (v_kantoor,
|
||
'-',
|
||
1,
|
||
1)
|
||
+ 1);
|
||
|
||
IF LENGTH (v_alg_gebouw_code) > 10
|
||
THEN
|
||
v_alg_gebouw_code := SUBSTR (v_alg_gebouw_code, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Gebouwcode te lang',
|
||
'Aanduiding wordt afgebroken tot ['
|
||
|| v_alg_gebouw_code
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
-- Neem tekens voor de . (punt) en vervang v_kantoor door tekens na de punt.
|
||
v_errorhint := 'Ongeldige verdiepingcode';
|
||
v_alg_verdieping_code :=
|
||
SUBSTR (v_kantoor, 1, INSTR (v_kantoor,
|
||
'.',
|
||
1,
|
||
1)
|
||
- 1);
|
||
v_kantoor :=
|
||
SUBSTR (v_kantoor, INSTR (v_kantoor,
|
||
'.',
|
||
1,
|
||
1)
|
||
+ 1);
|
||
|
||
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',
|
||
'Aanduiding wordt afgebroken tot ['
|
||
|| v_alg_verdieping_code
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig ruimtenummer';
|
||
v_alg_ruimte_nr := v_kantoor; -- v_kantoor bevat nu het gedeelte na de punt.
|
||
|
||
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',
|
||
'Aanduiding 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 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;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige loginnaam';
|
||
v_prs_perslid_oslogin := TRIM (v_prs_perslid_oslogin);
|
||
|
||
IF LENGTH (v_prs_perslid_oslogin) > 30
|
||
THEN
|
||
v_prs_perslid_oslogin := SUBSTR (v_prs_perslid_oslogin, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Loginnaam te lang',
|
||
'Loginnaam wordt afgebroken tot ['
|
||
|| v_prs_perslid_oslogin
|
||
|| ']'
|
||
);
|
||
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;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig postadres';
|
||
v_postadres := TRIM (v_postadres);
|
||
|
||
IF LENGTH (v_postadres) > 30
|
||
THEN
|
||
v_postadres := SUBSTR (v_postadres, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Postadres te lang',
|
||
'Postadres wordt afgebroken tot [' || v_postadres || ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errorhint :=
|
||
'Fout bij toevoegen regel aan importtabel IVET_IMP_PRS';
|
||
|
||
INSERT INTO ivet_imp_prs (imp_datum,
|
||
sap_id,
|
||
pers_nr,
|
||
win_id,
|
||
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_gebouw_code,
|
||
alg_verdieping_code,
|
||
alg_ruimte_nr,
|
||
prs_perslid_telefoonnr,
|
||
prs_perslid_email,
|
||
prs_perslid_oslogin,
|
||
prs_perslid_ingangsdatum,
|
||
prs_perslid_einddatum,
|
||
postadres)
|
||
VALUES (SYSDATE,
|
||
v_sap_id,
|
||
v_pers_nr,
|
||
v_win_id,
|
||
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_gebouw_code,
|
||
v_alg_verdieping_code,
|
||
v_alg_ruimte_nr,
|
||
v_prs_perslid_telefoonnr,
|
||
v_prs_perslid_email,
|
||
v_prs_perslid_oslogin,
|
||
v_prs_perslid_ingangs_date,
|
||
v_prs_perslid_eind_date,
|
||
v_postadres);
|
||
|
||
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 ivet_import_prs;
|
||
/
|
||
|
||
-- IVET#25262: Van SAP_ID naar WIN_ID!
|
||
/* Formatted on 12-9-2013 10:20:02 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE ivet_update_prs (p_import_key IN NUMBER)
|
||
IS
|
||
-- LET OP: moet idem zijn als declaratie bij IVET_IMPORT_PRS
|
||
c_persoon_inactief VARCHAR2 (30) := 'INACTIEF: ';
|
||
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een e-mail
|
||
c_max_delta_percentage NUMBER (10) := 20;
|
||
-- Ruimte waar personen in geplaatst worden (indien nog geen ruimte in opgegeven gebouw)
|
||
c_gebouw_code VARCHAR2 (10) := 'PP001';
|
||
c_ruimte_nr VARCHAR2 (10) := '000';
|
||
-- Groep waar personen in geplaatst worden (indien nog geen groep)
|
||
c_groep_upper VARCHAR2 (30) := '_DEFAULT';
|
||
c_profiel_omschrijving VARCHAR2 (30) := 'DEFAULT';
|
||
c_postadres_kkey NUMBER (10) := 1000;
|
||
c_win_id_kkey NUMBER (10) := 1020;
|
||
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_srtperslid_key NUMBER (10);
|
||
v_afdeling_key NUMBER (10);
|
||
v_kostenplaats_key NUMBER (10);
|
||
v_perslid_key NUMBER (10);
|
||
v_kenmerklink_key NUMBER (10);
|
||
v_district_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 ivet_imp_prs!
|
||
-- Dubbele WIN-IDs? Dan wordt iemand mogelijk niet verwijderd/INACTIEF!
|
||
CURSOR cdelprs
|
||
IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_nr,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p, prs_v_aanwezigkenmerklink kl
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = c_win_id_kkey
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM ivet_imp_prs ip
|
||
WHERE UPPER (ip.win_id) =
|
||
UPPER (kl.prs_kenmerklink_waarde));
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in ivet_imp_prs!
|
||
CURSOR csrtperslid
|
||
IS
|
||
SELECT MIN (prs_srtperslid_omschrijving) prs_srtperslid_omschrijving
|
||
FROM ivet_imp_prs
|
||
GROUP BY UPPER (prs_srtperslid_omschrijving);
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in ivet_imp_prs!
|
||
-- Dubbele WIN-IDs? Dan wordt slechts 1 set persoongegevens toegevoegd!
|
||
-- Ook wordt in deze loop de afdelingsomschrijving eventueel bijgewerkt!
|
||
CURSOR cperslid
|
||
IS
|
||
SELECT * FROM ivet_imp_prs;
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in ivet_imp_prs!
|
||
-- Dubbele WIN-IDs? Dan krijgt iemand mogelijk de verkeerde plaats!
|
||
CURSOR cwp
|
||
IS
|
||
SELECT p.*,
|
||
ip.win_id,
|
||
ip.alg_gebouw_code,
|
||
ip.alg_verdieping_code,
|
||
ip.alg_verdieping_code || '.' || ip.alg_ruimte_nr
|
||
alg_ruimte_nr
|
||
FROM ivet_imp_prs ip,
|
||
prs_v_aanwezigkenmerklink kl,
|
||
prs_v_aanwezigperslid p
|
||
WHERE UPPER (ip.win_id) = UPPER (kl.prs_kenmerklink_waarde)
|
||
AND kl.prs_kenmerk_key = c_win_id_kkey
|
||
AND kl.prs_link_key = p.prs_perslid_key;
|
||
|
||
-- Alle actieve personen met WIN-ID (ie. de import-doelgroep) zonder een werkplek
|
||
CURSOR cnowp
|
||
IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_nr,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p, prs_v_aanwezigkenmerklink kl
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = c_win_id_kkey
|
||
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 WIN-ID (ie. de import-doelgroep) niet in een groep
|
||
CURSOR cnogroup
|
||
IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_nr,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p, prs_v_aanwezigkenmerklink kl
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = c_win_id_kkey
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep g
|
||
WHERE g.prs_perslid_key = p.prs_perslid_key);
|
||
BEGIN
|
||
-- Bepaal WIN-ID-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 IVET_IMP_PRS).
|
||
SELECT COUNT ( * )
|
||
INTO v_count_prs_import
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_v_aanwezigkenmerklink kl,
|
||
ivet_imp_prs ip
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = c_win_id_kkey
|
||
AND UPPER (kl.prs_kenmerklink_waarde) = UPPER (ip.win_id)
|
||
AND (ip.imp_datum + 0.01) > SYSDATE;
|
||
|
||
-- Bepaal huidig aantal actieve personen met WIN_ID in Facilitor.
|
||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||
INTO v_count_prs_actual
|
||
FROM prs_v_aanwezigperslid p, prs_v_aanwezigkenmerklink kl
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = c_win_id_kkey;
|
||
|
||
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_nr
|
||
|| '|'
|
||
|| 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 SAP-ID ['
|
||
|| recdelprs.prs_perslid_nr
|
||
|| '] 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 SAP-ID ['
|
||
|| recdelprs.prs_perslid_nr
|
||
|| '] 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 SAP-ID ['
|
||
|| recdelprs.prs_perslid_nr
|
||
|| '] 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_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.sap_id
|
||
|| '|'
|
||
|| 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 kostenplaats ['
|
||
|| recperslid.prs_afdeling_naam
|
||
|| ']';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_v_aanwezigkostenplaats
|
||
WHERE prs_kostenplaats_upper =
|
||
UPPER (recperslid.prs_afdeling_naam);
|
||
|
||
IF v_count = 1
|
||
THEN
|
||
SELECT prs_kostenplaats_key
|
||
INTO v_kostenplaats_key
|
||
FROM prs_v_aanwezigkostenplaats
|
||
WHERE prs_kostenplaats_upper =
|
||
UPPER (recperslid.prs_afdeling_naam);
|
||
|
||
v_errorhint :=
|
||
'Fout bij wijzigen kostenplaatsomschrijving ['
|
||
|| recperslid.prs_afdeling_naam
|
||
|| '|'
|
||
|| recperslid.prs_afdeling_omschrijving
|
||
|| ']';
|
||
|
||
UPDATE prs_kostenplaats
|
||
SET prs_kostenplaats_omschrijving =
|
||
COALESCE (recperslid.prs_afdeling_omschrijving,
|
||
prs_kostenplaats_omschrijving)
|
||
WHERE prs_kostenplaats_key = v_kostenplaats_key;
|
||
|
||
COMMIT;
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
v_aanduiding || v_errorhint,
|
||
'Kostenplaats volgens afdeling bestaat niet!'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bij bepalen persoon';
|
||
|
||
SELECT COUNT ( * ), MAX (prs_perslid_key)
|
||
INTO v_count, v_perslid_key
|
||
FROM prs_v_aanwezigperslid p, prs_v_aanwezigkenmerklink kl
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = c_win_id_kkey
|
||
AND UPPER (kl.prs_kenmerklink_waarde) =
|
||
UPPER (recperslid.win_id);
|
||
|
||
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_nr,
|
||
prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel,
|
||
prs_perslid_voorletters,
|
||
prs_perslid_voornaam,
|
||
prs_perslid_titel,
|
||
prs_perslid_telefoonnr,
|
||
prs_perslid_email,
|
||
prs_perslid_oslogin,
|
||
prs_perslid_ingangsdatum,
|
||
prs_perslid_einddatum,
|
||
fac_profiel_key
|
||
)
|
||
VALUES (
|
||
'PRS',
|
||
v_srtperslid_key,
|
||
v_afdeling_key,
|
||
recperslid.sap_id,
|
||
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_email,
|
||
recperslid.prs_perslid_oslogin,
|
||
COALESCE (
|
||
recperslid.prs_perslid_ingangsdatum,
|
||
SYSDATE
|
||
),
|
||
recperslid.prs_perslid_einddatum,
|
||
v_profiel_key
|
||
)
|
||
RETURNING prs_perslid_key INTO v_perslid_key;
|
||
|
||
v_errorhint := 'Fout bij toevoegen WIN-ID';
|
||
|
||
INSERT INTO prs_kenmerklink (prs_link_key,
|
||
prs_kenmerklink_niveau,
|
||
prs_kenmerk_key,
|
||
prs_kenmerklink_waarde)
|
||
VALUES (v_perslid_key,
|
||
'P',
|
||
c_win_id_kkey,
|
||
recperslid.win_id);
|
||
|
||
COMMIT;
|
||
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_email = recperslid.prs_perslid_email,
|
||
prs_perslid_oslogin =
|
||
recperslid.prs_perslid_oslogin,
|
||
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;
|
||
|
||
IF LENGTH (recperslid.postadres) > 0
|
||
THEN
|
||
v_errorhint := 'Fout bij bepalen postadres';
|
||
|
||
SELECT COUNT ( * ), MAX (prs_kenmerklink_key)
|
||
INTO v_count, v_kenmerklink_key
|
||
FROM prs_v_aanwezigkenmerklink
|
||
WHERE prs_link_key = v_perslid_key
|
||
AND prs_kenmerklink_niveau = 'P'
|
||
AND prs_kenmerk_key = c_postadres_kkey;
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
v_errorhint := 'Fout bij toevoegen postadres';
|
||
|
||
INSERT INTO prs_kenmerklink (prs_link_key,
|
||
prs_kenmerklink_niveau,
|
||
prs_kenmerk_key,
|
||
prs_kenmerklink_waarde)
|
||
VALUES (v_perslid_key,
|
||
'P',
|
||
c_postadres_kkey,
|
||
recperslid.postadres);
|
||
ELSE -- v_count = 1
|
||
v_errorhint := 'Fout bij wijzigen postadres';
|
||
|
||
UPDATE prs_kenmerklink
|
||
SET prs_kenmerklink_waarde = recperslid.postadres
|
||
WHERE prs_kenmerklink_key = v_kenmerklink_key;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
END IF;
|
||
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_nr
|
||
|| '|'
|
||
|| recwp.prs_perslid_naam
|
||
|| '|'
|
||
|| recwp.prs_perslid_voornaam
|
||
|| '|'
|
||
|| recwp.alg_gebouw_code
|
||
|| '|'
|
||
|| recwp.alg_verdieping_code
|
||
|| '|'
|
||
|| recwp.alg_ruimte_nr
|
||
|| ' - ';
|
||
v_errorhint := 'Fout bij bepalen persoon';
|
||
|
||
SELECT prs_perslid_key
|
||
INTO v_perslid_key
|
||
FROM prs_v_aanwezigperslid p, prs_v_aanwezigkenmerklink kl
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = c_win_id_kkey
|
||
AND UPPER (kl.prs_kenmerklink_waarde) =
|
||
UPPER (recwp.win_id);
|
||
|
||
v_district_key := NULL;
|
||
v_gebouw_key := NULL;
|
||
v_gebouw_code := recwp.alg_gebouw_code;
|
||
v_verdieping_key := NULL;
|
||
v_ruimte_key := NULL;
|
||
v_ruimte_nr := recwp.alg_ruimte_nr;
|
||
v_errorhint := 'Fout bij bepalen gebouw';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_gebouw_upper = UPPER (v_gebouw_code);
|
||
|
||
IF v_count = 1
|
||
THEN
|
||
SELECT alg_gebouw_key
|
||
INTO v_gebouw_key
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_gebouw_upper = UPPER (v_gebouw_code);
|
||
ELSE -- Gebouw bestaat niet (of >1 keer)!
|
||
v_gebouw_code := c_gebouw_code;
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
v_aanduiding || v_errorhint,
|
||
'Kan gebouw niet (1-duidig) bepalen!');
|
||
COMMIT;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bij bepalen district';
|
||
|
||
SELECT l.alg_district_key
|
||
INTO v_district_key
|
||
FROM alg_v_aanweziggebouw g, alg_locatie l
|
||
WHERE g.alg_gebouw_upper = UPPER (v_gebouw_code)
|
||
AND g.alg_locatie_key = l.alg_locatie_key;
|
||
|
||
v_errorhint := 'Fout bij bepalen verdieping';
|
||
|
||
IF v_gebouw_key IS NOT NULL
|
||
THEN
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanwezigverdieping
|
||
WHERE alg_gebouw_key = v_gebouw_key
|
||
AND UPPER (alg_verdieping_code) =
|
||
UPPER (recwp.alg_verdieping_code);
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
v_aanduiding || v_errorhint,
|
||
'Verdieping bestaat niet!');
|
||
COMMIT;
|
||
ELSE -- Verdieping bestaat!
|
||
SELECT alg_verdieping_key
|
||
INTO v_verdieping_key
|
||
FROM alg_v_aanwezigverdieping
|
||
WHERE alg_gebouw_key = v_gebouw_key
|
||
AND UPPER (alg_verdieping_code) =
|
||
UPPER (recwp.alg_verdieping_code);
|
||
END IF;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bij bepalen ruimte';
|
||
|
||
IF v_verdieping_key IS NOT NULL
|
||
THEN
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanwezigruimte
|
||
WHERE alg_verdieping_key = v_verdieping_key
|
||
AND alg_ruimte_upper_nr = UPPER (recwp.alg_ruimte_nr);
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
v_aanduiding || v_errorhint,
|
||
'Ruimte bestaat niet!');
|
||
COMMIT;
|
||
ELSE -- Ruimte bestaat!
|
||
SELECT alg_ruimte_key
|
||
INTO v_ruimte_key
|
||
FROM alg_v_aanwezigruimte
|
||
WHERE alg_verdieping_key = v_verdieping_key
|
||
AND alg_ruimte_upper_nr =
|
||
UPPER (recwp.alg_ruimte_nr);
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Als hierboven de ruimte uit de import niet is gevonden, dan
|
||
-- koppel de persoon aan ruimte '000' op default verdieping in
|
||
-- gebouw uit de import (of anders 'PP001')!
|
||
v_errorhint :=
|
||
'Fout bij bepalen default verdieping in gebouw '
|
||
|| v_gebouw_code;
|
||
|
||
IF v_verdieping_key IS NULL
|
||
THEN
|
||
SELECT alg_verdieping_key
|
||
INTO v_verdieping_key
|
||
FROM alg_v_aanweziggebouw g, alg_v_aanwezigverdieping v
|
||
WHERE g.alg_gebouw_upper = UPPER (v_gebouw_code)
|
||
AND g.alg_gebouw_key = v.alg_gebouw_key
|
||
AND v.alg_verdieping_volgnr =
|
||
(SELECT MIN (alg_verdieping_volgnr)
|
||
FROM alg_verdieping
|
||
WHERE alg_gebouw_key = g.alg_gebouw_key);
|
||
END IF;
|
||
|
||
v_errorhint :=
|
||
'Fout bij bepalen fictieve ruimte in gebouw ' || v_gebouw_code;
|
||
|
||
IF v_ruimte_key IS NULL
|
||
THEN
|
||
v_ruimte_nr := c_ruimte_nr;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanwezigruimte
|
||
WHERE alg_verdieping_key = v_verdieping_key
|
||
AND alg_ruimte_upper_nr = c_ruimte_nr;
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
v_errorhint :=
|
||
'Fout bij toevoegen fictieve ruimte in gebouw '
|
||
|| v_gebouw_code;
|
||
|
||
INSERT INTO alg_ruimte (
|
||
alg_verdieping_key,
|
||
alg_srtruimte_key,
|
||
alg_ruimte_nr
|
||
)
|
||
VALUES (v_verdieping_key, 1241, -- Fictieve ruimte
|
||
c_ruimte_nr)
|
||
RETURNING alg_ruimte_key INTO v_ruimte_key;
|
||
|
||
COMMIT;
|
||
ELSE
|
||
SELECT r.alg_ruimte_key
|
||
INTO v_ruimte_key
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE r.alg_verdieping_key = v_verdieping_key
|
||
AND r.alg_ruimte_upper_nr = c_ruimte_nr;
|
||
END IF;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bij bepalen of werkplek is gewijzigd';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_perslidwerkplek pw, prs_werkplek w
|
||
WHERE pw.prs_perslid_key = v_perslid_key
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND w.prs_alg_ruimte_key = v_ruimte_key;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
-- Verwijderen oude -niet virtuele!- werkplek(ken) in hetzelfde
|
||
-- district!
|
||
-- 12-03-10/MvdH: NIET verwijderen bij bezetting < 5, afgestemd
|
||
-- dat dat -tijdelijk- speciale gevallen zijn (tbv. autorisatie;
|
||
-- hoezo obscuur...)!
|
||
v_errorhint := 'Fout bij verwijderen oude werkplek in district';
|
||
|
||
IF (fac.getSetting ('prs_werkplek_implicit') = '0') --Expliciet
|
||
THEN
|
||
DELETE FROM prs_perslidwerkplek pw
|
||
WHERE pw.prs_perslid_key = v_perslid_key
|
||
AND pw.prs_perslidwerkplek_bezetting > 5
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_werkplek w,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE w.prs_werkplek_virtueel = 0
|
||
AND w.prs_werkplek_key = pw.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 = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = v_district_key);
|
||
ELSE -- Impliciet
|
||
DELETE FROM prs_werkplek w
|
||
WHERE w.prs_werkplek_virtueel = 0
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE pw.prs_perslid_key =
|
||
v_perslid_key
|
||
AND pw.prs_perslidwerkplek_bezetting > 5
|
||
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 = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = v_district_key);
|
||
END IF;
|
||
|
||
COMMIT;
|
||
|
||
-- Persoon krijgt wp op fictieve of echte ruimte.
|
||
PRS.movetoruimte (v_perslid_key, v_ruimte_key, NULL);
|
||
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 SAP-ID ['
|
||
|| recnowp.prs_perslid_nr
|
||
|| '] 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_nr
|
||
|| '|'
|
||
|| 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!
|
||
UPDATE prs_srtperslid sp
|
||
SET sp.prs_srtperslid_verwijder = SYSDATE
|
||
WHERE sp.prs_srtperslid_verwijder IS NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid 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 ivet_update_prs;
|
||
/
|
||
|
||
/* Formatted on 29-4-2016 11:18:05 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW ivet_v_rap_zalenzetters
|
||
(
|
||
hide_f_sort_datum_tijd_ruimte,
|
||
hide_f_sort_res_nr,
|
||
hide_f_sort_categorie,
|
||
fclt_f_datum,
|
||
res_nr,
|
||
begin_eind,
|
||
tijd,
|
||
tijd_vc,
|
||
ruimte,
|
||
deelnemers,
|
||
activiteit_voorzieningen,
|
||
budgetnummer,
|
||
opmerking
|
||
)
|
||
AS
|
||
SELECT DECODE (
|
||
rrr.alg_ruimte_key,
|
||
NULL,
|
||
(SELECT DECODE (SUBSTR (rr.res_ruimte_nr, -1), '*', '99')
|
||
|| TO_CHAR (res_geg.res_reservering_van, 'YYYYMMDD HH24:MI')
|
||
|| rr.res_ruimte_nr
|
||
FROM res_ruimte_opstelling rro, res_ruimte rr
|
||
WHERE rro.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key),
|
||
(SELECT TO_CHAR (res_geg.res_reservering_van, 'YYYYMMDD HH24:MI')
|
||
|| rg.alg_ruimte_aanduiding
|
||
FROM alg_v_ruimte_gegevens rg
|
||
WHERE rg.alg_ruimte_key = rrr.alg_ruimte_key))
|
||
sort_ruimte,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
sort_resnr,
|
||
res_geg.res_type sort_categorie,
|
||
TO_CHAR (res_geg.res_reservering_van, 'DD-MM-YYYY') datum,
|
||
(CASE
|
||
WHEN res_geg.res_type = '1R' OR res_geg.wissel = 1
|
||
THEN
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
ELSE
|
||
''
|
||
END)
|
||
resnr,
|
||
(CASE
|
||
WHEN res_geg.res_type = '1R'
|
||
AND res_geg.res_reservering_tot IS NOT NULL
|
||
THEN
|
||
'Begin'
|
||
ELSE
|
||
DECODE (res_geg.res_reservering_tot,
|
||
NULL, 'Eind',
|
||
DECODE (res_geg.wissel, 1, 'Wissel', ''))
|
||
END)
|
||
begin_eind,
|
||
(CASE
|
||
WHEN res_geg.res_type = '1R' OR res_geg.wissel = 1
|
||
THEN
|
||
TO_CHAR (res_geg.res_reservering_van, 'HH24:MI')
|
||
ELSE
|
||
''
|
||
END)
|
||
van,
|
||
DECODE (
|
||
res_geg.res_activiteit_key,
|
||
21, TO_CHAR (res_geg.res_reservering_van + (1 / 96), 'HH24:MI'),
|
||
NULL)
|
||
van_vc,
|
||
(CASE
|
||
WHEN res_geg.res_type = '1R' OR res_geg.wissel = 1
|
||
THEN
|
||
DECODE (
|
||
rrr.alg_ruimte_key,
|
||
NULL,
|
||
(SELECT rr.res_ruimte_nr
|
||
FROM res_ruimte_opstelling rro, res_ruimte rr
|
||
WHERE rro.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key),
|
||
(SELECT rg.alg_ruimte_aanduiding
|
||
FROM alg_v_ruimte_gegevens rg
|
||
WHERE rg.alg_ruimte_key = rrr.alg_ruimte_key))
|
||
ELSE
|
||
''
|
||
END)
|
||
ruimte,
|
||
TO_CHAR (res_geg.deelnemers) deelnemers,
|
||
(CASE
|
||
WHEN res_geg.res_type = '2V'
|
||
THEN
|
||
res_geg.res_voorziening
|
||
WHEN res_geg.res_type = '3C'
|
||
THEN
|
||
TO_CHAR (res_geg.aantal) || ' x ' || res_geg.res_voorziening
|
||
ELSE
|
||
DECODE (res_geg.res_next_van,
|
||
NULL, res_geg.res_voorziening,
|
||
TO_CHAR (res_geg.res_next_van, 'HH24:MI'))
|
||
END)
|
||
voorzieningen,
|
||
DECODE (res_geg.res_type, '1R', res_geg.res_kostenplaats_nr, NULL)
|
||
budgetnummer,
|
||
DECODE (res_geg.res_type, '1R', res_geg.res_reservering_opm, NULL)
|
||
opmerking
|
||
FROM (SELECT '1R' res_type, -- begin/wissel-ruimten met v, c of vc!
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_activiteit_key,
|
||
rrr.res_rsv_ruimte_bezoekers deelnemers,
|
||
rrr.res_rsv_ruimte_van res_reservering_van,
|
||
rrr.res_rsv_ruimte_tot res_reservering_tot,
|
||
rrr.res_rsv_ruimte_opmerking res_reservering_opm,
|
||
TO_NUMBER (NULL) aantal,
|
||
ra.res_activiteit_omschrijving res_voorziening,
|
||
NULL artikelnummer,
|
||
kp.prs_kostenplaats_nr res_kostenplaats_nr,
|
||
NULL res_next_van,
|
||
0 wissel,
|
||
DECODE (
|
||
rrr.res_activiteit_key,
|
||
21, 1, -- videoconference (vc)
|
||
(SELECT COUNT ( * )
|
||
FROM res_v_aanwezigrsv_deel rrd, res_v_aanwezigrsv_artikel rra
|
||
WHERE rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
OR rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key))
|
||
service
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_activiteit ra, prs_kostenplaats kp
|
||
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||
AND ra.res_activiteit_key NOT IN (101, 161, 281, 301, 321) -- Uitleen, Lunchvoucher, Brandmeldcentrale, Pas sessie, Passen orth. schoenen
|
||
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND rrr.res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 5)
|
||
UNION ALL -- eind-ruimten (reserveerbaar)!
|
||
SELECT '1R' res_type,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL res_activiteit_key,
|
||
NULL deelnemers,
|
||
rrr.res_rsv_ruimte_tot res_reservering_van,
|
||
NULL res_reservering_tot,
|
||
NULL res_reservering_opm,
|
||
TO_NUMBER (NULL) aantal,
|
||
NULL res_voorziening,
|
||
NULL artikelnummer,
|
||
NULL res_kostenplaats_nr,
|
||
(SELECT MIN (x.res_rsv_ruimte_van)
|
||
FROM res_v_aanwezigrsv_ruimte x, res_ruimte_opstelling y
|
||
WHERE x.res_ruimte_opstel_key = y.res_ruimte_opstel_key
|
||
AND y.res_ruimte_key = rr.res_ruimte_key
|
||
AND TRUNC (x.res_rsv_ruimte_van) = TRUNC (rrr.res_rsv_ruimte_tot)
|
||
AND x.res_rsv_ruimte_van > rrr.res_rsv_ruimte_tot)
|
||
res_next_van,
|
||
0 wissel,
|
||
1 service
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr
|
||
WHERE 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 rrr.res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 5)
|
||
UNION ALL -- eind-ruimten (meerdaags los=met v)!
|
||
SELECT '1R' res_type,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_activiteit_key,
|
||
rrr.res_rsv_ruimte_bezoekers deelnemers,
|
||
rrr.res_rsv_ruimte_tot res_reservering_van,
|
||
NULL res_reservering_tot,
|
||
rrr.res_rsv_ruimte_opmerking res_reservering_opm,
|
||
TO_NUMBER (NULL) aantal,
|
||
ra.res_activiteit_omschrijving res_voorziening,
|
||
NULL artikelnummer,
|
||
kp.prs_kostenplaats_nr res_kostenplaats_nr,
|
||
NULL res_next_van,
|
||
0 wissel,
|
||
1 service
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_activiteit ra,
|
||
prs_kostenplaats kp
|
||
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND ra.res_activiteit_key NOT IN (281, 101, 301, 321) -- Brandmeldcentrale, Uitellenauto, Pas sessie, Passen orth schoenen
|
||
AND TRUNC (rrr.res_rsv_ruimte_van) != TRUNC (rrr.res_rsv_ruimte_tot)
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 5)
|
||
UNION ALL -- begin/wissel-voorzieningen (bij ruimte en los)!
|
||
SELECT '2V' res_type,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL res_activiteit_key,
|
||
NULL deelnemers,
|
||
rrd.res_rsv_deel_van res_reservering_van,
|
||
rrd.res_rsv_deel_tot res_reservering_tot,
|
||
NULL res_reservering_opm,
|
||
(rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van) * 24 aantal, -- duur in uren
|
||
LTRIM (id.ins_deel_omschrijving) || DECODE (rd.res_deel_eenheid, NULL, '', ' (' || rd.res_deel_eenheid || ')')
|
||
res_voorziening,
|
||
NULL artikelnummer,
|
||
NULL res_kostenplaats_nr,
|
||
NULL res_next_van,
|
||
DECODE (rrd.res_rsv_deel_van, rrr.res_rsv_ruimte_van, 0, 1)
|
||
wissel,
|
||
1 service
|
||
FROM res_v_aanwezigrsv_deel rrd, res_v_aanwezigrsv_ruimte rrr, res_deel rd, ins_deel id
|
||
WHERE rrd.res_rsv_deel_dirtlevel = 0
|
||
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key NOT IN (741, 2121, 2162, 2221) -- Bestelauto, Brandmeldcentrale, Pasbus, Orthopedie
|
||
AND rd.res_ins_deel_key = id.ins_deel_key
|
||
AND rrd.res_rsv_deel_van BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 5)
|
||
UNION ALL -- eind-voorzieningen (meerdaags los=met v)!
|
||
SELECT '2V' res_type,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL res_activiteit_key,
|
||
NULL deelnemers,
|
||
rrd.res_rsv_deel_tot res_reservering_van,
|
||
rrd.res_rsv_deel_tot res_reservering_tot,
|
||
NULL res_reservering_opm,
|
||
(rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van) * 24 aantal, -- duur in uren
|
||
LTRIM (id.ins_deel_omschrijving) || DECODE (rd.res_deel_eenheid, NULL, '', ' (' || rd.res_deel_eenheid || ')')
|
||
res_voorziening,
|
||
NULL artikelnummer,
|
||
NULL res_kostenplaats_nr,
|
||
NULL res_next_van,
|
||
0 wissel,
|
||
1 service
|
||
FROM res_v_aanwezigrsv_deel rrd, res_v_aanwezigrsv_ruimte rrr, res_deel rd, ins_deel id
|
||
WHERE rrd.res_rsv_deel_dirtlevel = 0
|
||
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_ins_deel_key = id.ins_deel_key
|
||
AND rd.res_discipline_key NOT IN (2121, 741, 2162, 2221) -- Branmdeldcentrale, Bestelauto, Pasbus, Orthopedie
|
||
AND TRUNC (rrd.res_rsv_deel_van) != TRUNC (rrd.res_rsv_deel_tot)
|
||
AND rrd.res_rsv_deel_tot BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 5)
|
||
UNION ALL -- koppelruimten wand plaatsen
|
||
SELECT '2V' res_type,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL,
|
||
rrr.res_rsv_ruimte_bezoekers deelnemers,
|
||
rrr.res_rsv_ruimte_van res_reservering_van,
|
||
rrr.res_rsv_ruimte_tot res_reservering_tot,
|
||
rrr.res_rsv_ruimte_opmerking res_reservering_opm,
|
||
(rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24
|
||
aantal,
|
||
wand.voorziening voorziening,
|
||
NULL artikelnummer,
|
||
NULL res_kostenplaats_nr,
|
||
NULL res_next_van,
|
||
1 wissel,
|
||
1 service
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
(SELECT res_rsv_ruimte_key, voorziening
|
||
FROM ( SELECT rro2.res_ruimte_key org,
|
||
LAG (rro2.res_ruimte_key)
|
||
OVER (ORDER BY rrr2.res_rsv_ruimte_van)
|
||
prev,
|
||
res_rsv_ruimte_key,
|
||
'Wand ' || rr2.res_ruimte_nr
|
||
|| DECODE (rro2.res_ruimte_key,
|
||
341, ' Verwijderen',
|
||
' Plaatsen')
|
||
voorziening
|
||
FROM res_v_aanwezigrsv_ruimte rrr2,
|
||
res_ruimte_opstelling rro2,
|
||
res_ruimte rr2
|
||
WHERE rro2.res_ruimte_opstel_key = rrr2.res_ruimte_opstel_key
|
||
AND rr2.res_ruimte_key = rro2.res_ruimte_key
|
||
AND rro2.res_ruimte_key IN (282, 283, 341)
|
||
ORDER BY rrr2.res_rsv_ruimte_van)
|
||
WHERE ( (org = 341 AND prev IN (282, 283))
|
||
OR (org IN (282, 283) AND prev = 341)
|
||
OR (prev IS NULL))
|
||
UNION
|
||
SELECT res_rsv_ruimte_key, voorziening
|
||
FROM ( SELECT rro2.res_ruimte_key org,
|
||
LAG (rro2.res_ruimte_key)
|
||
OVER (ORDER BY rrr2.res_rsv_ruimte_van)
|
||
prev,
|
||
res_rsv_ruimte_key,
|
||
'Wand ' || rr2.res_ruimte_nr
|
||
|| DECODE (rro2.res_ruimte_key,
|
||
581, ' Verwijderen',
|
||
' Plaatsen')
|
||
voorziening
|
||
FROM res_v_aanwezigrsv_ruimte rrr2,
|
||
res_ruimte_opstelling rro2,
|
||
res_ruimte rr2
|
||
WHERE rro2.res_ruimte_opstel_key = rrr2.res_ruimte_opstel_key
|
||
AND rr2.res_ruimte_key = rro2.res_ruimte_key
|
||
AND rro2.res_ruimte_key IN (562, 563, 581)
|
||
ORDER BY rrr2.res_rsv_ruimte_van)
|
||
WHERE ( (org = 581 AND prev IN (562, 563))
|
||
OR (org IN (562, 563) AND prev = 581)
|
||
OR (prev IS NULL))) wand
|
||
WHERE rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 5)
|
||
AND rro.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key
|
||
AND rrr.res_rsv_ruimte_key = wand.res_rsv_ruimte_key
|
||
UNION ALL -- begin/wissel-catering (bij ruimte en los)!
|
||
SELECT '3C' res_type,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL res_activiteit_key,
|
||
NULL deelnemers,
|
||
rra.res_rsv_artikel_levering res_reservering_van,
|
||
rrr.res_rsv_ruimte_tot res_reservering_tot,
|
||
NULL res_reservering_opm,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
LTRIM (ra.res_artikel_omschrijving) || DECODE (ra.res_artikel_eenheid, NULL, '', ' (' || ra.res_artikel_eenheid || ')')
|
||
res_voorziening,
|
||
ra.res_artikel_nr artikelnummer,
|
||
NULL res_kostenplaats_nr,
|
||
NULL res_next_van,
|
||
DECODE (rra.res_rsv_artikel_levering, rrr.res_rsv_ruimte_van, 0, 1)
|
||
wissel,
|
||
1 service
|
||
FROM res_v_aanwezigrsv_artikel rra, res_v_aanwezigrsv_ruimte rrr, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key NOT IN (1781) -- Lunchvoucher
|
||
AND rra.res_rsv_artikel_levering BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 5))
|
||
res_geg,
|
||
res_v_aanwezigrsv_ruimte rrr
|
||
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND (res_reservering_opm IS NOT NULL OR res_geg.service > 0)
|
||
ORDER BY 1, 2, 3;
|
||
|
||
-- Bevat CUST01/02-reminders naar resp. medewerkers in autorisatiegroep 'BO
|
||
-- autorisatie (Security)' met key=2462 en medewerkers die 9 maanden geleden
|
||
-- om toegang hebben verzocht (dus binnenkort deze toegang verloopt).
|
||
-- CUST01: dagelijks ('s ochtends) mbt. de voorgaande dag aangemaakte nieuwe
|
||
-- verzoeken!
|
||
-- CUST02: dagelijks mbt. 9 maanden (~275d) geleden ingediende verzoeken!
|
||
/* Formatted on 3-4-2013 10:36:24 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW ivet_v_noti_aut_toegang
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
par1,
|
||
par2,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
gg.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key),
|
||
m.mld_melding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_srtnotificatie sn,
|
||
fac_gebruikersgroep gg
|
||
WHERE TRUNC (m.mld_melding_datum + 1) = TRUNC (SYSDATE)
|
||
--AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
||
--AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
||
-- TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = 1421 -- Aut. toegang afdeling
|
||
--AND m.mld_workflowstep_key IS NOT NULL -- WF-melding?
|
||
AND m.mld_melding_key = mld_melding_start_key -- WF-startmelding?
|
||
AND sn.fac_srtnotificatie_code = 'CUST01'
|
||
AND gg.fac_groep_key = 2462 -- BO autorisatie (Security)
|
||
UNION ALL
|
||
SELECT DISTINCT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
m.prs_perslid_key,
|
||
sn.fac_srtnotificatie_oms,
|
||
m.mld_melding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m, mld_stdmelding sm, fac_srtnotificatie sn
|
||
WHERE TRUNC (m.mld_melding_datum + 275) = TRUNC (SYSDATE)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = 1421 -- Aut. toegang afdeling
|
||
--AND m.mld_workflowstep_key IS NOT NULL -- WF-melding?
|
||
AND m.mld_melding_key = mld_melding_start_key -- WF-startmelding?
|
||
AND sn.fac_srtnotificatie_code = 'CUST02';
|
||
|
||
------------------------------------------------------------------------------
|
||
-- CAD SYNCHRONISATIE views
|
||
-- Er worden per gebouw verschillende ruimtenummeringsconventies gebruikt
|
||
-- Per conventie is er een sync-view, die afhankelijk van een gebouwkenmerk
|
||
-- (key=?) wordt toegepast.
|
||
--
|
||
-- Als in database ruimtenr=Rn, verdiepingscode=Vc en verdiepingsvolgnr=Vn,
|
||
-- dan herkennen we deze labels in de tekening:
|
||
-- 1. Rn-part -> het gedeelte na de punt '.'
|
||
-- 2. Vc.Rn
|
||
-- 3. [0]Vn.Rn -> als 0<Vn<10 (dus niet Vn=-1), dan prefix met 0
|
||
-- 4. Rn
|
||
------------------------------------------------------------------------------
|
||
CREATE OR REPLACE VIEW ivet_v_sync_alg_ruimte
|
||
(
|
||
alg_ruimte_key,
|
||
alg_verdieping_key,
|
||
cadlabel
|
||
)
|
||
AS
|
||
SELECT r.alg_ruimte_key,
|
||
r.alg_verdieping_key,
|
||
DECODE (
|
||
k.alg_onrgoedkenmerk_waarde,
|
||
1,
|
||
SUBSTR (r.alg_ruimte_nr, INSTR (r.alg_ruimte_nr, '.') + 1), -- Rn-part
|
||
2,
|
||
v.alg_verdieping_code || '.' || r.alg_ruimte_nr, -- Vc.Rn
|
||
3,
|
||
SUBSTR ('0' || v.alg_verdieping_volgnr, -2) || '.' || r.alg_ruimte_nr, -- [0]Vn.Rn
|
||
4,
|
||
r.alg_ruimte_nr, -- Rn
|
||
SUBSTR (r.alg_ruimte_nr, INSTR (r.alg_ruimte_nr, '.') + 1)) -- Rn-part
|
||
cadlabel
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
(SELECT *
|
||
FROM alg_v_aanwezigonrgoedkenmerk
|
||
WHERE alg_kenmerk_key = -1) k
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = k.alg_onrgoed_key(+);
|
||
|
||
CREATE OR REPLACE VIEW ivet_v_sync_prj_ruimte
|
||
(
|
||
prj_scenario_key,
|
||
prj_ruimte_key,
|
||
alg_verdieping_key,
|
||
cadlabel
|
||
)
|
||
AS
|
||
SELECT r.prj_scenario_key,
|
||
r.prj_ruimte_key,
|
||
r.alg_verdieping_key,
|
||
--r.prj_ruimte_nr,
|
||
DECODE (
|
||
k.alg_onrgoedkenmerk_waarde,
|
||
1,
|
||
SUBSTR (r.prj_ruimte_nr, INSTR (r.prj_ruimte_nr, '.') + 1), -- Rn-part
|
||
2,
|
||
v.alg_verdieping_code || '.' || r.prj_ruimte_nr, -- Vc.Rn
|
||
3,
|
||
SUBSTR ('0' || v.alg_verdieping_volgnr, -2) || '.' || r.prj_ruimte_nr, -- [0]Vn.Rn
|
||
4,
|
||
r.prj_ruimte_nr, -- Rn
|
||
SUBSTR (r.prj_ruimte_nr, INSTR (r.prj_ruimte_nr, '.') + 1)) -- Rn-part
|
||
cadlabel
|
||
FROM prj_ruimte r,
|
||
alg_verdieping v,
|
||
(SELECT *
|
||
FROM alg_v_aanwezigonrgoedkenmerk
|
||
WHERE alg_kenmerk_key = -1) k
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = k.alg_onrgoed_key(+);
|
||
|
||
/* Formatted on 6-9-2011 10:57:39 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW ivet_v_label_wpbewoner
|
||
(
|
||
prs_werkplek_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT wp.prs_werkplek_key,
|
||
DECODE (bew.aantal, 0, '[Vrij]', 1, bew.naam, bew.naam || '...')
|
||
FROM (SELECT prs_werkplek_key FROM prs_werkplek) wp
|
||
LEFT JOIN
|
||
( SELECT pw.prs_werkplek_key,
|
||
COUNT ( * ) aantal,
|
||
MAX (p.prs_perslid_naam_full) naam
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_v_perslid_fullnames p
|
||
WHERE pw.prs_perslid_key = p.prs_perslid_key
|
||
GROUP BY pw.prs_werkplek_key) bew
|
||
ON wp.prs_werkplek_key = bew.prs_werkplek_key;
|
||
|
||
/* Formatted on 19-4-2012 17:00:48 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW ivet_v_label_bg_match
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT a.prs_alg_ruimte_key,
|
||
DECODE (
|
||
SIGN (ROUND ( (b.opp / (a.aantal * 7)) * 100, 0) - 110),
|
||
1,
|
||
2, -- Te Leeg
|
||
DECODE (
|
||
SIGN (ROUND ( (b.opp / (a.aantal * 7)) * 100, 0) - 90),
|
||
-1,
|
||
1, -- Te vol
|
||
0 -- Volgens norm
|
||
)
|
||
)
|
||
FROM ( SELECT wp.prs_alg_ruimte_key,
|
||
COUNT (pw.prs_perslid_key) aantal
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek wp
|
||
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
|
||
GROUP BY wp.prs_alg_ruimte_key) a
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
COALESCE (r.alg_ruimte_bruto_vloeropp, 0) opp
|
||
FROM alg_v_aanwezigruimte r) b
|
||
ON a.prs_alg_ruimte_key = b.alg_ruimte_key;
|
||
|
||
/* Formatted on 19-4-2012 17:00:48 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW ivet_v_label_bg_delta
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT a.prs_alg_ruimte_key, TO_CHAR (ROUND (b.opp - (a.aantal * 7), 2))
|
||
FROM ( SELECT wp.prs_alg_ruimte_key,
|
||
COUNT (pw.prs_perslid_key) aantal
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek wp
|
||
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
|
||
GROUP BY wp.prs_alg_ruimte_key) a
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
COALESCE (r.alg_ruimte_bruto_vloeropp, 0) opp
|
||
FROM alg_v_aanwezigruimte r) b
|
||
ON a.prs_alg_ruimte_key = b.alg_ruimte_key;
|
||
|
||
/* Formatted on 19-4-2012 17:00:48 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW ivet_v_label_gemopp_pp
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT a.prs_alg_ruimte_key, TO_CHAR (ROUND (b.opp / a.aantal, 2))
|
||
FROM ( SELECT wp.prs_alg_ruimte_key,
|
||
COUNT (pw.prs_perslid_key) aantal
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek wp
|
||
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
|
||
GROUP BY wp.prs_alg_ruimte_key) a
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
COALESCE (r.alg_ruimte_bruto_vloeropp, 0) opp
|
||
FROM alg_v_aanwezigruimte r) b
|
||
ON a.prs_alg_ruimte_key = b.alg_ruimte_key;
|
||
|
||
/* Formatted on 16-3-2012 15:40:50 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW ivet_v_thema_ruimte_afd
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
--waarde_key
|
||
)
|
||
AS
|
||
SELECT x.alg_ruimte_key,
|
||
DECODE (y.aantal,
|
||
NULL, '[Geen]',
|
||
1, SUBSTR (y.prs_afdeling_omschrijving, 1, 60),
|
||
'Meer dan 1 afdeling!')
|
||
--DECODE (y.aantal, NULL, -1, 1, y.prs_afdeling_key, NULL)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) x
|
||
LEFT JOIN
|
||
( SELECT w.prs_alg_ruimte_key,
|
||
MIN (a.prs_afdeling_omschrijving)
|
||
prs_afdeling_omschrijving,
|
||
MIN (a.prs_afdeling_key) prs_afdeling_key,
|
||
COUNT (DISTINCT a.prs_afdeling_key) aantal
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
prs_v_aanwezigperslid p,
|
||
prs_afdeling a
|
||
WHERE pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY w.prs_alg_ruimte_key) y
|
||
ON x.alg_ruimte_key = y.prs_alg_ruimte_key
|
||
UNION ALL
|
||
SELECT NULL, SUBSTR (a.prs_afdeling_omschrijving, 1, 60) --, a.prs_afdeling_key
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
prs_v_aanwezigperslid p
|
||
WHERE pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT NULL, SUBSTR (a.prs_afdeling_omschrijving, 1, 60) --, a.prs_afdeling_key
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_v_aanwezigperslid p,
|
||
prs_afdeling a
|
||
WHERE pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_werkplek w
|
||
WHERE w.prs_werkplek_key = pw.prs_werkplek_key)
|
||
/
|
||
|
||
/* Formatted on 16-3-2012 15:40:50 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW ivet_v_thema_ruimte_kpn
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
--waarde_key
|
||
)
|
||
AS
|
||
SELECT x.alg_ruimte_key,
|
||
DECODE (y.aantal,
|
||
NULL, '[Geen]',
|
||
1, SUBSTR (y.prs_kostenplaats_nr, 1, 30),
|
||
'Meer dan 1 kostenplaats!')
|
||
--DECODE (y.aantal, NULL, -1, 1, y.prs_kostenplaats_key, NULL)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) x
|
||
LEFT JOIN
|
||
( SELECT w.prs_alg_ruimte_key,
|
||
MIN (kp.prs_kostenplaats_nr) prs_kostenplaats_nr,
|
||
MIN (kp.prs_kostenplaats_key) prs_kostenplaats_key,
|
||
COUNT (DISTINCT kp.prs_kostenplaats_key) aantal
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_kostenplaats kp
|
||
WHERE pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
GROUP BY w.prs_alg_ruimte_key) y
|
||
ON x.alg_ruimte_key = y.prs_alg_ruimte_key
|
||
UNION ALL
|
||
SELECT NULL, SUBSTR (kp.prs_kostenplaats_nr, 1, 30) --, kp.prs_kostenplaats_key
|
||
FROM prs_v_aanwezigkostenplaats kp
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
prs_v_aanwezigperslid p,
|
||
prs_afdeling a
|
||
WHERE pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_kostenplaats_key = kp.prs_kostenplaats_key)
|
||
UNION ALL
|
||
SELECT DISTINCT NULL, SUBSTR (kp.prs_kostenplaats_nr, 1, 30) --, kp.prs_kostenplaats_key
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_v_aanwezigperslid p,
|
||
prs_afdeling a,
|
||
prs_kostenplaats kp
|
||
WHERE pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_werkplek w
|
||
WHERE w.prs_werkplek_key = pw.prs_werkplek_key)
|
||
/
|
||
|
||
/* Formatted on 21-12-2012 17:44:55 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW ivet_v_thema_schprog
|
||
(
|
||
alg_ruimte_key,
|
||
waarde,
|
||
waarde_key
|
||
)
|
||
AS
|
||
SELECT a.alg_ruimte_key,
|
||
COALESCE (b.schprog, '[Onbekend]'),
|
||
COALESCE (b.schprog_key, -1)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) a
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_omschr schprog,
|
||
ud.fac_usrdata_key schprog_key
|
||
FROM alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1020 -- schoonmaakprog.
|
||
AND ok.alg_onrgoed_niveau = 'R'
|
||
AND fac.safe_to_number (
|
||
ok.alg_onrgoedkenmerk_waarde
|
||
) = ud.fac_usrdata_key) b
|
||
ON a.alg_ruimte_key = b.alg_onrgoed_key
|
||
UNION ALL
|
||
SELECT NULL,
|
||
ud.fac_usrdata_omschr schprog,
|
||
ud.fac_usrdata_key schprog_key
|
||
FROM fac_v_aanwezigusrdata ud
|
||
WHERE ud.fac_usrtab_key = 2301
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanwezigonrgoedkenmerk ok
|
||
WHERE ok.alg_kenmerk_key = 1020 -- schoonmaakprog.
|
||
AND fac.safe_to_number (
|
||
ok.alg_onrgoedkenmerk_waarde
|
||
) = ud.fac_usrdata_key)
|
||
/
|
||
|
||
/* Formatted on 23-8-2022 18:25:45 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE TRIGGER ivet_v_thema_schprog_i_iu
|
||
INSTEAD OF INSERT OR UPDATE
|
||
ON ivet_v_thema_schprog
|
||
BEGIN
|
||
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
|
||
THEN
|
||
DELETE FROM alg_onrgoedkenmerk
|
||
WHERE alg_onrgoed_key = :new.alg_ruimte_key
|
||
AND alg_onrgoed_niveau = 'R'
|
||
AND alg_kenmerk_key = 1020
|
||
AND (alg_onrgoedkenmerk_waarde IS NULL -- IVET#73753/73776: Zou nooit NULL mogen zijn, maar was dat ergens wel!?
|
||
OR fac.safe_to_number (alg_onrgoedkenmerk_waarde) <> :new.waarde_key);
|
||
END IF;
|
||
|
||
BEGIN
|
||
IF :new.waarde_key <> -1
|
||
THEN
|
||
INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key,
|
||
alg_onrgoed_niveau,
|
||
alg_kenmerk_key,
|
||
alg_onrgoedkenmerk_waarde)
|
||
VALUES (:new.alg_ruimte_key,
|
||
'R',
|
||
1020,
|
||
:new.waarde_key);
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
||
THEN
|
||
NULL;
|
||
END;
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 19-4-2012 16:14:40 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW ivet_v_thema_schprog_ro
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT r.alg_ruimte_key, ud.fac_usrdata_omschr
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud
|
||
WHERE r.alg_ruimte_key = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1020 -- schoonmaakprog.
|
||
AND ok.alg_onrgoed_niveau = 'R'
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) =
|
||
ud.fac_usrdata_key
|
||
/
|
||
|
||
|
||
-- Synchronisatiemechanisme om dagelijks de Schoonmaakprogramma-kenmerken bij
|
||
-- de ruimte te synchroniseren met de Schoonmaak-objecten die worden gebruikt.
|
||
CREATE OR REPLACE PROCEDURE ivet_export_sync_schoonmaak (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
CURSOR c (c_srtgroep_key NUMBER)
|
||
IS
|
||
SELECT sd.ins_srtdeel_key, rg.alg_ruimte_key, rg.alg_ruimte_aanduiding, sd.ins_srtdeel_omschrijving
|
||
FROM alg_onrgoedkenmerk aogk, alg_v_ruimte_gegevens rg, fac_usrdata ud, ins_srtdeel sd
|
||
WHERE aogk.alg_kenmerk_key = 1020 -- Schoonmaakprogramma
|
||
AND aogk.alg_onrgoed_key = rg.alg_ruimte_key
|
||
AND fac.safe_to_number (aogk.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key
|
||
AND ud.fac_usrdata_code = sd.ins_srtdeel_code
|
||
AND sd.ins_srtgroep_key = c_srtgroep_key;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
v_srtgroep_key NUMBER;
|
||
v_srtdeel_key NUMBER;
|
||
v_deel_key NUMBER;
|
||
v_count NUMBER;
|
||
BEGIN
|
||
v_errormsg := 'Fout bepalen schoonmaak-groep';
|
||
SELECT ins_srtgroep_key
|
||
INTO v_srtgroep_key
|
||
FROM ins_v_aanwezigsrtgroep
|
||
WHERE ins_srtgroep_omschrijving = 'Schoonmaak';
|
||
|
||
-- Aanmaken objectsoorten volgens Eigen tabel met key=2301!
|
||
v_errormsg := 'Fout toevoegen schoonmaak-objectsoorten';
|
||
INSERT INTO ins_srtdeel (ins_srtgroep_key,
|
||
ins_srtdeel_code,
|
||
ins_srtdeel_omschrijving,
|
||
ins_srtdeel_binding)
|
||
SELECT v_srtgroep_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
1
|
||
FROM fac_v_aanwezigusrdata ud
|
||
WHERE fac_usrtab_key = 2301
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM ins_v_aanwezigsrtdeel
|
||
WHERE ins_srtgroep_key = v_srtgroep_key
|
||
AND ins_srtdeel_code = ud.fac_usrdata_code);
|
||
|
||
-- Bijwerken objectsoorten volgens Eigen tabel met key=2301!
|
||
v_errormsg := 'Fout bijwerken objectsoort-omschrijvingen';
|
||
UPDATE ins_srtdeel
|
||
SET ins_srtdeel_omschrijving =
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_v_aanwezigusrdata
|
||
WHERE fac_usrtab_key = 2301
|
||
AND fac_usrdata_code = ins_srtdeel_code)
|
||
WHERE ins_srtdeel_verwijder IS NULL
|
||
AND ins_srtgroep_key = v_srtgroep_key;
|
||
|
||
FOR rec IN c (v_srtgroep_key)
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := '[' || rec.alg_ruimte_aanduiding || '|' || rec.ins_srtdeel_omschrijving || '] ';
|
||
BEGIN
|
||
v_errormsg := 'Fout bepalen schoonmaak-object (oud)';
|
||
SELECT d.ins_srtdeel_key, d.ins_deel_key
|
||
INTO v_srtdeel_key, v_deel_key
|
||
FROM ins_v_aanwezigdeel d, ins_srtdeel sd
|
||
WHERE d.ins_deel_vervaldatum IS NULL
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = v_srtgroep_key
|
||
AND d.ins_alg_ruimte_key = rec.alg_ruimte_key
|
||
AND d.ins_alg_ruimte_type = 'R';
|
||
|
||
IF v_srtdeel_key <> rec.ins_srtdeel_key
|
||
THEN
|
||
v_errormsg := 'Fout vervallen schoonmaak-object';
|
||
UPDATE ins_deel
|
||
SET ins_deel_vervaldatum = SYSDATE
|
||
WHERE ins_deel_key = v_deel_key;
|
||
|
||
v_deel_key := -1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_deel_key := -1;
|
||
END;
|
||
|
||
IF v_deel_key = -1
|
||
THEN
|
||
-- IVET#57006: SYNC_SCHOONMAAK-export loopt al een maand niet meer.
|
||
-- Oorzaak volgens MVH dat toe te voegen object soms al
|
||
-- bestaat, daarom voortaan ook objecten reanimeren!
|
||
v_errormsg := 'Fout bepalen schoonmaak-object (nieuw)';
|
||
SELECT COUNT (*)
|
||
INTO v_count
|
||
FROM ins_v_aanwezigdeel d
|
||
WHERE d.ins_srtdeel_key = rec.ins_srtdeel_key
|
||
AND d.ins_alg_ruimte_key = rec.alg_ruimte_key
|
||
AND d.ins_alg_ruimte_type = 'R';
|
||
|
||
IF v_count = 0
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen schoonmaak-object';
|
||
INSERT INTO ins_deel (ins_srtdeel_key,
|
||
ins_alg_ruimte_key,
|
||
ins_alg_ruimte_type,
|
||
ins_deel_omschrijving,
|
||
ins_deel_actief)
|
||
VALUES (rec.ins_srtdeel_key,
|
||
rec.alg_ruimte_key,
|
||
'R',
|
||
SUBSTR (rec.alg_ruimte_aanduiding || ' / ' || rec.ins_srtdeel_omschrijving, 1, 60),
|
||
1);
|
||
ELSE
|
||
v_errormsg := 'Fout reanimeren schoonmaak-object';
|
||
UPDATE ins_deel
|
||
SET ins_deel_vervaldatum = SYSDATE,
|
||
ins_deel_omschrijving = SUBSTR (rec.alg_ruimte_aanduiding || ' / ' || rec.ins_srtdeel_omschrijving, 1, 60),
|
||
ins_deel_actief = 1
|
||
WHERE ins_srtdeel_key = rec.ins_srtdeel_key
|
||
AND ins_alg_ruimte_key = rec.alg_ruimte_key
|
||
AND ins_alg_ruimte_type = 'R';
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_aanduiding || v_errormsg, 'SYNC_SCHOONMAAK-export afgebroken!');
|
||
END;
|
||
/
|
||
|
||
-- De schoonmaak wordt van 03:00 tot 03:00 uur uitgevoerd. Vandaar dat we alle tijden met 3
|
||
-- uur moeten corrigeren.
|
||
CREATE OR REPLACE VIEW ivet_v_thema_sch_stat
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT ins_alg_ruimte_key,
|
||
DECODE (SUM (todo),
|
||
0, DECODE (SUM (done), 0, 'Idle',
|
||
'Ready'),
|
||
DECODE (SUM (done), 0, 'Todo',
|
||
'Busy'))
|
||
waarde
|
||
FROM (
|
||
SELECT ins_alg_ruimte_key,
|
||
sc.ins_srtcontrole_key,
|
||
id.ins_deel_omschrijving,
|
||
sc.ins_srtcontrole_omschrijving,
|
||
DECODE (
|
||
SIGN(TRUNC (
|
||
fac.nextcyclusdatedeel (id.ins_deel_key, sc.ins_srtcontrole_key, 1))
|
||
- TRUNC (SYSDATE-3/24)),
|
||
1,
|
||
0,
|
||
1)
|
||
todo,
|
||
(SELECT COUNT ( * )
|
||
FROM ins_deelsrtcontrole dsc
|
||
WHERE dsc.ins_deel_key = id.ins_deel_key
|
||
AND dsc.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||
AND TRUNC (dsc.ins_deelsrtcontrole_datum-3/24) = TRUNC (SYSDATE-3/24))
|
||
done
|
||
FROM ins_deel id, ins_srtcontrole sc
|
||
WHERE id.ins_srtdeel_key = sc.ins_srtinstallatie_key
|
||
AND id.ins_deel_verwijder IS NULL
|
||
AND (ins_deel_vervaldatum IS NULL OR ins_deel_vervaldatum > TRUNC(SYSDATE))
|
||
AND sc.ins_srtcontrole_niveau = 'S' --
|
||
)
|
||
GROUP BY ins_alg_ruimte_key;
|
||
|
||
-- Dagelijkse taak.
|
||
-- Hieronder vallen:
|
||
-- - Synchronisatie schoonmaakprogramma bij ruimte met schoonmaakobjecten.
|
||
CREATE OR REPLACE PROCEDURE ivet_export_daily_task (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
ivet_export_sync_schoonmaak (p_applname, p_applrun, p_filedir, p_filename);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW ivet_v_thema_cleanroom
|
||
(
|
||
ALG_RUIMTE_KEY,
|
||
WAARDE
|
||
)
|
||
AS
|
||
SELECT r.alg_ruimte_key, ud.fac_usrdata_omschr
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_v_aanwezigusrdata ud
|
||
WHERE r.alg_ruimte_key = ok.alg_onrgoed_key
|
||
AND ok.alg_kenmerk_key = 1020 -- schoonmaakprog.
|
||
AND ok.alg_onrgoed_niveau = 'R'
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) =
|
||
ud.fac_usrdata_key
|
||
AND ud.fac_usrdata_key = 4465 -- 25-cleanroom
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW IVET_V_ADRESSEN_ALL
|
||
(
|
||
PRS_BEDRIJF_KEY,
|
||
ADRES
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key,
|
||
prs_bedrijf_naam
|
||
|| ' ('
|
||
|| prs_bedrijf_bezoek_adres
|
||
|| ' - '
|
||
|| prs_bedrijf_bezoek_postcode
|
||
|| ' '
|
||
|| prs_bedrijf_bezoek_plaats
|
||
|| ')'
|
||
Adres
|
||
FROM prs_bedrijf
|
||
WHERE prs_bedrijf_verwijder IS NULL
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW IVET_V_ADRESSEN_BEZORG
|
||
(
|
||
PRS_BEDRIJF_KEY,
|
||
ADRES
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key, ADRES
|
||
FROM ivet_v_adressen_all, prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerklink_niveau = 'B'
|
||
AND prs_kenmerk_key = 1040 -- 1040 Bezorgadres checkbox
|
||
AND prs_kenmerklink_waarde = 1
|
||
AND prs_link_key = prs_bedrijf_key
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW IVET_V_ADRESSEN_LOCAL
|
||
(
|
||
PRS_BEDRIJF_KEY,
|
||
ADRES
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key, ADRES
|
||
FROM ivet_v_adressen_all, prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerklink_niveau = 'B'
|
||
AND prs_kenmerk_key = 1060 -- 1060 Local companies checkbox
|
||
AND prs_kenmerklink_waarde = 1
|
||
AND prs_link_key = prs_bedrijf_key
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW IVET_V_ADRESSEN_AUTHA
|
||
(
|
||
PRS_BEDRIJF_KEY,
|
||
ADRES
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key, ADRES
|
||
FROM ivet_v_adressen_all, prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerklink_niveau = 'B'
|
||
AND prs_kenmerk_key = 1061 -- 1061 Authoriteit(A) checkbox
|
||
AND prs_kenmerklink_waarde = 1
|
||
AND prs_link_key = prs_bedrijf_key
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW IVET_V_ADRESSEN_AUTHB
|
||
(
|
||
PRS_BEDRIJF_KEY,
|
||
ADRES
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key, ADRES
|
||
FROM ivet_v_adressen_all, prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerklink_niveau = 'B'
|
||
AND prs_kenmerk_key = 1062 -- 1062 Authoriteit(B) checkbox
|
||
AND prs_kenmerklink_waarde = 1
|
||
AND prs_link_key = prs_bedrijf_key
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW IVET_V_ADRESSEN_DIVERSEN
|
||
(
|
||
PRS_BEDRIJF_KEY,
|
||
ADRES
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key, ADRES
|
||
FROM ivet_v_adressen_all, prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerklink_niveau = 'B'
|
||
AND prs_kenmerk_key = 1063 -- 1063 Diversen checkbox
|
||
AND prs_kenmerklink_waarde = 1
|
||
AND prs_link_key = prs_bedrijf_key
|
||
/
|
||
|
||
-- IVET#29054
|
||
CREATE OR REPLACE VIEW IVET_V_ADRESSEN_BEZORG_NL
|
||
(
|
||
PRS_BEDRIJF_KEY,
|
||
ADRES
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key, ADRES
|
||
FROM ivet_v_adressen_all, prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerklink_niveau = 'B'
|
||
AND prs_kenmerk_key = 1080 -- 1080 Nederland checkbox
|
||
AND prs_kenmerklink_waarde = 1
|
||
AND prs_link_key = prs_bedrijf_key
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW IVET_V_ADRESSEN_BEZORG_INT
|
||
(
|
||
PRS_BEDRIJF_KEY,
|
||
ADRES
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key, ADRES
|
||
FROM ivet_v_adressen_all, prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL
|
||
AND prs_kenmerklink_niveau = 'B'
|
||
AND prs_kenmerk_key = 1081 -- 1081 International buiten EU checkbox
|
||
AND prs_kenmerklink_waarde = 1
|
||
AND prs_link_key = prs_bedrijf_key
|
||
/
|
||
|
||
-- IVET#26822:
|
||
-- Controleert per interval of er nieuwe transportaanvragen binnen EU zijn en stuurt deze naar gebruiker DistributionCoordination.
|
||
-- IVET#64921: Transport aanvraag met key=2821 vervallen en notificatiejob omgebutst tbv. reguliere transportaanvragen (met key=5642)!
|
||
-- IVET#66301: Als BT direct toegewezen bij aanmaak, dan ook notificeren!
|
||
CREATE OR REPLACE VIEW IVET_V_NOTI_MLD_TRANSPORT
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT 'CUST06',
|
||
NULL,
|
||
NULL,
|
||
'Nieuwe melding: ' || TO_CHAR (m.mld_melding_key) || ' ' || sm.mld_stdmelding_omschrijving || ' - ' || ud2.fac_usrdata_omschr,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
dp1.mld_disc_params_emailnw3,
|
||
NULL
|
||
FROM fac_notificatie_job nj,
|
||
fac_tracking t,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_v_aanwezigkenmerkmelding km1,
|
||
mld_disc_params dp1,
|
||
mld_v_aanwezigkenmerkmelding km2,
|
||
fac_usrdata ud2
|
||
WHERE nj.fac_notificatie_job_view = 'IVET_V_NOTI_MLD_TRANSPORT'
|
||
--AND t.fac_srtnotificatie_key = 28 -- MLDUPD
|
||
AND t.fac_srtnotificatie_key = 783 -- MLDBHG
|
||
--AND INSTR (t.fac_tracking_oms, 'Behandelteam:') > 0
|
||
--AND INSTR (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, 'Behandelteam:')), ' --> ') > 0
|
||
--AND t.fac_tracking_datum >
|
||
-- (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
|
||
-- FROM fac_notificatie_job
|
||
-- WHERE fac_notificatie_job_view = 'IVET_V_NOTI_MLD_TRANSPORT')
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_melding_status IN (0, 2, 3, 4, 7, 99) -- Open meldingen
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key = 5642 -- Transportaanvraag 'regulier'/Transportaanvraag 'regulier'
|
||
AND m.mld_melding_key = km1.mld_melding_key
|
||
AND km1.mld_kenmerk_key = 28261 -- Bestemming transport
|
||
AND DECODE (km1.mld_kenmerkmelding_waarde,
|
||
'10541', 4121, -- Nederland -> BT-Nederland
|
||
'10542', 4123, -- Binnen EU (+UK) -> BT-Binnen Europa (+UK)
|
||
'10543', 4122, -- Buiten EU -> BT-Buiten Europa
|
||
-1) = dp1.mld_ins_discipline_key
|
||
AND m.mld_melding_key = km2.mld_melding_key
|
||
AND km2.mld_kenmerk_key =
|
||
DECODE (km1.mld_kenmerkmelding_waarde,
|
||
'10541', 28261, -- Nederland
|
||
'10542', 28309, -- Lidstaten EU
|
||
'10543', 28308, -- Wereldlanden
|
||
-1)
|
||
AND fac.safe_to_number (km2.mld_kenmerkmelding_waarde) = ud2.fac_usrdata_key(+)
|
||
AND NOT EXISTS -- Onderdrukken als andere BT later toegewezen
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE 1 = 1
|
||
--AND fac_srtnotificatie_key = 28 -- MLDUPD
|
||
AND fac_srtnotificatie_key = 783 -- MLDBHG
|
||
--AND INSTR (fac_tracking_oms, 'Behandelteam:') > 0
|
||
--AND INSTR (SUBSTR (fac_tracking_oms, INSTR (fac_tracking_oms, 'Behandelteam:')), ' --> ') > 0
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey
|
||
AND fac_tracking_key > t.fac_tracking_key)
|
||
UNION
|
||
SELECT 'CUST06',
|
||
NULL,
|
||
NULL,
|
||
'Nieuwe melding: ' || TO_CHAR (m.mld_melding_key) || ' ' || sm.mld_stdmelding_omschrijving || ' - ' || ud2.fac_usrdata_omschr,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
dp1.mld_disc_params_emailnw3,
|
||
NULL
|
||
FROM fac_notificatie_job nj,
|
||
fac_tracking t,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_v_aanwezigkenmerkmelding km1,
|
||
mld_disc_params dp1,
|
||
mld_v_aanwezigkenmerkmelding km2,
|
||
fac_usrdata ud2
|
||
WHERE nj.fac_notificatie_job_view = 'IVET_V_NOTI_MLD_TRANSPORT'
|
||
AND t.fac_srtnotificatie_key = 26 -- MLDNEW
|
||
--AND t.fac_tracking_datum >
|
||
-- (SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
|
||
-- FROM fac_notificatie_job
|
||
-- WHERE fac_notificatie_job_view = 'IVET_V_NOTI_MLD_TRANSPORT')
|
||
--AND t.fac_tracking_datum BETWEEN nj.fac_notificatie_job_nextrun - (nj.fac_notificatie_job_interval / 24) AND nj.fac_notificatie_job_nextrun
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_melding_status IN (0, 2, 3, 4, 7, 99) -- Open meldingen
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key = 5642 -- Transportaanvraag 'regulier'/Transportaanvraag 'regulier'
|
||
AND m.mld_melding_key = km1.mld_melding_key
|
||
AND km1.mld_kenmerk_key = 28261 -- Bestemming transport
|
||
--AND DECODE (km1.mld_kenmerkmelding_waarde,
|
||
-- '10541', 4121, -- Nederland -> BT-Nederland
|
||
-- '10542', 4123, -- Binnen EU (+UK) -> BT-Binnen Europa (+UK)
|
||
-- '10543', 4122, -- Buiten EU -> BT-Buiten Europa
|
||
-- -1) = dp1.mld_ins_discipline_key
|
||
AND m.mld_ins_discipline_key = dp1.mld_ins_discipline_key -- Toegewezen aan BT
|
||
AND m.mld_melding_key = km2.mld_melding_key
|
||
AND km2.mld_kenmerk_key =
|
||
DECODE (km1.mld_kenmerkmelding_waarde,
|
||
'10541', 28261, -- Nederland
|
||
'10542', 28309, -- Lidstaten EU
|
||
'10543', 28308, -- Wereldlanden
|
||
-1)
|
||
AND fac.safe_to_number (km2.mld_kenmerkmelding_waarde) = ud2.fac_usrdata_key(+)
|
||
AND NOT EXISTS -- Onderdrukken als andere BT later toegewezen
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE 1 = 1
|
||
--AND fac_srtnotificatie_key = 28 -- MLDUPD
|
||
AND fac_srtnotificatie_key = 783 -- MLDBHG
|
||
--AND INSTR (fac_tracking_oms, 'Behandelteam:') > 0
|
||
--AND INSTR (SUBSTR (fac_tracking_oms, INSTR (fac_tracking_oms, 'Behandelteam:')), ' --> ') > 0
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey
|
||
AND fac_tracking_key > t.fac_tracking_key);
|
||
|
||
-- IVET#28273:
|
||
-- Controleert per interval of er nieuwe transportaanvragen buiten EU zijn en stuurt deze naar gebruiker DistributionCoordination.
|
||
-- IVET#64921: Transport aanvraag met key=3181 vervallen en deze notificatiejob zou eigenlijk mogen/moeten worden verwijderd!
|
||
/*
|
||
CREATE OR REPLACE VIEW IVET_V_NOTI_MLD_TRANS_BUITENEU
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'CUST06',
|
||
NULL,
|
||
69501, -- DistributionCoordination-user
|
||
'Nieuwe melding: ' || TO_CHAR (m.mld_melding_key) || ' ' || sm.mld_stdmelding_omschrijving || ' - ' || ud.fac_usrdata_omschr,
|
||
m.mld_melding_key,
|
||
NULL
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
fac_usrdata ud
|
||
WHERE t.fac_srtnotificatie_key = 28 -- MLDUPD
|
||
AND INSTR (t.fac_tracking_oms, 'Behandelteam:') > 0
|
||
AND INSTR (SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, 'Behandelteam:')), ' --> ') > 0
|
||
AND t.fac_tracking_datum >
|
||
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
|
||
FROM fac_notificatie_job
|
||
WHERE fac_notificatie_job_view = 'IVET_V_NOTI_MLD_TRANS_BUITENEU')
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_melding_status IN (0, 2, 3, 4, 7, 99) -- Open meldingen
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key = 3181 -- R-Transportaanvraag buiten EU/Transportaanvraag buiten EU
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key = 13662 -- Wereldanden
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key;
|
||
*/
|
||
-- IVET#31601:
|
||
-- Controleert per interval of er nieuwe ADR transportaanvragen zijn en stuurt deze naar gebruiker DistributionCoordination.
|
||
-- IVET#64921: Transport aanvraag met key=3742 vervallen en notificatiejob omgebutst tbv. ADR transportaanvragen (met key=5641)!
|
||
CREATE OR REPLACE VIEW IVET_V_NOTI_MLD_ADR_TRANSPORT
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT 'CUST06',
|
||
NULL,
|
||
NULL,
|
||
'Nieuwe melding: ' || TO_CHAR (m.mld_melding_key) || ' ' || sm.mld_stdmelding_omschrijving || ' - ' || ud2.fac_usrdata_omschr,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
dp1.mld_disc_params_emailnw3,
|
||
NULL
|
||
FROM fac_notificatie_job nj,
|
||
fac_tracking t,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_v_aanwezigkenmerkmelding km1,
|
||
mld_disc_params dp1,
|
||
mld_v_aanwezigkenmerkmelding km2,
|
||
fac_usrdata ud2
|
||
WHERE nj.fac_notificatie_job_view = 'IVET_V_NOTI_MLD_ADR_TRANSPORT'
|
||
AND t.fac_srtnotificatie_key = 783 -- MLDBHG
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_melding_status IN (0, 2, 3, 4, 7, 99) -- Open meldingen
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key = 5641 -- Transportaanvraag 'Dangerous Goods'/Transportaanvraag 'Dangerous Goods'
|
||
AND m.mld_melding_key = km1.mld_melding_key
|
||
AND km1.mld_kenmerk_key = 27901 -- Bestemming transport
|
||
AND DECODE (km1.mld_kenmerkmelding_waarde,
|
||
'10541', 4124, -- Nederland -> BT-Nederland (ADR)
|
||
'10542', 4126, -- Binnen EU (+UK) -> BT-Binnen Europa (ADR)
|
||
'10543', 4125, -- Buiten EU -> BT-Buiten Europa (ADR)
|
||
-1) = dp1.mld_ins_discipline_key
|
||
AND m.mld_melding_key = km2.mld_melding_key
|
||
AND km2.mld_kenmerk_key =
|
||
DECODE (km1.mld_kenmerkmelding_waarde,
|
||
'10541', 27901, -- Nederland
|
||
'10542', 28041, -- Lidstaten EU
|
||
'10543', 28021, -- Wereldlanden
|
||
-1)
|
||
AND fac.safe_to_number (km2.mld_kenmerkmelding_waarde) = ud2.fac_usrdata_key(+)
|
||
AND NOT EXISTS -- Onderdrukken als andere BT later toegewezen
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 783 -- MLDBHG
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey
|
||
AND fac_tracking_key > t.fac_tracking_key)
|
||
UNION
|
||
SELECT 'CUST06',
|
||
NULL,
|
||
NULL,
|
||
'Nieuwe melding: ' || TO_CHAR (m.mld_melding_key) || ' ' || sm.mld_stdmelding_omschrijving || ' - ' || ud2.fac_usrdata_omschr,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
dp1.mld_disc_params_emailnw3,
|
||
NULL
|
||
FROM fac_notificatie_job nj,
|
||
fac_tracking t,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_v_aanwezigkenmerkmelding km1,
|
||
mld_disc_params dp1,
|
||
mld_v_aanwezigkenmerkmelding km2,
|
||
fac_usrdata ud2
|
||
WHERE nj.fac_notificatie_job_view = 'IVET_V_NOTI_MLD_ADR_TRANSPORT'
|
||
AND t.fac_srtnotificatie_key = 26 -- MLDNEW
|
||
AND t.fac_tracking_datum > nj.fac_notificatie_job_lastrun
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_melding_status IN (0, 2, 3, 4, 7, 99) -- Open meldingen
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key = 5641 -- Transportaanvraag 'Dangerous Goods'/Transportaanvraag 'Dangerous Goods'
|
||
AND m.mld_melding_key = km1.mld_melding_key
|
||
AND km1.mld_kenmerk_key = 27901 -- Bestemming transport
|
||
AND m.mld_ins_discipline_key = dp1.mld_ins_discipline_key -- Toegewezen aan BT
|
||
AND m.mld_melding_key = km2.mld_melding_key
|
||
AND km2.mld_kenmerk_key =
|
||
DECODE (km1.mld_kenmerkmelding_waarde,
|
||
'10541', 27901, -- Nederland
|
||
'10542', 28041, -- Lidstaten EU
|
||
'10543', 28021, -- Wereldlanden
|
||
-1)
|
||
AND fac.safe_to_number (km2.mld_kenmerkmelding_waarde) = ud2.fac_usrdata_key(+)
|
||
AND NOT EXISTS -- Onderdrukken als andere BT later toegewezen
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 783 -- MLDBHG
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey
|
||
AND fac_tracking_key > t.fac_tracking_key);
|
||
|
||
-- IVET#73159:
|
||
-- Controleert per dagdeel (om 11:00 en 15:00) of er nieuwe transportaanvragen
|
||
-- zijn toegewezen Binnen of Buiten Europa en stuurt vervolgens de meldingsbon
|
||
-- als CUST08-noti naar zowel de melder als shipplanning@merck.com.
|
||
-- Dus g<><67>n notificatie als toegewezen aan BT-Nederland/BT-Nederland (ADR)!
|
||
CREATE OR REPLACE VIEW IVET_V_NOTI_SHIP_BINBUI_EU
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT 'CUST08',
|
||
NULL,
|
||
NULL,
|
||
--Uw melding ##KEY## (##DISC##/##STDMLD##) is geregistreerd, -- MLDNEW-omschrijving
|
||
'Nieuwe melding: ' || TO_CHAR (m.mld_melding_key) || ' ' || sm.mld_stdmelding_omschrijving || ' - ' || ud2.fac_usrdata_omschr,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
p.prs_perslid_email || ';shipplanning@merck.com',
|
||
NULL
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_v_aanwezigkenmerkmelding km1,
|
||
mld_disc_params dp1,
|
||
mld_v_aanwezigkenmerkmelding km2,
|
||
fac_usrdata ud2,
|
||
prs_v_aanwezigperslid p
|
||
WHERE t.fac_srtnotificatie_key = 783 -- MLDBHG
|
||
AND t.fac_tracking_datum >
|
||
DECODE (
|
||
TO_CHAR (SYSDATE + 5 / 1440, 'HH24'),
|
||
'11', TO_DATE (TO_CHAR (SYSDATE - 1, 'dd-mm-yyyy') || ' 15:00', 'dd-mm-yyyy hh24:mi'),
|
||
'15', TO_DATE (TO_CHAR (SYSDATE, 'dd-mm-yyyy') || ' 11:00', 'dd-mm-yyyy hh24:mi'),
|
||
SYSDATE + 5 / 1440)
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_melding_status IN (0, 2, 3, 4, 7, 99) -- Open meldingen
|
||
AND m.mld_ins_discipline_key IN (4122, 4123, 4125, 4126) -- BT-Buiten Europa (+UK)/BT-Binnen Europa/BT-Buiten Europa (+UK) (ADR)/BT-Binnen Europa (ADR)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_key IN (5641, 5642) -- R-Transportaanvraag Dangerous Goods/R-Transportaanvraag Regulier
|
||
AND m.mld_melding_key = km1.mld_melding_key
|
||
AND km1.mld_kenmerk_key = 28261 -- Bestemming transport
|
||
AND DECODE (km1.mld_kenmerkmelding_waarde,
|
||
'10541', 4121, -- Nederland -> BT-Nederland
|
||
'10542', 4123, -- Binnen EU (+UK) -> BT-Binnen Europa (+UK)
|
||
'10543', 4122, -- Buiten EU -> BT-Buiten Europa
|
||
-1) = dp1.mld_ins_discipline_key
|
||
AND m.mld_melding_key = km2.mld_melding_key
|
||
AND km2.mld_kenmerk_key =
|
||
DECODE (km1.mld_kenmerkmelding_waarde,
|
||
'10541', 28261, -- Nederland
|
||
'10542', 28309, -- Lidstaten EU
|
||
'10543', 28308, -- Wereldlanden
|
||
-1)
|
||
AND fac.safe_to_number (km2.mld_kenmerkmelding_waarde) = ud2.fac_usrdata_key(+)
|
||
AND NOT EXISTS -- Onderdrukken als andere BT later toegewezen
|
||
(SELECT 1
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 783 -- MLDBHG
|
||
AND fac_tracking_refkey = t.fac_tracking_refkey
|
||
AND fac_tracking_key > t.fac_tracking_key)
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
;
|
||
|
||
-- IVET#29243
|
||
-- Controleert elk uur of er een reservering is gemaakt (=key 34), gewijzigd (=key 35) of verwijderd (=key 38)
|
||
-- op de activiteiten VC (=key 21) & No-VC meeting (=key 61) en stuurt deze naar het servicepoint (=key 28881)
|
||
CREATE OR REPLACE VIEW IVET_V_NOTI_VC_RESREMINDER
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'RESUPD',
|
||
NULL,
|
||
28881,
|
||
'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
|
||
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
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND res_activiteit_key IN (21, 61)
|
||
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 = 34
|
||
AND tr.fac_tracking_datum > SYSDATE - 1 / 24
|
||
UNION ALL
|
||
SELECT DISTINCT 'RESUPD',
|
||
NULL,
|
||
28881,
|
||
tr.fac_tracking_oms 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
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND res_activiteit_key IN (21, 61)
|
||
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 = 35
|
||
AND ( fac_tracking_oms LIKE '%gewijzigd%Ruimte:%'
|
||
OR fac_tracking_oms LIKE '%gewijzigd%Van:%'
|
||
OR fac_tracking_oms LIKE '%gewijzigd%Tot:%'
|
||
OR fac_tracking_oms LIKE '%adjusted%Room:%'
|
||
OR fac_tracking_oms LIKE '%adjusted%From:%'
|
||
OR fac_tracking_oms LIKE '%adjusted%Until:%')
|
||
AND tr.fac_tracking_datum > SYSDATE - 1 / 24
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
'RESUPD',
|
||
NULL,
|
||
28881,
|
||
'Reservering '
|
||
|| rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
|| ' ('
|
||
|| res_rsv_ruimte_van
|
||
|| ' - '
|
||
|| res_ruimte_nr
|
||
|| ') is op '
|
||
|| fac_tracking_datum
|
||
|| ' verwijderd door '
|
||
|| pf.prs_perslid_naam_full
|
||
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
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND res_activiteit_key IN (21, 61)
|
||
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 = 38
|
||
AND tr.fac_tracking_datum > SYSDATE - 1 / 24;
|
||
|
||
/* Formatted on 15-1-2016 17:00:30 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW ivet_v_rap_mld_telaat_window
|
||
(
|
||
hide_f_sortering,
|
||
prio,
|
||
html_nummer,
|
||
fclt_f_productgroep,
|
||
fclt_f_melding,
|
||
datum,
|
||
plaats,
|
||
omschrijving,
|
||
melder,
|
||
fclt_f_status,
|
||
fclt_f_overschrijding,
|
||
behandelaar,
|
||
einddatum
|
||
)
|
||
AS
|
||
WITH x
|
||
AS ( -- Lopende meldingen te laat opgepakt!
|
||
SELECT m.mld_melding_key, -1 acp, 0 afm
|
||
FROM mld_melding m, fac_tracking t
|
||
WHERE m.mld_melding_status NOT IN (5, 6, 1) -- 5-Afgemeld, 6-Verwerkt, 1-Afgewezen
|
||
AND m.fac_activiteit_key IS NULL
|
||
AND m.mld_melding_key = t.fac_tracking_refkey(+)
|
||
AND t.fac_srtnotificatie_key(+) = 21 -- MLDACP
|
||
AND m.mld_melding_acceptdatum_std < COALESCE (t.fac_tracking_datum, TRUNC (SYSDATE))
|
||
UNION -- Lopende meldingen te laat gesloten!
|
||
SELECT m.mld_melding_key, 0 acp, -1 afm
|
||
FROM mld_melding m, mld_stdmelding sm
|
||
WHERE m.mld_melding_status NOT IN (5, 6, 1) -- 5-Afgemeld, 6-Verwerkt, 1-Afgewezen
|
||
AND m.fac_activiteit_key IS NULL
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND DECODE (COALESCE (sm.mld_stdmelding_planbaar, 0), 0, m.mld_melding_einddatum_std, m.mld_melding_einddatum) < TRUNC (SYSDATE)
|
||
UNION -- Voorgaande 2 werkdagen gesloten meldingen te laat opgepakt of gesloten!
|
||
SELECT mldafm.mld_melding_key,
|
||
SIGN(mldafm.mld_melding_acceptdatum_std - COALESCE (mldacp.fac_tracking_datum, mldafm.fac_tracking_datum))
|
||
acp,
|
||
SIGN(DECODE (COALESCE (mldafm.mld_stdmelding_planbaar, 0), 0, mldafm.mld_melding_einddatum_std, mldafm.mld_melding_einddatum) - mldafm.fac_tracking_datum)
|
||
afm
|
||
FROM (SELECT m.mld_melding_key,
|
||
m.mld_melding_acceptdatum_std,
|
||
sm.mld_stdmelding_planbaar,
|
||
m.mld_melding_einddatum_std,
|
||
m.mld_melding_einddatum,
|
||
t.fac_tracking_datum
|
||
FROM fac_tracking t, mld_melding m, mld_stdmelding sm
|
||
WHERE t.fac_srtnotificatie_key IN (22, 27) -- MLDAFM/MLDREJ
|
||
AND t.fac_tracking_datum > TRUNC (SYSDATE - 7) -- Tbv. performance!
|
||
--AND fac.datumtijdplusuitvoertijd (t.fac_tracking_datum, 2, 'D') > TRUNC(SYSDATE)
|
||
AND fac.count_work_days (t.fac_tracking_datum, SYSDATE) <= 2 -- Exclusief SYSDATE!
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key) mldafm
|
||
LEFT JOIN
|
||
fac_tracking mldacp
|
||
ON mldafm.mld_melding_key = mldacp.fac_tracking_refkey
|
||
AND mldacp.fac_srtnotificatie_key = 21 -- MLDACP
|
||
WHERE (mldafm.mld_melding_acceptdatum_std < COALESCE (mldacp.fac_tracking_datum, mldafm.fac_tracking_datum)
|
||
OR DECODE (COALESCE (mldafm.mld_stdmelding_planbaar, 0), 0, mldafm.mld_melding_einddatum_std, mldafm.mld_melding_einddatum) < mldafm.fac_tracking_datum))
|
||
SELECT mld_melding_einddatum_std,
|
||
DECODE (m.mld_melding_spoed, 1, 'Kritisch', 2, 'Hoog', 3, 'Normaal', 'Laag')
|
||
prio,
|
||
--sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key),
|
||
'<a onclick=''FcltMgr.openDetail("appl/mld/mld_melding.asp?urole=fo&'
|
||
|| 'mld_key='
|
||
|| m.mld_melding_key
|
||
|| '")''>'
|
||
|| sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (m.mld_melding_key)
|
||
|| '</a>'
|
||
nummer,
|
||
md.ins_discipline_omschrijving,
|
||
sm.mld_stdmelding_omschrijving,
|
||
m.mld_melding_datum datum,
|
||
DECODE (
|
||
og.alg_type,
|
||
'R',
|
||
l.alg_locatie_code
|
||
|| '-'
|
||
|| og.alg_gebouw_code
|
||
|| '-'
|
||
|| og.alg_verdieping_code
|
||
|| '-'
|
||
|| og.alg_ruimte_nr
|
||
|| ' '
|
||
|| og.alg_ruimte_omschrijving,
|
||
'V',
|
||
l.alg_locatie_code
|
||
|| '-'
|
||
|| og.alg_gebouw_code
|
||
|| '-'
|
||
|| og.alg_verdieping_code,
|
||
'G',
|
||
l.alg_locatie_code || '-' || og.alg_gebouw_code,
|
||
'T',
|
||
l.alg_locatie_code || '-' || og.alg_terreinsector_code,
|
||
l.alg_locatie_code)
|
||
plaats,
|
||
m.mld_melding_omschrijving,
|
||
pm.prs_perslid_naam_full,
|
||
ms.mld_statuses_omschrijving,
|
||
DECODE (x.acp, -1, DECODE (x.afm, -1, 'Acc.+Uitv.', 'Acceptatie'), 'Uitvoering')
|
||
overschrijding,
|
||
pb.prs_perslid_naam_full,
|
||
m.mld_melding_einddatum_std einddatum
|
||
FROM x,
|
||
mld_melding m,
|
||
mld_statuses ms,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
alg_locatie l,
|
||
alg_v_onroerendgoed_gegevens og,
|
||
prs_v_perslid_fullnames_all pm,
|
||
prs_v_perslid_fullnames_all pb
|
||
WHERE x.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_melding_indult = 0
|
||
AND m.mld_melding_status = ms.mld_statuses_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_stdmelding_slabewaken = 1
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
|
||
AND m.prs_perslid_key_voor = pm.prs_perslid_key
|
||
AND m.mld_melding_behandelaar_key = pb.prs_perslid_key(+);
|
||
|
||
-- IVET#34141 10 maandelijkse reminder tbv AMI meldingen
|
||
CREATE OR REPLACE VIEW IVET_V_NOTI_MLD_AMI
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT 'MLDINF',
|
||
NULL,
|
||
82761, -- User AMI
|
||
'LET OP: Bewaartermijn overschreden (R'
|
||
|| m.mld_melding_key
|
||
|| ')',
|
||
m.mld_melding_key,
|
||
NULL
|
||
FROM mld_melding m, mld_stdmelding std
|
||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = 1761
|
||
AND m.mld_melding_status != 1
|
||
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE - 305);
|
||
|
||
|
||
-- IVET#38124 rapport bo klussen lijst
|
||
-- -- 2881 = bo verhuizingen, 19001 = handyman
|
||
-- Kenmerken zijn verschillende soort kenmerken Naam, Van, Contactpersoon, Telefoon met een volgnummer
|
||
CREATE OR REPLACE VIEW ivet_v_rap_mldklussen
|
||
(
|
||
soort,
|
||
melding,
|
||
omschrijving,
|
||
datum,
|
||
naam,
|
||
van,
|
||
naar,
|
||
contactpersoon,
|
||
telnr,
|
||
meubilair,
|
||
gewenste_bureauhoogte,
|
||
werkaanvraagnummer,
|
||
opmerking,
|
||
gereed
|
||
)
|
||
AS
|
||
SELECT '0. Leeg' soort,
|
||
NULL melding,
|
||
NULL omschrijving,
|
||
NULL datum,
|
||
NULL naam,
|
||
NULL van,
|
||
NULL naar,
|
||
NULL contactpersoon,
|
||
NULL telnr,
|
||
NULL meubilair,
|
||
NULL gewenste_bureauhoogte,
|
||
NULL werkaanvraagnummerr,
|
||
NULL opmerking,
|
||
NULL gereed
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '1. Verhuizing BO' soort,
|
||
'R' || m.mld_melding_key melding,
|
||
m.mld_melding_opmerking omschrijving,
|
||
(SELECT TO_DATE (mld_kenmerkmelding_waarde, 'DD-MM-YYYY')
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_melding_key = m2.mld_melding_key
|
||
AND km.mld_kenmerk_key = 11961)
|
||
datum,
|
||
(SELECT mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k2
|
||
WHERE km.mld_melding_key = m2.mld_melding_key
|
||
AND km.mld_kenmerk_key = k2.mld_kenmerk_key
|
||
AND k2.mld_srtkenmerk_key IN
|
||
(7141,
|
||
7142,
|
||
7143,
|
||
7144,
|
||
7145,
|
||
7146,
|
||
7147,
|
||
7148,
|
||
7149)
|
||
AND k2.mld_kenmerk_groep = m2.mld_kenmerk_groep)
|
||
naam,
|
||
(SELECT mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k2
|
||
WHERE km.mld_melding_key = m2.mld_melding_key
|
||
AND km.mld_kenmerk_key = k2.mld_kenmerk_key
|
||
AND k2.mld_srtkenmerk_key IN
|
||
(7186,
|
||
7187,
|
||
7063,
|
||
7183,
|
||
7185,
|
||
7188,
|
||
7189,
|
||
7190,
|
||
7191)
|
||
AND k2.mld_kenmerk_groep = m2.mld_kenmerk_groep)
|
||
van,
|
||
(SELECT mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k2
|
||
WHERE km.mld_melding_key = m2.mld_melding_key
|
||
AND km.mld_kenmerk_key = k2.mld_kenmerk_key
|
||
AND k2.mld_srtkenmerk_key IN
|
||
(7203,
|
||
7204,
|
||
7205,
|
||
7206,
|
||
7207,
|
||
7208,
|
||
7209,
|
||
7064,
|
||
7202)
|
||
AND k2.mld_kenmerk_groep = m2.mld_kenmerk_groep)
|
||
naar,
|
||
(SELECT mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_melding_key = m2.mld_melding_key
|
||
AND km.mld_kenmerk_key = 11962)
|
||
contactpersoon,
|
||
(SELECT mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k2
|
||
WHERE km.mld_melding_key = m2.mld_melding_key
|
||
AND km.mld_kenmerk_key = k2.mld_kenmerk_key
|
||
AND k2.mld_srtkenmerk_key IN
|
||
(7192,
|
||
7193,
|
||
7194,
|
||
7195,
|
||
7197,
|
||
7198,
|
||
7199,
|
||
7200,
|
||
7201)
|
||
AND k2.mld_kenmerk_groep = m2.mld_kenmerk_groep)
|
||
telnr,
|
||
(SELECT mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k2
|
||
WHERE km.mld_melding_key = m2.mld_melding_key
|
||
AND km.mld_kenmerk_key = k2.mld_kenmerk_key
|
||
AND k2.mld_srtkenmerk_key IN
|
||
(7103,
|
||
7150,
|
||
7151,
|
||
7152,
|
||
7153,
|
||
7154,
|
||
7155,
|
||
7156,
|
||
7157)
|
||
AND k2.mld_kenmerk_groep = m2.mld_kenmerk_groep)
|
||
meubilair,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k2, fac_usrdata fu
|
||
WHERE km.mld_melding_key = m2.mld_melding_key
|
||
AND km.mld_kenmerk_key = k2.mld_kenmerk_key
|
||
AND k2.mld_srtkenmerk_key IN
|
||
(7481,
|
||
7482,
|
||
7483,
|
||
7484,
|
||
7485,
|
||
7486,
|
||
7486,
|
||
7487,
|
||
7488)
|
||
AND k2.mld_kenmerk_groep = m2.mld_kenmerk_groep
|
||
AND fu.fac_usrtab_key = 3201
|
||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde)
|
||
gewenste_bureauhoogte,
|
||
(SELECT mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_melding_key = m2.mld_melding_key
|
||
AND km.mld_kenmerk_key = 7210)
|
||
werkaanvraagnummerr,
|
||
NULL opmerking,
|
||
NULL gereed
|
||
FROM (SELECT DISTINCT mld_melding_key, k.mld_kenmerk_groep
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND mld_kenmerk_groep > 0) m2,
|
||
mld_melding m
|
||
WHERE m2.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = 2881
|
||
AND m.mld_melding_status IN (0, 2, 3, 99, 4, 7)
|
||
UNION ALL
|
||
SELECT '2. Handymanactiviteiten',
|
||
'R' || m.mld_melding_key melding,
|
||
m.mld_melding_opmerking,
|
||
(SELECT TO_DATE (mld_kenmerkmelding_waarde, 'DD-MM-YYYY')
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_key = 19001)
|
||
datum,
|
||
p.prs_perslid_naam,
|
||
NULL vanl,
|
||
aog.alg_plaatsaanduiding naar,
|
||
(SELECT mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_key = 19081)
|
||
contactpersoon,
|
||
COALESCE (prs_perslid_telefoonnr, prs_perslid_mobiel) telnr,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m, prs_perslid p, alg_v_onroerendgoed_gegevens aog
|
||
WHERE mld_stdmelding_key = 216
|
||
AND m.mld_melding_status IN (0, 2, 3, 99, 4, 7)
|
||
AND m.prs_perslid_key = p.prs_perslid_key
|
||
AND aog.alg_onroerendgoed_keys = m.mld_alg_onroerendgoed_keys;
|
||
|
||
CREATE OR REPLACE VIEW ivet_v_rap_mldkenmerk_gebruik
|
||
AS
|
||
SELECT mld_kenmerk_key key,
|
||
'Kenmerk' soort,
|
||
niveau,
|
||
sk.mld_srtkenmerk_omschrijving omschrijving,
|
||
mld_stdmelding_key melding_key,
|
||
mld_stdmelding_omschrijving melding_omschrijving,
|
||
ins_discipline_key vakgroep_key,
|
||
ins_discipline_omschrijving vakgroep_omschrijving,
|
||
ins_srtdiscipline_key vakgroeptype_key,
|
||
ins_srtdiscipline_omschrijving vakgroeptype_omschrijving,
|
||
COALESCE (
|
||
NVL2 (mld_stdmelding_verwijder, 'Melding verwijderd', NULL),
|
||
NVL2 (ins_discipline_verwijder, 'Vakgroep verwijderd', NULL),
|
||
NVL2 (ins_srtdiscipline_verwijder,
|
||
'Vakgroeptype verwijderd',
|
||
NULL),
|
||
NVL2 (mld_srtkenmerk_verwijder, 'Kenmerksoort verwijderd', NULL),
|
||
NULL)
|
||
opmerking
|
||
FROM (SELECT mld_kenmerk_key,
|
||
'Vakgroeptype' niveau,
|
||
mld_srtkenmerk_key,
|
||
NULL mld_stdmelding_key,
|
||
NULL mld_stdmelding_omschrijving,
|
||
NULL mld_stdmelding_vervaldatum,
|
||
NULL mld_stdmelding_verwijder,
|
||
NULL ins_discipline_key,
|
||
NULL ins_discipline_omschrijving,
|
||
NULL ins_discipline_verwijder,
|
||
isd.ins_srtdiscipline_key,
|
||
ins_srtdiscipline_omschrijving,
|
||
ins_srtdiscipline_verwijder
|
||
FROM mld_kenmerk mk, ins_srtdiscipline isd
|
||
WHERE mld_kenmerk_verwijder IS NULL
|
||
AND mld_kenmerk_niveau = 'T'
|
||
AND mk.mld_stdmelding_key = isd.ins_srtdiscipline_key
|
||
UNION ALL
|
||
SELECT mld_kenmerk_key,
|
||
'Vakgroep' niveau,
|
||
mld_srtkenmerk_key,
|
||
NULL mld_stdmelding_key,
|
||
NULL mld_stdmelding_omschrijving,
|
||
NULL mld_stdmelding_vervaldatum,
|
||
NULL mld_stdmelding_verwijder,
|
||
d.ins_discipline_key,
|
||
d.ins_discipline_omschrijving,
|
||
d.ins_discipline_verwijder,
|
||
isd.ins_srtdiscipline_key,
|
||
ins_srtdiscipline_omschrijving,
|
||
ins_srtdiscipline_verwijder
|
||
FROM mld_kenmerk mk, mld_discipline d, ins_srtdiscipline isd
|
||
WHERE mld_kenmerk_verwijder IS NULL
|
||
AND mld_kenmerk_niveau = 'D'
|
||
AND mk.mld_stdmelding_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
|
||
UNION ALL
|
||
SELECT mld_kenmerk_key,
|
||
'Melding' niveau,
|
||
mld_srtkenmerk_key,
|
||
std.mld_stdmelding_key,
|
||
std.mld_stdmelding_omschrijving,
|
||
std.mld_stdmelding_vervaldatum,
|
||
std.mld_stdmelding_verwijder,
|
||
d.ins_discipline_key,
|
||
d.ins_discipline_omschrijving,
|
||
d.ins_discipline_verwijder,
|
||
isd.ins_srtdiscipline_key,
|
||
ins_srtdiscipline_omschrijving,
|
||
ins_srtdiscipline_verwijder
|
||
FROM mld_kenmerk mk,
|
||
mld_discipline d,
|
||
ins_srtdiscipline isd,
|
||
mld_stdmelding std
|
||
WHERE mld_kenmerk_verwijder IS NULL
|
||
AND mld_kenmerk_niveau = 'S'
|
||
AND mk.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = isd.ins_srtdiscipline_key) k,
|
||
mld_srtkenmerk sk
|
||
WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND ( sk.mld_srtkenmerk_verwijder IS NOT NULL
|
||
OR k.mld_stdmelding_verwijder IS NOT NULL
|
||
OR k.ins_discipline_verwijder IS NOT NULL
|
||
OR k.ins_srtdiscipline_verwijder IS NOT NULL)
|
||
UNION ALL
|
||
SELECT key,
|
||
soort,
|
||
NULL niveau,
|
||
omschrijving,
|
||
NULL melding_key,
|
||
NULL melding_omschrijving,
|
||
NULL vakgroep_key,
|
||
NULL vakgroep_omschrijving,
|
||
NULL vakgroeptype_key,
|
||
NULL vakgroeptype_omschrijving,
|
||
opmerking
|
||
FROM (SELECT mld_srtkenmerk_key key,
|
||
'Kenmerksoort' soort,
|
||
mld_srtkenmerk_omschrijving omschrijving,
|
||
'Geen kenmerken voor deze kenmerksoort' opmerking
|
||
FROM mld_srtkenmerk
|
||
WHERE mld_srtkenmerk_verwijder IS NULL
|
||
AND mld_srtkenmerk_key NOT IN
|
||
(SELECT mld_srtkenmerk_key
|
||
FROM mld_kenmerk
|
||
WHERE mld_kenmerk_verwijder IS NULL)
|
||
UNION ALL
|
||
SELECT fac_usrtab_key,
|
||
'Eigen tabel',
|
||
fac_usrtab_naam,
|
||
'Geen kenmerkdomeinen voor deze Eigen tabel'
|
||
FROM fac_usrtab
|
||
WHERE fac_usrtab_verwijder IS NULL
|
||
AND fac_usrtab_key NOT IN
|
||
(SELECT fac_usrtab_key
|
||
FROM fac_kenmerkdomein
|
||
WHERE fac_kenmerkdomein_verwijder IS NULL)
|
||
UNION ALL
|
||
SELECT fac_kenmerkdomein_key,
|
||
'Kenmerkdomein',
|
||
fac_kenmerkdomein_omschrijving,
|
||
'Geen kenmerksoorten voor dit Kenmerkdomein'
|
||
FROM fac_kenmerkdomein
|
||
WHERE fac_kenmerkdomein_verwijder IS NULL
|
||
AND fac_kenmerkdomein_xmlnode = 'MLD'
|
||
AND fac_kenmerkdomein_key NOT IN
|
||
(SELECT fac_kenmerkdomein_key
|
||
FROM mld_srtkenmerk
|
||
WHERE mld_srtkenmerk_verwijder IS NULL));
|
||
|
||
CREATE OR REPLACE VIEW ivet_v_rap_bmc_noscan
|
||
(
|
||
omschrijving,
|
||
controledatumlaatst,
|
||
datum
|
||
)
|
||
AS
|
||
SELECT
|
||
d.ins_deel_omschrijving,
|
||
MAX (dsc.ins_deelsrtcontrole_datum) KEEP (DENSE_RANK LAST ORDER BY dsc.ins_deel_key) last_controle_datum,
|
||
SYSDATE
|
||
FROM ins_deelsrtcontrole dsc, ins_deel d, prs_perslid pr
|
||
WHERE dsc.ins_srtcontrole_key = 310 --Periodieke controletaak BMC bij Objectsoort Brandmeldcentrale (Discipline = Reserveringen; Objectgroep = Brandmeldcentrale)
|
||
AND dsc.ins_deel_key = d.ins_deel_key
|
||
AND (select MAX (TRUNC(dsc.ins_deelsrtcontrole_datum)) from ins_deelsrtcontrole dsc where d.ins_deel_key = dsc.ins_deel_key) < TRUNC (SYSDATE) - 1
|
||
GROUP BY dsc.ins_deel_key, d.ins_deel_omschrijving;
|
||
|
||
CREATE OR REPLACE VIEW ivet_v_noti_bmc_noscan
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST03' AS CODE,
|
||
NULL,
|
||
98001, -- Persoon _Security, voor de emailadressen
|
||
'Attentie: bijgevoegde brandmeldcentrales zijn niet gescand',
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE fac_usrrap_view_name = 'IVET_V_RAP_BMC_NOSCAN') rapportnr,
|
||
NULL
|
||
FROM IVET_V_RAP_BMC_NOSCAN;
|
||
|
||
|
||
|
||
------ View voor controleren op OSLOGIN(Alternatieve inlognaam) ------
|
||
CREATE OR REPLACE VIEW IVET_V_PERSLID_OSLOGIN
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_NAAM_FULL,
|
||
PRS_PERSLID_NAAM_FRIENDLY,
|
||
PRS_PERSLID_OSLOGIN2,
|
||
PRS_AFDELING_KEY,
|
||
PRS_PERSLID_EMAIL,
|
||
PRS_PERSLID_TELEFOONNR,
|
||
ALG_GEBOUW_OMSCHRIJVING,
|
||
PRS_PERSLID_NR,
|
||
PRS_KOSTENPLAATS_OMSCHRIJVING
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_naam
|
||
|| DECODE (p.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || p.prs_perslid_voorletters)
|
||
|| DECODE (p.prs_perslid_tussenvoegsel,
|
||
NULL, '',
|
||
' ' || p.prs_perslid_tussenvoegsel)
|
||
|| DECODE (p.prs_perslid_voornaam,
|
||
NULL, '',
|
||
' (' || p.prs_perslid_voornaam || ')')
|
||
prs_perslid_naam_full,
|
||
DECODE (p.prs_perslid_voornaam,
|
||
NULL, '',
|
||
p.prs_perslid_voornaam || ' ')
|
||
|| DECODE (p.prs_perslid_tussenvoegsel,
|
||
NULL, '',
|
||
p.prs_perslid_tussenvoegsel || ' ')
|
||
|| prs_perslid_naam
|
||
prs_perslid_naam_friendly,
|
||
p.prs_perslid_oslogin2,
|
||
p.prs_afdeling_key,
|
||
p.prs_perslid_email,
|
||
p.prs_perslid_telefoonnr,
|
||
w.ALG_GEBOUW_OMSCHRIJVING,
|
||
p.prs_perslid_nr,
|
||
k.PRS_KOSTENPLAATS_OMSCHRIJVING
|
||
FROM prs_v_perslidwerkplek_gegevens w,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_kostenplaats k
|
||
WHERE p.prs_perslid_key = w.prs_perslid_key
|
||
AND p.prs_perslid_oslogin2 IS NOT NULL
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key;
|
||
|
||
-- IVET#52961 Rapport voor afhandeling periodieke taken (in eerste instantie voor brandmeldcentrales)
|
||
CREATE OR REPLACE VIEW ivet_v_rap_tasks
|
||
AS
|
||
SELECT
|
||
disc.ins_discipline_omschrijving AS Discipline,
|
||
sg.ins_srtgroep_omschrijving AS Groep,
|
||
sd.ins_srtdeel_omschrijving AS Objectsoort,
|
||
d.ins_deel_omschrijving AS Objectomschrijving,
|
||
sc.ins_srtcontrole_omschrijving AS Taak,
|
||
TRUNC(dsc.ins_deelsrtcontrole_datum_org) AS Controle_datum,
|
||
TRUNC(dsc.ins_deelsrtcontrole_datum) AS Datum_uitvoer,
|
||
TO_CHAR(dsc.ins_deelsrtcontrole_datum , 'HH24:MI' ) AS Tijd_uitvoer,
|
||
(SELECT cm.ins_controlemode_oms
|
||
FROM ins_controlemode cm
|
||
WHERE cm.ins_controlemode_key = dsc.ins_controlemode_key) AS Status,
|
||
dsc.ins_deelsrtcontrole_opmerking AS Opmerking
|
||
FROM
|
||
ins_deelsrtcontrole dsc,
|
||
ins_srtcontrole sc,
|
||
ins_deel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline disc
|
||
WHERE
|
||
dsc.ins_deel_key = d.ins_deel_key
|
||
AND dsc.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND disc.ins_discipline_key = sg.ins_discipline_key
|
||
ORDER BY
|
||
disc.ins_discipline_omschrijving,
|
||
sg.ins_srtgroep_omschrijving,
|
||
sd.ins_srtdeel_omschrijving,
|
||
d.ins_deel_omschrijving,
|
||
sc.ins_srtcontrole_omschrijving,
|
||
dsc.ins_deelsrtcontrole_datum_org DESC;
|
||
|
||
-- IVET#63202: Contractor inspectie rapportage.
|
||
/*
|
||
1. Lijngrafiek over de laatste 12 (uitvoer)maanden met het totaal aantal CIFs per maand.
|
||
|
||
2a. Staafgrafiek met totaal aantal CIFs per (uitvoer)maand met per staaf een gekleurd deel per afdeling voor de geselecteerde periode.
|
||
2b. Staafgrafiek met totaal aantal CIFs per firma voor de geselecteerde periode.
|
||
|
||
3. Staafgrafiek met totaal aantal CIFs per (uitvoer)maand/categorie met daarin een groen deel voor de positieve CIFs en een rood deel voor de negatieve CIFs, dus een staaf per (uitvoer)maand/categorie voor de geselecteerde periode.
|
||
|
||
4a. Staafgrafiek met totaal aantal CIFs per (uitvoer)maand/firma met daarin een groen deel voor de positieve CIFs en een rood deel voor de negatieve CIFs, dus een staaf per (uitvooer)maand/firma voor de geselecteerde periode/firma.
|
||
4b. Staafgrafiek met top-10 aantal negatieve CIFs per firma voor de geselecteerde periode/firma.
|
||
[4c. Staafgrafiek met top-10 aantal positieve CIFs per firma voor de geselecteerde periode/firma.]
|
||
|
||
5. Staafgrafiek met totaal aantal *negatieve* CIFs per (uitvoer)maand/firma/categorie (zonder daarin een groen deel voor de positieve CIFs en een rood deel voor de negatieve CIFs!!!), dus een staaf per (uitvoer)maand/firma/categorie voor de geselecteerde periode/firma.
|
||
|
||
6. Lijst met per verstrekkende afdeling het aantal CIFs voor/over de 10 slechtst presterende firma's voor de geselecteerde periode (met langs x-as de afdelingen en langs y-as de firma's).
|
||
|
||
Dus totaal 8 (of 9) presentaties inrichten op basis van bij voorkeur 1 (maar misschien meer) te realiseren bron-rapportages. Naast de afstemming tot nu toe, moet je daarbij denken aan zo'n 12-16 uur.
|
||
*/
|
||
/*
|
||
(
|
||
hide_f_sortering,
|
||
periode, -- Jaar/maand in formaat yyyy-mm
|
||
afdelingscode,
|
||
afdelingsnaam,
|
||
firmanaam,
|
||
aant, -- Aantal inspecties per firma (=Firmanaam hoofdcontractor) Hij wil inzicht hoeveel inspecties er voor een firma zijn ingezet
|
||
aant_afd, -- Aantallen per afdeling (= Afdeling Opdrachtverstrekker) Hij wil dus inzicht hoeveel rapportages er in een periode ingezet zijn voor bijvoorbeeld FM of GES etc.)
|
||
aant_neg, -- Aantal negatieve bevindingen per firma van totaal
|
||
tot_gen_cat, -- Aantal negatieve bevindingen per categorie van totaal (1. Start vereisten - 2. Orde / netheid - 3. Werkzaamheden ...-> t/m 10. Milieu)
|
||
-- 1 t/m 10
|
||
aant_neg_cat, -- Aantal negatieve bevindingen per categorie per firma van totaal
|
||
-- 1 t/m 10
|
||
)
|
||
*/
|
||
CREATE OR REPLACE VIEW ivet_v_rap_mld_cif -- Bron-rapportage met alle CIF-meldingen!
|
||
AS
|
||
SELECT x.mld_melding_key,
|
||
DECODE (dat.mld_kenmerkmelding_waarde,
|
||
NULL, TO_CHAR (x.mldnew, 'yyyy-mm'),
|
||
SUBSTR (dat.mld_kenmerkmelding_waarde, 7, 4) || '-' || SUBSTR (dat.mld_kenmerkmelding_waarde, 4, 2))
|
||
maand, -- Als er geen datum is, dan aanmaakmaand=MLDNEW!
|
||
COALESCE (fac.safe_to_date (dat.mld_kenmerkmelding_waarde, 'dd-mm-yyyy'), x.mldnew) dat, -- Als er geen datum is, dan aanmaakdatum=MLDNEW!
|
||
COALESCE (fhc_ud.fac_usrdata_omschr, 'ONBEKEND') fhc, -- Als er geen hoofdcontractor is, dan 'ONBEKEND'!
|
||
COALESCE (afd_ud.fac_usrdata_omschr, 'Onbekend') afd, -- Als er geen opdrachtverstrekker is, dan 'Onbekend'!
|
||
mcp.mld_kenmerkmelding_waarde mcp,
|
||
fsc.mld_kenmerkmelding_waarde fsc,
|
||
geb.mld_kenmerkmelding_waarde geb,
|
||
COALESCE (hfd1_sv.cnt, 0) hfd1_cnt,
|
||
COALESCE (hfd1_sv.pos, 0) hfd1_pos,
|
||
COALESCE (hfd1_sv.neg, 0) hfd1_neg,
|
||
COALESCE (hfd2_on.cnt, 0) hfd2_cnt,
|
||
COALESCE (hfd2_on.pos, 0) hfd2_pos,
|
||
COALESCE (hfd2_on.neg, 0) hfd2_neg,
|
||
COALESCE (hfd3_wz.cnt, 0) hfd3_cnt,
|
||
COALESCE (hfd3_wz.pos, 0) hfd3_pos,
|
||
COALESCE (hfd3_wz.neg, 0) hfd3_neg,
|
||
COALESCE (hfd4_np.cnt, 0) hfd4_cnt,
|
||
COALESCE (hfd4_np.pos, 0) hfd4_pos,
|
||
COALESCE (hfd4_np.neg, 0) hfd4_neg,
|
||
COALESCE (hfd5_bp.cnt, 0) hfd5_cnt,
|
||
COALESCE (hfd5_bp.pos, 0) hfd5_pos,
|
||
COALESCE (hfd5_bp.neg, 0) hfd5_neg,
|
||
COALESCE (hfd6_gs.cnt, 0) hfd6_cnt,
|
||
COALESCE (hfd6_gs.pos, 0) hfd6_pos,
|
||
COALESCE (hfd6_gs.neg, 0) hfd6_neg,
|
||
COALESCE (hfd7_pbm.cnt, 0) hfd7_cnt,
|
||
COALESCE (hfd7_pbm.pos, 0) hfd7_pos,
|
||
COALESCE (hfd7_pbm.neg, 0) hfd7_neg,
|
||
COALESCE (hfd8_mg.cnt, 0) hfd8_cnt,
|
||
COALESCE (hfd8_mg.pos, 0) hfd8_pos,
|
||
COALESCE (hfd8_mg.neg, 0) hfd8_neg,
|
||
COALESCE (hfd9_hr.cnt, 0) hfd9_cnt,
|
||
COALESCE (hfd9_hr.pos, 0) hfd9_pos,
|
||
COALESCE (hfd9_hr.neg, 0) hfd9_neg,
|
||
COALESCE (hfd10_m.cnt, 0) hfd10_cnt,
|
||
COALESCE (hfd10_m.pos, 0) hfd10_pos,
|
||
COALESCE (hfd10_m.neg, 0) hfd10_neg
|
||
FROM (SELECT mld_melding_key, fac.gettrackingdate ('MLDNEW', mld_melding_key) mldnew
|
||
FROM mld_melding
|
||
WHERE mld_stdmelding_key = 4741) x -- Contractor inspectie formulier
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding dat -- Datum
|
||
ON x.mld_melding_key = dat.mld_melding_key
|
||
AND dat.mld_kenmerk_key = 20285
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding fhc -- Firmanaam hoofdcontractor (Soort 24961)
|
||
ON x.mld_melding_key = fhc.mld_melding_key
|
||
AND fhc.mld_kenmerk_key = 24961
|
||
LEFT JOIN fac_usrdata fhc_ud
|
||
ON fac.safe_to_number (fhc.mld_kenmerkmelding_waarde) = fhc_ud.fac_usrdata_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding afd -- Afdeling opdrachtverstrekker (Soort 24421)
|
||
ON x.mld_melding_key = afd.mld_melding_key
|
||
AND afd.mld_kenmerk_key = 24421
|
||
LEFT JOIN fac_usrdata afd_ud
|
||
ON fac.safe_to_number (afd.mld_kenmerkmelding_waarde) = afd_ud.fac_usrdata_key
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding mcp -- MSD Contactpersoon (Soort 20283)
|
||
ON x.mld_melding_key = mcp.mld_melding_key
|
||
AND mcp.mld_kenmerk_key = 20283
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding fsc -- Firma naam (sub contractor) (Soort 24121)
|
||
ON x.mld_melding_key = fsc.mld_melding_key
|
||
AND fsc.mld_kenmerk_key = 24121
|
||
LEFT JOIN mld_v_aanwezigkenmerkmelding geb -- Locatie / gebouw (Soort 20286)
|
||
ON x.mld_melding_key = geb.mld_melding_key
|
||
AND geb.mld_kenmerk_key = 20286
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (20421, 20322, 20323, 20324)
|
||
GROUP BY mld_melding_key) hfd1_sv -- Start vereisten
|
||
ON x.mld_melding_key = hfd1_sv.mld_melding_key
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (20326, 20327, 20341, 20361, 25941)
|
||
GROUP BY mld_melding_key) hfd2_on -- Orde / Netheid
|
||
ON x.mld_melding_key = hfd2_on.mld_melding_key
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (20328, 20330, 20343, 20481, 24206, 24201, 24202, 24203, 24204, 24205)
|
||
GROUP BY mld_melding_key) hfd3_wz -- Werkzaamheden
|
||
ON x.mld_melding_key = hfd3_wz.mld_melding_key
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (24241, 24242, 24243)
|
||
GROUP BY mld_melding_key) hfd4_np -- Noodprocedures
|
||
ON x.mld_melding_key = hfd4_np.mld_melding_key
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (24262, 24263, 25961)
|
||
GROUP BY mld_melding_key) hfd5_bp -- Brand Preventie
|
||
ON x.mld_melding_key = hfd5_bp.mld_melding_key
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (24264, 24265, 24266, 24267)
|
||
GROUP BY mld_melding_key) hfd6_gs -- Opslag gevaarlijke stoffen
|
||
ON x.mld_melding_key = hfd6_gs.mld_melding_key
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (24321, 24322)
|
||
GROUP BY mld_melding_key) hfd7_pbm -- PBMs
|
||
ON x.mld_melding_key = hfd7_pbm.mld_melding_key
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (24341, 24361, 24363, 24364, 24365)
|
||
GROUP BY mld_melding_key) hfd8_mg -- Materieel / Gereedschap
|
||
ON x.mld_melding_key = hfd8_mg.mld_melding_key
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (24382, 24383, 24384, 24385, 24386, 24387, 24388, 24389)
|
||
GROUP BY mld_melding_key) hfd9_hr -- Hoog Risico werk
|
||
ON x.mld_melding_key = hfd9_hr.mld_melding_key
|
||
LEFT JOIN ( SELECT mld_melding_key, COUNT ( * ) cnt, SUM (DECODE (mld_kenmerkmelding_waarde, '1', 1, '9261', 1, 0)) pos, SUM (DECODE (mld_kenmerkmelding_waarde, '2', 1, '9262', 1, 0)) neg
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (24391)
|
||
GROUP BY mld_melding_key) hfd10_m -- Milieu
|
||
ON x.mld_melding_key = hfd10_m.mld_melding_key
|
||
--WHERE COALESCE (SUBSTR (dat.mld_kenmerkmelding_waarde, 7), TO_CHAR (x.mldnew, 'yyyy')) > '2018' -- Die ene melding uit 2018 niet meenemen!
|
||
--WHERE x.mld_melding_key > 14000 -- Die ene melding (135147) uit 2018 niet meenemen!
|
||
;
|
||
|
||
-- Staafgrafiek met totaal aantal CIFs per categorie met daarin een groen deel voor de positieve CIFs en een rood deel voor de negatieve CIFs, dus een staaf per categorie voor de geselecteerde periode.
|
||
CREATE OR REPLACE VIEW IVET_V_RAP_CIF_CAT_PN_GP
|
||
(
|
||
MELDING_KEY,
|
||
DATUM,
|
||
AFDELING,
|
||
FIRMA,
|
||
CATEGORIE,
|
||
POSITIEF,
|
||
NEGATIEF
|
||
)
|
||
AS
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'01. Start vereisten' cat,
|
||
hfd1_pos positief,
|
||
hfd1_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd1_cnt > 0
|
||
UNION ALL
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'02. Orde / Netheid' cat,
|
||
hfd2_pos positief,
|
||
hfd2_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd2_cnt > 0
|
||
UNION ALL
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'03. Werkzaamheden' cat,
|
||
hfd3_pos positief,
|
||
hfd3_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd3_cnt > 0
|
||
UNION ALL
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'04. Noodprocedures' cat,
|
||
hfd4_pos positief,
|
||
hfd4_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd4_cnt > 0
|
||
UNION ALL
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'05. Brand Preventie' cat,
|
||
hfd5_pos positief,
|
||
hfd5_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd5_cnt > 0
|
||
UNION ALL
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'06. Opslag gevaarlijke stoffen' cat,
|
||
hfd6_pos positief,
|
||
hfd6_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd6_cnt > 0
|
||
UNION ALL
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'07. PBMs' cat,
|
||
hfd7_pos positief,
|
||
hfd7_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd7_cnt > 0
|
||
UNION ALL
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'08. Materieel / Gereedschap' cat,
|
||
hfd8_pos positief,
|
||
hfd8_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd8_cnt > 0
|
||
UNION ALL
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'09. Hoog Risico werk' cat,
|
||
hfd9_pos positief,
|
||
hfd9_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd9_cnt > 0
|
||
UNION ALL
|
||
SELECT mld_melding_key,
|
||
dat,
|
||
afd,
|
||
fhc,
|
||
'10. Milieu' cat,
|
||
hfd10_pos positief,
|
||
hfd10_neg negatief
|
||
FROM ivet_v_rap_mld_cif
|
||
WHERE hfd10_cnt > 0;
|
||
|
||
--IVET#54995 notificaties reserveringen / meldingsreserveringen
|
||
CREATE OR REPLACE VIEW ivet_v_noti_resreminder
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT code,
|
||
sender,
|
||
receiver,
|
||
'Herinnering - ' || REPLACE (text, ' ', ' '),
|
||
key,
|
||
xkey,
|
||
NULL,
|
||
NULL
|
||
FROM fac_v_noti_resreminder n, prs_perslid p
|
||
WHERE n.receiver = p.prs_perslid_key
|
||
AND prs_perslid_naam NOT LIKE 'INACTIEF:%';
|
||
|
||
CREATE OR REPLACE VIEW ivet_v_noti_tafelresreminder
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT 'CUST04',
|
||
NULL,
|
||
m.prs_perslid_key,
|
||
'Reservering '
|
||
|| m.mld_melding_key
|
||
|| ': U heeft op '
|
||
|| (SELECT km.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 16741 --Key voor kenmerk datum vanaf
|
||
AND km.mld_melding_key = m.mld_melding_key)
|
||
|| ' om '
|
||
|| (SELECT km.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 15222 --Key voor kenmerk tijd
|
||
AND km.mld_melding_key = m.mld_melding_key)
|
||
|| ' een tafel gereserveerd.' AS text,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m
|
||
WHERE
|
||
m.mld_stdmelding_key = 2661 --Key voor stdmelding 'Tafel reserveren restaurant'
|
||
AND
|
||
(SELECT (TRUNC (fac.safe_to_date(km.mld_kenmerkmelding_waarde, 'DD-MM-YYYY')))
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 16741 --Key voor kenmerk tijd
|
||
AND km.mld_melding_key = m.mld_melding_key) =
|
||
(CASE WHEN fac.getweekdaynum(SYSDATE) = 6
|
||
THEN(TRUNC(SYSDATE)+3)
|
||
ELSE (TRUNC(SYSDATE)+1)
|
||
END);
|
||
|
||
/*
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
NULL,
|
||
sn.fac_srtnotificatie_oms,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
'Mail.FacilityServices-Huismeester@merck.com',
|
||
NULL
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
(SELECT *
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key IN (2822, 4801) -- Datum uit dienst
|
||
OR mld_kenmerk_key = 3881) km, -- Verlenging tot en met
|
||
fac_srtnotificatie sn
|
||
WHERE t.fac_srtnotificatie_key = 22 -- MLDAFM
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key IN (256, 641, 821) -- Toegangsbadge uitzendkracht/contractor+Verlenging toegangsbadges
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND TRUNC (TO_DATE (km.mld_kenmerkmelding_waarde, 'dd-mm-yyyy') - (2 * 7), 'iw') = TRUNC (SYSDATE, 'iw')
|
||
AND sn.fac_srtnotificatie_code = 'CUST05'
|
||
UNION ALL
|
||
*/
|
||
-- IVET#61370: CUST05-noti naar medewerker dat toegangspas bijna is verlopen
|
||
-- (over zo'n 2 weken) en moet worden verlengd.
|
||
CREATE OR REPLACE VIEW ivet_v_noti_verlengen_pas
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
m.prs_perslid_key_voor,
|
||
sn.fac_srtnotificatie_oms,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
NULL, --'Mail.FacilityServices-Huismeester@merck.com',
|
||
NULL
|
||
FROM fac_tracking t, mld_melding m, fac_srtnotificatie sn, prs_perslid p
|
||
WHERE t.fac_srtnotificatie_key = 22 -- MLDAFM
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND p.prs_perslid_key = m.prs_perslid_key_voor
|
||
AND p.prs_perslid_verwijder is null
|
||
AND m.mld_stdmelding_key IN (256, 641) -- Toegangsbadge uitzendkracht/contractor
|
||
AND TRUNC (t.fac_tracking_datum + (24 * 7), 'iw') = TRUNC (SYSDATE, 'iw')
|
||
AND sn.fac_srtnotificatie_code = 'CUST05'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
m.prs_perslid_key_voor,
|
||
sn.fac_srtnotificatie_oms,
|
||
m.mld_melding_key,
|
||
NULL,
|
||
NULL, --'Mail.FacilityServices-Huismeester@merck.com',
|
||
NULL
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
prs_perslid p,
|
||
(SELECT *
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 3881) km, -- Verlenging tot en met
|
||
fac_srtnotificatie sn
|
||
WHERE t.fac_srtnotificatie_key = 22 -- MLDAFM
|
||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||
AND p.prs_perslid_key = m.prs_perslid_key_voor
|
||
AND p.prs_perslid_verwijder is null
|
||
AND m.mld_stdmelding_key = 821 -- Verlenging toegangsbadges
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND TRUNC (TO_DATE (km.mld_kenmerkmelding_waarde, 'dd-mm-yyyy') - (2 * 7), 'iw') = TRUNC (SYSDATE, 'iw')
|
||
AND sn.fac_srtnotificatie_code = 'CUST05';
|
||
|
||
-- IVET#65839: Domeinview afdelingen.
|
||
CREATE OR REPLACE VIEW ivet_v_afdelingen
|
||
(
|
||
prs_afdeling_key,
|
||
prs_afdeling_codeomschr,
|
||
prs_afdeling_verwijder
|
||
)
|
||
AS
|
||
SELECT prs_afdeling_key,
|
||
prs_afdeling_naam || ' ' || prs_afdeling_omschrijving,
|
||
prs_afdeling_verwijder
|
||
FROM prs_afdeling;
|
||
|
||
-- IVET#68372: Bezettingspercentage (WP-reserveringen uit catalogi 4201 en 4321)!
|
||
CREATE OR REPLACE VIEW ivet_v_rap_res_wp_bzg
|
||
(
|
||
fclt_3d_locatie_key,
|
||
maand,
|
||
catalogus,
|
||
locatie,
|
||
wp_aant_nl,
|
||
wp_aant_loc,
|
||
wp_bzg_nl,
|
||
wp_bzg_loc
|
||
)
|
||
AS
|
||
WITH rescatl -- Per catalogus/locatie de reserveringen van WP-objecten op tot-tijd!
|
||
AS ( SELECT resbes.mnd,
|
||
rd.ins_discipline_omschrijving catalogus,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_omschrijving locatie_oms,
|
||
SUM (resbez.aant) aantal_reserveringen,
|
||
SUM (ROUND (resbes.uren, 2)) bes_uren,
|
||
SUM (ROUND (resbez.uren, 2)) bez_uren
|
||
FROM (SELECT TO_CHAR (p.mnd, 'yyyy-mm') mnd, -- DISTINCT per definitie!
|
||
rd.res_discipline_key,
|
||
rd.res_deel_key resource_key,
|
||
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) alg_ruimte_key,
|
||
fac.count_work_days (p.mnd - 1, ADD_MONTHS (p.mnd, 1) - 1) * 9 -- = 17-8
|
||
uren
|
||
FROM res_deel rd, ins_deel d,
|
||
(SELECT ADD_MONTHS (TRUNC (SYSDATE, 'mm'), LEVEL - 26) mnd FROM DUAL CONNECT BY LEVEL <= 25) p
|
||
WHERE rd.res_discipline_key IN (4201, 4321) -- Flex/hybride werkplekken+Flex/Hybryde WP PD001-3
|
||
AND rd.res_ins_deel_key = d.ins_deel_key
|
||
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
|
||
AND rd.res_deel_aanmaak < ADD_MONTHS (p.mnd, 1)
|
||
AND (rd.res_deel_verwijder IS NULL OR rd.res_deel_verwijder >= p.mnd)) resbes,
|
||
( SELECT TO_CHAR (rrd.res_rsv_deel_tot, 'yyyy-mm') mnd,
|
||
rd.res_discipline_key,
|
||
rd.res_deel_key resource_key,
|
||
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) alg_ruimte_key,
|
||
COUNT ( * ) aant,
|
||
SUM (LEAST ((rrd.res_rsv_deel_tot - TRUNC (rrd.res_rsv_deel_tot)) * 24, 17)
|
||
- GREATEST ((rrd.res_rsv_deel_van - TRUNC (rrd.res_rsv_deel_van)) * 24, 8))
|
||
uren
|
||
FROM res_rsv_deel rrd, res_rsv_ruimte rrr, res_deel rd, ins_deel d
|
||
WHERE rrd.res_rsv_deel_verwijder IS NULL
|
||
AND rrd.res_rsv_deel_dirtlevel = 0
|
||
AND TRUNC (rrd.res_rsv_deel_van) = TRUNC (rrd.res_rsv_deel_tot) -- Eendaags!
|
||
AND rrd.res_rsv_deel_tot BETWEEN ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -25) AND TRUNC (SYSDATE, 'mm')
|
||
AND TO_CHAR (rrd.res_rsv_deel_tot, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrd.res_rsv_deel_tot))
|
||
--AND TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '17'
|
||
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '08'
|
||
--AND rrd.bez_bezoekers_key IS NULL -- Geen parkeerplaatsen!
|
||
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
|
||
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key IN (4201, 4321) -- Flex/hybride werkplekken+Flex/Hybryde WP PD001-3
|
||
AND rd.res_ins_deel_key = d.ins_deel_key
|
||
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
|
||
GROUP BY TO_CHAR (rrd.res_rsv_deel_tot, 'yyyy-mm'),
|
||
rd.res_discipline_key,
|
||
rd.res_deel_key,
|
||
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key)
|
||
UNION ALL -- Meerdaagse voorzieningen?
|
||
SELECT TO_CHAR (p.dag, 'yyyy-mm') mnd,
|
||
rd.res_discipline_key,
|
||
rd.res_deel_key resource_key,
|
||
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key) alg_ruimte_key,
|
||
COUNT ( * ) aant,
|
||
SUM (DECODE (p.dag,
|
||
TRUNC (rrd.res_rsv_deel_van), 17 - GREATEST ((rrd.res_rsv_deel_van - TRUNC (rrd.res_rsv_deel_van)) * 24, 8),
|
||
TRUNC (rrd.res_rsv_deel_tot), LEAST ((rrd.res_rsv_deel_tot - TRUNC (rrd.res_rsv_deel_tot)) * 24, 17) - 8,
|
||
9)) -- = 17-8
|
||
uren
|
||
FROM res_rsv_deel rrd, res_rsv_ruimte rrr, res_deel rd, ins_deel d,
|
||
(SELECT TRUNC (SYSDATE, 'mm') - LEVEL dag FROM DUAL CONNECT BY LEVEL <= TRUNC (SYSDATE, 'mm') - ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -25)) p
|
||
WHERE rrd.res_rsv_deel_verwijder IS NULL
|
||
AND rrd.res_rsv_deel_dirtlevel = 0
|
||
AND TRUNC (rrd.res_rsv_deel_van) != TRUNC (rrd.res_rsv_deel_tot) -- Meerdaags!
|
||
AND rrd.res_rsv_deel_tot BETWEEN ADD_MONTHS (TRUNC (SYSDATE, 'mm'), -25) AND TRUNC (SYSDATE, 'mm')
|
||
--AND TO_CHAR (rrd.res_rsv_deel_van, 'hh24') < '17'
|
||
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'hh24') > '08'
|
||
--AND rrd.bez_bezoekers_key IS NULL -- Geen parkeerplaatsen!
|
||
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
|
||
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key IN (4201, 4321) -- Flex/hybride werkplekken+Flex/Hybryde WP PD001-3
|
||
AND rd.res_ins_deel_key = d.ins_deel_key
|
||
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R' -- Noodzakelijk?
|
||
AND p.dag BETWEEN TRUNC (rrd.res_rsv_deel_van) AND TRUNC (rrd.res_rsv_deel_tot)
|
||
AND TO_CHAR (p.dag, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (p.dag))
|
||
GROUP BY TO_CHAR (p.dag, 'yyyy-mm'),
|
||
rd.res_discipline_key,
|
||
rd.res_deel_key,
|
||
COALESCE (d.ins_alg_ruimte_key_org, d.ins_alg_ruimte_key)) resbez,
|
||
res_discipline rd, -- Ook verwijderde catalogi!
|
||
alg_v_onrgoed_boom aob, -- Ook verwijderde ruimten!
|
||
alg_locatie l -- Ook verwijderde locaties!
|
||
WHERE resbes.mnd = resbez.mnd(+)
|
||
AND resbes.res_discipline_key = resbez.res_discipline_key(+)
|
||
AND resbes.resource_key = resbez.resource_key(+)
|
||
AND resbes.alg_ruimte_key = resbez.alg_ruimte_key(+)
|
||
AND resbes.res_discipline_key = rd.ins_discipline_key(+)
|
||
AND resbes.alg_ruimte_key = aob.alg_ruimte_key
|
||
AND aob.alg_locatie_key = l.alg_locatie_key
|
||
AND resbes.uren > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van reserveerbare ruimte = res_ruimte)!
|
||
AND COALESCE (resbez.uren, 1) > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van res_rsv_ruimte/deel)!
|
||
GROUP BY l.alg_locatie_key,
|
||
resbes.mnd,
|
||
rd.ins_discipline_omschrijving,
|
||
l.alg_locatie_omschrijving)
|
||
SELECT loc.alg_locatie_key, nl.mnd, nl.catalogus,
|
||
loc.locatie_oms,
|
||
TO_CHAR (nl.ant_nl, '999990'),
|
||
TO_CHAR (loc.ant_loc, '999990'),
|
||
TO_CHAR (100 * nl.bzg_nl, '990') || '%',
|
||
TO_CHAR (100 * loc.bzg_loc, '990') || '%'
|
||
FROM ( SELECT mnd, catalogus, SUM (aantal_reserveringen) ant_nl, SUM (COALESCE (bez_uren, 0)) / SUM (bes_uren) bzg_nl
|
||
FROM rescatl
|
||
GROUP BY mnd, catalogus) nl
|
||
LEFT JOIN (SELECT mnd, catalogus, alg_locatie_key, locatie_oms, aantal_reserveringen ant_loc, COALESCE (bez_uren, 0) / bes_uren bzg_loc
|
||
FROM rescatl) loc
|
||
ON nl.mnd = loc.mnd AND nl.catalogus = loc.catalogus;
|
||
|
||
-- IVET#69249: Bronview tbv. lopende meldingen per vakgroep op tijd/te laat!
|
||
CREATE OR REPLACE VIEW IVET_V_UDR_MELDING_OPEN
|
||
(
|
||
fclt_3d_discipline_key,
|
||
vakgroeptype,
|
||
vakgroep,
|
||
soortmelding,
|
||
mld_melding_key,
|
||
status,
|
||
uitvoering
|
||
)
|
||
AS
|
||
SELECT md.ins_discipline_key,
|
||
sd.ins_srtdiscipline_omschrijving,
|
||
md.ins_discipline_omschrijving,
|
||
sm.mld_stdmelding_omschrijving,
|
||
m.mld_melding_key,
|
||
ms.mld_statuses_omschrijving,
|
||
DECODE (SIGN (m.mld_melding_einddatum - TRUNC (SYSDATE, 'mi')),
|
||
-1,
|
||
'3. Te laat', -- Zelfs volgens afspraak=gereeddatum te laat!
|
||
DECODE (SIGN (m.mld_melding_einddatum_std - TRUNC (SYSDATE, 'mi')),
|
||
-1,
|
||
'2. Op schema', -- Volgens afspraak en te laat volgens SLA!
|
||
'1. Op tijd')) -- Volgens afspraak en op tijd volgens SLA!
|
||
uitvoering
|
||
FROM mld_melding m,
|
||
mld_discipline md,
|
||
mld_stdmelding sm,
|
||
ins_srtdiscipline sd,
|
||
mld_statuses ms
|
||
WHERE m.mld_melding_datum > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
|
||
AND 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 m.mld_melding_status = ms.mld_statuses_key
|
||
AND ms.mld_statuses_key IN (0, 2, 3, 4, 7, 99);
|
||
|
||
-- IVET#69716: CUST07-notificatie naar bezitter om PBM om te wisselen.
|
||
CREATE OR REPLACE VIEW IVET_V_NOTI_PBM
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
d.ins_alg_ruimte_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms, '##OBJSRT##', sd.ins_srtdeel_omschrijving),
|
||
d.ins_deel_key,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
fac_srtnotificatie sn
|
||
WHERE d.ins_srtdeel_key IN (3501, 3521, 3541, 3561, 3581) -- Beeldschermbril/Correctiebril/Oordop/Steunzool/Insert
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND ADD_MONTHS (TRUNC (d.ins_deel_vervaldatum), -2) = TRUNC (SYSDATE)
|
||
AND sn.fac_srtnotificatie_code = 'CUST07';
|
||
|
||
-- IVET#87353: QR-codes/Terein issues (standaardmeldingen onder vakgroep met
|
||
-- key=2821)?!
|
||
CREATE OR REPLACE VIEW IVET_V_RAP_QRC
|
||
AS
|
||
SELECT b.fac_bookmark_naam || '|' || pa.alg_plaatsaanduiding hide_f_sort,
|
||
b.fac_bookmark_naam fclt_f_bookmark,
|
||
--'Plaats' gekoppeld_aan,
|
||
l.alg_locatie_omschrijving fclt_f_locatie,
|
||
--pa.alg_plaatsaanduiding || ' / ' || t.alg_terreinsector_omschrijving fclt_f_plaats,
|
||
--pa.alg_plaatsaanduiding || ' / ' || r.alg_ruimte_omschrijving fclt_f_plaats,
|
||
pa.alg_plaatsaanduiding || ' / ' || g.alg_gebouw_naam fclt_f_plaats,
|
||
--NULL fclt_f_persoon,
|
||
pa.alg_plaatsaanduiding fclt_f_identificatie,
|
||
l.alg_locatie_key fclt_3d_locatie_key,
|
||
--'R' alg_onroerendgoed_type,
|
||
--t.alg_terreinsector_key alg_onroerendgoed_keys,
|
||
--r.alg_ruimte_key alg_onroerendgoed_keys,
|
||
g.alg_gebouw_key alg_onroerendgoed_keys,
|
||
NULL ins_deel_key,
|
||
NULL res_ruimte_key,
|
||
b.fac_bookmark_id hide_f_bookmark_id
|
||
FROM --fac_bookmark b,
|
||
(SELECT fac_bookmark_naam, fac_bookmark_id
|
||
FROM fac_bookmark
|
||
WHERE (fac_bookmark_expire IS NULL OR fac_bookmark_expire > SYSDATE)
|
||
--AND UPPER (TRIM (fac_bookmark_path)) = 'APPL/PDA/MELDING.ASP'
|
||
--AND INSTR (UPPER (fac_bookmark_query), 'STDM_KEYS=') > 0
|
||
AND INSTR (fac_bookmark_id, 'uL61l6zQysov0J3h') > 0) b, -- Bookmark tbv. Terrein issues
|
||
--alg_v_aanwezigterreinsector t,
|
||
--alg_v_aanwezigruimte r,
|
||
--alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
alg_v_plaatsaanduiding pa
|
||
WHERE 1 = 1
|
||
--AND t.alg_locatie_key = l.alg_locatie_key
|
||
--AND r.alg_srtruimte_key = 306 -- Sanitair!
|
||
--AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
--AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
--AND pa.alg_onroerendgoed_type = 'T'
|
||
--AND t.alg_terreinsector_key = pa.alg_onroerendgoed_keys
|
||
--AND pa.alg_onroerendgoed_type = 'R'
|
||
--AND r.alg_ruimte_key = pa.alg_onroerendgoed_keys
|
||
AND pa.alg_onroerendgoed_type = 'G'
|
||
AND g.alg_gebouw_key = pa.alg_onroerendgoed_keys;
|
||
/*
|
||
UNION ALL
|
||
SELECT b.fac_bookmark_naam || '|' || d.ins_deel_omschrijving hide_f_sort,
|
||
b.fac_bookmark_naam fclt_f_bookmark,
|
||
--'Plaats' gekoppeld_aan,
|
||
l.alg_locatie_omschrijving fclt_f_locatie,
|
||
o.alg_plaatsaanduiding fclt_f_plaats,
|
||
--NULL fclt_f_persoon,
|
||
d.ins_deel_omschrijving fclt_f_identificatie,
|
||
l.alg_locatie_key fclt_3d_locatie_key,
|
||
--d.ins_alg_ruimte_type alg_onroerendgoed_type,
|
||
d.ins_alg_ruimte_key alg_onroerendgoed_keys,
|
||
d.ins_deel_key,
|
||
NULL res_ruimte_key,
|
||
b.fac_bookmark_id hide_f_bookmark_id
|
||
FROM --fac_bookmark b,
|
||
(SELECT fac_bookmark_naam, fac_bookmark_id
|
||
FROM fac_bookmark
|
||
WHERE (fac_bookmark_expire IS NULL OR fac_bookmark_expire > SYSDATE)
|
||
--AND UPPER (TRIM (fac_bookmark_path)) = 'APPL/PDA/INS_DEEL.ASP'
|
||
--AND INSTR (UPPER (fac_bookmark_query), 'STDMKINA=') > 0
|
||
AND INSTR (fac_bookmark_id, 'KIx4a1nTxSUEMVU-') > 0) b, -- Bookmark tbv. objectmeldingen KOFFIEAUTOMAAT!
|
||
ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
--ins_discipline dd,
|
||
alg_locatie l,
|
||
ins_v_alg_overzicht o
|
||
--mld_stdmelding sm,
|
||
--mld_stdmelding_srtinst smsd
|
||
WHERE d.ins_srtdeel_key IN (258830) -- 454=Automaten/1232=Koffieautomaat/258830=Koffieautomaat
|
||
AND d.ins_deel_actief = 1
|
||
AND (d.ins_deel_vervaldatum IS NULL OR d.ins_deel_vervaldatum > SYSDATE)
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
--AND sg.ins_discipline_key = dd.ins_discipline_key
|
||
AND d.ins_deel_parent_key IS NULL
|
||
AND d.ins_alg_ruimte_type IN ('R') --TODO:IN ('T', 'R', 'W')
|
||
AND d.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND d.ins_alg_ruimte_type = o.alg_onroerendgoed_type
|
||
AND d.ins_alg_ruimte_key = o.alg_onroerendgoed_keys
|
||
--AND sm.mld_stdmelding_key = smsd.mld_stdmelding_key
|
||
--AND smsd.ins_srtinstallatie_key = DECODE (smsd.ins_srtinstallatie_niveau, 'S', sd.ins_srtdeel_key, 'G', sg.ins_srtgroep_key, 'D', dd.ins_discipline_key)
|
||
UNION ALL
|
||
SELECT b.fac_bookmark_naam || '|' || l.alg_locatie_code || rr.res_ruimte_nr hide_f_sort,
|
||
b.fac_bookmark_naam fclt_f_bookmark,
|
||
--NULL gekoppeld_aan,
|
||
l.alg_locatie_omschrijving fclt_f_locatie,
|
||
l.alg_locatie_code || ' / ' || rr.res_ruimte_nr fclt_f_plaats,
|
||
--NULL fclt_f_persoon,
|
||
rr.res_ruimte_nr fclt_f_identificatie,
|
||
l.alg_locatie_key fclt_3d_locatie_key,
|
||
--NULL alg_onroerendgoed_type,
|
||
NULL alg_onroerendgoed_keys,
|
||
NULL ins_deel_key,
|
||
rr.res_ruimte_key,
|
||
b.fac_bookmark_id
|
||
FROM --fac_bookmark b,
|
||
(SELECT fac_bookmark_naam, fac_bookmark_id
|
||
FROM fac_bookmark
|
||
WHERE (fac_bookmark_expire IS NULL OR fac_bookmark_expire > SYSDATE)
|
||
--AND UPPER (TRIM (fac_bookmark_path)) = 'APPL/PDA/RESERVERINGEN.ASP'
|
||
AND INSTR (fac_bookmark_id, '3XaYsCdQbN36seGf') > 0) b, -- Bookmark tbv. ruimtereserveringen VERGADERING!
|
||
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,
|
||
ins_v_alg_overzicht o,
|
||
alg_locatie l
|
||
WHERE rr.res_ruimte_verwijder IS NULL
|
||
AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > SYSDATE)
|
||
AND rr.res_discipline_key IN (89, 276, 492, 500) -- Vergaderruimte/Video-overleg/Vergaderruimte Hybride/Kolf- en gebedsruimte
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.alg_ruimte_key = r.alg_ruimte_key
|
||
AND o.alg_onroerendgoed_type = 'R'
|
||
AND r.alg_ruimte_key = o.alg_onroerendgoed_keys
|
||
AND o.alg_locatie_key = l.alg_locatie_key;
|
||
*/
|
||
-- IVET#88572: Controleert uurlijks of een Veiligheidsinzet-reservering is
|
||
-- gemaakt (key=34), gewijzigd (key=35) of verwijderd (key=38)
|
||
-- op de activiteit Veiligheidsinzet (key=1021) en stuurt deze
|
||
-- naar Disc (CUST09) of aanvrager (CUST10).
|
||
CREATE OR REPLACE VIEW IVET_V_NOTI_RES_VEILIGHINZ
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST09',
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##KEY##',
|
||
TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr)),
|
||
'##DESC##',
|
||
rrr.res_rsv_ruimte_omschrijving) text,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
'mail@disc.eu' xemail,
|
||
NULL xmobile
|
||
FROM res_rsv_ruimte rrr, fac_tracking t, fac_srtnotificatie sn, fac_notificatie_job nj
|
||
WHERE 1 = 1
|
||
--AND rrr.res_discipline_key IN (5701) -- Veiligheidsinzet
|
||
AND rrr.res_activiteit_key IN (1021) -- Veiligheidsinzet
|
||
AND rrr.res_rsv_ruimte_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key IN (34, 35, 38) -- RESNEW/RESUPD/RESDEL
|
||
AND t.prs_perslid_key IN (rrr.res_rsv_ruimte_contact_key, rrr.res_rsv_ruimte_host_key) -- Door aanvrager of gastheer/vrouw
|
||
AND sn.fac_srtnotificatie_code = 'CUST09'
|
||
AND nj.fac_notificatie_job_view = 'IVET_V_NOTI_RES_VEILIGHINZ'
|
||
AND t.fac_tracking_datum > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE))
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
'CUST10',
|
||
NULL,
|
||
NULL,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##KEY##',
|
||
TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr)),
|
||
'##DESC##',
|
||
rrr.res_rsv_ruimte_omschrijving) text,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_key,
|
||
p.prs_perslid_email xemail,
|
||
NULL xmobile
|
||
FROM res_rsv_ruimte rrr, prs_perslid p, fac_tracking t, fac_srtnotificatie sn, fac_notificatie_job nj
|
||
WHERE 1 = 1
|
||
--AND rrr.res_discipline_key IN (5701) -- Veiligheidsinzet
|
||
AND rrr.res_activiteit_key IN (1021) -- Veiligheidsinzet
|
||
AND rrr.res_rsv_ruimte_contact_key = p.prs_perslid_key
|
||
AND rrr.res_rsv_ruimte_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key IN (34, 35, 38) -- RESNEW/RESUPD/RESDEL
|
||
AND t.prs_perslid_key NOT IN (rrr.res_rsv_ruimte_contact_key, rrr.res_rsv_ruimte_host_key) -- Niet door aanvrager of gastheer/vrouw
|
||
AND sn.fac_srtnotificatie_code = 'CUST10'
|
||
AND nj.fac_notificatie_job_view = 'IVET_V_NOTI_RES_VEILIGHINZ'
|
||
AND t.fac_tracking_datum > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE))
|
||
|
||
------ payload end ------
|
||
|
||
SET DEFINE OFF
|
||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||
/
|
||
|
||
COMMIT;
|
||
SET ECHO OFF
|
||
SPOOL OFF
|
||
SET DEFINE ON
|
||
PROMPT Logfile of this upgrade is: &fcltlogfile
|