BLOS#68339 -- Oncescript om het (oorspronkelijke) label van de locatie ook op de meldingen door te zetten
svn path=/Customer/; revision=54217
This commit is contained in:
113
onces/BLOS/BLOS#68339_label_mld.sql
Normal file
113
onces/BLOS/BLOS#68339_label_mld.sql
Normal file
@@ -0,0 +1,113 @@
|
||||
-- Customer specific once-script voor BLOS
|
||||
|
||||
-- $Id$
|
||||
--
|
||||
-- Oncescript om het (oorspronkelijke) label van de locatie ook op de meldingen door te zetten
|
||||
|
||||
DEFINE thisfile = 'BLOS#68339_label_mld.SQL'
|
||||
DEFINE dbuser = '^BLOS'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SPOOL &fcltlogfile
|
||||
SET DEFINE OFF
|
||||
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
DECLARE
|
||||
-- v_locatie_key NUMBER;
|
||||
v_kenmerk_waarde_cluster VARCHAR (100);
|
||||
v_kenmerk_waarde_key NUMBER (10);
|
||||
v_mld_kenmerkmelding_key NUMBER (10);
|
||||
v_mld_kenmerkmelding_waarde VARCHAR (100);
|
||||
v_errormsg VARCHAR2 (200);
|
||||
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT mld_melding_key, mld_alg_locatie_key
|
||||
FROM mld_melding
|
||||
WHERE mld_stdmelding_key NOT IN (1) -- Niet voor M2M-meldingen
|
||||
AND mld_alg_locatie_key IS NOT NULL
|
||||
-- AND mld_melding_key in (7964, 4517, 7451, 6277, 7479, 3614)
|
||||
;
|
||||
|
||||
BEGIN
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Ophalen waarde Cluster bij Locatie vastgelegd
|
||||
SELECT ud.fac_usrdata_omschr, ud.fac_usrdata_key
|
||||
INTO v_kenmerk_waarde_cluster, v_kenmerk_waarde_key
|
||||
FROM alg_locatie l, alg_onrgoedkenmerk k, alg_kenmerk km, fac_kenmerkdomein kd, fac_usrdata ud
|
||||
WHERE l.alg_locatie_key = rec.mld_alg_locatie_key
|
||||
AND l.alg_locatie_key = k.alg_onrgoed_key AND alg_onrgoed_niveau = 'L' AND k.alg_kenmerk_key = 1000 -- Clusterlabel (oorspronkelijk)
|
||||
AND k.alg_kenmerk_key = km.alg_kenmerk_key
|
||||
AND km.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND kd.fac_usrtab_key = ud.fac_usrtab_key
|
||||
AND fac.safe_to_number(k.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key ;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_kenmerk_waarde_cluster := NULL;
|
||||
v_kenmerk_waarde_key := NULL;
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
-- Is het kenmerk al eerder weggeschreven op de melding?
|
||||
SELECT km.mld_kenmerkmelding_key, km.mld_kenmerkmelding_waarde
|
||||
INTO v_mld_kenmerkmelding_key, v_mld_kenmerkmelding_waarde
|
||||
FROM mld_melding m, mld_kenmerkmelding km
|
||||
WHERE m.mld_melding_key = rec.mld_melding_key
|
||||
AND m.mld_melding_key = km.mld_melding_key
|
||||
AND km.mld_kenmerk_key = 221 -- Clusterlabel (oorspronkelijk)
|
||||
AND km.mld_kenmerkmelding_verwijder IS NULL ;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_mld_kenmerkmelding_key := NULL;
|
||||
END;
|
||||
|
||||
-- Toevoegen kenmerk-record als waarde gevuld en er nog geen record is aangemaakt
|
||||
IF v_kenmerk_waarde_cluster IS NOT NULL AND v_mld_kenmerkmelding_key IS NULL
|
||||
THEN
|
||||
BEGIN
|
||||
INSERT INTO mld_kenmerkmelding (mld_melding_key,
|
||||
mld_kenmerk_key,
|
||||
mld_kenmerkmelding_waarde)
|
||||
VALUES (rec.mld_melding_key, 221, v_kenmerk_waarde_cluster) ;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
-- Aanpassen kenmerk-record als de locatie is omgezet op de melding
|
||||
IF v_kenmerk_waarde_cluster IS NOT NULL AND v_mld_kenmerkmelding_key IS NOT NULL AND v_mld_kenmerkmelding_waarde <> v_kenmerk_waarde_cluster
|
||||
THEN
|
||||
BEGIN
|
||||
UPDATE mld_kenmerkmelding
|
||||
SET mld_kenmerkmelding_waarde = v_kenmerk_waarde_cluster
|
||||
WHERE mld_kenmerkmelding_key = v_mld_kenmerkmelding_key;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
END LOOP;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
Reference in New Issue
Block a user