2532 lines
98 KiB
MySQL
2532 lines
98 KiB
MySQL
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific db-configuration for PCHD.
|
||
|
||
DEFINE thisfile = 'PCHD.SQL'
|
||
DEFINE dbuser = '^PCHD'
|
||
DEFINE custid = 'PCHD'
|
||
|
||
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 pchd_v_imp_prs_perslid_sync
|
||
(
|
||
prs_afdeling_naam,
|
||
prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel,
|
||
prs_perslid_voorletters,
|
||
prs_perslid_voornaam,
|
||
prs_perslid_titel,
|
||
prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel,
|
||
prs_perslid_email,
|
||
prs_perslid_apikey,
|
||
prs_srtperslid_omschrijving,
|
||
prs_perslid_nr,
|
||
prs_perslid_oslogin,
|
||
prs_perslid_oslogin2,
|
||
prs_perslid_geslacht,
|
||
prs_perslid_dienstverband
|
||
)
|
||
AS
|
||
SELECT pg.prs_afdeling_naam,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_tussenvoegsel,
|
||
p.prs_perslid_voorletters,
|
||
p.prs_perslid_voornaam,
|
||
p.prs_perslid_titel,
|
||
p.prs_perslid_telefoonnr,
|
||
p.prs_perslid_mobiel,
|
||
p.prs_perslid_email,
|
||
p.prs_perslid_apikey,
|
||
pg.prs_srtperslid_omschrijving,
|
||
p.prs_perslid_nr,
|
||
p.prs_perslid_oslogin,
|
||
p.prs_perslid_oslogin2,
|
||
p.prs_perslid_geslacht,
|
||
p.prs_perslid_dienstverband
|
||
FROM prs_v_perslid_gegevens pg, prs_perslid p, prs_v_afdeling a
|
||
WHERE p.prs_perslid_key = pg.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_bedrijf_key = fac.getsetting ('xd_primary_bedrijfkey');
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_opdrachtenfacturatie
|
||
(
|
||
maand,
|
||
district,
|
||
locatie,
|
||
vakgroeptype,
|
||
vakgroep,
|
||
aantal_opdrachten,
|
||
totale_kosten_opdrachten,
|
||
reeds_gefactureerd,
|
||
nog_te_verwachten_kosten
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (mo.mld_opdr_datumbegin, 'YYYY-MM'),
|
||
d.alg_district_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
insr.ins_srtdiscipline_omschrijving,
|
||
md.ins_discipline_omschrijving,
|
||
COUNT (mo.mld_opdr_key),
|
||
SUM (mo.mld_opdr_kosten),
|
||
SUM (ff.fin_factuur_totaal),
|
||
SUM (mo.mld_opdr_kosten) - SUM (ff.fin_factuur_totaal)
|
||
FROM ins_srtdiscipline insr,
|
||
mld_discipline md,
|
||
mld_opdr mo,
|
||
mld_melding mm,
|
||
mld_stdmelding mstd,
|
||
fin_factuur ff,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE insr.ins_srtdiscipline_key = md.ins_srtdiscipline_key
|
||
AND md.ins_discipline_key = mstd.mld_ins_discipline_key
|
||
AND mm.mld_stdmelding_key = mstd.mld_stdmelding_key
|
||
AND mm.mld_melding_key = mo.mld_melding_key
|
||
AND mo.mld_opdr_key = ff.mld_opdr_key
|
||
AND l.alg_locatie_key = mm.mld_alg_locatie_key
|
||
and d.alg_district_key = l.alg_district_key
|
||
AND ff.fin_factuur_verwijder IS NULL
|
||
AND ff.fin_factuur_statuses_key IN (6, 7) -- Ingevoerd, Incompleet, Akkoord, Verwerkt
|
||
AND mo.mld_statusopdr_key NOT IN (1, 2)
|
||
GROUP BY TO_CHAR (mo.mld_opdr_datumbegin, 'YYYY-MM'),
|
||
l.alg_locatie_omschrijving,
|
||
insr.ins_srtdiscipline_omschrijving,
|
||
md.ins_discipline_omschrijving,
|
||
d.alg_district_omschrijving;
|
||
|
||
|
||
|
||
--View om te zien welke kostenplaatsen er aan een locatie gekoppeld zijn.
|
||
--PCHD#55359
|
||
CREATE OR REPLACE VIEW PCHD_V_RAP_KOSTENPLAATS_LOC
|
||
(
|
||
locatie_omschrijving,
|
||
kostenplaats_key,
|
||
kostenplaats_omschrijving
|
||
)
|
||
AS
|
||
SELECT DISTINCT l.alg_locatie_omschrijving , prsa.prs_kostenplaats_key, kost.prs_kostenplaats_omschrijving
|
||
FROM alg_locatie l,
|
||
alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r,
|
||
prs_ruimteafdeling ra,
|
||
prs_afdeling prsa,
|
||
prs_kostenplaats kost
|
||
WHERE g.alg_locatie_key = l.alg_locatie_key(+)
|
||
AND v.alg_gebouw_key (+) = g.alg_gebouw_key
|
||
AND r.alg_verdieping_key(+) = v.alg_verdieping_key
|
||
AND r.ALG_RUIMTE_KEY = ra.ALG_RUIMTE_KEY (+)
|
||
AND prsa.PRS_AFDELING_KEY = ra.PRS_AFDELING_KEY
|
||
AND prsa.prs_kostenplaats_key = kost.prs_kostenplaats_key;
|
||
|
||
|
||
|
||
-- draft versie van PPI rapportage voor truckparking
|
||
CREATE OR REPLACE VIEW pchd_v_rap_mld_truckparking
|
||
(
|
||
hide_f_ts,
|
||
fclt_d_datum,
|
||
tijd,
|
||
fclt_f_locatie,
|
||
vakgroep,
|
||
melding,
|
||
melder,
|
||
omschrijving,
|
||
afhandeling,
|
||
datum_tijd_tht,
|
||
datum_tijd_afgemeld,
|
||
telaat
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (mld_melding_datum, 'yyyymmddhh24mi'),
|
||
TO_CHAR (mld_melding_datum, 'dd-mm-yyyy'),
|
||
TO_CHAR (mld_melding_datum, 'hh24:mi'),
|
||
alg_locatie_omschrijving,
|
||
ins_discipline_omschrijving,
|
||
mld_stdmelding_omschrijving,
|
||
pf.prs_perslid_naam_full,
|
||
mld_melding_omschrijving,
|
||
mld_melding_opmerking,
|
||
TO_CHAR (mld_melding_einddatum_std, 'dd-mm-yyyy hh24:mi'),
|
||
TO_CHAR (
|
||
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5),
|
||
mld.getmeldingstatusdate (m.mld_melding_key, 1),
|
||
NULL),
|
||
'dd-mm-yyyy hh24:mi'),
|
||
DECODE (
|
||
SIGN(mld_melding_einddatum_std
|
||
- COALESCE (
|
||
COALESCE (
|
||
mld.getmeldingstatusdate (m.mld_melding_key, 5),
|
||
mld.getmeldingstatusdate (m.mld_melding_key, 1)),
|
||
SYSDATE)),
|
||
-1,
|
||
'Ja')
|
||
FROM mld_melding m,
|
||
mld_stdmelding std,
|
||
ins_tab_discipline d,
|
||
prs_v_perslid_fullnames_all pf,
|
||
alg_locatie l
|
||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND m.prs_perslid_key = pf.prs_perslid_key
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND d.ins_srtdiscipline_key = 61;
|
||
|
||
--PCHD#53705 - Import personen vanuit AD VolkerWessels
|
||
CREATE OR REPLACE PROCEDURE pchd_import_perslid (p_import_key IN NUMBER)
|
||
IS
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (1000); -- Input line
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER := 0;
|
||
v_ongeldig NUMBER (1);
|
||
v_count_tot NUMBER (10);
|
||
v_count_import NUMBER (10);
|
||
v_count NUMBER;
|
||
-- De importvelden:
|
||
v_prs_perslid_voornaam VARCHAR2 (256);
|
||
v_prs_perslid_naam VARCHAR2 (256);
|
||
v_prs_perslid_tussenvoegsel VARCHAR2 (256);
|
||
v_prs_perslid_oslogin VARCHAR2 (256);
|
||
v_prs_perslid_oslogin2 VARCHAR2 (256);
|
||
v_prs_perslid_wm VARCHAR2 (256);
|
||
v_prs_perslid_organisation VARCHAR2 (256);
|
||
v_prs_perslid_companycode VARCHAR2 (256);
|
||
v_prs_afdeling_naam VARCHAR2 (256);
|
||
v_prs_perslid_costcarrier VARCHAR2 (256);
|
||
v_prs_srtperslid_omschrijving VARCHAR2 (256);
|
||
v_prs_perslid_managedby VARCHAR2 (256);
|
||
v_prs_perslid_email VARCHAR2 (256);
|
||
v_prs_perslid_telefoonnr VARCHAR2 (256);
|
||
v_prs_perslid_mobiel VARCHAR2 (256);
|
||
v_prs_perslid_vestigingsnaam VARCHAR2 (256);
|
||
v_prs_perslid_vestigingsnummer VARCHAR2 (256);
|
||
-- Overig:
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
DELETE FROM pchd_imp_prs;
|
||
|
||
COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_aanduiding := '';
|
||
v_errorhint := 'Fout bij opvragen te importeren rij';
|
||
v_ongeldig := 0;
|
||
-- Lees alle veldwaarden
|
||
|
||
-- 01
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_voornaam);
|
||
-- 02
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_naam);
|
||
-- 03
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_tussenvoegsel);
|
||
-- 04
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_oslogin);
|
||
-- 05
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_wm);
|
||
-- 06
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_organisation);
|
||
-- 07
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_companycode);
|
||
-- 08
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_afdeling_naam);
|
||
-- 09
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_costcarrier);
|
||
-- 10
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_srtperslid_omschrijving);
|
||
-- 11
|
||
--fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_managedby);
|
||
-- 12
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_email);
|
||
-- 13
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_telefoonnr);
|
||
-- 14
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_mobiel);
|
||
-- 15
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_vestigingsnaam);
|
||
-- 16
|
||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_vestigingsnummer);
|
||
|
||
|
||
--
|
||
v_aanduiding :=
|
||
'['
|
||
|| v_prs_perslid_oslogin
|
||
|| '|'
|
||
|| v_prs_perslid_naam
|
||
|| '|'
|
||
|| v_prs_perslid_tussenvoegsel
|
||
|| '|'
|
||
|| v_prs_perslid_voornaam
|
||
|| '] ';
|
||
|
||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (v_prs_perslid_voornaam) = 'FIRSTNAME'
|
||
AND UPPER (v_prs_perslid_naam) = 'LASTNAME'
|
||
AND UPPER (v_prs_perslid_tussenvoegsel) = 'MIDDLENAME'
|
||
AND UPPER (v_prs_perslid_oslogin) = 'USERNAME'
|
||
AND UPPER (v_prs_perslid_wm) = 'WM'
|
||
AND UPPER (v_prs_perslid_organisation) = 'ORGANISATION'
|
||
AND UPPER (v_prs_perslid_companycode) = 'COMPANYCODE'
|
||
AND UPPER (v_prs_afdeling_naam) = 'DEPARTMENT'
|
||
AND UPPER (v_prs_perslid_costcarrier) = 'COSTCARRIER'
|
||
AND UPPER (v_prs_srtperslid_omschrijving) = 'FUNCTION'
|
||
--AND UPPER (v_prs_perslid_managedby) = 'MANAGEDBY'
|
||
AND UPPER (v_prs_perslid_email) = 'EMAIL'
|
||
AND UPPER (v_prs_perslid_telefoonnr) = 'PHONENUMBER'
|
||
AND UPPER (v_prs_perslid_mobiel) = 'MOBILENUMBER'
|
||
AND UPPER (v_prs_perslid_vestigingsnaam) = 'VESTIGINGSNAAM'
|
||
AND UPPER (v_prs_perslid_vestigingsnummer) = 'VESTIGINGSNUMMER'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
|
||
--
|
||
|
||
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
|
||
|| ']'
|
||
);
|
||
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!'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
COMMIT;
|
||
|
||
--
|
||
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 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
|
||
|| ']'
|
||
);
|
||
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 [-]'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
COMMIT;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige bedrijfsnaam';
|
||
v_prs_perslid_wm := TRIM (v_prs_perslid_wm);
|
||
|
||
IF LENGTH (v_prs_perslid_wm) > 60
|
||
THEN
|
||
v_prs_perslid_wm := SUBSTR (v_prs_perslid_wm, 1, 60);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Bedrijfsnaam te lang',
|
||
'Bedrijfsnaam wordt afgebroken tot ['
|
||
|| v_prs_perslid_wm
|
||
|| ']'
|
||
);
|
||
v_ongeldig :=1;
|
||
ELSE
|
||
IF (v_prs_perslid_wm IS NULL)
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog
|
||
(p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Bedrijfsnaam onbekend',
|
||
'Bedrijfsnaam is verplicht; regel wordt overgeslagen!'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
COMMIT;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige organisatienaam';
|
||
v_prs_perslid_organisation := TRIM (v_prs_perslid_organisation);
|
||
|
||
IF LENGTH (v_prs_perslid_organisation) > 60
|
||
THEN
|
||
v_prs_perslid_organisation := SUBSTR (v_prs_perslid_organisation, 1, 60);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Organisatienaam te lang',
|
||
'Organisatienaam wordt afgebroken tot ['
|
||
|| v_prs_perslid_organisation
|
||
|| ']'
|
||
);
|
||
v_ongeldig :=1;
|
||
ELSE
|
||
IF (v_prs_afdeling_naam IS NULL)
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog
|
||
(p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Organisatienaam onbekend',
|
||
'Organisatienaam is verplicht; regel wordt overgeslagen!'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
COMMIT;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldige afdelingsnaam ';
|
||
v_prs_afdeling_naam := TRIM (v_prs_afdeling_naam);
|
||
|
||
IF LENGTH (v_prs_afdeling_naam) > 60
|
||
THEN
|
||
v_prs_afdeling_naam := SUBSTR (v_prs_afdeling_naam, 1, 60);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Afdelingsnaam te lang',
|
||
'Afdelingsnaam wordt afgebroken tot ['
|
||
|| v_prs_afdeling_naam
|
||
|| ']'
|
||
);
|
||
v_ongeldig :=1;
|
||
ELSE
|
||
IF (v_prs_afdeling_naam IS NULL)
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog
|
||
(p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Afdelingsnaam onbekend',
|
||
'Afdelingsnaam is verplicht; regel wordt overgeslagen!'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
COMMIT;
|
||
|
||
--
|
||
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
|
||
|| ']'
|
||
);
|
||
v_ongeldig :=1;
|
||
ELSE
|
||
IF (v_prs_srtperslid_omschrijving IS NULL)
|
||
THEN
|
||
v_prs_srtperslid_omschrijving := 'Onbekend';
|
||
-- --v_ongeldig := 1;
|
||
-- fac.imp_writelog
|
||
-- (p_import_key,
|
||
-- 'W',
|
||
-- v_aanduiding || 'Functie onbekend',
|
||
-- 'Functie is verplicht; Functie: Onbekend'
|
||
-- );
|
||
END IF;
|
||
END IF;
|
||
COMMIT;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig telefoonnummer';
|
||
v_prs_perslid_telefoonnr := TRIM (v_prs_perslid_telefoonnr);
|
||
|
||
IF LENGTH (REPLACE(v_prs_perslid_telefoonnr,' ','')) > 15
|
||
THEN
|
||
v_prs_perslid_telefoonnr :=
|
||
SUBSTR (REPLACE(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 mobiel nr';
|
||
v_prs_perslid_mobiel := TRIM (v_prs_perslid_mobiel);
|
||
|
||
IF LENGTH (REPLACE(v_prs_perslid_mobiel,' ','')) > 15
|
||
THEN
|
||
v_prs_perslid_telefoonnr :=
|
||
SUBSTR (REPLACE(v_prs_perslid_mobiel,' ',''), 1, 15);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'Mobiel te lang',
|
||
'Mobiel wordt afgebroken tot ['
|
||
|| v_prs_perslid_mobiel
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig e-mailadres';
|
||
v_prs_perslid_email := TRIM (v_prs_perslid_email);
|
||
|
||
IF LENGTH (v_prs_perslid_email) > 50
|
||
THEN
|
||
v_prs_perslid_email := SUBSTR (v_prs_perslid_email, 1, 50);
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || 'E-mailadres te lang',
|
||
'E-mailadres wordt afgebroken tot ['
|
||
|| v_prs_perslid_email
|
||
|| ']'
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--
|
||
v_errorhint := 'Ongeldig 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
|
||
|| ']'
|
||
);
|
||
v_ongeldig :=1;
|
||
COMMIT;
|
||
END IF;
|
||
|
||
-- IF LENGTH (v_prs_perslid_managedby) > 256
|
||
-- THEN
|
||
-- v_prs_perslid_managedby :=
|
||
-- SUBSTR (v_prs_perslid_managedby, 1, 256);
|
||
-- fac.imp_writelog (p_import_key,
|
||
-- 'W',
|
||
-- v_aanduiding || 'Managed by is te lang',
|
||
-- 'Managed by wordt afgebroken tot ['
|
||
-- || v_prs_perslid_managedby
|
||
-- || ']'
|
||
-- );
|
||
-- COMMIT;
|
||
-- END IF;
|
||
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errorhint :=
|
||
'Fout bij toevoegen regel aan importtabel pchd_imp_prs';
|
||
|
||
INSERT INTO pchd_imp_prs
|
||
(prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel,
|
||
prs_perslid_voornaam,
|
||
prs_afdeling_naam,
|
||
prs_srtperslid_omschrijving,
|
||
prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel,
|
||
prs_perslid_oslogin,
|
||
prs_perslid_email,
|
||
prs_perslid_wm,
|
||
prs_perslid_organisation,
|
||
prs_perslid_companycode,
|
||
prs_perslid_costcarrier,
|
||
--prs_perslid_managedby,
|
||
prs_perslid_vestigingsnaam,
|
||
prs_perslid_vestigingsnummer
|
||
)
|
||
VALUES
|
||
(v_prs_perslid_naam,
|
||
v_prs_perslid_tussenvoegsel,
|
||
v_prs_perslid_voornaam,
|
||
v_prs_afdeling_naam,
|
||
v_prs_srtperslid_omschrijving,
|
||
REPLACE(v_prs_perslid_telefoonnr,' ',''),
|
||
REPLACE(v_prs_perslid_mobiel,' ',''),
|
||
v_prs_perslid_oslogin,
|
||
v_prs_perslid_email,
|
||
v_prs_perslid_wm,
|
||
v_prs_perslid_organisation,
|
||
v_prs_perslid_companycode,
|
||
v_prs_perslid_costcarrier,
|
||
v_prs_perslid_vestigingsnaam,
|
||
v_prs_perslid_vestigingsnummer
|
||
);
|
||
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;
|
||
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 pchd_import_perslid;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE pchd_update_perslid (p_import_key IN NUMBER)
|
||
IS
|
||
-- LET OP: moet idem zijn als declaratie bij pchd_IMPORT_PERSLID
|
||
c_persoon_inactief VARCHAR2 (30) := 'INACTIEF: ';
|
||
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een nummer
|
||
c_max_delta_percentage NUMBER (10) := 1000;
|
||
-- Ruimte waar personen in geplaatst worden (indien nog geen ruimte in opgegeven gebouw)
|
||
c_ruimte_nr VARCHAR2 (10) := '000';
|
||
-- Groep waar personen in geplaatst worden (indien nog geen groep)
|
||
c_groep_upper VARCHAR2 (30) := '_default VWInfra';
|
||
c_key_default_rol NUMBER (10) := 661;
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_prs_actual NUMBER (10);
|
||
v_count_prs_import NUMBER (10); -- Matching actual persons!
|
||
v_count_tot NUMBER (10);
|
||
v_count_error NUMBER (10);
|
||
v_count NUMBER (10);
|
||
--
|
||
v_perslid_key NUMBER (10);
|
||
v_afdeling_key NUMBER (10);
|
||
v_afdeling_parentkey NUMBER (10);
|
||
v_bedrijf_key NUMBER (10);
|
||
v_kostenplaats_key NUMBER (10);
|
||
v_srtperslid_key NUMBER (10);
|
||
v_locatie_key NUMBER (10);
|
||
v_gebouw_key NUMBER (10);
|
||
v_verdieping_key NUMBER (10);
|
||
v_ruimte_key NUMBER (10);
|
||
v_wp_key NUMBER (10);
|
||
v_wp_volgnr NUMBER (3);
|
||
v_wp_oms VARCHAR2 (30);
|
||
v_groep_defaultnaam VARCHAR2 (30);
|
||
v_fac_groep_key NUMBER (10);
|
||
v_prs_bedrijf_key VARCHAR2 (30);
|
||
v_prs_afdeling_key VARCHAR2 (30);
|
||
v_prs_company_key VARCHAR2 (30);
|
||
v_prs_perslid_costcarrier VARCHAR2 (30);
|
||
v_prs_perslid_managedby VARCHAR2 (30);
|
||
v_prs_perslid_oslogin VARCHAR2 (30);
|
||
v_prs_perslid_oslogin2 VARCHAR2 (30);
|
||
|
||
-- Bepalen alle personen die in aanmerking komen om verwijderd te worden (INACTIEF)!
|
||
CURSOR cdelprs
|
||
IS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_oslogin,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voornaam
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_perslid_oslogin IS NOT NULL
|
||
AND SUBSTR (p.prs_perslid_oslogin, 1, 1) <> '_'
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_kenmerklink km
|
||
WHERE km.prs_link_key = p.prs_perslid_key
|
||
AND km.prs_kenmerk_key = 1041 -- Key voor Kenmerk 'Import personen uit AD'. In ACCEPTATIEOMGEVING BRANCH: 1040 / In PRODUCTIEOMGEVING: 1041
|
||
AND km.prs_kenmerklink_waarde = '1461') -- Key voor waarde "Ja" bij kenmerk 'Import personen uit AD'.)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM pchd_imp_prs ip
|
||
WHERE UPPER (ip.prs_perslid_oslogin) =
|
||
UPPER (p.prs_perslid_oslogin));
|
||
|
||
--Bepalen alle functie omschrijvingen in het import bestand.
|
||
CURSOR csperslid
|
||
IS
|
||
SELECT UPPER (prs_srtperslid_omschrijving) prs_srtperslid_omschrijving
|
||
FROM pchd_imp_prs
|
||
GROUP BY UPPER (prs_srtperslid_omschrijving);
|
||
|
||
--Bepalen alle wm (werkmaatschappijen) in het import bestand.
|
||
CURSOR cwm
|
||
IS
|
||
SELECT UPPER (prs_perslid_wm) prs_perslid_wm
|
||
FROM pchd_imp_prs
|
||
WHERE prs_perslid_wm IS NOT NULL
|
||
GROUP BY UPPER (prs_perslid_wm);
|
||
|
||
--Bepalen alle organisaties in het import bestand (Business Units)
|
||
CURSOR corg
|
||
IS
|
||
SELECT UPPER (prs_perslid_organisation) prs_perslid_organisation,
|
||
UPPER (prs_perslid_wm) prs_perslid_wm
|
||
FROM pchd_imp_prs
|
||
WHERE prs_perslid_organisation IS NOT NULL
|
||
AND prs_perslid_wm IS NOT NULL
|
||
GROUP BY UPPER (prs_perslid_organisation), UPPER (prs_perslid_wm);
|
||
|
||
-- Met PCHD#60549 hoeven afdelingen niet meer te worden bijgevoegd.
|
||
-- --Bepalen alle afdeling omschrijvingen in het import bestand.
|
||
-- CURSOR cdep
|
||
-- IS
|
||
-- SELECT UPPER(prs_afdeling_naam) prs_afdeling_naam, UPPER (prs_perslid_organisation) prs_perslid_organisation, UPPER (prs_perslid_wm) prs_perslid_wm
|
||
-- FROM pchd_imp_prs
|
||
-- WHERE prs_perslid_organisation IS NOT NULL AND prs_perslid_wm IS NOT NULL AND prs_afdeling_naam IS NOT NULL
|
||
-- GROUP BY UPPER(prs_afdeling_naam), UPPER (prs_perslid_organisation), UPPER (prs_perslid_wm);
|
||
|
||
CURSOR cperslid
|
||
IS
|
||
SELECT * FROM pchd_imp_prs;
|
||
|
||
CURSOR cwerkplek
|
||
IS
|
||
SELECT p.prs_perslid_key,
|
||
i.prs_perslid_oslogin,
|
||
MIN (rg_nvt.alg_ruimte_key) alg_ruimte_key,
|
||
alg_gebouw_key
|
||
FROM prs_ruimteafdeling ra,
|
||
pchd_imp_prs i,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
--prs_afdeling bu,
|
||
alg_v_ruimte_gegevens rg_nvt
|
||
WHERE UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ra.prs_afdeling_key
|
||
AND rg_nvt.alg_ruimte_key = ra.alg_ruimte_key
|
||
AND UPPER (rg_nvt.alg_ruimte_nr) = 'N.V.T.'
|
||
--AND bu.prs_afdeling_key = a.prs_afdeling_parentkey
|
||
AND NOT EXISTS
|
||
(SELECT prs_perslidwerkplek_key
|
||
FROM prs_v_perslidwerkplek_gegevens pwpg
|
||
WHERE pwpg.prs_perslid_key = p.prs_perslid_key
|
||
AND pwpg.alg_gebouw_key = rg_nvt.alg_gebouw_key)
|
||
GROUP BY p.prs_perslid_key,
|
||
i.prs_perslid_oslogin,
|
||
rg_nvt.alg_gebouw_key;
|
||
|
||
--Bepalen autorisatiegroep
|
||
CURSOR cgroep
|
||
IS
|
||
SELECT prs_perslid_oslogin,
|
||
prs_perslid_wm,
|
||
bedrijf_key,
|
||
groep
|
||
FROM (SELECT prs_perslid_wm,
|
||
prs_perslid_oslogin,
|
||
bedrijf_key,
|
||
(SELECT prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_link_key = bedrijf_key
|
||
AND prs_kenmerk_key = 1140
|
||
AND prs_kenmerklink_niveau = 'B'
|
||
AND prs_kenmerklink_verwijder IS NULL)
|
||
AS groep
|
||
FROM (SELECT UPPER (prs_perslid_wm) prs_perslid_wm,
|
||
prs_perslid_oslogin,
|
||
(SELECT prs_link_key
|
||
FROM prs_kenmerklink
|
||
WHERE prs_perslid_wm = prs_kenmerklink_waarde
|
||
AND prs_kenmerk_key = 1120
|
||
AND prs_kenmerklink_niveau = 'B'
|
||
AND prs_kenmerklink_verwijder IS NULL)
|
||
AS bedrijf_key
|
||
FROM pchd_imp_prs
|
||
WHERE prs_perslid_wm IS NOT NULL))
|
||
WHERE bedrijf_key IS NOT NULL AND groep IS NOT NULL;
|
||
|
||
BEGIN
|
||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||
INTO v_count_prs_actual
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_verwijder IS NULL AND prs_perslid_oslogin IS NOT NULL;
|
||
|
||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||
INTO v_count_prs_import
|
||
FROM prs_perslid p, pchd_imp_prs ip
|
||
WHERE p.prs_perslid_oslogin IS NOT NULL
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND p.prs_perslid_oslogin = ip.prs_perslid_oslogin;
|
||
|
||
IF ( (TRUNC ( (v_count_prs_import / v_count_prs_actual) * 100) >=
|
||
(100 - c_max_delta_percentage)))
|
||
THEN
|
||
-- Geldig importbestand wat betreft aantal personen
|
||
|
||
-- Personen verwijderen/inactiefmaken
|
||
FOR recdelprs IN cdelprs
|
||
LOOP
|
||
BEGIN
|
||
prs.delete_perslid (p_import_key, recdelprs.prs_perslid_key);
|
||
END;
|
||
END LOOP;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
-- Toevoegen functies
|
||
FOR recsperslid IN csperslid
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := recsperslid.prs_srtperslid_omschrijving || ' - ';
|
||
v_errorhint := 'Fout bij bepalen functie';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_srtperslid
|
||
WHERE UPPER (prs_srtperslid_omschrijving) =
|
||
UPPER (recsperslid.prs_srtperslid_omschrijving)
|
||
AND prs_srtperslid_verwijder IS NULL;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij toevoegen functie';
|
||
|
||
INSERT INTO prs_srtperslid (prs_srtperslid_omschrijving)
|
||
VALUES (recsperslid.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;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
-- Toevoegen bedrijf (wm: werkmaatschappij)
|
||
FOR recwm IN cwm
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := recwm.prs_perslid_wm || ' - ';
|
||
v_errorhint := 'Fout bij bepalen bedrijf (wm)';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_bedrijf b, prs_kenmerklink bkm
|
||
WHERE b.prs_bedrijf_key = bkm.prs_link_key
|
||
AND bkm.prs_kenmerk_key = 1120 -- Kenmerk WM-code Active Directory bij de bedrijven.
|
||
AND UPPER (bkm.prs_kenmerklink_waarde) =
|
||
UPPER (recwm.prs_perslid_wm)
|
||
AND b.prs_bedrijf_verwijder IS NULL;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij toevoegen bedrijf (wm)';
|
||
v_prs_bedrijf_key := NULL;
|
||
|
||
INSERT INTO prs_bedrijf (prs_bedrijf_naam, prs_bedrijf_intern)
|
||
VALUES (recwm.prs_perslid_wm, 1)
|
||
RETURNING prs_bedrijf_key
|
||
INTO v_prs_bedrijf_key;
|
||
|
||
INSERT INTO prs_kenmerklink (prs_link_key,
|
||
prs_kenmerk_key,
|
||
prs_kenmerklink_waarde)
|
||
VALUES (v_prs_bedrijf_key, 1120, recwm.prs_perslid_wm);
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Er is een nieuwe werkmaatschappij aangemaakt als bedrijf: '
|
||
|| recwm.prs_perslid_wm,
|
||
'Mogelijk moeten nog aanvullende acties gedaan worden door applicatiebeheer');
|
||
|
||
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',
|
||
'Bedrijf: verwerkte regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
'');
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Bedrijf: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
'');
|
||
COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
-- Toevoegen Organisatie (Business Unit)
|
||
FOR recorg IN corg
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
recorg.prs_perslid_organisation
|
||
|| ' - '
|
||
|| recorg.prs_perslid_wm
|
||
|| ' - ';
|
||
v_errorhint := 'Fout bij bepalen organisatie';
|
||
|
||
-- Zoek bedrijf
|
||
v_errorhint := 'Zoek werkmaatschappij';
|
||
|
||
SELECT prs_bedrijf_key
|
||
INTO v_bedrijf_key
|
||
FROM prs_bedrijf b, prs_kenmerklink bkm
|
||
WHERE b.prs_bedrijf_key = bkm.prs_link_key
|
||
AND bkm.prs_kenmerk_key = 1120 -- Kenmerk WM-code Active Directory
|
||
AND UPPER (bkm.prs_kenmerklink_waarde) =
|
||
UPPER (recorg.prs_perslid_wm)
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND b.prs_bedrijf_intern = 1;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM prs_afdeling
|
||
WHERE UPPER (prs_afdeling_omschrijving) =
|
||
UPPER (recorg.prs_perslid_organisation)
|
||
AND prs_bedrijf_key = v_bedrijf_key
|
||
AND prs_afdeling_verwijder IS NULL;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij toevoegen organisatie'; -- Business Unit
|
||
|
||
SELECT prs_s_prs_afdeling_key.NEXTVAL
|
||
INTO v_afdeling_key
|
||
FROM DUAL;
|
||
|
||
INSERT INTO prs_afdeling (prs_bedrijf_key,
|
||
prs_afdeling_key,
|
||
prs_afdeling_naam,
|
||
prs_afdeling_omschrijving)
|
||
VALUES (v_bedrijf_key,
|
||
v_afdeling_key,
|
||
recorg.prs_perslid_wm || v_afdeling_key,
|
||
recorg.prs_perslid_organisation);
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Er is een nieuwe business unit aangemaakt: '
|
||
|| recorg.prs_perslid_organisation
|
||
|| ' met key '
|
||
|| v_afdeling_key,
|
||
'Mogelijk moeten nog aanvullende acties gedaan worden door applicatiebeheer');
|
||
|
||
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',
|
||
'Organisatie: verwerkte regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
'');
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Organisatie: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
'');
|
||
COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
-- Met PCHD#60549 hoeven afdelingen niet meer te worden bijgevoegd.
|
||
-- Toevoegen afdeling
|
||
-- FOR recdep IN cdep
|
||
-- LOOP
|
||
-- BEGIN
|
||
-- v_count_tot := v_count_tot + 1;
|
||
-- v_aanduiding := recdep.prs_afdeling_naam || ' - ' || recdep.prs_perslid_organisation || ' - ' || recdep.prs_perslid_wm || ' - ';
|
||
-- v_errorhint := 'Fout bij bepalen afdeling';
|
||
--
|
||
-- -- Kijken of de waarde uit de import al voorkomt. Er wordt gecontroleerd op unieke voorkomende afdelingomschrijvingen.
|
||
-- -- ??De import is er dus niet op toegerust om meerdere afdelingen te hebben met zelfde omschrijving maar ondere verschillende moeder-afdelingen.
|
||
-- v_errorhint := 'Zoek bovenliggende afdeling';
|
||
-- SELECT prs_afdeling_key, prs_kostenplaats_key
|
||
-- INTO v_afdeling_parentkey, v_kostenplaats_key
|
||
-- FROM prs_afdeling pa, prs_bedrijf pb
|
||
-- WHERE UPPER (pa.prs_afdeling_omschrijving) = UPPER (recdep.prs_perslid_organisation)
|
||
-- AND pa.prs_afdeling_verwijder IS NULL
|
||
-- AND pa.prs_bedrijf_key = pb.prs_bedrijf_key
|
||
-- AND pb.prs_bedrijf_naam = recdep.prs_perslid_wm;
|
||
--
|
||
-- SELECT COUNT (*), MAX(prs_afdeling_key)
|
||
-- INTO v_count, v_afdeling_key
|
||
-- FROM prs_afdeling
|
||
-- WHERE UPPER (prs_afdeling_omschrijving) =
|
||
-- UPPER (recdep.prs_afdeling_naam)
|
||
-- AND prs_afdeling_parentkey = v_afdeling_parentkey
|
||
-- AND prs_afdeling_verwijder IS NULL;
|
||
--
|
||
-- IF (v_count = 0)
|
||
-- THEN
|
||
-- v_errorhint := 'Fout bij toevoegen afdeling';
|
||
-- SELECT prs_s_prs_afdeling_key.nextval
|
||
-- INTO v_afdeling_key
|
||
-- FROM DUAL;
|
||
--
|
||
-- INSERT INTO prs_afdeling
|
||
-- (prs_afdeling_parentkey,
|
||
-- prs_afdeling_key,
|
||
-- prs_afdeling_naam,
|
||
-- prs_kostenplaats_key,
|
||
-- prs_afdeling_omschrijving
|
||
-- )
|
||
-- VALUES (v_afdeling_parentkey,
|
||
-- v_afdeling_key,
|
||
-- recdep.prs_perslid_wm || v_afdeling_key,
|
||
-- v_kostenplaats_key,
|
||
-- recdep.prs_afdeling_naam
|
||
-- );
|
||
-- ELSIF v_count = 1
|
||
-- THEN
|
||
-- UPDATE prs_afdeling
|
||
-- SET prs_kostenplaats_key = v_kostenplaats_key
|
||
-- WHERE prs_afdeling_key = v_afdeling_key;
|
||
-- END IF;
|
||
-- COMMIT;
|
||
-- 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',
|
||
-- 'Afdeling: verwerkte regels zonder foutmelding: '
|
||
-- || TO_CHAR (v_count_tot - v_count_error),
|
||
-- ''
|
||
-- );
|
||
-- fac.imp_writelog (p_import_key,
|
||
-- 'S',
|
||
-- 'Afdeling: verwerkte regels met foutmelding: '
|
||
-- || TO_CHAR (v_count_error),
|
||
-- ''
|
||
-- );
|
||
-- COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
|
||
-- Toevoegen personen
|
||
FOR recperslid IN cperslid
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
recperslid.prs_perslid_oslogin
|
||
|| '|'
|
||
|| recperslid.prs_perslid_naam
|
||
|| '|'
|
||
|| recperslid.prs_perslid_voornaam
|
||
|| ' - ';
|
||
v_errorhint :=
|
||
'Fout bij bepalen functie ['
|
||
|| recperslid.prs_srtperslid_omschrijving
|
||
|| ']';
|
||
|
||
-- Zoek functie-KEY behorend bij de functie van de persoon
|
||
SELECT prs_srtperslid_key
|
||
INTO v_srtperslid_key
|
||
FROM prs_srtperslid
|
||
WHERE prs_srtperslid_verwijder IS NULL
|
||
AND UPPER (prs_srtperslid_omschrijving) =
|
||
UPPER (recperslid.prs_srtperslid_omschrijving);
|
||
|
||
v_errorhint :=
|
||
'Fout bij bepalen afdeling persoon ['
|
||
|| recperslid.prs_afdeling_naam
|
||
|| '-'
|
||
|| recperslid.prs_perslid_organisation
|
||
|| '-'
|
||
|| recperslid.prs_perslid_wm
|
||
|| ']';
|
||
|
||
-- Zoek afdeling-KEY behorend bij de afdeling van de persoon
|
||
SELECT a.prs_afdeling_key
|
||
INTO v_afdeling_key
|
||
FROM prs_bedrijf b, prs_afdeling a, prs_kenmerklink bkm
|
||
WHERE b.prs_bedrijf_key = bkm.prs_link_key
|
||
AND bkm.prs_kenmerk_key = 1120 -- Kenmerk WM-code Active Directory bij de bedrijven.
|
||
AND UPPER (bkm.prs_kenmerklink_waarde) =
|
||
UPPER (recperslid.prs_perslid_wm)
|
||
AND UPPER (a.prs_afdeling_omschrijving) =
|
||
UPPER (recperslid.prs_perslid_organisation)
|
||
AND b.prs_bedrijf_key = a.prs_bedrijf_key
|
||
AND a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND b.prs_bedrijf_verwijder IS NULL;
|
||
|
||
v_errorhint := 'Fout bij bepalen persoon';
|
||
|
||
-- Zoek perslid-KEY, behorend bij bestaand persoon, voor het updaten van de juiste persoon
|
||
SELECT COUNT ( * ), MAX (prs_perslid_key)
|
||
INTO v_count, v_perslid_key
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_verwijder IS NULL
|
||
AND UPPER (prs_perslid_oslogin) =
|
||
UPPER (recperslid.prs_perslid_oslogin);
|
||
|
||
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_voornaam,
|
||
prs_perslid_naam,
|
||
prs_perslid_tussenvoegsel,
|
||
prs_perslid_oslogin,
|
||
prs_perslid_email,
|
||
prs_perslid_telefoonnr,
|
||
prs_perslid_mobiel)
|
||
VALUES ('PRS',
|
||
v_srtperslid_key,
|
||
v_afdeling_key,
|
||
recperslid.prs_perslid_voornaam,
|
||
recperslid.prs_perslid_naam,
|
||
recperslid.prs_perslid_tussenvoegsel,
|
||
recperslid.prs_perslid_oslogin,
|
||
recperslid.prs_perslid_email,
|
||
recperslid.prs_perslid_telefoonnr,
|
||
recperslid.prs_perslid_mobiel)
|
||
RETURNING prs_perslid_key
|
||
INTO v_perslid_key;
|
||
|
||
v_errorhint := 'Fout bij bepalen loginnaam';
|
||
ELSIF v_count = 1
|
||
THEN
|
||
v_errorhint := 'Fout bij wijzigen persoon';
|
||
|
||
BEGIN
|
||
UPDATE prs_perslid p
|
||
SET p.prs_srtperslid_key = v_srtperslid_key,
|
||
p.prs_afdeling_key = v_afdeling_key,
|
||
p.prs_perslid_voornaam =
|
||
recperslid.prs_perslid_voornaam,
|
||
p.prs_perslid_naam = recperslid.prs_perslid_naam,
|
||
p.prs_perslid_tussenvoegsel =
|
||
recperslid.prs_perslid_tussenvoegsel,
|
||
p.prs_perslid_oslogin =
|
||
recperslid.prs_perslid_oslogin,
|
||
p.prs_perslid_telefoonnr =
|
||
recperslid.prs_perslid_telefoonnr,
|
||
p.prs_perslid_mobiel = recperslid.prs_perslid_mobiel,
|
||
p.prs_perslid_email = recperslid.prs_perslid_email
|
||
WHERE p.prs_perslid_key = v_perslid_key;
|
||
END;
|
||
ELSIF v_count > 1
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
v_aanduiding || ' kan persoon niet 1-duidig bepalen',
|
||
v_errorhint);
|
||
END IF;
|
||
|
||
IF v_count < 2
|
||
THEN
|
||
v_errorhint :=
|
||
'Fout bij toevoegen kenmerk import personen uit AD';
|
||
|
||
-- Toevoegen kenmerk "Import personen uit AD'
|
||
-- Key voor Kenmerk 'Import personen uit AD': 1041
|
||
-- Waarde "Ja" voor Kenmerk 'Import personen uit AD'.
|
||
prs.upsertkenmerk (1041, v_perslid_key, '1461');
|
||
|
||
v_errorhint := 'Fout bij toevoegen kenmerk Costcarrier';
|
||
-- Toevoegen kenmerk "Costcarrier'
|
||
-- Key voor Kenmerk 'Costcarrier': 1060
|
||
prs.upsertkenmerk (1060,
|
||
v_perslid_key,
|
||
recperslid.prs_perslid_costcarrier);
|
||
|
||
-- Toevoegen kenmerk "Company code'
|
||
-- Key voor Kenmerk 'Costcarrier': 1080
|
||
prs.upsertkenmerk (1080,
|
||
v_perslid_key,
|
||
recperslid.prs_perslid_companycode);
|
||
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;
|
||
|
||
-- Toevoegen autorisatiegroepen
|
||
FOR recgroep IN cgroep
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
recgroep.prs_perslid_oslogin;
|
||
v_errorhint :=
|
||
'Fout bij bepalen perslid_key tbv toevoegen autorisatiegroep';
|
||
|
||
SELECT MAX (prs_perslid_key)
|
||
INTO v_perslid_key
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_verwijder IS NULL
|
||
AND UPPER (prs_perslid_oslogin) =
|
||
UPPER (recgroep.prs_perslid_oslogin);
|
||
|
||
v_errorhint :=
|
||
'Fout bij bepalen aantal gebruikersgroepen bij perslid';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM fac_gebruikersgroep
|
||
WHERE prs_perslid_key = v_perslid_key
|
||
AND fac_groep_key = recgroep.groep;
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij toevoegen autorisatiegroep';
|
||
|
||
INSERT INTO fac_gebruikersgroep (prs_perslid_key,
|
||
fac_groep_key)
|
||
VALUES (v_perslid_key, recgroep.groep);
|
||
|
||
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;
|
||
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)
|
||
|| ']');
|
||
COMMIT;
|
||
END IF; -- Geldig importbestand wat betreft aantal inserts
|
||
|
||
COMMIT;
|
||
|
||
-- Eerst werkplekken verwijderen die niet voldoen aan de conventie Ruimte-Afdeling.
|
||
-- Daarbij dit enkel doen bij de personen waarvan de login naam in de import wordt aangeboden.
|
||
-- Daarbij enkel de werkplekken met als omschrijving n.v.t' verwijderen, eventuele andere ruimtes die als werkplek zijn gekoppeld blijven dan wel in tact.
|
||
|
||
DELETE FROM prs_perslidwerkplek
|
||
WHERE prs_perslidwerkplek_key IN
|
||
(SELECT pwp.prs_perslidwerkplek_key
|
||
FROM prs_werkplek wp,
|
||
prs_perslidwerkplek pwp,
|
||
prs_perslid p,
|
||
pchd_imp_prs i,
|
||
alg_v_ruimte_gegevens r
|
||
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
|
||
AND r.alg_ruimte_key = wp.prs_alg_ruimte_key
|
||
AND p.prs_perslid_key = pwp.prs_perslid_key
|
||
AND UPPER (p.prs_perslid_oslogin) =
|
||
UPPER (i.prs_perslid_oslogin)
|
||
AND UPPER (wp.prs_werkplek_omschrijving) LIKE
|
||
'%N.V.T.%'
|
||
AND wp.prs_alg_ruimte_key NOT IN
|
||
(SELECT (rg_nvt.alg_ruimte_key)
|
||
alg_ruimte_key
|
||
FROM prs_ruimteafdeling ra,
|
||
pchd_imp_prs i,
|
||
prs_perslid pp,
|
||
prs_afdeling a,
|
||
alg_v_ruimte_gegevens rg_nvt
|
||
WHERE UPPER (pp.prs_perslid_oslogin) =
|
||
UPPER (
|
||
i.prs_perslid_oslogin)
|
||
AND pp.prs_perslid_key =
|
||
p.prs_perslid_key
|
||
AND pp.prs_afdeling_key =
|
||
a.prs_afdeling_key
|
||
AND a.prs_afdeling_key =
|
||
ra.prs_afdeling_key
|
||
AND rg_nvt.alg_ruimte_key =
|
||
ra.alg_ruimte_key
|
||
AND UPPER (
|
||
rg_nvt.alg_ruimte_nr) =
|
||
'N.V.T.'));
|
||
|
||
FOR recwerkplek IN cwerkplek
|
||
LOOP
|
||
BEGIN
|
||
-- Maximaal een werkplek per gebouw
|
||
prs.movetoruimte (recwerkplek.prs_perslid_key,
|
||
recwerkplek.alg_ruimte_key,
|
||
'G',
|
||
0);
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
END pchd_update_perslid;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_rap_catresbasis
|
||
(
|
||
resnr,
|
||
locatie,
|
||
gebouw,
|
||
ruimte,
|
||
contactp,
|
||
kostenpl,
|
||
datum,
|
||
van,
|
||
tot,
|
||
artikel_nr,
|
||
artikel,
|
||
aantal,
|
||
levering,
|
||
dieet,
|
||
wensen,
|
||
kosten_klant,
|
||
kostenplaats_klant
|
||
)
|
||
AS
|
||
SELECT resnr_volgnr,
|
||
alg_locatie_omschrijving,
|
||
alg_gebouw_omschrijving,
|
||
res_ruimte_nr,
|
||
prs_perslid_naam_full,
|
||
kostenplaats,
|
||
datum,
|
||
van,
|
||
tot,
|
||
artikel_nr,
|
||
soort_catering,
|
||
aantal,
|
||
res_rsv_artikel_levering,
|
||
kmdieet,
|
||
kmwens,
|
||
kosten_klant,
|
||
kostenplaats_klant
|
||
FROM (SELECT rr.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr
|
||
AS resnr_volgnr,
|
||
rg.alg_locatie_omschrijving,
|
||
rg.alg_gebouw_omschrijving,
|
||
COALESCE (
|
||
(SELECT rru.res_ruimte_nr
|
||
FROM res_ruimte rru
|
||
WHERE r2a.res_ruimte_key = rru.res_ruimte_key),
|
||
rg.alg_ruimte_nr || ' ' || rg.alg_ruimte_omschrijving)
|
||
AS res_ruimte_nr,
|
||
pf.prs_perslid_naam_full,
|
||
(SELECT MAX (kmw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kmw,
|
||
res_kenmerk km,
|
||
res_srtkenmerk sk
|
||
WHERE kmw.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND km.res_kenmerk_key = kmw.res_kenmerk_key
|
||
AND sk.res_srtkenmerk_key = km.res_srtkenmerk_key
|
||
AND sk.res_srtkenmerk_key = 2)
|
||
kostenplaats, -- Kenmerksoort: Kostenplaats binnen werkmaatschappij'
|
||
TRUNC (rr.res_rsv_ruimte_van)
|
||
datum,
|
||
TO_CHAR (ra.res_rsv_artikel_levering, 'HH24:MI')
|
||
van,
|
||
TO_CHAR (rr.res_rsv_ruimte_tot, 'HH24:MI')
|
||
tot,
|
||
rart.res_artikel_nr
|
||
artikel_nr,
|
||
rart.res_artikel_omschrijving
|
||
soort_catering,
|
||
ra.res_rsv_artikel_aantal
|
||
aantal,
|
||
ra.res_rsv_artikel_levering,
|
||
(SELECT MAX (rkmw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde rkmw,
|
||
res_kenmerk rkm,
|
||
res_srtkenmerk rsk
|
||
WHERE rsk.res_srtkenmerk_key =
|
||
rkm.res_srtkenmerk_key
|
||
AND rkm.res_kenmerk_key = rkmw.res_kenmerk_key
|
||
AND rkmw.res_rsv_ruimte_key =
|
||
rr.res_rsv_ruimte_key
|
||
AND rsk.res_srtkenmerk_key = 21) -- Kenmerksoort 'Dieetwensen / allergieen'
|
||
kmdieet,
|
||
(SELECT MAX (rkmw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde rkmw,
|
||
res_kenmerk rkm,
|
||
res_srtkenmerk rsk
|
||
WHERE rsk.res_srtkenmerk_key =
|
||
rkm.res_srtkenmerk_key
|
||
AND rkm.res_kenmerk_key = rkmw.res_kenmerk_key
|
||
AND rkmw.res_rsv_ruimte_key =
|
||
rr.res_rsv_ruimte_key
|
||
AND rsk.res_srtkenmerk_key = 41) -- Kenmerksoort 'Aanvullende wensen lunch'
|
||
kmwens,
|
||
DECODE (rr.RES_RSV_RUIMTE_KOSTEN_KLANT, 1, 'Ja')
|
||
kosten_klant,
|
||
(SELECT prs_kostenplaats_omschrijving
|
||
FROM prs_kostenplaats
|
||
WHERE rr.prs_kostenplaats_key = prs_kostenplaats_key)
|
||
kostenplaats_klant
|
||
FROM res_rsv_ruimte rr,
|
||
res_rsv_artikel ra,
|
||
res_artikel rart,
|
||
alg_v_ruimte_gegevens rg,
|
||
prs_v_perslid_fullnames_all pf,
|
||
(SELECT rr2.res_rsv_ruimte_key,
|
||
rr2.res_reservering_key,
|
||
COALESCE (rr2.alg_ruimte_key, r2r.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
res_ruimte_key
|
||
FROM res_v_rsv_ruimte_2_alg_ruimte r2r,
|
||
res_rsv_ruimte rr2
|
||
WHERE r2r.res_rsv_ruimte_key(+) =
|
||
rr2.res_rsv_ruimte_key
|
||
AND res_alg_ruimte_verwijder IS NULL) r2a
|
||
WHERE rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
|
||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||
AND r2a.alg_ruimte_key = rg.alg_ruimte_key
|
||
AND r2a.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND rr.res_rsv_ruimte_contact_key = pf.prs_perslid_key
|
||
AND ra.res_artikel_key = rart.res_artikel_key
|
||
AND ra.res_rsv_artikel_verwijder IS NULL
|
||
AND rart.res_discipline_key IN (1001,
|
||
1002,
|
||
1003,
|
||
1004,
|
||
1005) -- Discipline / Catalogus "Lunch" weghalen voor productie!!
|
||
AND rr.res_status_fo_key <= 5)
|
||
GROUP BY resnr_volgnr,
|
||
alg_locatie_omschrijving,
|
||
alg_gebouw_omschrijving,
|
||
res_ruimte_nr,
|
||
prs_perslid_naam_full,
|
||
kostenplaats,
|
||
datum,
|
||
van,
|
||
tot,
|
||
artikel_nr,
|
||
soort_catering,
|
||
aantal,
|
||
res_rsv_artikel_levering,
|
||
kmdieet,
|
||
kmwens,
|
||
kosten_klant,
|
||
kostenplaats_klant;
|
||
|
||
|
||
|
||
-- Levert de catering voor morgen
|
||
CREATE OR REPLACE FORCE VIEW pchd_v_rap_catres1
|
||
AS
|
||
SELECT resnr,
|
||
locatie,
|
||
gebouw,
|
||
ruimte,
|
||
contactp,
|
||
kostenpl,
|
||
datum,
|
||
van,
|
||
tot,
|
||
artikel_nr,
|
||
artikel,
|
||
aantal,
|
||
dieet,
|
||
wensen,
|
||
kosten_klant,
|
||
kostenplaats_klant
|
||
FROM pchd_v_rap_catresbasis
|
||
WHERE TRUNC (levering) = TRUNC (fac.datumtijdplusuitvoertijd (SYSDATE,
|
||
1,
|
||
'D',
|
||
0,
|
||
24,
|
||
1))
|
||
AND fac.getweekdaynum (SYSDATE) NOT IN (1, 7);
|
||
|
||
|
||
-- Levert de catering lijst voor vandaag
|
||
CREATE OR REPLACE FORCE VIEW pchd_v_rap_catres2
|
||
AS
|
||
SELECT resnr,
|
||
locatie,
|
||
gebouw,
|
||
ruimte,
|
||
contactp,
|
||
kostenpl,
|
||
datum,
|
||
van,
|
||
tot,
|
||
artikel_nr,
|
||
artikel,
|
||
aantal,
|
||
dieet,
|
||
wensen,
|
||
kosten_klant,
|
||
kostenplaats_klant
|
||
FROM pchd_v_rap_catresbasis
|
||
WHERE fac.getweekdaynum (SYSDATE) NOT IN (1, 7)
|
||
AND TRUNC (levering) = TRUNC (SYSDATE);
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_noti_catres1
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST01' AS code,
|
||
NULL,
|
||
10481, -- Persoon "Verhoef B.V.", voor de emailadressen
|
||
'Cateringreserveringen',
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE UPPER(fac_usrrap_view_name) = 'PCHD_V_RAP_CATRES1')
|
||
rapportnr,
|
||
NULL
|
||
FROM DUAL
|
||
WHERE fac.iswerkdag (SYSDATE) = 1;
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_rap_schoonm_basis
|
||
(
|
||
resnr,
|
||
ruimte,
|
||
locatie,
|
||
van,
|
||
tot,
|
||
status,
|
||
personen,
|
||
gastheer_gastvrouw,
|
||
aanvrager,
|
||
omschrijving
|
||
)
|
||
AS
|
||
SELECT r.nummer,
|
||
r.ruimte,
|
||
r.locatie,
|
||
r.van,
|
||
r.tot,
|
||
r.status,
|
||
r.bezoekers,
|
||
r.gastheer,
|
||
r.contact,
|
||
r.res_omschrijving
|
||
FROM res_v_udr_reservering r
|
||
WHERE r.reserveerbare_ruimte = 'Ja' AND r.locatie = 'VIA01'
|
||
ORDER BY r.tot ASC;
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_rap_schoonm_today
|
||
(
|
||
resnr,
|
||
ruimte,
|
||
locatie,
|
||
van,
|
||
tot,
|
||
status,
|
||
personen,
|
||
gastheer_gastvrouw,
|
||
aanvrager,
|
||
omschrijving
|
||
)
|
||
AS
|
||
SELECT resnr,
|
||
ruimte,
|
||
locatie,
|
||
van,
|
||
tot,
|
||
status,
|
||
personen,
|
||
gastheer_gastvrouw,
|
||
aanvrager,
|
||
omschrijving
|
||
FROM pchd_v_rap_schoonm_basis
|
||
WHERE fac.getweekdaynum (SYSDATE) NOT IN (1, 7)
|
||
AND TRUNC (van) = TRUNC (SYSDATE);
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_noti_schoonmaak
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST03' AS code,
|
||
NULL,
|
||
16161, -- Persoon "_Schoonmaak_Van_Vliet", voor de emailadressen
|
||
'Schoonmaken gereserveerde ruimte',
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE UPPER (fac_usrrap_view_name) = 'PCHD_V_RAP_SCHOONM_TODAY')
|
||
rapportnr,
|
||
NULL
|
||
FROM DUAL
|
||
WHERE fac.iswerkdag (SYSDATE) = 1;
|
||
|
||
|
||
CREATE OR REPLACE VIEW PCHD_V_CNTR_CNTRREF
|
||
(
|
||
CONTRACT_KEY,
|
||
CONTRACT_NUMMER,
|
||
VERWIJDER_DATUM
|
||
)
|
||
AS
|
||
SELECT cnt.cnt_contract_key,
|
||
cnt.cnt_contract_nummer_intern || case when cnt.cnt_contract_versie IS NULL OR cnt.cnt_contract_versie = ''THEN '' ELSE '.'||cnt.cnt_contract_versie END || ' - ' || cdisc.INS_DISCIPLINE_OMSCHRIJVING ,
|
||
cnt.CNT_CONTRACT_VERWIJDER
|
||
FROM cnt_contract cnt, cnt_discipline cdisc
|
||
WHERE cnt.INS_DISCIPLINE_KEY = cdisc.INS_DISCIPLINE_KEY;
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_noti_catres2
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST02' AS code,
|
||
NULL,
|
||
10481, -- Persoon "Verhoef B.V.", voor de emailadressen
|
||
'Cateringreserveringen',
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE UPPER(fac_usrrap_view_name) = 'PCHD_V_RAP_CATRES2')
|
||
rapportnr,
|
||
NULL
|
||
FROM DUAL
|
||
WHERE fac.iswerkdag (SYSDATE) = 1;
|
||
|
||
|
||
|
||
-- PCHD#55492 VIEW om referentievelden naar meldingen te kunnen maken.
|
||
CREATE OR REPLACE VIEW pchd_v_mld_mldref
|
||
(
|
||
MELDING_KEY,
|
||
MELDING_NUMMER
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
srt.INS_SRTDISCIPLINE_PREFIX
|
||
|| m.mld_melding_key
|
||
|| ' - '
|
||
|| sm.MLD_STDMELDING_OMSCHRIJVING
|
||
FROM mld_melding m, ins_srtdiscipline srt, mld_stdmelding sm, mld_discipline d
|
||
WHERE m.MLD_STDMELDING_KEY = sm.MLD_STDMELDING_KEY AND
|
||
sm.MLD_INS_DISCIPLINE_KEY = d.INS_DISCIPLINE_KEY
|
||
AND d.INS_SRTDISCIPLINE_KEY = srt.INS_SRTDISCIPLINE_KEY;
|
||
|
||
|
||
|
||
--Rapport tbv controle welke werkplekken extra zijn aangemaakt tav cursor in import.
|
||
--Deze werkplekken kunnen mogelijk verwijderd worden.
|
||
--De select in de NOT EXIST is de cursor van de import, met filter op prs_key en ruimte_key tav de werkplekken. Bovendien controle op omschrijving van bu en wm tov de import-gegevens.
|
||
CREATE OR REPLACE VIEW pchd_v_rap_extrawerkplekken
|
||
AS
|
||
SELECT pwp.prs_perslidwerkplek_key,
|
||
p.prs_perslid_key,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_oslogin,
|
||
og.alg_plaatsaanduiding,
|
||
d.alg_district_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
og.alg_verdieping_omschrijving,
|
||
og.alg_gebouw_naam,
|
||
og.alg_ruimte_nr
|
||
FROM prs_perslidwerkplek pwp,
|
||
prs_werkplek wp,
|
||
prs_perslid p,
|
||
pchd_imp_prs i,
|
||
alg_v_allonrgoed_gegevens og,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
|
||
AND pwp.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_oslogin = UPPER (i.prs_perslid_oslogin)
|
||
AND wp.prs_alg_ruimte_key = og.alg_ruimte_key
|
||
AND og.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key
|
||
AND NOT EXISTS
|
||
(SELECT p.prs_perslid_key,
|
||
i.prs_perslid_oslogin,
|
||
ra.alg_ruimte_key,
|
||
g.alg_gebouw_omschrijving
|
||
FROM alg_ruimte ir,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
pchd_imp_prs ii,
|
||
prs_perslid ip,
|
||
prs_afdeling a,
|
||
prs_ruimteafdeling ra
|
||
WHERE ir.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 UPPER (a.prs_afdeling_omschrijving) =
|
||
UPPER (ii.prs_perslid_organisation)
|
||
AND UPPER (ii.prs_perslid_wm) =
|
||
(SELECT b.prs_bedrijf_naam_upper
|
||
FROM prs_bedrijf b, prs_v_afdeling ba
|
||
WHERE ba.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND ba.prs_afdeling_key = a.prs_afdeling_key)
|
||
AND UPPER (ip.prs_perslid_oslogin) =
|
||
UPPER (ii.prs_perslid_oslogin)
|
||
AND ra.prs_afdeling_key = a.prs_afdeling_key
|
||
AND ra.prs_ruimteafdeling_verwijder IS NULL
|
||
AND ra.alg_ruimte_key = ir.alg_ruimte_key
|
||
AND UPPER (ir.alg_ruimte_nr) = 'N.V.T.'
|
||
AND ip.prs_perslid_key = p.prs_perslid_key
|
||
AND ir.alg_ruimte_key = wp.prs_alg_ruimte_key);
|
||
|
||
|
||
-- Koppeling om crediteurgegevens vanuit PCHD te verspreiden over de andere PCH omgevingen.
|
||
CREATE OR REPLACE VIEW pchd_v_export_bedrijf_gegevens
|
||
AS
|
||
SELECT 'prs_bedrijf_key;prs_bedrijf_naam;prs_bedrijf_post_adres;prs_bedrijf_post_postcode;prs_bedrijf_post_plaats;prs_bedrijf_post_land;prs_bedrijf_bezoek_adres;prs_bedrijf_bezoek_postcode;prs_bedrijf_bezoek_plaats;prs_bedrijf_bezoek_land;prs_bedrijf_telefoon;prs_bedrijf_fax;prs_bedrijf_telefoon2;prs_bedrijf_contact_persoon;prs_bedrijf_contact_telefoon;prs_bedrijf_contact_fax;prs_bedrijf_opmerking;prs_bedrijf_opmerking2;prs_bedrijf_uurloon;prs_leverancier_nr;prs_overeenkomst_nr;prs_overeenkomst_datum;prs_bedrijf_email;prs_bedrijf_order_confirm;prs_bedrijf_image_loc;prs_bedrijf_details_loc;prs_bedrijf_xmldetails_loc;prs_bedrijf_xmlcatalogus_loc;prs_bedrijf_bes_limiet;prs_bedrijf_bes_kosten;prs_bedrijf_aanmaak;prs_bedrijf_verwijder;prs_bedrijf_leverancier;prs_bedrijf_uitvoerende;prs_bedrijf_contract;prs_bedrijf_intern;prs_bedrijf_huurder;prs_bedrijf_bezoeker;prs_bedrijf_ingids;prs_bedrijf_bes_factor;prs_relatietype_omschrijving;prs_bedrijfadres_key;prs_bedrijfadres_type;mld_typeopdr_omschrijving;prs_bedrijfadres_url;prs_bedrijfadres_ordermode;prs_bedrijfadres_certificate;prs_bedrijfadres_xsl;prs_bedrijfadres_ext;prs_bedrijfadres_username;prs_bedrijfadres_password;prs_bedrijfadres_attachfile;prs_bedrijfadres_flexfiles;prs_bedrijfadres_encoding;prs_bedrijfadres_authmethod;prs_bedrijfadres_soapversion;prs_bedrijfadres_soapaction;bedrijfadres_lockuser_naam;prs_bedrijfadres_locksecret;prs_bedrijfadres_lockexpire' result,
|
||
-1 result_order
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"' || b.prs_bedrijf_key || '";"' ||
|
||
REPLACE(b.prs_bedrijf_naam, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_post_adres, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_post_postcode, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_post_plaats, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_post_land, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_bezoek_adres, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_bezoek_postcode, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_bezoek_plaats, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_bezoek_land, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_telefoon, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_fax, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_telefoon2, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_contact_persoon, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_contact_telefoon, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_contact_fax, '"', CHR(39)) || '";"' ||
|
||
REPLACE(REPLACE(b.prs_bedrijf_opmerking, '"', CHR(39)), CHR(10)) || '";"' ||
|
||
REPLACE(REPLACE(b.prs_bedrijf_opmerking2, '"', CHR(39)), CHR(10)) || '";"' ||
|
||
b.prs_bedrijf_uurloon || '";"' ||
|
||
REPLACE(b.prs_leverancier_nr, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_overeenkomst_nr, '"', CHR(39)) || '";"' ||
|
||
TO_CHAR(b.prs_overeenkomst_datum, 'yyyy-mm-dd hh24:mi:ss') || '";"' ||
|
||
REPLACE(b.prs_bedrijf_email, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_order_confirm, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_image_loc, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_details_loc, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_xmldetails_loc, '"', CHR(39)) || '";"' ||
|
||
REPLACE(b.prs_bedrijf_xmlcatalogus_loc, '"', CHR(39)) || '";"' ||
|
||
b.prs_bedrijf_bes_limiet || '";"' ||
|
||
b.prs_bedrijf_bes_kosten || '";"' ||
|
||
TO_CHAR(b.prs_bedrijf_aanmaak, 'yyyy-mm-dd hh24:mi:ss') || '";"' ||
|
||
TO_CHAR(b.prs_bedrijf_verwijder, 'yyyy-mm-dd hh24:mi:ss') || '";"' ||
|
||
b.prs_bedrijf_leverancier || '";"' ||
|
||
b.prs_bedrijf_uitvoerende || '";"' ||
|
||
b.prs_bedrijf_contract || '";"' ||
|
||
b.prs_bedrijf_intern || '";"' ||
|
||
b.prs_bedrijf_huurder || '";"' ||
|
||
b.prs_bedrijf_bezoeker || '";"' ||
|
||
b.prs_bedrijf_ingids || '";"' ||
|
||
b.prs_bedrijf_bes_factor || '";"' ||
|
||
REPLACE(rt.prs_relatietype_omschrijving, '"', CHR(39)) || '";"' ||
|
||
ba.prs_bedrijfadres_key || '";"' ||
|
||
ba.prs_bedrijfadres_type || '";"' ||
|
||
REPLACE(ot.mld_typeopdr_omschrijving, '"', CHR(39)) || '";"' ||
|
||
REPLACE(ba.prs_bedrijfadres_url, '"', CHR(39)) || '";"' ||
|
||
ba.prs_bedrijfadres_ordermode || '";"' ||
|
||
REPLACE(ba.prs_bedrijfadres_certificate, '"', CHR(39)) || '";"' ||
|
||
REPLACE(ba.prs_bedrijfadres_xsl, '"', CHR(39)) || '";"' ||
|
||
REPLACE(ba.prs_bedrijfadres_ext, '"', CHR(39)) || '";"' ||
|
||
REPLACE(ba.prs_bedrijfadres_username, '"', CHR(39)) || '";"' ||
|
||
REPLACE(ba.prs_bedrijfadres_password, '"', CHR(39)) || '";"' ||
|
||
ba.prs_bedrijfadres_attachfile || '";"' ||
|
||
ba.prs_bedrijfadres_flexfiles || '";"' ||
|
||
ba.prs_bedrijfadres_encoding || '";"' ||
|
||
ba.prs_bedrijfadres_authmethod || '";"' ||
|
||
ba.prs_bedrijfadres_soapversion || '";"' ||
|
||
REPLACE(ba.prs_bedrijfadres_soapaction, '"', CHR(39)) || '";"' ||
|
||
REPLACE(lu.prs_perslid_naam, '"', CHR(39)) || '";"' ||
|
||
REPLACE(ba.prs_bedrijfadres_locksecret, '"', CHR(39)) || '";"' ||
|
||
ba.prs_bedrijfadres_lockexpire || '";' result,
|
||
b.prs_bedrijf_key result_order
|
||
FROM prs_bedrijf b,
|
||
prs_relatietype rt,
|
||
prs_bedrijfadres ba,
|
||
prs_kenmerklink kl,
|
||
prs_perslid lu,
|
||
mld_typeopdr ot
|
||
WHERE b.prs_bedrijf_key = ba.prs_bedrijf_key(+)
|
||
AND b.prs_relatietype_key = rt.prs_relatietype_key(+)
|
||
AND ba.prs_bedrijfadres_lockuser_key = lu.prs_perslid_key(+)
|
||
AND ba.mld_typeopdr_key = ot.mld_typeopdr_key(+)
|
||
AND kl.prs_kenmerk_key = 1020
|
||
AND kl.prs_link_key = b.prs_bedrijf_key
|
||
AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = 1
|
||
AND b.prs_bedrijf_verwijder IS NULL;
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_export_contactpersoon
|
||
AS
|
||
SELECT 'prs_contactpersoon_key;prs_contactpersoon_naam;prs_contactpersoon_tussenv;prs_contactpersoon_voorletters;' ||
|
||
'prs_contactpersoon_voornaam;prs_contactpersoon_aanhef;prs_contactpersoon_titel;prs_contactpersoon_telefoon_1;' ||
|
||
'prs_contactpersoon_telefoon_2;prs_contactpersoon_fax;prs_contactpersoon_email;prs_contactpersoon_functie;' ||
|
||
'prs_contactpersoon_opmerking;prs_bedrijf_key;prs_bedrijf_naam' result,
|
||
-1 result_order
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"' || cp.prs_contactpersoon_key || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_naam, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_tussenv, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_voorletters, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_voornaam, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_aanhef, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_titel, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_telefoon_1, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_telefoon_2, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_fax, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_email, '"', CHR(39)) || '";"' ||
|
||
REPLACE(cp.prs_contactpersoon_functie, '"', CHR(39)) || '";"' ||
|
||
REPLACE(REPLACE(cp.prs_contactpersoon_opmerking, '"', CHR(39)), CHR(10)) || '";"' ||
|
||
cp.prs_bedrijf_key || '";"' ||
|
||
REPLACE(b.prs_bedrijf_naam, '"', CHR(39)) || '"',
|
||
b.prs_bedrijf_key result_order
|
||
FROM prs_contactpersoon cp, prs_bedrijf b, prs_kenmerklink kl
|
||
WHERE cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND kl.prs_link_key = b.prs_bedrijf_key
|
||
AND kl.prs_kenmerk_key = 1020
|
||
AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = 1
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND cp.prs_contactpersoon_verwijder IS NULL;
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_rap_offerteopdr
|
||
(
|
||
melding_key,
|
||
vakgroep,
|
||
melding,
|
||
opdracht_type,
|
||
opdracht_nummer,
|
||
opdracht_status,
|
||
opdracht_locatie_code,
|
||
opdracht_gebouw,
|
||
opdracht_verdieping,
|
||
opdracht_ruimtenr,
|
||
opdracht_datum,
|
||
opdracht_verstrektdatum,
|
||
opdracht_afgemeld,
|
||
opdracht_omschrijving,
|
||
opdracht_opmerking,
|
||
opdracht_kosten,
|
||
opdracht_uitvoerende,
|
||
opdracht_uitvoerende_contact,
|
||
opdracht_behandelaar,
|
||
bijlage,
|
||
opdracht_na_offerte
|
||
)
|
||
AS
|
||
SELECT mo.melding_key,
|
||
mo.productgroep,
|
||
mo.subproductgroep,
|
||
mo.opdracht_type,
|
||
mo.opdracht_nummer,
|
||
mo.opdracht_status,
|
||
mo.opdracht_locatie_code,
|
||
mo.opdracht_gebouw,
|
||
mo.opdracht_verdieping,
|
||
mo.opdracht_ruimtenr,
|
||
TRUNC (mo.opdracht_datum) AS opdracht_datum,
|
||
TRUNC (mo.opdracht_verstrektdatum) AS opdracht_verstrektdatum,
|
||
mo.opdracht_afgemeld,
|
||
mo.opdracht_omschrijving,
|
||
mo.opdracht_opmerking,
|
||
mo.opdracht_kosten,
|
||
mo.opdracht_uitvoerende,
|
||
mo.opdracht_uitvoerende_contact,
|
||
mo.opdracht_behandelaar,
|
||
(SELECT mld_kenmerkopdr_waarde
|
||
FROM mld_kenmerkopdr kmo
|
||
WHERE kmo.mld_opdr_key = mo.opdracht_key AND mld_kenmerk_key = 82)
|
||
AS bijlage,
|
||
CASE
|
||
WHEN (SELECT COUNT (opdracht_key)
|
||
FROM mld_v_udr_opdracht o
|
||
WHERE o.melding_key = mo.melding_key
|
||
AND SUBSTR (opdracht_type, 1, 7) = 'Offerte') > 0
|
||
THEN
|
||
'Opdracht_na_offerte'
|
||
ELSE
|
||
''
|
||
END
|
||
AS opdracht_na_offerte
|
||
FROM mld_v_udr_meldingopdracht mo;
|
||
|
||
CREATE OR REPLACE VIEW prs_v_contactpersoon_fullnames
|
||
(
|
||
prs_contactpersoon_key,
|
||
prs_cp_naam_full,
|
||
prs_cp_naam_friendly,
|
||
prs_cp_naam_full_comp,
|
||
prs_cp_naam_friendly_comp,
|
||
prs_perslid_key
|
||
)
|
||
AS
|
||
SELECT p.prs_contactpersoon_key,
|
||
p.prs_contactpersoon_naam
|
||
|| DECODE (p.prs_contactpersoon_voorletters,
|
||
NULL, '',
|
||
', ' || p.prs_contactpersoon_voorletters)
|
||
|| DECODE (p.prs_contactpersoon_tussenv,
|
||
NULL, '',
|
||
' ' || p.prs_contactpersoon_tussenv)
|
||
|| DECODE (p.prs_contactpersoon_voornaam,
|
||
NULL, '',
|
||
' (' || p.prs_contactpersoon_voornaam || ')')
|
||
prs_cp_naam_full,
|
||
DECODE (p.prs_contactpersoon_voornaam,
|
||
NULL, '',
|
||
p.prs_contactpersoon_voornaam || ' ')
|
||
|| DECODE (p.prs_contactpersoon_tussenv,
|
||
NULL, '',
|
||
p.prs_contactpersoon_tussenv || ' ')
|
||
|| p.prs_contactpersoon_naam
|
||
prs_cp_naam_friendly,
|
||
p.prs_contactpersoon_naam
|
||
|| DECODE (p.prs_contactpersoon_voorletters,
|
||
NULL, '',
|
||
', ' || p.prs_contactpersoon_voorletters)
|
||
|| DECODE (p.prs_contactpersoon_tussenv,
|
||
NULL, '',
|
||
' ' || p.prs_contactpersoon_tussenv)
|
||
|| DECODE (p.prs_contactpersoon_voornaam,
|
||
NULL, '',
|
||
' (' || p.prs_contactpersoon_voornaam || ')')
|
||
|| DECODE (b.prs_bedrijf_naam,
|
||
NULL, '',
|
||
' [' || b.prs_bedrijf_naam || ']')
|
||
prs_cp_naam_full_comp,
|
||
DECODE (p.prs_contactpersoon_voornaam,
|
||
NULL, '',
|
||
p.prs_contactpersoon_voornaam || ' ')
|
||
|| DECODE (p.prs_contactpersoon_tussenv,
|
||
NULL, '',
|
||
p.prs_contactpersoon_tussenv || ' ')
|
||
|| p.prs_contactpersoon_naam
|
||
|| DECODE (b.prs_bedrijf_naam,
|
||
NULL, '',
|
||
' [' || b.prs_bedrijf_naam || ']')
|
||
prs_cp_naam_friendly_comp,
|
||
p.prs_perslid_key
|
||
FROM prs_contactpersoon p, prs_bedrijf b
|
||
WHERE b.prs_bedrijf_key = p.prs_bedrijf_key;
|
||
|
||
CREATE OR REPLACE FORCE VIEW pchd_v_rap_afdeling_nieuw
|
||
(
|
||
afdeling,
|
||
afdeling_omschrijving,
|
||
aanmaakdatum,
|
||
verwijderdatum,
|
||
onderdeel_van,
|
||
bu_omschrijving,
|
||
bedrijf
|
||
)
|
||
AS
|
||
SELECT a.prs_afdeling_naam,
|
||
a.prs_afdeling_omschrijving,
|
||
a.prs_afdeling_aanmaak,
|
||
a.prs_afdeling_verwijder,
|
||
(SELECT o.prs_afdeling_naam
|
||
FROM prs_afdeling o
|
||
WHERE o.prs_afdeling_key = a.prs_afdeling_parentkey)
|
||
AS onderdeel_van,
|
||
(SELECT o.prs_afdeling_omschrijving
|
||
FROM prs_afdeling o
|
||
WHERE o.prs_afdeling_key = a.prs_afdeling_parentkey)
|
||
AS bu_omschrijving,
|
||
(SELECT b.prs_bedrijf_naam
|
||
FROM prs_bedrijf b
|
||
WHERE b.prs_bedrijf_key = a.prs_bedrijf_key)
|
||
AS bedrijf
|
||
FROM prs_afdeling a
|
||
WHERE TRUNC (a.prs_afdeling_aanmaak) = TRUNC (SYSDATE) - 1
|
||
AND (SELECT o.prs_afdeling_omschrijving -- Bij nader inzicht toch enkel de BU's ipv alle afdelingen
|
||
FROM prs_afdeling o
|
||
WHERE o.prs_afdeling_key = a.prs_afdeling_parentkey) IS NULL
|
||
AND prs_afdeling_verwijder IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_noti_afdeling_nieuw
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST04' AS code,
|
||
NULL,
|
||
781, -- Callan Stinkens
|
||
'Nieuwe afdelingen aangemaakt',
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE UPPER (fac_usrrap_view_name) = 'PCHD_V_RAP_AFDELING_NIEUW')
|
||
rapportnr,
|
||
NULL
|
||
FROM DUAL
|
||
WHERE (SELECT COUNT ( * ) FROM pchd_v_rap_afdeling_nieuw) > 0;
|
||
|
||
|
||
CREATE OR REPLACE VIEW pchd_v_rap_catresscherm
|
||
AS
|
||
SELECT x.row_num, r.*
|
||
FROM ( SELECT ROW_NUMBER ()
|
||
OVER (ORDER BY datum DESC,
|
||
voorziening_van ASC,
|
||
ruimte,
|
||
nummer)
|
||
row_num,
|
||
datum,
|
||
voorziening_van,
|
||
nummer,
|
||
locatie,
|
||
gebouw,
|
||
verdieping,
|
||
ruimte
|
||
FROM res_v_udr_reserveringincl
|
||
WHERE voorziening_van IS NOT NULL
|
||
GROUP BY datum,
|
||
voorziening_van,
|
||
nummer,
|
||
locatie,
|
||
gebouw,
|
||
verdieping,
|
||
ruimte) x, res_v_udr_reserveringincl r
|
||
WHERE r.nummer = x.nummer
|
||
AND r.locatie = x.locatie
|
||
AND r.gebouw = x.gebouw
|
||
AND r.verdieping = x.verdieping
|
||
AND r.ruimte = x.ruimte
|
||
AND r.voorziening_van = x.voorziening_van
|
||
AND r.voorziening_van IS NOT NULL
|
||
--AND r.datum = SYSDATE
|
||
AND r.bostatus = 'Geregistreerd'
|
||
ORDER BY x.row_num;
|
||
|
||
|
||
--PCHD#61367: Rapportage met taken, ook niet geplande taken tonen
|
||
CREATE OR REPLACE FORCE VIEW pchd_v_rap_deelinspect
|
||
(
|
||
deel_key,
|
||
discipline,
|
||
soort,
|
||
groep,
|
||
soortcode,
|
||
omschrijving,
|
||
plaatseigenaar,
|
||
plaatseigenaartype,
|
||
plaatsaanduiding,
|
||
eigenaar,
|
||
eigenaar_key,
|
||
opmerking,
|
||
regio,
|
||
district,
|
||
locatie_code,
|
||
locatie_omschrijving,
|
||
locatie_plaats,
|
||
gebouwcode,
|
||
gebouw,
|
||
terreinsectorcode,
|
||
terreinsector,
|
||
verdiepingcode,
|
||
ruimtenr,
|
||
werkplekvolgnr,
|
||
werkplek,
|
||
uitleenbaar,
|
||
uitgeleend,
|
||
res_opmerking,
|
||
beheerder,
|
||
vervaldatum,
|
||
actief,
|
||
aantal,
|
||
state,
|
||
statedate,
|
||
fclt_3d_discipline_key,
|
||
fclt_3d_afdeling_key,
|
||
fclt_3d_locatie_key,
|
||
ins_deelsrtcontrole_key,
|
||
ins_srtcontrole_key,
|
||
srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
controlemode_omschrijving,
|
||
ins_deelsrtcontrole_opmerking,
|
||
perslid,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_deelsrtcontrole_plandatum,
|
||
deelsrtcontrole_status
|
||
)
|
||
AS
|
||
SELECT deel_key,
|
||
discipline,
|
||
soort,
|
||
groep,
|
||
soortcode,
|
||
omschrijving,
|
||
plaatseigenaar,
|
||
plaatseigenaartype,
|
||
plaatsaanduiding,
|
||
eigenaar,
|
||
eigenaar_key,
|
||
opmerking,
|
||
regio,
|
||
district,
|
||
locatie_code,
|
||
locatie_omschrijving,
|
||
locatie_plaats,
|
||
gebouwcode,
|
||
gebouw,
|
||
terreinsectorcode,
|
||
terreinsector,
|
||
verdiepingcode,
|
||
ruimtenr,
|
||
werkplekvolgnr,
|
||
werkplek,
|
||
uitleenbaar,
|
||
uitgeleend,
|
||
res_opmerking,
|
||
beheerder,
|
||
vervaldatum,
|
||
actief,
|
||
aantal,
|
||
state,
|
||
statedate,
|
||
fclt_3d_discipline_key,
|
||
fclt_3d_afdeling_key,
|
||
fclt_3d_locatie_key,
|
||
ins_deelsrtcontrole_key,
|
||
ins_srtcontrole_key,
|
||
srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
controlemode_omschrijving,
|
||
ins_deelsrtcontrole_opmerking,
|
||
perslid,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_deelsrtcontrole_plandatum,
|
||
deelsrtcontrole_status
|
||
FROM ins_v_udr_deelinspect
|
||
UNION ALL
|
||
SELECT ud.deel_key,
|
||
ud.discipline,
|
||
ud.soort,
|
||
ud.groep,
|
||
ud.soortcode,
|
||
ud.omschrijving,
|
||
ud.plaatseigenaar,
|
||
ud.plaatseigenaartype,
|
||
ud.plaatsaanduiding,
|
||
ud.eigenaar,
|
||
ud.eigenaar_key,
|
||
ud.opmerking,
|
||
ud.regio,
|
||
ud.district,
|
||
ud.locatie_code,
|
||
ud.locatie_omschrijving,
|
||
ud.locatie_plaats,
|
||
ud.gebouwcode,
|
||
ud.gebouw,
|
||
ud.terreinsectorcode,
|
||
ud.terreinsector,
|
||
ud.verdiepingcode,
|
||
ud.ruimtenr,
|
||
ud.werkplekvolgnr,
|
||
ud.werkplek,
|
||
ud.uitleenbaar,
|
||
ud.uitgeleend,
|
||
ud.res_opmerking,
|
||
ud.beheerder,
|
||
ud.vervaldatum,
|
||
ud.actief,
|
||
ud.aantal,
|
||
ud.state,
|
||
ud.statedate,
|
||
ud.fclt_3d_discipline_key,
|
||
ud.fclt_3d_afdeling_key,
|
||
ud.fclt_3d_locatie_key,
|
||
NULL,
|
||
sc.ins_srtcontrole_key,
|
||
sc.ins_srtcontrole_omschrijving,
|
||
NULL,
|
||
'Nog niet gepland',
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key),
|
||
NULL
|
||
FROM ins_v_udr_deel ud,
|
||
ins_deel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline disc,
|
||
ins_srtcontrole sc
|
||
WHERE d.ins_deel_key = ud.deel_key
|
||
AND sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
|
||
AND disc.ins_discipline_key = sg.ins_discipline_key
|
||
AND ( (sd.ins_srtdeel_key = sc.ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau = 'S')
|
||
OR (sg.ins_srtgroep_key = sc.ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau = 'G')
|
||
OR (disc.ins_discipline_key = sc.ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau = 'D'));
|
||
-- AND d.ins_deel_key || '-' || sc.ins_srtcontrole_key NOT IN --Hiermee selecteren we hier de objecten die nog niet zijn ingepland.
|
||
-- (SELECT ins_deel_key || '-' || ins_srtcontrole_key
|
||
-- FROM ins_deelsrtcontrole);
|
||
|
||
|
||
CREATE OR REPLACE VIEW PCHD_V_NOTI_RESBHV
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
PAR1,
|
||
PAR2,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT 'CUST14',
|
||
NULL,
|
||
bhv.prs_perslid_key,
|
||
'De vergadering kent een doorlooptijd tot na 17u00. Graag zorgdragen voor minimaal <20><>n BHV gediplomeerde bij deze vergadering',
|
||
rr.res_rsv_ruimte_key,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM res_rsv_ruimte rr,
|
||
alg_v_ruimte_gegevens rg,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_perslid bhv,
|
||
(SELECT rr2.res_rsv_ruimte_key,
|
||
rr2.res_reservering_key,
|
||
COALESCE (rr2.alg_ruimte_key, r2r.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
res_ruimte_key
|
||
FROM res_v_rsv_ruimte_2_alg_ruimte r2r, res_rsv_ruimte rr2
|
||
WHERE r2r.res_rsv_ruimte_key(+) = rr2.res_rsv_ruimte_key
|
||
AND res_alg_ruimte_verwijder IS NULL) r2a
|
||
WHERE rr.res_rsv_ruimte_verwijder IS NULL
|
||
AND r2a.alg_ruimte_key = rg.alg_ruimte_key
|
||
AND r2a.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND rr.res_rsv_ruimte_contact_key = pf.prs_perslid_key
|
||
AND TRUNC (rr.res_rsv_ruimte_van) BETWEEN TRUNC (SYSDATE)
|
||
AND TRUNC (
|
||
ADD_MONTHS (SYSDATE,
|
||
3))
|
||
AND TO_NUMBER (TO_CHAR (rr.res_rsv_ruimte_tot, 'HH24MI')) > 1700
|
||
AND rr.res_status_fo_key = 2 -- Definitief
|
||
AND rr.res_status_bo_key = 2 -- Geregistreerd
|
||
AND bhv.prs_srtperslid_key = 22684 -- Functie hoofd BHV
|
||
AND rr.res_rsv_ruimte_key NOT IN
|
||
(SELECT fac_tracking_refkey
|
||
FROM fac_tracking t, fac_srtnotificatie sn
|
||
WHERE sn.fac_srtnotificatie_key =
|
||
t.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST14');
|
||
|
||
-- Overzicht van locatiegegevens om goed onderscheid te kunnen maken tussen hoofdlocaties en
|
||
-- projectlocaties (tijdelijke locaties) die als ruimte onder een hoofdlocatie hangen.
|
||
CREATE OR REPLACE VIEW pchd_v_locatie_gegevens
|
||
AS
|
||
SELECT 'Hoofdlocatie' locatietype,
|
||
alg_locatie_code,
|
||
alg_locatie_omschrijving,
|
||
alg_locatie_code hoofd_locatie_code,
|
||
alg_locatie_omschrijving hoofd_locatie_omschrijving,
|
||
alg_locatie_adres,
|
||
alg_locatie_postcode,
|
||
alg_locatie_plaats,
|
||
alg_locatie_key,
|
||
NULL alg_ruimte_key
|
||
FROM alg_locatie l
|
||
UNION ALL
|
||
SELECT 'Projectlocatie',
|
||
alg_ruimte_nr,
|
||
alg_ruimte_omschrijving,
|
||
alg_locatie_code,
|
||
alg_locatie_omschrijving,
|
||
flx.getflex ('ALG',
|
||
2101,
|
||
alg_ruimte_key,
|
||
'R') adres,
|
||
flx.getflex ('ALG',
|
||
2102,
|
||
alg_ruimte_key,
|
||
'R') postcode,
|
||
flx.getflex ('ALG',
|
||
2103,
|
||
alg_ruimte_key,
|
||
'R') plaats,
|
||
alg_locatie_key,
|
||
alg_ruimte_key
|
||
FROM alg_v_ruimte_gegevens
|
||
WHERE alg_srtruimte_key = 241;
|
||
|
||
|
||
------ 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
|