YASK#85687 Inrichten rabobank in Yask omgeving. De opdrachtkenmerken moeten ge-explodeerd worden per opdrachttype omdat er nieuwe opdrachttypes bijkomen.

svn path=/Customer/; revision=67084
This commit is contained in:
Arthur Egberink
2024-11-19 07:30:37 +00:00
parent 071a058c65
commit 084050b28d

102
onces/YASK/YASK#85687.sql Normal file
View File

@@ -0,0 +1,102 @@
--
-- $Id$
--
-- Kenmerken bij opdrachten toekennen aan specifiek opdrachttype voor migratie met Rabobank
DEFINE thisfile = 'YASK#85687.SQL'
DEFINE dbuser = '^YASK'
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
CURSOR c IS
SELECT k.mld_kenmerk_key,
sk.mld_srtkenmerk_key,
sk.mld_srtkenmerk_omschrijving,
k.mld_kenmerk_volgnummer,
ot.mld_typeopdr_key,
mld_typeopdr_omschrijving,
mld_kenmerk_inlijst,
mld_kenmerk_toonbaar,
COUNT (*) aantal
FROM mld_kenmerkopdr ko,
mld_kenmerk k,
mld_srtkenmerk sk,
mld_typeopdr ot,
mld_opdr o
WHERE ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND ko.MLD_OPDR_KEY = o.mld_opdr_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
--and k.mld_kenmerk_key = 201
AND k.mld_typeopdr_key IS NULL
AND sk.mld_srtkenmerk_key <> 41 -- geen bijlagen omhangen.
GROUP BY k.mld_kenmerk_key,
sk.mld_srtkenmerk_key,
sk.mld_srtkenmerk_omschrijving,
k.mld_kenmerk_volgnummer,
ot.mld_typeopdr_key,
mld_typeopdr_omschrijving,
mld_kenmerk_inlijst,
mld_kenmerk_toonbaar
ORDER BY k.mld_kenmerk_volgnummer, mld_typeopdr_key;
v_kenmerk_key NUMBER;
BEGIN
FOR rec IN c
LOOP
INSERT INTO mld_kenmerk (mld_srtkenmerk_key,
mld_kenmerk_omschrijving,
mld_kenmerk_volgnummer,
mld_typeopdr_key,
mld_kenmerk_inlijst,
mld_kenmerk_toonbaar,
mld_kenmerk_niveau)
VALUES (rec.mld_srtkenmerk_key,
rec.mld_srtkenmerk_omschrijving,
rec.mld_kenmerk_volgnummer,
rec.mld_typeopdr_key,
rec.mld_kenmerk_inlijst,
rec.mld_kenmerk_toonbaar,
'O')
RETURNING mld_kenmerk_key
INTO v_kenmerk_key;
UPDATE mld_kenmerkopdr
SET mld_kenmerk_key = v_kenmerk_key
WHERE mld_kenmerk_key = rec.mld_kenmerk_key
AND mld_opdr_key IN (SELECT mld_opdr_key FROM mld_opdr o WHERE mld_typeopdr_key = rec.mld_typeopdr_key);
UPDATE mld_kenmerk
SET mld_kenmerk_verwijder = SYSDATE
WHERE mld_kenmerk_key = rec.mld_kenmerk_key;
END LOOP;
END;
/
COMMIT;
------ 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