FCLT#81526 Standaard import voor MJOB
svn path=/Database/branches/DB49/; revision=66675
This commit is contained in:
778
FAC/FAC_PACF.SRC
778
FAC/FAC_PACF.SRC
@@ -22909,6 +22909,9 @@ BEGIN
|
||||
WHERE fac_imp_csv_index = 1
|
||||
AND fac_import_key = p_import_key;
|
||||
|
||||
-- Eerst opruimen
|
||||
DELETE FROM fac_imp_taak_mjob;
|
||||
|
||||
IF (v_header LIKE v_header_csv || '%')
|
||||
THEN
|
||||
v_header_is_valid := 1;
|
||||
@@ -22982,11 +22985,11 @@ BEGIN
|
||||
fac.imp_writelog( p_import_key, 'W', 'Nieuwe taak - Aangepast ivm lengte groter dan 60 '
|
||||
, rec.fac_imp_csv_index || ' - ' || rec.objectidentificatie || ' - ' || rec.taakomschrijving || ' wordt: ' || v_taakomschrijving);
|
||||
END IF;
|
||||
SELECT COALESCE(MAX(ins_srtcontrole_key), -1)
|
||||
SELECT MAX(ins_srtcontrole_key)
|
||||
INTO v_srtcontrole_key
|
||||
FROM ins_srtcontrole
|
||||
WHERE LOWER(ins_srtcontrole_omschrijving) = LOWER(v_taakomschrijving);
|
||||
-- v_srtcontrole_key = -1 als de taak nog niet bestaat.
|
||||
WHERE ins_srtcontrole_omschrijving = v_taakomschrijving;
|
||||
-- v_srtcontrole_key = null als de taak nog niet bestaat.
|
||||
|
||||
-- CSV-kolom F: Controleer taak opmerking
|
||||
v_errormsg := 'Fout controleren taak opmerking ';
|
||||
@@ -23277,7 +23280,8 @@ BEGIN
|
||||
ROLLBACK;
|
||||
fac.imp_writelog(p_import_key, 'E', 'Ongeldig importbestand', 'Toelichting: Verkeerde header. Niet conform specs. ');
|
||||
ELSE
|
||||
fac.imp_writelog(p_import_key, 'S', 'IMPORT TAKEN: aantal te verwerken regels: ' || TO_CHAR (v_count_verwerk) || ' (van de ' || TO_CHAR (v_count_rec) || ' records in csv)' || CHR(13) || CHR(10)
|
||||
fac.imp_writelog(p_import_key, 'S', 'IMPORT TAKEN: import' || CHR(13) || CHR(10)
|
||||
|| 'Aantal te verwerken regels: ' || TO_CHAR (v_count_verwerk) || ' (van de ' || TO_CHAR (v_count_rec) || ' records in csv)' || CHR(13) || CHR(10)
|
||||
|| 'Aantal nieuwe taken: ' || TO_CHAR (v_count_n_taak) || CHR(13) || CHR(10)
|
||||
|| 'Aantal nieuwe objecttaken: ' || TO_CHAR (v_count_n_taakobject) || CHR(13) || CHR(10)
|
||||
|| 'Aantal bestaande, te wijzigen (object)taken: ' || TO_CHAR (v_count_w_taak)
|
||||
@@ -23299,20 +23303,20 @@ AS
|
||||
IS
|
||||
SELECT i.*
|
||||
FROM fac_imp_taak_mjob i
|
||||
WHERE i.ins_srtcontrole_key IS NULL;
|
||||
WHERE (i.ins_srtcontrole_key IS NULL OR i.ins_srtcontrole_key = -1);
|
||||
|
||||
CURSOR c_no -- nieuwe objecttaken aanmaken..
|
||||
IS
|
||||
SELECT i.*
|
||||
FROM fac_imp_taak_mjob i
|
||||
WHERE i.ins_srtcontrole_key IS NOT NULL
|
||||
WHERE (i.ins_srtcontrole_key IS NOT NULL OR i.ins_srtcontrole_key > -1)
|
||||
AND i.ins_srtcontroledl_xcp_key IS NULL;
|
||||
|
||||
CURSOR c_m -- bestaande taak en/of objecttaak wijzigen
|
||||
IS
|
||||
SELECT i.*
|
||||
FROM fac_imp_taak_mjob i
|
||||
WHERE i.ins_srtcontrole_key IS NOT NULL
|
||||
WHERE (i.ins_srtcontrole_key IS NOT NULL OR i.ins_srtcontrole_key > -1)
|
||||
AND i.ins_srtcontroledl_xcp_key IS NOT NULL;
|
||||
|
||||
v_errormsg VARCHAR2(1000);
|
||||
@@ -23349,7 +23353,7 @@ AS
|
||||
v_materiaalkosten ins_srtcontroledl_xcp.ins_srtcontroledl_xcp_materia%TYPE;
|
||||
v_aantal ins_srtcontroledl_xcp.ins_srtcontroledl_xcp_aantal%TYPE;
|
||||
v_aantaleh ins_srtcontroledl_xcp.ins_srtcontroledl_xcp_aanteh%TYPE;
|
||||
|
||||
|
||||
|
||||
|
||||
FUNCTION maakAanduiding_taak(p_deel_key IN NUMBER, p_disc_key IN NUMBER, p_oms IN VARCHAR2, o_srtdeel_key OUT NUMBER) RETURN VARCHAR2
|
||||
@@ -23423,422 +23427,406 @@ AS
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
FOR rec IN c_n
|
||||
LOOP
|
||||
BEGIN
|
||||
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
|
||||
-- Eenzelfde basistaak kan meerdere keren in CSV zitten.
|
||||
-- Daarom gaan we in deze cursor eerst kijken of de basistaak er in deze LOOP al ingezet is.
|
||||
-- Zo ja, dan kunnen we door naar de Objecttaak. Zo niet, dan gaan we eerst de basis
|
||||
v_errormsg := 'Opzoeken basistaak ' || v_aanduiding;
|
||||
SELECT MAX(ins_srtcontrole_key)
|
||||
INTO v_ins_srtcontrole_key
|
||||
FROM ins_srtcontrole
|
||||
WHERE ins_srtcontrole_omschrijving = rec.ins_srtcontrole_omschrijving;
|
||||
BEGIN
|
||||
FOR rec IN c_n
|
||||
LOOP
|
||||
BEGIN
|
||||
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
|
||||
-- Eenzelfde basistaak kan meerdere keren in CSV zitten.
|
||||
-- Daarom gaan we in deze cursor eerst kijken of de basistaak er in deze LOOP al ingezet is.
|
||||
-- Zo ja, dan kunnen we door naar de Objecttaak. Zo niet, dan gaan we eerst de basis
|
||||
v_errormsg := 'Opzoeken basistaak ' || v_aanduiding;
|
||||
SELECT MAX(ins_srtcontrole_key)
|
||||
INTO v_ins_srtcontrole_key
|
||||
FROM ins_srtcontrole
|
||||
WHERE ins_srtcontrole_omschrijving = rec.ins_srtcontrole_omschrijving;
|
||||
|
||||
-- Basistaak aanmaken: geen ins_srtcontrole_key gevonden.
|
||||
IF v_ins_srtcontrole_key IS NULL
|
||||
THEN
|
||||
-- We gaan we eerst op zoek naar de dienst.
|
||||
v_errormsg := 'Aanmaken/opzoeken dienst ' || v_aanduiding;
|
||||
v_dienst_key := NULL;
|
||||
IF rec.prs_dienst_omschrijving IS NOT NULL
|
||||
-- Basistaak aanmaken: geen ins_srtcontrole_key gevonden.
|
||||
IF v_ins_srtcontrole_key IS NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT prs_dienst_key
|
||||
INTO v_dienst_key
|
||||
FROM prs_dienst
|
||||
WHERE UPPER(prs_dienst_omschrijving) = UPPER(rec.prs_dienst_omschrijving);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
INSERT INTO prs_dienst
|
||||
(prs_dienst_omschrijving)
|
||||
VALUES (rec.prs_dienst_omschrijving)
|
||||
RETURNING prs_dienst_key
|
||||
INTO v_dienst_key;
|
||||
END;
|
||||
-- We gaan we eerst op zoek naar de dienst.
|
||||
v_errormsg := 'Aanmaken/opzoeken dienst ' || v_aanduiding;
|
||||
v_dienst_key := NULL;
|
||||
IF rec.prs_dienst_omschrijving IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT prs_dienst_key
|
||||
INTO v_dienst_key
|
||||
FROM prs_dienst
|
||||
WHERE UPPER(prs_dienst_omschrijving) = UPPER(rec.prs_dienst_omschrijving);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
INSERT INTO prs_dienst
|
||||
(prs_dienst_omschrijving)
|
||||
VALUES (rec.prs_dienst_omschrijving)
|
||||
RETURNING prs_dienst_key
|
||||
INTO v_dienst_key;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
v_count_verwerk := v_count_verwerk + 1 ;
|
||||
v_count_n_taak := v_count_n_taak + 1 ;
|
||||
|
||||
v_errormsg := 'Aanmaken taak: ' || v_aanduiding;
|
||||
INSERT INTO ins_srtcontrole
|
||||
( ins_srtinstallatie_key
|
||||
, ins_srtcontrole_niveau
|
||||
, ins_srtcontrole_omschrijving
|
||||
, ctr_discipline_key
|
||||
, ins_srtcontrole_info
|
||||
, ins_srtcontrole_periode
|
||||
, ins_srtcontrole_eenheid
|
||||
, ins_srtcontrole_mode
|
||||
, ins_srtcontrole_level
|
||||
, ins_srtcontrole_opmerking
|
||||
, prs_dienst_key
|
||||
)
|
||||
VALUES
|
||||
( v_srtdeel_key
|
||||
, 'S'
|
||||
, rec.ins_srtcontrole_omschrijving
|
||||
, rec.ctr_discipline_key
|
||||
, NULL
|
||||
, 0
|
||||
, rec.ins_srtcontroledl_xcp_eenheid
|
||||
, 1
|
||||
, COALESCE(rec.ins_srtcontrole_prioriteit, 0)
|
||||
, rec.ins_srtcontrole_opmerking
|
||||
, v_dienst_key
|
||||
)
|
||||
RETURNING ins_srtcontrole_key
|
||||
INTO v_ins_srtcontrole_key;
|
||||
|
||||
fac.trackaction('CTRSUP', v_ins_srtcontrole_key, 4, NULL, 'Periodieke taak toegevoegd - Via taakimport ');
|
||||
END IF;
|
||||
|
||||
v_count_verwerk := v_count_verwerk + 1 ;
|
||||
v_count_n_taak := v_count_n_taak + 1 ;
|
||||
-- Nu kunnen we de objectaak aanmaken
|
||||
v_count_n_taakobject := v_count_n_taakobject + 1 ;
|
||||
v_errormsg := 'Aanmaken taak object: ' || v_aanduiding || ' ['
|
||||
|| rec.ins_deel_key || '|'
|
||||
|| v_ins_srtcontrole_key || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_periode || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_eenheid || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_materia || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_perc || '|'
|
||||
|| rec.ins_srtcontrole_groep || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_opmerk || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_aantal || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_aanteh || ']';
|
||||
|
||||
v_errormsg := 'Aanmaken taak ' || v_aanduiding;
|
||||
INSERT INTO ins_srtcontrole
|
||||
( ins_srtinstallatie_key
|
||||
, ins_srtcontrole_niveau
|
||||
, ins_srtcontrole_omschrijving
|
||||
, ctr_discipline_key
|
||||
, ins_srtcontrole_info
|
||||
, ins_srtcontrole_periode
|
||||
, ins_srtcontrole_eenheid
|
||||
, ins_srtcontrole_mode
|
||||
, ins_srtcontrole_level
|
||||
, ins_srtcontrole_opmerking
|
||||
, prs_dienst_key
|
||||
INSERT INTO ins_srtcontroledl_xcp
|
||||
( ins_deel_key
|
||||
, ins_srtcontrole_key
|
||||
, ins_srtcontroledl_xcp_periode
|
||||
, ins_srtcontroledl_xcp_eenheid
|
||||
, ins_srtcontroledl_xcp_materia
|
||||
, ins_srtcontroledl_xcp_perc
|
||||
, ins_srtcontroledl_xcp_groep
|
||||
, ins_srtcontroledl_xcp_opmerk
|
||||
, ins_srtcontroledl_xcp_aantal
|
||||
, ins_srtcontroledl_xcp_aanteh
|
||||
)
|
||||
VALUES
|
||||
( v_srtdeel_key
|
||||
, 'S'
|
||||
, rec.ins_srtcontrole_omschrijving
|
||||
, rec.ctr_discipline_key
|
||||
, NULL
|
||||
, 0
|
||||
( rec.ins_deel_key
|
||||
, v_ins_srtcontrole_key
|
||||
, rec.ins_srtcontroledl_xcp_periode
|
||||
, rec.ins_srtcontroledl_xcp_eenheid
|
||||
, 1
|
||||
, COALESCE(rec.ins_srtcontrole_prioriteit, 0)
|
||||
, rec.ins_srtcontrole_opmerking
|
||||
, v_dienst_key
|
||||
)
|
||||
RETURNING ins_srtcontrole_key
|
||||
INTO v_ins_srtcontrole_key;
|
||||
, rec.ins_srtcontroledl_xcp_materia
|
||||
, rec.ins_srtcontroledl_xcp_perc
|
||||
, rec.ins_srtcontrole_groep
|
||||
, rec.ins_srtcontroledl_xcp_opmerk
|
||||
, rec.ins_srtcontroledl_xcp_aantal
|
||||
, rec.ins_srtcontroledl_xcp_aanteh
|
||||
);
|
||||
|
||||
fac.trackaction('CTRSUP', v_ins_srtcontrole_key, 4, NULL, 'Periodieke taak toegevoegd - Via taakimport ');
|
||||
END IF;
|
||||
|
||||
-- Nu kunnen we de objectaak aanmaken
|
||||
v_count_n_taakobject := v_count_n_taakobject + 1 ;
|
||||
v_errormsg := 'Aanmaken taak object ' || v_aanduiding || ' ['
|
||||
|| rec.ins_deel_key || '|'
|
||||
|| v_ins_srtcontrole_key || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_periode || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_eenheid || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_materia || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_perc || '|'
|
||||
|| rec.ins_srtcontrole_groep || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_opmerk || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_aantal || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_aanteh || ']';
|
||||
|
||||
INSERT INTO ins_srtcontroledl_xcp
|
||||
( ins_deel_key
|
||||
, ins_srtcontrole_key
|
||||
, ins_srtcontroledl_xcp_periode
|
||||
, ins_srtcontroledl_xcp_eenheid
|
||||
, ins_srtcontroledl_xcp_materia
|
||||
, ins_srtcontroledl_xcp_perc
|
||||
, ins_srtcontroledl_xcp_groep
|
||||
, ins_srtcontroledl_xcp_opmerk
|
||||
, ins_srtcontroledl_xcp_aantal
|
||||
, ins_srtcontroledl_xcp_aanteh
|
||||
)
|
||||
VALUES
|
||||
( rec.ins_deel_key
|
||||
, v_ins_srtcontrole_key
|
||||
, rec.ins_srtcontroledl_xcp_periode
|
||||
, rec.ins_srtcontroledl_xcp_eenheid
|
||||
, rec.ins_srtcontroledl_xcp_materia
|
||||
, rec.ins_srtcontroledl_xcp_perc
|
||||
, rec.ins_srtcontrole_groep
|
||||
, rec.ins_srtcontroledl_xcp_opmerk
|
||||
, rec.ins_srtcontroledl_xcp_aantal
|
||||
, rec.ins_srtcontroledl_xcp_aanteh
|
||||
);
|
||||
|
||||
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
fac.imp_writelog(p_import_key, 'E', v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')', v_errormsg);
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
v_aanduiding := 'Einde loop ' || v_aanduiding;
|
||||
END LOOP;
|
||||
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
|
||||
-- Geen exception handler. Stop verwerking en laat fout in de logging zien.
|
||||
END;
|
||||
v_aanduiding := 'Einde loop ' || v_aanduiding;
|
||||
END LOOP;
|
||||
|
||||
|
||||
FOR rec IN c_no
|
||||
LOOP
|
||||
BEGIN
|
||||
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
|
||||
-- We kunnen direct objectaak aanmaken
|
||||
v_count_verwerk := v_count_verwerk + 1 ;
|
||||
v_count_n_taakobject := v_count_n_taakobject + 1 ;
|
||||
v_errormsg := 'Aanmaken taak object ' || v_aanduiding || ' ['
|
||||
|| rec.ins_deel_key || '|'
|
||||
|| rec.ins_srtcontrole_key || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_periode || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_eenheid || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_materia || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_perc || '|'
|
||||
|| rec.ins_srtcontrole_groep || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_opmerk || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_aantal || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_aanteh || ']';
|
||||
INSERT INTO ins_srtcontroledl_xcp
|
||||
( ins_deel_key
|
||||
, ins_srtcontrole_key
|
||||
, ins_srtcontroledl_xcp_periode
|
||||
, ins_srtcontroledl_xcp_eenheid
|
||||
, ins_srtcontroledl_xcp_materia
|
||||
, ins_srtcontroledl_xcp_perc
|
||||
, ins_srtcontroledl_xcp_groep
|
||||
, ins_srtcontroledl_xcp_opmerk
|
||||
, ins_srtcontroledl_xcp_aantal
|
||||
, ins_srtcontroledl_xcp_aanteh
|
||||
)
|
||||
VALUES
|
||||
( rec.ins_deel_key
|
||||
, rec.ins_srtcontrole_key
|
||||
, rec.ins_srtcontroledl_xcp_periode
|
||||
, rec.ins_srtcontroledl_xcp_eenheid
|
||||
, rec.ins_srtcontroledl_xcp_materia
|
||||
, rec.ins_srtcontroledl_xcp_perc
|
||||
, rec.ins_srtcontrole_groep
|
||||
, rec.ins_srtcontroledl_xcp_opmerk
|
||||
, rec.ins_srtcontroledl_xcp_aantal
|
||||
, rec.ins_srtcontroledl_xcp_aanteh
|
||||
);
|
||||
|
||||
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
fac.imp_writelog(p_import_key, 'E', v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')', v_errormsg);
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
v_aanduiding := 'Einde loop ' || v_aanduiding;
|
||||
END LOOP;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
FOR rec IN c_m
|
||||
LOOP
|
||||
BEGIN
|
||||
v_count_verwerk := v_count_verwerk + 1 ;
|
||||
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
|
||||
|
||||
SELECT COALESCE(t.ins_srtcontrole_opmerking, '<leeg>')
|
||||
, t.ins_srtcontrole_level
|
||||
, COALESCE(MAX(t.prs_dienst_key), -1)
|
||||
, COALESCE(MAX(d.prs_dienst_omschrijving), '<leeg>')
|
||||
INTO v_taakopmerking
|
||||
, v_taakprioriteit
|
||||
, v_taakdienst_key
|
||||
, v_taakdienst_oms
|
||||
FROM ins_srtcontrole t
|
||||
, prs_dienst d
|
||||
WHERE t.prs_dienst_key = d.prs_dienst_key(+)
|
||||
AND t.ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||||
|
||||
-- Basis-taak - Taakopmerking
|
||||
v_errormsg := 'Fout taakopmerking wijzigen ';
|
||||
IF rec.ins_srtcontrole_opmerking IS NOT NULL AND v_taakopmerking <> rec.ins_srtcontrole_opmerking
|
||||
THEN
|
||||
UPDATE ins_srtcontrole
|
||||
SET ins_srtcontrole_opmerking = rec.ins_srtcontrole_opmerking
|
||||
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||||
|
||||
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd Taakopmerking', v_taakopmerking, rec.ins_srtcontrole_opmerking);
|
||||
END IF;
|
||||
|
||||
-- Basis-taak - Taakprioriteit
|
||||
v_errormsg := 'Fout prioriteit wijzigen ';
|
||||
IF rec.ins_srtcontrole_prioriteit IS NOT NULL AND v_taakprioriteit <> rec.ins_srtcontrole_prioriteit
|
||||
THEN
|
||||
UPDATE ins_srtcontrole
|
||||
SET ins_srtcontrole_level = rec.ins_srtcontrole_prioriteit
|
||||
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||||
|
||||
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd Prioriteit', v_taakprioriteit, rec.ins_srtcontrole_prioriteit);
|
||||
END IF;
|
||||
|
||||
-- Basis-taak - Dienst
|
||||
v_errormsg := 'Fout dienst wijzigen ' || v_aanduiding;
|
||||
FOR rec IN c_no
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Dan gaan we kijken of de dienst meegegeven in csv al bestaat
|
||||
IF rec.prs_dienst_omschrijving IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT prs_dienst_key
|
||||
INTO v_dienst_key
|
||||
FROM prs_dienst
|
||||
WHERE UPPER(prs_dienst_omschrijving) = UPPER(rec.prs_dienst_omschrijving);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
INSERT INTO prs_dienst
|
||||
(prs_dienst_omschrijving)
|
||||
VALUES (rec.prs_dienst_omschrijving)
|
||||
RETURNING prs_dienst_key
|
||||
INTO v_dienst_key;
|
||||
END;
|
||||
END IF;
|
||||
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
|
||||
-- We kunnen direct objectaak aanmaken
|
||||
v_count_verwerk := v_count_verwerk + 1 ;
|
||||
v_count_n_taakobject := v_count_n_taakobject + 1 ;
|
||||
v_errormsg := 'Aanmaken taak object bij taak: ' || v_aanduiding || ' ['
|
||||
|| rec.ins_deel_key || '|'
|
||||
|| rec.ins_srtcontrole_key || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_periode || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_eenheid || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_materia || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_perc || '|'
|
||||
|| rec.ins_srtcontrole_groep || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_opmerk || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_aantal || '|'
|
||||
|| rec.ins_srtcontroledl_xcp_aanteh || ']';
|
||||
INSERT INTO ins_srtcontroledl_xcp
|
||||
( ins_deel_key
|
||||
, ins_srtcontrole_key
|
||||
, ins_srtcontroledl_xcp_periode
|
||||
, ins_srtcontroledl_xcp_eenheid
|
||||
, ins_srtcontroledl_xcp_materia
|
||||
, ins_srtcontroledl_xcp_perc
|
||||
, ins_srtcontroledl_xcp_groep
|
||||
, ins_srtcontroledl_xcp_opmerk
|
||||
, ins_srtcontroledl_xcp_aantal
|
||||
, ins_srtcontroledl_xcp_aanteh
|
||||
)
|
||||
VALUES
|
||||
( rec.ins_deel_key
|
||||
, rec.ins_srtcontrole_key
|
||||
, rec.ins_srtcontroledl_xcp_periode
|
||||
, rec.ins_srtcontroledl_xcp_eenheid
|
||||
, rec.ins_srtcontroledl_xcp_materia
|
||||
, rec.ins_srtcontroledl_xcp_perc
|
||||
, rec.ins_srtcontrole_groep
|
||||
, rec.ins_srtcontroledl_xcp_opmerk
|
||||
, rec.ins_srtcontroledl_xcp_aantal
|
||||
, rec.ins_srtcontroledl_xcp_aanteh
|
||||
);
|
||||
|
||||
IF rec.prs_dienst_omschrijving IS NOT NULL AND v_taakdienst_key <> v_dienst_key
|
||||
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
|
||||
-- Geen exception handler. Stop verwerking en laat fout in de logging zien.
|
||||
END;
|
||||
v_aanduiding := 'Einde loop ' || v_aanduiding;
|
||||
END LOOP;
|
||||
|
||||
|
||||
FOR rec IN c_m
|
||||
LOOP
|
||||
BEGIN
|
||||
v_count_verwerk := v_count_verwerk + 1 ;
|
||||
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
|
||||
|
||||
SELECT COALESCE(t.ins_srtcontrole_opmerking, '<leeg>')
|
||||
, t.ins_srtcontrole_level
|
||||
, COALESCE(MAX(t.prs_dienst_key), -1)
|
||||
, COALESCE(MAX(d.prs_dienst_omschrijving), '<leeg>')
|
||||
INTO v_taakopmerking
|
||||
, v_taakprioriteit
|
||||
, v_taakdienst_key
|
||||
, v_taakdienst_oms
|
||||
FROM ins_srtcontrole t
|
||||
, prs_dienst d
|
||||
WHERE t.prs_dienst_key = d.prs_dienst_key(+)
|
||||
AND t.ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||||
|
||||
-- Basis-taak - Taakopmerking
|
||||
v_errormsg := 'Fout taakopmerking wijzigen ';
|
||||
IF rec.ins_srtcontrole_opmerking IS NOT NULL AND v_taakopmerking <> rec.ins_srtcontrole_opmerking
|
||||
THEN
|
||||
UPDATE ins_srtcontrole
|
||||
SET prs_dienst_key = v_dienst_key
|
||||
SET ins_srtcontrole_opmerking = rec.ins_srtcontrole_opmerking
|
||||
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||||
|
||||
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd taakdienst', v_taakdienst_oms, rec.prs_dienst_omschrijving);
|
||||
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd Taakopmerking', v_taakopmerking, rec.ins_srtcontrole_opmerking);
|
||||
END IF;
|
||||
|
||||
-- Basis-taak - Taakprioriteit
|
||||
v_errormsg := 'Fout prioriteit wijzigen ';
|
||||
IF rec.ins_srtcontrole_prioriteit IS NOT NULL AND v_taakprioriteit <> rec.ins_srtcontrole_prioriteit
|
||||
THEN
|
||||
UPDATE ins_srtcontrole
|
||||
SET ins_srtcontrole_level = rec.ins_srtcontrole_prioriteit
|
||||
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||||
|
||||
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd Prioriteit', v_taakprioriteit, rec.ins_srtcontrole_prioriteit);
|
||||
END IF;
|
||||
|
||||
-- Basis-taak - Dienst
|
||||
v_errormsg := 'Fout dienst wijzigen ' || v_aanduiding;
|
||||
BEGIN
|
||||
-- Dan gaan we kijken of de dienst meegegeven in csv al bestaat
|
||||
IF rec.prs_dienst_omschrijving IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT prs_dienst_key
|
||||
INTO v_dienst_key
|
||||
FROM prs_dienst
|
||||
WHERE UPPER(prs_dienst_omschrijving) = UPPER(rec.prs_dienst_omschrijving);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
INSERT INTO prs_dienst
|
||||
(prs_dienst_omschrijving)
|
||||
VALUES (rec.prs_dienst_omschrijving)
|
||||
RETURNING prs_dienst_key
|
||||
INTO v_dienst_key;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
IF rec.prs_dienst_omschrijving IS NOT NULL AND v_taakdienst_key <> v_dienst_key
|
||||
THEN
|
||||
UPDATE ins_srtcontrole
|
||||
SET prs_dienst_key = v_dienst_key
|
||||
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||||
|
||||
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd taakdienst', v_taakdienst_oms, rec.prs_dienst_omschrijving);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
IF v_count_taak = 1
|
||||
THEN
|
||||
v_count_w_taak := v_count_w_taak + 1;
|
||||
END IF;
|
||||
|
||||
-- Gaan nu de object-taken aanpassen
|
||||
v_aanduiding_objecttaak := maakAanduiding_taakobject(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving);
|
||||
SELECT COALESCE(ins_srtcontroledl_xcp_perc, 0)
|
||||
, COALESCE(ins_srtcontroledl_xcp_opmerk, '<leeg>')
|
||||
, COALESCE(ins_srtcontroledl_xcp_eenheid, 0)
|
||||
, COALESCE(ins_srtcontroledl_xcp_periode, 0)
|
||||
, COALESCE(ins_srtcontroledl_xcp_groep, '<leeg>')
|
||||
, ins_srtcontroledl_xcp_eind
|
||||
, COALESCE(max(ins_srtcontroledl_xcp_materia), 0)
|
||||
INTO v_percentage
|
||||
, v_objecttaakopmerking
|
||||
, v_eenheid
|
||||
, v_periode
|
||||
, v_taakgroep
|
||||
, v_eindjaar
|
||||
, v_materiaalkosten
|
||||
FROM ins_srtcontroledl_xcp
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
-- Object-taak - Percentage
|
||||
v_errormsg := 'Fout percentage wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_perc IS NOT NULL AND rec.ins_srtcontroledl_xcp_perc <> v_percentage
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_perc = rec.ins_srtcontroledl_xcp_perc
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Percentage', v_percentage, rec.ins_srtcontroledl_xcp_perc);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Opmerking
|
||||
v_errormsg := 'Fout opmerking objecttaak wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_opmerk IS NOT NULL AND rec.ins_srtcontroledl_xcp_opmerk <> v_objecttaakopmerking
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_opmerk = rec.ins_srtcontroledl_xcp_opmerk
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Taakopmerking', v_objecttaakopmerking, rec.ins_srtcontroledl_xcp_opmerk);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Eenheid
|
||||
v_errormsg := 'Fout eenheid wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_eenheid IS NOT NULL AND rec.ins_srtcontroledl_xcp_eenheid <> v_eenheid AND rec.ismjob = 0
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_eenheid = rec.ins_srtcontroledl_xcp_eenheid
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Eenheid', v_eenheid, rec.ins_srtcontroledl_xcp_eenheid);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Periode
|
||||
v_errormsg := 'Fout periode wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_periode IS NOT NULL AND rec.ins_srtcontroledl_xcp_periode <> v_periode
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_periode = rec.ins_srtcontroledl_xcp_periode
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Periode', v_periode, rec.ins_srtcontroledl_xcp_periode);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Taakgroep
|
||||
v_errormsg := 'Fout taakgroep wijzigen ';
|
||||
IF rec.ins_srtcontrole_groep IS NOT NULL AND rec.ins_srtcontrole_groep <> v_taakgroep
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_groep = rec.ins_srtcontrole_groep
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Taakgroep', v_taakgroep, rec.ins_srtcontrole_groep);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Eindjaar
|
||||
v_errormsg := 'Fout eindjaar wijzigen ';
|
||||
IF ( (rec.ins_srtcontroledl_xcp_eind IS NOT NULL AND v_eindjaar <> rec.ins_srtcontroledl_xcp_eind AND v_eindjaar IS NOT NULL)
|
||||
OR (rec.ins_srtcontroledl_xcp_eind IS NOT NULL AND v_eindjaar IS NULL)
|
||||
)
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_eind = rec.ins_srtcontroledl_xcp_eind
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Eindjaar', v_eindjaar, rec.ins_srtcontroledl_xcp_eind);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Kosten
|
||||
v_errormsg := 'Fout kosten wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_materia IS NOT NULL AND rec.ins_srtcontroledl_xcp_materia <> v_materiaalkosten
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_materia = rec.ins_srtcontroledl_xcp_materia
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Kosten', v_materiaalkosten, rec.ins_srtcontroledl_xcp_materia);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - aantal
|
||||
v_errormsg := 'Fout aantal wijzigen ';
|
||||
IF ( (rec.ins_srtcontroledl_xcp_aantal IS NOT NULL AND v_aantal IS NOT NULL AND rec.ins_srtcontroledl_xcp_aantal <> v_aantal)
|
||||
OR (rec.ins_srtcontroledl_xcp_aantal IS NOT NULL AND v_aantal IS NULL)
|
||||
)
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_aantal = rec.ins_srtcontroledl_xcp_aantal
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Aantal', v_aantal, rec.ins_srtcontroledl_xcp_aantal);
|
||||
END IF;
|
||||
|
||||
-- Object-taal - aantaleh
|
||||
v_errormsg := 'fout aanteh wijzigen ';
|
||||
IF ( (rec.ins_srtcontroledl_xcp_aanteh IS NOT NULL AND v_aantaleh IS NOT NULL AND rec.ins_srtcontroledl_xcp_aanteh <> v_aantaleh)
|
||||
OR (rec.ins_srtcontroledl_xcp_aanteh IS NOT NULL AND v_aantaleh IS NULL)
|
||||
)
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_aanteh = rec.ins_srtcontroledl_xcp_aanteh
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Aanteh', v_aantaleh, rec.ins_srtcontroledl_xcp_aanteh);
|
||||
END IF;
|
||||
|
||||
IF v_count_taakobject = 1
|
||||
THEN
|
||||
v_count_w_taakobject := v_count_w_taakobject + 1 ;
|
||||
END IF;
|
||||
|
||||
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
|
||||
-- Geen exception handler. Stop verwerking en laat fout in de logging zien.
|
||||
END;
|
||||
v_aanduiding := 'Einde loop ' || v_aanduiding;
|
||||
END LOOP;
|
||||
|
||||
IF v_count_taak = 1
|
||||
THEN
|
||||
v_count_w_taak := v_count_w_taak + 1;
|
||||
END IF;
|
||||
|
||||
-- Gaan nu de object-taken aanpassen
|
||||
v_aanduiding_objecttaak := maakAanduiding_taakobject(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving);
|
||||
SELECT COALESCE(ins_srtcontroledl_xcp_perc, 0)
|
||||
, COALESCE(ins_srtcontroledl_xcp_opmerk, '<leeg>')
|
||||
, COALESCE(ins_srtcontroledl_xcp_eenheid, 0)
|
||||
, COALESCE(ins_srtcontroledl_xcp_periode, 0)
|
||||
, COALESCE(ins_srtcontroledl_xcp_groep, '<leeg>')
|
||||
, ins_srtcontroledl_xcp_eind
|
||||
, COALESCE(max(ins_srtcontroledl_xcp_materia), 0)
|
||||
INTO v_percentage
|
||||
, v_objecttaakopmerking
|
||||
, v_eenheid
|
||||
, v_periode
|
||||
, v_taakgroep
|
||||
, v_eindjaar
|
||||
, v_materiaalkosten
|
||||
FROM ins_srtcontroledl_xcp
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
-- Object-taak - Percentage
|
||||
v_errormsg := 'Fout percentage wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_perc IS NOT NULL AND rec.ins_srtcontroledl_xcp_perc <> v_percentage
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_perc = rec.ins_srtcontroledl_xcp_perc
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Percentage', v_percentage, rec.ins_srtcontroledl_xcp_perc);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Opmerking
|
||||
v_errormsg := 'Fout opmerking objecttaak wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_opmerk IS NOT NULL AND rec.ins_srtcontroledl_xcp_opmerk <> v_objecttaakopmerking
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_opmerk = rec.ins_srtcontroledl_xcp_opmerk
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Taakopmerking', v_objecttaakopmerking, rec.ins_srtcontroledl_xcp_opmerk);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Eenheid
|
||||
v_errormsg := 'Fout eenheid wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_eenheid IS NOT NULL AND rec.ins_srtcontroledl_xcp_eenheid <> v_eenheid AND rec.ismjob = 0
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_eenheid = rec.ins_srtcontroledl_xcp_eenheid
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Eenheid', v_eenheid, rec.ins_srtcontroledl_xcp_eenheid);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Periode
|
||||
v_errormsg := 'Fout periode wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_periode IS NOT NULL AND rec.ins_srtcontroledl_xcp_periode <> v_periode
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_periode = rec.ins_srtcontroledl_xcp_periode
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Periode', v_periode, rec.ins_srtcontroledl_xcp_periode);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Taakgroep
|
||||
v_errormsg := 'Fout taakgroep wijzigen ';
|
||||
IF rec.ins_srtcontrole_groep IS NOT NULL AND rec.ins_srtcontrole_groep <> v_taakgroep
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_groep = rec.ins_srtcontrole_groep
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Taakgroep', v_taakgroep, rec.ins_srtcontrole_groep);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Eindjaar
|
||||
v_errormsg := 'Fout eindjaar wijzigen ';
|
||||
IF ( (rec.ins_srtcontroledl_xcp_eind IS NOT NULL AND v_eindjaar <> rec.ins_srtcontroledl_xcp_eind AND v_eindjaar IS NOT NULL)
|
||||
OR (rec.ins_srtcontroledl_xcp_eind IS NOT NULL AND v_eindjaar IS NULL)
|
||||
)
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_eind = rec.ins_srtcontroledl_xcp_eind
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Eindjaar', v_eindjaar, rec.ins_srtcontroledl_xcp_eind);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - Kosten
|
||||
v_errormsg := 'Fout kosten wijzigen ';
|
||||
IF rec.ins_srtcontroledl_xcp_materia IS NOT NULL AND rec.ins_srtcontroledl_xcp_materia <> v_materiaalkosten
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_materia = rec.ins_srtcontroledl_xcp_materia
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Kosten', v_materiaalkosten, rec.ins_srtcontroledl_xcp_materia);
|
||||
END IF;
|
||||
|
||||
-- Object-taak - aantal
|
||||
v_errormsg := 'Fout aantal wijzigen ';
|
||||
IF ( (rec.ins_srtcontroledl_xcp_aantal IS NOT NULL AND v_aantal IS NOT NULL AND rec.ins_srtcontroledl_xcp_aantal <> v_aantal)
|
||||
OR (rec.ins_srtcontroledl_xcp_aantal IS NOT NULL AND v_aantal IS NULL)
|
||||
)
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_aantal = rec.ins_srtcontroledl_xcp_aantal
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Aantal', v_aantal, rec.ins_srtcontroledl_xcp_aantal);
|
||||
END IF;
|
||||
|
||||
-- Object-taal - aantaleh
|
||||
v_errormsg := 'fout aanteh wijzigen ';
|
||||
IF ( (rec.ins_srtcontroledl_xcp_aanteh IS NOT NULL AND v_aantaleh IS NOT NULL AND rec.ins_srtcontroledl_xcp_aanteh <> v_aantaleh)
|
||||
OR (rec.ins_srtcontroledl_xcp_aanteh IS NOT NULL AND v_aantaleh IS NULL)
|
||||
)
|
||||
THEN
|
||||
UPDATE ins_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_aanteh = rec.ins_srtcontroledl_xcp_aanteh
|
||||
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||||
|
||||
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Aanteh', v_aantaleh, rec.ins_srtcontroledl_xcp_aanteh);
|
||||
END IF;
|
||||
|
||||
IF v_count_taakobject = 1
|
||||
THEN
|
||||
v_count_w_taakobject := v_count_w_taakobject + 1 ;
|
||||
END IF;
|
||||
|
||||
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
fac.imp_writelog (p_import_key, 'E', v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')', v_errormsg);
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
v_aanduiding := 'Einde loop ' || v_aanduiding;
|
||||
END LOOP;
|
||||
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
COMMIT;
|
||||
fac.imp_writelog(p_import_key, 'S', 'IMPORT TAKEN: aantal verwerkte regels: ' || TO_CHAR (v_count_verwerk) || CHR(13) || CHR(10)
|
||||
-- Update zonder fouten. Log verwerkingsoverzicht.
|
||||
fac.imp_writelog(p_import_key, 'S', 'IMPORT TAKEN: update' || CHR(13) || CHR(10)
|
||||
|| 'Aantal verwerkte regels: ' || TO_CHAR (v_count_verwerk) || CHR(13) || CHR(10)
|
||||
|| 'Aantal nieuwe taken ingelezen: ' || TO_CHAR (v_count_n_taak) || CHR(13) || CHR(10)
|
||||
|| 'Aantal nieuwe objecttaken ingelezen: ' || TO_CHAR (v_count_n_taakobject) || CHR(13) || CHR(10)
|
||||
|| 'Aantal bestaande basistaken gewijzigd: ' || TO_CHAR (v_count_w_taak) || CHR(13) || CHR(10)
|
||||
|| 'Aantal bestaande objecttaken gewijzigd: ' || TO_CHAR (v_count_w_taakobject)
|
||||
, '');
|
||||
ELSE
|
||||
ROLLBACK;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
ROLLBACK;
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
fac.imp_writelog (p_import_key, 'E', v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')', v_aanduiding_objecttaak);
|
||||
END;
|
||||
|
||||
END fac_update_taak_mjob;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE fac_import_exchange (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
|
||||
IS
|
||||
BEGIN
|
||||
|
||||
Reference in New Issue
Block a user