Files
Customer/onces/BLCC/BLCC#53374.sql
Maarten van der Heide b7b334620e BLCC#53374 Verwerken verouderde opdrachten
svn path=/Customer/; revision=38011
2018-05-30 14:33:42 +00:00

87 lines
2.5 KiB
SQL

--
-- $Id$
--
-- Customer specific once-script BLCC#53374.SQL.
DEFINE thisfile = 'BLCC#53374.SQL'
DEFINE dbuser = '^BLCC'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
-- BLCC#53374: Verwerk alle Workorders en Splitorders die voor 01-01-2018 zijn
-- afgemeld.
SET SERVEROUTPUT ON size 1000000;
DECLARE
CURSOR c_opdr
IS
SELECT '[' || TO_CHAR (mld_melding_key) || '|' || TO_CHAR (mld_opdr_key) || '] ' aanduiding,
mld_opdr_key, mld_melding_key,
'Verwerkt nav. opschoonactie, zie melding 53374 in FACILITOR logcentre.' notitie
FROM mld_opdr
WHERE mld_typeopdr_key IN (101, 102) -- Workorder/Splitorder
AND mld_statusopdr_key = 6 -- Afgemeld
AND fac.gettrackingdate ('ORDAFM', mld_opdr_key) < TO_DATE ('01-01-2018', 'dd-mm-yyyy')
ORDER BY mld_opdr_key;
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
BEGIN
v_count := 0;
FOR rec IN c_opdr
LOOP
BEGIN
v_errormsg := 'Fout toevoegen notitie';
INSERT INTO mld_opdr_note (mld_opdr_key,
prs_perslid_key,
mld_opdr_note_omschrijving)
VALUES (rec.mld_opdr_key,
4, -- _FACILITOR
rec.notitie);
v_errormsg := 'Fout verwerken opdracht';
MLD.setopdrachtstatus (rec.mld_opdr_key, 7, NULL); -- Verwerkt
v_count := v_count + 1;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
DBMS_OUTPUT.PUT_LINE ('W: ' || rec.aanduiding || v_errormsg);
COMMIT;
END;
END LOOP;
DBMS_OUTPUT.PUT_LINE ('S: ' || TO_CHAR (v_count) || ' opdrachten verwerkt');
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