135 lines
4.0 KiB
SQL
135 lines
4.0 KiB
SQL
--
|
|
-- $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
|