FMHN#71928 Once/Afwijzen geannuleerde ritten toch door Flowlogics aangemaakt in Facilitor
svn path=/Customer/; revision=55483
This commit is contained in:
120
onces/FMHN/FMHN#71928.sql
Normal file
120
onces/FMHN/FMHN#71928.sql
Normal file
@@ -0,0 +1,120 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Customer specific once-script FMHN#71928.sql.
|
||||
DEFINE thisfile = 'FMHN#71928.sql'
|
||||
DEFINE dbuser = '^FMHN'
|
||||
|
||||
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 ------
|
||||
|
||||
-- FMHN#71928: Op basis van 'Eigen tabel'-import afwijzen van geannuleerde
|
||||
-- ritten die toch door Flowlogics zijn aangemaakt als melding
|
||||
-- en wissen geregistreerde datum/tijd-velden!
|
||||
-- *** PRE-CONDITIE ***
|
||||
-- Alleen inlezen (niet verwerken!) van bestand via 'FIP: Aanmaken/bijwerken
|
||||
-- eigen tabel'-import!
|
||||
|
||||
-- Verwijder FAC_IMPORT-entry voor vandaag/zojuist door _FACILITOR ingelezen
|
||||
-- bestand (om verwerken te voorkomen).
|
||||
-- NB. De FAC_IMPORT_USRDATA-tabel blijft gevuld!
|
||||
DELETE FROM fac_import
|
||||
WHERE fac_import_app_key = 23 -- FIP: Eigen tabellen
|
||||
AND TRUNC (fac_import_datum_gelezen) = TRUNC (SYSDATE)
|
||||
--AND fac_import_filenaam = 'ET_FL.csv'
|
||||
AND prs_perslid_key = 3 -- _FACILITOR
|
||||
;
|
||||
COMMIT;
|
||||
/*
|
||||
SELECT x.fac_usrdata_code,
|
||||
COUNT ( * ), MIN (m.ritnummer), MAX (m.ritnummer)
|
||||
FROM fac_imp_usrdata x,
|
||||
(SELECT TRIM (SUBSTR (mld_melding_onderwerp, INSTR (mld_melding_onderwerp, 'Ritnummer:') + 10))
|
||||
ritnummer
|
||||
FROM mld_melding
|
||||
WHERE mld_stdmelding_key = 1) m
|
||||
WHERE x.fac_usrdata_code = m.ritnummer(+)
|
||||
GROUP BY x.fac_usrdata_code
|
||||
ORDER BY 2 DESC, 1;
|
||||
*/
|
||||
SET SERVEROUTPUT ON size 1000000;
|
||||
|
||||
DECLARE
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
|
||||
-- Cursor over alle - op basis van 'Eigen tabel'-import - af te wijzen Rit-
|
||||
-- meldingen!
|
||||
FOR rec
|
||||
IN ( SELECT m.mld_melding_key, m.mld_melding_status
|
||||
FROM fac_imp_usrdata x,
|
||||
(SELECT TRIM (SUBSTR (mld_melding_onderwerp, INSTR (mld_melding_onderwerp, 'Ritnummer:') + 10))
|
||||
ritnummer,
|
||||
mld_melding_key,
|
||||
mld_melding_status
|
||||
FROM mld_melding
|
||||
WHERE mld_stdmelding_key = 1) m
|
||||
WHERE x.fac_usrdata_code = m.ritnummer
|
||||
ORDER BY m.mld_melding_key)
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Afwijzen van geannuleerde ritten (nog niet Afgewezen) en wissen
|
||||
-- geregistreerde tijd-velden.
|
||||
IF rec.mld_melding_status = 2 -- Nieuw
|
||||
THEN
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_opmerking = SUBSTR ('Geannuleerd' || CHR (13) || CHR (10) || mld_melding_opmerking, 1, 4000)
|
||||
WHERE mld_melding_key = rec.mld_melding_key;
|
||||
|
||||
MLD.setmeldingstatus (rec.mld_melding_key, 1, NULL);
|
||||
|
||||
DELETE FROM mld_kenmerkmelding
|
||||
WHERE mld_kenmerk_key IN (64, 84) -- Start/Eindlocatie tijd
|
||||
AND mld_melding_key = rec.mld_melding_key;
|
||||
|
||||
v_count := v_count + 1;
|
||||
COMMIT;
|
||||
END IF;
|
||||
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: ' || v_errormsg);
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
DBMS_OUTPUT.PUT_LINE ('S: ' || TO_CHAR (v_count) || ' Rit-meldingen Afgewezen');
|
||||
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
|
||||
Reference in New Issue
Block a user