Files
Customer/onces/UWVA/uwva91.sql
Ruud Lipper 5e8bc3a7d2 UWVA#31184 webusr rapport
svn path=/Customer/; revision=23665
2014-12-12 12:22:14 +00:00

1583 lines
74 KiB
SQL

-- Customer specific once-script UWVA91.
--
-- (c) 2014 SG|facilitor bv
SET ECHO ON
SPOOL xuwva91.lst
SET DEFINE OFF
--UWVA#31084: PRS_DUMP-export ontmantelen
DROP VIEW uwva_v_export_prs_dump;
--UWVA#30448: PWP-import
--LOGIN;LOCATIE;GEBOUW;VERDIEPINGCODE;RUIMTENR;PWP_VOLGNR;BEZETTING
CREATE TABLE uwva_imp_pwp
(
login VARCHAR2 (30), -- prs_perslid_oslogin
locatie VARCHAR2 (10), -- alg_locatie_code
gebouw VARCHAR2 (12), -- alg_gebouw_code
verdiepingcode VARCHAR2 (10), -- alg_verdieping_code
ruimtenr VARCHAR2 (10), -- alg_ruimte_nr
pwp_volgnr NUMBER (2), -- prs_perslidwerkplek_volgnr
bezetting NUMBER (3) -- prs_perslidwerkplek_bezetting
);
-- 61=PRSSYS
INSERT INTO fac_import_app (fac_import_app_code,
fac_import_app_oms,
fac_import_app_xsl,
fac_functie_key,
fac_import_app_charset,
fac_import_app_folder,
fac_import_app_files,
fac_import_app_prefix)
SELECT 'PWP',
'BEHEER: Toewijzen (extra) werkplekken',
NULL,
fac_functie_key,
NULL,
NULL,
NULL,
'UWVA'
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS';
COMMIT;
--UWVA#31122: KTO-uitzetten alle modules (tijdelijk?);
-- MLD door percentage/drempel én KTO-bitje op NULL
-- BES + RES alleen door percentage/drempel op NULL
UPDATE ins_tab_discipline
SET ins_discipline_ktopercentage = NULL, ins_discipline_ktodrempel = NULL
WHERE (ins_discipline_ktopercentage IS NOT NULL
OR ins_discipline_ktodrempel IS NOT NULL);
UPDATE mld_stdmelding
SET mld_stdmelding_kto = NULL
WHERE mld_stdmelding_kto = 1;
COMMIT;
--UWVA#30417: 'prs_perslid_ingids' voor K(etenpartners) eenmalig op onzichtbaar
UPDATE prs_perslid p
SET p.prs_perslid_ingids = NULL -- onzichtbaar
WHERE EXISTS
(SELECT 1
FROM prs_kenmerklink kl, fac_usrdata ud
WHERE kl.prs_link_key = p.prs_perslid_key
AND kl.prs_kenmerk_key = 1040 -- employeetype
AND fac.safe_to_number (kl.prs_kenmerklink_waarde) =
ud.fac_usrdata_key
AND ud.fac_usrtab_key = 301 -- employeetype-domein
AND ud.fac_usrdata_upper = 'K');
-- UWVA#30470: Notificatiejob VC-reserveringen naar iMotions
INSERT INTO fac_srtnotificatie (fac_srtnotificatie_code,
fac_srtnotificatie_mode,
fac_srtnotificatie_oms,
fac_srtnotificatie_xmlnode,
fac_srtnotificatie_url,
fac_srtnotificatie_groep)
VALUES ('CUST24',
0,
'VC-reservering ##KEY## is aangemaakt/gewijzigd/verwijderd',
'reservering',
'res/res_reservering.asp?rsv_ruimte_key=',
0);
INSERT INTO fac_notificatie_job (fac_notificatie_job_view,
fac_notificatie_job_oms,
fac_notificatie_job_mode,
fac_notificatie_job_interval,
fac_notificatie_job_nextrun,
fac_notificatie_job_flags)
VALUES ('UWVA_V_NOTI_RES_VC_NEWUPDDEL',
'RESNEW/UPD/DEL-notificatie VC-reserveringen naar iMotions',
0,
1,
NULL,
0);
-- ***************************************************** --
-- UWVA#30272: HV-contracten converteren en onder mantel --
-- ***************************************************** --
-- STAP1: Te verwijderen/converteren velden eerst onderaan zetten:
-- 381 Termijn informatie/Label
-- 182 Contractant => KOPIE NAAR MANTEL
-- 622 Eigenaar => VERVALLEN
-- 642 Pand eigenaar => KOPIE NAAR MANTEL
-- 641 Aan wie moeten we betalen => VERVALLEN
-- 190 Stilzwijgende verlenging => KOPIE BINNEN SOORT
-- 195 Index systematiek => KOPIE BINNEN SOORT
-- 781 Huurprijsherziening => KOPIE NAAR MANTEL
-- 782 Breakmoment => KOPIE BINNEN SOORT
-- 783 BTW herziening => VERVALLEN
-- 397 BTW tarief 4 => VERVALLEN
-- 399 Aantal 5 => VERVALLEN
-- 422 Eenheid 5 => VERVALLEN
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 981, cnt_kenmerk_default = '***Te verwijderen***' WHERE cnt_kenmerk_key = 381;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 982 WHERE cnt_kenmerk_key = 182;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 983 WHERE cnt_kenmerk_key = 622;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 984 WHERE cnt_kenmerk_key = 642;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 985 WHERE cnt_kenmerk_key = 641;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 986 WHERE cnt_kenmerk_key = 190;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 987 WHERE cnt_kenmerk_key = 195;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 988 WHERE cnt_kenmerk_key = 781;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 989 WHERE cnt_kenmerk_key = 782;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 990 WHERE cnt_kenmerk_key = 783;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 991 WHERE cnt_kenmerk_key = 397;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 992 WHERE cnt_kenmerk_key = 399;
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 993 WHERE cnt_kenmerk_key = 422;
COMMIT;
-- STAP2: Nieuwe velden toevoegen/kopieren van HV-template (v2 zoals voorbereid door PFo) op volgorde van volgnummer:
-- 923 => 981 Geconditioneerd contr.
-- 943 => 982 Verlenging
-- 946 => 983 bijdrage verhuurdr bij verleng
-- 957 => 984 invest.btw bij voortijd beeind
-- 931 => 985 Omschrijving Breakmoment
-- 891 => 986 1e Breakmoment
-- 966 => 987 opzegtermijn voor 1e break
-- 964 => 988 opz.datum voor 1e break
-- 969 => 989 sanctie bij gebruik 1e break
-- 892 => 990 2e Breakmoment
-- 967 => 991 opzegtermijn voor 2e break
-- 965 => 992 opz.datum voor 2e break
-- 970 => 993 sanctie bij gebruik 2e break
-- 959 => 994 korteomschr. Terugbwverplicht.
-- 960 => 995 mogelijke indeplaatsstelling
-- 963 => 996 onderverhuur toegestaan
--[Contract regel 1]
-- 958 => 997 jaarlijkse indexdatum
-- 956 => 998 indexcijfer volgens systeem
-- 962 => 999 omschrijving aftopping index
--[Contract regel 4]
-- 972 => 1000 Blanco 535
-- 945 => 1001 berekening over huur ktr/park
-- 971 => 1002 verplichte aftrek BTW
-- 968 => 1003 periode laatste afrekening
-- 944 => 1004 aanpass % afhank van fiscus
-- 955 => 1005 herzieningsdatum van %
--[Contract regel 5]
-- 953 => 1006 datum laatste afrekening
-- 952 => 1007 datum bijstelling voorschot
-- 911 => 1008 Contract regel 6
-- 942 => 1009 Rubriek 6
-- 973 => 1010 Blanco 715
-- 897 => 1011 Aantal 6
-- 920 => 1012 Eenheid 6
-- 929 => 1013 Kosten excl. BTW 6
-- 974 => 1014 Blanco 735
-- 961 => 1015 omschr. BTW compensat invest
-- 954 => 1016 herzien.datum BTW comp invest
INSERT INTO cnt_kenmerk (cnt_kenmerk_key,
cnt_srtkenmerk_key,
cnt_srtcontract_key,
cnt_kenmerk_niveau,
cnt_kenmerk_verplicht,
cnt_kenmerk_toonbaar,
cnt_kenmerk_volgnummer,
cnt_kenmerk_locatiekolom,
cnt_kenmerk_uniek,
cnt_kenmerk_default,
cnt_kenmerk_hint,
cnt_kenmerk_regexp,
cnt_kenmerk_groep)
SELECT 980 + ROWNUM, -- Vrije range in PROD (en ik moet keys weten met oog op rapportages)!!!
x.cnt_srtkenmerk_key,
198, -- HV-target (v1)
x.cnt_kenmerk_niveau,
x.cnt_kenmerk_verplicht,
x.cnt_kenmerk_toonbaar,
x.cnt_kenmerk_volgnummer,
x.cnt_kenmerk_locatiekolom,
x.cnt_kenmerk_uniek,
x.cnt_kenmerk_default,
x.cnt_kenmerk_hint,
x.cnt_kenmerk_regexp,
x.cnt_kenmerk_groep
FROM ( SELECT *
FROM cnt_kenmerk
WHERE cnt_srtcontract_key = 411
AND cnt_kenmerk_key IN
(923,
943,
946,
957,
931,
891,
966,
964,
969,
892,
967,
965,
970,
959,
960,
963,
958,
956,
962,
972,
945,
971,
968,
944,
955,
953,
952,
911,
942,
973,
897,
920,
929,
974,
961,
954)
ORDER BY cnt_kenmerk_volgnummer) x
ORDER BY 1;
COMMIT;
-- STAP3a: Verschuiven Blanco 155 (later naam wijzigen in Blanco 135?):
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 135 WHERE cnt_kenmerk_key = 341;
-- STAP3b: Verschuiven Blanco 16 (later naam wijzigen in Blanco 176?):
UPDATE cnt_kenmerk SET cnt_kenmerk_volgnummer = 176 WHERE cnt_kenmerk_key = 621;
COMMIT;
-- STAP4: Extra regel toevoegen met alleen de basis-velden zoals regels 2+3
-- (tussen 3 en 4; nieuwe regel IV dus en huidige 4-5-6 later hernoemen+1):
INSERT INTO cnt_srtkenmerk (cnt_srtkenmerk_key,
cnt_srtkenmerk_omschrijving,
cnt_srtkenmerk_kenmerktype,
cnt_srtkenmerk_lengte,
cnt_srtkenmerk_dec,
cnt_srtkenmerk_nmin,
cnt_srtkenmerk_nmax,
fac_kenmerkdomein_key)
SELECT DECODE (cnt_srtkenmerk_key,
90, 590,
92, 592,
93, 593,
94, 594,
95, 595,
145, 596,
597)
cnt_srtkenmerk_key,
DECODE (cnt_srtkenmerk_key,
90, 'Rubriek IV',
92, 'Aantal IV',
93, 'Eenheid IV',
94, 'Kosten excl. BTW IV',
95, 'BTW-tarief IV',
145, 'Contract regel IV',
'blanco 465')
cnt_srtkenmerk_omschrijving,
cnt_srtkenmerk_kenmerktype,
cnt_srtkenmerk_lengte,
cnt_srtkenmerk_dec,
cnt_srtkenmerk_nmin,
cnt_srtkenmerk_nmax,
fac_kenmerkdomein_key
FROM cnt_srtkenmerk
WHERE cnt_srtkenmerk_key IN (90, 92, 93, 94, 95, 145, 150)
ORDER BY cnt_srtkenmerk_key;
INSERT INTO cnt_kenmerk (cnt_kenmerk_key,
cnt_srtkenmerk_key,
cnt_srtcontract_key,
cnt_kenmerk_niveau,
cnt_kenmerk_verplicht,
cnt_kenmerk_toonbaar,
cnt_kenmerk_volgnummer,
cnt_kenmerk_locatiekolom,
cnt_kenmerk_uniek,
cnt_kenmerk_default,
cnt_kenmerk_hint,
cnt_kenmerk_regexp,
cnt_kenmerk_groep)
SELECT DECODE (cnt_srtkenmerk_key,
90, 851,
92, 852,
93, 853,
94, 854,
95, 855,
145, 856,
857)
cnt_kenmerk_key,
DECODE (cnt_srtkenmerk_key,
90, 590,
92, 592,
93, 593,
94, 594,
95, 595,
145, 596,
597)
cnt_srtkenmerk_key,
198, -- HV-target (v1)
cnt_kenmerk_niveau,
cnt_kenmerk_verplicht,
cnt_kenmerk_toonbaar,
cnt_kenmerk_volgnummer + 50,
cnt_kenmerk_locatiekolom,
cnt_kenmerk_uniek,
cnt_kenmerk_default,
cnt_kenmerk_hint,
cnt_kenmerk_regexp,
cnt_kenmerk_groep
FROM cnt_kenmerk
WHERE cnt_srtcontract_key = 198 -- HV-target (v1)
AND cnt_srtkenmerk_key IN (90, 92, 93, 94, 95, 145, 150)
ORDER BY cnt_srtkenmerk_key;
COMMIT;
-- STAP5: Verhuizen (binnen soort/oude weg):
-- Stilzwijgende verlenging (190) => Verlenging (v2-943/soort 559): van Referentie/Tabel naar Referentie/Tabel???
INSERT INTO cnt_kenmerkcontract (cnt_contract_key, cnt_kenmerk_key, cnt_kenmerkcontract_waarde)
SELECT kc.cnt_contract_key,
(SELECT cnt_kenmerk_key FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtcontract_key = 198 AND cnt_srtkenmerk_key = 559),
DECODE (ud.fac_usrdata_key, 1221, '17466', '17467') -- Resp. 'Actie' en 'Geen' ('Stilzwijgend' = 17468)
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_kenmerk_key = 190
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtcontract_key = 198
AND ud.fac_usrdata_verwijder IS NULL
AND ud.fac_usrtab_key = 223 -- JaNee
AND fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) =
ud.fac_usrdata_key;
-- Breakmoment (782) => 1e Breakmoment (v2-891/soort 550): van Datum naar Datum
INSERT INTO cnt_kenmerkcontract (cnt_contract_key, cnt_kenmerk_key, cnt_kenmerkcontract_waarde)
SELECT kc.cnt_contract_key,
(SELECT cnt_kenmerk_key FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtcontract_key = 198 AND cnt_srtkenmerk_key = 550),
kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_kenmerk_key = 782
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtcontract_key = 198;
-- Index systematiek (195) => Indexcijfer volgens systeem (v2-956/soort 567): van Referentie/Tabel naar Karakter
INSERT INTO cnt_kenmerkcontract (cnt_contract_key, cnt_kenmerk_key, cnt_kenmerkcontract_waarde)
SELECT kc.cnt_contract_key,
(SELECT cnt_kenmerk_key FROM cnt_kenmerk WHERE cnt_kenmerk_verwijder IS NULL AND cnt_srtcontract_key = 198 AND cnt_srtkenmerk_key = 567),
ud.fac_usrdata_omschr
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_kenmerk_key = 195
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtcontract_key = 198
AND ud.fac_usrdata_verwijder IS NULL
AND ud.fac_usrtab_key = 244 -- Indexmethode
AND fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) =
ud.fac_usrdata_key;
COMMIT;
-- STAP6: Verwijderen huidige contractregels, maar eerst naar tijdelijke tabel uwva_tmp_hv_contractregels:
CREATE TABLE uwva_tmp_hv_contractregels
(
cnt_contract_key NUMBER,
volgorde NUMBER,
rubriek VARCHAR2 (100),
aantal VARCHAR2 (100),
eenheid VARCHAR2 (100),
kosten_excl_btw VARCHAR2 (100),
btw_tarief VARCHAR2 (100)
);
INSERT INTO uwva_tmp_hv_contractregels (cnt_contract_key,
volgorde,
rubriek,
aantal,
eenheid,
kosten_excl_btw,
btw_tarief)
SELECT basis.cnt_contract_key,
DECODE (regels.contractregelrubriek,
'2407', 1,
'2427', 1,
'2601', 1,
'2622', 4,
'2412', 5,
'2431', 5,
'2410', 6,
2)
volgorde,
regels.contractregelrubriek,
regels.aantal,
regels.eenheid,
regels.kostenexcl,
regels.btw
FROM (SELECT c.cnt_contract_key
FROM cnt_v_aanwezigcontract c
WHERE c.ins_discipline_key = 198) basis
LEFT JOIN
(SELECT cr1.cnt_contract_key cntkey,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr1.cnt_contract_key
AND kc.cnt_kenmerk_key = 201
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
contractregelrubriek,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr1.cnt_contract_key
AND kc.cnt_kenmerk_key = 202)
aantal,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr1.cnt_contract_key
AND kc.cnt_kenmerk_key = 203
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
eenheid,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr1.cnt_contract_key
AND kc.cnt_kenmerk_key = 221)
kostenexcl,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr1.cnt_contract_key
AND kc.cnt_kenmerk_key = 242
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
btw
FROM cnt_contract cr1
WHERE cr1.ins_discipline_key = 198 -- regel 1
UNION
SELECT cr2.cnt_contract_key cntkey,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr2.cnt_contract_key
AND kc.cnt_kenmerk_key = 241
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
contractregelrubriek,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr2.cnt_contract_key
AND kc.cnt_kenmerk_key = 261)
aantal,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr2.cnt_contract_key
AND kc.cnt_kenmerk_key = 262
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
eenheid,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr2.cnt_contract_key
AND kc.cnt_kenmerk_key = 263)
kostenexcl,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr2.cnt_contract_key
AND kc.cnt_kenmerk_key = 281
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
btw
FROM cnt_contract cr2
WHERE cr2.ins_discipline_key = 198 -- regel 2
UNION
SELECT cr3.cnt_contract_key cntkey,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr3.cnt_contract_key
AND kc.cnt_kenmerk_key = 302
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
contractregelrubriek,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr3.cnt_contract_key
AND kc.cnt_kenmerk_key = 321)
aantal,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr3.cnt_contract_key
AND kc.cnt_kenmerk_key = 322
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
eenheid,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr3.cnt_contract_key
AND kc.cnt_kenmerk_key = 392)
kostenexcl,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr3.cnt_contract_key
AND kc.cnt_kenmerk_key = 393
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
btw
FROM cnt_contract cr3
WHERE cr3.ins_discipline_key = 198 -- regel 3
UNION
SELECT cr4.cnt_contract_key cntkey,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr4.cnt_contract_key
AND kc.cnt_kenmerk_key = 394
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
contractregelrubriek,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr4.cnt_contract_key
AND kc.cnt_kenmerk_key = 395)
aantal,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr4.cnt_contract_key
AND kc.cnt_kenmerk_key = 396
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
eenheid,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr4.cnt_contract_key
AND kc.cnt_kenmerk_key = 421)
kostenexcl,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr4.cnt_contract_key
AND kc.cnt_kenmerk_key = 397
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
btw
FROM cnt_contract cr4
WHERE cr4.ins_discipline_key = 198 -- regel 4
UNION
SELECT cr5.cnt_contract_key cntkey,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr5.cnt_contract_key
AND kc.cnt_kenmerk_key = 398
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
contractregelrubriek,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr5.cnt_contract_key
AND kc.cnt_kenmerk_key = 399)
aantal,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr5.cnt_contract_key
AND kc.cnt_kenmerk_key = 422
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
eenheid,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr5.cnt_contract_key
AND kc.cnt_kenmerk_key = 400)
kostenexcl,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, fac_usrdata ud
WHERE kc.cnt_kenmerkcontract_verwijder IS NULL
AND kc.cnt_contract_key = cr5.cnt_contract_key
AND kc.cnt_kenmerk_key = 401
AND kc.cnt_kenmerkcontract_waarde =
ud.fac_usrdata_key)
btw
FROM cnt_contract cr5
WHERE cr5.ins_discipline_key = 198) regels -- regel 5
ON basis.cnt_contract_key = regels.cntkey
WHERE regels.contractregelrubriek IS NOT NULL;
UPDATE cnt_kenmerkcontract
SET cnt_kenmerkcontract_verwijder = SYSDATE
WHERE cnt_kenmerkcontract_verwijder IS NULL
AND cnt_kenmerk_key IN
(201,
202,
203,
221,
242,
241,
261,
262,
263,
281,
302,
321,
322,
392,
393,
394,
395,
396,
421,
397,
398,
399,
422,
400,
401);
COMMIT;
-- STAP6: In juiste volgorde aanmaken/vullen nieuwe regels vanuit tijdelijk tabel (en veel voorkennis):
SET SERVEROUTPUT ON size 1000000;
DECLARE
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (255);
v_aanduiding VARCHAR2 (255);
v_errormsg VARCHAR2 (1024);
v_errorhint VARCHAR2 (1024);
v_lines_cnt NUMBER;
v_line2_cnt NUMBER;
v_line4_cnt NUMBER;
v_line5_cnt NUMBER;
v_line6_cnt NUMBER;
CURSOR c
IS
SELECT DISTINCT x.cnt_contract_key, c.cnt_contract_nummer_intern
FROM uwva_tmp_hv_contractregels x, cnt_contract c
WHERE x.cnt_contract_key = c.cnt_contract_key
ORDER BY x.cnt_contract_key;
BEGIN
FOR r1 IN c
LOOP
BEGIN
v_aanduiding :=
'['
|| TO_CHAR (r1.cnt_contract_key)
|| '| '
|| r1.cnt_contract_nummer_intern
|| '] ';
v_errorhint := 'Fout bepalen contractregels';
v_lines_cnt := 1;
v_line2_cnt := 1;
v_line4_cnt := 1;
v_line5_cnt := 1;
v_line6_cnt := 1;
FOR r2 IN ( SELECT x.volgorde,
x.rubriek,
x.aantal,
x.eenheid,
x.kosten_excl_btw,
x.btw_tarief
FROM uwva_tmp_hv_contractregels x
WHERE x.cnt_contract_key = r1.cnt_contract_key
ORDER BY x.volgorde, x.aantal DESC)
LOOP
BEGIN
v_errorhint :=
'Fout toevoegen contractregel: ' || TO_CHAR (v_lines_cnt);
IF (r2.volgorde = 1) -- INSERT op 1, anders eerstvrije 2/3/IV!
THEN
IF (v_lines_cnt = 1)
THEN
--INSERT op 1; 201, 202, 203, 221, 242
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 201, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 202, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 203, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
221,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 242, r2.btw_tarief);
END IF;
ELSE
IF (v_line2_cnt = 1)
THEN
--INSERT op 2; 241, 261, 262, 263, 281
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 241, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 261, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 262, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
263,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
281,
r2.btw_tarief);
END IF;
ELSIF (v_line2_cnt = 2)
THEN
--INSERT op 3; 302, 321, 322, 392, 393
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 302, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 321, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 322, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
392,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
393,
r2.btw_tarief);
END IF;
ELSIF (v_line2_cnt = 3)
THEN
--INSERT op IV; 851, 852, 853, 854, 855
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 851, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 852, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 853, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
854,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
855,
r2.btw_tarief);
END IF;
ELSE
-- Iets loopt niet zoals verwacht!
DBMS_OUTPUT.PUT_LINE (
'Error: Teveel 1=2-regels; Hint: ' || v_errorhint);
END IF;
v_line2_cnt := v_line2_cnt + 1;
END IF;
ELSIF (r2.volgorde = 2) -- INSERT op eerstvrije 2/3/IV!
THEN
IF (v_line2_cnt = 1)
THEN
--INSERT op 2; 241, 261, 262, 263, 281
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 241, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 261, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 262, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
263,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 281, r2.btw_tarief);
END IF;
ELSIF (v_line2_cnt = 2)
THEN
--INSERT op 3; 302, 321, 322, 392, 393
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 302, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 321, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 322, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
392,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 393, r2.btw_tarief);
END IF;
ELSIF (v_line2_cnt = 3)
THEN
--INSERT op IV; 851, 852, 853, 854, 855
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 851, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 852, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 853, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
854,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 855, r2.btw_tarief);
END IF;
ELSE
-- Iets loopt niet zoals verwacht!
DBMS_OUTPUT.PUT_LINE (
'Error: Teveel 2-regels; Hint: ' || v_errorhint);
END IF;
v_line2_cnt := v_line2_cnt + 1;
ELSIF (r2.volgorde = 4) -- INSERT op 4, anders fout!
THEN
IF (v_line4_cnt = 1)
THEN
--INSERT op 4; 394, 395, 396, 421, 397
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 394, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 395, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 396, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
421,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 397, r2.btw_tarief);
END IF;
v_line4_cnt := v_line4_cnt + 1;
ELSE
-- Iets loopt niet zoals verwacht!
DBMS_OUTPUT.PUT_LINE (
'Error: Teveel 4-regels; Hint: ' || v_errorhint);
END IF;
ELSIF (r2.volgorde = 5) -- INSERT op 5, anders eerstvrije 2/3/IV!
THEN
IF (v_line5_cnt = 1)
THEN
--INSERT op 5; 398, 399, 422, 400, 401
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 398, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 399, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 422, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
400,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 401, r2.btw_tarief);
END IF;
v_line5_cnt := v_line5_cnt + 1;
ELSE
IF (v_line2_cnt = 1)
THEN
--INSERT op 2; 241, 261, 262, 263, 281
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 241, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 261, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 262, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
263,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
281,
r2.btw_tarief);
END IF;
ELSIF (v_line2_cnt = 2)
THEN
--INSERT op 3; 302, 321, 322, 392, 393
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 302, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 321, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 322, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
392,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
393,
r2.btw_tarief);
END IF;
ELSIF (v_line2_cnt = 3)
THEN
--INSERT op IV; 851, 852, 853, 854, 855
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 851, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 852, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 853, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
854,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
855,
r2.btw_tarief);
END IF;
ELSE
-- Iets loopt niet zoals verwacht!
DBMS_OUTPUT.PUT_LINE (
'Error: Teveel 5=2-regels; Hint: ' || v_errorhint);
END IF;
v_line2_cnt := v_line2_cnt + 1;
END IF;
ELSIF (r2.volgorde = 6) -- INSERT op 6, anders fout!
THEN
IF (v_line6_cnt = 1)
THEN
--INSERT op 6; 1009, 1010, 1011, 1012, 1013
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 1009, r2.rubriek);
IF r2.aantal IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 1010, r2.aantal);
END IF;
IF r2.eenheid IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 1011, r2.eenheid);
END IF;
IF r2.kosten_excl_btw IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key,
1012,
r2.kosten_excl_btw);
END IF;
IF r2.btw_tarief IS NOT NULL
THEN
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (r1.cnt_contract_key, 1013, r2.btw_tarief);
END IF;
v_line6_cnt := v_line6_cnt + 1;
ELSE
-- Iets loopt niet zoals verwacht!
DBMS_OUTPUT.PUT_LINE (
'Error: Teveel 6-regels; Hint: ' || v_errorhint);
END IF;
END IF;
v_lines_cnt := v_lines_cnt + 1;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_aanduiding
|| '(ORACLE error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
DBMS_OUTPUT.PUT_LINE (
'Error: ' || v_errormsg || '; Hint: ' || v_errorhint);
END;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_aanduiding
|| '(ORACLE error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
DBMS_OUTPUT.PUT_LINE (
'Error: ' || v_errormsg || '; Hint: ' || v_errorhint);
END;
END LOOP;
END;
/
-- STAP7: Actuele HV-contracten onder - eerst aan te maken - mantel hangen en 3 kenmerken verhuizen:
-- Pand eigenaar (642) => Act. verhuurder=eigenaar (867)
-- Contractant (182) => Oorspr. ondertekenaar (884)
-- Huurprijsherziening (781) => Marktprijs herziening (878)
SET SERVEROUTPUT ON size 1000000;
DECLARE
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (255);
v_aanduiding VARCHAR2 (255);
v_errormsg VARCHAR2 (1024);
v_errorhint VARCHAR2 (1024);
v_count NUMBER;
v_cnt_mantel_key NUMBER;
CURSOR c
IS
SELECT c.cnt_contract_key,
c.adres_oms,
c.cnt_contract_nummer,
c.cnt_contract_nummer_intern,
c.cnt_contract_omschrijving,
c.cnt_prs_bedrijf_key,
c.cnt_contract_contact_persoon,
c.prs_afdeling_key_eig,
c.prs_perslid_key_eig,
c.cnt_prs_afdeling_key,
c.prs_perslid_key_beh,
c.prs_kostenplaats_key,
c.cnt_contract_looptijd_van,
c.cnt_contract_looptijd_tot,
c.cnt_contract_opzegtermijn,
c.cnt_contract_rappeltermijn,
kc1.contractant,
kc2.pandeigenaar,
kc3.huurprijsherz
FROM (SELECT c.cnt_contract_key,
DECODE (
cp.cnt_alg_plaats_code,
'G',
(SELECT l.alg_locatie_adres
|| ' '
|| l.alg_locatie_plaats
FROM alg_gebouw g, alg_locatie l
WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key
AND g.alg_locatie_key = l.alg_locatie_key),
(SELECT alg_locatie_adres
|| ' '
|| alg_locatie_plaats
FROM alg_locatie
WHERE alg_locatie_key = cp.cnt_alg_plaats_key))
adres_oms,
c.cnt_contract_nummer, -- 4x gevuld; de rest NULL
c.cnt_contract_nummer_intern,
c.cnt_contract_omschrijving,
c.cnt_prs_bedrijf_key,
c.cnt_contract_contact_persoon,
c.prs_afdeling_key_eig, -- 2x 1152=Facilitair Bedrijf Facilitair; de rest 4101/HF Vastgoed!
c.prs_perslid_key_eig,
c.cnt_prs_afdeling_key, -- Altijd NULL
c.prs_perslid_key_beh, -- Altijd 16406/Richard Reijnders
c.prs_kostenplaats_key, -- 2x 10703/HROTH1=Herenwaard 21 Rotterdam; de rest 4421/404410=HF Vastgoed!
c.cnt_contract_looptijd_van,
c.cnt_contract_looptijd_tot,
c.cnt_contract_opzegtermijn,
c.cnt_contract_rappeltermijn
FROM cnt_contract c, cnt_v_aanwezigcontract_plaats cp
WHERE c.cnt_contract_verwijder IS NULL
AND c.ins_discipline_key = 198
AND c.cnt_contract_looptijd_tot > TO_DATE ('01012014', 'ddmmyyyy')
AND c.cnt_contract_key = cp.cnt_contract_key(+)) c
LEFT JOIN (SELECT cnt_contract_key,
cnt_kenmerkcontract_waarde contractant
FROM cnt_kenmerkcontract
WHERE cnt_kenmerkcontract_verwijder IS NULL
AND cnt_kenmerk_key = 182) kc1
ON c.cnt_contract_key = kc1.cnt_contract_key
LEFT JOIN (SELECT cnt_contract_key,
cnt_kenmerkcontract_waarde pandeigenaar
FROM cnt_kenmerkcontract
WHERE cnt_kenmerkcontract_verwijder IS NULL
AND cnt_kenmerk_key = 642) kc2
ON c.cnt_contract_key = kc2.cnt_contract_key
LEFT JOIN (SELECT cnt_contract_key,
cnt_kenmerkcontract_waarde huurprijsherz
FROM cnt_kenmerkcontract
WHERE cnt_kenmerkcontract_verwijder IS NULL
AND cnt_kenmerk_key = 781) kc3
ON c.cnt_contract_key = kc3.cnt_contract_key
ORDER BY cnt_contract_nummer_intern;
BEGIN
FOR r IN c
LOOP
BEGIN
v_aanduiding :=
'['
|| r.cnt_contract_nummer_intern
|| '| '
|| r.adres_oms
|| '] ';
v_errorhint := 'Fout toevoegen HV-mantel';
INSERT INTO cnt_contract (ins_discipline_key,
cnt_contract_omschrijving,
cnt_contract_nummer_intern,
cnt_contract_status,
cnt_prs_bedrijf_key,
cnt_contract_contact_persoon,
prs_afdeling_key_eig,
prs_perslid_key_eig,
cnt_prs_afdeling_key,
prs_perslid_key_beh,
prs_kostenplaats_key,
cnt_contract_looptijd_van,
cnt_contract_looptijd_tot,
cnt_contract_opzegtermijn,
cnt_contract_rappeltermijn)
VALUES (412, -- HV-mantel
SUBSTR ('Mantel ' || r.adres_oms, 1, 50),
'M-' || r.cnt_contract_nummer_intern,
0,
r.cnt_prs_bedrijf_key,
r.cnt_contract_contact_persoon,
r.prs_afdeling_key_eig,
r.prs_perslid_key_eig,
r.cnt_prs_afdeling_key,
r.prs_perslid_key_beh,
r.prs_kostenplaats_key,
r.cnt_contract_looptijd_van,
r.cnt_contract_looptijd_tot,
r.cnt_contract_opzegtermijn,
r.cnt_contract_rappeltermijn)
RETURNING cnt_contract_key
INTO v_cnt_mantel_key;
-- Verhuizen (naar mantel/oude weg):
-- Contractant (182) => Oorspr. ondertekenaar (v2-884/soort 543): van Karakter naar Karakter
-- Pand eigenaar (642) => Act. verhuurder=eigenaar (v2-867/soort 526): van Referentie/View naar Referentie/View
-- Huurprijsherziening (781) => Marktpr. herz datum (v2-878/soort 537): van Datum naar Datum
v_errorhint := 'Fout bijwerken HV-mantel/Contractant';
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (v_cnt_mantel_key, 884, r.contractant);
v_errorhint := 'Fout bijwerken HV-mantel/Pand eigenaar';
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (v_cnt_mantel_key, 867, r.pandeigenaar);
v_errorhint := 'Fout bijwerken HV-mantel/Huurprijsherziening';
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
cnt_kenmerk_key,
cnt_kenmerkcontract_waarde)
VALUES (v_cnt_mantel_key, 878, r.huurprijsherz);
v_errorhint := 'Fout bijwerken HV-contract';
UPDATE cnt_contract
SET cnt_contract_mantel_key = v_cnt_mantel_key
WHERE cnt_contract_key = r.cnt_contract_key;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_aanduiding
|| '(ORACLE error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
DBMS_OUTPUT.PUT_LINE (
'Error: ' || v_errormsg || '; Hint: ' || v_errorhint);
END;
END LOOP;
END;
/
COMMIT;
-- STAP8: Verwijder nu (toch maar direct) de velden die in stap1 onderaan zijn gezet:
UPDATE cnt_kenmerk
SET cnt_kenmerk_verwijder = SYSDATE
WHERE cnt_kenmerk_key IN
(381, 182, 622, 642, 641, 190, 195, 781, 782, 783, 397, 399, 422);
COMMIT;
CREATE OR REPLACE VIEW UWVA_V_RAP_FAC_WEBUSR AS SELECT NULL x FROM DUAL;
INSERT INTO fac_usrrap (fac_usrrap_omschrijving,
fac_usrrap_view_name,
fac_usrrap_in_huidige_locatie,
fac_usrrap_template,
fac_usrrap_macro,
fac_usrrap_vraagbegindatum,
fac_usrrap_vraageinddatum,
fac_usrrap_functie,
fac_usrrap_info,
fac_functie_key,
fac_usrrap_autorefresh)
SELECT 'BEHEER: Overzicht WEB_USERXX autorisaties',
'UWVA_V_RAP_FAC_WEBUSR',
NULL,
NULL,
NULL,
0,
0,
0,
'Overzicht WEB_USERXX autorisaties in rapportages, autorisatiegroepen, themas, labels en menuitems',
fac_functie_key,
0
FROM fac_functie
WHERE fac_functie_code = 'WEB_PRSSYS';
COMMIT;
BEGIN adm.systrackscriptId('$Id$'); END;
/
SPOOL OFF
@@uwva_prs.sql
--@@uwva_fin.sql
@@uwva_hv.sql
@@uwva_misc.sql
BEGIN fac.registercustversion('UWVA', 91); END;
/
COMMIT;