Files
Customer/onces/AKZO/FCLT#65380.SQL
2021-03-19 14:08:41 +00:00

103 lines
3.1 KiB
SQL

--
-- $Id$
--
-- FCLT#65380: Implementatie AkzoNobel Sassenheim en A'hem/A'dam naar Saas
-- Initieel goed zetten sleutels en cilinders
DEFINE thisfile = 'FCLT#65380.SQL'
DEFINE dbuser = '^AKZO'
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 ------
-- Cilinders uitgeven aan een ruimte
UPDATE ins_deel d
SET d.ins_alg_ruimte_key_org = d.ins_alg_ruimte_key,
d.ins_alg_ruimte_type_org = 'R'
WHERE d.ins_deel_key IN
(SELECT d.INS_DEEL_KEY
FROM ins_deel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
AND sd.ins_srtgroep_key = 61);
-- Sleutels die zijn uitgegeven moeten naar een standaard ruimte
UPDATE ins_deel d
SET d.ins_alg_ruimte_key_org = 2221,
d.ins_alg_ruimte_type_org = 'R'
WHERE d.ins_deel_key IN
(SELECT d.INS_DEEL_KEY
FROM ins_deel d, ins_srtdeel sd
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
AND ins_alg_ruimte_type = 'P'
AND sd.ins_srtgroep_key = 62);
-- Laatste stap is dan de cilindersets en sleutelsets aan elkaar koppelen
DECLARE
-- Onderstaande cursors bepalen welke kostenplaats_nrs en afdelings_nrs er moeten worden omgezet. Deze zijn tijdelijk ingelezen via fac_imp_organisatie
CURSOR c_sle IS
SELECT cilinder_key, sleutel_key, cilinder.ins_srtdeel_code_upper
FROM (SELECT cil.ins_srtdeel_key cilinder_key,
cil.ins_srtdeel_code_upper
FROM ins_srtdeel cil
WHERE cil.ins_srtgroep_key = 61) cilinder,
(SELECT sle.ins_srtdeel_key sleutel_key,
sle.ins_srtdeel_code_upper
FROM ins_srtdeel sle
WHERE sle.ins_srtgroep_key = 62) sleutel
WHERE cilinder.ins_srtdeel_code_upper =
sleutel.ins_srtdeel_code_upper;
BEGIN
FOR rec IN c_sle
LOOP
BEGIN
INSERT INTO INS_SRTDEEL_SRTDEEL (ins_srtdeel_key_1,
ins_srtdeel_key_2,
ins_module)
VALUES (rec.cilinder_key, rec.sleutel_key, 'SLE');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
fac.writelog (
'Koppelen SLE',
'E',
'Overwachte fout: ' || rec.ins_srtdeel_code_upper,
'');
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