diff --git a/DSMA/dsma.sql b/DSMA/dsma.sql index e99317b6b..104b596fd 100644 --- a/DSMA/dsma.sql +++ b/DSMA/dsma.sql @@ -475,6 +475,52 @@ EXCEPTION END DSMA_SELECT_BASE27; / +CREATE OR REPLACE VIEW DSMA_V_RAP_BEZITTINGEN +( + ins_deel_key, + extra_key, -- Moet zo heten (in de veronderstelling dat DSM dit tzt. wil notificeren)! + gebruiker, + identificatie, + objectsoort, + beschrijving, + registratiedatum, + verwijderdatum, + tonen, + inleverdatum +) +AS + SELECT d.ins_deel_key, + d.ins_alg_ruimte_key, -- Gebruiker + pf.prs_perslid_naam_friendly, + d.ins_deel_omschrijving, + sd.ins_srtdeel_omschrijving, + x.kenmerken, + d.ins_deel_aanmaak, + d.ins_deel_verwijder, + DECODE (d.ins_deel_verwijder, NULL, DECODE (SIGN (ADD_MONTHS (d.ins_deel_vervaldatum, 1) - SYSDATE), -1, 0, 1), 0) + tonen, + DECODE (SIGN (d.ins_deel_vervaldatum - SYSDATE), -1, d.ins_deel_vervaldatum, NULL) + inleverdatum + FROM ins_deel d, -- Inclusief recent verwijderde objecten! + prs_v_perslid_fullnames_all pf, + ins_srtdeel sd, + ( SELECT ins_deel_key, + LISTAGG (kenmerk, ', ') WITHIN GROUP (ORDER BY ins_kenmerk_volgnummer) AS kenmerken + FROM (SELECT kd.ins_deel_key, + k.ins_kenmerk_volgnummer, + DECODE (kd.ins_kenmerkdeel_waarde, '1', sk.ins_srtkenmerk_omschrijving, kd.ins_kenmerkdeel_waarde) + kenmerk + FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk + WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key + AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key + AND sk.ins_srtkenmerk_key IN (5, 6, 7, 8, 9)) + GROUP BY ins_deel_key) x + WHERE d.ins_alg_ruimte_type = 'P' + AND d.ins_alg_ruimte_key = pf.prs_perslid_key + AND COALESCE (d.ins_deel_verwijder, SYSDATE) >= TRUNC (SYSDATE - 1) + AND d.ins_srtdeel_key = sd.ins_srtdeel_key + AND d.ins_deel_key = x.ins_deel_key(+); + ------ payload end ------ SET DEFINE OFF