Files
Customer/onces/YASK/YASK#89362.sql
2025-06-11 19:38:38 +00:00

80 lines
2.3 KiB
SQL

--
-- $Id$
--
-- aanpassen van het kenmerk opslag alle openstaande opdrachten van RABO.
DEFINE thisfile = 'YASK#88964.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 ------
-- aanpassen van het kenmerk opslag alle openstaande opdrachten van RABO.
DECLARE
CURSOR c IS
SELECT o.*
FROM mld_opdr o,
mld_melding m,
alg_locatie l,
alg_district d
WHERE mld_statusopdr_key <> 7
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND d.alg_regio_key = 121;
v_opslag_kenmerk_key MLD_KENMERK.MLD_KENMERK_KEY%TYPE;
BEGIN
FOR rec IN c
LOOP
-- De procedure set_opslag_perc vult alleen de opslag als deze nog niet gevuld was. Daarom eerst maar verwijderen.
BEGIN
SELECT mld_kenmerk_key
INTO v_opslag_kenmerk_key
FROM mld_kenmerk k, mld_srtkenmerk sk, mld_opdr o
WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
AND sk.mld_srtkenmerk_code = 'OPSLAGPERC'
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_typeopdr_key = o.mld_typeopdr_key
AND o.mld_opdr_key = rec.mld_opdr_key;
DELETE mld_kenmerkopdr
WHERE mld_opdr_key = rec.mld_opdr_key AND mld_kenmerk_key = v_opslag_kenmerk_key;
VBXX.set_opslag_perc (rec.mld_opdr_key);
VBXX.set_verkoopprijs (rec.mld_opdr_key);
EXCEPTION WHEN NO_DATA_FOUND
THEN
NULL;
-- Dan hoeven we niets te doen
END;
END LOOP;
COMMIT;
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