Files
Customer/onces/DLLG/DLLG#63822.sql
Arthur Egberink fd382cb424 DLLG#63822 -- Opdrachten afmelden met specifieke datum
svn path=/Customer/; revision=48450
2020-10-13 07:15:56 +00:00

76 lines
2.0 KiB
SQL

--
-- $Id$
--
-- Opdrachten afmelden en antedateren met de waarde uit het kenmerk key 21
DEFINE thisfile = 'DLLG#63822.SQL'
DEFINE dbuser = '^DLLG'
SET ECHO ON
SET DEFINE ON
SET serveroutput 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 o.mld_melding_key,
o.mld_opdr_key,
mld_statusopdr_key,
ko.mld_kenmerkopdr_waarde
FROM mld_opdr o, mld_kenmerkopdr ko
WHERE o.mld_opdr_key = ko.mld_opdr_key AND ko.mld_kenmerk_key = 21;
v_tracking_key NUMBER;
BEGIN
FOR rec IN c
LOOP
IF rec.mld_statusopdr_key IN (5, 8)
THEN
MLD.setopdrachtstatus (rec.mld_opdr_key, 6, NULL);
END IF;
BEGIN
SELECT fac_tracking_key
INTO v_tracking_key
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key = 73 -- ordafm
AND t.fac_tracking_refkey = rec.mld_opdr_key;
UPDATE fac_tracking
SET fac_tracking_datum =
TO_DATE (rec.mld_kenmerkopdr_waarde, 'DD-MM-YYYY')
+ 18 / 24
WHERE fac_tracking_key = v_tracking_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
DBMS_OUTPUT.Put_line (
'Geen ORDAFM tracking gevonden: ' || rec.mld_opdr_key);
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