1382 lines
50 KiB
SQL
1382 lines
50 KiB
SQL
-- Script containing customer specific configuration sql statements for Provalu (voorheen De Maregroep)
|
||
-- $Revision$
|
||
-- $Id$
|
||
|
||
DEFINE thisfile = 'MARE.SQL'
|
||
DEFINE dbuser = 'MARE'
|
||
|
||
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 PROCEDURE mare_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
v_aantal_in_fclt NUMBER;
|
||
BEGIN
|
||
-- Het aangeleverde bestand heeft de gegevens komma gescheiden ipv ;
|
||
v_errorhint := 'Delimiter goed zetten';
|
||
UPDATE fac_imp_file
|
||
SET fac_imp_file_line = REPLACE (fac_imp_file_line, ',', ';')
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
v_errorhint := 'Generieke update';
|
||
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid procedure
|
||
-- Afdeling (nr7) tijdelijk gevuld met achternaam (wordt later altijd Provalu)
|
||
-- Login (nr 22) wordt bij de import nog wel uit het bestand gehaald 3e kolom, maar later omgezet naar emailadres.
|
||
-- Let op, tov het daadwerkelijke bestand staat hieronder ; ipv ,
|
||
prs.import_perslid (
|
||
p_import_key,
|
||
'0;0;0;0;0;0;2;2;0;1;'
|
||
|| '0;0;0;0;0;0;0;5;0;0;'
|
||
|| '2;3;0;0;0;0;0;0;0;4;'
|
||
|| '0;0;0;0;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0',
|
||
';;;;;"Firstname;LastName;Login;JobTitle;EmailAdress;"');
|
||
|
||
-- Afdeling bepalen
|
||
UPDATE fac_imp_perslid
|
||
SET prs_afdeling_naam = 'Provalu';
|
||
|
||
-- Loginnaam afleiden van emailadres
|
||
UPDATE fac_imp_perslid
|
||
SET prs_perslid_oslogin =
|
||
(SUBSTR (prs_perslid_email,
|
||
0,
|
||
INSTR (prs_perslid_email, '@') - 1))
|
||
WHERE UPPER (prs_perslid_email) LIKE '%PROVALU.NL%';
|
||
|
||
-- Loginnaam afleiden van emailadres
|
||
UPDATE fac_imp_perslid
|
||
SET prs_perslid_oslogin =
|
||
(SUBSTR (prs_perslid_email,
|
||
0,
|
||
INSTR (prs_perslid_email, '@') - 1))
|
||
WHERE UPPER (prs_perslid_email) LIKE '%SERVICEPUNT-WERK.NL%';
|
||
|
||
-- Functie is niet altijd gevuld, functie eerst gevuld met achternaam, nu vullen met kenmerk (of 'Onbekend').
|
||
UPDATE fac_imp_perslid
|
||
SET prs_srtperslid_omschrijving =
|
||
DECODE (prs_kenmerk4, NULL, 'Onbekend', prs_kenmerk4);
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END mare_import_perslid;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE mare_update_perslid (p_import_key IN NUMBER)
|
||
IS
|
||
-- Alle personen verwijderen die niet meer in het import import bestand voorkomen
|
||
-- Personen in de juiste autorisatiegroep zetten.
|
||
-- Match bij Provalu is Email.
|
||
-- Geen acties tenzij het aantal records in de importtabel meer dan 50 medewerkers betreft.
|
||
|
||
CURSOR c_del
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
|
||
FROM prs_perslid p, prs_v_perslid_fullnames pf
|
||
WHERE (UPPER (p.prs_perslid_email) LIKE '%PROVALU.NL%' OR UPPER (p.prs_perslid_email) LIKE '%SERVICEPUNT-WERK.NL%')
|
||
AND UPPER (p.prs_perslid_email) NOT IN
|
||
(SELECT UPPER (prs_perslid_email) FROM fac_imp_perslid)
|
||
AND pf.prs_perslid_key = p.prs_perslid_key;
|
||
|
||
v_count NUMBER;
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
BEGIN
|
||
v_errorhint := 'Niet genoeg personen in bestand, import afgebroken';
|
||
|
||
SELECT COUNT ( * ) INTO v_count FROM fac_imp_perslid;
|
||
|
||
IF v_count >= 50
|
||
THEN
|
||
v_errorhint := 'Verwerken persoonsgegevens';
|
||
|
||
-- Geldig importbestand wat betreft aantal personen
|
||
|
||
COMMIT;
|
||
|
||
-- Eerst de functie omzetten.
|
||
UPDATE fac_imp_perslid
|
||
SET prs_srtperslid_omschrijving = COALESCE (prs_kenmerk4, 'Onbekend');
|
||
|
||
-- generic update
|
||
-- 'EMAIL' betekent dat op basis van Email wordt gematched.
|
||
-- 'NULL' betekent altijd geen werkplekken verwijderen
|
||
prs.update_perslid (p_import_key, 'EMAIL', NULL);
|
||
|
||
v_errorhint := 'Verwijderen persoonsgegevens';
|
||
|
||
-- Verwijder personen die niet meer in de import voorkomen.
|
||
FOR rec IN c_del
|
||
LOOP
|
||
BEGIN
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END;
|
||
END LOOP;
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END mare_update_perslid;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW mare_v_objectnummers
|
||
(
|
||
ins_deel_key,
|
||
ins_deel_module,
|
||
ins_srtdeel_key,
|
||
ins_alg_ruimte_key,
|
||
ins_alg_ruimte_type,
|
||
ins_deel_aantal,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
ins_deel_upper,
|
||
ins_deel_aanmaak,
|
||
ins_deel_vervaldatum,
|
||
ins_deel_verwijder,
|
||
ins_deel_getekend,
|
||
ins_discipline_key,
|
||
ins_alg_locatie_key,
|
||
ins_deel_parent_key,
|
||
ins_deel_omtrek,
|
||
ins_deel_oppervlak,
|
||
ins_deel_dwgx,
|
||
ins_deel_dwgy,
|
||
ins_deel_dwgz,
|
||
ins_deel_dwgrotatie,
|
||
ins_deel_dwgschaal,
|
||
ins_deel_x,
|
||
ins_deel_y,
|
||
ins_alg_ruimte_key_org,
|
||
ins_alg_ruimte_type_org,
|
||
ins_deel_state,
|
||
ins_deel_statedate,
|
||
ins_deel_t_uitvoertijd,
|
||
ins_deel_actief,
|
||
ins_deel_image,
|
||
ins_deel_mjb_score1,
|
||
ins_deel_mjb_score2,
|
||
prs_perslid_key_beh,
|
||
res_rsv_deel_key,
|
||
bes_bestelopdr_key,
|
||
ultimonummer,
|
||
uniek_nummer
|
||
)
|
||
AS
|
||
SELECT ins_deel_key,
|
||
ins_deel_module,
|
||
ins_srtdeel_key,
|
||
ins_alg_ruimte_key,
|
||
ins_alg_ruimte_type,
|
||
ins_deel_aantal,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
ins_deel_upper,
|
||
ins_deel_aanmaak,
|
||
ins_deel_vervaldatum,
|
||
ins_deel_verwijder,
|
||
ins_deel_getekend,
|
||
ins_discipline_key,
|
||
ins_alg_locatie_key,
|
||
ins_deel_parent_key,
|
||
ins_deel_omtrek,
|
||
ins_deel_oppervlak,
|
||
ins_deel_dwgx,
|
||
ins_deel_dwgy,
|
||
ins_deel_dwgz,
|
||
ins_deel_dwgrotatie,
|
||
ins_deel_dwgschaal,
|
||
ins_deel_x,
|
||
ins_deel_y,
|
||
ins_alg_ruimte_key_org,
|
||
ins_alg_ruimte_type_org,
|
||
ins_deel_state,
|
||
ins_deel_statedate,
|
||
ins_deel_t_uitvoertijd,
|
||
ins_deel_actief,
|
||
ins_deel_image,
|
||
ins_deel_mjb_score1,
|
||
ins_deel_mjb_score2,
|
||
prs_perslid_key_beh,
|
||
res_rsv_deel_key,
|
||
bes_bestelopdr_key,
|
||
(SELECT fac.safe_to_number (kmd.ins_kenmerkdeel_waarde)
|
||
FROM ins_kenmerkdeel kmd, ins_kenmerk km, ins_srtkenmerk skm
|
||
WHERE kmd.ins_deel_key = d.ins_deel_key
|
||
AND kmd.ins_kenmerk_key = km.ins_kenmerk_key
|
||
AND km.ins_srtkenmerk_key = skm.ins_srtkenmerk_key
|
||
AND skm.ins_srtkenmerk_key = 9), -- Kenmerksoort Ultimonummer
|
||
COALESCE (
|
||
(SELECT fac.safe_to_number (kmd.ins_kenmerkdeel_waarde)
|
||
FROM ins_kenmerkdeel kmd, ins_kenmerk km, ins_srtkenmerk skm
|
||
WHERE kmd.ins_deel_key = d.ins_deel_key
|
||
AND kmd.ins_kenmerk_key = km.ins_kenmerk_key
|
||
AND km.ins_srtkenmerk_key = skm.ins_srtkenmerk_key
|
||
AND skm.ins_srtkenmerk_key = 9), -- Kenmerksoort Ultimonummer
|
||
d.ins_deel_key + 100000)
|
||
FROM ins_v_aanwezigdeel d;
|
||
|
||
CREATE OR REPLACE PROCEDURE mare_import_insp_metrel (p_import_key IN NUMBER)
|
||
IS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (1000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (400);
|
||
header_is_valid NUMBER;
|
||
v_count_tot NUMBER (10);
|
||
v_count_import NUMBER (10);
|
||
v_ongeldig NUMBER (1);
|
||
v_aanduiding VARCHAR (200);
|
||
-- De importvelden:
|
||
|
||
v_projekt VARCHAR2 (60);
|
||
v_ruimte VARCHAR2 (60);
|
||
v_apparaat_nummer VARCHAR2 (60);
|
||
v_apparaat_naam VARCHAR2 (60);
|
||
v_status VARCHAR2 (60);
|
||
v_gebruiker VARCHAR2 (60);
|
||
v_testdatum VARCHAR2 (60);
|
||
v_geldig_tot VARCHAR2 (60);
|
||
v_locatie VARCHAR2 (60);
|
||
v_activiteit VARCHAR2 (60);
|
||
v_commentaar VARCHAR2 (60);
|
||
v_reparatie_code VARCHAR2 (60);
|
||
v_visuele_test VARCHAR2 (60);
|
||
v_isolatie_sonde VARCHAR2 (60);
|
||
v_vermogen VARCHAR2 (60);
|
||
v_beschermingsleiding VARCHAR2 (60);
|
||
v_isolatie VARCHAR2 (60);
|
||
|
||
-- Overig:
|
||
v_ins_controle_datum_d DATE; -- DATE
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
DELETE FROM mare_imp_insp_metrel;
|
||
|
||
COMMIT;
|
||
|
||
-- Het aangeleverde bestand heeft de gegevens komma gescheiden ipv ;
|
||
v_errorhint := 'Delimiter goed zetten';
|
||
|
||
UPDATE fac_imp_file
|
||
SET fac_imp_file_line = REPLACE (fac_imp_file_line, '","', ';')
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
-- Ook heeft het aangeleverde bestand "" om de string staan, na bovenstaand om de gehele string zelfs.
|
||
v_errorhint := 'Delimiter goed zetten';
|
||
|
||
UPDATE fac_imp_file
|
||
SET fac_imp_file_line = REPLACE (fac_imp_file_line, '"', '')
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
header_is_valid := 0;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout bij opvragen importregel';
|
||
v_aanduiding := '';
|
||
v_ongeldig := 0;
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield (v_newline, c_delim, v_projekt);
|
||
fac.imp_getfield (v_newline, c_delim, v_ruimte);
|
||
fac.imp_getfield (v_newline, c_delim, v_apparaat_nummer);
|
||
fac.imp_getfield (v_newline, c_delim, v_apparaat_naam);
|
||
fac.imp_getfield (v_newline, c_delim, v_status);
|
||
fac.imp_getfield (v_newline, c_delim, v_gebruiker);
|
||
fac.imp_getfield (v_newline, c_delim, v_testdatum);
|
||
fac.imp_getfield (v_newline, c_delim, v_geldig_tot);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie);
|
||
fac.imp_getfield (v_newline, c_delim, v_activiteit);
|
||
fac.imp_getfield (v_newline, c_delim, v_commentaar);
|
||
fac.imp_getfield (v_newline, c_delim, v_reparatie_code);
|
||
fac.imp_getfield (v_newline, c_delim, v_visuele_test);
|
||
fac.imp_getfield (v_newline, c_delim, v_isolatie_sonde);
|
||
fac.imp_getfield (v_newline, c_delim, v_vermogen);
|
||
fac.imp_getfield (v_newline, c_delim, v_beschermingsleiding);
|
||
fac.imp_getfield (v_newline, c_delim, v_isolatie);
|
||
|
||
|
||
v_aanduiding :=
|
||
'[' || v_apparaat_nummer || ' (' || v_apparaat_naam || ')] ';
|
||
|
||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (v_projekt) = 'PROJEKT'
|
||
AND UPPER (v_ruimte) = 'RUIMTE'
|
||
AND UPPER (v_apparaat_nummer) = 'APPARAAT/PROJECT' --Deze header is de enige die qua naam afwijkt van naam variabele
|
||
AND UPPER (v_apparaat_naam) = 'APPARAAT NAAM'
|
||
AND UPPER (v_status) = 'STATUS'
|
||
AND UPPER (v_gebruiker) = 'GEBRUIKER'
|
||
AND UPPER (v_testdatum) = 'TESTDATUM'
|
||
AND UPPER (v_geldig_tot) = 'GELDIG TOT'
|
||
AND UPPER (v_locatie) = 'LOCATIE'
|
||
AND UPPER (v_activiteit) = 'ACTIVITEIT'
|
||
AND UPPER (v_commentaar) = 'COMMENTAAR'
|
||
AND UPPER (v_reparatie_code) = 'REPARATIE CODE'
|
||
AND UPPER (v_visuele_test) = 'VISUELE TEST'
|
||
AND UPPER (v_isolatie_sonde) = 'ISOLATIE SONDE'
|
||
AND UPPER (v_vermogen) = 'VERMOGEN'
|
||
AND UPPER (v_beschermingsleiding) = 'BESCHERMINGSLEIDING'
|
||
AND UPPER (v_isolatie) = 'ISOLATIE'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
-- Controleer alle veldwaarden
|
||
v_errormsg := 'Locatiecode ongeldig';
|
||
|
||
v_projekt := TRIM (v_projekt);
|
||
|
||
IF LENGTH (v_projekt) > 60
|
||
THEN
|
||
v_projekt := SUBSTR (v_projekt, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Projekt wordt afgebroken tot [' || v_projekt || ']');
|
||
END IF;
|
||
|
||
|
||
v_ruimte := TRIM (v_ruimte);
|
||
|
||
IF LENGTH (v_ruimte) > 60
|
||
THEN
|
||
v_ruimte := SUBSTR (v_ruimte, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Ruimte wordt afgebroken tot [' || v_ruimte || ']');
|
||
END IF;
|
||
|
||
v_apparaat_nummer := TRIM (v_apparaat_nummer);
|
||
|
||
IF LENGTH (v_apparaat_nummer) > 60
|
||
THEN
|
||
v_apparaat_nummer := SUBSTR (v_apparaat_nummer, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Apparaat nummer wordt afgebroken tot ['
|
||
|| v_apparaat_nummer
|
||
|| ']');
|
||
END IF;
|
||
|
||
v_apparaat_naam := TRIM (v_apparaat_naam);
|
||
|
||
IF LENGTH (v_apparaat_naam) > 60
|
||
THEN
|
||
v_apparaat_naam := SUBSTR (v_apparaat_naam, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Apparaat naam wordt afgebroken tot ['
|
||
|| v_apparaat_naam
|
||
|| ']');
|
||
END IF;
|
||
|
||
v_status := TRIM (v_status);
|
||
|
||
IF LENGTH (v_status) > 60
|
||
THEN
|
||
v_status := SUBSTR (v_status, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Status wordt afgebroken tot [' || v_status || ']');
|
||
END IF;
|
||
|
||
v_gebruiker := TRIM (v_gebruiker);
|
||
|
||
IF LENGTH (v_gebruiker) > 60
|
||
THEN
|
||
v_gebruiker := SUBSTR (v_gebruiker, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Gebruiker wordt afgebroken tot [' || v_gebruiker || ']');
|
||
END IF;
|
||
|
||
v_testdatum := TRIM (v_testdatum);
|
||
|
||
IF LENGTH (v_testdatum) > 60
|
||
THEN
|
||
v_testdatum := SUBSTR (v_testdatum, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Testdatum wordt afgebroken tot [' || v_testdatum || ']');
|
||
END IF;
|
||
|
||
v_geldig_tot := TRIM (v_geldig_tot);
|
||
|
||
IF LENGTH (v_geldig_tot) > 60
|
||
THEN
|
||
v_geldig_tot := SUBSTR (v_geldig_tot, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Geldig tot wordt afgebroken tot [' || v_geldig_tot || ']');
|
||
END IF;
|
||
|
||
v_locatie := TRIM (v_locatie);
|
||
|
||
IF LENGTH (v_locatie) > 60
|
||
THEN
|
||
v_locatie := SUBSTR (v_locatie, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Locatie wordt afgebroken tot [' || v_locatie || ']');
|
||
END IF;
|
||
|
||
v_activiteit := TRIM (v_activiteit);
|
||
|
||
IF LENGTH (v_activiteit) > 60
|
||
THEN
|
||
v_activiteit := SUBSTR (v_activiteit, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Activiteit wordt afgebroken tot [' || v_activiteit || ']');
|
||
END IF;
|
||
|
||
v_commentaar := TRIM (v_commentaar);
|
||
|
||
IF LENGTH (v_commentaar) > 60
|
||
THEN
|
||
v_commentaar := SUBSTR (v_commentaar, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Commentaar wordt afgebroken tot [' || v_commentaar || ']');
|
||
END IF;
|
||
|
||
v_reparatie_code := TRIM (v_reparatie_code);
|
||
|
||
IF LENGTH (v_reparatie_code) > 60
|
||
THEN
|
||
v_reparatie_code := SUBSTR (v_reparatie_code, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Reparatiecode wordt afgebroken tot ['
|
||
|| v_reparatie_code
|
||
|| ']');
|
||
END IF;
|
||
|
||
v_visuele_test := TRIM (v_visuele_test);
|
||
|
||
IF LENGTH (v_visuele_test) > 60
|
||
THEN
|
||
v_visuele_test := SUBSTR (v_visuele_test, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Visuele test wordt afgebroken tot ['
|
||
|| v_visuele_test
|
||
|| ']');
|
||
END IF;
|
||
|
||
v_isolatie_sonde := TRIM (v_isolatie_sonde);
|
||
|
||
IF LENGTH (v_isolatie_sonde) > 60
|
||
THEN
|
||
v_isolatie_sonde := SUBSTR (v_isolatie_sonde, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Isolatie sonde wordt afgebroken tot ['
|
||
|| v_isolatie_sonde
|
||
|| ']');
|
||
END IF;
|
||
|
||
v_vermogen := TRIM (v_vermogen);
|
||
|
||
IF LENGTH (v_vermogen) > 60
|
||
THEN
|
||
v_vermogen := SUBSTR (v_vermogen, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Vermogen wordt afgebroken tot [' || v_vermogen || ']');
|
||
END IF;
|
||
|
||
v_beschermingsleiding := TRIM (v_beschermingsleiding);
|
||
|
||
IF LENGTH (v_beschermingsleiding) > 60
|
||
THEN
|
||
v_beschermingsleiding := SUBSTR (v_beschermingsleiding, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Beschermingsgeleiding wordt afgebroken tot ['
|
||
|| v_beschermingsleiding
|
||
|| ']');
|
||
END IF;
|
||
|
||
v_isolatie := TRIM (v_isolatie);
|
||
|
||
IF LENGTH (v_isolatie) > 60
|
||
THEN
|
||
v_isolatie := SUBSTR (v_isolatie, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Isolatie wordt afgebroken tot [' || v_isolatie || ']');
|
||
END IF;
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij wegschrijven importregel';
|
||
|
||
INSERT INTO mare_imp_insp_metrel (alg_locatie_code,
|
||
ins_deel_omschrijving,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_deelsrtcontrole_opmerking,
|
||
apparaatnummer,
|
||
gebruiker,
|
||
status,
|
||
visuele_test,
|
||
isolatie_sonde,
|
||
vermogen,
|
||
beschermingsleiding,
|
||
isolatie)
|
||
VALUES (v_locatie,
|
||
v_apparaat_naam,
|
||
'Metrel',
|
||
v_testdatum,
|
||
v_commentaar,
|
||
v_apparaat_nummer,
|
||
v_gebruiker,
|
||
v_status,
|
||
v_visuele_test,
|
||
v_isolatie_sonde,
|
||
v_vermogen,
|
||
v_beschermingsleiding,
|
||
v_isolatie);
|
||
|
||
COMMIT;
|
||
v_count_import := v_count_import + 1;
|
||
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,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
|
||
COMMIT;
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Ongeldig importbestand',
|
||
'Geen header of header niet volgens specificatie!');
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Inspectieobjecten/aantal ingelezen importregels: '
|
||
|| TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Inspectieobjecten/aantal ongeldige niet ingelezen importregels: '
|
||
|| TO_CHAR (v_count_tot - v_count_import),
|
||
'');
|
||
END IF;
|
||
|
||
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',
|
||
v_aanduiding || v_errormsg,
|
||
'Inleesproces inspectieobjecten afgebroken!' || v_errorhint);
|
||
END mare_import_insp_metrel;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE mare_update_insp_metrel (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER (10);
|
||
v_count_tot NUMBER (10);
|
||
v_count_cupdate NUMBER (10);
|
||
v_aanduiding VARCHAR (200);
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT i.alg_locatie_code,
|
||
i.ins_deel_omschrijving,
|
||
i.ins_srtcontrole_omschrijving,
|
||
i.ins_deelsrtcontrole_datum,
|
||
i.ins_deelsrtcontrole_opmerking,
|
||
i.apparaatnummer,
|
||
i.gebruiker,
|
||
i.status,
|
||
i.visuele_test,
|
||
i.isolatie_sonde,
|
||
i.vermogen,
|
||
i.beschermingsleiding,
|
||
i.isolatie,
|
||
ad.ins_srtdeel_key,
|
||
g.ins_srtgroep_key,
|
||
ad.ins_discipline_key,
|
||
al.alg_locatie_key,
|
||
sc.ins_srtcontrole_key,
|
||
sc.ins_srtinstallatie_key,
|
||
ad.ins_deel_key,
|
||
u.ultimonummer,
|
||
u.uniek_nummer
|
||
FROM mare_imp_insp_metrel i,
|
||
ins_srtcontrole sc,
|
||
ins_v_aanwezigdeel ad,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep g,
|
||
alg_v_aanweziglocatie al,
|
||
mare_v_objectnummers u
|
||
WHERE fac.safe_to_number (i.apparaatnummer) = u.uniek_nummer
|
||
AND ad.ins_deel_key = u.ins_deel_key(+)
|
||
AND sd.ins_srtdeel_key(+) = ad.ins_srtdeel_key
|
||
AND g.ins_srtgroep_key(+) = sd.ins_srtgroep_key
|
||
AND al.alg_locatie_key(+) = ad.ins_alg_locatie_key
|
||
AND sd.ins_srtdeel_key = sc.ins_srtinstallatie_key
|
||
AND sc.ins_srtcontrole_niveau = 'S'
|
||
AND UPPER (sc.ins_srtcontrole_omschrijving) LIKE '%METREL%';
|
||
|
||
v_deel_key NUMBER (10);
|
||
v_kenmerk_key NUMBER (10);
|
||
v_kenmerkdeel_key NUMBER (10);
|
||
v_srtcontrole_id VARCHAR2 (20);
|
||
v_controlemode_succes_key NUMBER (10);
|
||
v_controlemode_afkeur_key NUMBER (10);
|
||
v_deelsrtcontrole_key NUMBER (10);
|
||
BEGIN
|
||
v_count := 0;
|
||
v_count_tot := 0;
|
||
v_count_cupdate := 0;
|
||
v_aanduiding := '';
|
||
|
||
--
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
'['
|
||
|| rec.ins_deel_omschrijving
|
||
|| '|'
|
||
|| rec.alg_locatie_code
|
||
|| '|'
|
||
|| rec.ins_srtcontrole_omschrijving
|
||
|| '|'
|
||
|| rec.ins_deelsrtcontrole_datum
|
||
|| '] ';
|
||
|
||
-- We kunnen alleen iets met objecten die we kennen!
|
||
IF (rec.ins_deel_key IS NULL OR rec.alg_locatie_key IS NULL)
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Objectcode onbekend (binnen locatie); regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
|
||
-- Zonder datum doen we niks
|
||
IF (rec.ins_deelsrtcontrole_datum IS NULL)
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Geen datum ingevuld; regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
|
||
-- Kennen we de srtcontrole uberhaupt?
|
||
IF (rec.ins_srtcontrole_key IS NULL)
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Soort taak onbekend; regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
|
||
-- En hoort die srtcontrole ook bij deze objectsoort/-groep/discipline?
|
||
v_errormsg := 'srtcontrole bij objectsoort';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM ins_srtcontrole sc
|
||
WHERE sc.ins_srtcontrole_key = rec.ins_srtcontrole_key
|
||
AND sc.ins_srtinstallatie_key =
|
||
DECODE (sc.ins_srtcontrole_niveau,
|
||
'S', rec.ins_srtdeel_key,
|
||
'G', rec.ins_srtgroep_key,
|
||
'D', rec.ins_discipline_key);
|
||
|
||
-- Nee --> overslaan
|
||
IF (v_count = 0)
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Soort taak hoort niet bij object; regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
|
||
-- TODO: kan een srtcontrole meerdere malen aan een object gekoppeld zijn? Dan dat nog specifieker bepalen?
|
||
|
||
IF (rec.ins_deelsrtcontrole_datum IS NULL)
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Geen datum opgegeven; regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen controlemethode succes';
|
||
|
||
SELECT MIN (cm.ins_controlemode_key)
|
||
INTO v_controlemode_succes_key
|
||
FROM ins_controlemode cm, ctr_disc_params dp, ins_srtcontrole sc
|
||
WHERE cm.ins_controlemode_success = 1
|
||
AND cm.ins_srtcontrole_type =
|
||
dp.ctr_disc_params_controle_type
|
||
AND dp.ctr_ins_discipline_key = sc.ctr_discipline_key
|
||
AND sc.ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||
|
||
v_errormsg := 'Fout bij bepalen controlemethode afgekeurd';
|
||
|
||
SELECT MIN (cm.ins_controlemode_key)
|
||
INTO v_controlemode_afkeur_key
|
||
FROM ins_controlemode cm, ctr_disc_params dp, ins_srtcontrole sc
|
||
WHERE cm.ins_controlemode_success = 0
|
||
AND cm.ins_srtcontrole_type =
|
||
dp.ctr_disc_params_controle_type
|
||
AND dp.ctr_ins_discipline_key = sc.ctr_discipline_key
|
||
AND sc.ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||
|
||
-- TODO: ins_deelsrtcontrole_datum_org is de datum waarop de taak eigenlijk gedaan had
|
||
-- moeten worden. Die staat bij taken met standaardperiode 0 in ins_srtcontroledl_xcp en
|
||
-- zal doorgaans afwijken van de datum in het importbestand.
|
||
v_errormsg := 'Fout bij toevoegen controle';
|
||
|
||
INSERT INTO ins_deelsrtcontrole (ins_deel_key,
|
||
ins_srtcontrole_key,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_controlemode_key,
|
||
ins_deelsrtcontrole_opmerking)
|
||
VALUES (rec.ins_deel_key,
|
||
rec.ins_srtcontrole_key,
|
||
SYSDATE,
|
||
SYSDATE,
|
||
DECODE (NULL, --rec.afgekeurd
|
||
NULL, v_controlemode_succes_key,
|
||
v_controlemode_afkeur_key),
|
||
rec.ins_deelsrtcontrole_opmerking)
|
||
RETURNING ins_deelsrtcontrole_key
|
||
INTO v_deelsrtcontrole_key;
|
||
|
||
IF (rec.status IS NOT NULL)
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij bepalen kenmerk Status';
|
||
|
||
SELECT MIN (ins_kenmerk_key)
|
||
INTO v_kenmerk_key
|
||
FROM ins_kenmerk k, ins_srtkenmerk sk, ins_srtcontrole sc
|
||
WHERE k.ins_kenmerk_niveau = 'C'
|
||
AND k.ins_srtinstallatie_key = sc.ins_srtcontrole_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_srtinstallatie_key = rec.ins_srtcontrole_key
|
||
AND k.ins_srtkenmerk_key = 41; --Taakkenmerk 'Status'
|
||
|
||
v_errormsg := 'Kenmerk Status vastleggen';
|
||
|
||
INSERT INTO ins_kmdeelsrtcontr (ins_deelsrtcontrole_key,
|
||
ins_kenmerk_key,
|
||
ins_kmdeelsrtcontr_waarde)
|
||
VALUES (v_deelsrtcontrole_key, v_kenmerk_key, rec.status);
|
||
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',
|
||
v_errormsg,
|
||
v_aanduiding);
|
||
END;
|
||
END IF;
|
||
|
||
|
||
IF (rec.visuele_test IS NOT NULL)
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij bepalen kenmerk Visuele test';
|
||
|
||
SELECT MIN (ins_kenmerk_key)
|
||
INTO v_kenmerk_key
|
||
FROM ins_kenmerk k, ins_srtkenmerk sk, ins_srtcontrole sc
|
||
WHERE k.ins_kenmerk_niveau = 'C'
|
||
AND k.ins_srtinstallatie_key = sc.ins_srtcontrole_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_srtinstallatie_key = rec.ins_srtcontrole_key
|
||
AND k.ins_srtkenmerk_key = 42; --Taakkenmerk 'Visuele test'
|
||
|
||
v_errormsg := 'Kenmerk Visuele test vastleggen';
|
||
|
||
INSERT INTO ins_kmdeelsrtcontr (ins_deelsrtcontrole_key,
|
||
ins_kenmerk_key,
|
||
ins_kmdeelsrtcontr_waarde)
|
||
VALUES (v_deelsrtcontrole_key,
|
||
v_kenmerk_key,
|
||
rec.visuele_test);
|
||
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',
|
||
v_errormsg,
|
||
v_aanduiding);
|
||
END;
|
||
END IF;
|
||
|
||
IF (rec.isolatie_sonde IS NOT NULL)
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij bepalen kenmerk Isolatie sonde';
|
||
|
||
SELECT MIN (ins_kenmerk_key)
|
||
INTO v_kenmerk_key
|
||
FROM ins_kenmerk k, ins_srtkenmerk sk, ins_srtcontrole sc
|
||
WHERE k.ins_kenmerk_niveau = 'C'
|
||
AND k.ins_srtinstallatie_key = sc.ins_srtcontrole_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_srtinstallatie_key = rec.ins_srtcontrole_key
|
||
AND k.ins_srtkenmerk_key = 43; --Taakkenmerk 'Isolatie sonde'
|
||
|
||
v_errormsg := 'Kenmerk Isolatie sonde vastleggen';
|
||
|
||
INSERT INTO ins_kmdeelsrtcontr (ins_deelsrtcontrole_key,
|
||
ins_kenmerk_key,
|
||
ins_kmdeelsrtcontr_waarde)
|
||
VALUES (v_deelsrtcontrole_key,
|
||
v_kenmerk_key,
|
||
rec.isolatie_sonde);
|
||
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',
|
||
v_errormsg,
|
||
v_aanduiding);
|
||
END;
|
||
END IF;
|
||
|
||
IF (rec.vermogen IS NOT NULL)
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij bepalen kenmerk Vermogen';
|
||
|
||
SELECT MIN (ins_kenmerk_key)
|
||
INTO v_kenmerk_key
|
||
FROM ins_kenmerk k, ins_srtkenmerk sk, ins_srtcontrole sc
|
||
WHERE k.ins_kenmerk_niveau = 'C'
|
||
AND k.ins_srtinstallatie_key = sc.ins_srtcontrole_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_srtinstallatie_key = rec.ins_srtcontrole_key
|
||
AND k.ins_srtkenmerk_key = 44; --Taakkenmerk 'Vermogen'
|
||
|
||
v_errormsg := 'Kenmerk Vermogen vastleggen';
|
||
|
||
INSERT INTO ins_kmdeelsrtcontr (ins_deelsrtcontrole_key,
|
||
ins_kenmerk_key,
|
||
ins_kmdeelsrtcontr_waarde)
|
||
VALUES (v_deelsrtcontrole_key, v_kenmerk_key, rec.vermogen);
|
||
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',
|
||
v_errormsg,
|
||
v_aanduiding);
|
||
END;
|
||
END IF;
|
||
|
||
IF (rec.beschermingsleiding IS NOT NULL)
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij bepalen kenmerk Beschermingsleiding';
|
||
|
||
SELECT MIN (ins_kenmerk_key)
|
||
INTO v_kenmerk_key
|
||
FROM ins_kenmerk k, ins_srtkenmerk sk, ins_srtcontrole sc
|
||
WHERE k.ins_kenmerk_niveau = 'C'
|
||
AND k.ins_srtinstallatie_key = sc.ins_srtcontrole_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_srtinstallatie_key = rec.ins_srtcontrole_key
|
||
AND k.ins_srtkenmerk_key = 45; --Taakkenmerk 'Beschermingsleiding'
|
||
|
||
v_errormsg := 'Kenmerk Beschermingsleiding vastleggen';
|
||
|
||
INSERT INTO ins_kmdeelsrtcontr (ins_deelsrtcontrole_key,
|
||
ins_kenmerk_key,
|
||
ins_kmdeelsrtcontr_waarde)
|
||
VALUES (v_deelsrtcontrole_key,
|
||
v_kenmerk_key,
|
||
rec.beschermingsleiding);
|
||
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',
|
||
v_errormsg,
|
||
v_aanduiding);
|
||
END;
|
||
END IF;
|
||
|
||
|
||
IF (rec.isolatie IS NOT NULL)
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij bepalen kenmerk Isolatie';
|
||
|
||
SELECT MIN (ins_kenmerk_key)
|
||
INTO v_kenmerk_key
|
||
FROM ins_kenmerk k, ins_srtkenmerk sk, ins_srtcontrole sc
|
||
WHERE k.ins_kenmerk_niveau = 'C'
|
||
AND k.ins_srtinstallatie_key = sc.ins_srtcontrole_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_srtinstallatie_key = rec.ins_srtcontrole_key
|
||
AND k.ins_srtkenmerk_key = 46; --Taakkenmerk 'Isolatie'
|
||
|
||
v_errormsg := 'Kenmerk Isolatie vastleggen';
|
||
|
||
INSERT INTO ins_kmdeelsrtcontr (ins_deelsrtcontrole_key,
|
||
ins_kenmerk_key,
|
||
ins_kmdeelsrtcontr_waarde)
|
||
VALUES (v_deelsrtcontrole_key, v_kenmerk_key, rec.isolatie);
|
||
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',
|
||
v_errormsg,
|
||
v_aanduiding);
|
||
END;
|
||
END IF;
|
||
|
||
v_count_cupdate := v_count_cupdate + 1;
|
||
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',
|
||
v_errormsg,
|
||
v_aanduiding);
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Aantal ingelezen taken: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Aantal verwerkte taken: ' || TO_CHAR (v_count_cupdate),
|
||
'');
|
||
COMMIT;
|
||
END mare_update_insp_metrel;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW MARE_V_NOTI_CNTREMINDER
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
PAR1,
|
||
PAR2,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
ATTACHMENTS,
|
||
XSENDER,
|
||
PRS_BEDRIJFADRES_KEY
|
||
)
|
||
AS
|
||
SELECT '',
|
||
'',
|
||
c.prs_perslid_key_beh, -- Contractbeheerder
|
||
--beh.prs_perslid_key, -- Contractbeheerders
|
||
'Rappel: Contract '
|
||
|| c.cnt_contract_nummer_intern
|
||
|| DECODE (cnt_contract_versie,
|
||
NULL, '',
|
||
'.' || cnt_contract_versie)
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' moet uiterlijk per '
|
||
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
'DD-MM-YYYY')
|
||
|| ' worden verlengd of opgezegd.',
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
NULL,
|
||
NULL
|
||
xemail,
|
||
NULL
|
||
xmobile,
|
||
NULL
|
||
fac_srtnotificatie_key,
|
||
NULL
|
||
attachments,
|
||
NULL
|
||
xsender,
|
||
NULL
|
||
prs_bedrijfadres_key
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b--, fac_gebruikersgroep beh
|
||
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND cnt_contract_verwijder IS NULL
|
||
AND cnt_contract_status = 0
|
||
--AND beh.fac_groep_key = 81 -- Autorisatiegroep Contractbeheerders
|
||
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
|
||
UNION ALL
|
||
SELECT '',
|
||
'',
|
||
c.prs_perslid_key_eig, -- Eigenaar / verantwoordelijk manager
|
||
'Rappel: Contract '
|
||
|| c.cnt_contract_nummer_intern
|
||
|| DECODE (cnt_contract_versie,
|
||
NULL, '',
|
||
'.' || cnt_contract_versie)
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' moet uiterlijk per '
|
||
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
'DD-MM-YYYY')
|
||
|| ' worden verlengd of opgezegd.',
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
NULL,
|
||
NULL
|
||
xemail,
|
||
NULL
|
||
xmobile,
|
||
NULL
|
||
fac_srtnotificatie_key,
|
||
NULL
|
||
attachments,
|
||
NULL
|
||
xsender,
|
||
NULL
|
||
prs_bedrijfadres_key
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
|
||
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND cnt_contract_verwijder IS NULL
|
||
AND cnt_contract_status = 0
|
||
AND c.prs_perslid_key_eig IS NOT NULL
|
||
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
|
||
UNION ALL
|
||
SELECT '',
|
||
'',
|
||
mt.prs_perslid_key,
|
||
'Rappel: Contract '
|
||
|| c.cnt_contract_nummer_intern
|
||
|| DECODE (cnt_contract_versie,
|
||
NULL, '',
|
||
'.' || cnt_contract_versie)
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' moet uiterlijk per '
|
||
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
'DD-MM-YYYY')
|
||
|| ' worden verlengd of opgezegd.',
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
NULL,
|
||
NULL
|
||
xemail,
|
||
NULL
|
||
xmobile,
|
||
NULL
|
||
fac_srtnotificatie_key,
|
||
NULL
|
||
attachments,
|
||
NULL
|
||
xsender,
|
||
NULL
|
||
prs_bedrijfadres_key
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b, fac_gebruikersgroep mt
|
||
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND cnt_contract_verwijder IS NULL
|
||
AND cnt_contract_status = 0
|
||
AND c.cnt_contract_kosten >= 25000 -- MT leden enkel bij contractwaarde > <20>25000,-
|
||
AND mt.fac_groep_key = 181 -- Autorisatiegroep Contractinzage MT
|
||
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
|
||
|
||
CREATE OR REPLACE VIEW mare_v_noti_restaurant
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'CUST01'
|
||
AS code,
|
||
NULL,
|
||
NULL,
|
||
'Notificatie melding '
|
||
|| m.mld_melding_key
|
||
|| ' '
|
||
|| m.mld_melding_onderwerp
|
||
|| ' ('
|
||
|| b.prs_bedrijf_naam
|
||
|| ')',
|
||
mo.mld_opdr_key,
|
||
NULL,
|
||
'reserveringen.bedrijfsrestaurant@provalu.nl',
|
||
NULL
|
||
FROM mld_melding M,
|
||
mld_opdr mo,
|
||
fac_tracking t,
|
||
prs_bedrijf b,
|
||
prs_bedrijfdienstlocatie bd
|
||
WHERE mo.mld_melding_key = m.mld_melding_key
|
||
AND mo.mld_opdr_key = t.fac_tracking_refkey
|
||
AND mo.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND t.fac_srtnotificatie_key = 75 -- ORDNEW
|
||
AND b.prs_bedrijf_key = bd.prs_bedrijf_key
|
||
AND bd.prs_dienst_key = 2 -- Dienst Bakker
|
||
AND mo.mld_opdr_key NOT IN
|
||
(SELECT n.fac_tracking_refkey
|
||
FROM fac_tracking n, fac_srtnotificatie sn
|
||
WHERE n.fac_srtnotificatie_key =
|
||
sn.fac_srtnotificatie_key
|
||
AND n.fac_tracking_refkey = mo.mld_opdr_key
|
||
AND UPPER (sn.fac_srtnotificatie_code) LIKE
|
||
'%CUST01%')
|
||
AND t.fac_tracking_datum BETWEEN (SELECT fac_notificatie_job_lastrun
|
||
FROM fac_notificatie_job
|
||
WHERE fac_notificatie_job_view =
|
||
'MARE_V_NOTI_RESTAURANT')
|
||
AND (SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE fac_notificatie_job_view =
|
||
'MARE_V_NOTI_RESTAURANT');
|
||
|
||
------ 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
|