ARAI#31599: -
svn path=/Customer/; revision=25714
This commit is contained in:
542
onces/ARAI/arai16.sql
Normal file
542
onces/ARAI/arai16.sql
Normal file
@@ -0,0 +1,542 @@
|
||||
-- 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
|
||||
Reference in New Issue
Block a user