SGGR#60314 indexatie voor 2020 incl fix

svn path=/Customer/trunk/; revision=45070
This commit is contained in:
Peter Feij
2019-11-29 10:52:55 +00:00
parent 9f636f5800
commit 220a3bdaef

View File

@@ -542,6 +542,7 @@ AS
|| '|'
|| x.cnt_contract_omschrijving
|| '] ' aanduiding,
x.ins_discipline_key,
x.cnt_contract_key,
x.cnt_contract_nummer_intern,
x.cnt_contract_versie,
@@ -551,12 +552,12 @@ AS
x.cnt_contract_termijnkosten,
x.cnt_prs_bedrijf_key,
DECODE (x.cnt_prs_bedrijf_key,
1062, 2.0,
1062, 2,
1901, 2,
1061, 2,
2901, 2,
1073, 2.5,
2.1) indexpct -- Voor 2019: 2,1%, voor AAFM (1062) 0,75%, voor KIEN (1901), YASK (1061) en VEBE (2901) 2%, UWVA (1073) 2,5%
1073, 2,
2.04) indexpct -- Voor 2020: 2,04%, voor AAFM (1062) 2%, voor KIEN (1901)/YASK (1061)/VEBE (2901) 2%, UWVA (1073) 2%
FROM (SELECT c.*
FROM cnt_v_aanwezigcontract c
WHERE c.ins_discipline_key IN (481, 482, 501) -- SaaS/Onderhoud/Care
@@ -578,14 +579,13 @@ AS
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtkenmerk_key = 301) li -- Laatste index-datum
ON x.cnt_contract_key = li.cnt_contract_key
WHERE x.cnt_contract_looptijd_tot >
ADD_MONTHS (p_splitsindexdatum, -1)
WHERE x.cnt_contract_looptijd_tot > p_splitsindexdatum
AND COALESCE (li.index_datum, SYSDATE) < p_splitsindexdatum
ORDER BY TO_NUMBER (x.cnt_contract_nummer_intern);
c_splitsindexdatum DATE := TO_DATE ('01012019', 'ddmmyyyy');
c_splitsindexdatum DATE := TO_DATE ('01012020', 'ddmmyyyy');
v_errorhint VARCHAR2 (1000);
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
@@ -688,8 +688,8 @@ BEGIN
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- Er is blijkbaar niet gesplitst (mogelijk contract begint pas na splitsdatum)
-- omdat prijspeil volgens laatste index toch oud is, moet die toch geindexdeerd worden
-- Er is blijkbaar niet gesplitst (waarschijnlijk dat contract begint pas op of na splitsdatum)
-- omdat prijspeil volgens laatste index toch oud is, moet die dan toch geindexdeerd worden
IF rc.einddatum > c_splitsindexdatum
THEN
v_new_contract_key := rc.cnt_contract_key;
@@ -749,7 +749,6 @@ BEGIN
-- Aanpassen van de totalen. Let op dat een evt kortingsbedrag (cnt_srtkenmerk_key=85)
-- niet meegeindexeerd wordt, dus kun je niet zomaar het totaal indexeren
v_errorhint := 'Fout bij bijwerken termijnbedrag.';
SELECT cnt_contract_termijnkosten
@@ -789,8 +788,7 @@ BEGIN
FROM cnt_contract
WHERE cnt_contract_key = v_new_contract_key;
DBMS_OUTPUT.PUT_LINE (
'newtermijn ' || TO_CHAR (newtermijnkosten));
DBMS_OUTPUT.PUT_LINE ('newtermijn ' || TO_CHAR (newtermijnkosten));
--c.ins_discipline_key IN (481, 482, 501) -- SaaS/Onderhoud/Care = termijn per maand/jaar/maand
v_errorhint := 'Fout bij bijwerken jaarbedrag.';
@@ -809,6 +807,22 @@ BEGIN
482, 10) -- mnd/mnd/jr
WHERE cnt_contract_key = v_new_contract_key;
-- SGGR#60314: Totalen igv. FACILITOR SaaS (ins_discipline_key=481)
-- ook doorvoeren in berekende kenmerkvelden van soort:
-- 481=Totaal contractbedrag/mnd
-- 482=Totaal contractbedrag/jaar
v_errorhint := 'Fout bij bijwerken berekende velden.';
IF rc.ins_discipline_key = 481 -- FACILITOR SaaS
THEN
upsert_cntkenmerk (v_new_contract_key,
481, -- Totaal contractbedrag/mnd
newtermijnkosten);
upsert_cntkenmerk (v_new_contract_key,
482, -- Totaal contractbedrag/jaar
12 * newtermijnkosten);
END IF;
v_errorhint := 'Fout bij bijwerken index-tracking (CNTUPD).';
fac.trackaction (
@@ -2050,7 +2064,7 @@ AS
v_search VARCHAR2 (1000);
BEGIN
DELETE sggr_autorit_registratie;
FOR rec IN c
LOOP
BEGIN
@@ -2121,8 +2135,8 @@ BEGIN
v_fac_tracking_uitgifte_key;
END IF;
END;
END LOOP;
END LOOP;
END;
/
@@ -3088,7 +3102,7 @@ SELECT m.mld_melding_key,
WHERE m.mld_stdmelding_key IN (523, 524)
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND d.ins_discipline_key = sm.mld_ins_discipline_key
AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key;
AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key;
CREATE OR REPLACE VIEW SGGR_V_RAP_CONTROLE_LEASEDOC
(