76 lines
2.0 KiB
SQL
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
|