Files
Customer/SGGR/sggr.sql
2025-11-19 09:19:24 +00:00

3989 lines
176 KiB
SQL
Raw Blame History

/*<TOAD_FILE_CHUNK>*/
--
-- $Id$
--
-- Script containing customer specific sql statements for the FACILITOR database
DEFINE thisfile = 'SGGR.SQL'
DEFINE dbuser = '^SGGR'
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 PACKAGE sggr
AS
FUNCTION find_str (p_string IN VARCHAR2, p_search IN VARCHAR2)
RETURN VARCHAR2;
FUNCTION find_oud (p_string IN VARCHAR2, p_default IN VARCHAR2)
RETURN VARCHAR2;
FUNCTION find_nieuw (p_string IN VARCHAR2, p_default IN VARCHAR2)
RETURN VARCHAR2;
END;
/
/*<TOAD_FILE_CHUNK>*/
CREATE OR REPLACE PACKAGE BODY sggr
AS
FUNCTION find_str (p_string IN VARCHAR2, p_search IN VARCHAR2)
RETURN VARCHAR2
AS
v_index NUMBER;
v_van NUMBER;
v_tot NUMBER;
BEGIN
v_index := INSTR (p_string, p_search);
IF v_index > 0
THEN
v_van := v_index + LENGTH (p_search);
v_tot := INSTR (p_string, CHR (10), v_index + LENGTH (p_search));
-- dbms_output.put_line ('van:' || to_char(v_van));
-- dbms_output.put_line ('tot:' || to_char(v_tot));
-- als v_tot gelijk is aan 0 dan zitten we op het einde van de string. Geef
-- dan alles maar terug tot het einde van de string (maar even op 1000 gezet.
IF v_tot = 0
THEN
v_tot := 1000;
END IF;
RETURN SUBSTR (p_string, v_van + 1, v_tot - v_van - 1);
ELSE
RETURN NULL;
END IF;
END;
FUNCTION find_oud (p_string IN VARCHAR2, p_default IN VARCHAR2)
RETURN VARCHAR2
AS
v_dummy NUMBER;
v_result VARCHAR2 (100);
BEGIN
IF p_string IS NOT NULL
THEN
v_result := TRIM (SUBSTR (p_string, 1, INSTR (p_string, ' --> ')));
IF v_result = '(leeg)'
THEN
v_result := NULL;
END IF;
RETURN v_result;
ELSE
RETURN p_default;
END IF;
END;
FUNCTION find_nieuw (p_string IN VARCHAR2, p_default IN VARCHAR2)
RETURN VARCHAR2
AS
v_dummy NUMBER;
v_van NUMBER;
v_tot NUMBER;
v_token VARCHAR (10);
v_result VARCHAR (100);
BEGIN
v_token := ' --> ';
v_van := INSTR (p_string, v_token) + LENGTH (v_token);
IF v_van > 0
THEN
v_result := TRIM (SUBSTR (p_string, v_van));
IF v_result = '(gewist)' OR v_result = '(Leeg)'
THEN
v_result := NULL;
END IF;
RETURN v_result;
ELSE
RETURN p_default;
END IF;
END;
END;
/
/*<TOAD_FILE_CHUNK>*/
/* de te factureren contracten */
CREATE OR REPLACE VIEW sggr_v_rap_cnt_periode_saas
AS
SELECT b.prs_leverancier_nr
ax_nr,
b.prs_bedrijf_naam
bedrijf,
'C' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0')
nr,
c.cnt_contract_omschrijving
omschrijving,
COALESCE (c.cnt_contract_nummer, c.cnt_contract_omschrijving)
referentie,
c.cnt_contract_looptijd_van
ingangsdatum,
SUM (kc1.cnt_kenmerkcontract_waarde)
maandbedrag,
TO_CHAR (c.cnt_contract_korting)
kortingpct,
3
* SUM (kc1.cnt_kenmerkcontract_waarde)
* (1 - COALESCE (c.cnt_contract_korting, 0) / 100)
kwartaalbedrag,
c.cnt_contract_document
opmerking,
kc2.cnt_kenmerkcontract_waarde
indexdatum,
c.cnt_contract_looptijd_tot
einddatum,
c.cnt_contract_termijnkosten
- SUM (kc1.cnt_kenmerkcontract_waarde)
* (1 - COALESCE (c.cnt_contract_korting, 0) / 100)
controle
FROM cnt_v_aanwezigcontract c,
prs_bedrijf b,
cnt_kenmerkcontract kc1,
cnt_kenmerk ck1,
cnt_srtkenmerk cks1,
(SELECT kc2.cnt_contract_key, kc2.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc2, cnt_kenmerk k2
WHERE kc2.cnt_kenmerk_key = k2.cnt_kenmerk_key
AND k2.cnt_srtkenmerk_key = 301 -- indexdatum
AND kc2.cnt_kenmerkcontract_verwijder IS NULL) kc2
WHERE c.ins_discipline_key IN (481, 501) -- 481 saas; 482 lic; 501 care
AND c.cnt_contract_status = 0
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.cnt_contract_key = kc1.cnt_contract_key
AND kc1.cnt_kenmerk_key = ck1.cnt_kenmerk_key
AND ck1.cnt_kenmerk_verwijder IS NULL
AND ck1.cnt_srtkenmerk_key = cks1.cnt_srtkenmerk_key
AND ( cks1.cnt_srtkenmerk_omschrijving LIKE '%rijs%'
OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Hosting%'
OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Korting%')
AND c.cnt_contract_key = kc2.cnt_contract_key(+)
AND c.cnt_contract_looptijd_van < SYSDATE + 50
AND c.cnt_contract_looptijd_tot > SYSDATE + 50
GROUP BY b.prs_leverancier_nr,
b.prs_bedrijf_naam,
c.cnt_contract_looptijd_van,
c.cnt_contract_omschrijving,
c.cnt_contract_nummer,
c.cnt_contract_nummer_intern,
c.cnt_contract_versie,
c.cnt_contract_document,
c.cnt_contract_korting,
kc2.cnt_kenmerkcontract_waarde,
c.cnt_contract_termijnkosten,
c.cnt_contract_looptijd_tot
ORDER BY 1, 4;
CREATE OR REPLACE VIEW sggr_v_rap_cnt_periode_lic
AS
SELECT b.prs_leverancier_nr
ax_nr,
b.prs_bedrijf_naam
bedrijf,
'C' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0')
nr,
c.cnt_contract_omschrijving
omschrijving,
COALESCE (c.cnt_contract_nummer, c.cnt_contract_omschrijving)
referentie,
c.cnt_contract_looptijd_van
ingangsdatum,
DECODE (SUM (kc1.cnt_kenmerkcontract_waarde),
0, c.cnt_contract_termijnkosten,
SUM (kc1.cnt_kenmerkcontract_waarde))
jaarbedrag,
c.cnt_contract_termijnkosten
termijnbedrag,
(SELECT ct.cnt_termijn_omschrijving
FROM cnt_termijn ct
WHERE ct.cnt_termijn_key = c.cnt_contract_termijntermijn)
termijn,
c.cnt_contract_document
opmerking,
kc2.cnt_kenmerkcontract_waarde
indexdatum,
c.cnt_contract_looptijd_tot
einddatum,
c.cnt_contract_termijnkosten
- DECODE (SUM (kc1.cnt_kenmerkcontract_waarde),
0, c.cnt_contract_termijnkosten,
SUM (kc1.cnt_kenmerkcontract_waarde))
controle
FROM cnt_v_aanwezigcontract c,
prs_bedrijf b,
cnt_kenmerkcontract kc1,
cnt_kenmerk ck1,
cnt_srtkenmerk cks1,
(SELECT kc2.cnt_contract_key, kc2.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc2, cnt_kenmerk k2
WHERE kc2.cnt_kenmerk_key = k2.cnt_kenmerk_key
AND k2.cnt_srtkenmerk_key = 301 -- indexdatum
AND kc2.cnt_kenmerkcontract_verwijder IS NULL) kc2
WHERE c.ins_discipline_key IN (482) -- 482 lic
AND c.cnt_contract_status = 0
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.cnt_contract_key = kc1.cnt_contract_key
AND kc1.cnt_kenmerk_key = ck1.cnt_kenmerk_key
AND ck1.cnt_kenmerk_verwijder IS NULL
AND ck1.cnt_srtkenmerk_key = cks1.cnt_srtkenmerk_key
AND ( cks1.cnt_srtkenmerk_omschrijving LIKE '%rijs%'
OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Hosting%'
OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Korting%')
AND c.cnt_contract_key = kc2.cnt_contract_key(+)
AND c.cnt_contract_looptijd_van < SYSDATE + 50
AND c.cnt_contract_looptijd_tot > SYSDATE + 50
GROUP BY b.prs_leverancier_nr,
b.prs_bedrijf_naam,
c.cnt_contract_looptijd_van,
c.cnt_contract_omschrijving,
c.cnt_contract_nummer,
c.cnt_contract_nummer_intern,
c.cnt_contract_versie,
c.cnt_contract_document,
c.cnt_contract_looptijd_tot,
kc2.cnt_kenmerkcontract_waarde,
c.cnt_contract_termijnkosten,
cnt_contract_termijntermijn
UNION
SELECT b.prs_leverancier_nr
ax_nr,
b.prs_bedrijf_naam
bedrijf,
'C' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0')
nr,
c.cnt_contract_omschrijving
omschrijving,
COALESCE (c.cnt_contract_nummer, c.cnt_contract_omschrijving)
referentie,
c.cnt_contract_looptijd_van
ingangsdatum,
c.cnt_contract_kosten
jaarbedrag,
c.cnt_contract_termijnkosten
termijnbedrag,
(SELECT ct.cnt_termijn_omschrijving
FROM cnt_termijn ct
WHERE ct.cnt_termijn_key = c.cnt_contract_termijntermijn)
termijn,
c.cnt_contract_document
opmerking,
kc2.cnt_kenmerkcontract_waarde
indexdatum,
c.cnt_contract_looptijd_tot
einddatum,
c.cnt_contract_termijnkosten
FROM cnt_v_aanwezigcontract c,
prs_bedrijf b,
cnt_kenmerk ck1,
cnt_srtkenmerk cks1,
(SELECT kc2.cnt_contract_key, kc2.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc2, cnt_kenmerk k2
WHERE kc2.cnt_kenmerk_key = k2.cnt_kenmerk_key
AND k2.cnt_srtkenmerk_key = 301 -- indexdatum
AND kc2.cnt_kenmerkcontract_verwijder IS NULL) kc2
WHERE c.ins_discipline_key IN (661) -- 661 specials
AND c.cnt_contract_status = 0
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.cnt_contract_key = kc2.cnt_contract_key(+)
AND c.cnt_contract_looptijd_van < SYSDATE + 50
AND c.cnt_contract_looptijd_tot > SYSDATE + 50
GROUP BY b.prs_leverancier_nr,
b.prs_bedrijf_naam,
c.cnt_contract_looptijd_van,
c.cnt_contract_omschrijving,
c.cnt_contract_nummer,
c.cnt_contract_nummer_intern,
c.cnt_contract_versie,
c.cnt_contract_document,
c.cnt_contract_looptijd_tot,
c.cnt_contract_termijnkosten,
cnt_contract_kosten,
cnt_kenmerkcontract_waarde,
cnt_contract_termijntermijn
ORDER BY 1, 4;
CREATE OR REPLACE VIEW SGGR_V_RAP_MLD_VERLOF
(
MLD_MELDING_KEY,
MELDING_DATUM,
MELDING_OMSCHRIJVING,
DATUM_VERLOF,
DATUM_TM,
STATUS,
AANVRAGER_KEY,
AANVRAGER,
GOEDKEURDER_KEY,
GOEDKEURDER,
UREN,
FASE,
INCLUDE
)
AS
SELECT *
FROM (SELECT meld.mld_melding_key,
meld.mld_melding_datum,
meld.mld_melding_omschrijving,
meld.datum_verlof,
meld.datum_tm,
meld.mld_statuses_omschrijving,
meld.prs_perslid_key_voor,
meld.prs_perslid_naam_full_voor,
meld.prs_perslid_key,
meld.prs_perslid_naam_full,
meld.uren,
DECODE (mld_melding_status,
0, reden.fac_usrdata_code || ' verlof: Ingediend',
2, reden.fac_usrdata_code || ' verlof: Ingediend',
3, reden.fac_usrdata_code || ' verlof: Ingediend',
4, reden.fac_usrdata_code || ' verlof: Geacepteerd',
7, reden.fac_usrdata_code || ' verlof: Geacepteerd',
reden.fac_usrdata_code || ' verlof: Verwerkt') fase,
DECODE (mld_melding_status, 0, 2, 2, 2, 3, 2, 3) include
FROM (SELECT m.mld_melding_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_status,
datver.kenmerkwaarde datum_verlof,
datver.mld_kenmerk_groep,
dattm.kenmerkwaarde datum_tm,
mld_statuses_omschrijving,
m.prs_perslid_key_voor,
pf1.prs_perslid_naam_full prs_perslid_naam_full_voor,
tra.prs_perslid_key,
pf2.prs_perslid_naam_full,
uren.kenmerkwaarde uren,
DECODE (mld_melding_status, 0, 2, 2, 2, 3, 2, 3) include
FROM mld_melding m,
prs_v_perslid_fullnames_all pf1,
prs_v_perslid_fullnames_all pf2,
mld_statuses st,
(SELECT fac_tracking_refkey, prs_perslid_key
FROM fac_srtnotificatie srt, fac_tracking tr
WHERE tr.fac_srtnotificatie_key = srt.fac_srtnotificatie_key
AND srt.fac_srtnotificatie_code = 'MLDACP') tra,
(SELECT mld_melding_key,
mld_kenmerk_groep,
fac.safe_to_date (mld_kenmerkmelding_waarde, 'DD-MM-YYYY') kenmerkwaarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 347
AND km.mld_kenmerkmelding_waarde IS NOT NULL) datver,
(SELECT mld_melding_key,
mld_kenmerk_groep,
fac.safe_to_date (mld_kenmerkmelding_waarde, 'DD-MM-YYYY') kenmerkwaarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 346
AND km.mld_kenmerkmelding_waarde IS NOT NULL) dattm,
(SELECT mld_melding_key,
mld_kenmerk_groep,
fac.safe_to_number (mld_kenmerkmelding_waarde) * -1 kenmerkwaarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 341
AND km.mld_kenmerkmelding_waarde IS NOT NULL) uren
WHERE m.mld_stdmelding_key = 241
AND m.mld_melding_status IN (0,
2,
3,
4,
5,
7,
9)
AND m.prs_perslid_key_voor = pf1.prs_perslid_key
AND datver.mld_melding_key = m.mld_melding_key
AND dattm.mld_melding_key = m.mld_melding_key
AND uren.mld_melding_key = m.mld_melding_key
AND datver.mld_kenmerk_groep = dattm.mld_kenmerk_groep
AND datver.mld_kenmerk_groep = uren.mld_kenmerk_groep
AND m.mld_melding_status = st.mld_statuses_key
AND m.mld_melding_key = tra.fac_tracking_refkey(+)
AND tra.prs_perslid_key = pf2.prs_perslid_key(+)) meld
LEFT OUTER JOIN
(SELECT mld_melding_key,
mld_kenmerk_groep,
mld_kenmerkmelding_waarde,
w.fac_usrdata_code
FROM mld_kenmerkmelding km, mld_kenmerk k, fac_usrdata w
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND W.FAC_USRDATA_KEY = mld_kenmerkmelding_waarde
AND k.mld_srtkenmerk_key = 441
AND km.mld_kenmerkmelding_waarde IS NOT NULL) reden
ON meld.mld_melding_key = reden.mld_melding_key
AND meld.mld_kenmerk_groep = reden.mld_kenmerk_groep
WHERE COALESCE (reden.fac_usrdata_code, 'Apekool') NOT IN ('Compensatie', 'Bijzonder'))
UNION ALL
SELECT NULL,
ADD_MONTHS (TRUNC (SYSDATE, 'YYYY'), 0),
NULL,
ADD_MONTHS (TRUNC (SYSDATE, 'YYYY'), 0),
ADD_MONTHS (TRUNC (SYSDATE, 'YYYY'), 12) - 1,
'Beginstand',
prs_perslid_key,
prs_perslid_naam_full,
NULL,
NULL,
fac.safe_to_number (pk.prs_kenmerklink_waarde),
'Beginstand',
1 include
FROM prs_kenmerklink pk, prs_v_perslid_fullnames_all pf
WHERE prs_kenmerk_key = 1060 AND pk.prs_link_key = pf.prs_perslid_key;
CREATE OR REPLACE VIEW PRS_V_SGF_AFDELING
(
prs_afdeling_key,
prs_afdeling_naam
)
AS
SELECT prs_afdeling_key, prs_afdeling_naam
FROM prs_v_aanwezigafdeling
WHERE prs_afdeling_parentkey = 27;
CREATE OR REPLACE VIEW PRS_V_BUDGETHOUDER
(
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM
)
AS
SELECT prs_kostenplaats_key, prs_perslid_naam_full
FROM prs_kostenplaats k, prs_v_perslid_fullnames p
WHERE prs_kostenplaats_begin < SYSDATE
AND (prs_kostenplaats_eind < SYSDATE OR prs_kostenplaats_eind IS NULL)
AND prs_kostenplaats_verwijder IS NULL
AND p.prs_perslid_key = k.prs_perslid_key;
-- SGGR#23236 - Inzetten FACILITOR voor administratieve processen SGF!
CREATE OR REPLACE PROCEDURE sggr_select_INDEXWERK (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
AS
BEGIN
NULL;
END;
/
/*<TOAD_FILE_CHUNK>*/
CREATE OR REPLACE VIEW sggr_v_export_INDEXWERK
(
RESULT,
result_order
)
AS
SELECT '', 0
FROM DUAL
WHERE 1 = 0;
CREATE OR REPLACE PROCEDURE sggr_export_indexwerk (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2)
AS
CURSOR ccnt (p_splitsindexdatum DATE)
IS
SELECT '['
|| TO_CHAR (x.cnt_contract_nummer_intern)
|| '|'
|| x.cnt_contract_omschrijving
|| '] ' aanduiding,
x.ins_discipline_key,
x.cnt_contract_key,
x.cnt_contract_nummer_intern,
x.cnt_contract_versie,
x.cnt_contract_looptijd_tot einddatum,
li.laatste_indexdatum,
x.cnt_contract_kosten,
x.cnt_contract_termijnkosten,
DECODE (pc_aip.afwijkend_indexperc,
NULL, COALESCE (c_aip.afwijkend_indexperc, 7.4), -- Afwijkend index-percentage op contract en anders 6.4%
pc_aip.afwijkend_indexperc) -- Afwijkend index-percentage op mantelcontract
indexpct
FROM (SELECT c.*
FROM cnt_v_aanwezigcontract c
WHERE c.ins_discipline_key IN (481,
482,
501,
661) -- Facilitor/Facilitor Onderhoud/Facilitor Care/Facilitor Flex
AND c.cnt_contract_status = 0 -- NIET Gesloten!
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
(SELECT 1
FROM cnt_v_aanwezigcontract
WHERE cnt_contract_nummer_intern =
c.cnt_contract_nummer_intern
AND TO_NUMBER (cnt_contract_versie) >
TO_NUMBER (COALESCE (c.cnt_contract_versie, '0')))) x
LEFT JOIN
(SELECT kc.cnt_contract_key,
fac.safe_to_date (kc.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') laatste_indexdatum
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtkenmerk_key = 301) li -- Laatste index-datum op te indexeren contract
ON x.cnt_contract_key = li.cnt_contract_key
LEFT JOIN
(SELECT cnt_contract_key,
fac.safe_to_number (cnt_kenmerkcontract_waarde) afwijkend_indexperc
FROM cnt_kenmerkcontract
WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key IN (1081, 1121))
c_aip -- Afwijkend index-percentage op Facilitor+Facilitor Onderhoud
ON x.cnt_contract_key = c_aip.cnt_contract_key
LEFT JOIN (SELECT *
FROM cnt_v_aanwezigcontract
WHERE ins_discipline_key = 381) pc -- Partnercontract
ON x.cnt_contract_mantel_key = pc.cnt_contract_key
LEFT JOIN
(SELECT cnt_contract_key,
fac.safe_to_number (cnt_kenmerkcontract_waarde) afwijkend_indexperc
FROM cnt_kenmerkcontract
WHERE cnt_kenmerkcontract_verwijder IS NULL AND cnt_kenmerk_key = 1101) pc_aip -- Afwijkend index-percentage op Partnercontract
ON pc.cnt_contract_key = pc_aip.cnt_contract_key
WHERE x.cnt_contract_looptijd_tot > p_splitsindexdatum
AND COALESCE (li.laatste_indexdatum, SYSDATE) < p_splitsindexdatum
ORDER BY TO_NUMBER (x.cnt_contract_nummer_intern);
c_splitsindexdatum DATE := TO_DATE ('01012025', 'ddmmyyyy'); -- Per 01-01-2025!
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
v_new_contract_key NUMBER;
v_kenmerkcontract_key NUMBER;
termijnkorting cnt_kenmerkcontract.cnt_kenmerkcontract_waarde%TYPE;
oldtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
newtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
PROCEDURE upsert_cntkenmerk (p_contract_key IN NUMBER,
p_srtkenmerk_key IN NUMBER,
p_waarde IN VARCHAR2)
AS
v_kenmerk_key NUMBER;
v_srtkenmerk_kenmerktype VARCHAR2 (10);
v_srtkenmerk_lengte NUMBER;
v_waarde VARCHAR2 (255);
v_kenmerkcontract_key NUMBER;
BEGIN
-- Bepaal kenmerk van meegegeven contract en soort; deze moet bestaan!
SELECT cnt_kenmerk_key, cnt_srtkenmerk_kenmerktype, COALESCE (cnt_srtkenmerk_lengte, 255)
INTO v_kenmerk_key, v_srtkenmerk_kenmerktype, v_srtkenmerk_lengte
FROM cnt_contract c, cnt_kenmerk k, cnt_srtkenmerk sk
WHERE c.cnt_contract_key = p_contract_key
AND c.ins_discipline_key = k.cnt_srtcontract_key
AND k.cnt_kenmerk_verwijder IS NULL
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
AND sk.cnt_srtkenmerk_verwijder IS NULL
AND sk.cnt_srtkenmerk_key = p_srtkenmerk_key;
v_waarde := SUBSTR (p_waarde, 1, v_srtkenmerk_lengte);
BEGIN
-- Bepaal bestaan/aanwezigheid huidige kenmerkwaarde?
SELECT cnt_kenmerkcontract_key
INTO v_kenmerkcontract_key
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = p_contract_key
AND kc.cnt_kenmerk_key = v_kenmerk_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
IF p_waarde IS NULL
THEN
RETURN;
END IF;
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (p_contract_key, v_kenmerk_key, v_waarde);
RETURN;
END;
IF p_waarde IS NULL
THEN
--DELETE FROM cnt_kenmerkcontract
-- WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key;
UPDATE cnt_kenmerkcontract
SET cnt_kenmerkcontract_verwijder = SYSDATE
WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key;
ELSE
UPDATE cnt_kenmerkcontract
SET cnt_kenmerkcontract_waarde = v_waarde, cnt_kenmerkcontract_wijzig = SYSDATE
WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key;
END IF;
END;
BEGIN
-- Indexeren doorlopende FACILITOR-contracten.
FOR rc IN ccnt (c_splitsindexdatum)
LOOP
BEGIN
v_errorhint := 'Fout bij splitsen contract.';
-- Splitsen kun je wel achterwege laten als het contract pas na de splitsdatum begint
-- of voor de splitsdatum eindigt. Dat komt voor en geeft dan nu de waarschuwing
-- "Fout bij bepalen nieuwe versie" in de volgende stap. dat is niet erg dus.
cnt.splitscontract (rc.cnt_contract_key,
c_splitsindexdatum,
NULL,
NULL);
-- Na splitsen wordt de nieuwe versie ge<67>ndexeerd.
v_errorhint := 'Fout bij bepalen nieuwe versie.';
BEGIN
SELECT cnt_contract_key
INTO v_new_contract_key
FROM cnt_v_aanwezigcontract
WHERE cnt_contract_nummer_intern = rc.cnt_contract_nummer_intern
AND TO_NUMBER (cnt_contract_versie) >
TO_NUMBER (COALESCE (rc.cnt_contract_versie, '0'));
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- Er is blijkbaar niet gesplitst (waarschijnlijk dat contract begint pas op of na splitsdatum)
-- omdat prijspeil volgens laatste index toch oud is, moet die dan toch geindexdeerd worden
IF rc.einddatum > c_splitsindexdatum
THEN
v_new_contract_key := rc.cnt_contract_key;
END IF;
END;
v_errorhint := 'Fout bij toevoegen laatste indexdatum.';
upsert_cntkenmerk (v_new_contract_key, 301, -- Laatste index-datum
TO_CHAR (c_splitsindexdatum, 'ddmmyyyy'));
-- LET OP: Hier geen upsert_cntkenmerk() gebruiken, want >1 kenmerken
-- van dezelfde soort (index-percentage)!
-- Bepaal bestaan/aanwezigheid huidige kenmerkwaarde?
SELECT COUNT (*), MAX (cnt_kenmerkcontract_key)
INTO v_count, v_kenmerkcontract_key
FROM cnt_kenmerkcontract
WHERE cnt_kenmerkcontract_verwijder IS NULL
AND cnt_kenmerk_key IN (402,
404,
428,
563) -- Laatste index-percentage (kenmerk-keys)
AND cnt_contract_key = v_new_contract_key;
IF v_count = 0
THEN
v_errorhint := 'Fout bij toevoegen laatste indexpercentage.';
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (
v_new_contract_key,
DECODE (rc.ins_discipline_key,
481, 402,
482, 404,
501, 428,
661, 563,
-1),
TO_CHAR (rc.indexpct));
ELSE
v_errorhint := 'Fout bij bijwerken laatste indexpercentage.';
UPDATE cnt_kenmerkcontract
SET cnt_kenmerkcontract_waarde = TO_CHAR (rc.indexpct),
cnt_kenmerkcontract_wijzig = SYSDATE
WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key;
END IF;
FOR rkc
IN ( SELECT kc.cnt_kenmerkcontract_key,
kc.cnt_kenmerkcontract_waarde cur_waarde,
ROUND (
fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
* ((100 + rc.indexpct) / 100),
2) new_waarde
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
WHERE 1 = 1
AND kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = v_new_contract_key
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_kenmerk_verwijder IS NULL
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
AND sk.cnt_srtkenmerk_verwijder IS NULL
AND sk.cnt_srtkenmerk_kenmerktype = 'N'
AND ( sk.cnt_srtkenmerk_key = 241 -- Hosting
OR ( sk.cnt_srtkenmerk_key = 221 -- Tarief Consultant
AND rc.cnt_contract_nummer_intern NOT IN (16, 42)) -- ...behalve voor UWVA=16 en AAIT/AAFM=42 => handmatig
OR ( sk.cnt_srtkenmerk_key = 222 -- Tarief Specialist
AND rc.cnt_contract_nummer_intern NOT IN (16, 42)) -- ...behalve voor UWVA=16 en AAIT/AAFM=42 => handmatig
OR sk.cnt_srtkenmerk_upper LIKE '%PRIJS%')
ORDER BY k.cnt_kenmerk_volgnummer)
LOOP
v_errorhint := 'Fout bij bijwerken prijsveld.';
UPDATE cnt_kenmerkcontract
SET cnt_kenmerkcontract_waarde = TO_CHAR (rkc.new_waarde, '999999D99')
WHERE cnt_kenmerkcontract_key = rkc.cnt_kenmerkcontract_key;
END LOOP;
-- Aanpassen van de totalen. Let op dat een evt kortingsbedrag (cnt_srtkenmerk_key=85)
-- niet meegeindexeerd wordt, dus kun je niet zomaar het totaal indexeren
v_errorhint := 'Fout bij bijwerken termijnbedrag.';
SELECT cnt_contract_termijnkosten
INTO oldtermijnkosten
FROM cnt_contract
WHERE cnt_contract_key = v_new_contract_key;
DBMS_OUTPUT.PUT_LINE ('oldtermijn ' || oldtermijnkosten);
BEGIN
SELECT COALESCE (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde), 0)
INTO termijnkorting
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtkenmerk_key = 85 -- het kortingsbedrag (is negatief bij korting) per termijn
AND kc.cnt_contract_key = v_new_contract_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
termijnkorting := 0;
END;
UPDATE cnt_contract
SET cnt_contract_termijnkosten =
ROUND (
(rc.cnt_contract_termijnkosten - fac.safe_to_number (termijnkorting))
* ((100 + rc.indexpct) / 100)
+ fac.safe_to_number (termijnkorting),
2)
WHERE cnt_contract_key = v_new_contract_key;
SELECT cnt_contract_termijnkosten
INTO newtermijnkosten
FROM cnt_contract
WHERE cnt_contract_key = v_new_contract_key;
DBMS_OUTPUT.PUT_LINE ('newtermijn ' || TO_CHAR (newtermijnkosten));
--c.ins_discipline_key IN (481, 482, 501) -- SaaS/Onderhoud/Care = termijn per maand/jaar/maand
v_errorhint := 'Fout bij bijwerken jaarbedrag.';
UPDATE cnt_contract
SET cnt_contract_kosten =
DECODE (ins_discipline_key, 481, 12, 501, 12, 661, 12, 482, 1)
* cnt_contract_termijnkosten,
cnt_contract_termijntermijn =
DECODE (ins_discipline_key, 481, 3, 501, 3, 661, 3, 482, 10) -- mnd/mnd/jr
WHERE cnt_contract_key = v_new_contract_key;
-- SGGR#60314: Totalen igv. FACILITOR SaaS (ins_discipline_key=481)
-- ook doorvoeren in berekende kenmerkvelden van soort:
-- 481=Totaal contractbedrag/mnd
-- 482=Totaal contractbedrag/jaar
v_errorhint := 'Fout bij bijwerken berekende velden.';
-- alleen bij 481??
IF rc.ins_discipline_key = 481 -- FACILITOR SaaS
THEN
upsert_cntkenmerk (v_new_contract_key, 481, -- Totaal contractbedrag/mnd
newtermijnkosten);
upsert_cntkenmerk (v_new_contract_key, 482, -- Totaal contractbedrag/jaar
12 * newtermijnkosten);
END IF;
v_errorhint := 'Fout bij bijwerken index-tracking (CNTUPD).';
fac.trackaction (
'CNTUPD',
v_new_contract_key,
NULL,
NULL,
'Contract ge<67>ndexeerd met '
|| TO_CHAR (rc.indexpct, '0.00')
|| '%; termijnbedrag gewijzigd van <20>'
|| TO_CHAR (oldtermijnkosten)
|| ' naar <20>'
|| TO_CHAR (newtermijnkosten));
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := ' Error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname,
'W',
rc.aanduiding || v_errormsg,
v_errorhint);
COMMIT;
END;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname,
'E',
'Proces INDEXWERK afgebroken!',
v_errormsg);
COMMIT;
END;
/
/*<TOAD_FILE_CHUNK>*/
-- Standaard volgorde van de kolommen in het CSV-formaat)
-- Variabelelijst
-- v_alg_locatie_code 1
-- v_alg_gebouw_code 2
-- v_alg_verdieping_volgnr 3
-- v_alg_ruimte_nr 4
-- v_prs_werkplek_volgnr 5
-- v_prs_werkplek_omschrijving 6
-- v_prs_afdeling_naam 7
-- v_prs_perslid_naam 8
-- v_prs_perslid_tussenvoegsel 9
-- v_prs_perslid_voornaam 10
-- v_prs_perslid_voorletters 11
-- v_prs_perslid_partner_naam 12
-- v_prs_perslid_partner_tussenv 13
-- v_prs_naamgebruik_code 14 0 (default) perslid_naam en perslid_tussenvoegsel worden gebruikt
-- 1 personen die de geboortenaam van de partner icm de eigen naam willen gebruiken
-- 2 personen die de geboortenaam van de partner willen gebruiken
-- 3 personen die de eigen naam icm de geboortenaam van de partner willen gebruiken
-- v_prs_perslid_geslacht 15 Gebruik 'man', 'm' of 1 voor man en 'vrouw', 'v' of 0 voor vrouw case insensitive geen default
-- v_prs_perslid_telefoonnr 16
-- v_prs_perslid_mobiel 17
-- v_prs_perslid_email 18
-- v_prs_perslid_dienstverband 19
-- v_prs_perslid_nr 20
-- v_prs_srtperslid_omschrijving 21
-- v_prs_perslid_oslogin 22
-- v_prs_perslid_wachtwoord 23
-- v_prs_perslid_titel 24
-- v_prs_perslid_apikey 25
-- v_dummy 26
-- v_prs_kenmerk1 27
-- v_prs_kenmerk2 28
-- v_prs_kenmerk3 29
-- v_prs_kenmerk4 30
-- v_prs_kenmerk5 31
-- v_prs_kenmerk6 32
-- v_prs_kenmerk7 33
-- v_prs_kenmerk8 34
-- v_prs_kenmerk9 35
-- v_prs_kenmerk10 36
-- v_prs_kenmerk11 37
-- v_prs_kenmerk12 38
-- v_prs_kenmerk13 39
-- v_prs_kenmerk14 40
-- v_prs_kenmerk15 41
-- v_prs_kenmerk16 42
-- v_prs_kenmerk17 43
-- v_prs_kenmerk18 44
-- v_prs_kenmerk19 45
-- v_prs_kenmerk20 46
CREATE OR REPLACE PROCEDURE sggr_import_prs (p_import_key IN NUMBER)
AS
v_errormsg VARCHAR2 (1000) := '-';
v_errorhint VARCHAR2 (1000) := '-';
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
BEGIN
v_errorhint := 'Generieke import';
-- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE.
--"Personeelsnummer;Geslacht;Login;Achternaam;Tussenvoegsel;Voorletters;Voornaam;Telefoonnummer;Mobiel;Email;Afdeling;Datumindienst;Datumuitdienst;Functie"
prs.import_perslid (
p_import_key,
'0;0;0;0;0;0;11;4;5;6;'
|| '7;0;0;0;2;8;9;10;0;1;'
|| '14;3;0;0;0;0;12;13;0;0;'
|| '0;0;0;0;0;0;0;0;0;0;'
|| '0;0;0;0;0;0',
'%Personeelsnummer;Geslacht;Login;Achternaam;Tussenvoegsel;Voorletters;Voornaam;Telefoonnummer;Mobiel;Email;Afdeling;Datumindienst;Datumuitdienst;Functie%');
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
fac.imp_writelog (p_import_key,
'E',
v_errormsg || v_errorhint,
'Inleesproces personen afgebroken!');
END sggr_import_prs;
/
/*<TOAD_FILE_CHUNK>*/
CREATE OR REPLACE PROCEDURE sggr_update_prs (p_import_key IN NUMBER)
IS
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een e-mail
c_max_delta_percentage NUMBER (10) := 20; -- 20%!
v_count_prs_import NUMBER (10); -- #actieve personen na import!
v_count_prs_actual NUMBER (10); -- #actieve personen voor import!
-- Let op! Personen die niet meer in dienst zijn -> niet in fac_imp_perslid!
-- Dubbele oslogins? Dan wordt iemand mogelijk niet verwijderd/INACTIEF!
CURSOR c_del IS
SELECT p.prs_perslid_key, p.prs_perslid_oslogin
FROM prs_v_aanwezigperslid p
WHERE ( p.prs_perslid_oslogin IS NULL
OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak
AND p.prs_perslid_oslogin2 IS NULL
AND NOT EXISTS
(SELECT 1
FROM fac_imp_perslid i
WHERE UPPER (i.prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin))
ORDER BY 2, 1;
BEGIN
-- Bepaal oslogin-match tussen Facilitor en RECENT importbestand ofwel het aantal
-- actieve personen na import.
-- RECENT betekent niet meer dan een kwartiertje oud (14,4 minuten); dit voorkomt
-- dat - als er geen nieuw importbestand is aangeleverd - telkens dezelfde fouten
-- worden gerapporteerd (nl. op basis van een oud bestand in FAC_IMP_PERSLID).
SELECT COUNT (*)
INTO v_count_prs_import
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
WHERE p.prs_perslid_oslogin IS NOT NULL
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin);
-- Bepaal huidig aantal actieve personen in Facilitor.
SELECT DECODE (COUNT (*), 0, 1, COUNT (*))
INTO v_count_prs_actual
FROM prs_v_aanwezigperslid
WHERE prs_perslid_oslogin IS NOT NULL;
IF (TRUNC ((v_count_prs_import / v_count_prs_actual) * 100) < (100 - c_max_delta_percentage))
THEN
fac.imp_writelog (
p_import_key,
'E',
'Verschil tussen huidig aantal en te importeren aantal personen te groot; zie specificatie!',
'- max. verschilpercentage = ['
|| TO_CHAR (c_max_delta_percentage)
|| '%]'
|| CHR (13)
|| CHR (10)
|| '- #personen/import = ['
|| TO_CHAR (v_count_prs_import)
|| ']'
|| CHR (13)
|| CHR (10)
|| '- #personen/huidig = ['
|| TO_CHAR (v_count_prs_actual)
|| ']');
RETURN;
END IF;
-- Generieke update.
prs.update_perslid (p_import_key, 'LOGIN', 'D');
-- Verwijder personen die niet meer in de import voorkomen.
FOR rec IN c_del
LOOP
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
END LOOP;
-- Zolang SSO nog niet is ingeregeld, krijgt elke medewerker -met primaire
-- login en zonder wachtwoord!- een dummy-wachtwoord!
BEGIN
EXECUTE IMMEDIATE 'ALTER TRIGGER prs_t_prs_perslid_b_iu DISABLE';
BEGIN
FOR c
IN (SELECT prs_perslid_key
FROM prs_v_aanwezigperslid
WHERE prs_perslid_key > 100
AND prs_perslid_oslogin IS NOT NULL
AND prs_perslid_salt IS NULL)
LOOP
prs.setpassword (c.prs_perslid_key, 'Ququlequ');
END LOOP;
END;
EXECUTE IMMEDIATE 'ALTER TRIGGER prs_t_prs_perslid_b_iu ENABLE';
END;
END sggr_update_prs;
/
/*<TOAD_FILE_CHUNK>*/
-- overzicht met te accepteren meldingen voor teamleiders/managers
CREATE OR REPLACE VIEW SGGR_V_RAP_ACC
(
MLD_MELDING_KEY,
MLD_MELDING_NR,
MELDING,
DATUM,
STATUS,
AANVRAGER,
LEIDINGGEVENDE,
FCLT_3D_USER_KEY
)
AS
SELECT m.mld_melding_key,
m.mld_melding_key meldingnr,
sm.mld_stdmelding_omschrijving melding,
TO_DATE (m.mld_melding_datum) datum,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END status,
p.prs_perslid_naam_friendly aanvrager,
mg.prs_perslid_naam_friendly leidinggevende,
mg.prs_perslid_key AS fclt_3d_user_key
FROM mld_melding m,
prs_v_perslid_fullnames_all p,
prs_kenmerklink kl,
prs_v_perslid_fullnames_all mg,
mld_stdmelding sm
WHERE ( m.mld_stdmelding_key IN (43,
281,
261,
1161,
1541,
421,
346) -- 43=inkoopverplichtingen, 281=aftrekbare kosten leaseauto's, 261=declaraties voor /24, 1161=declaratie voor 1/7/25, 1541 = declaratie n, 1/7/25 421=overurensheet, 346=Aanvraag hotelkamer
OR sm.mld_ins_discipline_key IN (721, 821)) --- 731=vakgroep relatiegeschenken, 821=vakgroep aanvragen met acceptatie
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND m.prs_perslid_key_voor = kl.prs_link_key
AND kl.prs_kenmerk_key = 1081
AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = mg.prs_perslid_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND m.mld_melding_status IN (2, 3)
AND sm.mld_stdmelding_conceptstatus = 0
UNION ALL
SELECT m.mld_melding_key,
m.mld_melding_key meldingnr,
sm.mld_stdmelding_omschrijving melding,
TO_DATE (m.mld_melding_datum) datum,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END status,
p.prs_perslid_naam_friendly aanvrager,
mg.prs_perslid_naam_friendly leidinggevende,
184 AS fclt_3d_user_key
FROM mld_melding m,
prs_v_perslid_fullnames_all p,
prs_kenmerklink kl,
prs_v_perslid_fullnames_all mg,
mld_stdmelding sm
WHERE m.mld_stdmelding_key = 201
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND m.prs_perslid_key_voor = kl.prs_link_key
AND kl.prs_kenmerk_key = 1081
AND mg.prs_perslid_key <> 281 --- Peter Feij
AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = mg.prs_perslid_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND m.mld_melding_status IN (2, 3)
AND sm.mld_stdmelding_conceptstatus = 0
UNION ALL
SELECT m.mld_melding_key,
m.mld_melding_key meldingnr,
sm.mld_stdmelding_omschrijving melding,
TO_DATE (m.mld_melding_datum) datum,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END status,
p.prs_perslid_naam_friendly aanvrager,
mg.prs_perslid_naam_friendly leidinggevende,
161 AS fclt_3d_user_key --- altijd Marcel Vrieling
FROM mld_melding m,
prs_v_perslid_fullnames_all p,
prs_kenmerklink kl,
prs_v_perslid_fullnames_all mg,
mld_stdmelding sm
WHERE m.mld_stdmelding_key IN (321, 522) --- verwerking aanvraag HW/SW
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND m.prs_perslid_key_voor = kl.prs_link_key
AND kl.prs_kenmerk_key = 1081
AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = mg.prs_perslid_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND m.mld_melding_status IN (2, 3, 4)
AND sm.mld_stdmelding_conceptstatus = 0;
CREATE OR REPLACE VIEW sggr_v_ICT_leverancier
(
BEDRIJF_KEY,
BEDRIJF_NAAM
)
AS
SELECT L.PRS_BEDRIJF_KEY, L.PRS_BEDRIJF_NAAM
FROM prs_bedrijf l
WHERE L.PRS_RELATIETYPE_KEY = 10 -- ICT leverancier
AND L.PRS_BEDRIJF_LEVERANCIER IS NOT NULL
AND L.PRS_BEDRIJF_VERWIJDER IS NULL;
CREATE OR REPLACE VIEW SGGR_V_NOTI_DIR
(
SENDER,
RECEIVER,
TEXT,
CODE,
FAC_SRTNOTIFICATIE_KEY,
KEY,
XKEY,
XEMAIL,
XMOBILE
)
AS
SELECT DISTINCT
NULL sender,
NULL receiver,
REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', pn.prs_perslid_naam_friendly),
fac_srtnotificatie_code,
n.fac_srtnotificatie_key,
m.mld_melding_key,
NULL xkey,
'jeroen.kuiper@aareon.com;johan.deboer@aareon.nl;alexander.zaal@aareon.nl' xemail,
NULL xmobile
FROM fac_tracking t,
mld_melding m,
fac_srtnotificatie n,
prs_perslid p,
prs_v_perslid_fullnames_all pn,
prs_kenmerklink kl,
prs_perslid mgr
WHERE t.fac_tracking_refkey = m.mld_melding_key
AND t.fac_srtnotificatie_key = 26
AND n.fac_srtnotificatie_code = 'CUST05'
AND m.mld_stdmelding_key IN (301, 523) -- Inkoop hardware/software
AND p.prs_perslid_key = pn.prs_perslid_key
AND p.prs_perslid_key = kl.prs_link_key
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
AND fac.safe_to_number (prs_kenmerklink_waarde) = mgr.prs_perslid_key
AND mgr.prs_perslid_key <> 281 --- Peter Feij
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
UNION ALL
SELECT DISTINCT NULL sender,
NULL receiver,
REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', pn.prs_perslid_naam_friendly),
fac_srtnotificatie_code,
n.fac_srtnotificatie_key,
m.mld_melding_key,
NULL xkey,
'p.feij@facilitor.nl' xemail,
NULL xmobile
FROM fac_tracking t,
mld_melding m,
fac_srtnotificatie n,
prs_perslid p,
prs_v_perslid_fullnames_all pn,
prs_kenmerklink kl,
prs_perslid mgr
WHERE t.fac_tracking_refkey = m.mld_melding_key
AND t.fac_srtnotificatie_key = 26
AND n.fac_srtnotificatie_code = 'CUST05'
AND m.mld_stdmelding_key IN (301, 523) -- Inkoop hardware/software
AND p.prs_perslid_key = pn.prs_perslid_key
AND p.prs_perslid_key = kl.prs_link_key
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
AND fac.safe_to_number (prs_kenmerklink_waarde) = mgr.prs_perslid_key
AND mgr.prs_perslid_key = 281 --- Peter Feij
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
UNION ALL
SELECT DISTINCT
NULL
sender,
NULL
receiver,
REPLACE (
lcl.x ('fac_srtnotificatie_oms', n.fac_srtnotificatie_key, n.fac_srtnotificatie_oms),
'##STDMLD## ##KEY##',
sm.mld_stdmelding_omschrijving || '/' || m.mld_melding_key),
fac_srtnotificatie_code,
n.fac_srtnotificatie_key,
m.mld_melding_key,
NULL
xkey,
'p.feij@facilitor.nl'
xemail,
NULL
xmobile
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
fac_srtnotificatie n,
prs_perslid p,
prs_v_perslid_fullnames_all pn,
prs_v_afdeling a
WHERE t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND t.fac_srtnotificatie_key = 26
AND n.fac_srtnotificatie_code = 'MLD2B3'
AND m.mld_stdmelding_key IN (361,
161,
101,
122,
162,
201) --- 361=Aanvraag opleiding, 161=Nieuw abo, 101=Nieuwe opdr, 122=Uitbreiding opdr, 162=wijzigingen abo, 201=creditering
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND p.prs_perslid_key = pn.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_bedrijf_key = 1001 --- Facilitor
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
UNION ALL
SELECT DISTINCT
NULL
sender,
NULL
receiver,
REPLACE (
lcl.x ('fac_srtnotificatie_oms', n.fac_srtnotificatie_key, n.fac_srtnotificatie_oms),
'##STDMLD## ##KEY##',
sm.mld_stdmelding_omschrijving || '/' || m.mld_melding_key),
fac_srtnotificatie_code,
n.fac_srtnotificatie_key,
m.mld_melding_key,
NULL
xkey,
'jeroen.kuiper@aareon.com;johan.deboer@aareon.nl;alexander.zaal@aareon.nl'
xemail,
NULL
xmobile
FROM fac_tracking t,
mld_melding m,
mld_stdmelding sm,
fac_srtnotificatie n,
prs_perslid p,
prs_v_perslid_fullnames_all pn,
prs_v_afdeling a
WHERE t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND t.fac_srtnotificatie_key = 26
AND n.fac_srtnotificatie_code = 'MLD2B3'
AND m.mld_stdmelding_key IN (361, 386) --- 361=Aanvraag opleiding, 386=Productmanagement Aareon
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND p.prs_perslid_key = pn.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND A.PRS_BEDRIJF_KEY = 21 --- Aareon Nederland
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
AND t.fac_tracking_datum < (SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR');
CREATE OR REPLACE VIEW SGGR_V_RAP_DIR
(
MLD_MELDING_KEY,
MLD_MELDING_NR,
MELDING,
DATUM,
STATUS,
AANVRAGER,
BEDRIJF,
LEIDINGGEVENDE
)
AS
SELECT m.mld_melding_key,
m.mld_melding_key meldingnr,
sm.mld_stdmelding_omschrijving melding,
TO_DATE (m.mld_melding_datum) datum,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END status,
p.prs_perslid_naam_friendly aanvrager,
b.prs_bedrijf_naam,
mg.prs_perslid_naam_friendly leidinggevende
FROM mld_melding m,
prs_v_perslid_fullnames_all p,
prs_perslid pl,
prs_v_afdeling a,
prs_bedrijf b,
prs_kenmerklink kl,
prs_v_perslid_fullnames_all mg,
mld_stdmelding sm
WHERE ( m.mld_stdmelding_key IN (261,
281,
1161,
1541,
43,
421)
OR sm.mld_ins_discipline_key IN (721, 821)) --inkoopverplichting, declaratie, aftrekbare kosten lease auto, overurensheet, vakgroep relatiegeschenken en aanvragen met acceptarie
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND m.prs_perslid_key_voor = kl.prs_link_key
AND kl.prs_kenmerk_key = 1081
AND kl.prs_kenmerklink_waarde = mg.prs_perslid_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND m.mld_melding_status IN (2, 3)
AND p.prs_perslid_key = pl.prs_perslid_key
AND pl.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_bedrijf_key = b.prs_bedrijf_key
AND mg.prs_perslid_key IN (121, 281) -- directie
AND sm.mld_stdmelding_conceptstatus = 0
UNION ALL
SELECT DISTINCT
m.mld_melding_key,
m.mld_melding_key meldingnr,
sm.mld_stdmelding_omschrijving,
TO_DATE (m.mld_melding_datum) datum,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END status,
p.prs_perslid_naam_friendly aanvrager,
b.prs_bedrijf_naam,
manager.prs_perslid_naam_friendly leidinggevende
FROM mld_melding m,
prs_v_perslid_fullnames_all p,
prs_perslid pl,
prs_v_afdeling a,
prs_bedrijf b,
prs_v_perslid_fullnames_all mg,
mld_stdmelding sm,
(SELECT kl.*, mg.*
FROM prs_kenmerklink kl, prs_v_perslid_fullnames_all mg
WHERE kl.prs_kenmerklink_waarde = mg.prs_perslid_key AND kl.prs_kenmerk_key = 1081)
manager
WHERE m.mld_stdmelding_key IN (301,
361,
386,
161,
101,
122,
162,
201,
523,
1101) -- aanvraag hw/sw, opleidingsformulier, aanvraag productmanagement, nieuw abo, nieuwe opdr, uitbreiding opdr, wijziging abo, crediteringen
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND m.mld_melding_status IN (2, 3)
AND p.prs_perslid_key = pl.prs_perslid_key
AND pl.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_bedrijf_key = b.prs_bedrijf_key
AND m.prs_perslid_key_voor = manager.prs_link_key(+)
AND sm.mld_stdmelding_conceptstatus = 0;
-- Notificatie aan managers:
-- Acceptatie van declaratie vereist
-- Acceptatie van inkoopverplichting vereist
-- Acceptatie van aanvraag intern project
CREATE OR REPLACE VIEW SGGR_V_NOTI_MANAGER
(
SENDER,
RECEIVER,
TEXT,
CODE,
FAC_SRTNOTIFICATIE_KEY,
KEY,
XKEY,
XEMAIL,
XMOBILE
)
AS
SELECT DISTINCT NULL sender,
NULL receiver,
REPLACE (n.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key),
fac_srtnotificatie_code,
n.fac_srtnotificatie_key,
m.mld_melding_key,
NULL xkey,
mgr.prs_perslid_email xemail,
NULL xmobile
FROM fac_tracking t,
mld_melding m,
fac_srtnotificatie n,
prs_perslid p,
prs_kenmerklink kl,
prs_perslid mgr,
mld_stdmelding sm
WHERE t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND t.fac_srtnotificatie_key = 26
AND n.fac_srtnotificatie_code = 'CUST02'
AND m.mld_stdmelding_key IN (281, 261, 1161, 1541) -- declaratie, aftrekbare priv<69>kosten leaseauto,
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND p.prs_perslid_key = kl.prs_link_key
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
AND prs_kenmerklink_waarde = mgr.prs_perslid_key
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER')
AND t.fac_tracking_datum <
(SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER')
UNION ALL
SELECT DISTINCT NULL sender,
NULL receiver,
REPLACE (n.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key),
fac_srtnotificatie_code,
n.fac_srtnotificatie_key,
m.mld_melding_key,
NULL xkey,
mgr.prs_perslid_email xemail,
NULL xmobile
FROM fac_tracking t,
mld_melding m,
fac_srtnotificatie n,
prs_perslid p,
prs_kenmerklink kl,
prs_perslid mgr,
mld_stdmelding sm
WHERE t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND t.fac_srtnotificatie_key = 26
AND n.fac_srtnotificatie_code = 'CUST03'
AND (m.mld_stdmelding_key = 43 OR sm.mld_ins_discipline_key = 721) -- inkoopverplichting of vakgroep relatiegeschenken
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND p.prs_perslid_key = kl.prs_link_key
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
AND prs_kenmerklink_waarde = mgr.prs_perslid_key
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER')
AND t.fac_tracking_datum <
(SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER')
UNION ALL
SELECT DISTINCT
NULL sender,
NULL receiver,
REPLACE (n.fac_srtnotificatie_oms, '##NAAM##', aanvr.prs_perslid_naam_friendly),
fac_srtnotificatie_code,
n.fac_srtnotificatie_key,
m.mld_melding_key,
NULL xkey,
mgr.prs_perslid_email xemail,
NULL xmobile
FROM fac_tracking t,
mld_melding m,
fac_srtnotificatie n,
prs_perslid p,
prs_v_perslid_fullnames aanvr,
prs_kenmerklink kl,
prs_perslid mgr,
mld_stdmelding sm
WHERE t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND t.fac_srtnotificatie_key = 26
AND n.fac_srtnotificatie_code = 'CUST07'
AND m.mld_stdmelding_key = 421 -- overurensheet
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND p.prs_perslid_key = aanvr.prs_perslid_key
AND p.prs_perslid_key = kl.prs_link_key
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
AND prs_kenmerklink_waarde = mgr.prs_perslid_key
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER')
AND t.fac_tracking_datum <
(SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER')
UNION ALL
SELECT DISTINCT
NULL
sender,
NULL
receiver,
(REPLACE (n.fac_srtnotificatie_oms,
'##STDMELDINGOMSCHR##',
sm.mld_stdmelding_omschrijving))
|| '/'
|| m.mld_melding_key,
fac_srtnotificatie_code,
n.fac_srtnotificatie_key,
m.mld_melding_key,
NULL
xkey,
mgr.prs_perslid_email
xemail,
NULL
xmobile
FROM fac_tracking t,
mld_melding m,
fac_srtnotificatie n,
prs_perslid p,
prs_kenmerklink kl,
prs_perslid mgr,
mld_stdmelding sm
WHERE t.fac_tracking_refkey = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND t.fac_srtnotificatie_key = 26
AND n.fac_srtnotificatie_code = 'CUST08'
AND sm.mld_ins_discipline_key IN (821, 1831) -- vakgroep aanvragen met acceptatie en aanvragen interne projecten
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND p.prs_perslid_key = kl.prs_link_key
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
AND prs_kenmerklink_waarde = mgr.prs_perslid_key
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER')
AND t.fac_tracking_datum <
(SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_MANAGER');
CREATE OR REPLACE FORCE VIEW SGGR_V_RAPP_VERLOF
(
MLD_MELDING_KEY,
MLD_MELDING_NR,
MELDING,
DATUM,
STATUS,
AANVRAGER,
LEIDINGGEVENDE,
FCLT_3D_USER_KEY
)
AS
SELECT m.mld_melding_key,
m.mld_melding_key meldingnr,
sm.mld_stdmelding_omschrijving melding,
TO_DATE (m.mld_melding_datum) datum,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END status,
p.prs_perslid_naam_friendly aanvrager,
mg.prs_perslid_naam_friendly leidinggevende,
mg.prs_perslid_key AS fclt_3d_user_key
FROM mld_melding m,
prs_v_perslid_fullnames_all p,
prs_kenmerklink kl,
prs_v_perslid_fullnames_all mg,
mld_stdmelding sm
WHERE m.mld_stdmelding_key = 241
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND m.prs_perslid_key_voor = kl.prs_link_key
AND kl.prs_kenmerk_key = 1081
AND kl.prs_kenmerklink_waarde = mg.prs_perslid_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key;
CREATE OR REPLACE FORCE VIEW SGGR_V_RAPP_AANVR_HWSW
(
MLD_MELDING_KEY,
MLD_MELDING_NR,
MELDING,
DATUM,
STATUS,
AANVRAGER,
KOSTENPLAATS
)
AS
SELECT m.mld_melding_key,
m.mld_melding_key meldingnr,
sm.mld_stdmelding_omschrijving melding,
TO_DATE (m.mld_melding_datum) datum,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END status,
p.prs_perslid_naam_friendly aanvrager,
K.PRS_KOSTENPLAATS_NR
FROM mld_melding m,
prs_v_perslid_fullnames_all p,
prs_perslid l,
mld_stdmelding sm,
prs_afdeling a,
prs_kostenplaats k
WHERE m.mld_stdmelding_key = 321
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND P.PRS_PERSLID_KEY = L.PRS_PERSLID_KEY
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND L.PRS_AFDELING_KEY = A.PRS_AFDELING_KEY
AND A.PRS_KOSTENPLAATS_KEY = K.PRS_KOSTENPLAATS_KEY;
--- overzicht van alle business units en teams:
---266 treasury/267 Handel en Logistiek/268 ICT services/270 Wonen/271 Consultancy/272 Vastgoed/273 Financi<63>n/274 CRM en Markt/275 Appl. beheer
CREATE OR REPLACE VIEW SGGR_V_BUSINESS_UNITS
(
AFDELING_KEY,
AFDELING_OMSCHRIJVING
)
AS
SELECT A.PRS_AFDELING_KEY, A.PRS_AFDELING_OMSCHRIJVING
FROM PRS_AFDELING A
WHERE A.PRS_AFDELING_KEY IN (266,
267,
268,
270,
271,
272,
273,
274,
275)
AND A.PRS_AFDELING_VERWIJDER IS NULL;
-- overzicht van alle BU managers. Functies:
-- teamleider support en ontwikkeling 3803/Teamleider Consultance 2052/Teamleider Treasury 3806/Unitmanagers 2050/Directeur Wonen 3807
CREATE OR REPLACE VIEW SGGR_V_MANAGERS_BU
(
PERSLID_KEY,
PERSLID_VOLNAAM
)
AS
SELECT P.PRS_PERSLID_KEY, N.PRS_PERSLID_NAAM_FULL
FROM PRS_V_PERSLID_FULLNAMES N, PRS_PERSLID P
WHERE N.PRS_PERSLID_KEY = P.PRS_PERSLID_KEY
AND P.PRS_SRTPERSLID_KEY IN (3803,
2052,
3806,
2050,
3807)
ORDER BY N.PRS_PERSLID_NAAM_FULL;
CREATE OR REPLACE PROCEDURE sggr_daily
AS
CURSOR c IS
SELECT *
FROM fac_tracking t, ins_deel d
WHERE fac_tracking_refkey = d.ins_deel_key
AND d.ins_srtdeel_key IN (481, 621) -- pool autos 481 , later samengevoegd: lease/poolauto's
AND fac_srtnotificatie_key IN (96, 97) -- uitgifte (insout) en inname (insinn)
ORDER BY ins_deel_key, fac_tracking_datum;
v_bestuurder VARCHAR2 (60);
v_uitgifte DATE;
v_inname DATE;
v_reden VARCHAR2 (100);
v_van VARCHAR2 (100);
v_naar VARCHAR2 (100);
v_km_uitgifte NUMBER (10);
v_km_inname NUMBER (10);
v_fac_tracking_uitgifte_key NUMBER (10);
v_fac_tracking_inname_key NUMBER (10);
v_dummy VARCHAR2 (1000);
v_search VARCHAR2 (1000);
BEGIN
DELETE sggr_autorit_registratie;
FOR rec IN c
LOOP
BEGIN
--v_search := 'Reden van gebruik:';
--v_dummy := sggr.find_str (rec.fac_tracking_oms, v_search);
--v_reden := sggr.find_nieuw (v_dummy, v_reden);
--v_search := 'Van:';
--v_dummy := sggr.find_str (rec.fac_tracking_oms, v_search);
--v_van := sggr.find_nieuw (v_dummy, v_van);
--v_search := 'Naar:';
--v_dummy := sggr.find_str (rec.fac_tracking_oms, v_search);
--v_naar := sggr.find_nieuw (v_dummy, v_naar);
v_search := 'Kilometerstand:';
v_dummy := sggr.find_str (rec.fac_tracking_oms, v_search);
IF v_dummy IS NULL
THEN
v_km_uitgifte := v_km_inname;
ELSE
v_km_uitgifte := fac.safe_to_number (sggr.find_oud (v_dummy, v_km_uitgifte));
v_km_inname := fac.safe_to_number (sggr.find_nieuw (v_dummy, v_km_inname));
END IF;
v_search := 'is uitgegeven aan';
v_dummy := SUBSTR (sggr.find_str (rec.fac_tracking_oms, v_search), 0, 60);
v_bestuurder := v_dummy;
IF rec.fac_srtnotificatie_key = 96
THEN
-- Uitgifte
v_uitgifte := rec.fac_tracking_datum;
INSERT INTO sggr_autorit_registratie (ins_deel_key,
bestuurder,
uitgifte,
km_uitgifte,
fac_tracking_uitgifte_key)
VALUES (rec.fac_tracking_refkey,
v_bestuurder,
v_uitgifte,
v_km_uitgifte,
rec.fac_tracking_key);
v_fac_tracking_uitgifte_key := rec.fac_tracking_key;
ELSE
v_inname := rec.fac_tracking_datum;
UPDATE sggr_autorit_registratie
SET inname = v_inname,
reden = COALESCE (v_reden, reden),
van = COALESCE (v_van, van),
naar = COALESCE (v_naar, naar),
km_uitgifte = COALESCE (v_km_uitgifte, km_uitgifte),
km_inname = v_km_inname,
fac_tracking_inname_key = rec.fac_tracking_key
WHERE fac_tracking_uitgifte_key = v_fac_tracking_uitgifte_key;
END IF;
END;
END LOOP;
END;
/
/*<TOAD_FILE_CHUNK>*/
CREATE OR REPLACE VIEW SGGR_V_RAP_AUTO_REGISTRATIE
(
TIMESTAMP,
MAAND,
AUTO,
BESTUURDER,
FCLT_D_DATUM,
UITGIFTE_DATUM,
UITGIFTE_TIJD,
INNAME_DATUM,
INNAME_TIJD,
REDEN,
VAN,
NAAR,
KM_UITGIFTE,
KM_INNAME,
KM_VERSCHIL
)
AS
SELECT TO_CHAR (uitgifte, 'yyyymmddhh24mi') timestamp,
TO_CHAR (uitgifte, 'Month') maand,
ins_deel_omschrijving auto,
bestuurder,
TO_CHAR (uitgifte, 'dd-mm-yyyy') filter,
TO_CHAR (uitgifte, 'dd-mm-yyyy') uitgifte_datum,
TO_CHAR (uitgifte, 'hh24:mi') uitgifte_tijd,
TO_CHAR (inname, 'dd-mm-yyyy') inname_datum,
TO_CHAR (inname, 'hh24:mi') inname_tijd,
reden,
van,
naar,
km_uitgifte,
km_inname,
km_inname - km_uitgifte km_verschil
FROM sggr_autorit_registratie a, ins_deel d
WHERE a.ins_deel_key = d.ins_deel_key;
-- SGGR#40017 inzicht in hotelreserveringen
CREATE OR REPLACE VIEW SGGR_V_RAPP_HOTELAANVRAGEN
(
HTML_AANVRAAG_NR,
HTML_ANNULERING_NR,
HTML_WIJZIGING_NR,
STD_MELDING,
MLD_MELDING_DATUM,
MLD_MELDING_ONDERWERP,
MLD_MELDING_OMSCHRIJVING,
FCLT_3D_USER_KEY,
PRS_PERSLID_NAAM_FRIENDLY,
STATUS,
AANKOMSTDATUM,
VERTREKDATUM,
BESTEMMING,
HOTEL_VOORKEUR,
HTML_ANNULERING,
HTML_WIJZIGING,
GERESERVEERDE
)
AS
SELECT '<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| m.mld_melding_key
|| '")''>'
|| HTF.escape_sc (m.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| annulering.mld_melding_key
|| '")''>'
|| HTF.escape_sc (annulering.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| wijziging.mld_melding_key
|| '")''>'
|| HTF.escape_sc (wijziging.mld_melding_key)
|| '</a>',
m.mld_stdmelding_omschrijving,
m.mld_melding_datum,
m.mld_melding_onderwerp,
TO_CHAR (SUBSTR (m.mld_melding_omschrijving, 1, 4000)),
m.prs_perslid_key_voor,
m.prs_perslid_naam_friendly,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END
status,
aankomstdatum.mld_kenmerkmelding_waarde
aankomstdatum,
vertrekdatum.mld_kenmerkmelding_waarde
vertrekdatum,
plaats.mld_kenmerkmelding_waarde
plaats,
voorkeur.mld_kenmerkmelding_waarde
hotelvoorkeur,
CASE
WHEN annulering.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'txt=Gegevens reservering: Plaats '
|| plaats.mld_kenmerkmelding_waarde
|| ', aankomstdatum: '
|| aankomstdatum.mld_kenmerkmelding_waarde
|| '&'
|| 'mld_defaultstdmelding='
|| '441'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te annuleren')
|| '</a>'
WHEN annulering.mld_melding_key IS NOT NULL
THEN
''
END
html_annulering,
CASE
WHEN wijziging.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'txt=Gegevens reservering: Plaats '
|| plaats.mld_kenmerkmelding_waarde
|| ', aankomstdatum: '
|| aankomstdatum.mld_kenmerkmelding_waarde
|| '&'
|| 'mld_defaultstdmelding='
|| '561'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te wijzigen')
|| '</a>'
WHEN wijziging.mld_melding_key IS NOT NULL
THEN
''
END
html_wijziging,
'hotel'
FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving
FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p
WHERE mld.mld_stdmelding_key = 346
AND mld.mld_stdmelding_key = s.mld_stdmelding_key
AND p.prs_perslid_key = mld.prs_perslid_key_voor) m
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1381)
aankomstdatum
ON m.mld_melding_key = aankomstdatum.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1382) vertrekdatum
ON m.mld_melding_key = vertrekdatum.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 835) plaats
ON m.mld_melding_key = plaats.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 836) voorkeur
ON m.mld_melding_key = voorkeur.mld_melding_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 441) annulering
ON m.mld_melding_key = annulering.mld_melding_start_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 561) wijziging
ON m.mld_melding_key = wijziging.mld_melding_start_key
UNION ALL
SELECT '<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| m.mld_melding_key
|| '")''>'
|| HTF.escape_sc (m.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| annulering.mld_melding_key
|| '")''>'
|| HTF.escape_sc (annulering.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| wijziging.mld_melding_key
|| '")''>'
|| HTF.escape_sc (wijziging.mld_melding_key)
|| '</a>',
m.mld_stdmelding_omschrijving,
m.mld_melding_datum,
m.mld_melding_onderwerp,
TO_CHAR (SUBSTR (m.mld_melding_omschrijving, 1, 4000)),
m.prs_perslid_key_voor,
m.prs_perslid_naam_friendly,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END
status,
aankomstdatum.mld_kenmerkmelding_waarde
aankomstdatum,
vertrekdatum.mld_kenmerkmelding_waarde
vertrekdatum,
plaats.mld_kenmerkmelding_waarde
plaats,
'',
CASE
WHEN annulering.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'txt=Gegevens reservering: Plaats '
|| plaats.mld_kenmerkmelding_waarde
|| ', aankomstdatum: '
|| aankomstdatum.mld_kenmerkmelding_waarde
|| '&'
|| 'mld_defaultstdmelding='
|| '481'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te annuleren')
|| '</a>'
WHEN annulering.mld_melding_key IS NOT NULL
THEN
''
END
html_annulering,
CASE
WHEN wijziging.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'txt=Gegevens reservering: Plaats '
|| plaats.mld_kenmerkmelding_waarde
|| ', aankomstdatum: '
|| aankomstdatum.mld_kenmerkmelding_waarde
|| '&'
|| 'mld_defaultstdmelding='
|| '741'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te wijzigen')
|| '</a>'
WHEN wijziging.mld_melding_key IS NOT NULL
THEN
''
END
html_wijziging,
'Externe zaal'
FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving
FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p
WHERE mld.mld_stdmelding_key = 461
AND mld.mld_stdmelding_key = s.mld_stdmelding_key
AND p.prs_perslid_key = mld.prs_perslid_key_voor) m
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1483)
aankomstdatum
ON m.mld_melding_key = aankomstdatum.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1484) vertrekdatum
ON m.mld_melding_key = vertrekdatum.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1481) plaats
ON m.mld_melding_key = plaats.mld_melding_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 481) annulering
ON m.mld_melding_key = annulering.mld_melding_start_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 741) wijziging
ON m.mld_melding_key = wijziging.mld_melding_start_key
UNION ALL
SELECT '<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| m.mld_melding_key
|| '")''>'
|| HTF.escape_sc (m.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| annulering.mld_melding_key
|| '")''>'
|| HTF.escape_sc (annulering.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| wijziging.mld_melding_key
|| '")''>'
|| HTF.escape_sc (wijziging.mld_melding_key)
|| '</a>',
m.mld_stdmelding_omschrijving,
m.mld_melding_datum,
m.mld_melding_onderwerp,
TO_CHAR (SUBSTR (m.mld_melding_omschrijving, 1, 4000)),
m.prs_perslid_key_voor,
m.prs_perslid_naam_friendly,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END
status,
COALESCE (aankomst.mld_kenmerkmelding_waarde,
aankomst_auto.mld_kenmerkmelding_waarde,
aankomst_trein.mld_kenmerkmelding_waarde,
aankomst_vlucht.mld_kenmerkmelding_waarde)
aankomstdatum,
COALESCE (vertrek.mld_kenmerkmelding_waarde,
vertrek_auto.mld_kenmerkmelding_waarde,
vertrek_trein.mld_kenmerkmelding_waarde,
vertrek_vlucht.mld_kenmerkmelding_waarde)
vertrekdatum,
COALESCE (plaats.mld_kenmerkmelding_waarde,
plaats_auto.mld_kenmerkmelding_waarde,
plaats_trein.mld_kenmerkmelding_waarde,
plaats_vlucht.mld_kenmerkmelding_waarde)
locatie,
COALESCE (voorkeur.mld_kenmerkmelding_waarde, 'nvt')
hotel_voorkeur,
CASE
WHEN annulering.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'mld_defaultstdmelding='
|| '761'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te annuleren')
|| '</a>'
WHEN annulering.mld_melding_key IS NOT NULL
THEN
''
END
html_annulering,
CASE
WHEN wijziging.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'mld_defaultstdmelding='
|| '781'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te wijzigen')
|| '</a>'
WHEN wijziging.mld_melding_key IS NOT NULL
THEN
''
END
html_wijziging,
LISTAGG (item.item, ', ') WITHIN GROUP (ORDER BY item)
AS item
FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving
FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p
WHERE mld.mld_stdmelding_key = 721
AND mld.mld_stdmelding_key = s.mld_stdmelding_key
AND p.prs_perslid_key = mld.prs_perslid_key_voor) m
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2021) hotel
ON m.mld_melding_key = hotel.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2083) aankomst -- aankomst hotel
ON m.mld_melding_key = aankomst.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2281)
aankomst_auto
ON m.mld_melding_key = aankomst_auto.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2126)
aankomst_trein
ON m.mld_melding_key = aankomst_trein.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2168)
aankomst_vlucht
ON m.mld_melding_key = aankomst_vlucht.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2084) vertrek --- vertrek hotel
ON m.mld_melding_key = vertrek.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2322) vertrek_auto
ON m.mld_melding_key = vertrek_auto.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2130)
vertrek_trein
ON m.mld_melding_key = vertrek_trein.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2171)
vertrek_vlucht
ON m.mld_melding_key = vertrek_vlucht.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2085) plaats --- locatie hotel
ON m.mld_melding_key = plaats.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2301) plaats_auto
ON m.mld_melding_key = plaats_auto.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2201) plaats_trein
ON m.mld_melding_key = plaats_trein.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2167)
plaats_vlucht
ON m.mld_melding_key = plaats_vlucht.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2089) voorkeur
ON m.mld_melding_key = voorkeur.mld_melding_key
LEFT JOIN
((SELECT k.mld_melding_key, 'trein' item
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2022
UNION
SELECT k.mld_melding_key, 'vliegreis' item
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2041
UNION
SELECT k.mld_melding_key, 'hotel' item
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2021
UNION
SELECT k.mld_melding_key, 'poolauto' item
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2761)) item
ON m.mld_melding_key = item.mld_melding_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 761) annulering
ON m.mld_melding_key = annulering.mld_melding_start_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 781) wijziging
ON m.mld_melding_key = wijziging.mld_melding_start_key
GROUP BY '<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| m.mld_melding_key
|| '")''>'
|| HTF.escape_sc (m.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| annulering.mld_melding_key
|| '")''>'
|| HTF.escape_sc (annulering.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| wijziging.mld_melding_key
|| '")''>'
|| HTF.escape_sc (wijziging.mld_melding_key)
|| '</a>',
m.mld_stdmelding_omschrijving,
m.mld_melding_datum,
m.mld_melding_onderwerp,
TO_CHAR (SUBSTR (m.mld_melding_omschrijving, 1, 4000)),
m.prs_perslid_key_voor,
m.prs_perslid_naam_friendly,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END,
COALESCE (aankomst.mld_kenmerkmelding_waarde,
aankomst_auto.mld_kenmerkmelding_waarde,
aankomst_trein.mld_kenmerkmelding_waarde,
aankomst_vlucht.mld_kenmerkmelding_waarde),
COALESCE (vertrek.mld_kenmerkmelding_waarde,
vertrek_auto.mld_kenmerkmelding_waarde,
vertrek_trein.mld_kenmerkmelding_waarde,
vertrek_vlucht.mld_kenmerkmelding_waarde),
COALESCE (plaats.mld_kenmerkmelding_waarde,
plaats_auto.mld_kenmerkmelding_waarde,
plaats_trein.mld_kenmerkmelding_waarde,
plaats_vlucht.mld_kenmerkmelding_waarde),
COALESCE (voorkeur.mld_kenmerkmelding_waarde, 'nvt'),
CASE
WHEN annulering.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'mld_defaultstdmelding='
|| '761'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te annuleren')
|| '</a>'
WHEN annulering.mld_melding_key IS NOT NULL
THEN
''
END,
CASE
WHEN wijziging.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'mld_defaultstdmelding='
|| '781'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te wijzigen')
|| '</a>'
WHEN wijziging.mld_melding_key IS NOT NULL
THEN
''
END;
CREATE OR REPLACE VIEW SGGR_V_RAPP_HOTELAANVRAGEN_ALL
(
HTML_AANVRAAG_NR,
HTML_ANNULERING_NR,
HTML_WIJZIGING_NR,
STD_MELDING,
MLD_MELDING_DATUM,
MLD_MELDING_ONDERWERP,
MLD_MELDING_OMSCHRIJVING,
PRS_PERSLID_NAAM_FRIENDLY,
STATUS,
AANKOMSTDATUM,
VERTREKDATUM,
PLAATS,
HOTEL_VOORKEUR,
HTML_ANNULERING,
HTML_WIJZIGING,
GERESERVEERDE
)
AS
SELECT '<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| m.mld_melding_key
|| '")''>'
|| HTF.escape_sc (m.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| annulering.mld_melding_key
|| '")''>'
|| HTF.escape_sc (annulering.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| wijziging.mld_melding_key
|| '")''>'
|| HTF.escape_sc (wijziging.mld_melding_key)
|| '</a>',
m.mld_stdmelding_omschrijving,
m.mld_melding_datum,
m.mld_melding_onderwerp,
TO_CHAR(SUBSTR(m.mld_melding_omschrijving,1,4000)),
m.prs_perslid_naam_friendly,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END
status,
aankomstdatum.mld_kenmerkmelding_waarde
aankomstdatum,
vertrekdatum.mld_kenmerkmelding_waarde
vertrekdatum,
plaats.mld_kenmerkmelding_waarde
plaats,
voorkeur.mld_kenmerkmelding_waarde
hotelvoorkeur,
CASE
WHEN annulering.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'txt=Gegevens reservering: Plaats '
|| plaats.mld_kenmerkmelding_waarde
|| ', aankomstdatum: '
|| aankomstdatum.mld_kenmerkmelding_waarde
|| '&'
|| 'mld_defaultstdmelding='
|| '441'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te annuleren')
|| '</a>'
WHEN annulering.mld_melding_key IS NOT NULL
THEN
''
END
html_annulering,
CASE
WHEN wijziging.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'txt=Gegevens reservering: Plaats '
|| plaats.mld_kenmerkmelding_waarde
|| ', aankomstdatum: '
|| aankomstdatum.mld_kenmerkmelding_waarde
|| '&'
|| 'mld_defaultstdmelding='
|| '561'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te wijzigen')
|| '</a>'
WHEN wijziging.mld_melding_key IS NOT NULL
THEN
''
END
html_wijziging,
'hotel'
FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving
FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p
WHERE mld.mld_stdmelding_key = 346
AND mld.mld_stdmelding_key = s.mld_stdmelding_key
AND p.prs_perslid_key = mld.prs_perslid_key_voor) m
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1381)
aankomstdatum
ON m.mld_melding_key = aankomstdatum.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1382) vertrekdatum
ON m.mld_melding_key = vertrekdatum.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 835) plaats
ON m.mld_melding_key = plaats.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 836) voorkeur
ON m.mld_melding_key = voorkeur.mld_melding_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 441) annulering
ON m.mld_melding_key = annulering.mld_melding_start_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 561) wijziging
ON m.mld_melding_key = wijziging.mld_melding_start_key
UNION ALL
SELECT '<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| m.mld_melding_key
|| '")''>'
|| HTF.escape_sc (m.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| annulering.mld_melding_key
|| '")''>'
|| HTF.escape_sc (annulering.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| wijziging.mld_melding_key
|| '")''>'
|| HTF.escape_sc (wijziging.mld_melding_key)
|| '</a>',
m.mld_stdmelding_omschrijving,
m.mld_melding_datum,
m.mld_melding_onderwerp,
TO_CHAR(SUBSTR(m.mld_melding_omschrijving,1,4000)),
m.prs_perslid_naam_friendly,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END
status,
aankomstdatum.mld_kenmerkmelding_waarde
aankomstdatum,
vertrekdatum.mld_kenmerkmelding_waarde
vertrekdatum,
plaats.mld_kenmerkmelding_waarde
plaats,
'',
CASE
WHEN annulering.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'txt=Gegevens reservering: Plaats '
|| plaats.mld_kenmerkmelding_waarde
|| ', aankomstdatum: '
|| aankomstdatum.mld_kenmerkmelding_waarde
|| '&'
|| 'mld_defaultstdmelding='
|| '481'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te annuleren')
|| '</a>'
WHEN annulering.mld_melding_key IS NOT NULL
THEN
''
END
html_annulering,
CASE
WHEN wijziging.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'txt=Gegevens reservering: Plaats '
|| plaats.mld_kenmerkmelding_waarde
|| ', aankomstdatum: '
|| aankomstdatum.mld_kenmerkmelding_waarde
|| '&'
|| 'mld_defaultstdmelding='
|| '741'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te wijzigen')
|| '</a>'
WHEN wijziging.mld_melding_key IS NOT NULL
THEN
''
END
html_wijziging,
'Externe zaal'
FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving
FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p
WHERE mld.mld_stdmelding_key = 461
AND mld.mld_stdmelding_key = s.mld_stdmelding_key
AND p.prs_perslid_key = mld.prs_perslid_key_voor) m
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1483)
aankomstdatum
ON m.mld_melding_key = aankomstdatum.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1484) vertrekdatum
ON m.mld_melding_key = vertrekdatum.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 1481) plaats
ON m.mld_melding_key = plaats.mld_melding_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 481) annulering
ON m.mld_melding_key = annulering.mld_melding_start_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 741) wijziging
ON m.mld_melding_key = wijziging.mld_melding_start_key
UNION ALL
SELECT '<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| m.mld_melding_key
|| '")''>'
|| HTF.escape_sc (m.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| annulering.mld_melding_key
|| '")''>'
|| HTF.escape_sc (annulering.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| wijziging.mld_melding_key
|| '")''>'
|| HTF.escape_sc (wijziging.mld_melding_key)
|| '</a>',
m.mld_stdmelding_omschrijving,
m.mld_melding_datum,
m.mld_melding_onderwerp,
TO_CHAR(SUBSTR(m.mld_melding_omschrijving,1,4000)),
m.prs_perslid_naam_friendly,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END
status,
COALESCE (aankomst.mld_kenmerkmelding_waarde,
aankomst_auto.mld_kenmerkmelding_waarde,
aankomst_trein.mld_kenmerkmelding_waarde,
aankomst_vlucht.mld_kenmerkmelding_waarde)
aankomstdatum,
COALESCE (vertrek.mld_kenmerkmelding_waarde,
vertrek_auto.mld_kenmerkmelding_waarde,
vertrek_trein.mld_kenmerkmelding_waarde,
vertrek_vlucht.mld_kenmerkmelding_waarde)
vertrekdatum,
COALESCE (plaats.mld_kenmerkmelding_waarde,
plaats_auto.mld_kenmerkmelding_waarde,
plaats_trein.mld_kenmerkmelding_waarde,
plaats_vlucht.mld_kenmerkmelding_waarde)
locatie,
COALESCE (voorkeur.mld_kenmerkmelding_waarde, 'nvt')
hotel_voorkeur,
CASE
WHEN annulering.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'mld_defaultstdmelding='
|| '761'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te annuleren')
|| '</a>'
WHEN annulering.mld_melding_key IS NOT NULL
THEN
''
END
html_annulering,
CASE
WHEN wijziging.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'mld_defaultstdmelding='
|| '781'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te wijzigen')
|| '</a>'
WHEN wijziging.mld_melding_key IS NOT NULL
THEN
''
END
html_wijziging,
LISTAGG (item.item, ', ') WITHIN GROUP (ORDER BY item)
AS item
FROM (SELECT mld.*, p.prs_perslid_naam_friendly, s.mld_stdmelding_omschrijving
FROM mld_melding mld, mld_stdmelding s, prs_v_perslid_fullnames_all p
WHERE mld.mld_stdmelding_key = 721
AND mld.mld_stdmelding_key = s.mld_stdmelding_key
AND p.prs_perslid_key = mld.prs_perslid_key_voor) m
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2021) hotel
ON m.mld_melding_key = hotel.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2083) aankomst -- aankomst hotel
ON m.mld_melding_key = aankomst.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2281)
aankomst_auto
ON m.mld_melding_key = aankomst_auto.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2126)
aankomst_trein
ON m.mld_melding_key = aankomst_trein.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2168)
aankomst_vlucht
ON m.mld_melding_key = aankomst_vlucht.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2084) vertrek --- vertrek hotel
ON m.mld_melding_key = vertrek.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2322) vertrek_auto
ON m.mld_melding_key = vertrek_auto.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2130)
vertrek_trein
ON m.mld_melding_key = vertrek_trein.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2171)
vertrek_vlucht
ON m.mld_melding_key = vertrek_vlucht.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2085) plaats --- locatie hotel
ON m.mld_melding_key = plaats.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2301) plaats_auto
ON m.mld_melding_key = plaats_auto.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2201) plaats_trein
ON m.mld_melding_key = plaats_trein.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2167)
plaats_vlucht
ON m.mld_melding_key = plaats_vlucht.mld_melding_key
LEFT JOIN
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2089) voorkeur
ON m.mld_melding_key = voorkeur.mld_melding_key
LEFT JOIN
((SELECT k.mld_melding_key, 'trein' item
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2022
UNION
SELECT k.mld_melding_key, 'vliegreis' item
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2041
UNION
SELECT k.mld_melding_key, 'hotel' item
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2021
UNION
SELECT k.mld_melding_key, 'poolauto' item
FROM mld_kenmerkmelding k, mld_kenmerk n
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_kenmerk_key = 2761)) item
ON m.mld_melding_key = item.mld_melding_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 761) annulering
ON m.mld_melding_key = annulering.mld_melding_start_key
LEFT JOIN (SELECT a.*
FROM mld_melding a
WHERE mld_stdmelding_key = 781) wijziging
ON m.mld_melding_key = wijziging.mld_melding_start_key
GROUP BY '<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| m.mld_melding_key
|| '")''>'
|| HTF.escape_sc (m.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| annulering.mld_melding_key
|| '")''>'
|| HTF.escape_sc (annulering.mld_melding_key)
|| '</a>',
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'mld_key='
|| wijziging.mld_melding_key
|| '")''>'
|| HTF.escape_sc (wijziging.mld_melding_key)
|| '</a>',
m.mld_stdmelding_omschrijving,
m.mld_melding_datum,
m.mld_melding_onderwerp,
TO_CHAR(SUBSTR(m.mld_melding_omschrijving,1,4000)),
m.prs_perslid_naam_friendly,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END,
COALESCE (aankomst.mld_kenmerkmelding_waarde,
aankomst_auto.mld_kenmerkmelding_waarde,
aankomst_trein.mld_kenmerkmelding_waarde,
aankomst_vlucht.mld_kenmerkmelding_waarde),
COALESCE (vertrek.mld_kenmerkmelding_waarde,
vertrek_auto.mld_kenmerkmelding_waarde,
vertrek_trein.mld_kenmerkmelding_waarde,
vertrek_vlucht.mld_kenmerkmelding_waarde),
COALESCE (plaats.mld_kenmerkmelding_waarde,
plaats_auto.mld_kenmerkmelding_waarde,
plaats_trein.mld_kenmerkmelding_waarde,
plaats_vlucht.mld_kenmerkmelding_waarde),
COALESCE (voorkeur.mld_kenmerkmelding_waarde, 'nvt'),
CASE
WHEN annulering.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'mld_defaultstdmelding='
|| '761'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te annuleren')
|| '</a>'
WHEN annulering.mld_melding_key IS NOT NULL
THEN
''
END,
CASE
WHEN wijziging.mld_melding_key IS NULL
THEN
'<a class="details" onclick=''FcltMgr.openDetail("'
|| 'appl/mld/mld_melding.asp?urole=fe&'
|| 'start_key='
|| m.mld_melding_key
|| '&'
|| 'mld_defaultstdmelding='
|| '781'
|| '")''>'
|| HTF.escape_sc ('Klik hier om te wijzigen')
|| '</a>'
WHEN wijziging.mld_melding_key IS NOT NULL
THEN
''
END;
CREATE OR REPLACE VIEW SGGR_V_RAP_METERSTANDEN
(
METERNR,
METEROMSCHR,
MEETDATUM,
OPMERKING,
VERBRUIK,
METERSTAND,
VORIGE_STAND,
BEREKEND_VERBRUIK,
DEF_VERBRUIK
)
AS
SELECT m.ins_deel_omschrijving,
m.ins_deel_opmerking,
c.ins_deelsrtcontrole_datum,
c.ins_deelsrtcontrole_opmerking,
verbruik.ins_kmdeelsrtcontr_waarde
verbr,
meterstanden.ins_kmdeelsrtcontr_waarde
meterstand,
(SELECT MAX (fac.safe_to_number (msp.ins_kmdeelsrtcontr_waarde))
FROM ins_v_deel_gegevens mp,
ins_deelsrtcontrole cp,
ins_kmdeelsrtcontr msp,
ins_kenmerk km
WHERE ins_srtgroep_key = 181
AND mp.ins_deel_key = cp.ins_deel_key
AND msp.ins_deelsrtcontrole_key = cp.ins_deelsrtcontrole_key
AND mp.ins_deel_key = m.ins_deel_key
AND msp.ins_kenmerk_key = meterstanden.ins_kenmerk_key
AND msp.ins_kenmerk_key = km.ins_kenmerk_key
AND km.ins_srtkenmerk_key = 201 --- alleen meterstanden meenemen
AND cp.ins_deelsrtcontrole_datum < c.ins_deelsrtcontrole_datum)
AS prev_meterstand,
( fac.safe_to_number (meterstanden.ins_kmdeelsrtcontr_waarde)
- (SELECT MAX (fac.safe_to_number (msp.ins_kmdeelsrtcontr_waarde))
FROM ins_v_deel_gegevens mp,
ins_deelsrtcontrole cp,
ins_kmdeelsrtcontr msp,
ins_kenmerk km
WHERE ins_srtgroep_key = 181
AND mp.ins_deel_key = cp.ins_deel_key
AND msp.ins_deelsrtcontrole_key = cp.ins_deelsrtcontrole_key
AND mp.ins_deel_key = m.ins_deel_key
AND msp.ins_kenmerk_key = meterstanden.ins_kenmerk_key
AND msp.ins_kenmerk_key = km.ins_kenmerk_key
AND km.ins_srtkenmerk_key = 201 --- alleen meterstanden meenemen
AND cp.ins_deelsrtcontrole_datum < c.ins_deelsrtcontrole_datum))
AS berekend_verbruik,
COALESCE (
fac.safe_to_number (verbruik.ins_kmdeelsrtcontr_waarde),
( fac.safe_to_number (meterstanden.ins_kmdeelsrtcontr_waarde)
- (SELECT MAX (fac.safe_to_number (msp.ins_kmdeelsrtcontr_waarde))
FROM ins_v_deel_gegevens mp,
ins_deelsrtcontrole cp,
ins_kmdeelsrtcontr msp,
ins_kenmerk km
WHERE ins_srtgroep_key = 181
AND mp.ins_deel_key = cp.ins_deel_key
AND msp.ins_deelsrtcontrole_key = cp.ins_deelsrtcontrole_key
AND mp.ins_deel_key = m.ins_deel_key
AND msp.ins_kenmerk_key = meterstanden.ins_kenmerk_key
AND msp.ins_kenmerk_key = km.ins_kenmerk_key
AND km.ins_srtkenmerk_key = 201 --- alleen meterstanden meenemen
AND cp.ins_deelsrtcontrole_datum < c.ins_deelsrtcontrole_datum)))
AS def_verbruik
FROM ins_v_deel_gegevens m,
ins_deelsrtcontrole c,
(SELECT msp.*
FROM ins_kmdeelsrtcontr msp, ins_kenmerk km
WHERE msp.ins_kenmerk_key = km.ins_kenmerk_key AND km.ins_srtkenmerk_key = 201)
meterstanden,
(SELECT msp.*
FROM ins_kmdeelsrtcontr msp, ins_kenmerk km
WHERE msp.ins_kenmerk_key = km.ins_kenmerk_key AND km.ins_srtkenmerk_key = 202)
verbruik
WHERE ins_srtgroep_key = 181
AND m.ins_deel_key = c.ins_deel_key
AND meterstanden.ins_deelsrtcontrole_key(+) = c.ins_deelsrtcontrole_key
AND verbruik.ins_deelsrtcontrole_key(+) = c.ins_deelsrtcontrole_key
ORDER BY m.ins_deel_key, c.ins_deelsrtcontrole_datum DESC;
CREATE OR REPLACE FORCE VIEW SGGR_V_LICENCECOUNT
(
CNT_CONTRACT_KEY,
CUST,
LICENCED_KEYUSER,
LICENCED_FRONTEND
)
AS
SELECT cnt_contract_key,
SUBSTR (cnt_contract_omschrijving, 1, 4)
CUST,
(SELECT cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract ck
WHERE cnt_kenmerk_key = 26 AND cc.cnt_contract_key = ck.cnt_contract_key)
licenced_keyuser,
(SELECT cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract ck
WHERE cnt_kenmerk_key = 27 AND cc.cnt_contract_key = ck.cnt_contract_key)
licenced_frontend
FROM cnt_contract cc
WHERE ins_discipline_key = 481 -- FACILITOR SaaS
AND cnt_contract_looptijd_tot > SYSDATE
AND cnt_contract_verwijder IS NULL
ORDER BY cnt_contract_omschrijving;
CREATE OR REPLACE VIEW sggr_v_axi_nrs
(
mld_melding_key,
axi_nr
)
AS
SELECT m.mld_melding_key, sd.ins_srtdiscipline_prefix || m.mld_melding_key meldingnummer
FROM mld_melding m,
mld_stdmelding sm,
ins_tab_discipline d,
ins_srtdiscipline sd
WHERE m.mld_stdmelding_key IN (523, 524)
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND d.ins_discipline_key = sm.mld_ins_discipline_key
AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key;
CREATE OR REPLACE VIEW SGGR_V_RAP_CONTROLE_LEASEDOC
(
auto,
leasecontract,
leasecontract_van,
leasecontract_tot,
contractdocument,
inzetbevestiging,
gebruikersovereenkomst,
gebruikersovk_van,
gebruikersovk_tot,
gebruikersoverenkomst_doc,
toekenningsformulier,
verklaring_privegebruik
)
AS
SELECT o.ins_deel_omschrijving
auto,
lease.ins_discipline_omschrijving || ' ' || lease.cnt_contract_nummer_intern
leasecontract,
lease.cnt_contract_looptijd_van
leasecontract_van,
lease.cnt_contract_looptijd_tot
leasecontract_tot,
lease.contractdocument,
lease.inzetbevestiging,
gebruikersovk.ins_discipline_omschrijving
|| ' '
|| gebruikersovk.cnt_contract_nummer_intern
gebruikersovk,
gebruikersovk.cnt_contract_looptijd_van
gebruikersovk_van,
gebruikersovk.cnt_contract_looptijd_tot
gebruikersovk_tot,
gebruikersovk.gebruikersovk,
gebruikersovk.toekenningsform,
gebruikersovk.verkl_privegebruik
FROM (SELECT d.ins_discipline_omschrijving,
co.cnt_ins_deel_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_looptijd_van,
c.cnt_contract_looptijd_tot,
CASE
WHEN inzetbevestiging.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig'
ELSE inzetbevestiging.cnt_kenmerkcontract_waarde
END AS inzetbevestiging,
CASE
WHEN contractdocument.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig'
ELSE contractdocument.cnt_kenmerkcontract_waarde
END AS contractdocument
FROM cnt_contract c,
cnt_contract_object co,
ins_tab_discipline d,
(SELECT kc.cnt_kenmerkcontract_waarde,
sk.cnt_srtkenmerk_omschrijving,
kc.cnt_contract_key,
kc.cnt_kenmerk_key
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
WHERE kc.cnt_kenmerk_key = 761
AND kc.cnt_kenmerkcontract_verwijder IS NULL
AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key
AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) inzetbevestiging,
(SELECT kc.cnt_kenmerkcontract_waarde,
sk.cnt_srtkenmerk_omschrijving,
kc.cnt_contract_key,
kc.cnt_kenmerk_key
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
WHERE kc.cnt_kenmerk_key = 721
AND kc.cnt_kenmerkcontract_verwijder IS NULL
AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key
AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) contractdocument
WHERE c.ins_discipline_key = d.ins_discipline_key
AND d.ins_discipline_key = 1201
AND c.cnt_contract_verwijder IS NULL
AND co.cnt_contract_key = c.cnt_contract_key
AND TRUNC (c.cnt_contract_looptijd_tot) >= TRUNC (SYSDATE)
AND inzetbevestiging.cnt_contract_key(+) = c.cnt_contract_key
AND contractdocument.cnt_contract_key(+) = c.cnt_contract_key) lease,
(SELECT d.ins_discipline_omschrijving,
co.cnt_ins_deel_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_looptijd_van,
c.cnt_contract_looptijd_tot,
CASE
WHEN gebruikersovk.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig'
ELSE gebruikersovk.cnt_kenmerkcontract_waarde
END AS gebruikersovk,
CASE
WHEN toekenningsform.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig'
ELSE toekenningsform.cnt_kenmerkcontract_waarde
END AS toekenningsform,
CASE
WHEN verkl_privegebruik.cnt_kenmerk_key IS NULL THEN 'Niet aanwezig'
ELSE verkl_privegebruik.cnt_kenmerkcontract_waarde
END AS verkl_privegebruik
FROM cnt_contract c,
cnt_contract_object co,
ins_tab_discipline d,
(SELECT kc.cnt_kenmerkcontract_waarde,
sk.cnt_srtkenmerk_omschrijving,
kc.cnt_contract_key,
kc.cnt_kenmerk_key
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
WHERE kc.cnt_kenmerk_key = 762
AND kc.cnt_kenmerkcontract_verwijder IS NULL
AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key
AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) gebruikersovk,
(SELECT kc.cnt_kenmerkcontract_waarde,
sk.cnt_srtkenmerk_omschrijving,
kc.cnt_contract_key,
kc.cnt_kenmerk_key
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
WHERE kc.cnt_kenmerk_key = 763
AND kc.cnt_kenmerkcontract_verwijder IS NULL
AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key
AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) toekenningsform,
(SELECT kc.cnt_kenmerkcontract_waarde,
sk.cnt_srtkenmerk_omschrijving,
kc.cnt_contract_key,
kc.cnt_kenmerk_key
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
WHERE kc.cnt_kenmerk_key = 764
AND kc.cnt_kenmerkcontract_verwijder IS NULL
AND k.cnt_kenmerk_key = kc.cnt_kenmerk_key
AND sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key) verkl_privegebruik
WHERE c.ins_discipline_key = d.ins_discipline_key
AND d.ins_discipline_key = 1221
AND c.cnt_contract_verwijder IS NULL
AND co.cnt_contract_key = c.cnt_contract_key
AND TRUNC (c.cnt_contract_looptijd_tot) >= TRUNC (SYSDATE)
AND gebruikersovk.cnt_contract_key(+) = c.cnt_contract_key
AND toekenningsform.cnt_contract_key(+) = c.cnt_contract_key
AND verkl_privegebruik.cnt_contract_key(+) = c.cnt_contract_key) gebruikersovk,
ins_deel o
WHERE o.ins_deel_key = lease.cnt_ins_deel_key
AND o.ins_deel_key = gebruikersovk.cnt_ins_deel_key;
COMMIT;
CREATE OR REPLACE VIEW SGGR_V_CAD_CORONA_WPL
(
ALG_RUIMTE_KEY,
WAARDE
)
AS
SELECT r.alg_ruimte_key,
CASE WHEN deel.res_deel_key IS NOT NULL THEN 'JA' ELSE 'NEE' END werkplek
FROM (SELECT r.*, d.ins_alg_ruimte_key
FROM res_v_aanwezigdeel r, ins_deel d, ins_srtdeel sd
WHERE d.ins_deel_key = r.res_ins_deel_key
AND d.ins_alg_ruimte_type = 'R'
AND sd.ins_srtdeel_key = d.ins_srtdeel_key
AND sd.ins_srtgroep_key = fac.getSetting ('ins_occupationsensors_srtgroep_key'))
deel,
alg_ruimte r
WHERE r.alg_ruimte_key = deel.ins_alg_ruimte_key(+)
AND (deel.res_deel_vervaldatum > SYSDATE OR deel.res_deel_vervaldatum IS NULL);
CREATE OR REPLACE VIEW SGGR_V_AFDELINGTEAMS
(
TEAM_KEY,
AFDELING_TEAM
)
AS
SELECT t.prs_afdeling_key, p.prs_afdeling_omschrijving || ' - ' || t.prs_afdeling_omschrijving
FROM prs_afdeling p, prs_afdeling t
WHERE t.prs_afdeling_parentkey = p.prs_afdeling_key;
CREATE OR REPLACE VIEW SGGR_V_RAP_OVERZICHT_BROEKHUIS
AS
SELECT berijder.berijder,
contract.cnt_contract_nummer,
DECODE (contract.cnt_contract_status, 1, 'actief', 'gesloten') contract_status,
contract.cnt_contract_nummer_intern kenteken,
auto.merk,
auto.fiscale_waarde,
auto.bijtelling,
contract.cnt_contract_termijnkosten leasebedrag,
auto.brandstof_voorschot,
contract.cnt_contract_looptijd_van begin_datum,
contract.cnt_contract_looptijd_tot eind_datum,
contract.restant_looptijd,
contract.looptijd,
contract.jaarkilometrage
FROM (SELECT c.cnt_contract_nummer,
c.cnt_contract_key,
c.cnt_contract_status,
c.cnt_contract_nummer_intern,
c.cnt_contract_termijnkosten,
c.cnt_contract_looptijd_van,
c.cnt_contract_looptijd_tot,
ROUND (MONTHS_BETWEEN (c.cnt_contract_looptijd_tot, TRUNC (SYSDATE)))
restant_looptijd,
jaarkilometrage.cnt_kenmerkcontract_waarde
jaarkilometrage,
looptijd.cnt_kenmerkcontract_waarde
looptijd
FROM cnt_contract c,
(SELECT kc.cnt_contract_key, cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 701 AND cnt_kenmerkcontract_verwijder IS NULL)
jaarkilometrage,
(SELECT kc.cnt_contract_key, cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 702 AND cnt_kenmerkcontract_verwijder IS NULL)
looptijd,
(SELECT kc.cnt_contract_key, cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerk_key = 703 AND cnt_kenmerkcontract_verwijder IS NULL)
leaseklasse
WHERE c.ins_discipline_key = 1201
AND c.cnt_contract_verwijder IS NULL
AND c.cnt_contract_key = jaarkilometrage.cnt_contract_key(+)
AND c.cnt_contract_key = looptijd.cnt_contract_key(+)
AND c.cnt_contract_key = leaseklasse.cnt_contract_key(+)) contract,
(SELECT co.cnt_contract_key,
co.cnt_ins_deel_key,
fiscale_waarde.ins_kenmerkdeel_waarde fiscale_waarde,
bijtelling.ins_kenmerkdeel_waarde || '%' bijtelling,
merk.ins_kenmerkdeel_waarde || ' ' || type_auto.ins_kenmerkdeel_waarde merk,
brandstof_voorschot.ins_kenmerkdeel_waarde brandstof_voorschot
FROM cnt_contract_object co,
ins_deel o,
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel kd
WHERE kd.ins_kenmerk_key = 301 AND ins_kenmerkdeel_verwijder IS NULL)
fiscale_waarde,
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel kd
WHERE kd.ins_kenmerk_key = 302 AND ins_kenmerkdeel_verwijder IS NULL)
bijtelling,
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel kd
WHERE kd.ins_kenmerk_key = 305 AND ins_kenmerkdeel_verwijder IS NULL) merk,
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel kd
WHERE kd.ins_kenmerk_key = 306 AND ins_kenmerkdeel_verwijder IS NULL)
type_auto,
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel kd
WHERE kd.ins_kenmerk_key = 308 AND ins_kenmerkdeel_verwijder IS NULL)
brandstof_voorschot
WHERE co.cnt_ins_deel_key = o.ins_deel_key
AND o.ins_srtdeel_key = 621
AND co.cnt_contract_object_verwijder IS NULL
AND o.ins_deel_key = fiscale_waarde.ins_deel_key(+)
AND o.ins_deel_key = bijtelling.ins_deel_key(+)
AND o.ins_deel_key = merk.ins_deel_key(+)
AND o.ins_deel_key = type_auto.ins_deel_key(+)
AND o.ins_deel_key = brandstof_voorschot.ins_deel_key(+)) auto,
(SELECT co.cnt_ins_deel_key, p.prs_perslid_naam_full berijder
FROM cnt_contract c, prs_v_perslid_fullnames_all p, cnt_contract_object co
WHERE c.ins_discipline_key = 1221
AND c.cnt_contract_verwijder IS NULL
AND c.cnt_contract_status = 1
AND c.cnt_prs_perslid_key = p.prs_perslid_key
AND co.cnt_contract_key = c.cnt_contract_key) berijder
WHERE contract.cnt_contract_key = auto.cnt_contract_key(+)
AND auto.cnt_ins_deel_key = berijder.cnt_ins_deel_key(+);
CREATE OR REPLACE VIEW SGGR_V_NOTI_PROJECTADM
(
SENDER,
RECEIVER,
TEXT,
CODE,
FAC_SRTNOTIFICATIE_KEY,
KEY,
XKEY,
XEMAIL,
XMOBILE
)
AS
SELECT DISTINCT
NULL
sender,
NULL
receiver,
REPLACE (
n.fac_srtnotificatie_oms,
'##stdmelding##',
m.mld_melding_key
|| DECODE (m.mld_stdmelding_key,
382, ' aanpassing/uitbreiding project',
' nieuw project')),
fac_srtnotificatie_code,
n.fac_srtnotificatie_key,
m.mld_melding_key,
NULL
xkey,
'projectadministratie@aareon.nl'
xemail,
NULL
xmobile
FROM fac_tracking t, mld_melding m, fac_srtnotificatie n
WHERE t.fac_tracking_refkey = m.mld_melding_key
AND t.fac_srtnotificatie_key = 21 --- de aanvraag is geaccepteerd
AND n.fac_srtnotificatie_code = 'CUST09'
AND m.mld_stdmelding_key IN (382, 384) -- nieuw project en aanpassing/uitbreiding project
AND t.fac_tracking_datum >
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_PROJECTADM')
AND t.fac_tracking_datum <
(SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_PROJECTADM');
CREATE OR REPLACE VIEW SGGR_V_NOTI_CNTREMINDER
(
CODE,
SENDER,
RECEIVER,
TEXT,
KEY,
PAR1,
PAR2,
XKEY,
XEMAIL,
XMOBILE,
FAC_SRTNOTIFICATIE_KEY,
ATTACHMENTS,
XSENDER,
PRS_BEDRIJFADRES_KEY
)
AS
SELECT 'CNTMAI',
'',
c.prs_perslid_key_beh,
'Rappel: Contract '
|| c.cnt_contract_nummer_intern
|| DECODE (cnt_contract_versie, NULL, '', '.' || cnt_contract_versie)
|| ' ('
|| c.cnt_contract_omschrijving
|| ' '
|| b.prs_bedrijf_naam
|| ')'
|| ' moet uiterlijk per '
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'DD-MM-YYYY')
|| ' worden verlengd of opgezegd.',
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
cnt.cnt_getopzegdatum (c.cnt_contract_key),
NULL,
NULL
xemail,
NULL
xmobile,
NULL
fac_srtnotificatie_key,
NULL
attachments,
NULL
xsender,
NULL
prs_bedrijfadres_key
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
AND cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
CREATE OR REPLACE VIEW SGGR_V_RAP_GEACC_MLD
(
melding_key,
melding_nr,
melding_datum,
melding_omschrijving,
melding_onderwerp,
perslid_key,
perslid_naam,
datum_mldacp
)
AS
SELECT m.mld_melding_key,
sd.ins_srtdiscipline_prefix || m.mld_melding_key
meldingnummer,
m.mld_melding_datum,
m.mld_melding_omschrijving,
m.mld_melding_onderwerp,
p.prs_perslid_key,
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 || ')')
perslid_naam,
t.fac_tracking_datum
datum_mldacp
FROM fac_tracking t,
mld_melding m,
mld_discipline md,
ins_srtdiscipline sd,
mld_stdmelding s,
fac_srtnotificatie sn,
prs_perslid p
WHERE m.mld_melding_key = t.fac_tracking_refkey
AND s.mld_stdmelding_key = m.mld_stdmelding_key
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
AND md.ins_discipline_key = s.mld_ins_discipline_key
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND p.prs_perslid_key = t.prs_perslid_key --- 21 = MLDACP
AND sn.fac_srtnotificatie_key = 21;
-- Ruimteviews voor sensoren met -1 als geen sensor
-- gebaseerd op srtdeel_code=TEMP
CREATE OR REPLACE FORCE VIEW sggr_v_thema_alg_temp
(
alg_ruimte_key,
waarde
)
AS
SELECT ins_alg_ruimte_key alg_ruimte_key,
AVG (fac.safe_to_number (REPLACE (ins_deel_state, ',', '.'))) waarde
FROM ins_v_deelenonderdeel d, ins_srtdeel sd
WHERE ins_deel_verwijder IS NULL
AND COALESCE (ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtdeel_code = 'TEMP'
GROUP BY ins_alg_ruimte_key
UNION
SELECT alg_ruimte_key, -1 waarde
FROM alg_ruimte
WHERE alg_ruimte_verwijder IS NULL
AND alg_ruimte_key NOT IN
(SELECT ii.ins_alg_ruimte_key
FROM ins_v_deelenonderdeel ii, ins_srtdeel jj
WHERE ii.ins_deel_verwijder IS NULL
AND COALESCE (ii.ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
AND ii.ins_srtdeel_key = jj.ins_srtdeel_key
AND jj.ins_srtdeel_code = 'TEMP');
-- gebaseerd op srtdeel_code=CO2
CREATE OR REPLACE FORCE VIEW sggr_v_thema_alg_co2
(
alg_ruimte_key,
waarde
)
AS
SELECT ins_alg_ruimte_key alg_ruimte_key,
AVG (fac.safe_to_number (REPLACE (ins_deel_state, ',', '.'))) waarde
FROM ins_v_deelenonderdeel d, ins_srtdeel sd
WHERE ins_deel_verwijder IS NULL
AND COALESCE (ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtdeel_code = 'CO2'
GROUP BY ins_alg_ruimte_key
UNION
SELECT alg_ruimte_key, -1 waarde
FROM alg_ruimte
WHERE alg_ruimte_verwijder IS NULL
AND alg_ruimte_key NOT IN
(SELECT ii.ins_alg_ruimte_key
FROM ins_v_deelenonderdeel ii, ins_srtdeel jj
WHERE ii.ins_deel_verwijder IS NULL
AND COALESCE (ii.ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
AND ii.ins_srtdeel_key = jj.ins_srtdeel_key
AND jj.ins_srtdeel_code = 'CO2');
CREATE OR REPLACE FORCE VIEW sggr_v_thema_alg_bezetting
(
alg_ruimte_key,
waarde
)
AS
SELECT ins_alg_ruimte_key alg_ruimte_key, MAX (DECODE (LOWER(ins_deel_state), 'true', 1, 0)) waarde
FROM ins_v_deelenonderdeel d, ins_srtdeel sd
WHERE ins_deel_verwijder IS NULL
AND COALESCE (ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = fac.getsetting ('ins_occupationsensors_srtgroep_key')
GROUP BY ins_alg_ruimte_key
UNION
SELECT alg_ruimte_key, -1 waarde
FROM alg_ruimte
WHERE alg_ruimte_verwijder IS NULL
AND alg_ruimte_key NOT IN
(SELECT ii.ins_alg_ruimte_key
FROM ins_v_deelenonderdeel ii, ins_srtdeel jj
WHERE ii.ins_deel_verwijder IS NULL
AND COALESCE (ii.ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
AND ii.ins_srtdeel_key = jj.ins_srtdeel_key
AND jj.ins_srtgroep_key =
fac.getsetting ('ins_occupationsensors_srtgroep_key'));
CREATE OR REPLACE VIEW SGGR_V_RAP_THRESHOLDS
(
srt_sensor_code,
srt_sensor_code_upper,
srt_sensor_omschr,
threshold
)
AS
SELECT sd.ins_srtdeel_code,
sd.ins_srtdeel_code_upper,
sd.ins_srtdeel_omschrijving,
sd.ins_srtdeel_statethreshold
FROM ins_srtdeel sd
WHERE sd.ins_srtdeel_sensortype > 0;
CREATE OR REPLACE PROCEDURE sggr_import_ib_actie (p_import_key IN NUMBER)
AS
BEGIN
NULL;
END sggr_import_ib_actie;
/
/*<TOAD_FILE_CHUNK>*/
CREATE OR REPLACE PROCEDURE sggr_update_ib_actie (p_import_key IN NUMBER)
IS
v_aanduiding VARCHAR2 (200);
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
v_newkey mld_melding.mld_melding_key%TYPE;
v_perslid_key prs_perslid.prs_perslid_key%TYPE;
CURSOR actie IS
SELECT i.fac_imp_csv_col01
melding_nr,
fac.safe_to_number (SUBSTR (i.fac_imp_csv_col01, 3))
mld_key,
(SELECT ud.fac_usrdata_key
FROM fac_usrdata ud, fac_usrtab ut
WHERE ut.fac_usrtab_key = ud.fac_usrtab_key
AND ut.fac_usrtab_key = 601
AND ud.fac_usrdata_upper = UPPER (i.fac_imp_csv_col02))
soort,
i.fac_imp_csv_col03
nr,
TO_CHAR (fac.safe_to_date (i.fac_imp_csv_col04, 'DD-MM-YYYY'), 'DD-MM-YYYY')
datum_bevinding,
i.fac_imp_csv_col05
proces,
(SELECT ud.fac_usrdata_key
FROM fac_usrdata ud, fac_usrtab ut
WHERE ut.fac_usrtab_key = ud.fac_usrtab_key
AND ut.fac_usrtab_key = 602
AND ud.fac_usrdata_upper = UPPER (i.fac_imp_csv_col05))
proces_key,
i.fac_imp_csv_col06
bevinding,
i.fac_imp_csv_col07
norm_element,
i.fac_imp_csv_col08
type_bevinding,
(SELECT ud.fac_usrdata_key
FROM fac_usrdata ud, fac_usrtab ut
WHERE ut.fac_usrtab_key = ud.fac_usrtab_key
AND ut.fac_usrtab_key = 621
AND ud.fac_usrdata_upper = UPPER (i.fac_imp_csv_col08))
type_key,
i.fac_imp_csv_col09
prio,
i.fac_imp_csv_col10
oorzaak,
i.fac_imp_csv_col11
maatregel,
i.fac_imp_csv_col12
wie,
TO_CHAR (fac.safe_to_date (i.fac_imp_csv_col13, 'DD-MM-YYYY'), 'DD-MM-YYY')
deadline
FROM fac_imp_csv i
WHERE i.fac_imp_csv_index > 1 AND i.fac_import_key = p_import_key
ORDER BY i.fac_imp_csv_index;
BEGIN
SELECT p.prs_perslid_key
INTO v_perslid_key
FROM prs_perslid p
WHERE UPPER (p.prs_perslid_email) = 'MICHEL.TENTIJ@AAREON.NL';
FOR rec IN actie
LOOP
BEGIN
INSERT INTO mld_melding (mld_melding_module,
mld_meldbron_key,
mld_melding_datum,
mld_melding_onderwerp,
mld_melding_omschrijving,
mld_melding_status,
mld_stdmelding_key,
mld_melding_start_key,
prs_perslid_key,
prs_perslid_key_voor,
mld_melding_spoed)
VALUES ('MLD',
1,
SYSDATE,
'Maatregel n.a.v. ' || rec.melding_nr,
rec.bevinding, -- verwijder onnodige witregels
2,
893,
rec.mld_key,
v_perslid_key,
v_perslid_key,
3)
RETURNING mld_melding_key
INTO v_newkey;
END;
flx.setflex ('MLD',
4161, -- soort
v_newkey,
rec.soort);
flx.setflex ('MLD',
4162, -- datum bevinding
v_newkey,
rec.datum_bevinding);
flx.setflex ('MLD',
4163, -- proces
v_newkey,
rec.proces_key);
flx.setflex ('MLD',
4181, -- bevinding
v_newkey,
SUBSTR (rec.bevinding, 1, 1000));
flx.setflex ('MLD',
4182, -- norm element
v_newkey,
SUBSTR (rec.norm_element, 1, 1000));
flx.setflex ('MLD',
4183, -- type
v_newkey,
rec.type_key);
flx.setflex ('MLD',
4188, -- deadline
v_newkey,
rec.deadline);
COMMIT;
END LOOP;
-- we ruimen de import tabel direct weer netjes op aangezien dit een generieke importtabel is
DELETE FAC_IMP_CSV i
WHERE i.fac_import_key = p_import_key;
END sggr_update_ib_actie;
/
/*<TOAD_FILE_CHUNK>*/
CREATE OR REPLACE VIEW SGGR_V_RAP_ACC_VV
(
MLD_MELDING_KEY,
MLD_MELDING_NR,
MELDING,
DATUM,
STATUS,
AANVRAGER,
LEIDINGGEVENDE,
VERVANGER,
FCLT_3D_USER_KEY
)
AS
SELECT m.mld_melding_key,
m.mld_melding_key meldingnr,
sm.mld_stdmelding_omschrijving melding,
TO_DATE (m.mld_melding_datum) datum,
CASE m.mld_melding_status
WHEN 1 THEN 'Afgewezen'
WHEN 2 THEN 'Nieuw'
WHEN 3 THEN 'Te accepteren'
WHEN 4 THEN 'In behandeling'
WHEN 5 THEN 'Afgemeld'
WHEN 6 THEN 'Historie'
WHEN 7 THEN 'Uitgegeven'
END status,
p.prs_perslid_naam_friendly aanvrager,
mg.prs_perslid_naam_friendly leidinggevende,
vv_mg.prs_perslid_naam_friendly vervanger,
vv_mg.prs_perslid_key AS fclt_3d_user_key
FROM mld_melding m,
prs_v_perslid_fullnames_all p,
prs_kenmerklink kl,
prs_v_perslid_fullnames_all mg,
mld_stdmelding sm,
prs_collega vv,
fac_gebruikersgroep gg,
prs_v_perslid_fullnames_all vv_mg
WHERE ( m.mld_stdmelding_key IN (43,
281,
261,
1161,
1541,
421,
346) -- 43=inkoopverplichtingen, 281=aftrekbare kosten leaseauto's, 261=declaraties, 1161=declaratie voor 1/7/25, 1541 = delaratie na 1/7/25, 421=overurensheet, 346=Aanvraag hotelkamer
OR sm.mld_ins_discipline_key IN (721, 821)) --- 731=vakgroep relatiegeschenken, 821=vakgroep aanvragen met acceptatie
AND m.prs_perslid_key_voor = p.prs_perslid_key
AND m.prs_perslid_key_voor = kl.prs_link_key
AND kl.prs_kenmerk_key = 1081
AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = mg.prs_perslid_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND vv.prs_perslid_key = mg.prs_perslid_key
AND vv_mg.prs_perslid_key = vv.prs_perslid_key_alt
AND gg.prs_perslid_key = vv_mg.prs_perslid_key
AND gg.fac_groep_key = 361
AND m.mld_melding_status IN (2, 3);
CREATE OR REPLACE PROCEDURE sggr_import_perslid_wd (p_import_key IN NUMBER)
AS
v_seq_of_columns VARCHAR (255);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (200);
v_errorhint VARCHAR2 (200);
v_email VARCHAR2 (200);
CURSOR IMP IS SELECT * FROM FAC_IMP_PERSLID;
BEGIN
prs.import_perslid (
p_import_key,
'0;0;0;0;0;0;6;3;0;2;'
|| '0;0;0;0;0;0;0;5;0;4;'
|| '7;0;0;0;0;0;0;0;0;0;'
|| '0;0;0;0;0;0;0;0;0;0;'
|| '0;0;0;6;10;9',
--'Worker;Employee_ID;Email_Addres;isManager;businessTitle;Company;Manager_ID;name%'
'Worker:firstName:lastName:Employee_Id:Email_Address:isManager:businessTitle:Company:Manager_ID:name%');
UPDATE fac_imp_perslid i
SET i.prs_perslid_email =
(SELECT REPLACE (SUBSTR (REGEXP_SUBSTR (p.prs_perslid_email,
'(.*)(@aareon.)',
1,
1,
NULL,
1),
NVL (INSTR ((REGEXP_SUBSTR (p.prs_perslid_email,
'(.*)(@aareon.)',
1,
1,
NULL,
1)),
';',
-1),
0)),
'; ')
|| CASE
WHEN UPPER (p.prs_perslid_email) LIKE '%@AAREON.COM%'
THEN
'@aareon.com'
ELSE
'@aareon.nl'
END mailto
FROM fac_imp_perslid p
WHERE p.fac_imp_file_index = i.fac_imp_file_index)
WHERE UPPER (i.prs_perslid_email) LIKE '%@AAREON%';
-- dan nog de namen uit de mailadressen verwijderen (format Embrace)
UPDATE fac_imp_perslid ip
SET ip.prs_perslid_email =
SUBSTR (ip.prs_perslid_email, 1, INSTR (ip.prs_perslid_email, '(') - 2)
WHERE ip.prs_perslid_email LIKE '%(%';
-- De juiste afdelingen bepalen
UPDATE fac_imp_perslid i
SET i.prs_afdeling_naam =
(SELECT a.prs_afdeling_naam
FROM prs_afdeling a, prs_bedrijf b
WHERE a.prs_bedrijf_key = b.prs_bedrijf_key
AND b.prs_bedrijf_naam_upper LIKE '%AAREON NL%'
AND b.prs_bedrijf_verwijder IS NULL
AND a.prs_afdeling_verwijder IS NULL
AND UPPER (a.prs_afdeling_omschrijving) = UPPER (i.prs_kenmerk19));
END sggr_import_perslid_wd;
/
/*<TOAD_FILE_CHUNK>*/
CREATE OR REPLACE PROCEDURE sggr_update_perslid_wd (p_import_key IN NUMBER)
IS
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een e-mail
c_max_delta_percentage NUMBER (10) := 20; -- 20%!
v_count_prs_import NUMBER (10); -- #actieve personen na import!
v_count_prs_actual NUMBER (10); -- #actieve personen voor import!
-- Let op! Personen die niet meer in dienst zijn -> niet in fac_imp_perslid!
CURSOR c_del IS
SELECT p.prs_perslid_key, p.prs_perslid_email
FROM prs_v_aanwezigperslid p
WHERE ( p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\' -- accounts met een _ moeten bewaard blijven
OR p.prs_perslid_oslogin IS NULL)
AND p.prs_perslid_apikey IS NULL -- API accounts moeten bewaard blijven
AND NOT EXISTS
(SELECT 1
FROM fac_imp_perslid i
WHERE UPPER (i.PRS_PERSLID_NR) = UPPER (p.PRS_PERSLID_NR));
-- de perslid key van de manager taat in kenmerk 20
CURSOR c_ver IS
SELECT p.prs_perslid_key, mgr.prs_perslid_key prs_perslid_key_verantw
FROM fac_imp_perslid i, prs_perslid mgr, prs_perslid p
WHERE mgr.prs_perslid_nr = i.prs_kenmerk20
AND p.prs_perslid_key = i.prs_perslid_key
AND mgr.prs_perslid_verwijder IS NULL
AND ( p.prs_perslid_key_verantw <> mgr.prs_perslid_key
OR p.prs_perslid_key_verantw IS NULL);
-- soms is het Workday nummer van de leidinggevende niet bekend bijv. omdat deze niet onder Aareon NL valt
-- we vallen dan terug op de manager zoals die in het kenmerk van de medewerker valt
CURSOR c_onb IS
SELECT mgr.prs_perslid_key prs_perslid_key_verantw, p.prs_perslid_key
FROM prs_kenmerk k,
prs_kenmerklink kl,
prs_v_perslid_fullnames_all mgr,
prs_v_perslid_fullnames_all mdw,
prs_perslid p
WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key
AND k.prs_kenmerk_niveau = 'P'
AND k.prs_kenmerk_key = 1081
AND mdw.prs_perslid_key = kl.prs_link_key
AND kl.prs_kenmerklink_verwijder IS NULL
AND mgr.prs_perslid_key = fac.safe_to_number (kl.prs_kenmerklink_waarde)
AND p.prs_perslid_key = mdw.prs_perslid_key
AND p.prs_perslid_key_verantw IS NULL
AND p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_inactief IS NULL;
BEGIN
SELECT COUNT (*)
INTO v_count_prs_import
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
WHERE p.prs_perslid_email IS NOT NULL
AND UPPER (p.prs_perslid_email) = UPPER (i.prs_perslid_email);
-- Bepaal huidig aantal actieve personen in Facilitor.
SELECT DECODE (COUNT (*), 0, 1, COUNT (*))
INTO v_count_prs_actual
FROM prs_v_aanwezigperslid
WHERE prs_perslid_oslogin IS NOT NULL;
IF (TRUNC ((v_count_prs_import / v_count_prs_actual) * 100) < (100 - c_max_delta_percentage))
THEN
fac.imp_writelog (
p_import_key,
'E',
'Verschil tussen huidig aantal en te importeren aantal personen te groot; zie specificatie!',
'- max. verschilpercentage = ['
|| TO_CHAR (c_max_delta_percentage)
|| '%]'
|| CHR (13)
|| CHR (10)
|| '- #personen/import = ['
|| TO_CHAR (v_count_prs_import)
|| ']'
|| CHR (13)
|| CHR (10)
|| '- #personen/huidig = ['
|| TO_CHAR (v_count_prs_actual)
|| ']');
RETURN;
END IF;
-- Generieke update
prs.update_perslid (p_import_key, 'NR', NULL);
-- Verwijder personen die niet meer in de import voorkomen.
FOR rec IN c_del
LOOP
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
END LOOP;
-- We nemen de manager uit Workday over als verantwoordelijke bij de persoon
FOR rec IN c_ver
LOOP
UPDATE prs_perslid mdw
SET mdw.prs_perslid_key_verantw = rec.prs_perslid_key_verantw
WHERE mdw.prs_perslid_key = rec.prs_perslid_key;
COMMIT;
END LOOP;
-- De manager blijkt niet voor iedereen in WD goed te staan waardoor de leidinggevende leeg gelaten wordt
-- Fallback: we nemen de manager uit het kenmerk leidinggevende over
FOR rec IN c_onb
LOOP
UPDATE prs_perslid mdw
SET mdw.prs_perslid_key_verantw = rec.prs_perslid_key_verantw
WHERE mdw.prs_perslid_key = rec.prs_perslid_key;
COMMIT;
END LOOP;
END sggr_update_perslid_wd;
/
/*<TOAD_FILE_CHUNK>*/
------ payload end ------
SET DEFINE OFF
BEGIN
adm.systrackscriptId ('$Id$', 0);
END;
/
/*<TOAD_FILE_CHUNK>*/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile