PCHW#70366 -- Bevriezing SVD's opnieuw uitvoeren

svn path=/Customer/; revision=54446
This commit is contained in:
Arthur Egberink
2022-01-07 15:29:26 +00:00
parent 8c804a8358
commit 190e2c1145

134
onces/PCHW/PCHW#70366.sql Normal file
View File

@@ -0,0 +1,134 @@
--
-- $Id$
--
-- Korte beschrijving wat het script doet
-- Dit script voert alsnog de freeze op de catering uit.
--
DEFINE thisfile = 'PCHW#70366.SQL'
DEFINE dbuser = '^PCHW'
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 ------
CREATE OR REPLACE PROCEDURE pchx_select_freeze_mon_T (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
AS
CURSOR c_svd_artikel
IS
SELECT * FROM pchx_v_rap_svd
WHERE status = 'Afgemeld'
AND xml_node = 'artikel'
AND datum < TRUNC (SYSDATE, 'MONTH');
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_artikel
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,
fcl,
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,
rec.fcl,
v_exportdate);
UPDATE res_rsv_artikel rra
SET res_rsv_artikel_verwerkt = v_exportdate, res_status_bo_key = 6
WHERE rra.res_rsv_artikel_key = rec.mld_opdr_key;
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