103 lines
3.3 KiB
SQL
103 lines
3.3 KiB
SQL
--
|
|
-- $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
|