FCLT#65380: Implementatie AkzoNobel Sassenheim en A'hem/A'dam naar Saas, sleutels goed zetten

svn path=/Customer/; revision=50425
This commit is contained in:
Suzan Wiegerinck
2021-03-19 14:08:41 +00:00
parent 7b5bf42de8
commit 5260a70ee6
2 changed files with 187 additions and 0 deletions

103
onces/AKZO/FCLT#65380.SQL Normal file
View File

@@ -0,0 +1,103 @@
--
-- $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

View File

@@ -0,0 +1,84 @@
SQL> WHENEVER SQLERROR EXIT;
SQL>
SQL> SELECT adm.checkscriptcust ('&dbuser') AS fcltcusterr FROM DUAL;
old 1: SELECT adm.checkscriptcust ('&dbuser') AS fcltcusterr FROM DUAL
new 1: SELECT adm.checkscriptcust ('^AKZO') AS fcltcusterr FROM DUAL
SQL>
SQL> WHENEVER SQLERROR CONTINUE;
SQL> PROMPT &fcltcusterr
OS-user: suzanw
TERMINAL: EMMNB0212
HOST: AAREON\EMMNB0212
LANGUAGE: AMERICAN_AMERICA.WE8MSWIN1252
CURRENT_USER: AKZO
SESSION_USER: AKZO
DB_DOMAIN: sg.nl
DB_NAME: work12
SERVER_HOST: facdb001
SERVICE_NAME: work12.sg.nl
IP_ADDRESS: 172.20.39.79
SQL> SET DEFINE OFF
SQL>
SQL> ------ payload begin ------
SQL>
SQL> DECLARE
2 -- Onderstaande cursors bepalen welke kostenplaats_nrs en afdelings_nrs er moeten worden omgezet. Deze zijn tijdelijk ingelezen via fac_imp_organisatie
3 CURSOR c_sle IS
4 SELECT cilinder_key, sleutel_key, cilinder.ins_srtdeel_code_upper
5 FROM (SELECT cil.ins_srtdeel_key cilinder_key,
6 cil.ins_srtdeel_code_upper
7 FROM ins_srtdeel cil
8 WHERE cil.ins_srtgroep_key = 61) cilinder,
9 (SELECT sle.ins_srtdeel_key sleutel_key,
10 sle.ins_srtdeel_code_upper
11 FROM ins_srtdeel sle
12 WHERE sle.ins_srtgroep_key = 81) sleutel
13 WHERE cilinder.ins_srtdeel_code_upper =
14 sleutel.ins_srtdeel_code_upper;
15 BEGIN
16 FOR rec IN c_sle
17 LOOP
18 BEGIN
19 INSERT INTO INS_SRTDEEL_SRTDEEL (ins_srtdeel_key_1,
20 ins_srtdeel_key_2,
21 ins_module)
22 VALUES (rec.cilinder_key, rec.sleutel_key, 'SLE');
23 EXCEPTION
24 WHEN OTHERS
25 THEN
26 fac.writelog (
27 'Koppelen SLE',
28 'E',
29 'Overwachte fout: ' || rec.ins_srtdeel_code_upper,
30 '');
31 END;
32 END LOOP;
33 END;
34 /
PL/SQL procedure successfully completed.
SQL>
SQL> ------ payload end ------
SQL>
SQL> SET DEFINE OFF
SQL>
SQL> BEGIN
2 adm.systrackscriptId (
3 '$Id$',
4 1);
5 END;
6 /
PL/SQL procedure successfully completed.
SQL>
SQL> COMMIT;
Commit complete.
SQL> SET ECHO OFF