SGGR#80463 Indexwerk 2024
svn path=/Customer/trunk/; revision=62893
This commit is contained in:
@@ -589,15 +589,17 @@ AS
|
||||
AND COALESCE (li.laatste_indexdatum, SYSDATE) < p_splitsindexdatum
|
||||
ORDER BY TO_NUMBER (x.cnt_contract_nummer_intern);
|
||||
|
||||
c_splitsindexdatum DATE := TO_DATE ('01012024', 'ddmmyyyy'); -- Per 01-01-2024!
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_new_contract_key NUMBER;
|
||||
termijnkorting cnt_kenmerkcontract.cnt_kenmerkcontract_waarde%TYPE;
|
||||
oldtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
|
||||
newtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
|
||||
c_splitsindexdatum DATE := TO_DATE ('01012024', 'ddmmyyyy'); -- Per 01-01-2024!
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER;
|
||||
v_new_contract_key NUMBER;
|
||||
v_kenmerkcontract_key NUMBER;
|
||||
termijnkorting cnt_kenmerkcontract.cnt_kenmerkcontract_waarde%TYPE;
|
||||
oldtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
|
||||
newtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
|
||||
|
||||
PROCEDURE upsert_cntkenmerk (p_contract_key IN NUMBER,
|
||||
p_srtkenmerk_key IN NUMBER,
|
||||
@@ -673,7 +675,6 @@ BEGIN
|
||||
c_splitsindexdatum,
|
||||
NULL,
|
||||
NULL);
|
||||
COMMIT;
|
||||
|
||||
-- Na splitsen wordt de nieuwe versie ge<67>ndexeerd.
|
||||
v_errorhint := 'Fout bij bepalen nieuwe versie.';
|
||||
@@ -699,13 +700,29 @@ BEGIN
|
||||
upsert_cntkenmerk (v_new_contract_key,
|
||||
301, -- Laatste index-datum
|
||||
TO_CHAR (c_splitsindexdatum, 'ddmmyyyy'));
|
||||
COMMIT;
|
||||
|
||||
v_errorhint := 'Fout bij toevoegen laatste indexpercentage.';
|
||||
upsert_cntkenmerk (v_new_contract_key,
|
||||
302, -- Laatste index-percentage
|
||||
rc.indexpct);
|
||||
COMMIT;
|
||||
-- LET OP: Hier geen upsert_cntkenmerk() gebruiken, want >1 kenmerken
|
||||
-- van dezelfde soort (index-percentage)!
|
||||
-- Bepaal bestaan/aanwezigheid huidige kenmerkwaarde?
|
||||
SELECT COUNT (*), MAX (cnt_kenmerkcontract_key)
|
||||
INTO v_count, v_kenmerkcontract_key
|
||||
FROM cnt_kenmerkcontract
|
||||
WHERE cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND cnt_kenmerk_key IN (402, 404, 428, 563) -- Laatste index-percentage (kenmerk-keys)
|
||||
AND cnt_contract_key = v_new_contract_key;
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
v_errorhint := 'Fout bij toevoegen laatste indexpercentage.';
|
||||
INSERT INTO cnt_kenmerkcontract (cnt_contract_key, cnt_kenmerk_key, cnt_kenmerkcontract_waarde)
|
||||
VALUES (v_new_contract_key, DECODE (rc.ins_discipline_key, 481, 402, 482, 404, 501, 428, 661, 563, -1), TO_CHAR (rc.indexpct));
|
||||
ELSE
|
||||
v_errorhint := 'Fout bij bijwerken laatste indexpercentage.';
|
||||
UPDATE cnt_kenmerkcontract
|
||||
SET cnt_kenmerkcontract_waarde = TO_CHAR (rc.indexpct),
|
||||
cnt_kenmerkcontract_wijzig = SYSDATE
|
||||
WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key;
|
||||
END IF;
|
||||
|
||||
FOR rkc
|
||||
IN ( SELECT kc.cnt_kenmerkcontract_key,
|
||||
@@ -737,7 +754,6 @@ BEGIN
|
||||
SET cnt_kenmerkcontract_waarde = TO_CHAR (rkc.new_waarde, '999999D99')
|
||||
WHERE cnt_kenmerkcontract_key = rkc.cnt_kenmerkcontract_key;
|
||||
END LOOP;
|
||||
COMMIT;
|
||||
|
||||
-- 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
|
||||
@@ -823,7 +839,6 @@ BEGIN
|
||||
|| TO_CHAR (oldtermijnkosten)
|
||||
|| ' naar <20>'
|
||||
|| TO_CHAR (newtermijnkosten));
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
|
||||
Reference in New Issue
Block a user