SZDB#75904 -- Inrichting MJOB en conditiemetingen
svn path=/Customer/trunk/; revision=59670
This commit is contained in:
600
SZDB/szdb.sql
600
SZDB/szdb.sql
@@ -997,6 +997,9 @@ IS
|
||||
v_stdmelding_key NUMBER;
|
||||
v_gebrek_code VARCHAR2(100);
|
||||
|
||||
v_omvang_key NUMBER;
|
||||
v_intensiteit_key NUMBER;
|
||||
v_ernst_key NUMBER;
|
||||
|
||||
-- Overige velden:
|
||||
CURSOR c1
|
||||
@@ -1008,6 +1011,23 @@ IS
|
||||
|
||||
BEGIN
|
||||
|
||||
DELETE cnd_imp_nen2767_results;
|
||||
|
||||
SELECT mld_srtkenmerk_key
|
||||
INTO v_omvang_key
|
||||
FROM mld_srtkenmerk
|
||||
WHERE mld_srtkenmerk_code = 'OMVANG';
|
||||
|
||||
SELECT mld_srtkenmerk_key
|
||||
INTO v_ernst_key
|
||||
FROM mld_srtkenmerk
|
||||
WHERE mld_srtkenmerk_code = 'ERNST';
|
||||
|
||||
SELECT mld_srtkenmerk_key
|
||||
INTO v_intensiteit_key
|
||||
FROM mld_srtkenmerk
|
||||
WHERE mld_srtkenmerk_code = 'INTENSITEIT';
|
||||
|
||||
FOR rec1 IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
@@ -1046,8 +1066,8 @@ BEGIN
|
||||
|
||||
SELECT v_gebrek_code,
|
||||
d.ins_discipline_key,
|
||||
v_gebrek_code || 'Onbekend',
|
||||
v_gebrek_code || 'Onbekend',
|
||||
v_gebrek_code || ' Onbekend',
|
||||
v_gebrek_code || ' Onbekend',
|
||||
0,
|
||||
MLD_T_UITVOERTIJD (NULL, 'U'),
|
||||
MLD_T_UITVOERTIJD (2, 'D'),
|
||||
@@ -1069,6 +1089,48 @@ BEGIN
|
||||
'I',
|
||||
v_gebrek_code || ' aangemaakt.',
|
||||
'');
|
||||
|
||||
SELECT mld_stdmelding_key
|
||||
INTO v_stdmelding_key
|
||||
FROM mld_stdmelding
|
||||
WHERE mld_stdmelding_code = v_gebrek_code;
|
||||
|
||||
-- ernst
|
||||
INSERT INTO mld_kenmerk (mld_srtkenmerk_key,
|
||||
mld_stdmelding_key,
|
||||
mld_kenmerk_niveau,
|
||||
mld_kenmerk_verplicht,
|
||||
mld_kenmerk_volgnummer)
|
||||
VALUES (v_ernst_key,
|
||||
v_stdmelding_key,
|
||||
'S',
|
||||
1,
|
||||
10);
|
||||
|
||||
-- omvang
|
||||
INSERT INTO mld_kenmerk (mld_srtkenmerk_key,
|
||||
mld_stdmelding_key,
|
||||
mld_kenmerk_niveau,
|
||||
mld_kenmerk_verplicht,
|
||||
mld_kenmerk_volgnummer)
|
||||
VALUES (v_omvang_key,
|
||||
v_stdmelding_key,
|
||||
'S',
|
||||
1,
|
||||
20);
|
||||
|
||||
-- ernst
|
||||
INSERT INTO mld_kenmerk (mld_srtkenmerk_key,
|
||||
mld_stdmelding_key,
|
||||
mld_kenmerk_niveau,
|
||||
mld_kenmerk_verplicht,
|
||||
mld_kenmerk_volgnummer)
|
||||
VALUES (v_intensiteit_key,
|
||||
v_stdmelding_key,
|
||||
'S',
|
||||
1,
|
||||
30);
|
||||
|
||||
-- dbms_output.put_line ('Ontbrekende code: ' || v_gebrek_code);
|
||||
END;
|
||||
END IF;
|
||||
@@ -1114,6 +1176,540 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE szdb_import_mjobtaken (p_import_key IN NUMBER)
|
||||
IS
|
||||
c_delim VARCHAR2 (2) := fac.import_delimiter(p_import_key);
|
||||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- 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 VARCHAR (400);
|
||||
v_dummy VARCHAR (255);
|
||||
v_alg_gebouw_code VARCHAR2 (255); --VARCHAR2(12),
|
||||
v_ins_deel_externnr VARCHAR2 (255); --VARCHAR2(256),
|
||||
v_ins_deel_omschrijving VARCHAR2 (255); --VARCHAR2(60),
|
||||
v_ins_srtcontrole_omschrijving VARCHAR2 (255); --VARCHAR2(60),
|
||||
v_ins_srtcontrole_level VARCHAR2 (255); --NUMBER(3),
|
||||
v_ins_srtcontroledl_xcp_materia VARCHAR2 (255); --NUMBER(9,2),
|
||||
v_ins_srtcontroledl_xcp_aantal VARCHAR2 (255); --NUMBER(8,2),
|
||||
v_ins_srtcontroledl_xcp_startdat VARCHAR2 (255); --DATE,
|
||||
v_ins_srtcontroledl_xcp_periode VARCHAR2 (255); --NUMBER(6,2)
|
||||
v_ins_srtcontroledl_xcp_perc VARCHAR2 (255); --NUMBER(3)
|
||||
|
||||
v_file_index NUMBER;
|
||||
|
||||
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 szdb_imp_mjob;
|
||||
|
||||
COMMIT;
|
||||
|
||||
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_file_index := rec1.fac_imp_file_index;
|
||||
v_errormsg := 'Fout bij opvragen importregel';
|
||||
v_aanduiding := '';
|
||||
v_ongeldig := 0;
|
||||
-- Lees alle veldwaarden
|
||||
|
||||
fac.imp_getfield (v_newline, c_delim, v_alg_gebouw_code);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_deel_externnr);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_deel_omschrijving);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_omschrijving);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_materia);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_aantal);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_level);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_startdat);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_periode);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_perc);
|
||||
|
||||
v_aanduiding :=
|
||||
'['
|
||||
|| v_alg_gebouw_code
|
||||
|| '|'
|
||||
|| v_ins_deel_externnr
|
||||
|| '|'
|
||||
|| v_ins_deel_omschrijving
|
||||
|| '|'
|
||||
|| 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 NIET-kenmerk kolommen!
|
||||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
IF UPPER (v_alg_gebouw_code) = 'GEBOUW_CODE'
|
||||
AND UPPER (v_ins_deel_externnr) = 'DEEL_EXTERNNR'
|
||||
AND UPPER (v_ins_deel_omschrijving) = 'DEEL_OMSCHRIJVING'
|
||||
AND UPPER (v_ins_srtcontrole_omschrijving) = 'SRTCONTROLE_OMSCHRIJVING'
|
||||
AND UPPER (v_ins_srtcontroledl_xcp_materia) = 'SRTCONTROLEDL_XCP_MATERIA'
|
||||
AND UPPER (v_ins_srtcontroledl_xcp_aantal) = 'SRTCONTROLEDL_XCP_AANTAL'
|
||||
AND UPPER (v_ins_srtcontrole_level) = 'SRTCONTROLE_LEVEL'
|
||||
AND UPPER (v_ins_srtcontroledl_xcp_startdat) = 'SRTCONTROLE_STARTJAAR'
|
||||
AND UPPER (v_ins_srtcontroledl_xcp_periode) = 'SRTCONTROLE_PERIODE'
|
||||
AND UPPER (v_ins_srtcontroledl_xcp_perc) = 'SRTCONTROLE_PERCENTAGE'
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
ELSE
|
||||
IF rec1.fac_imp_file_index = 1
|
||||
THEN
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Ongeldige header aangetroffen:',
|
||||
'GEBOUW_CODE: ' || UPPER (v_alg_gebouw_code) || CHR(10) ||
|
||||
'DEEL_EXTERNNR: ' || UPPER (v_ins_deel_externnr) || CHR(10) ||
|
||||
'DEEL_OMSCHRIJVING: ' || UPPER (v_ins_deel_omschrijving) || CHR(10) ||
|
||||
'SRTCONTROLE_OMSCHRIJVING: ' || UPPER (v_ins_srtcontrole_omschrijving) || CHR(10) ||
|
||||
'SRTCONTROLEDL_XCP_MATERIA: ' || UPPER (v_ins_srtcontroledl_xcp_materia) || CHR(10) ||
|
||||
'SRTCONTROLEDL_XCP_AANTAL: ' || UPPER (v_ins_srtcontroledl_xcp_aantal) || CHR(10) ||
|
||||
'SRTCONTROLE_LEVEL: ' || UPPER (v_ins_srtcontrole_level) || CHR(10) ||
|
||||
'SRTCONTROLE_STARTJAAR: ' || UPPER (v_ins_srtcontroledl_xcp_startdat) || CHR(10) ||
|
||||
'SRTCONTROLE_PERIODE: ' || UPPER (v_ins_srtcontroledl_xcp_periode) || CHR(10) ||
|
||||
'SRTCONTROLE_PERCENTAGE: ' || UPPER (v_ins_srtcontroledl_xcp_perc));
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
v_count_tot := v_count_tot + 1;
|
||||
-- Controleer alle veldwaarden
|
||||
|
||||
v_errormsg := 'Gebouwcode kan niet gevonden worden';
|
||||
v_alg_gebouw_code := TRIM (v_alg_gebouw_code);
|
||||
|
||||
BEGIN
|
||||
SELECT 1
|
||||
INTO v_dummy
|
||||
FROM alg_gebouw g
|
||||
WHERE alg_gebouw_verwijder IS NULL
|
||||
AND UPPER(alg_gebouw_code) = v_alg_gebouw_code;
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Gebouw is niet gevonden'
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
|
||||
v_errormsg := 'Objectid kan niet gevonden worden';
|
||||
v_ins_deel_omschrijving := TRIM (v_ins_deel_omschrijving);
|
||||
IF v_ins_deel_omschrijving IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT 1
|
||||
INTO v_dummy
|
||||
FROM ins_v_deel_gegevens
|
||||
WHERE UPPER(ins_deel_omschrijving) = UPPER(v_ins_deel_omschrijving)
|
||||
AND alg_gebouw_upper = UPPER(v_alg_gebouw_code);
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Object is niet gevonden op id '
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Object externnr kan niet gevonden worden';
|
||||
v_ins_deel_externnr := TRIM (v_ins_deel_externnr);
|
||||
IF v_ins_deel_externnr IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT 1
|
||||
INTO v_dummy
|
||||
FROM ins_v_deel_gegevens dg, ins_deel d
|
||||
WHERE dg.ins_deel_key = d.ins_deel_key
|
||||
AND UPPER(d.ins_deel_externnr) = UPPER(v_ins_deel_externnr)
|
||||
AND dg.alg_gebouw_upper = UPPER(v_alg_gebouw_code);
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Object is niet gevonden op extern id '
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controle op kosten';
|
||||
IF FAC.safe_to_number(v_ins_srtcontroledl_xcp_materia) IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,''
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controle op aantal';
|
||||
IF v_ins_srtcontroledl_xcp_aantal IS NOT NULL AND FAC.safe_to_number(v_ins_srtcontroledl_xcp_aantal) IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,''
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controle op startjaar';
|
||||
IF v_ins_srtcontroledl_xcp_startdat IS NOT NULL AND FAC.safe_to_date('01-01-' || v_ins_srtcontroledl_xcp_startdat, 'dd-mm-yyyy') IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,''
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controle op periode';
|
||||
IF v_ins_srtcontroledl_xcp_periode IS NOT NULL AND FAC.safe_to_number(v_ins_srtcontroledl_xcp_periode) IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,''
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controle op percentage';
|
||||
IF v_ins_srtcontroledl_xcp_perc IS NOT NULL AND FAC.safe_to_number(v_ins_srtcontroledl_xcp_perc) IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,''
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
-- Insert geformatteerde import record
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
BEGIN
|
||||
v_errormsg := 'Fout bij wegschrijven importregel';
|
||||
|
||||
-- Als uit kenmerkheader een geldige kenmerksoort-key volgt,
|
||||
-- dan is kenmerkwaarde<n> gevuld met <key>=<waarde>; zoniet,
|
||||
-- dan is kenmerkwaarde<n> gevuld met <waarde>!
|
||||
-- NB. Een NULL-waarde resulteert NIET in het wissen van een
|
||||
-- kenmerkveld (bijwerken kan wel, maar wissen dus niet)!
|
||||
INSERT INTO szdb_imp_mjob (alg_gebouw_code,
|
||||
ins_deel_externnr,
|
||||
ins_deel_omschrijving,
|
||||
ins_srtcontrole_omschrijving,
|
||||
ins_srtcontrole_level,
|
||||
ins_srtcontroledl_xcp_materia,
|
||||
ins_srtcontroledl_xcp_aantal,
|
||||
ins_srtcontroledl_xcp_startdat,
|
||||
ins_srtcontroledl_xcp_periode,
|
||||
ins_srtcontroledl_xcp_perc)
|
||||
VALUES ( SUBSTR(v_alg_gebouw_code,1,12),
|
||||
SUBSTR(v_ins_deel_externnr,1,256),
|
||||
SUBSTR(v_ins_deel_omschrijving,1,60),
|
||||
SUBSTR(v_ins_srtcontrole_omschrijving,1,60),
|
||||
FAC.safe_to_number(v_ins_srtcontrole_level),
|
||||
FAC.safe_to_number(v_ins_srtcontroledl_xcp_materia),
|
||||
FAC.safe_to_number(v_ins_srtcontroledl_xcp_aantal),
|
||||
FAC.safe_to_date('01-01-' || v_ins_srtcontroledl_xcp_startdat, 'dd-mm-yyyy'),
|
||||
v_ins_srtcontroledl_xcp_periode,
|
||||
FAC.safe_to_number(v_ins_srtcontroledl_xcp_perc));
|
||||
|
||||
COMMIT;
|
||||
v_count_import := v_count_import + 1;
|
||||
END;
|
||||
|
||||
END IF;
|
||||
END IF;
|
||||
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 LOOP;
|
||||
|
||||
IF (header_is_valid = 1)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
'Taken/aantal ingelezen importregels: ' || TO_CHAR (v_count_tot),
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
'Taken/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 taken afgebroken! regel:' || v_file_index);
|
||||
END szdb_import_mjobtaken;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE szdb_update_mjobtaken (
|
||||
p_import_key IN NUMBER)
|
||||
IS
|
||||
|
||||
CURSOR c IS
|
||||
SELECT * FROM szdb_imp_mjob;
|
||||
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count_tot NUMBER (10);
|
||||
v_count_import NUMBER (10);
|
||||
v_ongeldig NUMBER (1);
|
||||
v_aanduiding VARCHAR (400);
|
||||
v_ins_deel_key NUMBER;
|
||||
v_ins_srtdeel_key NUMBER;
|
||||
v_ins_srtcontrole_key NUMBER;
|
||||
v_ins_srtcontroledl_xcp_key NUMBER;
|
||||
v_ctr_discipline_key NUMBER;
|
||||
v_alg_gebouw_key NUMBER;
|
||||
v_ins_srtdeel_code INS_SRTDEEL.INS_SRTDEEL_CODE%TYPE;
|
||||
|
||||
BEGIN
|
||||
SELECT MIN(ctr_ins_discipline_key)
|
||||
INTO v_ctr_discipline_key
|
||||
FROM ctr_disc_params
|
||||
WHERE ctr_disc_params_ismjob = 1;
|
||||
|
||||
-- controleer op verwijderde records
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
v_ins_deel_key := NULL;
|
||||
v_aanduiding := rec.alg_gebouw_code || '|' || rec.ins_deel_omschrijving || '|' || rec.ins_deel_externnr || '|' || rec.ins_srtcontrole_omschrijving;
|
||||
v_errormsg := 'Gebouwcode kan niet gevonden worden';
|
||||
|
||||
BEGIN
|
||||
SELECT alg_gebouw_key
|
||||
INTO v_alg_gebouw_key
|
||||
FROM alg_gebouw g
|
||||
WHERE alg_gebouw_verwijder IS NULL
|
||||
AND UPPER(alg_gebouw_code) = rec.alg_gebouw_code;
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Gebouw is niet gevonden'
|
||||
);
|
||||
END;
|
||||
|
||||
v_errormsg := 'Objectid kan niet gevonden worden';
|
||||
IF rec.ins_deel_omschrijving IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT dg.ins_deel_key, sd.ins_srtdeel_key, sd.ins_srtdeel_code
|
||||
INTO v_ins_deel_key, v_ins_srtdeel_key, v_ins_srtdeel_code
|
||||
FROM ins_v_deel_gegevens dg, ins_srtdeel sd
|
||||
WHERE dg.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND UPPER(dg.ins_deel_omschrijving) = UPPER(rec.ins_deel_omschrijving)
|
||||
AND dg.alg_gebouw_upper = UPPER(rec.alg_gebouw_code);
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Object is niet gevonden op id '
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Object externnr kan niet gevonden worden';
|
||||
IF rec.ins_deel_externnr IS NOT NULL AND v_ins_deel_key IS NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT d.ins_deel_key, sd.ins_srtdeel_key, sd.ins_srtdeel_code
|
||||
INTO v_ins_deel_key, v_ins_srtdeel_key, v_ins_srtdeel_code
|
||||
FROM ins_v_deel_gegevens dg, ins_deel d, ins_srtdeel sd
|
||||
WHERE dg.ins_deel_key = d.ins_deel_key
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND UPPER(d.ins_deel_externnr) = UPPER(rec.ins_deel_externnr)
|
||||
AND dg.alg_gebouw_upper = UPPER(rec.alg_gebouw_code);
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Object is niet gevonden op extern id '
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
-- kijk of de srtcontrole al bestaat
|
||||
v_errormsg := 'Kijk of de taak al bestaat';
|
||||
BEGIN
|
||||
SELECT ins_srtcontrole_key
|
||||
INTO v_ins_srtcontrole_key
|
||||
FROM ins_srtcontrole
|
||||
WHERE ins_srtinstallatie_key = v_ins_srtdeel_key
|
||||
AND ins_srtcontrole_niveau = 'S'
|
||||
AND ins_srtcontrole_omschrijving = SUBSTR(v_ins_srtdeel_code || ' - ' || rec.ins_srtcontrole_omschrijving, 1, 60)
|
||||
AND ctr_discipline_key = v_ctr_discipline_key;
|
||||
|
||||
UPDATE ins_srtcontrole
|
||||
SET ins_srtcontrole_level = rec.ins_srtcontrole_level
|
||||
WHERE ins_srtcontrole_key = v_ins_srtcontrole_key;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_errormsg := 'Aanmaken nieuwe taak';
|
||||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||||
ins_srtcontrole_niveau,
|
||||
ins_srtcontrole_omschrijving,
|
||||
ctr_discipline_key,
|
||||
ins_srtcontrole_periode,
|
||||
ins_srtcontrole_eenheid,
|
||||
ins_srtcontrole_level,
|
||||
ins_srtcontrole_materiaal,
|
||||
ins_srtcontrole_percentage)
|
||||
VALUES (v_ins_srtdeel_key,
|
||||
'S',
|
||||
SUBSTR(v_ins_srtdeel_code || ' - ' || rec.ins_srtcontrole_omschrijving, 1, 60),
|
||||
v_ctr_discipline_key,
|
||||
0, -- periode wordt in het xcp record opgegeven
|
||||
4, -- standaard jaar voor MJOB
|
||||
rec.ins_srtcontrole_level,
|
||||
0, -- kosten worden in het xcp record vermeld.
|
||||
100)
|
||||
RETURNING ins_srtcontrole_key INTO v_ins_srtcontrole_key;
|
||||
END;
|
||||
|
||||
-- kijk of de taak uitzondering al bestaat
|
||||
v_errormsg := 'Kijk of de taak al bestaat';
|
||||
BEGIN
|
||||
SELECT ins_srtcontroledl_xcp_key
|
||||
INTO v_ins_srtcontroledl_xcp_key
|
||||
FROM ins_srtcontroledl_xcp
|
||||
WHERE ins_deel_key = v_ins_deel_key
|
||||
AND ins_srtcontrole_key = v_ins_srtcontrole_key;
|
||||
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_periode = rec.ins_srtcontroledl_xcp_periode,
|
||||
ins_srtcontroledl_xcp_aantal = rec.ins_srtcontroledl_xcp_aantal,
|
||||
ins_srtcontroledl_xcp_materia = rec.ins_srtcontroledl_xcp_materia,
|
||||
ins_srtcontroledl_xcp_perc = rec.ins_srtcontroledl_xcp_perc,
|
||||
ins_srtcontroledl_xcp_startdat = rec.ins_srtcontroledl_xcp_startdat
|
||||
WHERE ins_srtcontroledl_xcp_key = v_ins_srtcontroledl_xcp_key;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_errormsg := 'Aanmaken nieuwe taak uitzondering ';
|
||||
INSERT INTO ins_srtcontroledl_xcp (ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_srtcontroledl_xcp_periode,
|
||||
ins_srtcontroledl_xcp_aantal,
|
||||
ins_srtcontroledl_xcp_materia,
|
||||
ins_srtcontroledl_xcp_perc,
|
||||
ins_srtcontroledl_xcp_startdat)
|
||||
VALUES (v_ins_deel_key,
|
||||
v_ins_srtcontrole_key,
|
||||
rec.ins_srtcontroledl_xcp_periode,
|
||||
rec.ins_srtcontroledl_xcp_aantal,
|
||||
rec.ins_srtcontroledl_xcp_materia,
|
||||
rec.ins_srtcontroledl_xcp_perc,
|
||||
rec.ins_srtcontroledl_xcp_startdat)
|
||||
RETURNING ins_srtcontroledl_xcp_key INTO v_ins_srtcontroledl_xcp_key;
|
||||
END;
|
||||
|
||||
fac.imp_writelog (p_import_key, 'I', v_aanduiding || 'Taak is aangemaakt: ' || v_aanduiding, '');
|
||||
COMMIT;
|
||||
|
||||
-- TODO moeten we ook taken gaan verwijderen?
|
||||
|
||||
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,
|
||||
'');
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
-- rapportage om foto's toe te voegen
|
||||
CREATE OR REPLACE VIEW szdb_v_upload_foto_script
|
||||
AS
|
||||
|
||||
Reference in New Issue
Block a user