3483 lines
160 KiB
SQL
3483 lines
160 KiB
SQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific sql statements for the FACILITOR database
|
||
-- Voor dbuser invullen: - indien script voor 1 klant is: 'AADS' (de klantcode, zoals vermeld in fac_version_cust)
|
||
-- - script is voor meerdere klanten: 'AAXX' (de groepcode, zoals vermeld in fac_version_group)
|
||
-- - script is voor meerdere klanten met naam volgens een bepaald patroon: '^AA|^ASMS|^GULU|^NMMS|^RABO|^ZKHM'
|
||
-- Ook als het script gedraaid wordt voor de verkeerde cust wordt er een logfile gemaakt.
|
||
-- (dit in tegenstelling tot sample_xxxx.sql)
|
||
|
||
DEFINE thisfile = 'WDKA.SQL'
|
||
DEFINE dbuser = 'WDKA'
|
||
|
||
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 WDKA
|
||
AS
|
||
PROCEDURE update_vervaldatum;
|
||
|
||
PROCEDURE inactief_ins_deel;
|
||
|
||
PROCEDURE activeer_ins_deel;
|
||
|
||
PROCEDURE insert_object(p_objectNr IN VARCHAR2, p_mld_melding_key IN NUMBER);
|
||
|
||
PROCEDURE insert_ctr_kenmerk (p_srtcontrole_key IN NUMBER);
|
||
|
||
PROCEDURE setKenmerkObject(p_ins_key IN NUMBER, p_ins_srtinstallatie_key IN NUMBER, p_kenmerk_omschrijving IN VARCHAR2, p_kenmerk_waarde IN VARCHAR2);
|
||
|
||
FUNCTION getSrtControldatum(p_datum IN DATE, p_cyclus IN NUMBER) RETURN DATE;
|
||
|
||
FUNCTION getCtrGroep(v_taak in VARCHAR2) RETURN NUMBER;
|
||
|
||
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PACKAGE BODY WDKA
|
||
AS
|
||
-- rechtzetten van die objecten die wel inactief zijnngezte maar de vervaldatum niet gevuld is.
|
||
PROCEDURE update_vervaldatum
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT i.ins_deel_key,
|
||
ft.fac_tracking_datum
|
||
FROM ins_deel i,
|
||
fac_tracking ft
|
||
WHERE i.ins_deel_actief=0
|
||
AND i.ins_deel_vervaldatum IS NULL
|
||
AND ft.fac_tracking_refkey = i.ins_deel_key
|
||
AND ft.fac_srtnotificatie_key=133
|
||
AND ft.fac_tracking_datum BETWEEN SYSDATE-1 AND SYSDATE
|
||
AND ft.fac_tracking_oms like '%Actief: 1 --> 0%'
|
||
AND i.ins_deel_verwijder IS NULL;
|
||
|
||
BEGIN
|
||
FOR rec IN c
|
||
LOOP
|
||
UPDATE ins_deel
|
||
SET ins_deel_vervaldatum = rec.fac_tracking_datum
|
||
WHERE ins_deel_key = rec.ins_deel_key;
|
||
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE,
|
||
'Vervaldatum gezet wegens inactief zetten zonder vervaldatum.');
|
||
END LOOP;
|
||
COMMIT;
|
||
END;
|
||
|
||
PROCEDURE inactief_ins_deel
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT m.mld_melding_key,
|
||
mmo.ins_deel_key,
|
||
p1.prs_perslid_key loc_manager_key,
|
||
p1.prs_perslid_email loc_manager_email,
|
||
p2.prs_perslid_key beheerder_key,
|
||
p2.prs_perslid_email beheerder_email
|
||
FROM mld_melding m,
|
||
mld_stdmelding ms,
|
||
fac_tracking ft,
|
||
mld_melding_object mmo,
|
||
ins_deel i,
|
||
prs_perslid p1,
|
||
prs_perslid p2
|
||
WHERE m.mld_stdmelding_key = ms.mld_stdmelding_key
|
||
AND UPPER(ms.mld_stdmelding_omschrijving)='MUTATIE UIT AANVRAAG'
|
||
AND m.mld_melding_status =4 -- alleen 4
|
||
AND ft.fac_tracking_refkey=m.mld_melding_key
|
||
AND ft.fac_srtnotificatie_key=46
|
||
AND ft.prs_perslid_key IN (SELECT p.prs_perslid_key
|
||
FROM prs_perslid p, fac_groep fg, fac_gebruikersgroep fgg
|
||
WHERE UPPER(fg.fac_groep_omschrijving)='LOCATIEMANAGER_ACCEPT'
|
||
AND fgg.fac_groep_key = fg.fac_groep_key
|
||
AND p.prs_perslid_key = fgg.prs_perslid_key)
|
||
AND mmo.mld_melding_key=m.mld_melding_key
|
||
AND p1.prs_perslid_key = ft.prs_perslid_key
|
||
AND p2.prs_perslid_key = i.prs_perslid_key_beh
|
||
AND i.ins_deel_key = mmo.ins_deel_key
|
||
AND i.ins_deel_actief=1;
|
||
BEGIN
|
||
FOR rec IN c
|
||
LOOP
|
||
UPDATE ins_deel
|
||
SET ins_deel_actief=0,
|
||
ins_deel_vervaldatum=SYSDATE
|
||
WHERE ins_deel_key=rec.ins_deel_key
|
||
AND ins_deel_verwijder IS NULL;
|
||
flx.setflex('INS',81,rec.ins_deel_key,90); -- ObjectStatus kenmerk krijgt status passief (90)
|
||
|
||
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE,
|
||
'Object is vanuit daily op inactief gezet vanuit melding '||rec.mld_melding_key);
|
||
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE, 'Object gewijzigd '||CHR(13)|| CHR(10)||'Vervaldatum: (leeg) --> '|| SYSDATE);
|
||
fac.trackaction ('CUST01', rec.mld_melding_key, NULL, NULL, '#Mail naar locatie manager gestuurd naar: ' || rec.loc_manager_email);
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
prs_perslid_key_receiver,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_extrakey,
|
||
fac_notificatie_prioriteit)
|
||
VALUES (261, -- CUST01
|
||
2, -- mail
|
||
rec.loc_manager_email, -- email
|
||
rec.loc_manager_key,
|
||
'Mutatie uit aanvraag uitgevoerd',
|
||
rec.mld_melding_key,
|
||
NULL,
|
||
2);
|
||
|
||
fac.trackaction ('CUST01', rec.mld_melding_key, NULL, NULL, '#Mail naar object beheerder gestuurd naar: ' || rec.beheerder_email);
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
prs_perslid_key_receiver,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_extrakey,
|
||
fac_notificatie_prioriteit)
|
||
VALUES (261, -- CUST01
|
||
2, -- mail
|
||
rec.beheerder_email, -- email
|
||
rec.beheerder_key,
|
||
'Mutatie uit aanvraag uitgevoerd',
|
||
rec.mld_melding_key,
|
||
NULL,
|
||
2);
|
||
END LOOP;
|
||
END;
|
||
|
||
|
||
PROCEDURE activeer_ins_deel
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT m.mld_melding_key,
|
||
mmo.ins_deel_key,
|
||
i.ins_deel_vervaldatum,
|
||
p1.prs_perslid_key loc_manager_key,
|
||
p1.prs_perslid_email loc_manager_email,
|
||
p2.prs_perslid_key beheerder_key,
|
||
p2.prs_perslid_email beheerder_email
|
||
FROM mld_melding m,
|
||
mld_stdmelding ms,
|
||
fac_tracking ft,
|
||
mld_melding_object mmo,
|
||
ins_deel i,
|
||
prs_perslid p1,
|
||
prs_perslid p2
|
||
WHERE m.mld_stdmelding_key = ms.mld_stdmelding_key
|
||
AND UPPER(ms.mld_stdmelding_omschrijving)='AANVRAAG HERACTIVEREN OBJECT'
|
||
AND m.mld_melding_status =4 -- alleen 4
|
||
AND ft.fac_tracking_refkey=m.mld_melding_key
|
||
AND ft.fac_srtnotificatie_key=46
|
||
AND ft.prs_perslid_key IN (SELECT p.prs_perslid_key
|
||
FROM prs_perslid p, fac_groep fg, fac_gebruikersgroep fgg
|
||
WHERE UPPER(fg.fac_groep_omschrijving)='LOCATIEMANAGER_ACCEPT'
|
||
AND fgg.fac_groep_key = fg.fac_groep_key
|
||
AND p.prs_perslid_key = fgg.prs_perslid_key)
|
||
AND mmo.mld_melding_key=m.mld_melding_key
|
||
AND p1.prs_perslid_key = ft.prs_perslid_key
|
||
AND p2.prs_perslid_key = i.prs_perslid_key_beh
|
||
AND i.ins_deel_key = mmo.ins_deel_key
|
||
AND i.ins_deel_actief=0;
|
||
BEGIN
|
||
FOR rec IN c
|
||
LOOP
|
||
UPDATE ins_deel
|
||
SET ins_deel_actief=1,
|
||
ins_deel_vervaldatum=NULL
|
||
WHERE ins_deel_key=rec.ins_deel_key
|
||
AND ins_deel_verwijder IS NULL;
|
||
flx.setflex('INS',81,rec.ins_deel_key,85); -- ObjectStatus kenmerk krijgt status actief (85)
|
||
|
||
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE,
|
||
'Object is vanuit daily op actief gezet vanuit melding '||rec.mld_melding_key);
|
||
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE, 'Object gewijzigd '||CHR(13)|| CHR(10)||'Vervaldatum: '||TO_CHAR(rec.ins_deel_vervaldatum,' DD-MM-YYYY')||' --> (leeg)');
|
||
|
||
fac.trackaction ('CUST02', rec.mld_melding_key, NULL, NULL, '#Mail naar locatie manager gestuurd naar: ' || rec.loc_manager_email);
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
prs_perslid_key_receiver,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_extrakey,
|
||
fac_notificatie_prioriteit)
|
||
VALUES (281, -- CUST02
|
||
2, -- mail
|
||
rec.loc_manager_email, -- email
|
||
rec.loc_manager_key,
|
||
'Aanvraag heractiveren object',
|
||
rec.mld_melding_key,
|
||
NULL,
|
||
2);
|
||
|
||
fac.trackaction ('CUST02', rec.mld_melding_key, NULL, NULL, '#Mail naar object beheerder gestuurd naar: ' || rec.beheerder_email);
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
prs_perslid_key_receiver,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_extrakey,
|
||
fac_notificatie_prioriteit)
|
||
VALUES (281, -- CUST02
|
||
2, -- mail
|
||
rec.beheerder_email, -- email
|
||
rec.beheerder_key,
|
||
'Aanvraag heractiveren object',
|
||
rec.mld_melding_key,
|
||
NULL,
|
||
2);
|
||
|
||
|
||
END LOOP;
|
||
END;
|
||
|
||
PROCEDURE insert_object(p_objectNr IN VARCHAR2, p_mld_melding_key IN NUMBER)
|
||
AS
|
||
v_objectNr VARCHAR2(20):='';
|
||
v_objectSoortKey VARCHAR2(10):='';
|
||
v_aanmaak VARCHAR2(10):='';
|
||
v_alg_ruimte_key NUMBER:=0;
|
||
v_aanwezig NUMBER:=0;
|
||
v_ins_deel_key NUMBER:=0;
|
||
v_merk NUMBER:=0;
|
||
v_leverancier NUMBER:=0;
|
||
v_type VARCHAR2(50);
|
||
v_serienummer VARCHAR2(50);
|
||
v_kenteken VARCHAR2(50);
|
||
v_bouwjaar VARCHAR2(50);
|
||
v_garantiedatum VARCHAR2(50);
|
||
v_investeringsnr VARCHAR2(50);
|
||
v_aanschafprijs VARCHAR2(50);
|
||
v_objectstatus NUMBER;
|
||
v_kenmerk VARCHAR2(50);
|
||
v_beschrijving VARCHAR2(50);
|
||
|
||
-- Kenmerk keys
|
||
v_merk_key NUMBER:=141;
|
||
v_leverancier_key NUMBER:=142;
|
||
v_type_key NUMBER:=44;
|
||
v_serienummer_key NUMBER:=41;
|
||
v_kenteken_key NUMBER:=43;
|
||
v_bouwjaar_key NUMBER:=63;
|
||
v_garantiedatum_key NUMBER:=61;
|
||
v_investeringsnr_key NUMBER:=144;
|
||
v_aanschafprijs_key NUMBER:=143;
|
||
v_objectstatus_key NUMBER:=81;
|
||
v_kenmerk_key NUMBER:=121;
|
||
v_bijlagen_key NUMBER:=4281;
|
||
v_level NUMBER:=0;
|
||
|
||
|
||
CURSOR b(p_melding_key IN NUMBER)
|
||
IS
|
||
SELECT f.fac_bijlagen_key
|
||
FROM fac_bijlagen f
|
||
WHERE f.fac_bijlagen_refkey=p_melding_key
|
||
AND f.fac_bijlagen_module='MLD';
|
||
|
||
|
||
BEGIN
|
||
-- We halen eerts de object identiofocatio op
|
||
v_objectNr := p_objectNr;
|
||
v_objectstatus:= 85; -- De standaard waarde van dit kenmerkn moet Actief zijn (eigen tabel key: 85)
|
||
|
||
-- Welk objectsoort is er gekozen
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_objectSoortKey
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='OBJECT SOORT'; -- D=2, A=201
|
||
|
||
-- Moeten we een object aanmaken
|
||
BEGIN
|
||
SELECT fud.fac_usrdata_code
|
||
INTO v_aanmaak
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk, fac_usrdata fud
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='OBJECT AANMAKEN'
|
||
AND fud.fac_usrdata_key=mkm.mld_kenmerkmelding_waarde; -- D=3, A=181
|
||
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_aanmaak:='Nee';
|
||
END;
|
||
|
||
-- We halen de alg_ruimte_key op van het gebouw wat is gekozen en ruimte 999999
|
||
SELECT alg_ruimte_key
|
||
INTO v_alg_ruimte_key
|
||
FROM ALG_V_ALLONRGOED_GEGEVENS
|
||
WHERE alg_ruimte_nr='999999'
|
||
AND alg_gebouw_key=(SELECT mkm.mld_kenmerkmelding_waarde
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='GEBOUW'); -- A=241
|
||
-- We gaan wat kenmerken ophalen die bij het object gezet moeten worden
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_merk
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='FABRIKANT / MERK';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_merk:=NULL;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_leverancier
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='LEVERANCIER';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_leverancier:=NULL;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_type
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='TYPE';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_type:=NULL;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_serienummer
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='SERIENUMMER';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_serienummer:=NULL;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_kenteken
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='KENTEKEN';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_kenteken:=NULL;
|
||
v_kenteken_key:=-1;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_bouwjaar
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='BOUWJAAR';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_bouwjaar:=NULL;
|
||
v_bouwjaar_key:=-1;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_garantiedatum
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='GARANTIEDATUM';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_garantiedatum:=NULL;
|
||
v_garantiedatum_key:=-1;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_investeringsnr
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='INVESTERINGS NR';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_investeringsnr:=NULL;
|
||
v_investeringsnr_key:=-1;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_aanschafprijs
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='AANSCHAFPRIJS <20>';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_aanschafprijs:=NULL;
|
||
v_aanschafprijs_key:=-1;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_kenmerk
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='KENMERK';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_kenmerk:=NULL;
|
||
v_kenmerk_key:=-1;
|
||
END;
|
||
|
||
BEGIN
|
||
SELECT mkm.mld_kenmerkmelding_waarde
|
||
INTO v_beschrijving
|
||
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
|
||
WHERE m.mld_melding_key=p_mld_melding_key
|
||
AND mkm.mld_melding_key=m.mld_melding_key
|
||
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
|
||
AND UPPER(mk.mld_kenmerk_omschrijving)='BESCHRIJVING';
|
||
EXCEPTION WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_beschrijving:=NULL;
|
||
|
||
END;
|
||
|
||
|
||
|
||
SELECT count(*) into v_aanwezig
|
||
FROm ins_deel
|
||
WHERE ins_deel_omschrijving=v_objectNr
|
||
AND ins_deel_verwijder IS NULL;
|
||
|
||
IF (v_aanwezig = 0 AND v_aanmaak='Ja') THEN
|
||
|
||
INSERT INTO ins_deel(ins_deel_omschrijving, ins_deel_opmerking, ins_deel_aanmaak, ins_srtdeel_key, ins_deel_actief, ins_alg_ruimte_key, ins_alg_ruimte_type)
|
||
VALUES(v_objectNr, v_beschrijving, SYSDATE, v_objectSoortKey, 1, v_alg_ruimte_key ,'R')
|
||
RETURNING ins_deel_key
|
||
INTO v_ins_deel_key;
|
||
|
||
flx.setflex('INS',v_merk_key,v_ins_deel_key,v_merk);
|
||
flx.setflex('INS',v_type_key,v_ins_deel_key,v_type);
|
||
flx.setflex('INS',v_leverancier_key,v_ins_deel_key,v_leverancier);
|
||
flx.setflex('INS',v_serienummer_key,v_ins_deel_key,v_serienummer);
|
||
flx.setflex('INS',v_objectstatus_key,v_ins_deel_key,v_objectstatus);
|
||
|
||
IF (v_kenteken_key>0) THEN
|
||
flx.setflex('INS',v_kenteken_key,v_ins_deel_key,v_kenteken);
|
||
END IF;
|
||
|
||
IF (v_bouwjaar_key>0) THEN
|
||
flx.setflex('INS',v_bouwjaar_key,v_ins_deel_key,v_bouwjaar);
|
||
END IF;
|
||
|
||
IF (v_garantiedatum_key>0) THEN
|
||
flx.setflex('INS',v_garantiedatum_key,v_ins_deel_key,v_garantiedatum);
|
||
END IF;
|
||
|
||
IF (v_investeringsnr_key>0) THEN
|
||
flx.setflex('INS',v_investeringsnr_key,v_ins_deel_key,v_investeringsnr);
|
||
END IF;
|
||
|
||
IF (v_aanschafprijs_key>0) THEN
|
||
flx.setflex('INS',v_aanschafprijs_key,v_ins_deel_key,v_aanschafprijs);
|
||
END IF;
|
||
IF (v_kenmerk_key>0) THEN
|
||
flx.setflex('INS',v_kenmerk_key,v_ins_deel_key,v_kenmerk);
|
||
END IF;
|
||
|
||
FOR rec IN b(p_mld_melding_key)
|
||
LOOP
|
||
flx.copyflexbijlage ('INS',v_ins_deel_key, v_bijlagen_key, rec.fac_bijlagen_key);
|
||
END LOOP;
|
||
|
||
|
||
fac.trackaction ('INSNEW', v_ins_deel_key, 3, SYSDATE,
|
||
'Object '||v_objectNr||' geregistreerd uit melding '||p_mld_melding_key||'.');
|
||
IF (v_ins_deel_key>0) THEN
|
||
v_level:=v_level+1;
|
||
INSERT INTO mld_melding_object(ins_deel_key, mld_melding_key, mld_melding_object_aanmaak)
|
||
VALUES(v_ins_deel_key, p_mld_melding_key, SYSDATE);
|
||
END IF;
|
||
fac.trackaction ('MLDUPD', p_mld_melding_key, 3, SYSDATE,
|
||
'Object '||v_objectNr||' toegevoegd aan melding.');
|
||
END IF;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
fac.trackaction ('MLDUPD', p_mld_melding_key, 3, SYSDATE,
|
||
'Fout bij aanmaken object '||v_objectNr);
|
||
END;
|
||
|
||
-- Aanmaken van resultaat kenmerken bij periodiek taak
|
||
PROCEDURE insert_ctr_kenmerk (p_srtcontrole_key IN NUMBER)
|
||
AS
|
||
v_insrtkenmerk_key NUMBER;
|
||
BEGIN
|
||
v_insrtkenmerk_key:=-1;
|
||
|
||
SELECT isk.ins_srtkenmerk_key INTO v_insrtkenmerk_key FROM ins_srtkenmerk isk WHERE isk.ins_srtkenmerk_upper=UPPER('resultaat waardes(50)');
|
||
IF v_insrtkenmerk_key>0 THEN
|
||
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Aarde (Ohm)',100);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Aarde Resultaat',110);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Lekstroom (mA)',120);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Lekstroom resultaat',130);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Aanraak lekstroom (mA)',140);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Aanraak lekstroom resultaat',150);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Vervangende lekstroom (mA)',160);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Vervangende lekstroom resultaat',170);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Isolatie (MOhm)',180);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Isolatie resultaat',190);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Bedrading',200);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Bedrading resultaat',210);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Gebruikerstest',220);
|
||
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Gebruikers resultaat',230);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
END;
|
||
|
||
PROCEDURE setKenmerkObject(p_ins_key IN NUMBER, p_ins_srtinstallatie_key IN NUMBER, p_kenmerk_omschrijving IN VARCHAR2, p_kenmerk_waarde IN VARCHAR2)
|
||
AS
|
||
v_ins_kenmerk_key NUMBER;
|
||
BEGIN
|
||
v_ins_kenmerk_key:=-1;
|
||
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key
|
||
FROM ins_kenmerk where UPPER(ins_kenmerk.ins_kenmerk_omschrijving)=UPPER(p_kenmerk_omschrijving)
|
||
AND ins_srtinstallatie_key=p_ins_srtinstallatie_key
|
||
AND ins_kenmerk_niveau='D'
|
||
AND ins_kenmerk_verwijder IS NULL;
|
||
IF v_ins_kenmerk_key>-1 THEN
|
||
flx.setflex('INS',v_ins_kenmerk_key,p_ins_key,p_kenmerk_waarde);
|
||
|
||
END IF;
|
||
END;
|
||
|
||
FUNCTION getSrtControldatum(p_datum IN DATE, p_cyclus IN NUMBER) RETURN DATE
|
||
AS
|
||
v_count NUMBER;
|
||
r_datum DATE;
|
||
r_datum_str VARCHAR2(10);
|
||
BEGIN
|
||
v_count:=0;
|
||
IF (p_cyclus=12) THEN
|
||
r_datum_str := TO_CHAR(p_datum,'DD')||'-'||TO_CHAR(p_datum,'MM')||'-'||TO_CHAR(SYSDATE,'YYYY');
|
||
r_datum := TO_DATE(r_datum_str,'DD-MM-YYYY');
|
||
IF r_datum > TRUNC(SYSDATE) THEN
|
||
r_datum := ADD_MONTHS(r_datum, -12);
|
||
END IF;
|
||
ELSIF (p_cyclus=36) THEN
|
||
IF (EXTRACT(YEAR FROM p_datum) > EXTRACT(YEAR FROM SYSDATE)) THEN
|
||
r_datum:=ADD_MONTHS(p_datum,-1*p_cyclus); -- geven laatste gekeurde datum door.
|
||
ELSE
|
||
v_count:= FLOOR((2022-EXTRACT(YEAR FROM p_datum))*12/p_cyclus);
|
||
r_datum:= ADD_MONTHS(p_datum,v_count*p_cyclus);
|
||
END IF;
|
||
ELSE
|
||
r_datum:=p_datum;
|
||
END IF;
|
||
RETURN r_datum;
|
||
END;
|
||
|
||
|
||
FUNCTION getCtrGroep(v_taak IN VARCHAR2) RETURN NUMBER
|
||
AS
|
||
v_groep NUMBER;
|
||
BEGIN
|
||
v_groep:=-1;
|
||
BEGIN
|
||
IF UPPER(v_taak) = '11A - NEN3140'
|
||
THEN
|
||
SELECT ins_discipline_key INTO v_groep
|
||
FROM ctr_discipline
|
||
WHERE UPPER(ins_discipline_omschrijving)='NEN3140'
|
||
and ins_discipline_verwijder IS NULL;
|
||
END IF;
|
||
IF UPPER(v_taak) = 'APK KEURING'
|
||
THEN
|
||
SELECT ins_discipline_key INTO v_groep
|
||
FROM ctr_discipline
|
||
WHERE UPPER(ins_discipline_omschrijving)='APK KEURING'
|
||
and ins_discipline_verwijder IS NULL;
|
||
END IF;
|
||
IF UPPER(v_taak) = 'REGISTRATIE'
|
||
THEN
|
||
SELECT ins_discipline_key INTO v_groep
|
||
FROM ctr_discipline
|
||
WHERE UPPER(ins_discipline_omschrijving)='REGISTRATIE'
|
||
and ins_discipline_verwijder IS NULL;
|
||
END IF;
|
||
IF UPPER(SUBSTR(v_taak,0,3)) = '20A' OR
|
||
UPPER(SUBSTR(v_taak,0,3)) = '53A' OR
|
||
UPPER(SUBSTR(v_taak,0,3)) = '58A' OR
|
||
UPPER(SUBSTR(v_taak,0,3)) = '60A' OR
|
||
UPPER(SUBSTR(v_taak,0,3)) = '63A'
|
||
THEN
|
||
SELECT ins_discipline_key INTO v_groep
|
||
FROM ctr_discipline
|
||
WHERE UPPER(ins_discipline_omschrijving)='INTERN ONDERHOUD'
|
||
and ins_discipline_verwijder IS NULL;
|
||
END IF;
|
||
IF UPPER(SUBSTR(v_taak,0,3)) = '21' OR
|
||
UPPER(SUBSTR(v_taak,0,3)) = '53B' OR
|
||
UPPER(SUBSTR(v_taak,0,3)) = '58B' OR
|
||
UPPER(SUBSTR(v_taak,0,3)) = '58C' OR
|
||
UPPER(SUBSTR(v_taak,0,3)) = '59B' OR
|
||
UPPER(SUBSTR(v_taak,0,3)) = '62B' OR
|
||
UPPER(v_taak) = 'SKH KEURING'
|
||
THEN
|
||
SELECT ins_discipline_key INTO v_groep
|
||
FROM ctr_discipline
|
||
WHERE UPPER(ins_discipline_omschrijving)='EXTERN ONDERHOUD'
|
||
and ins_discipline_verwijder IS NULL;
|
||
END IF;
|
||
|
||
IF v_groep<0
|
||
THEN
|
||
v_groep:=3;
|
||
END IF;
|
||
RETURN v_groep;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_groep:=3;
|
||
RETURN v_groep;
|
||
END;
|
||
END;
|
||
|
||
|
||
|
||
|
||
|
||
END;
|
||
/
|
||
|
||
|
||
--de daily task draait elke ochtend om 5 uur.
|
||
CREATE OR REPLACE PROCEDURE WDKA_DAILY
|
||
AS
|
||
BEGIN
|
||
-- inactiveren personen die 12 maanden niet hebben ingelogd
|
||
wdka.update_vervaldatum;
|
||
wdka.inactief_ins_deel;
|
||
wdka.activeer_ins_deel;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_TAAKFORMULIER(p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
v_newline VARCHAR2 (10000); -- Import line
|
||
v_field VARCHAR2 (100); -- Import field
|
||
v_fielddelimitor VARCHAR2 (2) := fac.import_delimiter(p_import_key); -- Field seperator
|
||
v_count_tot NUMBER (10);
|
||
v_count NUMBER;
|
||
v_errormsg VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
-- Import velden
|
||
v_discipline VARCHAR2 (300);
|
||
v_objectgroep VARCHAR2 (300);
|
||
v_objectsoort VARCHAR2 (300);
|
||
v_objectsoortcode VARCHAR2 (300);
|
||
v_taakcategorie VARCHAR2 (300);
|
||
v_taak VARCHAR2 (300);
|
||
v_srtkenmerk_oms VARCHAR2 (300);
|
||
v_kenmerk_omschr VARCHAR2 (300);
|
||
v_kenmerk_hint VARCHAR2 (300);
|
||
v_kenmerk_volgnr VARCHAR2 (300);
|
||
v_kenmerk_verplicht VARCHAR2 (300);
|
||
v_kenmerk_extra VARCHAR2 (300);
|
||
v_kenmerk_default VARCHAR2 (300);
|
||
v_kenmerk_toonbaar VARCHAR2(10);
|
||
|
||
v_srtkenmerk_key NUMBER;
|
||
header_is_valid NUMBER;
|
||
|
||
|
||
BEGIN
|
||
v_count:=0;
|
||
v_count_tot := 0;
|
||
header_is_valid:=0;
|
||
v_kenmerk_toonbaar:=0;
|
||
v_kenmerk_default:='';
|
||
|
||
DELETE FROM fac_imp_flex;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_discipline);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_objectgroep);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_objectsoortcode);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_objectsoort);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_taakcategorie);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_taak);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_srtkenmerk_oms);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_kenmerk_omschr);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_kenmerk_volgnr);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_kenmerk_verplicht);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_kenmerk_hint);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_kenmerk_extra);
|
||
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (v_discipline)='DISCIPLINEOMSCHRIJVING'
|
||
AND UPPER (v_objectgroep)='GROEPSOORTOMSCHRIJVING'
|
||
AND UPPER (v_objectsoortcode)='OBJECTSOORTCODE'
|
||
AND UPPER (v_objectsoort)='OBJECTSOORTOMSCHRIJVING'
|
||
AND UPPER (v_taakcategorie)='TAAK CATEGORIE'
|
||
AND UPPER (v_taak)='TAAK'
|
||
AND UPPER (v_srtkenmerk_oms)='KENMERKSOORT_OMSCHRIJVING'
|
||
AND UPPER (v_kenmerk_omschr)='KENMERK OMSCHRIJVING'
|
||
AND UPPER (v_kenmerk_volgnr)='VOLGNR'
|
||
AND UPPER (v_kenmerk_verplicht)='VERPLICHT'
|
||
AND UPPER (v_kenmerk_hint)='HINT'
|
||
AND UPPER (v_kenmerk_extra)='EXTRA_1'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
|
||
IF (LENGTH(v_kenmerk_omschr)>50 )
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'Kenmerk omschrijving "'|| v_kenmerk_omschr||'" is meer dan 50 tekens en wordt afgekapt tot 50 tekens.',
|
||
'Kenmerk omschrijving te lang.');
|
||
v_kenmerk_omschr := SUBSTR(v_kenmerk_omschr,0,50);
|
||
END IF;
|
||
|
||
|
||
-- Eerst kijken of de gekozen srtkenmerk wel aanwezig zijn
|
||
SELECT COUNT(*), MAX(isk.ins_srtkenmerk_key)
|
||
INTO v_count , v_srtkenmerk_key
|
||
FROM ins_srtkenmerk isk
|
||
WHERE UPPER(isk.INS_SRTKENMERK_OMSCHRIJVING)=UPPER(v_srtkenmerk_oms)
|
||
AND isk.ins_srtkenmerk_verwijder IS NULL;
|
||
|
||
|
||
IF v_count=1 THEN
|
||
|
||
INSERT INTO fac_imp_flex (
|
||
SRTKENMERK_OMSCHRIJVING,
|
||
kenmerk_niveau,
|
||
kenmerk_verplicht,
|
||
kenmerk_volgnummer,
|
||
kenmerk_hint,
|
||
kenmerk_omschr,
|
||
ins_discipline,
|
||
ins_srtgroep,
|
||
ins_srtdeel,
|
||
kenmerk_extra_1,
|
||
kenmerk_extra_2,
|
||
kenmerk_extra_3 -- 45
|
||
)
|
||
VALUES (
|
||
SUBSTR (v_srtkenmerk_oms, 1, 255), -- 1
|
||
'C',
|
||
SUBSTR (v_kenmerk_verplicht, 1, 255),
|
||
SUBSTR (v_kenmerk_volgnr, 1, 255),
|
||
SUBSTR (v_kenmerk_hint, 1, 255),
|
||
SUBSTR (v_kenmerk_omschr, 1, 255),
|
||
SUBSTR (v_discipline, 1, 255),
|
||
SUBSTR (v_objectgroep, 1, 255),
|
||
SUBSTR (v_objectsoortcode, 1, 255),
|
||
SUBSTR (v_taakcategorie, 1, 255), -- 10
|
||
SUBSTR (v_taak, 1, 255),
|
||
v_srtkenmerk_key
|
||
);
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'srtkenmerk '|| v_srtkenmerk_oms||' niet gevonden',
|
||
'srtkenmerk niet gevonden maak deze eerst aan');
|
||
END IF;
|
||
|
||
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'Ongeldig importbestand',
|
||
'Geen header of header niet volgens specificatie!'
|
||
);
|
||
ELSE
|
||
fac.imp_writelog (p_import_key, 'S', 'Aantal ingelezen regels (CTR): ' || TO_CHAR (v_count_tot), '');
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key, 'W', v_errormsg, '');
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_UPDATE_TAAKFORMULIER(p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c_flex
|
||
IS
|
||
SELECT * FROM fac_imp_flex
|
||
ORDER BY srtkenmerk_omschrijving, kenmerk_volgnummer;
|
||
|
||
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (250);
|
||
v_errormsg VARCHAR2 (1024);
|
||
v_errorhint VARCHAR2 (1024);
|
||
v_count NUMBER;
|
||
|
||
v_insdiscipline_key NUMBER;
|
||
v_srtgroep_key NUMBER;
|
||
v_srtdeel_key NUMBER;
|
||
v_ins_srtcontrole_key NUMBER;
|
||
v_ctr_categorie_key NUMBER;
|
||
|
||
v_kenmerk_key NUMBER;
|
||
v_desc VARCHAR2 (255);
|
||
v_error NUMBER;
|
||
BEGIN
|
||
v_error:=0;
|
||
FOR rec in c_flex
|
||
LOOP
|
||
|
||
SELECT COUNT(*), MAX(id.ins_discipline_key)
|
||
INTO v_count, v_insdiscipline_key
|
||
FROM ins_discipline id
|
||
WHERE id.INS_DISCIPLINE_OMSCHRIJVING=rec.ins_discipline
|
||
AND id.ins_discipline_verwijder IS NULL;
|
||
|
||
IF v_count>0 THEN
|
||
SELECT COUNT(*), MAX(ins_srtgroep_key)
|
||
INTO v_count, v_srtgroep_key
|
||
FROM ins_srtgroep isg
|
||
WHERE isg.ins_srtgroep_upper=UPPER(rec.ins_srtgroep)
|
||
AND isg.ins_discipline_key = v_insdiscipline_key
|
||
AND isg.ins_srtgroep_verwijder IS NULL;
|
||
ELSE
|
||
v_error:=1;
|
||
v_errormsg:='ins_disicpline '|| rec.ins_discipline||' niet gevonden';
|
||
|
||
END IF;
|
||
|
||
IF v_count>0 THEN
|
||
SELECT COUNT(*), MAX(ins_srtdeel_key)
|
||
INTO v_count, v_srtdeel_key
|
||
FROM ins_srtdeel isd
|
||
WHERE isd.ins_srtdeel_code=rec.ins_srtdeel
|
||
AND isd.ins_srtgroep_key= v_srtgroep_key
|
||
AND isd.ins_srtdeel_verwijder IS NULL;
|
||
ELSE
|
||
v_errormsg:='soortgroep '|| rec.ins_srtgroep||' niet gevonden';
|
||
v_error:=1;
|
||
END IF;
|
||
|
||
IF v_count> 0 THEN
|
||
SELECT COUNT(*), MAX(ins_discipline_key)
|
||
INTO v_count, v_ctr_categorie_key
|
||
FROM ins_tab_discipline
|
||
where UPPER(ins_discipline_omschrijving)=UPPER(rec.kenmerk_extra_1)
|
||
AND ins_discipline_module='CTR'
|
||
AND ins_discipline_verwijder IS NULL;
|
||
ELSE
|
||
v_errormsg:='soortdeel '|| rec.ins_srtdeel||' niet gevonden';
|
||
v_error:=1;
|
||
END IF;
|
||
|
||
IF v_count>0 THEN
|
||
SELECT COUNT(*) , MAX(isc.ins_srtcontrole_key)
|
||
INTO v_count, v_ins_srtcontrole_key
|
||
FROM ins_srtcontrole isc
|
||
WHERE isc.ins_srtcontrole_omschrijving= rec.kenmerk_extra_2
|
||
AND isc.ctr_discipline_key = v_ctr_categorie_key
|
||
AND isc.ins_srtinstallatie_key=v_srtdeel_key
|
||
AND ins_srtcontrole_niveau='S';
|
||
ELSE
|
||
v_errormsg:='Taak categoriel '|| rec.ins_srtdeel||' niet gevonden';
|
||
v_error:=1;
|
||
END IF;
|
||
|
||
v_desc := rec.srtkenmerk_omschrijving || ' (' || rec.ins_discipline || '/' || rec.ins_srtgroep || '/' || rec.ins_srtdeel || ')';
|
||
|
||
IF v_error=0 AND v_ins_srtcontrole_key>0 THEN
|
||
-- Eerst gaan we nu bepalen of het kenmerk er al is
|
||
SELECT COUNT ( * ), MIN(ins_kenmerk_key)
|
||
INTO v_count, v_kenmerk_key
|
||
FROM ins_kenmerk
|
||
WHERE ins_srtkenmerk_key = fac.safe_to_number(rec.kenmerk_extra_3)
|
||
AND ins_kenmerk_niveau = rec.kenmerk_niveau
|
||
AND ins_kenmerk_bewerkniveau = 'D'
|
||
AND ins_srtinstallatie_key = v_ins_srtcontrole_key
|
||
AND (ins_kenmerk_omschrijving = rec.kenmerk_omschr
|
||
OR (rec.kenmerk_omschr IS NULL AND ins_kenmerk_omschrijving IS NULL))
|
||
AND ins_kenmerk_verwijder IS NULL;
|
||
|
||
|
||
|
||
IF v_count=0
|
||
THEN
|
||
-- Hij bestaat nog niet
|
||
INSERT INTO ins_kenmerk (
|
||
ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_bewerkniveau,
|
||
ins_kenmerk_verplicht,
|
||
ins_kenmerk_groep,
|
||
ins_kenmerk_volgnummer,
|
||
ins_kenmerk_hint,
|
||
ins_kenmerk_omschrijving
|
||
)
|
||
VALUES (
|
||
fac.safe_to_number(rec.kenmerk_extra_3),
|
||
v_ins_srtcontrole_key,
|
||
rec.kenmerk_niveau,
|
||
'D',
|
||
fac.safe_to_number (rec.kenmerk_verplicht),
|
||
0,
|
||
fac.safe_to_number (rec.kenmerk_volgnummer),
|
||
rec.kenmerk_hint,
|
||
rec.kenmerk_omschr
|
||
|
||
)
|
||
RETURNING ins_kenmerk_key
|
||
INTO v_kenmerk_key;
|
||
fac.imp_writelog (p_import_key, 'I', 'Kenmerk toegevoegd', v_desc || ' (' || v_kenmerk_key || ')');
|
||
|
||
ELSE
|
||
UPDATE ins_kenmerk
|
||
SET ins_srtkenmerk_key = fac.safe_to_number(rec.kenmerk_extra_3),
|
||
ins_srtinstallatie_key = v_ins_srtcontrole_key,
|
||
ins_kenmerk_volgnummer = fac.safe_to_number (rec.kenmerk_volgnummer),
|
||
ins_kenmerk_hint = rec.kenmerk_hint,
|
||
ins_kenmerk_verplicht = fac.safe_to_number (rec.kenmerk_verplicht),
|
||
ins_kenmerk_omschrijving = rec.kenmerk_omschr
|
||
WHERE ins_kenmerk_key = v_kenmerk_key
|
||
AND ins_kenmerk_verwijder IS NULL;
|
||
|
||
fac.imp_writelog (p_import_key, 'I', 'Kenmerk gewijzigd', v_desc || ' (' || v_kenmerk_key || ')');
|
||
END IF;
|
||
ELSE
|
||
IF v_count=0 THEN
|
||
v_errormsg:='Taak '|| rec.kenmerk_extra_2||'/'||v_insdiscipline_key||'-'||'-'||v_srtgroep_key||'-'||v_srtdeel_key||' niet gevonden';
|
||
END IF;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_errormsg,
|
||
'' );
|
||
END IF;
|
||
|
||
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
ROLLBACK;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key, 'W', v_errormsg, '');
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_INSPECTIES(p_import_key IN NUMBER)
|
||
AS
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (4000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_aanduiding VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
v_count NUMBER;
|
||
v_ongeldig NUMBER (1);
|
||
v_ins_discipline_omschrijving VARCHAR2(1000);
|
||
v_ins_srtgroep_omschrijving VARCHAR2(60);
|
||
v_ins_srtdeel_code VARCHAR2(50);
|
||
v_srttaak_omschrijving VARCHAR2(60);
|
||
v_srttaak_periode VARCHAR2(10);
|
||
v_srttaak_eenheid VARCHAR2(10);
|
||
v_srttaak_mode VARCHAR2(10);
|
||
v_srttaak_omschrijving_2 VARCHAR2(60);
|
||
v_srttaak_periode_2 VARCHAR2(10);
|
||
v_srttaak_eenheid_2 VARCHAR2(10);
|
||
v_srttaak_mode_2 VARCHAR2(10);
|
||
v_srttaak_omschrijving_3 VARCHAR2(60);
|
||
v_srttaak_periode_3 VARCHAR2(10);
|
||
v_srttaak_eenheid_3 VARCHAR2(10);
|
||
v_srttaak_mode_3 VARCHAR2(10);
|
||
|
||
|
||
|
||
CURSOR c
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
BEGIN
|
||
v_count := 1;
|
||
DELETE fac_imp_inspectie;
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
IF v_count > 1
|
||
THEN
|
||
v_count:=v_count+1;
|
||
v_errormsg := 'Fout FETCH te importeren rij '||v_count;
|
||
|
||
v_newline := rec.fac_imp_file_line;
|
||
|
||
v_aanduiding := '';
|
||
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_ins_discipline_omschrijving);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 2, v_ins_srtgroep_omschrijving);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_ins_srtdeel_code);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_srttaak_omschrijving);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 5, v_srttaak_periode);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 6, v_srttaak_eenheid);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_srttaak_mode);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_srttaak_omschrijving_2);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_srttaak_periode_2);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 11, v_srttaak_eenheid_2);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 12, v_srttaak_mode_2);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 14, v_srttaak_omschrijving_3);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 15, v_srttaak_periode_3);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 16, v_srttaak_eenheid_3);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 17, v_srttaak_mode_3);
|
||
|
||
IF (UPPER(v_srttaak_omschrijving) != 'REGISTRATIE')
|
||
THEN
|
||
INSERT INTO fac_imp_inspectie(INS_DISCIPLINE_OMSCHRIJVING,
|
||
INS_SRTGROEP_OMSCHRIJVING,
|
||
INS_SRTDEEL_CODE,
|
||
INS_SRTCONTROLE_EENHEID,
|
||
INS_SRTCONTROLE_INFO,
|
||
INS_SRTCONTROLE_MODE,
|
||
INS_SRTCONTROLE_OMSCHRIJVING,
|
||
INS_SRTCONTROLE_PERIODE
|
||
)
|
||
VALUES (v_ins_discipline_omschrijving,
|
||
v_ins_srtgroep_omschrijving,
|
||
v_ins_srtdeel_code,
|
||
v_srttaak_eenheid,
|
||
'',
|
||
v_srttaak_mode,
|
||
v_srttaak_omschrijving,
|
||
v_srttaak_periode);
|
||
|
||
END IF;
|
||
IF ( LENGTH(v_srttaak_omschrijving_2)>0
|
||
AND LENGTH(v_srttaak_periode_2)>0
|
||
AND LENGTH(v_srttaak_eenheid_2)>0
|
||
AND LENGTH(v_srttaak_mode_2)>0
|
||
AND v_ins_srtdeel_code != 'Registratie')
|
||
THEN
|
||
INSERT INTO fac_imp_inspectie(INS_DISCIPLINE_OMSCHRIJVING,
|
||
INS_SRTGROEP_OMSCHRIJVING,
|
||
INS_SRTDEEL_CODE,
|
||
INS_SRTCONTROLE_EENHEID,
|
||
INS_SRTCONTROLE_INFO,
|
||
INS_SRTCONTROLE_MODE,
|
||
INS_SRTCONTROLE_OMSCHRIJVING,
|
||
INS_SRTCONTROLE_PERIODE
|
||
)
|
||
VALUES (v_ins_discipline_omschrijving,
|
||
v_ins_srtgroep_omschrijving,
|
||
v_ins_srtdeel_code,
|
||
v_srttaak_eenheid_2,
|
||
'',
|
||
v_srttaak_mode_2,
|
||
v_srttaak_omschrijving_2,
|
||
v_srttaak_periode_2);
|
||
END IF;
|
||
IF ( LENGTH(v_srttaak_omschrijving_3)>0
|
||
AND LENGTH(v_srttaak_periode_3)>0
|
||
AND LENGTH(v_srttaak_eenheid_3)>0
|
||
AND LENGTH(v_srttaak_mode_3)>0
|
||
AND v_ins_srtdeel_code != 'Registratie')
|
||
THEN
|
||
INSERT INTO fac_imp_inspectie(INS_DISCIPLINE_OMSCHRIJVING,
|
||
INS_SRTGROEP_OMSCHRIJVING,
|
||
INS_SRTDEEL_CODE,
|
||
INS_SRTCONTROLE_EENHEID,
|
||
INS_SRTCONTROLE_INFO,
|
||
INS_SRTCONTROLE_MODE,
|
||
INS_SRTCONTROLE_OMSCHRIJVING,
|
||
INS_SRTCONTROLE_PERIODE
|
||
)
|
||
VALUES (v_ins_discipline_omschrijving,
|
||
v_ins_srtgroep_omschrijving,
|
||
v_ins_srtdeel_code,
|
||
v_srttaak_eenheid_3,
|
||
'',
|
||
v_srttaak_mode_3,
|
||
v_srttaak_omschrijving_3,
|
||
v_srttaak_periode_3);
|
||
END IF;
|
||
ELSE
|
||
v_count := v_count+1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
|
||
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;
|
||
END LOOP;
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_UPDATE_INSPECTIES(p_import_key IN NUMBER)
|
||
AS
|
||
BEGIN
|
||
fac_update_inspectie(p_import_key);
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_ASSETS(p_import_key IN NUMBER)
|
||
AS
|
||
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (4000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
v_errorhint VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
v_count NUMBER;
|
||
v_ongeldig NUMBER (1);
|
||
v_mode NUMBER (1);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_all_null BOOLEAN;
|
||
v_count_error NUMBER (10);
|
||
v_count_tot NUMBER (10);
|
||
v_count_import NUMBER (10);
|
||
|
||
v_gebouw_code VARCHAR2(100);
|
||
v_locatie_code VARCHAR2(100);
|
||
|
||
v_alg_gebouw_code VARCHAR2(100);
|
||
v_alg_locatie_code VARCHAR2(100);
|
||
v_alg_verdieping_volgnr NUMBER;
|
||
v_alg_ruimte_nr VARCHAR2(100);
|
||
v_ins_discipline_omschrijving VARCHAR2(100);
|
||
d_ins_discipline_omschrijving VARCHAR2(100);
|
||
v_ins_srtgroep_omschrijving VARCHAR2(100);
|
||
d_ins_srtgroep_omschrijving VARCHAR2(100);
|
||
v_ins_srtdeel_code VARCHAR2(100);
|
||
v_ins_srtdeel_omschrijving VARCHAR2(100);
|
||
d_ins_srtdeel_omschrijving VARCHAR2(100);
|
||
v_ins_deel_aantal NUMBER;
|
||
v_ins_deel_omschrijving VARCHAR2(100);
|
||
v_ins_deel_opmerking VARCHAR2(100);
|
||
v_discipline_key NUMBER;
|
||
v_srtgroep_key NUMBER;
|
||
v_ins_deel_aanmaak DATE;
|
||
|
||
v_kenmerk1 VARCHAR2(1000);
|
||
v_kenmerk2 VARCHAR2(1000);
|
||
v_kenmerk3 VARCHAR2(1000);
|
||
v_kenmerk4 VARCHAR2(1000);
|
||
v_kenmerk5 VARCHAR2(1000);
|
||
v_kenmerk6 VARCHAR2(1000);
|
||
v_kenmerk7 VARCHAR2(1000);
|
||
v_kenmerk8 VARCHAR2(1000);
|
||
v_kenmerk9 VARCHAR2(1000);
|
||
v_kenmerk10 VARCHAR2(1000);
|
||
v_kenmerk11 VARCHAR2(1000);
|
||
v_kenmerk12 VARCHAR2(1000);
|
||
v_kenmerk13 VARCHAR2(1000);
|
||
v_kenmerk14 VARCHAR2(1000);
|
||
v_kenmerk15 VARCHAR2(1000);
|
||
v_kenmerk16 VARCHAR2(1000);
|
||
v_kenmerk17 VARCHAR2(1000);
|
||
v_kenmerk18 VARCHAR2(1000);
|
||
v_kenmerk19 VARCHAR2(1000);
|
||
v_kenmerk20 VARCHAR2(1000);
|
||
|
||
|
||
CURSOR c
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
DELETE fac_imp_ins;
|
||
v_count_import := 0;
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
V_count_import := v_count_import +1;
|
||
v_errormsg := 'Fout FETCH te importeren rij';
|
||
|
||
v_newline := rec.fac_imp_file_line;
|
||
IF v_count_import >1 THEN
|
||
v_errormsg := 'Fout opvragen K1 te importeren rij '||v_count_import;
|
||
v_aanduiding := '';
|
||
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 11, v_locatie_code);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 12, v_gebouw_code);
|
||
v_errormsg := 'Fout opvragen K3 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 13, v_alg_verdieping_volgnr);
|
||
v_errormsg := 'Fout opvragen K4 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 14, v_alg_ruimte_nr);
|
||
v_errormsg := 'Fout opvragen K2 te importeren rij '||v_count_import;
|
||
|
||
v_errormsg := 'Fout opvragen K5 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_ins_discipline_omschrijving);
|
||
v_errormsg := 'Fout opvragen K6te importeren rij '||v_count_import;
|
||
--fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_ins_srtgroep_code);
|
||
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_ins_srtgroep_omschrijving);
|
||
v_errormsg := 'Fout opvragen K8 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_ins_srtdeel_code);
|
||
v_errormsg := 'Fout opvragen K9 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 5, v_ins_srtdeel_omschrijving);
|
||
v_errormsg := 'Fout opvragen K14 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 22, v_ins_deel_aantal);
|
||
v_errormsg := 'Fout opvragen K10 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 6, v_ins_deel_omschrijving);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_ins_deel_opmerking);
|
||
v_errormsg := 'Fout opvragen K12 te importeren rij '||v_count_import;
|
||
|
||
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 23, v_kenmerk1); -- beheerder
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 24, v_kenmerk2); -- keuring1
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 25, v_kenmerk3); -- keuring1 datum
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 26, v_kenmerk4); -- keuring2
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 27, v_kenmerk5); -- keuring2 datum
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 28, v_kenmerk6); -- keuring3
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 29, v_kenmerk7); -- keuring3 datum
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 30, v_kenmerk8); -- serienummer
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 31, v_kenmerk9); -- kenteken
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 32, v_kenmerk10); -- type
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 33, v_kenmerk11); -- merk/fabrikant
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 34, v_kenmerk12); -- Garanmtiedatum
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 35, v_kenmerk13); -- Leverancier
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 36, v_kenmerk14); -- Ontvangstdatum
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 37, v_kenmerk15); -- Objectstatus
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 38, v_kenmerk16); -- Storings afhandeling
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 39, v_kenmerk17); -- bouwjaar
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 40, v_kenmerk18); -- extren referentie
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 41, v_kenmerk19); -- Kenmerk
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 42, v_kenmerk20); -- onderhoudsbedrijf
|
||
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_discipline_omschrijving: ' || v_ins_srtdeel_code||'(REGEL '||v_count_import||')';
|
||
d_ins_discipline_omschrijving:='';
|
||
BEGIN
|
||
SELECT ins_discipline_key, ins_discipline_omschrijving
|
||
INTO v_discipline_key, d_ins_discipline_omschrijving
|
||
FROM ins_discipline d
|
||
WHERE UPPER(d.ins_discipline_omschrijving) = UPPER(v_ins_discipline_omschrijving) AND d.ins_discipline_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
INSERT INTO ins_tab_discipline (ins_discipline_module,ins_discipline_omschrijving,
|
||
ins_discipline_min_level)
|
||
VALUES ('INS', v_ins_discipline_omschrijving, 1)
|
||
RETURNING ins_discipline_key
|
||
INTO v_discipline_key;
|
||
|
||
INSERT INTO ins_disc_params (ins_discipline_key,
|
||
ins_disc_params_autonum)
|
||
VALUES (v_discipline_key, 2);
|
||
d_ins_discipline_omschrijving:= v_ins_discipline_omschrijving;
|
||
END;
|
||
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtgroep_omschrijving: ' || v_ins_srtdeel_code ||'(REGEL '||v_count_import||')';
|
||
d_ins_srtgroep_omschrijving:='';
|
||
|
||
|
||
BEGIN
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtgroep_omschrijving(2): ' || v_ins_srtdeel_code ||'(REGEL '||v_count_import||')';
|
||
SELECT ins_srtgroep_key,sg.ins_srtgroep_omschrijving
|
||
INTO v_srtgroep_key, d_ins_srtgroep_omschrijving
|
||
FROM ins_srtgroep sg
|
||
WHERE UPPER(sg.ins_srtgroep_omschrijving) = UPPER(v_ins_srtgroep_omschrijving)
|
||
AND sg.ins_srtgroep_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtgroep_omschrijving(3): ' || v_ins_srtdeel_code ||'(REGEL '||v_count_import||')';
|
||
INSERT INTO ins_srtgroep (ins_discipline_key,
|
||
ins_srtgroep_module,
|
||
ins_srtgroep_omschrijving)
|
||
VALUES (v_discipline_key, 'INS', v_ins_srtgroep_omschrijving)
|
||
RETURNING ins_srtgroep_key
|
||
INTO v_srtgroep_key;
|
||
d_ins_srtgroep_omschrijving := v_ins_srtgroep_omschrijving;
|
||
END;
|
||
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtdeel_omschrijving: ' || v_ins_srtdeel_code||'(REGEL '||v_count_import||')';
|
||
d_ins_srtdeel_omschrijving:='';
|
||
BEGIN
|
||
SELECT sd.ins_srtdeel_omschrijving
|
||
INTO v_ins_srtdeel_omschrijving
|
||
FROM ins_srtdeel sd
|
||
WHERE sd.ins_srtdeel_code = v_ins_srtdeel_code AND sd.ins_srtdeel_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
INSERT INTO ins_srtdeel (ins_srtgroep_key,
|
||
ins_srtdeel_module,
|
||
ins_srtdeel_code,
|
||
ins_srtdeel_omschrijving,
|
||
ins_srtdeel_binding)
|
||
VALUES (v_srtgroep_key,
|
||
'INS',
|
||
v_ins_srtdeel_code,
|
||
v_ins_srtdeel_omschrijving,
|
||
17);
|
||
|
||
d_ins_srtdeel_omschrijving := v_ins_srtdeel_omschrijving;
|
||
END;
|
||
|
||
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_alg_ruimte_nr: ' || v_alg_ruimte_nr;
|
||
|
||
-- v_alg_locatie_code:='';
|
||
--v_alg_gebouw_code :='';
|
||
--v_alg_verdieping_volgnr:=-4;
|
||
BEGIN
|
||
|
||
SELECT alg_locatie_code, alg_gebouw_upper, alg_verdieping_volgnr INTO v_alg_locatie_code,v_alg_gebouw_code, v_alg_verdieping_volgnr
|
||
FROm alg_v_ruimte_gegevens rg
|
||
WHERE UPPER(rg.alg_ruimte_nr) = UPPER(v_alg_ruimte_nr) AND rg.alg_locatie_code= v_locatie_code AND rg.alg_gebouw_upper = UPPER(v_gebouw_code) AND rg.alg_verdieping_volgnr=v_alg_verdieping_volgnr;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_alg_locatie_code:= v_locatie_code;
|
||
v_alg_gebouw_code := v_gebouw_code;
|
||
v_alg_verdieping_volgnr:=0;
|
||
v_alg_ruimte_nr:='999999';
|
||
END;
|
||
v_errormsg := 'Fout bij aanmaken aanmaal datum: ';
|
||
v_ins_deel_aanmaak:=SYSDATE;
|
||
|
||
IF v_ins_deel_aantal IS NULL OR LENGTH(v_ins_deel_aantal)<1
|
||
THEN
|
||
v_ins_deel_aantal:=1;
|
||
END IF;
|
||
|
||
|
||
v_ongeldig:=0;
|
||
IF v_ongeldig=0 THEN
|
||
v_errormsg:='Fout bij insert regel '||v_count_tot;
|
||
INSERT INTO fac_imp_ins (ins_discipline_omschrijving,
|
||
ins_srtgroep_omschrijving,
|
||
ins_srtdeel_code,
|
||
ins_srtdeel_omschrijving,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
alg_locatie_code,
|
||
alg_gebouw_code,
|
||
alg_verdieping_volgnr,
|
||
alg_ruimte_nr,
|
||
ins_deel_aanmaak,
|
||
ins_deel_aantal,
|
||
ins_kenmerkwaarde1, -- Code OP
|
||
ins_kenmerkwaarde2, -- Bouwjaar ?
|
||
ins_kenmerkwaarde3, -- eenheid ?
|
||
ins_kenmerkwaarde4, -- eenheid ?
|
||
ins_kenmerkwaarde5, -- eenheid ?
|
||
ins_kenmerkwaarde6, -- eenheid ?
|
||
ins_kenmerkwaarde7, -- eenheid ?
|
||
ins_kenmerkwaarde8, -- eenheid ?
|
||
ins_kenmerkwaarde9, -- eenheid ?
|
||
ins_kenmerkwaarde10, -- Srt Taak Groep
|
||
ins_kenmerkwaarde11, -- Srt Taak
|
||
ins_kenmerkwaarde12, -- Periode
|
||
ins_kenmerkwaarde13, -- Interval (4=jaarlijks)
|
||
ins_kenmerkwaarde14, -- bedrag /matriaal
|
||
ins_kenmerkwaarde15, -- Taak opm
|
||
ins_kenmerkwaarde16,
|
||
ins_kenmerkwaarde17, -- Taak opm
|
||
ins_kenmerkwaarde18, -- Taak opm
|
||
ins_kenmerkwaarde19, -- Taak opm
|
||
ins_kenmerkwaarde20) -- Taak opm
|
||
VALUES (SUBSTR(d_ins_discipline_omschrijving, 1,60),
|
||
SUBSTR(d_ins_srtgroep_omschrijving, 1, 60),
|
||
SUBSTR(v_ins_srtdeel_code,1,10),
|
||
SUBSTR(v_ins_srtdeel_omschrijving, 1, 100),
|
||
SUBSTR(v_ins_deel_omschrijving, 1, 60),
|
||
SUBSTR(v_ins_deel_opmerking, 1, 60),
|
||
SUBSTR(v_alg_locatie_code, 1, 10),
|
||
SUBSTR(v_alg_gebouw_code, 1, 12),
|
||
v_alg_verdieping_volgnr,
|
||
SUBSTR(v_alg_ruimte_nr,1,20),
|
||
SYSDATE,
|
||
to_number(v_ins_deel_aantal),
|
||
DECODE(v_kenmerk1, NULL, NULL, 'Beheerder|0='||v_kenmerk1),
|
||
v_kenmerk2,
|
||
v_kenmerk3,
|
||
v_kenmerk4,
|
||
v_kenmerk5,
|
||
v_kenmerk6,
|
||
v_kenmerk7,
|
||
DECODE(v_kenmerk8, NULL, NULL, 'Serienummer|0='||v_kenmerk8),
|
||
DECODE(v_kenmerk9, NULL, NULL, 'Kenteken|0='||v_kenmerk9),
|
||
DECODE(v_kenmerk10, NULL, NULL, 'Type|0='||v_kenmerk10),
|
||
DECODE(v_kenmerk11, NULL, NULL, 'Merk/Fabrikant|0='||v_kenmerk11),
|
||
DECODE(v_kenmerk12, NULL, NULL, 'Garantiedatum|0='||v_kenmerk12),
|
||
DECODE(v_kenmerk13, NULL, NULL, 'Leverancier|0='||v_kenmerk13),
|
||
DECODE(v_kenmerk14, NULL, NULL, 'Ontvangstdatum|0='||v_kenmerk14),
|
||
DECODE(v_kenmerk15, NULL, NULL, 'Objectstatus|0='||v_kenmerk15),
|
||
DECODE(v_kenmerk16, NULL, NULL, 'Storings afhandeling|0='||v_kenmerk16),
|
||
DECODE(v_kenmerk17, NULL, NULL, 'Bouwjaar|0='||v_kenmerk17),
|
||
DECODE(v_kenmerk18, NULL, NULL, 'Extrene referentie|0='||v_kenmerk18),
|
||
DECODE(v_kenmerk19, NULL, NULL, 'Kenmerk|0='||v_kenmerk19),
|
||
DECODE(v_kenmerk20, NULL, NULL, 'Onderhoudsbedrijf|0='||v_kenmerk20)
|
||
);
|
||
-- fac.imp_writelog (p_import_key,
|
||
-- 'S',
|
||
-- v_errormsg,
|
||
-- v_errorhint);
|
||
ELSE
|
||
v_ongeldig:=0;
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
|
||
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;
|
||
END LOOP;
|
||
|
||
|
||
--FAC_IMPORT_INS(p_import_key);
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_UPDATE_ASSETS(p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR sel IS
|
||
SELECT * FROM fac_imp_ins;
|
||
v_errormsg VARCHAR2 (1000);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_aanduiding VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_perslidkey NUMBER;
|
||
v_ins_srtinstallatie_key NUMBER;
|
||
v_ins_srtcontrole_niveau VARCHAR2(10);
|
||
v_srtcontrole_key NUMBER;
|
||
v_ins_srtcontrole_periode NUMBER;
|
||
v_taak1 VARCHAR2(100);
|
||
v_taak2 VARCHAR2(100);
|
||
v_taak3 VARCHAR2(100);
|
||
v_datum1 VARCHAR2(100);
|
||
v_datum2 VARCHAR2(100);
|
||
v_datum3 VARCHAR2(100);
|
||
v_cyclus1 NUMBER;
|
||
v_cyclus2 NUMBER;
|
||
v_cyclus3 NUMBER;
|
||
v_eenheid NUMBER :=3;
|
||
v_deel_key NUMBER;
|
||
v_count NUMBER;
|
||
v_aantal NUMBER;
|
||
v_groep NUMBER;
|
||
|
||
BEGIN
|
||
v_count:=1;
|
||
fac_update_ins(p_import_key);
|
||
v_groep:=3;
|
||
|
||
FOR rec IN sel
|
||
LOOP
|
||
BEGIN
|
||
v_count:=v_count+1;
|
||
v_errormsg := 'Fout FETCH te importeren rij '||v_count;
|
||
v_taak1 :='';
|
||
v_taak2 :='';
|
||
v_taak3 :='';
|
||
v_cyclus1 := 0;
|
||
v_cyclus2 := 0;
|
||
v_cyclus3 := 0;
|
||
v_groep:=-1;
|
||
|
||
v_perslidkey :=0;
|
||
BEGIN
|
||
SELECT prs_perslid_key INTO v_perslidkey FROM PRS_V_PERSLID_FULLNAMES where PRS_PERSLID_NAAM_FULL=SUBSTR(rec.ins_kenmerkwaarde1,INSTR(rec.ins_kenmerkwaarde1,'=')+1);
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
v_perslidkey:=-1;
|
||
END;
|
||
IF v_perslidkey>0
|
||
THEN
|
||
UPDATE ins_deel set PRS_PERSLID_KEY_BEH=v_perslidkey WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving;
|
||
commit;
|
||
END IF;
|
||
|
||
v_taak1 := rec.INS_KENMERKWAARDE2;
|
||
v_taak2 := rec.INS_KENMERKWAARDE4;
|
||
v_taak3 := rec.INS_KENMERKWAARDE6;
|
||
v_datum1 := COALESCE(fac.safe_to_date(rec.INS_KENMERKWAARDE3,'dd-mm-yyyy'), TO_DATE('01-01-2022','DD-MM-YYYY'));
|
||
v_datum2 := COALESCE(fac.safe_to_date(rec.INS_KENMERKWAARDE5,'dd-mm-yyyy'), TO_DATE('01-01-2022','DD-MM-YYYY'));
|
||
v_datum3 := COALESCE(fac.safe_to_date(rec.INS_KENMERKWAARDE7,'dd-mm-yyyy'), TO_DATE('01-01-2022','DD-MM-YYYY'));
|
||
|
||
|
||
|
||
|
||
v_errormsg := 'Fout ophalen object('||rec.ins_deel_omschrijving||') te importeren rij '||v_count;
|
||
|
||
SELECT ins_deel_key
|
||
INTO v_deel_key
|
||
FROM ins_deel
|
||
WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving AND ins_deel_verwijder IS NULL;
|
||
|
||
IF (v_taak1 ='SKH keuring') THEN
|
||
v_cyclus1:=36;
|
||
ELSE
|
||
v_cyclus1:=12;
|
||
END IF;
|
||
IF (v_taak2 ='SKH keuring') THEN
|
||
v_cyclus2:=36;
|
||
ELSE
|
||
v_cyclus2:=12;
|
||
END IF;
|
||
IF (v_taak3 ='SKH keuring') THEN
|
||
v_cyclus3:=36;
|
||
ELSE
|
||
v_cyclus3:=12;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout FETCH discipline te importeren rij '||v_count;
|
||
SELECT ins_discipline_key, 'D'
|
||
INTO v_ins_srtinstallatie_key, v_ins_srtcontrole_niveau
|
||
FROM ins_tab_discipline
|
||
WHERE UPPER (ins_discipline_omschrijving) = UPPER (rec.ins_discipline_omschrijving)
|
||
AND ins_discipline_module = 'INS'
|
||
AND ins_discipline_verwijder IS NULL;
|
||
|
||
v_errormsg := 'Fout FETCH GROEP te importeren rij '||v_count;
|
||
SELECT ins_srtgroep_key, 'G'
|
||
INTO v_ins_srtinstallatie_key, v_ins_srtcontrole_niveau
|
||
FROM ins_srtgroep
|
||
WHERE UPPER (ins_srtgroep_omschrijving) = UPPER (rec.ins_srtgroep_omschrijving)
|
||
AND ins_srtgroep_module = 'INS'
|
||
AND ins_srtgroep_verwijder IS NULL
|
||
AND ins_discipline_key = v_ins_srtinstallatie_key;
|
||
|
||
v_errormsg := 'Fout FETCH objectsort te importeren rij '||v_count||'Object '||rec.ins_deel_omschrijving;
|
||
SELECT ins_srtdeel_key, 'S'
|
||
INTO v_ins_srtinstallatie_key, v_ins_srtcontrole_niveau
|
||
FROM ins_srtdeel
|
||
WHERE UPPER (ins_srtdeel_code) = UPPER (rec.ins_srtdeel_code)
|
||
AND ins_srtdeel_module = 'INS'
|
||
AND ins_srtdeel_verwijder IS NULL
|
||
AND ins_srtgroep_key = v_ins_srtinstallatie_key;
|
||
|
||
v_errormsg := 'Fout verwerken Taak1 '||v_count||' Object '||rec.ins_deel_omschrijving;
|
||
IF v_taak1 IS NOT NULL
|
||
AND v_taak1 <> 'Registratie'
|
||
AND v_cyclus1 IS NOT NULL
|
||
THEN
|
||
v_groep:=wdka.getCtrGroep(v_taak1);
|
||
BEGIN
|
||
v_errormsg := 'Fout Count srtcontrole Taak1 '||v_ins_srtinstallatie_key||' Object '||rec.ins_deel_omschrijving;
|
||
SELECT ins_srtcontrole_key
|
||
INTO v_srtcontrole_key
|
||
FROM ins_srtcontrole
|
||
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
||
AND UPPER(ins_srtcontrole_omschrijving) = UPPER(v_taak1)
|
||
AND ins_srtcontrole_periode=v_cyclus1
|
||
AND ins_srtcontrole_eenheid=v_eenheid
|
||
AND ins_srtcontrole_mode=1
|
||
AND ctr_discipline_key=v_groep;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||
ins_srtcontrole_niveau,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_srtcontrole_periode,
|
||
ins_srtcontrole_eenheid,
|
||
ins_srtcontrole_mode,
|
||
ctr_discipline_key
|
||
)
|
||
VALUES (v_ins_srtinstallatie_key,
|
||
v_ins_srtcontrole_niveau,
|
||
v_taak1,
|
||
v_cyclus1,
|
||
v_eenheid,
|
||
1,
|
||
v_groep
|
||
)
|
||
RETURNING ins_srtcontrole_key
|
||
INTO v_srtcontrole_key;
|
||
IF v_taak1 = '11A - NEN3140'
|
||
THEN
|
||
wdka.insert_ctr_kenmerk(v_srtcontrole_key);
|
||
END IF;
|
||
END;
|
||
|
||
/* IF v_aantal=0
|
||
THEN
|
||
v_errormsg := 'Fout INSERT srtcontrole te importeren rij taak1 '||v_count;
|
||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||
ins_srtcontrole_niveau,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_srtcontrole_periode,
|
||
ins_srtcontrole_eenheid,
|
||
ins_srtcontrole_mode,
|
||
ctr_discipline_key
|
||
)
|
||
VALUES (v_ins_srtinstallatie_key,
|
||
v_ins_srtcontrole_niveau,
|
||
v_taak1,
|
||
v_cyclus1,
|
||
v_eenheid,
|
||
1,
|
||
3
|
||
)
|
||
RETURNING ins_srtcontrole_key
|
||
INTO v_srtcontrole_key;
|
||
|
||
END IF;*/
|
||
|
||
|
||
|
||
|
||
IF v_datum1 IS NULL
|
||
THEN
|
||
v_datum1:=TO_DATE(SYSDATE,'DD/MM/YYYY');
|
||
ELSE
|
||
v_datum1:= wdka.getSrtControldatum(v_datum1, v_cyclus1);
|
||
END IF;
|
||
/* v_errormsg := 'Fout ophalen srtcontrole taak 1 rij '||v_count||'('||rec.ins_deel_omschrijving||')';
|
||
SELECT ins_srtcontrole_key
|
||
INTO v_srtcontrole_key
|
||
FROM ins_srtcontrole
|
||
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
||
AND ins_srtcontrole_omschrijving = v_taak1
|
||
AND ins_srtcontrole_periode=v_cyclus1
|
||
AND ins_srtcontrole_eenheid=v_eenheid
|
||
AND ins_srtcontrole_mode=1
|
||
AND ctr_discipline_key=3;
|
||
*/
|
||
v_errormsg := 'Fout INSERT deelsrtcontrole te importeren rij taak1 '||v_count||'('||rec.ins_deel_omschrijving||')';
|
||
-- v_datum1:= wdka.getSrtControldatum(v_datum1, v_cyclus1);
|
||
INSERT INTO ins_deelsrtcontrole(ins_deel_key,
|
||
ins_srtcontrole_key,
|
||
ins_scenario_key,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_controlemode_key,
|
||
ins_deelsrtcontrole_status,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_deelsrtcontrole_freezecost,
|
||
prs_perslid_key)
|
||
VALUES(v_deel_key,
|
||
v_srtcontrole_key,
|
||
1,
|
||
v_datum1 ,
|
||
10,
|
||
6,
|
||
v_datum1,
|
||
0,
|
||
3);
|
||
|
||
|
||
END IF;
|
||
v_errormsg := 'Fout verwerken Taak2 '||v_count||' Object '||rec.ins_deel_omschrijving;
|
||
IF v_taak2 IS NOT NULL AND v_taak2 <> 'Registratie' AND v_cyclus2 IS NOT NULL
|
||
THEN
|
||
v_groep:=wdka.getCtrGroep(v_taak2);
|
||
BEGIN
|
||
v_errormsg := 'Fout Count srtcontrole Taak2 '||v_count||' Object '||rec.ins_deel_omschrijving;
|
||
SELECT ins_srtcontrole_key
|
||
INTO v_srtcontrole_key
|
||
FROM ins_srtcontrole
|
||
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
||
AND ins_srtcontrole_omschrijving = v_taak2
|
||
AND ins_srtcontrole_periode=v_cyclus2
|
||
AND ins_srtcontrole_eenheid=v_eenheid
|
||
AND ins_srtcontrole_mode=1
|
||
AND ctr_discipline_key=v_groep;
|
||
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||
ins_srtcontrole_niveau,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_srtcontrole_periode,
|
||
ins_srtcontrole_eenheid,
|
||
ins_srtcontrole_mode,
|
||
ctr_discipline_key
|
||
)
|
||
VALUES (v_ins_srtinstallatie_key,
|
||
v_ins_srtcontrole_niveau,
|
||
v_taak2,
|
||
v_cyclus2,
|
||
v_eenheid,
|
||
1,
|
||
v_groep
|
||
)
|
||
RETURNING ins_srtcontrole_key
|
||
INTO v_srtcontrole_key;
|
||
IF v_taak2 = '11A - NEN3140'
|
||
THEN
|
||
wdka.insert_ctr_kenmerk(v_srtcontrole_key);
|
||
END IF;
|
||
END;
|
||
/* IF v_aantal=0
|
||
THEN
|
||
v_errormsg := 'Fout INSERT srtcontrole te importeren rij taak2 '||v_count;
|
||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||
ins_srtcontrole_niveau,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_srtcontrole_periode,
|
||
ins_srtcontrole_eenheid,
|
||
ins_srtcontrole_mode,
|
||
ctr_discipline_key
|
||
)
|
||
VALUES (v_ins_srtinstallatie_key,
|
||
v_ins_srtcontrole_niveau,
|
||
v_taak2,
|
||
v_cyclus2,
|
||
v_eenheid,
|
||
1,
|
||
3
|
||
)
|
||
RETURNING ins_srtcontrole_key
|
||
INTO v_srtcontrole_key;
|
||
*/
|
||
|
||
|
||
IF v_datum2 IS NULL
|
||
THEN
|
||
v_datum2:=TO_DATE(SYSDATE,'DD/MM/YYYY');
|
||
ELSE
|
||
v_datum2:= wdka.getSrtControldatum(v_datum2, v_cyclus2);
|
||
END IF;
|
||
/* v_errormsg := 'Fout ophalen srtcontrole taak 2 rij '||v_count||'('||rec.ins_deel_omschrijving||')';
|
||
SELECT ins_srtcontrole_key
|
||
INTO v_srtcontrole_key
|
||
FROM ins_srtcontrole
|
||
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
||
AND ins_srtcontrole_omschrijving = v_taak2
|
||
AND ins_srtcontrole_periode=v_cyclus2
|
||
AND ins_srtcontrole_eenheid=v_eenheid
|
||
AND ins_srtcontrole_mode=1
|
||
AND ctr_discipline_key=3;
|
||
*/
|
||
v_errormsg := 'Fout INSERT deelsrtcontrole te importeren rij taak 2'||v_count||'('||rec.ins_deel_omschrijving||')';
|
||
INSERT INTO ins_deelsrtcontrole(ins_deel_key,
|
||
ins_srtcontrole_key,
|
||
ins_scenario_key,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_controlemode_key,
|
||
ins_deelsrtcontrole_status,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_deelsrtcontrole_freezecost,
|
||
prs_perslid_key)
|
||
VALUES(v_deel_key,
|
||
v_srtcontrole_key,
|
||
1,
|
||
v_datum2,
|
||
10,
|
||
6,
|
||
v_datum2,
|
||
0,
|
||
3);
|
||
|
||
|
||
END IF;
|
||
IF v_taak3 IS NOT NULL
|
||
AND v_taak3 <> 'Registratie'
|
||
AND v_cyclus3 IS NOT NULL
|
||
THEN
|
||
v_groep:=wdka.getCtrGroep(v_taak3);
|
||
BEGIN
|
||
v_errormsg := 'Fout Count srtcontrole Taak3 '||v_count||' Object '||rec.ins_deel_omschrijving;
|
||
SELECT ins_srtcontrole_key
|
||
INTO v_srtcontrole_key
|
||
FROM ins_srtcontrole
|
||
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
||
AND ins_srtcontrole_omschrijving = v_taak3
|
||
AND ins_srtcontrole_periode=v_cyclus3
|
||
AND ins_srtcontrole_eenheid=v_eenheid
|
||
AND ins_srtcontrole_mode=1
|
||
AND ctr_discipline_key=v_groep;
|
||
|
||
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||
ins_srtcontrole_niveau,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_srtcontrole_periode,
|
||
ins_srtcontrole_eenheid,
|
||
ins_srtcontrole_mode,
|
||
ctr_discipline_key
|
||
)
|
||
VALUES (v_ins_srtinstallatie_key,
|
||
v_ins_srtcontrole_niveau,
|
||
v_taak3,
|
||
v_cyclus3,
|
||
v_eenheid,
|
||
1,
|
||
v_groep
|
||
)
|
||
RETURNING ins_srtcontrole_key
|
||
INTO v_srtcontrole_key;
|
||
IF v_taak3 = '11A - NEN3140'
|
||
THEN
|
||
wdka.insert_ctr_kenmerk(v_srtcontrole_key);
|
||
END IF;
|
||
END;
|
||
/* IF v_aantal=0
|
||
THEN
|
||
v_errormsg := 'Fout INSERT srtcontrole te importeren rij taak 3 '||v_count;
|
||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||
ins_srtcontrole_niveau,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_srtcontrole_periode,
|
||
ins_srtcontrole_eenheid,
|
||
ins_srtcontrole_mode,
|
||
ctr_discipline_key
|
||
)
|
||
VALUES (v_ins_srtinstallatie_key,
|
||
v_ins_srtcontrole_niveau,
|
||
v_taak3,
|
||
v_cyclus3,
|
||
v_eenheid,
|
||
1,
|
||
3
|
||
)
|
||
RETURNING ins_srtcontrole_key
|
||
INTO v_srtcontrole_key;
|
||
*/
|
||
|
||
|
||
--END IF;
|
||
IF v_datum3 IS NULL
|
||
THEN
|
||
v_datum3:=TO_DATE(SYSDATE,'DD/MM/YYYY');
|
||
ELSE
|
||
v_datum3:= wdka.getSrtControldatum(v_datum3, v_cyclus3);
|
||
END IF;
|
||
/* v_errormsg := 'Fout ophalen srtcontrole taak 3 rij '||v_count||'('||rec.ins_deel_omschrijving||')';
|
||
SELECT ins_srtcontrole_key
|
||
INTO v_srtcontrole_key
|
||
FROM ins_srtcontrole
|
||
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
||
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
||
AND ins_srtcontrole_omschrijving = v_taak3
|
||
AND ins_srtcontrole_periode=v_cyclus3
|
||
AND ins_srtcontrole_eenheid=v_eenheid
|
||
AND ins_srtcontrole_mode=1
|
||
AND ctr_discipline_key=3; */
|
||
|
||
v_errormsg := 'Fout INSERT deelsrtcontrole te importeren rij taak3 '||v_count||'('||rec.ins_deel_omschrijving||')';
|
||
INSERT INTO ins_deelsrtcontrole(ins_deel_key,
|
||
ins_srtcontrole_key,
|
||
ins_scenario_key,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_controlemode_key,
|
||
ins_deelsrtcontrole_status,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_deelsrtcontrole_freezecost,
|
||
prs_perslid_key)
|
||
VALUES(v_deel_key,
|
||
v_srtcontrole_key,
|
||
1,
|
||
v_datum3,
|
||
10,
|
||
6,
|
||
v_datum3,
|
||
0,
|
||
3);
|
||
|
||
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
|
||
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;
|
||
|
||
END LOOP;
|
||
|
||
|
||
|
||
END;
|
||
/
|
||
|
||
-- Import Asset migratie:
|
||
-- Concept script om import sheet objecten telaten verplaatsen naat andere objest srt/groep
|
||
-- Door nieuwe release is dit evt niet meer noodzakelijk.
|
||
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_ASSET_MIGRATIE(p_import_key IN NUMBER)
|
||
AS
|
||
BEGIN
|
||
DELETE FROM fac_imp_csv;
|
||
|
||
fac_import_genericcsv(p_import_key);
|
||
END;
|
||
/
|
||
|
||
-- Concept script om import sheet objecten telaten verplaatsen naat andere objest srt/groep, alleen voor taak1 gebouwd rest nog maken
|
||
-- Door nieuwe release is dit evt niet meer noodzakelijk.
|
||
CREATE OR REPLACE PROCEDURE WDKA_UPDATE_ASSET_MIGRATIE(p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT fac_imp_csv_col01 ins_deel_omschrijving,
|
||
fac_imp_csv_col02 ins_deel_opmerking,
|
||
fac_imp_csv_col03 ins_discipline,
|
||
fac_imp_csv_col04 ins_srtgroep_oud,
|
||
fac_imp_csv_col05 ins_srtdeel_oud,
|
||
fac_imp_csv_col06 ins_srtgroep_nieuw,
|
||
fac_imp_csv_col07 ins_srtdeel_nieuw,
|
||
fac_imp_csv_col08 taak1,
|
||
fac_imp_csv_col09 taak1_datum,
|
||
fac_imp_csv_col08 taak2,
|
||
fac_imp_csv_col09 taak2_datum,
|
||
fac_imp_csv_col08 taak3,
|
||
fac_imp_csv_col09 taak3_datum
|
||
from fac_imp_csv
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_aanduiding VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
v_counter NUMBER;
|
||
v_ins_deel_key NUMBER;
|
||
v_ins_srtdeel_key_now NUMBER;
|
||
v_ins_srtdeel_key_new NUMBER;
|
||
v_ins_srtgroep_key_new NUMBER;
|
||
v_srtcontrole_key NUMBER;
|
||
v_eenheid NUMBER;
|
||
v_groep NUMBER;
|
||
v_cyclus1 NUMBER;
|
||
v_cyclus2 NUMBER;
|
||
v_cyclus3 NUMBER;
|
||
v_datum1 DATE;
|
||
v_datum2 DATE;
|
||
v_datum3 DATE;
|
||
BEGIN
|
||
v_counter:=0;
|
||
v_eenheid:=3;
|
||
FOR rec IN C
|
||
LOOP
|
||
IF v_counter>0
|
||
THEN
|
||
BEGIN
|
||
v_errormsg :='Ophalen object '||rec.ins_deel_omschrijving||' gaat fout';
|
||
SELECT ins_deel_key , ins_srtdeel_key
|
||
INTO v_ins_deel_key, v_ins_srtdeel_key_now
|
||
FROM ins_deel
|
||
where ins_deel_omschrijving=rec.ins_deel_omschrijving
|
||
AND UPPER(ins_deel_opmerking) = UPPER(rec.ins_deel_opmerking)
|
||
AND ins_deel_verwijder IS NULL
|
||
AND (ins_deel_vervaldatum IS NULL
|
||
OR ins_deel_vervaldatum>SYSDATE);
|
||
|
||
v_errormsg :='Ophalen objectgroep '||rec.ins_srtgroep_nieuw||' gaat fout';
|
||
SELECT ins_srtgroep_key
|
||
INTO v_ins_srtgroep_key_new
|
||
FROM ins_srtgroep
|
||
WHERE UPPER(ins_srtgroep_omschrijving)=UPPER(rec.ins_srtgroep_nieuw)
|
||
AND ins_srtgroep_verwijder IS NULL;
|
||
|
||
v_errormsg :='Ophalen objectsoort '||rec.ins_srtdeel_nieuw||' gaat fout';
|
||
SELECT ins_srtdeel_key
|
||
INTO v_ins_srtdeel_key_new
|
||
FROM ins_srtdeel
|
||
WHERE UPPER(ins_srtdeel_omschrijving)=UPPER(rec.ins_srtdeel_nieuw)
|
||
AND ins_srtgroep_key = v_ins_srtgroep_key_new
|
||
AND ins_srtdeel_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
v_ins_deel_key:=-1;
|
||
v_ins_srtdeel_key_new:=-1;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END;
|
||
|
||
IF v_ins_deel_key>0
|
||
AND v_ins_srtdeel_key_new > 0
|
||
AND v_ins_srtdeel_key_new<>v_ins_srtdeel_key_now
|
||
THEN
|
||
-- we hebben nu alles gevonden en kunnen nu de mutatie op het object doorvoeren
|
||
v_errormsg :='verplaatsen object '||rec.ins_deel_omschrijving||' van '||v_ins_srtdeel_key_now||' naar '||v_ins_srtdeel_key_new||' gaat fout.';
|
||
UPDATE ins_deel
|
||
SET ins_srtdeel_key=v_ins_srtdeel_key_new
|
||
WHERE ins_deel_key = v_ins_deel_key;
|
||
IF (rec.taak1 ='SKH keuring') THEN
|
||
v_cyclus1:=36;
|
||
ELSE
|
||
v_cyclus1:=12;
|
||
END IF;
|
||
IF (rec.taak2 ='SKH keuring') THEN
|
||
v_cyclus2:=36;
|
||
ELSE
|
||
v_cyclus2:=12;
|
||
END IF;
|
||
IF (rec.taak3 ='SKH keuring') THEN
|
||
v_cyclus3:=36;
|
||
ELSE
|
||
v_cyclus3:=12;
|
||
END IF;
|
||
|
||
|
||
-- Onder welke groep valt deze taak
|
||
IF rec.taak1 IS NOT NULL
|
||
AND rec.taak1 <> 'Registratie'
|
||
AND length(rec.taak1)>0
|
||
THEN
|
||
v_groep:=wdka.getCtrGroep(rec.taak1);
|
||
-- Object gevoiden en groep gevonden
|
||
-- Opzeok naar een taak met de aangegeven omschrijving op de nieuwe objectsoort
|
||
BEGIN
|
||
v_errormsg :='Ophalen srtcontrole '||rec.taak1||' gaat fout';
|
||
SELECT ins_srtcontrole_key
|
||
INTO v_srtcontrole_key
|
||
FROM ins_srtcontrole
|
||
where ins_srtinstallatie_key=v_ins_srtdeel_key_new
|
||
AND ins_srtcontrole_niveau='S'
|
||
AND UPPER(ins_srtcontrole_omschrijving) = UPPER(rec.taak1)
|
||
AND ins_srtcontrole_periode=v_cyclus1
|
||
AND ins_srtcontrole_eenheid=v_eenheid
|
||
AND ins_srtcontrole_mode=1
|
||
AND ctr_discipline_key=v_groep;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_srtcontrole_key:=-1;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END;
|
||
IF v_srtcontrole_key >0 THEN
|
||
|
||
v_datum1 := fac.safe_to_date(rec.taak1_datum,'DD-MM-YYYY');
|
||
v_datum1 := wdka.getSrtControldatum(v_datum1, v_cyclus1);
|
||
-- nu gaan we de insdeelsrtcontrioeole vullen
|
||
v_errormsg := 'Fout INSERT deelsrtcontrole te importeren rij taak1 '||v_counter||'('||rec.ins_deel_omschrijving||')';
|
||
|
||
INSERT INTO ins_deelsrtcontrole(ins_deel_key,
|
||
ins_srtcontrole_key,
|
||
ins_scenario_key,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_controlemode_key,
|
||
ins_deelsrtcontrole_status,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_deelsrtcontrole_freezecost,
|
||
prs_perslid_key)
|
||
VALUES(v_ins_deel_key,
|
||
v_srtcontrole_key,
|
||
1,
|
||
v_datum1,
|
||
10,
|
||
6,
|
||
v_datum1,
|
||
0,
|
||
3);
|
||
END IF;
|
||
END IF;
|
||
|
||
|
||
END IF;
|
||
ELSE
|
||
-- Header row
|
||
v_counter:=v_counter+1;
|
||
END IF;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
|
||
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;
|
||
/
|
||
-- Einde Import Asset migratie:
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_PAT_DATA(p_import_key IN NUMBER)
|
||
AS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
header_is_valid NUMBER;
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_newline VARCHAR2 (4000);
|
||
v_ongeldig NUMBER (1) := 0; -- 0= Goed, 1= Error, 2=Waarschuwing
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
v_count NUMBER;
|
||
|
||
v_smartwareID VARCHAR2(50);
|
||
v_omschrijving VARCHAR2(50);
|
||
v_laatste_datum_str VARCHAR2(50);
|
||
v_laatste_datum DATE;
|
||
v_laatste_resultaat VARCHAR2(50);
|
||
v_visueel VARCHAR2(50);
|
||
v_aarde VARCHAR2(50);
|
||
v_aarde_eenheid VARCHAR2(50);
|
||
v_aarde_resultaat VARCHAR2(50);
|
||
v_lekstroom VARCHAR2(50);
|
||
v_lekstroom_eenheid VARCHAR2(50);
|
||
v_lekstroom_resultaat VARCHAR2(50);
|
||
v_aanrk_lekstroom VARCHAR2(50);
|
||
v_aanrk_lekstroom_eenheid VARCHAR2(50);
|
||
v_aanrk_lekstroom_resultaat VARCHAR2(50);
|
||
v_verv_lekstroom VARCHAR2(50);
|
||
v_verv_lekstroom_eenheid VARCHAR2(50);
|
||
v_verv_lekstroom_resultaat VARCHAR2(50);
|
||
v_isolatie VARCHAR2(50);
|
||
v_isolatie_eenheid VARCHAR2(50);
|
||
v_isolatie_resultaat VARCHAR2(50);
|
||
v_bedrading VARCHAR2(50);
|
||
v_bedrading_eenheid VARCHAR2(50);
|
||
v_bedrading_resultaat VARCHAR2(50);
|
||
v_gebruikertest VARCHAR2(50);
|
||
v_gebruikers_waarde VARCHAR2(50);
|
||
v_gebruikers_eenheid VARCHAR2(50);
|
||
v_gebruikers_resultaat VARCHAR2(50);
|
||
v_volgende_testdatum_str VARCHAR2(50);
|
||
v_volgende_testdatum DATE;
|
||
v_laatste_vis_test_str VARCHAR2(50);
|
||
v_laatste_vis_test DATE;
|
||
v_laatste_vis_resultaat VARCHAR2(50);
|
||
v_next_vis_test_str VARCHAR2(50);
|
||
v_next_vis_test DATE;
|
||
|
||
|
||
CURSOR c1 IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
BEGIN
|
||
v_count :=0;
|
||
v_aanduiding := 'Start inlees process';
|
||
header_is_valid := 0;
|
||
DELETE FROM FAC_IMP_CSV;
|
||
COMMIT;
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := 'Lees regel';
|
||
|
||
v_newline := REPLACE(rec.fac_imp_file_line,chr(9),'');
|
||
|
||
v_aanduiding := 'Lees velden in';
|
||
fac.imp_getfield_nr (v_newline, c_delim, 1, v_smartwareID);
|
||
fac.imp_getfield_nr (v_newline, c_delim,2, v_omschrijving);
|
||
fac.imp_getfield_nr (v_newline, c_delim,3, v_laatste_datum_str);
|
||
fac.imp_getfield_nr (v_newline, c_delim,4, v_laatste_resultaat);
|
||
-- fac.imp_getfield (v_newline, c_delim, v_visueel);
|
||
v_aanduiding := 'Lees velden in 1';
|
||
fac.imp_getfield_nr (v_newline, c_delim, 6, v_aarde);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 7, v_aarde_eenheid);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 8, v_aarde_resultaat);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 9, v_lekstroom);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 10, v_lekstroom_eenheid);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 11, v_lekstroom_resultaat);
|
||
v_aanduiding := 'Lees velden in2';
|
||
fac.imp_getfield_nr (v_newline, c_delim, 12, v_aanrk_lekstroom);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 13, v_aanrk_lekstroom_eenheid);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 14, v_aanrk_lekstroom_resultaat);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 15, v_verv_lekstroom);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 16, v_verv_lekstroom_eenheid);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 17, v_verv_lekstroom_resultaat);
|
||
v_aanduiding := 'Lees velden in 3';
|
||
fac.imp_getfield_nr (v_newline, c_delim, 18, v_isolatie);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 19, v_isolatie_eenheid);
|
||
|
||
fac.imp_getfield_nr (v_newline, c_delim, 20, v_isolatie_resultaat);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 21, v_bedrading);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 23, v_bedrading_resultaat);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 24, v_gebruikertest);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 27, v_gebruikers_resultaat);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 28, v_volgende_testdatum_str);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 29, v_laatste_vis_test_str);
|
||
fac.imp_getfield_nr (v_newline, c_delim, 30, v_laatste_vis_resultaat);
|
||
|
||
-- fac.imp_getfield (v_newline, c_delim, v_bedrading_eenheid);
|
||
|
||
|
||
|
||
|
||
-- fac.imp_getfield (v_newline, c_delim, v_gebruiker_waarde);
|
||
-- fac.imp_getfield (v_newline, c_delim, v_gebruiker_eenheid);
|
||
|
||
|
||
-- fac.imp_getfield (v_newline, c_delim, v_laatste_vis_test_str);
|
||
-- fac.imp_getfield (v_newline, c_delim, v_laatste_vis_resultaat);
|
||
-- fac.imp_getfield (v_newline, c_delim, v_next_vis_test_str);
|
||
|
||
|
||
v_aanduiding := 'Valideer Headers';
|
||
v_count:=v_count+1;
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (TRIM (v_smartwareID)) = 'TESTOBJECT NUMMER'
|
||
AND UPPER (TRIM (v_omschrijving)) = 'OMSCHRIJVING'
|
||
AND UPPER (TRIM (v_laatste_datum_str)) = 'LAATSTE TESTDATUM'
|
||
AND UPPER (TRIM (v_laatste_resultaat)) = 'LAATSTE TESTRESULTAAT'
|
||
AND UPPER (TRIM (v_aarde)) = 'AARDE'
|
||
AND UPPER (TRIM (v_aarde_eenheid)) = 'AARDE EENHEID'
|
||
AND UPPER (TRIM (v_aarde_resultaat)) = 'AARDE RESULTAAT'
|
||
AND UPPER (TRIM (v_lekstroom)) = 'LEKSTROOM'
|
||
AND UPPER (TRIM (v_lekstroom_eenheid)) = 'LEKSTROOM EENHEID'
|
||
AND UPPER (TRIM (v_lekstroom_resultaat)) = 'LEKSTROOM RESULTAAT'
|
||
AND UPPER (TRIM (v_aanrk_lekstroom)) = 'AANRAAK LEKSTROOM'
|
||
AND UPPER (TRIM (v_aanrk_lekstroom_eenheid)) = 'AANRAAK LEKSTROOM EENHEID'
|
||
AND UPPER (TRIM (v_aanrk_lekstroom_resultaat)) = 'AANRAAK LEKSTROOM RESULTAAT'
|
||
AND UPPER (TRIM (v_verv_lekstroom)) = 'VERVANGENDE LEKSTROOM'
|
||
AND UPPER (TRIM (v_verv_lekstroom_eenheid)) = 'VERVANGENDE LEKSTROOM EENHEID'
|
||
AND UPPER (TRIM (v_verv_lekstroom_resultaat)) = 'VERVANGENDE LEKSTROOM RESULTAAT'
|
||
AND UPPER (TRIM (v_isolatie)) = 'ISOLATIE'
|
||
AND UPPER (TRIM (v_isolatie_eenheid)) = 'ISOLATIE EENHEID'
|
||
AND UPPER (TRIM (v_isolatie_resultaat)) = 'ISOLATIE RESULTAAT'
|
||
AND UPPER (TRIM (v_bedrading)) = 'BEDRADING'
|
||
AND UPPER (TRIM (v_bedrading_resultaat)) = 'BEDRADING RESULTAAT'
|
||
AND UPPER (TRIM (v_volgende_testdatum_str)) = 'VOLGENDE TESTDATUM'
|
||
AND UPPER (TRIM (v_laatste_vis_test_str)) = 'LAATSTE VISUELE TEST'
|
||
AND UPPER (TRIM (v_laatste_vis_resultaat)) = 'LAATSTE VISUELE RESULTAAT'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_aanduiding :='Lees regel';
|
||
-- v_laatste_datum := fac.safe_to_date (v_laatste_datum_str,'DD-MM-YYYY');
|
||
-- v_volgende_testdatum := fac.safe_to_date (v_volgende_testdatum_str,'DD-MM-YYYY');
|
||
|
||
|
||
|
||
|
||
-- hebben een regel nu wat gaan we dan gebruiken in de wdka_imp_smartware tabel
|
||
-- v_smartwareID,v_laatste_datum, v_laatste_resultaat, v_aarde, v_aarde_resultaat,v_aanrk_lekstroom, v_aanrk_lekstroom_resultaat, v_isolatie, v_isolatie_resultaat,v_bedrading_resultaat`, v_laatste_vis_tes,v_laatste_vis_resultaat
|
||
INSERT INTO FAC_IMP_CSV(FAC_IMP_CSV_INDEX,
|
||
FAC_IMP_CSV_COL01,
|
||
FAC_IMP_CSV_COL02,
|
||
FAC_IMP_CSV_COL03,
|
||
FAC_IMP_CSV_COL04,
|
||
FAC_IMP_CSV_COL05,
|
||
FAC_IMP_CSV_COL06,
|
||
FAC_IMP_CSV_COL07,
|
||
FAC_IMP_CSV_COL08,
|
||
FAC_IMP_CSV_COL09,
|
||
FAC_IMP_CSV_COL10,
|
||
FAC_IMP_CSV_COL11,
|
||
FAC_IMP_CSV_COL12,
|
||
FAC_IMP_CSV_COL13,
|
||
FAC_IMP_CSV_COL14,
|
||
FAC_IMP_CSV_COL15,
|
||
FAC_IMP_CSV_COL16,
|
||
FAC_IMP_CSV_COL17,
|
||
FAC_IMP_CSV_COL18,
|
||
FAC_IMP_CSV_COL19,
|
||
FAC_IMP_CSV_COL20)
|
||
|
||
VALUES(v_count,
|
||
v_smartwareID,
|
||
v_laatste_datum_str,
|
||
v_laatste_resultaat,
|
||
v_aarde,
|
||
v_aarde_resultaat,
|
||
v_lekstroom,
|
||
v_lekstroom_resultaat,
|
||
v_aanrk_lekstroom,
|
||
v_aanrk_lekstroom_resultaat,
|
||
v_verv_lekstroom,
|
||
v_verv_lekstroom_resultaat,
|
||
v_isolatie,
|
||
v_isolatie_resultaat,
|
||
v_bedrading,
|
||
v_bedrading_resultaat,
|
||
v_gebruikertest,
|
||
v_gebruikers_resultaat,
|
||
v_volgende_testdatum_str,
|
||
v_laatste_vis_test_str,
|
||
v_laatste_vis_resultaat);
|
||
|
||
|
||
/* INSERT INTO WDKA_IMP_SMARTWARE(smartwareid,
|
||
test_datum,
|
||
test_resultaat,
|
||
aarde_waarde,
|
||
aarde_resultaat,
|
||
lekstroom_waarde,
|
||
lekstroom_resultaat,
|
||
aanrk_lekstrm_waarde,
|
||
aanrk_lekstrm_resultaat,
|
||
verv_lekstrm_waarde,
|
||
verv_lekstrm_resultaat,
|
||
isolatie_waarde,
|
||
isolatie_resultaat,
|
||
volgende_test)
|
||
VALUES(v_smartwareID,
|
||
v_laatste_datum,
|
||
v_laatste_resultaat,
|
||
v_aarde,
|
||
v_aarde_resultaat,
|
||
v_lekstroom,
|
||
v_lekstroom_resultaat,
|
||
v_aanrk_lekstroom,
|
||
v_aanrk_lekstroom_resultaat,
|
||
v_verv_lekstroom,
|
||
v_verv_lekstroom_resultaat,
|
||
v_isolatie,
|
||
v_isolatie_resultaat,
|
||
v_volgende_testdatum); */
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
COMMIT;
|
||
|
||
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.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_aanduiding || v_errormsg, 1, 1000),
|
||
'Inleesproces PAT Data gaat fout!');
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_UPDATE_PAT_DATA(p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR cs IS
|
||
SELECT FAC_IMP_CSV_COL01 smartwareID,
|
||
FAC_IMP_CSV_COL02 v_laatste_datum_str,
|
||
FAC_IMP_CSV_COL03 test_resultaat,
|
||
FAC_IMP_CSV_COL04 aarde_waarde,
|
||
FAC_IMP_CSV_COL05 aarde_resultaat,
|
||
FAC_IMP_CSV_COL06 lekstroom_waarde,
|
||
FAC_IMP_CSV_COL07 lekstroom_resultaat,
|
||
FAC_IMP_CSV_COL08 aanrk_lekstrm_waarde,
|
||
FAC_IMP_CSV_COL09 aanrk_lekstrm_resultaat,
|
||
FAC_IMP_CSV_COL10 verv_lekstrm_waarde,
|
||
FAC_IMP_CSV_COL11 verv_lekstrm_resultaat,
|
||
FAC_IMP_CSV_COL12 isolatie_waarde,
|
||
FAC_IMP_CSV_COL13 isolatie_resultaat,
|
||
FAC_IMP_CSV_COL14 bedrading,
|
||
FAC_IMP_CSV_COL15 bedrading_resultaat,
|
||
FAC_IMP_CSV_COL16 gebruikertest,
|
||
FAC_IMP_CSV_COL17 gebruikers_resultaat,
|
||
FAC_IMP_CSV_COL18 v_volgende_testdatum_str,
|
||
FAC_IMP_CSV_COL19 laatste_vis_test_str,
|
||
FAC_IMP_CSV_COL20 laatste_vis_resultaat
|
||
FROM fac_imp_csv
|
||
ORDER BY FAC_IMP_CSV_INDEX;
|
||
|
||
v_errormsg VARCHAR (200);
|
||
v_errorhint VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_ins_key NUMBER;
|
||
v_ins_discipline_key NUMBER;
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
v_ins_srtcontrole_key NUMBER;
|
||
v_deelsrtcontrole_key NUMBER;
|
||
v_ins_deelsrtcontrole_key NUMBER;
|
||
v_ins_kenmerk_key NUMBER;
|
||
v_count NUMBER :=0;
|
||
v_ins_count NUMBER :=0;
|
||
v_lastdate DATE;
|
||
v_newdate DATE;
|
||
v_time DATE;
|
||
v_perslid_key NUMBER;
|
||
v_test_datum DATE;
|
||
v_volgende_testdatum DATE;
|
||
v_laatste_vis_test DATE;
|
||
|
||
v_controlemode_key NUMBER;
|
||
v_insdeelstr_status NUMBER;
|
||
BEGIN
|
||
-- open cursor haal alle regels op unique per smsartwareID en max(datum) (laatste alleen zichtbaar)
|
||
-- haal object op babsi van smartware code
|
||
-- maak een ins_deelsrtcontrole regele aan met ins_deel_key, strt_controle (bv smartware) en de controle_mode (bv uitgevoerd)
|
||
-- maar per waarde een ins_kmdeelsrtcontrl aan met ins_deelsrtcontrole_key, ins_kenmerk_key, waarde.
|
||
-- al;s er een fout uis set de notificatie dat er een foute waarde inzat, en waqtbde fout was,
|
||
-- update de kenmerk wanneer de laatste import van dit object is (SYSDATE)
|
||
-- DBMS_OUTPUT.put_line ('Starting update');
|
||
v_aanduiding := 'Geen acties voor SMARTWARE IMPORT';
|
||
--v_srtcontrole:=10;
|
||
v_ins_kenmerk_key := -1;
|
||
v_ins_key:=0;
|
||
v_lastdate := NULL;
|
||
v_newdate := NULL;
|
||
v_controlemode_key := 10;
|
||
v_insdeelstr_status:=6;
|
||
|
||
SELECT prs_perslid_key INTO v_perslid_key from fac_import where fac_import_key=p_import_key;
|
||
v_count:=1;
|
||
|
||
FOR rec in cs
|
||
LOOP
|
||
v_count:=v_count+1;
|
||
|
||
v_ins_key:=0;
|
||
|
||
v_ins_count :=0;
|
||
v_newdate := NULL;
|
||
|
||
IF rec.v_laatste_datum_str IS NOT NULL AND LENGTH(rec.v_laatste_datum_str)>0
|
||
THEN
|
||
v_test_datum := fac.safe_to_date (rec.v_laatste_datum_str,'DD-MM-YYYY');
|
||
ELSIF rec.laatste_vis_test_str IS NOT NULL AND LENGTH(rec.laatste_vis_test_str)>0
|
||
THEN
|
||
v_test_datum := fac.safe_to_date (rec.laatste_vis_test_str,'DD-MM-YYYY');
|
||
ELSE
|
||
v_test_datum := TO_DATE(SYSDATE,'DD-MM-YYYY');
|
||
END IF;
|
||
-- v_volgende_testdatum := fac.safe_to_date (rec.v_volgende_testdatum_str,'DD-MM-YYYY');
|
||
|
||
|
||
v_ins_key:=-1;
|
||
v_ins_discipline_key:=-1;
|
||
BEGIN
|
||
SELECT ins_deel_key, ins_discipline_key
|
||
INTO v_ins_key, v_ins_discipline_key
|
||
FROM ins_v_deel_gegevens
|
||
WHERE ins_deel_omschrijving=rec.smartwareid;
|
||
IF v_ins_key IS NULL OR LENGTH(v_ins_key)=0
|
||
THEN
|
||
v_ins_key:=-1;
|
||
v_ins_discipline_key:=-1;
|
||
END IF;
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
v_ins_key:=-1;
|
||
v_ins_discipline_key:=-1;
|
||
END;
|
||
|
||
|
||
|
||
IF v_ins_key >0
|
||
THEN
|
||
v_ins_deelsrtcontrole_key:=0;
|
||
v_ins_srtcontrole_key:=0;
|
||
BEGIN
|
||
v_aanduiding := 'Ophalen ins_srtcontrole_key ('||v_count||')';
|
||
SELECT isc.INS_SRTCONTROLE_KEY
|
||
INTO v_ins_srtcontrole_key
|
||
FROM ins_deel id, ins_srtdeel isd, ins_srtcontrole isc
|
||
WHERe id.INS_DEEL_KEY=v_ins_key
|
||
AND isd.INS_SRTDEEL_KEY = id.INS_SRTDEEL_KEY
|
||
AND isc.INS_SRTINSTALLATIE_KEY=isd.ins_srtdeel_key
|
||
AND isc.ins_srtcontrole_omschrijving='11A - NEN3140';
|
||
|
||
--
|
||
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
v_ins_srtcontrole_key:=-1;
|
||
v_ins_deelsrtcontrole_key:=-1;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'Er is geen 11A - NEN3140 Taak voor object met Smartware ID : '||rec.smartwareid ||' gevonden.',
|
||
'Smartware data niet verwerkt!');
|
||
|
||
|
||
END;
|
||
|
||
v_aanduiding := 'Ophalen deelsrtcontrole_key, ins_srtcontrole_key ('||v_count||')';
|
||
|
||
BEGIN
|
||
SELECT idc.ins_deelsrtcontrole_key, idc.ins_srtcontrole_key
|
||
INTO v_ins_deelsrtcontrole_key, v_ins_srtcontrole_key
|
||
FROM ins_deelsrtcontrole idc, ins_srtcontrole isc
|
||
WHERE idc.ins_deel_key=v_ins_key
|
||
AND isc.ins_srtcontrole_key = idc.ins_srtcontrole_key
|
||
AND isc.ins_srtcontrole_omschrijving='11A - NEN3140'
|
||
AND idc.ins_deelsrtcontrole_status IN (0,2); -- 0;Ingepland 2;Gestart/In behandeling dus niet 5;Afgemeld/Gereed gemeld; 6;Afgerond)
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_deelsrtcontrole_key:=-1;
|
||
END;
|
||
|
||
-- v_count:=0;
|
||
|
||
IF v_ins_deelsrtcontrole_key=-1 AND v_ins_srtcontrole_key != -1 THEN
|
||
v_aanduiding := 'Aanmaken ins_deelcontrole gaat fout ('||v_count||') voor object '||rec.smartwareid;
|
||
BEGIN
|
||
INSERT INTO ins_deelsrtcontrole(
|
||
ins_deel_key,
|
||
ins_srtcontrole_key,
|
||
ins_scenario_key,
|
||
ins_deelsrtcontrole_datum_org
|
||
)
|
||
VALUES (v_ins_key,
|
||
v_ins_srtcontrole_key,
|
||
1,
|
||
v_test_datum
|
||
)
|
||
RETURNING ins_deelsrtcontrole_key
|
||
INTO v_ins_deelsrtcontrole_key;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
-- deze meting hebben we al ingelezen
|
||
v_ins_deelsrtcontrole_key:=-1;
|
||
END;
|
||
END IF;
|
||
|
||
IF v_ins_deelsrtcontrole_key>0 THEN
|
||
v_aanduiding := 'Update deelsrtcontrole ('||v_count||')';
|
||
|
||
BEGIN
|
||
|
||
-- Is de test succesvol of niet
|
||
IF UPPER(rec.test_resultaat)='GOED' OR UPPER(rec.laatste_vis_resultaat)='GOED' THEN
|
||
SELECT ins_controlemode_key
|
||
INTO v_controlemode_key
|
||
FROM ins_controlemode
|
||
WHERE UPPER(ins_controlemode_oms)='GOEDGEKEURD';
|
||
v_insdeelstr_status := 6;
|
||
ELSE
|
||
SELECT ins_controlemode_key
|
||
INTO v_controlemode_key
|
||
FROM ins_controlemode
|
||
WHERE UPPER(ins_controlemode_oms)='AFGEKEURD';
|
||
|
||
v_insdeelstr_status:=5;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
v_controlemode_key:=10; -- Uitgevoerd
|
||
END;
|
||
|
||
UPDATE ins_deelsrtcontrole
|
||
SET ins_deelsrtcontrole_status=v_insdeelstr_status,
|
||
ins_deelsrtcontrole_datum=v_test_datum,
|
||
ins_controlemode_key=v_controlemode_key,
|
||
ins_deelsrtcontrole_datum_org=v_test_datum,
|
||
ins_deelsrtcontrole_freezecost=0,
|
||
prs_perslid_key=v_perslid_key -- persoon die de import heeft gestart.
|
||
WHERE ins_deelsrtcontrole_key=v_ins_deelsrtcontrole_key;
|
||
|
||
|
||
v_aanduiding := 'Verwerken resultaten ('||v_count||')';
|
||
IF LENGTH(rec.aarde_waarde) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 1('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Aarde (Ohm)', rec.aarde_waarde);
|
||
--flx.setflex('INS',141,v_ins_key,rec.aarde_waarde);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Aarde (Ohm)';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_aanduiding := 'Kenmerk key Aarde niet gevonden('||v_count||')'||'-'||v_ins_srtcontrole_key;
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
v_aanduiding := 'Fout bij verwerken resultaten 1('||v_count||')-'||v_ins_key;
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.aarde_waarde, SYSDATE);
|
||
END IF;
|
||
END IF;
|
||
IF LENGTH(rec.aarde_resultaat) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 2('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Aarde Resultaat', rec.aarde_resultaat);
|
||
--flx.setflex('INS',142,v_ins_key,rec.aarde_resultaat);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Aarde Resultaat';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.aarde_resultaat, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
IF LENGTH(rec.lekstroom_waarde) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 3('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Lekstroom (mA)', rec.lekstroom_waarde);
|
||
--flx.setflex('INS',143,v_ins_key,rec.lekstroom_waarde);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Lekstroom (mA)';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.lekstroom_waarde, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
IF LENGTH(rec.lekstroom_resultaat) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 4('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Lekstroom resultaat', rec.lekstroom_resultaat);
|
||
--flx.setflex('INS',144,v_ins_key,rec.lekstroom_resultaat);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Lekstroom resultaat';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.lekstroom_resultaat, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
IF LENGTH(rec.aanrk_lekstrm_waarde) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 5('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Aanraak lekstroom (mA)', rec.aanrk_lekstrm_waarde);
|
||
--flx.setflex('INS',145,v_ins_key,rec.aanrk_lekstrm_waarde);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Aanraak lekstroom (mA)';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.aanrk_lekstrm_waarde, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
IF LENGTH(rec.aanrk_lekstrm_resultaat) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 6('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Aanraak lekstroom resultaat', rec.aanrk_lekstrm_resultaat);
|
||
--lx.setflex('INS',146,v_ins_key,rec.aanrk_lekstrm_resultaat);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Aanraak lekstroom resultaat';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.aanrk_lekstrm_resultaat, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
IF LENGTH(rec.verv_lekstrm_waarde) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 7('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Vervangende lekstroom (mA)', rec.verv_lekstrm_waarde);
|
||
--flx.setflex('INS',147,v_ins_key,rec.verv_lekstrm_waarde);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Vervangende lekstroom (mA)';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.verv_lekstrm_waarde, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
IF LENGTH(rec.verv_lekstrm_resultaat) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 8('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Vervangende lekstroom resultaat', rec.verv_lekstrm_resultaat);
|
||
--flx.setflex('INS',148,v_ins_key,rec.verv_lekstrm_resultaat);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Vervangende lekstroom resultaat';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.verv_lekstrm_resultaat, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
IF LENGTH(rec.isolatie_waarde) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 9('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Isolatie (MOhm)', rec.isolatie_waarde);
|
||
--flx.setflex('INS',149,v_ins_key,rec.isolatie_waarde);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Isolatie (MOhm)';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.isolatie_waarde, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
IF LENGTH(rec.isolatie_resultaat) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 10('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Isolatie resultaat', rec.isolatie_resultaat);
|
||
--flx.setflex('INS',150,v_ins_key,rec.isolatie_resultaat);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Isolatie resultaat';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.isolatie_resultaat, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
IF LENGTH(rec.bedrading) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 11('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Bedrading', rec.bedrading);
|
||
--flx.setflex('INS',150,v_ins_key,rec.bedrading);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Bedrading';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.bedrading, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
IF LENGTH(rec.bedrading_resultaat) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 12('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Bedrading resultaat', rec.bedrading_resultaat);
|
||
--flx.setflex('INS',150,v_ins_key,rec.bedrading_resultaat);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Bedrading resultaat';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.bedrading_resultaat, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
IF LENGTH(rec.gebruikertest) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 13('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Gebruikerstest', rec.gebruikertest);
|
||
--flx.setflex('INS',150,v_ins_key,rec.gebruikertest);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Gebruikerstest';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.gebruikertest, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
IF LENGTH(rec.gebruikers_resultaat) > 0
|
||
THEN
|
||
v_aanduiding := 'Verwerken resultaten 14('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Gebruikers resultaat', rec.gebruikers_resultaat);
|
||
--flx.setflex('INS',150,v_ins_key,rec.gebruikers_resultaat);
|
||
BEGIN
|
||
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Gebruikers resultaat';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_ins_kenmerk_key:=-1;
|
||
END;
|
||
IF v_ins_kenmerk_key>0 THEN
|
||
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
||
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.gebruikers_resultaat, SYSDATE);
|
||
END IF;
|
||
|
||
END IF;
|
||
v_aanduiding := 'Verwerken resultaten test datum en resultaat('||v_count||')-'||v_ins_key;
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Laatste test', TO_CHAR(v_test_datum,'DD-MM-YYYY'));
|
||
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Laatste resultaat', rec.test_resultaat);
|
||
-- flx.setflex('INS', 152, v_ins_key, TO_CHAR(v_test_datum,'DD-MM-YYYY'));
|
||
-- flx.setflex('INS', 153, v_ins_key, rec.test_resultaat);
|
||
fac.trackaction ('INSUPD', v_ins_key, v_perslid_key, SYSDATE,
|
||
'Object geupdate met PAT data.');
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'Taak voor object met Smartware ID : '||rec.smartwareid ||' is niet gevonden of reeds eerder ingelezen.',
|
||
'Smartware data niet verwerkt!');
|
||
END IF;
|
||
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'Object met Smartware ID : '||rec.smartwareid ||' is niet bekend in Facilitor.',
|
||
'Object niet gevonden!');
|
||
END IF;
|
||
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| 'ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_aanduiding || v_errormsg, 1, 1000),
|
||
'Inleesproces opdrachtstatusberichten afgebroken!');
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_SMARTWARE_NOTES(p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (4000);
|
||
v_errormsg VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_ins_deel_omschrijving VARCHAR2(100);
|
||
v_ins_deel_opmerking VARCHAR2(100);
|
||
v_notes1 VARCHAR2(4000);
|
||
v_notes2 VARCHAR2(4000);
|
||
v_count NUMBER;
|
||
BEGIN
|
||
v_count := 1;
|
||
DELETE FROM fac_imp_csv;
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec.fac_imp_file_line;
|
||
IF v_count > 1
|
||
THEN
|
||
v_count:=v_count+1;
|
||
v_errormsg := 'Fout FETCH te importeren rij '||v_count;
|
||
|
||
|
||
|
||
v_aanduiding := '';
|
||
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_ins_deel_omschrijving);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 2, v_ins_deel_opmerking);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_notes1);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_notes2);
|
||
|
||
INSERT INTO fac_imp_csv(fac_import_key,
|
||
fac_imp_csv_index,
|
||
fac_imp_csv_col01,
|
||
fac_imp_csv_col02,
|
||
fac_imp_csv_col03,
|
||
fac_imp_csv_col04)
|
||
VALUES(p_import_key,
|
||
v_count,
|
||
v_ins_deel_omschrijving,
|
||
v_ins_deel_opmerking,
|
||
REPLACE(v_notes1,'@',CHR(10)),
|
||
REPLACE(v_notes2,'@',CHR(10))
|
||
);
|
||
ELSE
|
||
v_count:=v_count+1;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
COMMIT;
|
||
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.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_aanduiding || v_errormsg, 1, 1000),
|
||
'Inleesproces notes gaat fout!');
|
||
END;
|
||
/
|
||
-- END WDKA_IMPORT_SMARTWARE_NOTES
|
||
|
||
CREATE OR REPLACE PROCEDURE WDKA_UPDATE_SMARTWARE_NOTES(p_import_key IN NUMBER)
|
||
AS
|
||
|
||
CURSOR sel
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_csv
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
v_newline VARCHAR2 (4000);
|
||
v_errormsg VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
|
||
|
||
v_ins_deel_omschrijving VARCHAR2(100);
|
||
v_ins_deel_key NUMBER;
|
||
|
||
BEGIN
|
||
FOR rec IN sel
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding:='Object '||rec.fac_imp_csv_col01||' niet gevonden';
|
||
v_errormsg:='Object niet gevonden';
|
||
SELECT ins_deel_key INTO v_ins_deel_key FROM ins_deel WHERE ins_deel_omschrijving = rec.fac_imp_csv_col01;
|
||
|
||
IF (LENGTH(rec.fac_imp_csv_col03)>1)
|
||
THEN
|
||
INSERT INTO ins_deel_note(ins_deel_key,
|
||
ins_deel_note_aanmaak,
|
||
ins_deel_note_omschrijving,
|
||
prs_perslid_key)
|
||
VALUES(v_ins_deel_key,
|
||
SYSDATE,
|
||
rec.fac_imp_csv_col03,
|
||
3);
|
||
END IF;
|
||
IF (LENGTH(rec.fac_imp_csv_col04)>1)
|
||
THEN
|
||
INSERT INTO ins_deel_note(ins_deel_key,
|
||
ins_deel_note_aanmaak,
|
||
ins_deel_note_omschrijving,
|
||
prs_perslid_key)
|
||
VALUES(v_ins_deel_key,
|
||
SYSDATE,
|
||
rec.fac_imp_csv_col04,
|
||
3);
|
||
END IF;
|
||
|
||
|
||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_aanduiding || v_errormsg, 1, 1000),
|
||
'Object '||rec.fac_imp_csv_col01||' niet gevonden.');
|
||
END;
|
||
END LOOP;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| 'ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
SUBSTR (v_aanduiding || v_errormsg, 1, 1000),
|
||
'Updateesproces notes gaat fout!');
|
||
END;
|
||
/
|
||
-- END WDKA_UPDATE_SMARTWARE_NOTES
|
||
|
||
|
||
-- kenmkerdomein-view tbv. Aanvraag Objectensoort!
|
||
CREATE OR REPLACE VIEW WDKA_V_INS_SRT
|
||
(
|
||
FAC_USRDATA_KEY,
|
||
FAC_USRDATA_OMSCHR
|
||
)
|
||
AS
|
||
SELECT isd.ins_srtdeel_key, ig.ins_srtgroep_omschrijving||'>'||isd.ins_srtdeel_omschrijving
|
||
FROM ins_srtdeel isd, ins_srtgroep ig
|
||
WHERE ig.ins_srtgroep_key=isd.ins_srtgroep_key
|
||
ORDER BY ig.ins_srtgroep_omschrijving, isd.ins_srtdeel_omschrijving;
|
||
|
||
|
||
CREATE OR REPLACE VIEW WDKA_V_INS_LEVERANCIER
|
||
(
|
||
fac_usrdata_key,
|
||
omschrijving,
|
||
vervaldatum
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key,prs_bedrijf_naam,NULL
|
||
FROM prs_bedrijf
|
||
WHERE prs_bedrijf_leverancier=1 AND prs_bedrijf_verwijder IS NULL;
|
||
|
||
|
||
CREATE OR REPLACE VIEW WDKA_V_UITVOERENDELEV
|
||
(
|
||
fac_usrdata_key,
|
||
omschrijving,
|
||
vervaldatum
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_key, prs_bedrijf_naam, NULL
|
||
FROM prs_bedrijf
|
||
WHERE prs_bedrijf_uitvoerende = 1 AND prs_bedrijf_verwijder IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW wdka_v_tasks_nextmonth
|
||
AS
|
||
select id.ins_deel_omschrijving, id.ins_deel_opmerking, al.ALG_LOCATIE_CODE, algv.ALG_GEBOUW_CODE,algv.ALG_RUIMTE_NR,
|
||
CASE
|
||
WHEN aa.alg_ruimte_omschrijving LIKE '%@wedeka.nl'
|
||
THEN aa.alg_ruimte_omschrijving
|
||
ELSE (SELECT prs_perslid_email
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key=id.prs_perslid_key_beh)
|
||
END email,
|
||
i.ins_srtcontrole_omschrijving taak,
|
||
fac.nextcyclusdatedeel(id.ins_deel_key,i.ins_srtcontrole_key,0) nextdate
|
||
FROM ins_srtcontrole i, ins_deel id, alg_ruimte aa, alg_v_onroerendgoed_gegevens algv, alg_locatie al
|
||
WHERE (id.ins_deel_vervaldatum<fac.NEXTCYCLUSDATEDEEL(id.ins_deel_key,i.ins_srtcontrole_key,0) OR id.ins_deel_vervaldatum IS NULL)
|
||
AND i.ins_srtinstallatie_key = id.ins_srtdeel_key
|
||
AND fac.nextcyclusdatedeel(id.ins_deel_key,i.ins_srtcontrole_key,0) BETWEEN TRUNC(SYSDATE) AND SYSDATE+30
|
||
AND algv.alg_ruimte_key = aa.alg_ruimte_key
|
||
AND al.alg_locatie_key = algv.alg_locatie_key
|
||
AND id.ins_alg_ruimte_key=aa.alg_ruimte_key(+) order by email;
|
||
|
||
|
||
CREATE OR REPLACE VIEW wdka_v_alg_locaties
|
||
(
|
||
fac_usrdata_key,
|
||
fac_usrdata_omschr
|
||
)
|
||
AS
|
||
SELECT alg_locatie_key, alg_locatie_omschrijving||'('||alg_locatie_code||')'
|
||
FROM alg_locatie
|
||
WHERE alg_locatie_verwijder IS NULL;
|
||
|
||
|
||
CREATE OR REPLACE VIEW wdka_v_alg_gebouw
|
||
(
|
||
fac_usrdata_key,
|
||
fac_usrdata_omschr
|
||
)
|
||
AS
|
||
SELECT alg_gebouw_key, alg_gebouw_omschrijving
|
||
FROM alg_v_aanweziggebouw;
|
||
|
||
|
||
CREATE OR REPLACE VIEW WDKA_V_InactieveObjecten
|
||
(
|
||
fac_usrdata_key,
|
||
fac_usrdata_omschr
|
||
)
|
||
AS
|
||
SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving||' - '||COALESCE(i.ins_deel_opmerking||' ','')||'('|| isd.ins_srtdeel_omschrijving||')'
|
||
FROM ins_deel i, ins_srtdeel isd
|
||
WHERE i.ins_srtdeel_key = isd.ins_srtdeel_key
|
||
AND i.ins_deel_actief=0
|
||
AND ins_deel_verwijder IS NULL;
|
||
|
||
|
||
CREATE OR REPLACE VIEW wdka_v_objectmutatie
|
||
AS
|
||
SELECT i.ins_deel_omschrijving,
|
||
i.ins_deel_opmerking,
|
||
i.ins_deel_aanmaak,
|
||
(SELECT ft.fac_tracking_datum
|
||
FROM fac_tracking ft
|
||
WHERE ft.fac_tracking_refkey=i.ins_deel_key
|
||
AND ft.fac_srtnotificatie_key=133) wijzigingsdatum,
|
||
(SELECT iag.ins_srtgroep_omschrijving
|
||
FROM ins_v_aanwezigsrtgroep iag, ins_v_aanwezigsrtdeel iad
|
||
WHERE iad.ins_srtdeel_key=i.ins_srtdeel_key
|
||
AND iag.ins_srtgroep_key=iad.ins_srtgroep_key) groep,
|
||
(SELECT iad.ins_srtdeel_omschrijving
|
||
FROM ins_v_aanwezigsrtdeel iad
|
||
WHERE iad.ins_srtdeel_key=i.ins_srtdeel_key) objectsoort,
|
||
(SELECT p.prs_perslid_naam_friendly
|
||
FROM prs_v_perslid_fullnames p
|
||
WHERE p.prs_perslid_key=i.prs_perslid_key_beh) beheerder,
|
||
(SELECT alg.alg_locatie_omschrijving||'('||alg.alg_locatie_code||')'
|
||
FROM alg_v_locatie_gegevens alg
|
||
WHERE alg.alg_locatie_key=aag.alg_locatie_key) locatie,
|
||
aag.alg_gebouw_naam,
|
||
aag.alg_ruimte_nr
|
||
FROM ins_deel i, alg_v_allonrgoed_gegevens aag
|
||
WHERE aag.alg_ruimte_key=i.ins_alg_ruimte_key
|
||
|
||
|
||
CREATE OR REPLACE VIEW wdka_v_object_taaklijst
|
||
AS
|
||
SELECT i.ins_deel_key,
|
||
i.ins_deel_omschrijving wedeka_nr,
|
||
i.ins_deel_opmerking beschrijving,
|
||
(SELECT isg.ins_srtgroep_omschrijving
|
||
FROM ins_srtgroep isg
|
||
WHERE isg.ins_srtgroep_key=isd.ins_srtgroep_key) groep,
|
||
isd.ins_srtdeel_omschrijving ,
|
||
isc.ins_srtcontrole_omschrijving taak ,
|
||
itd.ins_discipline_omschrijving taak_groep,
|
||
ids.ins_deelsrtcontrole_datum,
|
||
DECODE(ids.ins_deelsrtcontrole_status,0,'Ingepland', 2,'Gestart/In behandeling',5,'Afgemeld/Gereed gemeld',6,'Afgerond') taak_status,
|
||
(SELECT ic.ins_controlemode_oms
|
||
FROM ins_controlemode ic
|
||
WHERE ic.ins_controlemode_key=ids.ins_controlemode_key) keurings_status,
|
||
INS.NEXTCYCLUSDATE(i.ins_deel_key, ids.ins_srtcontrole_key,1) volgende_datum,
|
||
a.alg_ruimte_omschrijving,
|
||
ab.alg_gebouw_code||' '||ab.alg_gebouw_naam gebouw,
|
||
ab.alg_gebouw_code gebouw_code,
|
||
ab.alg_gebouw_naam gebouw_naam,
|
||
p.prs_perslid_email,
|
||
p.prs_perslid_key perslid_key
|
||
FROM ins_deel i,
|
||
ins_srtdeel isd,
|
||
ins_tab_discipline itd,
|
||
ins_srtcontrole isc,
|
||
ins_deelsrtcontrole ids ,
|
||
alg_v_allonrgoed_gegevens ab,
|
||
alg_v_aanwezigruimte a ,
|
||
prs_perslid p
|
||
WHERE i.ins_deel_verwijder IS NULL
|
||
AND i.ins_deel_actief=1
|
||
AND ids.ins_deel_key = i.ins_deel_key
|
||
AND a.alg_ruimte_key = i.ins_alg_ruimte_key
|
||
AND ab.alg_ruimte_key= a.alg_ruimte_key
|
||
AND isd.ins_srtdeel_key=i.ins_srtdeel_key
|
||
AND isc.ins_srtcontrole_key=ids.ins_srtcontrole_key
|
||
AND isc.ctr_discipline_key = itd.ins_discipline_key
|
||
AND a.alg_ruimte_omschrijving=p.prs_perslid_email(+);
|
||
|
||
CREATE OR REPLACE VIEW wdka_V_loc_man_meldingen
|
||
(
|
||
melding_key,
|
||
datum_melding,
|
||
datum_accept,
|
||
datum_afmeld,
|
||
mld_onderwerp,
|
||
mld_omschrijving,
|
||
mld_status,
|
||
object_key,
|
||
object_nr,
|
||
object_omschrijving,
|
||
aanvrager,
|
||
accpetant,
|
||
behandelaar
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key melding_key,
|
||
m.mld_melding_datum datum_melding,
|
||
(SELECT MAX(f.fac_tracking_datum)
|
||
FROM fac_tracking f
|
||
WHERE f.fac_tracking_refkey=m.mld_melding_key
|
||
AND f.fac_srtnotificatie_key=46) datum_accept,
|
||
(SELECT MAX(f.fac_tracking_datum)
|
||
FROM fac_tracking f
|
||
WHERE f.fac_tracking_refkey=m.mld_melding_key
|
||
AND f.fac_srtnotificatie_key=47) datum_afmeld,
|
||
m.mld_melding_onderwerp onderwerp,
|
||
m.mld_melding_omschrijving omschrijving,
|
||
sta.mld_statuses_omschrijving status,
|
||
ins.ins_deel_key object_key,
|
||
ins.ins_deel_omschrijving object,
|
||
ins.INS_DEEL_OPMERKING object_omschrijving,
|
||
pf2.prs_perslid_naam_friendly aanvrager,
|
||
(SELECT p.prs_perslid_naam_friendly
|
||
FROM fac_tracking f, prs_v_perslid_fullnames p
|
||
WHERE f.fac_tracking_refkey=m.mld_melding_key
|
||
AND f.fac_srtnotificatie_key=46
|
||
AND p.prs_perslid_key=f.prs_perslid_key) acceptant,
|
||
(SELECT p.prs_perslid_naam_friendly
|
||
FROM prs_v_perslid_fullnames p
|
||
WHERE p.prs_perslid_key = m.mld_melding_behandelaar_key) behandelaar
|
||
FROM mld_melding m,
|
||
mld_stdmelding ms,
|
||
mld_v_aanwezigdiscipline mad,
|
||
mld_statuses sta,
|
||
prs_v_perslid_fullnames pf2,
|
||
ins_deel ins,
|
||
mld_melding_object mo
|
||
WHERE m.mld_stdmelding_key = ms.mld_stdmelding_key
|
||
AND ms.mld_ins_discipline_key = mad.ins_discipline_key
|
||
AND UPPER(mad.ins_discipline_omschrijving)='AANVRAAG TBV LOCATIE MANAGER'
|
||
AND sta.mld_statuses_key= m.mld_melding_status
|
||
AND pf2.prs_perslid_key = m.prs_perslid_key
|
||
AND mo.mld_melding_key = m.mld_melding_key
|
||
AND ins.ins_deel_key = mo.ins_deel_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW WDKA_V_TAAKFORMULIEREN
|
||
(
|
||
ins_srtcontrole_key,
|
||
taak_omschrijving,
|
||
objectsoort_code,
|
||
objectsoort,
|
||
formuliernaam
|
||
)
|
||
AS
|
||
SELECT isc.ins_srtcontrole_key,
|
||
isc.ins_srtcontrole_omschrijving,
|
||
isd.ins_srtdeel_code,
|
||
isd.ins_srtdeel_omschrijving,
|
||
ik.ins_kenmerk_omschrijving
|
||
FROM ins_srtcontrole isc,
|
||
ins_srtdeel isd,
|
||
ins_kenmerk ik,
|
||
ins_srtkenmerk isk
|
||
WHERE isc.ctr_discipline_key = 84
|
||
AND isd.ins_srtdeel_key = isc.ins_srtinstallatie_key
|
||
AND ik.ins_srtinstallatie_key = isc.ins_srtcontrole_key
|
||
AND UPPER(isk.ins_srtkenmerk_omschrijving) = 'BLOKTITEL'
|
||
AND ik.ins_srtkenmerk_key = isk.ins_srtkenmerk_key;
|
||
|
||
-- notificatie jobs
|
||
|
||
CREATE OR REPLACE VIEW wdka_v_noti_taak_afgerond
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
XEMAIL,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT 'CUST03' code,
|
||
NULL sender,
|
||
NULL receiver,
|
||
RTRIM(LTRIM(NVL(
|
||
(CASE
|
||
WHEN ar2.alg_ruimte_omschrijving LIKE '%@%'
|
||
THEN ar2.alg_ruimte_omschrijving
|
||
ELSE NULL
|
||
END ||
|
||
CASE
|
||
WHEN ag.prs_perslid_key_verantw IS NOT NULL
|
||
THEN (SELECT ';'||prs_perslid_email
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = ag.prs_perslid_key_verantw)
|
||
ELSE NULL
|
||
END ||
|
||
CASE
|
||
WHEN ag.PRS_PERSLID_KEY_VERANTW2 IS NOT NULL
|
||
THEN (SELECT ';'||prs_perslid_email
|
||
FROM prs_perslid
|
||
WHERE prs_perslid_key = ag.prs_perslid_key_verantw2)
|
||
ELSE NULL
|
||
END),p.prs_perslid_email),';'),';') xemail,
|
||
'Uw apparaat ('|| i.ins_deel_omschrijving||') ligt gereed na keuring.' text,
|
||
i.ins_deel_key key,
|
||
NULL xkey,
|
||
NULL xmobile
|
||
FROM ins_deelsrtcontrole ids,
|
||
ins_srtcontrole isc,
|
||
ins_deel i,
|
||
prs_perslid p,
|
||
alg_v_allonrgoed_gegevens ar1,
|
||
alg_ruimte ar2,
|
||
alg_v_aanweziggebouw ag
|
||
WHERE ids.ins_deelsrtcontrole_datum BETWEEN SYSDATE-1 AND SYSDATE
|
||
AND ids.ins_deelsrtcontrole_status=6
|
||
AND ids.ins_srtcontrole_key = isc.ins_srtcontrole_key
|
||
AND UPPER(isc.ins_srtcontrole_omschrijving) = '63A - ONDERHOUD TD GI'
|
||
AND i.ins_deel_key=ids.ins_deel_key
|
||
AND ar1.alg_ruimte_key=i.ins_alg_ruimte_key
|
||
AND ar2.alg_ruimte_key=i.ins_alg_ruimte_key
|
||
AND ag.alg_gebouw_key= ar1.alg_gebouw_key
|
||
AND p.prs_perslid_key=i.prs_perslid_key_beh;
|
||
|
||
|
||
------ 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
|
||
|