MAAS#76183 Vullen garantiedatum

svn path=/Customer/; revision=58946
This commit is contained in:
Sander Schepers
2023-02-02 15:48:50 +00:00
parent 7810128817
commit 7b049fd1d0

154
onces/MAAS/MAAS#76183.sql Normal file
View File

@@ -0,0 +1,154 @@
--
-- $Id$
--
-- Er zijn 700+ objecten ingelezen. Achteraf wilde men eigenlijk dat er een garantiedatum gevuld wordt (afgeleiding van registratiedatum).
-- Dat wordt met dit script alsnog aangemaakt. Dus bij meer dan 700 objecten wordt een kenmerk gevuld (en tracking aangemaakt)
--
DEFINE thisfile = 'MAAS#76183.SQL'
DEFINE dbuser = 'MAAS'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
DECLARE
v_errorhint VARCHAR2 (100);
v_count NUMBER;
CURSOR telefonie IS
SELECT ins_deel_key,
TO_CHAR (TRUNC (ADD_MONTHS (ins_deel_aanmaak, 12)),
'DD-MM-YYYY') AS garantiedatum
FROM ins_v_aanwezigdeel
WHERE ins_discipline_key = 101;
CURSOR netwerkcomponent IS
SELECT ins_deel_key,
TO_CHAR (TRUNC (ADD_MONTHS (ins_deel_aanmaak, 12)),
'DD-MM-YYYY') AS garantiedatum
FROM ins_v_aanwezigdeel
WHERE ins_discipline_key = 102;
CURSOR hardware IS
SELECT ins_deel_key,
TO_CHAR (TRUNC (ADD_MONTHS (ins_deel_aanmaak, 12)),
'DD-MM-YYYY') AS garantiedatum
FROM ins_v_aanwezigdeel
WHERE ins_discipline_key = 104;
BEGIN
FOR rec IN telefonie
LOOP
BEGIN
v_errorhint := 'Garantiedatum Telefonie ' || rec.ins_deel_key;
SELECT COUNT (*)
INTO v_count
FROM ins_v_aanwezigkenmerkdeel
WHERE ins_deel_key = rec.ins_deel_key AND ins_kenmerk_key = 102; -- Kenmerk verloop garantie bij discipline Telefonie (accp102);
IF v_count = 0
THEN
v_errorhint :=
'Fout toevoegen waarde [' || rec.garantiedatum || ']';
INSERT INTO ins_kenmerkdeel (ins_deel_key,
ins_kenmerk_key,
ins_kenmerkdeel_waarde)
VALUES (rec.ins_deel_key, 102, rec.garantiedatum);
fac.trackaction (
'INSUPD',
rec.ins_deel_key,
NULL,
NULL,
'Verloop garantie: (leeg) --> ' || rec.garantiedatum);
END IF;
END;
END LOOP;
FOR rec IN netwerkcomponent
LOOP
BEGIN
v_errorhint := 'Garantiedatum Netwerkcomponent ' || rec.ins_deel_key;
SELECT COUNT (*)
INTO v_count
FROM ins_v_aanwezigkenmerkdeel
WHERE ins_deel_key = rec.ins_deel_key AND ins_kenmerk_key = 101; -- Kenmerk verloop garantie bij discipline Netwerkcomponent (accp101);
IF v_count = 0
THEN
v_errorhint :=
'Fout toevoegen waarde [' || rec.garantiedatum || ']';
INSERT INTO ins_kenmerkdeel (ins_deel_key,
ins_kenmerk_key,
ins_kenmerkdeel_waarde)
VALUES (rec.ins_deel_key, 101, rec.garantiedatum);
fac.trackaction (
'INSUPD',
rec.ins_deel_key,
NULL,
NULL,
'Verloop garantie: (leeg) --> ' || rec.garantiedatum);
END IF;
END;
END LOOP;
FOR rec IN hardware
LOOP
BEGIN
v_errorhint := 'Garantiedatum Hardware ' || rec.ins_deel_key;
SELECT COUNT (*)
INTO v_count
FROM ins_v_aanwezigkenmerkdeel
WHERE ins_deel_key = rec.ins_deel_key AND ins_kenmerk_key = 41; -- Kenmerk verloop garantie bij discipline Hardware;
IF v_count = 0
THEN
v_errorhint :=
'Fout toevoegen waarde [' || rec.garantiedatum || ']';
INSERT INTO ins_kenmerkdeel (ins_deel_key,
ins_kenmerk_key,
ins_kenmerkdeel_waarde)
VALUES (rec.ins_deel_key, 41, rec.garantiedatum);
fac.trackaction (
'INSUPD',
rec.ins_deel_key,
NULL,
NULL,
'Verloop garantie: (leeg) --> ' || rec.garantiedatum);
END IF;
END;
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