543 lines
24 KiB
SQL
543 lines
24 KiB
SQL
-- Customer specific once-script ARAI.
|
|
--
|
|
-- (c) 2013 SG|facilitor bv
|
|
-- $Revision$
|
|
-- $Id$
|
|
--
|
|
-- Support: +31 53 4800700
|
|
|
|
SET ECHO ON
|
|
SPOOL arai16.lst
|
|
SET DEFINE OFF
|
|
------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
-- Nieuwe discipline voor gebouwinspecties: gebouwobjecten
|
|
INSERT INTO ins_tab_discipline (ins_discipline_module, ins_discipline_omschrijving)
|
|
SELECT 'INS','Gebouwobjecten' FROM DUAL;
|
|
INSERT INTO ins_disc_params (ins_discipline_key, ins_disc_params_type)
|
|
SELECT MAX(ins_discipline_key),0 FROM ins_tab_discipline;
|
|
|
|
|
|
-- Dummy view om domein alvast te kunnen inserten...
|
|
CREATE OR REPLACE FORCE VIEW arai_v_bedrijveninfo
|
|
(
|
|
prs_bedrijf_key,
|
|
prs_bedrijf_naam,
|
|
prs_bedrijf_telefoon,
|
|
prs_bedrijf_info,
|
|
prs_bedrijf_verwijder
|
|
)
|
|
AS SELECT 1,'X','0','INFO', NULL FROM DUAL;
|
|
|
|
-- Kenmerk Leverancier (via domein)
|
|
INSERT INTO fac_kenmerkdomein (fac_kenmerkdomein_module, fac_kenmerkdomein_omschrijving, fac_kenmerkdomein_objectnaam, fac_kenmerkdomein_kolomnaam, fac_kenmerkdomein_kolomtxt, fac_kenmerkdomein_xmlnode, fac_kenmerkdomein_verval)
|
|
SELECT 'INS', 'Leverancier', 'ARAI_V_BEDRIJVENINFO', 'PRS_BEDRIJF_KEY', 'PRS_BEDRIJF_INFO', 'bedrijf', 'PRS_BEDRIJF_VERWIJDER' FROM DUAL;
|
|
INSERT INTO ins_srtkenmerk (ins_srtkenmerk_omschrijving, ins_srtkenmerk_kenmerktype, fac_kenmerkdomein_key)
|
|
SELECT 'Leverancier', 'S', MAX(fac_kenmerkdomein_key) from fac_kenmerkdomein;
|
|
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep)
|
|
SELECT MAX(sk.ins_srtkenmerk_key), MAX(d.ins_discipline_key), 'D', 100, 'D', 0 FROM ins_srtkenmerk sk, ins_tab_discipline d;
|
|
|
|
|
|
-- Kenmerk Onderhoudspartij (via domein)
|
|
--INSERT INTO fac_kenmerkdomein (fac_kenmerkdomein_module, fac_kenmerkdomein_omschrijving, fac_kenmerkdomein_objectnaam, fac_kenmerkdomein_kolomnaam, fac_kenmerkdomein_kolomtxt, fac_kenmerkdomein_xmlnode, fac_kenmerkdomein_verval)
|
|
--SELECT 'INS', 'Onderhoudspartij', 'ARAI_V_BEDRIJVENINFO', 'PRS_BEDRIJF_KEY', 'PRS_BEDRIJF_INFO', 'bedrijf', 'PRS_BEDRIJF_VERWIJDER' FROM DUAL;
|
|
INSERT INTO ins_srtkenmerk (ins_srtkenmerk_omschrijving, ins_srtkenmerk_kenmerktype, fac_kenmerkdomein_key)
|
|
SELECT 'Onderhoudspartij', 'S', MAX(fac_kenmerkdomein_key) from fac_kenmerkdomein;
|
|
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep)
|
|
SELECT MAX(sk.ins_srtkenmerk_key), MAX(d.ins_discipline_key), 'D', 100, 'D', 0 FROM ins_srtkenmerk sk, ins_tab_discipline d;
|
|
|
|
|
|
|
|
|
|
-- Kenmerk Merk
|
|
INSERT INTO ins_srtkenmerk (ins_srtkenmerk_omschrijving, ins_srtkenmerk_kenmerktype, ins_srtkenmerk_lengte)
|
|
SELECT 'Merk', 'C', 40 from dual;
|
|
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep)
|
|
SELECT MAX(sk.ins_srtkenmerk_key), MAX(d.ins_discipline_key), 'D', 120, 'D', 0 FROM ins_srtkenmerk sk, ins_tab_discipline d;
|
|
|
|
-- Kenmerk Bouwjaar
|
|
INSERT INTO ins_srtkenmerk (ins_srtkenmerk_omschrijving, ins_srtkenmerk_kenmerktype, ins_srtkenmerk_lengte)
|
|
SELECT 'Bouwjaar', 'C', 10 from dual;
|
|
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep)
|
|
SELECT MAX(sk.ins_srtkenmerk_key), MAX(d.ins_discipline_key), 'D', 125, 'D', 0 FROM ins_srtkenmerk sk, ins_tab_discipline d;
|
|
|
|
-- Kenmerk Serienummer
|
|
INSERT INTO ins_srtkenmerk (ins_srtkenmerk_omschrijving, ins_srtkenmerk_kenmerktype, ins_srtkenmerk_lengte)
|
|
SELECT 'Serienummer', 'C', 25 from dual;
|
|
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep)
|
|
SELECT MAX(sk.ins_srtkenmerk_key), MAX(d.ins_discipline_key), 'D', 130, 'D', 0 FROM ins_srtkenmerk sk, ins_tab_discipline d;
|
|
|
|
-- Kenmerk Unit
|
|
INSERT INTO ins_srtkenmerk (ins_srtkenmerk_omschrijving, ins_srtkenmerk_kenmerktype, ins_srtkenmerk_lengte)
|
|
SELECT 'Unit', 'C', 25 from dual;
|
|
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep)
|
|
SELECT MAX(sk.ins_srtkenmerk_key), MAX(d.ins_discipline_key), 'D', 135, 'D', 0 FROM ins_srtkenmerk sk, ins_tab_discipline d;
|
|
|
|
-- Kenmerk Type
|
|
INSERT INTO ins_srtkenmerk (ins_srtkenmerk_omschrijving, ins_srtkenmerk_kenmerktype, ins_srtkenmerk_lengte)
|
|
SELECT 'Type', 'C', 40 from dual;
|
|
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep)
|
|
SELECT MAX(sk.ins_srtkenmerk_key), MAX(d.ins_discipline_key), 'D', 140, 'D', 0 FROM ins_srtkenmerk sk, ins_tab_discipline d;
|
|
|
|
|
|
|
|
----
|
|
-- Als Facilitor 2015.1 nog niet is ge-released, dan onderstaande UPGRADE alvast doen, zodat de import FIP inspectie werkt...
|
|
|
|
ALTER TABLE fac_imp_inspectie MODIFY ins_srtcontrole_periode VARCHAR2(7);
|
|
ALTER TABLE fac_imp_inspectie ADD ins_srtcontrole_mode VARCHAR2(1);
|
|
ALTER TABLE fac_imp_inspectie ADD ins_srtcontrole_eenheid VARCHAR2(1);
|
|
ALTER TABLE fac_imp_inspectie ADD ins_srtcontrole_bits VARCHAR2(4);
|
|
|
|
|
|
------------- INSPECTIEDEFINITIES -------------------
|
|
CREATE OR REPLACE PROCEDURE fac_import_inspectie (p_import_key IN NUMBER)
|
|
IS
|
|
c_delim VARCHAR2 (1) := ';';
|
|
v_newline VARCHAR2 (1000); -- 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_tot NUMBER (10);
|
|
v_count_import NUMBER (10);
|
|
v_ongeldig NUMBER (1);
|
|
v_aanduiding VARCHAR2 (200);
|
|
-- De importvelden
|
|
v_ins_discipline_omschrijving VARCHAR2 (255); -- C30
|
|
v_ins_srtgroep_omschrijving VARCHAR2 (255); -- C60
|
|
v_ins_srtdeel_code VARCHAR2 (255); -- C10
|
|
v_ins_srtcontrole_omschrijving VARCHAR2 (255); -- C60
|
|
v_ins_srtcontrole_info VARCHAR2 (1000); -- C320
|
|
v_ins_srtcontrole_periode VARCHAR2 (255); -- N6,2
|
|
v_ins_srtcontrole_mode VARCHAR2 (255); -- N1: 0=moment-modus of 1=interval-modus
|
|
v_ins_srtcontrole_eenheid VARCHAR2 (255); -- N1: 0=uurlijks, 1=dagelijks, 2=wekelijk, 3=maandelijk, 4=jaarlijks, null=niet
|
|
v_ins_srtcontrole_bits VARCHAR2 (255); -- N4: details, afhankelijk van de mode (mag best null zijn)
|
|
|
|
-- Overige velden:
|
|
CURSOR c1
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
BEGIN
|
|
-- Eerst opruiming
|
|
DELETE FROM fac_imp_inspectie;
|
|
|
|
v_count_tot := 0;
|
|
v_count_import := 0;
|
|
header_is_valid := 0;
|
|
COMMIT;
|
|
|
|
FOR rec1 IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_newline := rec1.fac_imp_file_line;
|
|
v_errormsg := 'Fout opvragen te importeren rij';
|
|
v_aanduiding := '';
|
|
v_ongeldig := 0;
|
|
-- Lees alle veldwaarden
|
|
fac.imp_getfield (v_newline, c_delim, v_ins_discipline_omschrijving);
|
|
fac.imp_getfield (v_newline, c_delim, v_ins_srtgroep_omschrijving);
|
|
fac.imp_getfield (v_newline, c_delim, v_ins_srtdeel_code);
|
|
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_omschrijving);
|
|
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_info);
|
|
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_periode);
|
|
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_eenheid);
|
|
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_mode);
|
|
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_bits);
|
|
|
|
v_aanduiding :=
|
|
'|'
|
|
|| v_ins_discipline_omschrijving
|
|
|| '|'
|
|
|| v_ins_srtgroep_omschrijving
|
|
|| '|'
|
|
|| v_ins_srtdeel_code
|
|
|| '|'
|
|
|| v_ins_srtcontrole_omschrijving
|
|
|| '| ';
|
|
|
|
-- 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_ins_discipline_omschrijving) = 'DISCIPLINEOMSCHRIJVING'
|
|
AND UPPER (v_ins_srtgroep_omschrijving) = 'GROEPSOORTOMSCHRIJVING'
|
|
AND UPPER (v_ins_srtdeel_code) = 'OBJECTSOORTCODE'
|
|
AND UPPER (v_ins_srtcontrole_omschrijving) = 'CONTROLE OMSCHRIJVING'
|
|
AND UPPER (v_ins_srtcontrole_info) = 'CONTROLE INFORMATIE'
|
|
AND UPPER (v_ins_srtcontrole_periode) = 'CONTROLE PERIODE'
|
|
AND UPPER (v_ins_srtcontrole_eenheid) = 'EENHEID'
|
|
AND UPPER (v_ins_srtcontrole_mode) = 'MODE'
|
|
THEN
|
|
header_is_valid := 1;
|
|
END IF;
|
|
ELSE
|
|
v_count_tot := v_count_tot + 1;
|
|
-- Controleer alle veldwaarden
|
|
v_ins_discipline_omschrijving := TRIM (v_ins_discipline_omschrijving);
|
|
|
|
IF LENGTH (v_ins_discipline_omschrijving) > 30
|
|
THEN
|
|
v_ins_discipline_omschrijving :=
|
|
SUBSTR (TRIM (v_ins_discipline_omschrijving), 1, 30);
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
v_aanduiding,
|
|
'Disciplineomschrijving wordt afgebroken tot ['
|
|
|| v_ins_discipline_omschrijving
|
|
|| ']');
|
|
END IF;
|
|
|
|
--
|
|
v_ins_srtgroep_omschrijving := TRIM (v_ins_srtgroep_omschrijving);
|
|
|
|
IF LENGTH (v_ins_srtgroep_omschrijving) > 60
|
|
THEN
|
|
v_ins_srtgroep_omschrijving :=
|
|
SUBSTR (TRIM (v_ins_srtgroep_omschrijving), 1, 60);
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
v_aanduiding,
|
|
'Groepsoortomschrijving wordt afgebroken tot ['
|
|
|| v_ins_srtgroep_omschrijving
|
|
|| ']');
|
|
END IF;
|
|
|
|
--
|
|
v_ins_srtdeel_code := TRIM (v_ins_srtdeel_code);
|
|
|
|
IF LENGTH (v_ins_srtdeel_code) > 10
|
|
THEN
|
|
v_ins_srtdeel_code := SUBSTR (TRIM (v_ins_srtdeel_code), 1, 10);
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
v_aanduiding,
|
|
'Objectsoortcode wordt afgebroken tot [' || v_ins_srtdeel_code || ']');
|
|
END IF;
|
|
|
|
--
|
|
v_ins_srtcontrole_omschrijving := TRIM (v_ins_srtcontrole_omschrijving);
|
|
|
|
IF LENGTH (v_ins_srtcontrole_omschrijving) > 60
|
|
THEN
|
|
v_ins_srtcontrole_omschrijving :=
|
|
SUBSTR (TRIM (v_ins_srtcontrole_omschrijving), 1, 60);
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
v_aanduiding,
|
|
'Controle omschrijving wordt afgebroken tot ['
|
|
|| v_ins_srtcontrole_omschrijving
|
|
|| ']');
|
|
END IF;
|
|
|
|
--
|
|
v_ins_srtcontrole_info := TRIM (v_ins_srtcontrole_info);
|
|
|
|
IF LENGTH (v_ins_srtcontrole_info) > 320
|
|
THEN
|
|
v_ins_srtcontrole_info := SUBSTR (TRIM (v_ins_srtcontrole_info), 1, 320);
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
v_aanduiding,
|
|
'Controle informatie wordt afgebroken tot ['
|
|
|| v_ins_srtcontrole_info
|
|
|| ']');
|
|
END IF;
|
|
|
|
--
|
|
v_ins_srtcontrole_periode := TRIM (v_ins_srtcontrole_periode);
|
|
|
|
IF LENGTH (v_ins_srtcontrole_periode) > 7
|
|
THEN
|
|
v_ins_srtcontrole_periode := SUBSTR (TRIM (v_ins_srtcontrole_periode), 1, 7);
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
v_aanduiding,
|
|
'Controle periode wordt afgebroken tot ['
|
|
|| v_ins_srtcontrole_periode
|
|
|| ']');
|
|
END IF;
|
|
|
|
|
|
--
|
|
v_ins_srtcontrole_eenheid := TRIM (v_ins_srtcontrole_eenheid);
|
|
|
|
IF LENGTH (v_ins_srtcontrole_eenheid) > 1
|
|
THEN
|
|
v_ins_srtcontrole_eenheid := SUBSTR (TRIM (v_ins_srtcontrole_eenheid), 1, 1);
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
v_aanduiding,
|
|
'Controle eenheid wordt afgebroken tot ['
|
|
|| v_ins_srtcontrole_eenheid
|
|
|| ']');
|
|
END IF;
|
|
|
|
|
|
--
|
|
v_ins_srtcontrole_mode := TRIM (v_ins_srtcontrole_mode);
|
|
|
|
IF LENGTH (v_ins_srtcontrole_mode) > 1
|
|
THEN
|
|
v_ins_srtcontrole_mode := SUBSTR (TRIM (v_ins_srtcontrole_mode), 1, 1);
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
v_aanduiding,
|
|
'Controle Mode wordt afgebroken tot ['
|
|
|| v_ins_srtcontrole_mode
|
|
|| ']');
|
|
END IF;
|
|
|
|
--
|
|
v_ins_srtcontrole_bits := TRIM (v_ins_srtcontrole_bits);
|
|
|
|
IF LENGTH (v_ins_srtcontrole_bits) > 4
|
|
THEN
|
|
v_ins_srtcontrole_bits := SUBSTR (TRIM (v_ins_srtcontrole_bits), 1, 4);
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'W',
|
|
v_aanduiding,
|
|
'Controle Bits wordt afgebroken tot ['
|
|
|| v_ins_srtcontrole_bits
|
|
|| ']');
|
|
END IF;
|
|
|
|
|
|
-- Insert geformatteerde import record
|
|
IF v_ongeldig = 0
|
|
THEN
|
|
BEGIN
|
|
INSERT INTO fac_imp_inspectie (ins_discipline_omschrijving,
|
|
ins_srtgroep_omschrijving,
|
|
ins_srtdeel_code,
|
|
ins_srtcontrole_omschrijving,
|
|
ins_srtcontrole_info,
|
|
ins_srtcontrole_periode,
|
|
ins_srtcontrole_eenheid,
|
|
ins_srtcontrole_mode,
|
|
ins_srtcontrole_bits)
|
|
VALUES (v_ins_discipline_omschrijving,
|
|
v_ins_srtgroep_omschrijving,
|
|
v_ins_srtdeel_code,
|
|
v_ins_srtcontrole_omschrijving,
|
|
v_ins_srtcontrole_info,
|
|
v_ins_srtcontrole_periode,
|
|
v_ins_srtcontrole_eenheid,
|
|
v_ins_srtcontrole_mode,
|
|
v_ins_srtcontrole_bits
|
|
);
|
|
|
|
v_count_import := v_count_import + 1;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
'Fout bij toevoegen regel aan importtabel FAC_IMP_INSPECTIE.');
|
|
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',
|
|
'Inspectie controles: aantal ingelezen importregels: ' || TO_CHAR (v_count_tot),
|
|
'');
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'S',
|
|
'Inspectie controles: 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, 100);
|
|
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_errormsg,
|
|
'Inleesproces inspecties afgebroken!');
|
|
END fac_import_inspectie;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE fac_update_inspectie (p_import_key IN NUMBER)
|
|
AS
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
header_is_valid NUMBER;
|
|
v_count_error NUMBER (10);
|
|
v_count NUMBER (10);
|
|
v_count_tot NUMBER (10);
|
|
v_count_import NUMBER (10);
|
|
v_ongeldig NUMBER (1);
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_errorhint VARCHAR2 (1000);
|
|
|
|
|
|
v_ins_srtinstallatie_key NUMBER (10);
|
|
v_ins_srtcontrole_niveau VARCHAR (1);
|
|
|
|
|
|
CURSOR c_inspecties
|
|
IS
|
|
SELECT * FROM fac_imp_inspectie;
|
|
-- MAIN
|
|
BEGIN
|
|
FOR rec_ins IN c_inspecties
|
|
LOOP
|
|
BEGIN
|
|
v_count_tot := v_count_tot + 1;
|
|
v_aanduiding :=
|
|
rec_ins.ins_discipline_omschrijving
|
|
|| ' - '
|
|
|| rec_ins.ins_srtgroep_omschrijving
|
|
|| '-'
|
|
|| rec_ins.ins_srtdeel_code;
|
|
v_errorhint := 'Fout bij bepalen discipline';
|
|
|
|
IF rec_ins.ins_discipline_omschrijving IS NULL
|
|
THEN
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'E',
|
|
v_aanduiding,
|
|
'Discipline mag niet leeg zijn: inspectie wordt niet toegevoegd.');
|
|
ELSE
|
|
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.ins_discipline_omschrijving)
|
|
AND ins_discipline_module = 'INS'
|
|
AND ins_discipline_verwijder IS NULL;
|
|
|
|
IF rec_ins.ins_srtgroep_omschrijving IS NOT NULL
|
|
THEN
|
|
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.ins_srtgroep_omschrijving)
|
|
AND ins_srtgroep_module = 'INS'
|
|
AND ins_srtgroep_verwijder IS NULL
|
|
AND ins_discipline_key = v_ins_srtinstallatie_key;
|
|
|
|
IF rec_ins.ins_srtdeel_code IS NOT NULL
|
|
THEN
|
|
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.ins_srtdeel_code)
|
|
AND ins_srtdeel_module = 'INS'
|
|
AND ins_srtdeel_verwijder IS NULL
|
|
AND ins_srtgroep_key = v_ins_srtinstallatie_key;
|
|
END IF;
|
|
END IF;
|
|
|
|
IF rec_ins.ins_srtcontrole_omschrijving IS NOT NULL
|
|
AND rec_ins.ins_srtcontrole_periode IS NOT NULL
|
|
AND rec_ins.ins_srtcontrole_eenheid IS NOT NULL
|
|
AND rec_ins.ins_srtcontrole_mode IS NOT NULL
|
|
THEN
|
|
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
|
ins_srtcontrole_niveau,
|
|
ins_srtcontrole_omschrijving,
|
|
ins_srtcontrole_info,
|
|
ins_srtcontrole_periode,
|
|
ins_srtcontrole_eenheid,
|
|
ins_srtcontrole_mode
|
|
)
|
|
VALUES (v_ins_srtinstallatie_key,
|
|
v_ins_srtcontrole_niveau,
|
|
rec_ins.ins_srtcontrole_omschrijving,
|
|
rec_ins.ins_srtcontrole_info,
|
|
rec_ins.ins_srtcontrole_periode,
|
|
rec_ins.ins_srtcontrole_eenheid,
|
|
rec_ins.ins_srtcontrole_mode
|
|
);
|
|
ELSE
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'E',
|
|
v_aanduiding,
|
|
'Controle omschrijving en/of Controle Periode mag niet leeg zijn: inspectie wordt niet toegevoegd.');
|
|
END IF;
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
v_count_error := v_count_error + 1;
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
v_errorhint);
|
|
COMMIT;
|
|
END;
|
|
END LOOP;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
|
v_errormsg :=
|
|
v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
'Importproces inspecties afgebroken!',
|
|
v_errormsg);
|
|
END fac_update_inspectie;
|
|
/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------
|
|
BEGIN adm.systrackscriptId('$Id$'); END;
|
|
/
|
|
|
|
commit;
|
|
|
|
SPOOL OFF
|
|
|
|
@arai.sql
|