Files
Customer/BLOS/blos.sql
Jos Migo 2d15739854 BLOS#61496 -- Implementatie Facilitor bij BLOS Kinderopvang
svn path=/Customer/trunk/; revision=46533
2020-04-09 15:11:33 +00:00

517 lines
23 KiB
SQL

--
-- $Id$
--
-- Script containing customer specific db-configuration for BLOS.
DEFINE thisfile = 'BLOS.SQL'
DEFINE dbuser = '^BLOS'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
-- Mail2Melding - Basis uit SVRZ overgenomen:
-- - SERVICEDESK -: key=1=Melding via mail - Nog te rubriceren (servicedesk@blos.facilitor-test.nl)
CREATE OR REPLACE PROCEDURE BLOS_processemail (
pfrom IN VARCHAR2,
pto IN VARCHAR2,
psubject IN VARCHAR2,
pbody IN VARCHAR2,
psessionid IN VARCHAR2,
pemailkey IN NUMBER)
AS
c_onbekend_key NUMBER (10) := 221; -- Melder onbekend
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_exist_ticket VARCHAR2 (255) := '';
v_perslid_key NUMBER (10);
v_kostenplaats_key NUMBER (10);
v_locatie_key NUMBER (10);
v_discipline_key NUMBER (10);
v_stdmelding_key NUMBER (10);
v_melding_key NUMBER (10);
v_folder_kkey NUMBER (10);
v_count NUMBER (10);
BEGIN
CASE
WHEN UPPER (pto) LIKE 'SERVICEDESK@%'
THEN
-- Bepaal de melder/noteur op basis van e-mail adres zoals in pfrom?
----- Voor BLOS nog inpassen = KOSTENPLAATS van het GEBOUW!!!!
v_errormsg := 'Fout bepalen melder ' || COALESCE (pfrom, '???');
SELECT COUNT (*)
INTO v_count
FROM prs_v_aanwezigperslid
WHERE UPPER (prs_perslid_email) LIKE UPPER (pfrom) || '%';
IF v_count = 1
THEN
SELECT p.prs_perslid_key, a.prs_kostenplaats_key, MIN (wpg.alg_locatie_key)
INTO v_perslid_key, v_kostenplaats_key, v_locatie_key
FROM prs_v_aanwezigperslid p, prs_afdeling a,
(SELECT pw.prs_perslid_key, pw.prs_werkplek_key
FROM prs_perslidwerkplek pw
WHERE NOT EXISTS
(SELECT 1
FROM prs_perslidwerkplek
WHERE prs_perslid_key = pw.prs_perslid_key
AND prs_perslidwerkplek_key > pw.prs_perslidwerkplek_key)) pw,
prs_v_werkplekperslid_gegevens wpg
WHERE p.prs_afdeling_key = a.prs_afdeling_key
AND UPPER (p.prs_perslid_email) LIKE UPPER (pfrom) || '%'
AND p.prs_perslid_key = pw.prs_perslid_key(+)
AND pw.prs_werkplek_key = wpg.prs_werkplek_key(+)
GROUP BY p.prs_perslid_key, a.prs_kostenplaats_key;
ELSE -- Melder kan niet 1-duidig worden bepaald, dus Onbekend en 21= Iepenhoeve Hoofdkantoor!
SELECT p.prs_perslid_key, a.prs_kostenplaats_key, 36
INTO v_perslid_key, v_kostenplaats_key, v_locatie_key
FROM prs_v_aanwezigperslid p, prs_afdeling a
WHERE p.prs_afdeling_key = a.prs_afdeling_key
AND p.prs_perslid_key = c_onbekend_key;
END IF;
/*
v_errormsg := 'Fout bepalen bestaande melding';
v_exist_ticket := psubject;
IF REGEXP_INSTR (v_exist_ticket, '\d') > 0
THEN
v_exist_ticket := SUBSTR (v_exist_ticket, REGEXP_INSTR (v_exist_ticket, '\d')) || 'x'; -- Gedeelte vanaf eerste cijfer in v_exist_ticket plus 'x'!
v_exist_ticket := SUBSTR (v_exist_ticket, 1, REGEXP_INSTR (v_exist_ticket, '\D') - 1); -- Gedeelte tot eerste niet-cijfer in v_exist_ticket!
ELSE
v_exist_ticket := 'x';
END IF;
SELECT COUNT (*)
INTO v_count
FROM mld_melding
WHERE mld_melding_key = fac.safe_to_number (v_exist_ticket);
-- Om te voorkomen dat huisnummers in het Onderwerp resulteren in het
-- toevoegen van Notities, dit alleen doen voor nummers > 16000!
IF v_count = 1 AND fac.safe_to_number (v_exist_ticket) > 16000
THEN -- Notitie bij bestaande melding!
SELECT mld_stdmelding_key, mld_melding_key
INTO v_stdmelding_key, v_melding_key
FROM mld_melding
WHERE mld_melding_key = fac.safe_to_number (v_exist_ticket);
v_errormsg := 'Fout toevoegen notitie';
INSERT INTO mld_melding_note (mld_melding_key,
prs_perslid_key,
mld_melding_note_omschrijving,
mld_melding_note_flag)
VALUES (v_melding_key,
v_perslid_key,
pfrom || CHR (13) || CHR (10) || psubject || CHR (13) || CHR (10) || SUBSTR (pbody, 1, 2000),
0);
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'maillog', 'Notitie onder exist-melding ' || v_melding_key);
-- Vlaggetjes zetten zoals mld_edit_note.asp dat doet!
IF fac.getsetting ('mld_melding_actiecode') = 1
THEN
UPDATE mld_melding
SET mld_melding_actiecode = 1 + 128 -- BO + Attentie
WHERE mld_melding_key = v_melding_key;
END IF;
ELSE -- Nieuwe melding!
*/
-- Bepaal de afgesproken soortmelding met key=1=Melding via mail - Nog te rubriceren
v_errormsg := 'Fout bepalen soortmelding';
SELECT mld_ins_discipline_key, mld_stdmelding_key
INTO v_discipline_key, v_stdmelding_key
FROM mld_stdmelding
WHERE mld_stdmelding_key = 1;
-- Suggested extensions:
-- - Check for MLDUSE-write autorisations
-- - Parse the subject to find the appropriate stdmelding, if uniquely possible
-- - Append (as a note?) to an existing melding if #key is found in the subject
v_errormsg := 'Fout toevoegen melding';
INSERT INTO mld_melding (mld_melding_module,
mld_meldbron_key,
mld_alg_locatie_key,
mld_alg_onroerendgoed_keys,
mld_melding_datum,
mld_melding_omschrijving,
mld_stdmelding_key,
mld_melding_t_uitvoertijd,
prs_kostenplaats_key,
prs_perslid_key,
prs_perslid_key_voor,
mld_melding_status,
mld_melding_spoed,
mld_melding_onderwerp,
mld_melding_behandelaar2_key,
mld_ins_discipline_key)
VALUES ('MLD',
4, -- email
v_locatie_key,
NULL, --v_onrgoed_keys,
SYSDATE,
pfrom || CHR (13) || CHR (10) || SUBSTR (pbody, 1, 2000),
v_stdmelding_key,
NULL,
v_kostenplaats_key,
v_perslid_key,
v_perslid_key,
NULL,
3, -- prio normaal
SUBSTR (psubject, 1, 80),
NULL,
NULL) -- BT Helpdesk I+A
RETURNING mld_melding_key
INTO v_melding_key;
mld.setmeldingstatus (v_melding_key, 2, v_perslid_key);
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'maillog', 'Geregistreerd onder melding ' || v_melding_key);
/*
END IF;
*/
-- Find the lowest volgnummer of the Folder-flexfield.
SELECT MIN (k1.mld_kenmerk_key)
INTO v_folder_kkey
FROM mld_stdmelding sm1, ins_tab_discipline td1, mld_kenmerk k1, mld_srtkenmerk sk1
WHERE sm1.mld_stdmelding_key = v_stdmelding_key
AND sm1.mld_ins_discipline_key = td1.ins_discipline_key
AND k1.mld_kenmerk_verwijder IS NULL
AND k1.mld_srtkenmerk_key = sk1.mld_srtkenmerk_key
AND sk1.mld_srtkenmerk_kenmerktype = 'M'
AND ((k1.mld_stdmelding_key = sm1.mld_stdmelding_key AND k1.mld_kenmerk_niveau = 'S')
OR (k1.mld_stdmelding_key = td1.ins_discipline_key AND k1.mld_kenmerk_niveau = 'D')
OR (k1.mld_stdmelding_key = td1.ins_srtdiscipline_key AND k1.mld_kenmerk_niveau = 'T')
OR (k1.mld_kenmerk_niveau = 'A')
)
AND NOT EXISTS
(SELECT 1
FROM mld_stdmelding sm2, ins_tab_discipline td2, mld_kenmerk k2, mld_srtkenmerk sk2
WHERE sm2.mld_stdmelding_key = v_stdmelding_key
AND sm2.mld_ins_discipline_key = td2.ins_discipline_key
AND k2.mld_kenmerk_verwijder IS NULL
AND k2.mld_srtkenmerk_key = sk2.mld_srtkenmerk_key
AND sk2.mld_srtkenmerk_kenmerktype = 'M'
AND ((k2.mld_stdmelding_key = sm2.mld_stdmelding_key AND k2.mld_kenmerk_niveau = 'S')
OR (k2.mld_stdmelding_key = td2.ins_discipline_key AND k2.mld_kenmerk_niveau = 'D')
OR (k2.mld_stdmelding_key = td2.ins_srtdiscipline_key AND k2.mld_kenmerk_niveau = 'T')
OR (k1.mld_kenmerk_niveau = 'A')
)
AND k2.mld_kenmerk_volgnummer < k1.mld_kenmerk_volgnummer);
IF v_folder_kkey IS NOT NULL
THEN
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'kenmerkpath', 'MLD\M' || TO_CHAR (TRUNC (v_melding_key / 1000), 'FM0000') || '___\M' || v_melding_key || '\' || v_folder_kkey || '\');
END IF;
ELSE
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'errormsg', 'Ontvanger ongeldig - Neem contact op met uw systeembeheerder ');
END CASE;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('PROCESSEMAIL', 'E', 'BLOS_processemail afgebroken!', '[' || pfrom || '] ' || v_errormsg);
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid, 'errormsg', 'Database fout - Neem contact op met uw systeembeheerder ');
COMMIT;
END;
/
-- Hulpview: Alle locaties die bij een bepaald CLUSTER horen
CREATE OR REPLACE VIEW blos_v_cluster_locaties
(
ALG_LOCATIE_KEY,
ALG_LOCATIE_CODE,
ALG_LOCATIE_OMSCHRIJVING,
CLUSTER_CODE,
TYPE_LOCATIE
)
AS
SELECT l.alg_locatie_key,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
(SELECT ud.fac_usrdata_upper
FROM alg_onrgoedkenmerk km, fac_usrdata ud
WHERE km.alg_onrgoed_key = l.alg_locatie_key
AND km.alg_onrgoed_niveau = 'L'
AND km.alg_kenmerk_key = 1000 -- Cluster
AND km.alg_onrgoedkenmerk_verwijder IS NULL
AND fac.safe_to_number (km.alg_onrgoedkenmerk_waarde) =
ud.fac_usrdata_key
AND ud.fac_usrtab_key = 1)
AS cluster_naam,
(SELECT ud.fac_usrdata_upper
FROM alg_onrgoedkenmerk km, fac_usrdata ud
WHERE km.alg_onrgoed_key = l.alg_locatie_key
AND km.alg_onrgoed_niveau = 'L'
AND km.alg_kenmerk_key = 1002 -- type_opvang/locatie
AND km.alg_onrgoedkenmerk_verwijder IS NULL
AND fac.safe_to_number (km.alg_onrgoedkenmerk_waarde) =
ud.fac_usrdata_key
AND ud.fac_usrtab_key = 2)
AS type_locatie
FROM alg_locatie l -- , alg_onrgoedkenmerk km -- , fac_usrdata ud
WHERE l.alg_locatie_verwijder IS NULL;
-- Hulpview Personen - Alle locatiemanagers onder REGMAN
---- Alles onder locatie (niveau 1) REGMAN-Regiomanagement
---- Per persoon de AFDELING (= CLUSTER-code) + De kostenplaats en de bovenliggende kostenplaats_groep (= tevens ook CLUSTER-code)
---- PRS_perslid_key || Organisatie_CODE || Kostenplaats_Code || Kostenplaats_Groep_CODE
CREATE OR REPLACE VIEW blos_v_cluster_personen
(
PRS_PERSLID_KEY,
PRS_PERSLID_VOLLEDIGENAAM,
PRS_AFDELING_UPPER, -- is CLUSTER_CODE
PRS_AFDELING_OMSCHRIJVING,
PRS_AFDELING_PARENT,
PRS_AFDELING_PARENT_OMS,
PRS_KOSTENPLAATS_KEY,
PRS_KOSTENPLAATS_UPPER,
PRS_KOSTENPLAATS_OMSCHRIJVING,
PRS_KOSTENPLAATSGRP_OMS -- is CLUSTER_CODE
)
AS
SELECT p.prs_perslid_key,
p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam,
v.prs_afdeling_upper,
v.prs_afdeling_omschrijving,
ap.prs_afdeling_upper,
ap.prs_afdeling_omschrijving,
vkp.prs_kostenplaats_key,
vkp.prs_kostenplaats_upper,
vkp.prs_kostenplaats_omschrijving,
vkp.prs_kostenplaatsgrp_oms
FROM prs_perslid p,
prs_v_aanwezigafdeling v,
prs_afdeling ap,
(SELECT kp.prs_kostenplaats_key,
kp.prs_kostenplaats_upper,
kp.prs_kostenplaats_omschrijving,
kpg.prs_kostenplaatsgrp_oms
FROM prs_kostenplaats kp, prs_kostenplaatsgrp kpg
WHERE kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key
AND prs_kostenplaats_verwijder IS NULL
AND kp.prs_kostenplaats_module = 'PRS') vkp
WHERE p.prs_afdeling_key = v.prs_afdeling_key
AND v.prs_afdeling_parentkey = ap.prs_afdeling_key
AND ap.prs_afdeling_key = 34 -- REGMAN als PARENT_KEY (alles onder de Regiomanagement tonen en in procedure bewaken/herzien
AND p.prs_perslid_verwijder is null
AND v.prs_kostenplaats_key = vkp.prs_kostenplaats_key(+)
ORDER BY v.prs_afdeling_upper, p.prs_perslid_naam ;
--- DE PROCEDURE om voor de Locatiemanagers van de CLUSTERS de juiste CLUSTER-LOCATIES te koppelen als werkplek
CREATE OR REPLACE PROCEDURE blos_export_wpcluster (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2
)
AS
CURSOR c_nieuw
IS
SELECT cp.prs_perslid_key, cl.alg_locatie_key, cl.alg_locatie_code,cl.alg_locatie_omschrijving,cl.cluster_code
FROM blos_v_cluster_locaties cl, blos_v_cluster_personen cp
WHERE cl.cluster_code = cp.prs_afdeling_upper
AND NOT EXISTS
(SELECT v.alg_locatie_key
FROM prs_perslidwerkplek wp, prs_v_werkplekafdeling_geg v
WHERE wp.prs_perslidwerkplek_key =
v.prs_perslidwerkplek_key
AND wp.prs_perslid_key = cp.prs_perslid_key
AND v.alg_locatie_key = cl.alg_locatie_key);
CURSOR c_del
IS
SELECT b.prs_perslid_key, b.alg_locatie_key, cl.alg_locatie_code, cl.alg_locatie_omschrijving, cl.cluster_code, b.prs_perslidwerkplek_key
FROM blos_v_cluster_locaties cl,
(SELECT wp.prs_perslid_key,
v.alg_locatie_key,
wp.prs_perslidwerkplek_key,
v.prs_werkplek_key,
v.prs_werkplek_volgnr,
v.alg_ruimte_key
FROM prs_perslidwerkplek wp, prs_v_werkplekafdeling_geg v
WHERE wp.prs_perslidwerkplek_key = v.prs_perslidwerkplek_key) b
WHERE b.alg_locatie_key = cl.alg_locatie_key
AND NOT EXISTS
(SELECT cl.alg_locatie_key
FROM blos_v_cluster_locaties cl, blos_v_cluster_personen cp
WHERE cl.cluster_code = cp.prs_afdeling_upper
AND cp.prs_perslid_key = b.prs_perslid_key
AND cl.alg_locatie_key = b.alg_locatie_key)
AND EXISTS
(SELECT cp.prs_perslid_key
FROM blos_v_cluster_personen cp
WHERE cp.prs_perslid_key = b.prs_perslid_key);
v_ruimte_key NUMBER;
v_prs_werkplek_volgnr NUMBER;
v_prs_werkplek_key NUMBER ;
v_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
oracle_err_mes VARCHAR2 (150);
currentversion fac_module.fac_module_version%TYPE;
v_aanduiding VARCHAR (100);
v_count NUMBER;
BEGIN
v_count:=0;
FOR rec IN c_nieuw
LOOP
v_aanduiding :=
'Werkplekkoppeling gemaakt - betreft: ' || rec.alg_locatie_code || ' (' || rec.cluster_code || ')' ;
v_errorhint := 'nieuwe werkplekkoppeling maken';
-- Ruimte_key ophalen van desbetreffende locatie_keten
SELECT min(alg_ruimte_key)
INTO v_ruimte_key
FROM alg_v_allonrgoed_gegevens v
WHERE v.alg_locatie_key = rec.alg_locatie_key and v.alg_type ='R' ;
-- Volgnr werkplek
SELECT COALESCE(MIN (prs_werkplek_volgnr + 1),1)
INTO v_prs_werkplek_volgnr
FROM prs_werkplek pw WHERE prs_alg_ruimte_key = v_ruimte_key AND NOT EXISTS ( SELECT * FROM prs_werkplek pw2 WHERE prs_alg_ruimte_key = v_ruimte_key AND pw2.prs_werkplek_volgnr = pw.prs_werkplek_volgnr + 1);
INSERT INTO prs_werkplek w (prs_werkplek_volgnr, prs_werkplek_omschrijving, prs_alg_ruimte_key, prs_werkplek_virtueel)
SELECT v_prs_werkplek_volgnr, alg_ruimte_nr || '/1', v_ruimte_key, 1 FROM alg_ruimte WHERE alg_ruimte_key = v_ruimte_key ;
SELECT prs_werkplek_key
INTO v_prs_werkplek_key
FROM prs_werkplek WHERE prs_alg_ruimte_key = v_ruimte_key AND prs_werkplek_volgnr = v_prs_werkplek_volgnr ;
INSERT INTO prs_perslidwerkplek(prs_perslidwerkplek_bezetting, prs_perslidwerkplek_volgnr, prs_werkplek_key, prs_perslid_key) -- prs_perslidwerkplek_key)
VALUES (100, NULL, v_prs_werkplek_key, rec.prs_perslid_key) ; -- 82) ;
-- UPDATE prs_perslid p
-- SET prs_perslid_telefoonnr = rec.nummer_object
-- WHERE p.prs_perslid_key = rec.prs_perslid_key ;
fac.trackaction (
'PRSUPD',
rec.prs_perslid_key,
3,
SYSDATE,
v_aanduiding);
END LOOP;
FOR rec IN c_del
LOOP
v_aanduiding :=
'Werkplekkoppeling verwijderen - betreft: ' || rec.alg_locatie_code || ' (' || rec.cluster_code || ')' ;
v_errorhint := 'werkplekkoppeling verwijderen';
DELETE FROM prs_werkplek WHERE prs_werkplek_key IN (SELECT prs_werkplek_key FROM prs_perslidwerkplek WHERE prs_perslidwerkplek_key = rec.prs_perslidwerkplek_key) ;
DELETE FROM PRS_PERSLIDWERKPLEK WHERE PRS_PERSLIDWERKPLEK_key = rec.prs_perslidwerkplek_key ;
fac.trackaction (
'PRSUPD',
rec.prs_perslid_key,
3,
SYSDATE,
v_aanduiding);
END LOOP;
END;
/
-- script om dagelijks terugkerende scripts aan te roepen.
CREATE OR REPLACE PROCEDURE blos_select_daily_task (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
AS
BEGIN
-- job om de werkplekkoppelingen te realiseren en onderhouden voor de locatiemanagers
blos_export_wpcluster (p_applname, p_applrun);
END;
/
CREATE OR REPLACE VIEW blos_v_rap_opdrachten_intern
(
mld_opdr_key,
mld_uitvoerende_key,
opdrachtnr,
opdracht_datum,
status,
melding,
behandelaar,
locatie_plaats,
locatie_omschrijving,
geplande_aanvang,
omschrijving,
prs_perslid_key,
naam_uitvoerder,
cluster_blos,
type_locatie,
uren_besteed,
afmeld_datum
)
AS
SELECT o.mld_opdr_key,
mu.mld_uitvoerende_key,
TO_CHAR (o.mld_melding_key) || '/' || o.mld_opdr_bedrijfopdr_volgnr
opdrachtnummer,
o.mld_opdr_datumbegin,
DECODE (os.mld_statusopdr_key, 8, DECODE (o.mld_opdr_halted, 1, 'Onderbroken', os.mld_statusopdr_omschrijving), os.mld_statusopdr_omschrijving) status,
std.mld_stdmelding_omschrijving,
p.prs_perslid_naam_full,
l.alg_locatie_plaats,
l.alg_locatie_omschrijving,
o.mld_opdr_plandatum,
TRIM(regexp_replace(regexp_substr(o.mld_opdr_omschrijving, '(([^ ]*)( |$)*){10}'), '[[:space:]]',' ')) || '...',
p.prs_perslid_key,
mu.naam,
(select ud.fac_usrdata_omschr from alg_onrgoedkenmerk k, fac_usrdata ud where k.alg_onrgoed_key = m.mld_alg_locatie_key and fac.safe_to_number(k.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key and ud.fac_usrtab_key=1 and k.alg_kenmerk_key = 1000), -- kenmerk Cluster
(select ud.fac_usrdata_omschr from alg_onrgoedkenmerk k, fac_usrdata ud where k.alg_onrgoed_key = m.mld_alg_locatie_key and fac.safe_to_number(k.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key and ud.fac_usrtab_key=2 and k.alg_kenmerk_key = 1002), -- kenmerk Type KDV, BVO, et.
(select ko.mld_kenmerkopdr_waarde from mld_kenmerkopdr ko where ko.mld_opdr_key = o.mld_opdr_key and ko.mld_kenmerk_key = 25), -- kenmerk Uren_besteed
(select max(ft.fac_tracking_datum) from fac_tracking ft where ft.fac_tracking_refkey = o.mld_opdr_key and ft.fac_srtnotificatie_key = 74) -- MLDAFM
FROM mld_opdr o,
mld_melding m,
prs_v_perslid_fullnames p,
ins_tab_discipline d,
mld_stdmelding std,
alg_locatie l,
mld_v_uitvoerende mu,
mld_statusopdr os
WHERE o.mld_melding_key = m.mld_melding_key(+)
-- AND m.mld_melding_spoed NOT IN ('1', '2') -- Niet kritiek of hoog
AND o.prs_perslid_key = p.prs_perslid_key
AND o.mld_typeopdr_key = 5 -- Werkopdrachten
AND m.mld_stdmelding_key = std.mld_stdmelding_key(+)
AND std.mld_ins_discipline_key = d.ins_discipline_key(+)
AND m.mld_alg_locatie_key = l.alg_locatie_key -- alle std-meldingen hebben verplicht-niveau locatie
-- AND o.mld_statusopdr_key IN (4, 5, 8)
AND o.mld_uitvoerende_keys = mu.mld_uitvoerende_key
-- AND TRUNC (mld_opdr_plandatum) <= TRUNC (sysdate + 3)
AND os.mld_statusopdr_key = o.mld_statusopdr_key
AND mu.intern = 1;
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 0); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile