Files
Customer/onces/PCHA/PCHA#53890.sql
Arthur Egberink c4de1ab5f6 PCHA#53890 -- Herstellen onderlegger facturatie
svn path=/Customer/; revision=38449
2018-07-10 07:16:28 +00:00

131 lines
3.8 KiB
SQL

--
-- $Id$
--
-- Vul de historische tabel met monitorings aan met detail informatie voor meldingen
-- die niet tot een korting geleid hebben maar wel een afwijking hadden.
DEFINE thisfile = 'PCHA#52977.sql'
DEFINE dbuser = 'PCHA'
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 ------
CREATE OR REPLACE PROCEDURE pchx_select_freeze_mon_T (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
AS
CURSOR c_svd_opdracht
IS
SELECT * FROM pchx_v_rap_svd
WHERE status = 'Verwerkt'
AND xml_node = 'opdracht'
AND datum < TRUNC (SYSDATE, 'MONTH')
AND mld_opdr_key NOT IN (SELECT mld_opdr_key FROM pchx_svd);
v_exportdate DATE;
v_lastexport DATE;
v_kortingen_totaal NUMBER(11,2);
v_svd_totaal NUMBER(11,2);
v_status NUMBER;
BEGIN
v_exportdate := SYSDATE;
-- Als ik deze maand al een freeze heb uitgevoerd dan mag ik dat niet nog een keer doen.
SELECT MAX(export_datum)
INTO v_lastexport
FROM pchx_monitoring;
DELETE imp_log WHERE COALESCE(imp_log_applicatie, 'QueQeLeQue') = p_applname;
-- Freeze van SVD's
-- Als ik deze maand al een freeze heb uitgevoerd dan mag ik dat niet nog een keer doen.
SELECT MAX(export_datum)
INTO v_lastexport
FROM pchx_svd;
IF 1=1
THEN
FOR rec IN c_svd_opdracht
LOOP
BEGIN
INSERT INTO pchx_svd (mld_melding_key,
svd_type,
status,
datum,
omschrijving,
aantal,
prijs,
totaal,
index_totaal,
mld_opdr_key,
lomschr,
kostensoort,
kostenkenmerk,
export_datum)
VALUES (rec.mld_melding_key,
rec.svd_type,
rec.status,
rec.datum,
rec.omschrijving,
rec.aantal,
rec.prijs,
rec.totaal,
rec.index_totaal,
rec.mld_opdr_key,
rec.lomschr,
rec.kostensoort,
rec.kostenkenmerk,
v_exportdate);
mld.setopdrachtstatus (rec.mld_opdr_key, 7, NULL);
mld.updatemeldingstatus (rec.mld_melding_key, 0, NULL);
END;
END LOOP;
SELECT SUM(totaal)
INTO v_svd_totaal
FROM pchx_svd
WHERE export_datum = v_exportdate;
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel, fac_rapport_volgnr)
VALUES ('FREEZE', 'SVD totaal: ' || v_svd_totaal, 2);
ELSE
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel, fac_rapport_volgnr)
VALUES ('FREEZE', 'SVDs zijn al bevroren deze maand op ' || TO_CHAR(v_lastexport, 'dd-mm-yyyy hh24:mi:ss'), 2);
END IF;
COMMIT;
END pchx_select_freeze_mon_T;
/
BEGIN
pchx_select_freeze_mon_T ('FREEZE_MON', 'NOW');
END;
/
drop procedure pchx_select_freeze_mon_T;
------ 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