975 lines
38 KiB
SQL
975 lines
38 KiB
SQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific sql statements for the FACILITOR database
|
||
|
||
DEFINE thisfile = 'sinn.SQL'
|
||
DEFINE dbuser = 'SINN'
|
||
|
||
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 FUNCTION sinn_get_kenmerkwaarde (
|
||
p_kenmerk_type VARCHAR2,
|
||
p_kenmerkdomein_key NUMBER,
|
||
p_kenmerk_waarde VARCHAR2)
|
||
RETURN VARCHAR2
|
||
AS
|
||
v_result VARCHAR2(4000);
|
||
BEGIN
|
||
IF p_kenmerk_type = 'R' OR p_kenmerk_type = 'S' THEN
|
||
v_result := fac.getdomeinwaarde (p_kenmerkdomein_key,
|
||
p_kenmerk_waarde);
|
||
ELSIF p_kenmerk_type = 'D' THEN
|
||
v_result := TO_CHAR (fac.safe_to_date (p_kenmerk_waarde, 'dd-mm-yyyy'), 'yyyy-mm-dd');
|
||
ELSE
|
||
v_result := p_kenmerk_waarde;
|
||
END IF;
|
||
return v_result;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE FUNCTION sinn_get_kenmerk (p_module IN VARCHAR2,
|
||
p_kenmerk_key IN NUMBER,
|
||
p_link_key IN NUMBER)
|
||
RETURN VARCHAR2
|
||
AS
|
||
v_kenmerk_type mld_srtkenmerk.mld_srtkenmerk_kenmerktype%TYPE;
|
||
v_kenmerk_waarde mld_kenmerkmelding.mld_kenmerkmelding_waarde%TYPE;
|
||
v_kenmerkdomein_key fac_kenmerkdomein.fac_kenmerkdomein_key%TYPE;
|
||
v_kenmerk_niveau ins_kenmerk.ins_kenmerk_niveau%TYPE;
|
||
|
||
BEGIN
|
||
CASE p_module
|
||
WHEN 'MLD'
|
||
THEN
|
||
SELECT mld_srtkenmerk_kenmerktype,
|
||
sk.fac_kenmerkdomein_key,
|
||
km.mld_kenmerkmelding_waarde
|
||
INTO v_kenmerk_type,
|
||
v_kenmerkdomein_key,
|
||
v_kenmerk_waarde
|
||
FROM mld_v_aanwezigkenmerkmelding km,
|
||
mld_kenmerk k,
|
||
mld_srtkenmerk sk
|
||
WHERE km.mld_melding_key = p_link_key
|
||
AND km.mld_kenmerk_key = p_kenmerk_key
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key;
|
||
ELSE
|
||
SELECT sk.ins_srtkenmerk_kenmerktype,
|
||
sk.fac_kenmerkdomein_key,
|
||
ikd.ins_kenmerkdeel_waarde
|
||
INTO v_kenmerk_type,
|
||
v_kenmerkdomein_key,
|
||
v_kenmerk_waarde
|
||
FROM ins_kenmerkdeel ikd, ins_kenmerk k, ins_srtkenmerk sk
|
||
WHERE ikd.ins_deel_key = p_link_key
|
||
AND ikd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND ikd.ins_kenmerk_key = p_kenmerk_key
|
||
AND ikd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key;
|
||
|
||
END CASE;
|
||
|
||
RETURN sinn_get_kenmerkwaarde (v_kenmerk_type,
|
||
v_kenmerkdomein_key,
|
||
v_kenmerk_waarde);
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
-- Mail2Melding - Basis uit SVRZ overgenomen:
|
||
--- M2M : std_mld_key= 1 (Melding via mail - Nog te rubriceren)
|
||
CREATE OR REPLACE PROCEDURE sinn_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) := 41 ; -- Melder onbekend
|
||
-- c_std_mld_key NUMBER (10) := 1 ; -- Melding via mail - Nog te rubriceren
|
||
-- c_locatie_key NUMBER (10) := 57 ; -- NOG GOED VULLEN !!!!
|
||
v_prs_werkplek_key NUMBER (10);
|
||
v_locatie_key NUMBER (10);
|
||
v_gebouw_key NUMBER (10);
|
||
v_stdmelding_key NUMBER (10);
|
||
|
||
|
||
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_discipline_key NUMBER (10);
|
||
v_melding_key NUMBER (10);
|
||
v_folder_kkey NUMBER (10);
|
||
v_count NUMBER (10);
|
||
v_count_wp NUMBER (10);
|
||
v_fac_result_from VARCHAR2 (250);
|
||
v_fac_result_fromaddr VARCHAR2 (250);
|
||
v_fw_from VARCHAR2 (1000) := '';
|
||
v_from_string VARCHAR2 (1000) := NULL;
|
||
v_voor_at VARCHAR2 (1000) := '';
|
||
v_na_at VARCHAR2 (1000) := '';
|
||
|
||
|
||
BEGIN
|
||
CASE
|
||
WHEN UPPER (pto) LIKE 'SERVICECENTRUM@%'
|
||
THEN
|
||
|
||
-- 1. HANDMATIG doorgestuurd vanuit facilitair@sinnekinderopvang.nl
|
||
-- Voorbeeld SINNE: Van: Annette Grannetia <annette.grannetia@sinnekinderopvang.nl>
|
||
-- Dus eerst op zoek naar eerste VAN-regel
|
||
v_from_string :=
|
||
SUBSTR(pbody,
|
||
REGEXP_INSTR(pbody,'Van:|From:|E-mail:',1,1),
|
||
INSTR(pbody,CHR(10),REGEXP_INSTR(pbody,'Van:|From:|E-mail:',1,1),1)-REGEXP_INSTR(pbody,'Van:|From:|E-mail:',1,1)) ;
|
||
|
||
-- Als deze bestaat dan gaan we via die kant het from-adres-bebepalen
|
||
IF v_from_string IS NOT NULL AND INSTR(v_from_string,'@')>0
|
||
THEN
|
||
|
||
IF INSTR(v_from_string, '<',1,1)>0
|
||
THEN
|
||
v_na_at :=
|
||
SUBSTR(v_from_string,
|
||
INSTR(v_from_string,'@',1,1)+1,
|
||
INSTR(v_from_string,'.nl')+3 - INSTR(v_from_string,'@',1,1)-1) ;
|
||
|
||
v_voor_at :=
|
||
SUBSTR (v_from_string,
|
||
INSTR (v_from_string, '<',1,1) + 1,
|
||
INSTR (v_from_string, '@',1,1) - INSTR (v_from_string, '<',1,1) -1);
|
||
|
||
v_fw_from := v_voor_at || '@' || v_na_at;
|
||
|
||
ELSE
|
||
v_na_at :=
|
||
SUBSTR(v_from_string,
|
||
INSTR(v_from_string,'@',1,1)+1,
|
||
REGEXP_INSTR(v_from_string,'$')-INSTR(v_from_string,'@',1,1)-1) ;
|
||
|
||
v_voor_at :=
|
||
SUBSTR (v_from_string,
|
||
INSTR (v_from_string, ':',1,1) + 2,
|
||
INSTR (v_from_string, '@',1,1) - INSTR (v_from_string, ':',1,1) -2);
|
||
|
||
v_fw_from := v_voor_at || '@' || v_na_at;
|
||
|
||
END IF;
|
||
|
||
ELSE
|
||
-- 2. AUTOMATISCH doorgestuurde mail OF geen "Van: met email-adres" in de body. Dan dus maar terugvallen op de v_fromaddr...
|
||
SELECT fac_result_waarde
|
||
INTO v_fac_result_fromaddr
|
||
FROM fac_result WHERE fac_result_sessionid = psessionid AND fac_result_naam = 'fromaddr' ;
|
||
|
||
v_fac_result_fromaddr := REPLACE(REPLACE(v_fac_result_fromaddr,'>',''),'<','') ;
|
||
|
||
v_fw_from := v_fac_result_fromaddr;
|
||
|
||
END IF;
|
||
|
||
v_fw_from := SUBSTR (v_fw_from, 1, 50);
|
||
|
||
-- Bepaal de melder/noteur op basis van e-mail adres zoals in pfrom?
|
||
v_errormsg := 'Fout bepalen melder ' || COALESCE (pfrom, '???');
|
||
SELECT COUNT (*), max(prs_perslid_key)
|
||
INTO v_count, v_perslid_key
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE UPPER (prs_perslid_email) LIKE UPPER (v_fw_from) || '%';
|
||
|
||
-- Als er persoon gevonden is, dan ff checken of er ook werkplekkoppelingen onder zijn aangemaakt
|
||
IF v_count >= 1
|
||
THEN
|
||
SELECT COUNT (*)
|
||
INTO v_count_wp
|
||
FROM prs_perslidwerkplek
|
||
WHERE prs_perslid_key = v_perslid_key;
|
||
END IF;
|
||
|
||
-- Als er persoon gevonden is, dan ff checken of er op gekoppelde Afdeling ook een kostenplaats is gekoppeld
|
||
IF v_count >= 1
|
||
THEN
|
||
SELECT MIN(a.prs_kostenplaats_key)
|
||
INTO v_kostenplaats_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a
|
||
WHERE prs_perslid_key = v_perslid_key AND p.prs_afdeling_key = a.prs_afdeling_key ;
|
||
END IF;
|
||
|
||
-- Locatie erbij halen
|
||
IF v_count >= 1 AND v_count_wp > 0
|
||
THEN
|
||
SELECT p.prs_perslid_key, MIN (wpg.prs_werkplek_key)
|
||
INTO v_perslid_key, v_prs_werkplek_key
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_v_werkplekperslid_gegevens wpg
|
||
WHERE p.prs_perslid_key = v_perslid_key
|
||
AND p.prs_perslid_key = wpg.prs_perslid_key
|
||
GROUP BY p.prs_perslid_key;
|
||
|
||
IF v_prs_werkplek_key IS NOT NULL
|
||
THEN
|
||
|
||
SELECT v.alg_locatie_key, v.alg_gebouw_key
|
||
INTO v_locatie_key, v_gebouw_key
|
||
FROM prs_werkplek wp, alg_v_onroerendgoed_gegevens v
|
||
WHERE wp.prs_alg_ruimte_key = v.alg_onroerendgoed_keys
|
||
AND prs_werkplek_key = v_prs_werkplek_key;
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
-- Geen werkplek of Melder onbekend - Dan melding op locatie_key 4 (Servicecentrum Sixmastraat 3)
|
||
IF (v_count >= 1 AND v_count_wp = 0) OR v_count = 0
|
||
THEN
|
||
v_locatie_key := 57; -- vullen met juiste key
|
||
v_gebouw_key := 67;
|
||
END IF;
|
||
|
||
-- Melder kan niet bepaald worden, dus inlezen onder 'Melder onbekend (M2M)'
|
||
-- Op deze 'Melder onbekend' is aan voorkant wel afdeling en bijbehorende kostenplaats gekoppeld. Deze kp halen we er daarom nu ook bij
|
||
IF v_count = 0
|
||
THEN
|
||
SELECT p.prs_perslid_key, a.prs_kostenplaats_key
|
||
INTO v_perslid_key, v_kostenplaats_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 > 10000!
|
||
IF v_count = 1 AND fac.safe_to_number (v_exist_ticket) > 10000
|
||
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; -- Key = 1 voor Melding via mail - Nog te rubriceren
|
||
|
||
-- 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,
|
||
v_gebouw_key, --v_onrgoed_keys,
|
||
SYSDATE,
|
||
'From-adres: ' || v_fw_from || 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)
|
||
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 || '\');
|
||
|
||
-- originele email wordt opgeslagen bij de melding
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid,
|
||
'kenmerkorgmailpath',
|
||
'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;
|
||
/
|
||
|
||
-- Basisview en rapportview voor de telefoon-objecten mobiel
|
||
CREATE OR REPLACE VIEW SINN_V_TELEFOONNR_KLANTOBJECT
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_NAAM,
|
||
SOORT,
|
||
SOORT_KEY,
|
||
NUMMER_OBJECT,
|
||
INS_DEEL_KEY,
|
||
INS_DEEL_AANMAAK,
|
||
MOBIELNR_HUIDIG
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
prs_perslid_naam || ' (' || prs_perslid_voornaam || ')'
|
||
AS naam_werknemer,
|
||
sd.ins_srtdeel_omschrijving,
|
||
sd.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_deel_key,
|
||
d.ins_deel_aanmaak,
|
||
p.prs_perslid_mobiel
|
||
FROM prs_perslid p,
|
||
ins_deel d,
|
||
ins_srtdeel sd,
|
||
prs_v_aanwezigafdeling v
|
||
WHERE p.prs_perslid_key = d.ins_alg_ruimte_key
|
||
AND d.ins_srtdeel_key = 22 -- Mobiele telefoonnr's
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL
|
||
AND d.ins_deel_actief = 1
|
||
AND ( d.ins_deel_vervaldatum IS NULL
|
||
OR TRUNC (d.ins_deel_vervaldatum) > TRUNC (SYSDATE))
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND p.prs_afdeling_key = v.prs_afdeling_key
|
||
AND v.prs_bedrijf_key = 21 -- Personen binnen bedrijf Sinne Kinderopvang
|
||
;
|
||
|
||
CREATE OR REPLACE PROCEDURE sinn_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
v_aantal_in_fclt NUMBER;
|
||
|
||
-- overige variabelen
|
||
v_prs_afdeling_key NUMBER(10);
|
||
c_prs_afdeling_key NUMBER(10) := 62 ; -- Fallback-afdeling 'ONBEKEND_SINN'
|
||
v_alg_locatie_key NUMBER(10);
|
||
v_alg_locatie_code VARCHAR2(10);
|
||
v_alg_gebouw_key NUMBER(10);
|
||
v_alg_gebouw_code VARCHAR2(12);
|
||
v_alg_verdieping_key NUMBER(10);
|
||
v_alg_verdieping_volgnr NUMBER(3);
|
||
v_alg_ruimte_key NUMBER(10);
|
||
v_alg_ruimte_nr VARCHAR2(20);
|
||
|
||
|
||
CURSOR c_afd
|
||
IS
|
||
SELECT fac_imp_file_index, prs_kenmerk1, prs_afdeling_naam
|
||
FROM fac_imp_perslid
|
||
WHERE fac_import_key = p_import_key ;
|
||
|
||
CURSOR c_loc
|
||
IS
|
||
SELECT fac_imp_file_index, prs_kenmerk4
|
||
FROM fac_imp_perslid
|
||
WHERE fac_import_key = p_import_key ;
|
||
|
||
CURSOR c_mob
|
||
IS
|
||
SELECT fac_imp_file_index, i.prs_perslid_oslogin, p.prs_perslid_key, v.ins_deel_key, SUBSTR(v.nummer_object,1,15) nummer_object, p.prs_perslid_mobiel, p.prs_perslid_telefoonnr
|
||
FROM fac_imp_perslid i, prs_perslid p, sinn_v_telefoonnr_klantobject v
|
||
WHERE fac_import_key = p_import_key
|
||
AND i.prs_perslid_oslogin = p.prs_perslid_oslogin
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND p.prs_perslid_key = v.prs_perslid_key (+)
|
||
AND (v.ins_deel_key IS NULL OR v.ins_deel_key IN (select min(ins_deel_key) from sinn_v_telefoonnr_klantobject where prs_perslid_key = p.prs_perslid_key))
|
||
;
|
||
|
||
|
||
BEGIN
|
||
-- Het aangeleverde bestand heeft de gegevens komma gescheiden ipv ;
|
||
v_errorhint := 'Delimiter goed zetten';
|
||
UPDATE fac_imp_file
|
||
SET fac_imp_file_line = REPLACE (fac_imp_file_line, ',', ';')
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
-- Het aangeleverde bestand heeft aanhalingstekens om de invoervelden..
|
||
UPDATE fac_imp_file
|
||
SET fac_imp_file_line = REPLACE (fac_imp_file_line, '"', '')
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
|
||
v_errorhint := 'Generieke update';
|
||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid procedure
|
||
-- Afdeling is verplicht veld (nr7) - Niet altijd gevuld, dus tijdelijk gaan we die vullen met GebruikerLocatie, wamt anders komt dit record dus niet door de IMPORT!
|
||
--- Afdelingsnaam uit CSV (Department) wordt op kenmerk1 gevuld (nr27) en later gebruikt om de juiste afdeling te koppelen
|
||
-- Naam is ook verplicht veld (nr8) - Ook deze niet altijd goed gevuld in CSV en dus deze ook eerst vullen met GebruikerLocatie en in kenmerk2 (nr28) wordt uit csv de Surname gezet
|
||
-- Functie is ook verplicht veld (nr21) - Omdat deze ook niet altijd gevuld is in CSV gaan we deze ook vullen met UserPrincipalName en in kenmerk3 (nr29) wordt uit csv de JobTitle gezet
|
||
-- Locatie uit CSV (PhysicalDeliveryOfficeName) wordt op kenmerk4 gevuld (nr30) en later gebruikt om juiste werkplek-koppeling te maken
|
||
-- Login (nr 22) wordt bij de import nog wel uit het bestand gehaald 3e kolom, maar later omgezet naar emailadres.
|
||
-- UserPRincipalName wordt gevuld op Kenmerk5 - Om later records op te deleten (@friesekleintjes.nl)
|
||
prs.import_perslid (
|
||
p_import_key,
|
||
'0;0;0;0;0;0;1;1;0;3;'
|
||
|| '0;0;0;0;0;0;0;5;0;9;'
|
||
|| '1;0;0;0;0;0;7;4;6;8;'
|
||
|| '2;0;0;0;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0',
|
||
'Country;UserPrincipalName;GivenName;Surname;Mail;JobTitle;Department;PhysicalDeliveryOfficeName;EmployeeId%');
|
||
-- Country;UserPrincipalName;GivenName;Surname;Mail;JobTitle;Department;PhysicalDeliveryOfficeName;EmployeeId
|
||
-- DEF. BESTAND bij SINN : "Country","UserPrincipalName","GivenName","Surname","Mail","JobTitle","Department","PhysicalDeliveryOfficeName","EmployeeId"
|
||
|
||
v_errorhint := 'Login afleiden van emailadres';
|
||
-- Loginnaam afleiden van emailadres
|
||
UPDATE fac_imp_perslid
|
||
SET prs_perslid_oslogin =
|
||
UPPER((SUBSTR (prs_perslid_email,
|
||
0,
|
||
INSTR (prs_perslid_email, '@') - 1)))
|
||
WHERE
|
||
(UPPER (prs_perslid_email) LIKE '%SINNEKINDEROPVANG.NL' OR UPPER (prs_perslid_email) LIKE '%FRIESEKLEINTJES.NL')
|
||
AND prs_perslid_email IS NOT NULL
|
||
AND LENGTH((SUBSTR (prs_perslid_email,
|
||
0,
|
||
INSTR (prs_perslid_email, '@') - 1))) <=30 ;
|
||
|
||
v_errorhint := 'Delete record op basis klantregels';
|
||
-- Delete uit AD SINN - Opschoning
|
||
-- Functie: <20>gedeeld postvak<61>, <20>generiek account<6E>, <20>OC<4F>, <20>RvT<76>, "Resources" of leeg
|
||
-- UserPrincipalName afwijkend @sinnekinderopvang.nl
|
||
DELETE fac_imp_perslid
|
||
WHERE UPPER (prs_kenmerk3) IN ('GEDEELD POSTVAK','GENERIEK ACCOUNT', 'OC', 'RVT', 'RESOURCES') OR prs_kenmerk3 IS NULL;
|
||
|
||
DELETE fac_imp_perslid
|
||
WHERE UPPER (prs_kenmerk5) NOT LIKE '%SINNEKINDEROPVANG.NL';
|
||
|
||
v_errorhint := 'Functie goed vullen';
|
||
-- Functie is niet altijd gevuld, eerst gevuld met Gebruikerslocatie, nu vullen met kenmerk3 (of 'Onbekend').
|
||
UPDATE fac_imp_perslid
|
||
SET prs_srtperslid_omschrijving =
|
||
DECODE (prs_kenmerk3, NULL, 'Onbekend', prs_kenmerk3);
|
||
|
||
v_errorhint := 'Naam goed vullen';
|
||
-- Naam is niet altijd gevuld, eerst gevuld met Gebruikerslocatie, nu vullen met kenmerk2 (of 'Algemeen').
|
||
UPDATE fac_imp_perslid
|
||
SET prs_perslid_naam =
|
||
DECODE (prs_kenmerk2, NULL, 'Algemeen', prs_kenmerk2);
|
||
|
||
v_errorhint := 'Afdeling bepalen en vullen';
|
||
-- Afdeling bepalen waar persoon onder komt te vallen
|
||
FOR rec IN c_afd
|
||
LOOP
|
||
BEGIN
|
||
|
||
v_errorhint := 'Persoon aan Afdeling koppelen';
|
||
|
||
SELECT min(prs_afdeling_key)
|
||
INTO v_prs_afdeling_key
|
||
FROM prs_v_afdeling
|
||
WHERE UPPER(prs_afdeling_naam) = UPPER(rec.prs_kenmerk1)
|
||
AND prs_bedrijf_key = 21 -- bedrijf SINNE
|
||
AND prs_afdeling_verwijder IS NULL ;
|
||
|
||
IF v_prs_afdeling_key IS NOT NULL THEN
|
||
|
||
UPDATE fac_imp_perslid
|
||
SET prs_afdeling_naam = (SELECT prs_afdeling_upper FROM prs_afdeling WHERE prs_afdeling_key = v_prs_afdeling_key)
|
||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||
|
||
ELSE
|
||
|
||
UPDATE fac_imp_perslid
|
||
SET prs_afdeling_naam = (SELECT prs_afdeling_upper FROM prs_afdeling WHERE prs_afdeling_key = c_prs_afdeling_key)
|
||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||
|
||
END IF;
|
||
|
||
END;
|
||
END LOOP;
|
||
|
||
v_errorhint := 'Locatie bepalen en vullen';
|
||
-- Default Locatie / Standplaats bepalen voor persoon
|
||
FOR rec IN c_loc
|
||
LOOP
|
||
BEGIN
|
||
|
||
v_errorhint := 'Persoon aan Locatie-Ruimte koppelen';
|
||
v_alg_locatie_key := NULL;
|
||
v_alg_gebouw_key := NULL;
|
||
v_alg_verdieping_key := NULL;
|
||
v_alg_ruimte_key := NULL;
|
||
|
||
SELECT min(alg_locatie_key)
|
||
INTO v_alg_locatie_key
|
||
FROM alg_locatie
|
||
WHERE UPPER(alg_locatie_omschrijving) = UPPER(rec.prs_kenmerk4)
|
||
AND (TRUNC(alg_locatie_vervaldatum) > TRUNC(sysdate) OR alg_locatie_vervaldatum IS NULL )
|
||
AND alg_locatie_verwijder IS NULL ;
|
||
|
||
IF v_alg_locatie_key IS NOT NULL THEN
|
||
|
||
-- Locatie_code ophalen
|
||
SELECT alg_locatie_code
|
||
INTO v_alg_locatie_code
|
||
FROM alg_locatie
|
||
WHERE alg_locatie_key = v_alg_locatie_key ;
|
||
|
||
-- Gebouw_key ophalen
|
||
SELECT min(alg_gebouw_key)
|
||
INTO v_alg_gebouw_key
|
||
FROM alg_gebouw
|
||
WHERE alg_locatie_key = v_alg_locatie_key
|
||
AND alg_gebouw_verwijder IS NULL
|
||
AND (TRUNC(alg_gebouw_vervaldatum) > TRUNC(sysdate) OR alg_gebouw_vervaldatum IS NULL ) ;
|
||
|
||
-- Om bij update dit kenmerkveld weg te kunnen schrijven naar kenmerkveld 'default standplaats'
|
||
UPDATE fac_imp_perslid
|
||
SET prs_kenmerk6 = (SELECT UPPER(alg_locatie_code) || alg_locatie_omschrijving FROM alg_locatie WHERE alg_locatie_key = v_alg_locatie_key)
|
||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||
|
||
IF v_alg_gebouw_key IS NOT NULL THEN
|
||
|
||
-- Gebouw_code ophalen
|
||
SELECT alg_gebouw_code
|
||
INTO v_alg_gebouw_code
|
||
FROM alg_gebouw
|
||
WHERE alg_gebouw_key = v_alg_gebouw_key ;
|
||
|
||
-- Verdiepings_key ophalen
|
||
SELECT min(alg_verdieping_key)
|
||
INTO v_alg_verdieping_key
|
||
FROM alg_verdieping
|
||
WHERE alg_gebouw_key = v_alg_gebouw_key
|
||
AND alg_verdieping_verwijder IS NULL ;
|
||
|
||
END IF;
|
||
|
||
IF v_alg_verdieping_key IS NOT NULL THEN
|
||
|
||
-- Verdieping_volgnr ophalen
|
||
SELECT alg_verdieping_volgnr
|
||
INTO v_alg_verdieping_volgnr
|
||
FROM alg_verdieping
|
||
WHERE alg_verdieping_key = v_alg_verdieping_key ;
|
||
|
||
-- Ruimte_key ophalen
|
||
SELECT min(alg_ruimte_key)
|
||
INTO v_alg_ruimte_key
|
||
FROM alg_ruimte
|
||
WHERE alg_verdieping_key = v_alg_verdieping_key
|
||
AND alg_ruimte_verwijder IS NULL ;
|
||
|
||
END IF;
|
||
|
||
IF v_alg_ruimte_key IS NOT NULL THEN
|
||
|
||
-- Ruimte_nr ophalen
|
||
SELECT alg_ruimte_nr
|
||
INTO v_alg_ruimte_nr
|
||
FROM alg_ruimte
|
||
WHERE alg_ruimte_key = v_alg_ruimte_key ;
|
||
|
||
-- Vullen vastgoed-keten in import-tabel
|
||
UPDATE fac_imp_perslid
|
||
SET alg_locatie_code = v_alg_locatie_code,
|
||
alg_gebouw_code = v_alg_gebouw_code,
|
||
alg_verdieping_volgnr = v_alg_verdieping_volgnr,
|
||
alg_ruimte_nr = v_alg_ruimte_nr
|
||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||
|
||
END IF;
|
||
|
||
ELSE
|
||
-- Geen Locatie/Vastgoedketen kunnen vinden
|
||
|
||
UPDATE fac_imp_perslid
|
||
SET prs_kenmerk6 = 'LOCATIE ONBEKEND'
|
||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||
|
||
END IF;
|
||
|
||
END;
|
||
END LOOP;
|
||
|
||
v_errorhint := 'Telefoonnr bepalen en vullen';
|
||
-- Heeft medewerker een Objectmobiel dan deze overnemen naar personenkaart..
|
||
FOR rec IN c_mob
|
||
LOOP
|
||
BEGIN
|
||
|
||
IF rec.nummer_object IS NOT NULL
|
||
THEN
|
||
|
||
UPDATE fac_imp_perslid
|
||
SET prs_perslid_mobiel = rec.nummer_object
|
||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||
|
||
END IF;
|
||
|
||
IF rec.nummer_object IS NULL AND rec.prs_perslid_mobiel IS NOT NULL
|
||
THEN
|
||
|
||
UPDATE fac_imp_perslid
|
||
SET prs_perslid_mobiel = rec.prs_perslid_mobiel
|
||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||
|
||
END IF;
|
||
|
||
IF rec.prs_perslid_telefoonnr IS NOT NULL
|
||
THEN
|
||
|
||
UPDATE fac_imp_perslid
|
||
SET prs_perslid_telefoonnr = rec.prs_perslid_telefoonnr
|
||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||
|
||
END IF;
|
||
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END sinn_import_perslid;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE sinn_update_perslid (p_import_key IN NUMBER)
|
||
IS
|
||
-- Alle personen verwijderen die niet meer in het import bestand voorkomen
|
||
-- Personen in de juiste autorisatiegroep zetten.
|
||
-- Match bij SINNE KINDEROPVANG is Email.
|
||
-- Geen acties tenzij het aantal records in de importtabel meer dan 50 medewerkers betreft.
|
||
|
||
CURSOR c_del
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
|
||
FROM prs_perslid p, prs_v_perslid_fullnames pf
|
||
WHERE (UPPER (p.prs_perslid_email) LIKE '%SINNEKINDEROPVANG.NL' OR UPPER (p.prs_perslid_email) LIKE '%FRIESEKLEINTJES.NL')
|
||
AND NOT EXISTS (SELECT 1 FROM fac_imp_perslid WHERE INSTR(UPPER (p.prs_perslid_email),UPPER (prs_perslid_email) ) > 0 )
|
||
AND pf.prs_perslid_key = p.prs_perslid_key ;
|
||
|
||
CURSOR c_flex -- Voor updaten van de algemene flex-kenmerkvelden op actuele medewerkers
|
||
IS
|
||
SELECT p.prs_perslid_key, i.prs_kenmerk4
|
||
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
|
||
WHERE p.prs_perslid_key = i.prs_perslid_key
|
||
ORDER BY 1;
|
||
|
||
v_count NUMBER;
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
|
||
BEGIN
|
||
v_errorhint := 'Niet genoeg personen in bestand, import afgebroken';
|
||
|
||
SELECT COUNT ( * ) INTO v_count FROM fac_imp_perslid;
|
||
|
||
IF v_count >= 100
|
||
THEN
|
||
v_errorhint := 'Verwerken persoonsgegevens';
|
||
|
||
-- Geldig importbestand wat betreft aantal personen
|
||
|
||
COMMIT;
|
||
|
||
-- generic update
|
||
-- 'EMAIL' betekent dat op basis van Email wordt gematched.
|
||
-- 'NULL' betekent altijd geen werkplekken verwijderen
|
||
prs.update_perslid (p_import_key, 'EMAIL', NULL);
|
||
|
||
v_errorhint := 'Verwijderen persoonsgegevens';
|
||
|
||
-- Verwijder personen die niet meer in de import voorkomen.
|
||
FOR rec IN c_del
|
||
LOOP
|
||
BEGIN
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR rec IN c_flex
|
||
LOOP
|
||
BEGIN
|
||
v_errorhint:='Fout bijwerken kenmerkveld4 - Standplaats';
|
||
PRS.upsertkenmerk (1020, rec.prs_perslid_key, rec.prs_kenmerk4); -- IN PRODUCTIE KEY = 1020
|
||
END;
|
||
END LOOP;
|
||
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END sinn_update_perslid;
|
||
/
|
||
|
||
-- Voor keuzelijstjes (kenmerk domein)
|
||
CREATE OR REPLACE VIEW sinn_v_personenlijst
|
||
(
|
||
KEY,
|
||
NAAM,
|
||
PERSONEELSNUMMER
|
||
)
|
||
AS
|
||
SELECT
|
||
p.prs_perslid_key,
|
||
p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam
|
||
naam,
|
||
p.prs_perslid_nr
|
||
FROM
|
||
prs_perslid p,
|
||
prs_v_afdeling a,
|
||
prs_bedrijf b
|
||
WHERE
|
||
p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = 21
|
||
AND p.prs_perslid_voornaam !='TEAM' -- Voor team-accounts
|
||
ORDER BY p.prs_perslid_naam
|
||
;
|
||
|
||
-- Bedrijf EXTERN - Voor aanduiding 'Eigenaar/Huurder van Gebouw(onderdeel)' in vastgoedketen
|
||
CREATE OR REPLACE VIEW sinn_v_eigenaar_huurder
|
||
(
|
||
KEY,
|
||
NAAM,
|
||
CODE
|
||
)
|
||
AS
|
||
SELECT
|
||
a.prs_afdeling_key,
|
||
a.prs_afdeling_omschrijving,
|
||
a.prs_afdeling_upper
|
||
FROM
|
||
prs_v_afdeling a,
|
||
prs_bedrijf b,
|
||
prs_kenmerklink km
|
||
WHERE
|
||
a.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = 61 -- Extern
|
||
AND a.niveau = 1
|
||
AND a.prs_afdeling_key = km.prs_link_key AND km.prs_kenmerklink_niveau = 'A'
|
||
AND prs_kenmerk_key = 1000 -- Vinkbox 'Eigenaar/Huurder van Gebouw(onderdeel)'
|
||
ORDER BY a.prs_afdeling_omschrijving
|
||
;
|
||
|
||
-- Rapportage Veiligheid en Gezondheid
|
||
CREATE OR REPLACE VIEW SINN_V_MLD_ONGEVALLEN
|
||
(
|
||
MLD_MELDING_KEY,
|
||
DATUM_GEMELD,
|
||
DATUM_ONGEVAL,
|
||
MLD_STDMELDING_OMSCHRIJVING,
|
||
MLD_MELDING_ONDERWERP,
|
||
MLD_STATUS,
|
||
ALG_LOCATIE_OMSCHRIJVING,
|
||
ALG_GEBOUW_NAAM,
|
||
OPVANGSOORT,
|
||
LEEFTIJD_KIND,
|
||
SOORT_ONGEVAL,
|
||
PLAATS_ONGEVAL,
|
||
BETROKKENE,
|
||
LETSEL_1,
|
||
LETSEL_2,
|
||
LETSEL_3,
|
||
TE_VOORKOMEN
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
sinn_get_kenmerk('MLD',146 , m.mld_melding_key)
|
||
datum_ongeval,
|
||
sm.mld_stdmelding_omschrijving,
|
||
m.mld_melding_onderwerp,
|
||
st.mld_statuses_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
v.alg_gebouw_naam,
|
||
sinn_get_kenmerk('MLD',192, m.mld_melding_key) -- 192 opvangsoort
|
||
opvangsoort,
|
||
sinn_get_kenmerk('MLD',164, m.mld_melding_key) -- 164 leeftijd kind
|
||
leeftijd_kind,
|
||
sinn_get_kenmerk('MLD',196, m.mld_melding_key) -- 196 soort ongeval
|
||
soort_ongeval,
|
||
sinn_get_kenmerk('MLD',194, m.mld_melding_key) -- 196 plaats ongeval
|
||
plaats_ongeval,
|
||
sinn_get_kenmerk('MLD',136, m.mld_melding_key) -- 136 betrokkene
|
||
betrokkene,
|
||
sinn_get_kenmerk('MLD',168, m.mld_melding_key) -- 168 letsel_1
|
||
letsel_1,
|
||
sinn_get_kenmerk('MLD',302, m.mld_melding_key) -- 302 letsel_2
|
||
letsel_2,
|
||
sinn_get_kenmerk('MLD',303, m.mld_melding_key) -- 303 letsel_3
|
||
letsel_3,
|
||
sinn_get_kenmerk('MLD',198, m.mld_melding_key) -- 198 te voorkomen
|
||
te_voorkomen
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
alg_locatie l,
|
||
alg_v_allonrgoed_gegevens v,
|
||
mld_statuses st
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND m.mld_alg_onroerendgoed_keys = v.alg_onroerendgoed_keys
|
||
AND m.mld_melding_status = st.mld_statuses_key
|
||
AND md.ins_discipline_key = 36
|
||
AND m.mld_stdmelding_key = 42;
|
||
|
||
|
||
------ 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
|