PLGP#80738 -- Aanpassing oprognose import tbv fondsen
svn path=/Customer/trunk/; revision=68859
This commit is contained in:
539
PLGP/PLGP.sql
539
PLGP/PLGP.sql
@@ -791,7 +791,7 @@ BEGIN
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_deel_aantal); -- Aantal
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde7); -- Eenheid aantal
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde8); -- Bouwjaar
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde9);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde9); -- Foto
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde10);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde11);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_kenmerkwaarde12);
|
||||
@@ -871,7 +871,8 @@ BEGIN
|
||||
'EENHEID CAP: ' || UPPER (v_ins_kenmerkwaarde6) || CHR(10) ||
|
||||
'DEEL_AANTAL: ' || UPPER (v_ins_deel_aantal) || CHR(10) ||
|
||||
'EENHEID AANTAL: ' || UPPER (v_ins_kenmerkwaarde7) || CHR(10) ||
|
||||
'BOUWJAAR: ' || UPPER (v_ins_kenmerkwaarde8));
|
||||
'BOUWJAAR: ' || UPPER (v_ins_kenmerkwaarde8) || CHR(10) ||
|
||||
'FOTO: ' || UPPER (v_ins_kenmerkwaarde9));
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
@@ -923,7 +924,7 @@ BEGIN
|
||||
END;
|
||||
--
|
||||
|
||||
v_errormsg := 'Bepaal objectsoort';
|
||||
/* v_errormsg := 'Bepaal objectsoort';
|
||||
BEGIN
|
||||
v_ins_srtdeel_code := TRIM(v_ins_srtdeel_code);
|
||||
SELECT ins_srtdeel_omschrijving, ins_srtdeel_key, ins_srtgroep_key
|
||||
@@ -977,6 +978,47 @@ BEGIN
|
||||
THEN
|
||||
v_ins_srtgroep_omschrijving := SUBSTR(v_ins_srtdeel_code, 1, 2) || '- Onbekend';
|
||||
END;
|
||||
END; */
|
||||
|
||||
|
||||
v_errormsg := 'Bepaal objectsoort';
|
||||
|
||||
BEGIN
|
||||
v_ins_srtdeel_code := TRIM(v_ins_srtdeel_code);
|
||||
SELECT ins_srtdeel_omschrijving, ins_srtdeel_key, ins_srtgroep_key
|
||||
INTO v_ins_srtdeel_omschrijving, v_ins_srtdeel_key, v_ins_srtgroep_key
|
||||
FROM ins_srtdeel
|
||||
WHERE ins_srtdeel_verwijder IS NULL
|
||||
AND ins_srtdeel_code = SUBSTR(v_ins_srtdeel_code,1,4);
|
||||
|
||||
v_errormsg := 'Bepaal objectgroep';
|
||||
SELECT ins_srtgroep_omschrijving, ins_discipline_key
|
||||
INTO v_ins_srtgroep_omschrijving, v_ins_discipline_key
|
||||
FROM ins_srtgroep
|
||||
WHERE ins_srtgroep_key = v_ins_srtgroep_key;
|
||||
|
||||
v_errormsg := 'Bepaal discipline';
|
||||
SELECT ins_discipline_omschrijving
|
||||
INTO v_ins_discipline_omschrijving
|
||||
FROM ins_discipline
|
||||
WHERE ins_discipline_key = v_ins_discipline_key;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_errormsg := 'Nieuwe NL/SfB code';
|
||||
v_ins_discipline_omschrijving := 'MJOB';
|
||||
v_ins_srtdeel_omschrijving := SUBSTR(v_ins_srtdeel_code,1,4) || '-Onbekend';
|
||||
BEGIN
|
||||
SELECT ins_srtgroep_omschrijving
|
||||
INTO v_ins_srtgroep_omschrijving
|
||||
FROM ins_v_srtgroep_gegevens
|
||||
WHERE ins_discipline_omschrijving = 'MJOB'
|
||||
AND SUBSTR(v_ins_srtdeel_code, 1, 2) = SUBSTR(ins_srtgroep_omschrijving, 1,2);
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_ins_srtgroep_omschrijving := SUBSTR(v_ins_srtdeel_code, 1, 2) || '-Onbekend';
|
||||
END;
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
@@ -1291,7 +1333,8 @@ IS
|
||||
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_ins_srtcontroledl_xcp_eenh VARCHAR2 (255);
|
||||
v_ins_srtcontroledl_xcp_eenheid VARCHAR2 (255);
|
||||
v_ins_srtcontroledl_xcp_fonds VARCHAR2 (255);
|
||||
|
||||
v_file_index NUMBER;
|
||||
|
||||
@@ -1330,7 +1373,9 @@ BEGIN
|
||||
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);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_eenh);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_eenheid);
|
||||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontroledl_xcp_fonds);
|
||||
|
||||
|
||||
v_aanduiding :=
|
||||
'['
|
||||
@@ -1358,6 +1403,8 @@ BEGIN
|
||||
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'
|
||||
AND UPPER (v_ins_srtcontroledl_xcp_fonds) = 'SRTCONTROLE_FONDS'
|
||||
AND UPPER (v_ins_srtcontroledl_xcp_eenheid) = 'SRTCONTROLE_EENHEID'
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
ELSE
|
||||
@@ -1376,7 +1423,9 @@ BEGIN
|
||||
'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));
|
||||
'SRTCONTROLE_PERCENTAGE: ' || UPPER (v_ins_srtcontroledl_xcp_perc) || CHR(10) ||
|
||||
'SRTCONTROLE_EENHEID: ' || UPPER (v_ins_srtcontroledl_xcp_eenheid) || CHR(10) ||
|
||||
'SRTCONTROLE_FONDS: ' || UPPER (v_ins_srtcontroledl_xcp_fonds));
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
@@ -1530,7 +1579,8 @@ BEGIN
|
||||
fac_imp_csv_col08,
|
||||
fac_imp_csv_col09,
|
||||
fac_imp_csv_col10,
|
||||
fac_imp_csv_col11)
|
||||
fac_imp_csv_col11,
|
||||
fac_imp_csv_col12)
|
||||
VALUES ( p_import_key,
|
||||
v_file_index,
|
||||
SUBSTR(v_alg_gebouw_code,1,12),
|
||||
@@ -1543,7 +1593,8 @@ BEGIN
|
||||
'01-01-' || v_ins_srtcontroledl_xcp_startdat,
|
||||
v_ins_srtcontroledl_xcp_periode,
|
||||
FAC.safe_to_number(v_ins_srtcontroledl_xcp_perc),
|
||||
v_ins_srtcontroledl_xcp_eenh);
|
||||
v_ins_srtcontroledl_xcp_eenheid,
|
||||
SUBSTR(v_ins_srtcontroledl_xcp_fonds,1,60));
|
||||
|
||||
COMMIT;
|
||||
v_count_import := v_count_import + 1;
|
||||
@@ -1624,7 +1675,8 @@ IS
|
||||
fac_imp_csv_col08 ins_srtcontroledl_xcp_startdat,
|
||||
fac_imp_csv_col09 ins_srtcontroledl_xcp_periode,
|
||||
fac_imp_csv_col10 ins_srtcontroledl_xcp_perc,
|
||||
fac_imp_csv_col11 ins_srtcontroledl_xcp_eenh
|
||||
fac_imp_csv_col11 ins_srtcontroledl_xcp_eenh,
|
||||
fac_imp_csv_col12 ins_srtcontroledl_xcp_fonds
|
||||
FROM fac_imp_csv
|
||||
WHERE fac_import_key=p_import_key;
|
||||
|
||||
@@ -1651,246 +1703,263 @@ IS
|
||||
v_refdate DATE;
|
||||
|
||||
BEGIN
|
||||
|
||||
v_aanduiding := 'Kijk of de MJOB Taak groep';
|
||||
v_errormsg:=' Taagroep niet gevonden';
|
||||
SELECT MIN(ctr_ins_discipline_key)
|
||||
INTO v_ctr_discipline_key
|
||||
FROM ctr_disc_params
|
||||
WHERE ctr_disc_params_ismjob = 1;
|
||||
|
||||
IF v_ctr_discipline_key>0
|
||||
THEN
|
||||
-- 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';
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
v_ongeldig := 0;
|
||||
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_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';
|
||||
|
||||
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,
|
||||
dg.ins_deel_aantal,
|
||||
ken.ins_kenmerkdeel_waarde
|
||||
INTO v_ins_deel_key, v_ins_srtdeel_key, v_ins_srtdeel_code, v_ins_deel_aantal, v_ins_deel_eenheid
|
||||
FROM ins_v_deel_gegevens dg,
|
||||
ins_srtdeel sd,
|
||||
(SELECT ikd.ins_deel_key, ikd.ins_kenmerkdeel_waarde
|
||||
FROM ins_kenmerkdeel ikd, ins_kenmerk ik
|
||||
WHERE ikd.ins_kenmerk_key = ik.ins_kenmerk_key
|
||||
AND ik.ins_kenmerk_code = 'MJOB_EENHEID_AANTAL'
|
||||
AND ikd.ins_kenmerkdeel_verwijder IS NULL) ken
|
||||
WHERE dg.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND UPPER(dg.ins_deel_omschrijving) = UPPER(rec.ins_deel_omschrijving)
|
||||
AND ken.ins_deel_key(+) = dg.ins_deel_key
|
||||
AND dg.alg_gebouw_upper = UPPER(rec.alg_gebouw_code);
|
||||
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,
|
||||
dg.ins_deel_aantal,
|
||||
ken.ins_kenmerkdeel_waarde
|
||||
INTO v_ins_deel_key, v_ins_srtdeel_key, v_ins_srtdeel_code, v_ins_deel_aantal, v_ins_deel_eenheid
|
||||
FROM ins_v_deel_gegevens dg,
|
||||
ins_srtdeel sd,
|
||||
(SELECT ikd.ins_deel_key, ikd.ins_kenmerkdeel_waarde
|
||||
FROM ins_kenmerkdeel ikd, ins_kenmerk ik
|
||||
WHERE ikd.ins_kenmerk_key = ik.ins_kenmerk_key
|
||||
AND ik.ins_kenmerk_code = 'MJOB_EENHEID_AANTAL'
|
||||
AND ikd.ins_kenmerkdeel_verwijder IS NULL) ken
|
||||
WHERE dg.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND UPPER(dg.ins_deel_omschrijving) = UPPER(rec.ins_deel_omschrijving)
|
||||
AND ken.ins_deel_key(+) = dg.ins_deel_key
|
||||
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, d.ins_deel_aantal
|
||||
INTO v_ins_deel_key, v_ins_srtdeel_key, v_ins_srtdeel_code, v_ins_deel_aantal
|
||||
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;
|
||||
|
||||
IF v_ongeldig=0
|
||||
THEN
|
||||
-- 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;
|
||||
|
||||
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_ins_srtcontroledl_xcp_perc:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc)*100;
|
||||
|
||||
|
||||
IF v_ins_srtcontroledl_xcp_perc < 100 THEN
|
||||
v_ins_srtcontroledl_xcp_aantal:=NULL;
|
||||
ELSE
|
||||
IF rec.ins_srtcontroledl_xcp_aantal <> v_ins_deel_aantal THEN
|
||||
v_ins_srtcontroledl_xcp_aantal:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_aantal);
|
||||
ELSE
|
||||
v_ins_srtcontroledl_xcp_aantal:=NULL;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
-- wat is het aantal op de taak (in de oprognose staat een hvh_reken die we hier gebruiken ipv de ins_deel_aantal)
|
||||
-- v_ins_srtcontroledl_xcp_aantal := FAC.safe_to_number(rec.ins_srtcontroledl_xcp_aantal);
|
||||
-- IF (v_ins_srtcontroledl_xcp_aantal=1 AND v_ins_deel_aantal>1)
|
||||
-- THEN
|
||||
-- v_ins_srtcontroledl_xcp_aantal:= v_ins_deel_aantal;
|
||||
-- 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, d.ins_deel_aantal
|
||||
INTO v_ins_deel_key, v_ins_srtdeel_key, v_ins_srtdeel_code, v_ins_deel_aantal
|
||||
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;
|
||||
-- Ophalen freeze jaar en eerst stardatum
|
||||
v_ins_srtcontroledl_xcp_startdat:=FAC.safe_to_date(rec.ins_srtcontroledl_xcp_startdat, 'dd-mm-yyyy');
|
||||
v_refdate := FAC.safe_to_date('01-01-'||fac.getsetting('mjb_start_year'),'DD-MM-YYYY');
|
||||
|
||||
IF (v_ins_srtcontroledl_xcp_startdat<=v_refdate)
|
||||
THEN
|
||||
v_ins_srtcontroledl_xcp_startdat := plgp.getfirststartdate(v_ins_srtcontroledl_xcp_startdat, v_refdate,rec.ins_srtcontroledl_xcp_periode);
|
||||
END IF;
|
||||
|
||||
|
||||
--IF FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc)<1 THEN
|
||||
-- v_ins_srtcontroledl_xcp_perc:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc)*100;
|
||||
--ELSE
|
||||
-- v_ins_srtcontroledl_xcp_perc:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc);
|
||||
--END IF;
|
||||
|
||||
-- kijk of de taak uitzondering al bestaat
|
||||
|
||||
v_errormsg := 'Kijk of de XCP 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;
|
||||
|
||||
-- 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_srtcontroledl_xcp
|
||||
SET ins_srtcontroledl_xcp_periode = FAC.safe_to_number(rec.ins_srtcontroledl_xcp_periode),
|
||||
ins_srtcontroledl_xcp_aantal = v_ins_srtcontroledl_xcp_aantal,
|
||||
ins_srtcontroledl_xcp_materia = FAC.safe_to_number(rec.ins_srtcontroledl_xcp_materia),
|
||||
ins_srtcontroledl_xcp_perc = v_ins_srtcontroledl_xcp_perc,
|
||||
ins_srtcontroledl_xcp_startdat = v_ins_srtcontroledl_xcp_startdat,
|
||||
ins_srtcontroledl_xcp_aanteh = rec.ins_srtcontroledl_xcp_eenh,
|
||||
ins_srtcontroledl_xcp_groep = rec.ins_srtcontroledl_xcp_fonds
|
||||
WHERE ins_srtcontroledl_xcp_key = v_ins_srtcontroledl_xcp_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;
|
||||
|
||||
v_ins_srtcontroledl_xcp_perc:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc)*100;
|
||||
|
||||
|
||||
IF v_ins_srtcontroledl_xcp_perc < 100 THEN
|
||||
v_ins_srtcontroledl_xcp_aantal:=NULL;
|
||||
ELSE
|
||||
IF rec.ins_srtcontroledl_xcp_aantal <> v_ins_deel_aantal THEN
|
||||
v_ins_srtcontroledl_xcp_aantal:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_aantal);
|
||||
ELSE
|
||||
v_ins_srtcontroledl_xcp_aantal:=NULL;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
-- wat is het aantal op de taak (in de oprognose staat een hvh_reken die we hier gebruiken ipv de ins_deel_aantal)
|
||||
-- v_ins_srtcontroledl_xcp_aantal := FAC.safe_to_number(rec.ins_srtcontroledl_xcp_aantal);
|
||||
-- IF (v_ins_srtcontroledl_xcp_aantal=1 AND v_ins_deel_aantal>1)
|
||||
-- THEN
|
||||
-- v_ins_srtcontroledl_xcp_aantal:= v_ins_deel_aantal;
|
||||
-- END IF;
|
||||
|
||||
|
||||
|
||||
-- Ophalen freeze jaar en eerst stardatum
|
||||
v_ins_srtcontroledl_xcp_startdat:=FAC.safe_to_date(rec.ins_srtcontroledl_xcp_startdat, 'dd-mm-yyyy');
|
||||
v_refdate := FAC.safe_to_date('01-01-'||fac.getsetting('mjb_start_year'),'DD-MM-YYYY');
|
||||
|
||||
IF (v_ins_srtcontroledl_xcp_startdat<=v_refdate)
|
||||
THEN
|
||||
v_ins_srtcontroledl_xcp_startdat := plgp.getfirststartdate(v_ins_srtcontroledl_xcp_startdat, v_refdate,rec.ins_srtcontroledl_xcp_periode);
|
||||
END IF;
|
||||
|
||||
|
||||
--IF FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc)<1 THEN
|
||||
-- v_ins_srtcontroledl_xcp_perc:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc)*100;
|
||||
--ELSE
|
||||
-- v_ins_srtcontroledl_xcp_perc:=FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc);
|
||||
--END IF;
|
||||
|
||||
-- kijk of de taak uitzondering al bestaat
|
||||
|
||||
v_errormsg := 'Kijk of de XCP 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 = FAC.safe_to_number(rec.ins_srtcontroledl_xcp_periode),
|
||||
ins_srtcontroledl_xcp_aantal = v_ins_srtcontroledl_xcp_aantal,
|
||||
ins_srtcontroledl_xcp_materia = FAC.safe_to_number(rec.ins_srtcontroledl_xcp_materia),
|
||||
ins_srtcontroledl_xcp_perc = FAC.safe_to_number(rec.ins_srtcontroledl_xcp_perc),
|
||||
ins_srtcontroledl_xcp_startdat = v_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,
|
||||
ins_srtcontroledl_xcp_aanteh)
|
||||
VALUES (v_ins_deel_key,
|
||||
v_ins_srtcontrole_key,
|
||||
FAC.safe_to_number(rec.ins_srtcontroledl_xcp_periode),
|
||||
v_ins_srtcontroledl_xcp_aantal,
|
||||
FAC.safe_to_number(rec.ins_srtcontroledl_xcp_materia),
|
||||
v_ins_srtcontroledl_xcp_perc,
|
||||
v_ins_srtcontroledl_xcp_startdat,
|
||||
rec.ins_srtcontroledl_xcp_eenh)
|
||||
RETURNING ins_srtcontroledl_xcp_key INTO v_ins_srtcontroledl_xcp_key;
|
||||
END;
|
||||
|
||||
-- Moeten we nu kijken welke XCP taken er zijn aangemaakt en of deze al afgerond hadden moeten zijn zodat ze niet worden doorgeschoven naar het volgene jaar ?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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;
|
||||
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,
|
||||
ins_srtcontroledl_xcp_aanteh,
|
||||
ins_srtcontroledl_xcp_groep)
|
||||
VALUES (v_ins_deel_key,
|
||||
v_ins_srtcontrole_key,
|
||||
FAC.safe_to_number(rec.ins_srtcontroledl_xcp_periode),
|
||||
v_ins_srtcontroledl_xcp_aantal,
|
||||
FAC.safe_to_number(rec.ins_srtcontroledl_xcp_materia),
|
||||
v_ins_srtcontroledl_xcp_perc,
|
||||
v_ins_srtcontroledl_xcp_startdat,
|
||||
rec.ins_srtcontroledl_xcp_eenh,
|
||||
rec.ins_srtcontroledl_xcp_fonds)
|
||||
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;
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'');
|
||||
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,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'');
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
END LOOP;
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
-- EIND MJOB Taken
|
||||
|
||||
Reference in New Issue
Block a user