PCHW#70366 -- Bevriezing SVD's opnieuw uitvoeren
svn path=/Customer/; revision=54446
This commit is contained in:
134
onces/PCHW/PCHW#70366.sql
Normal file
134
onces/PCHW/PCHW#70366.sql
Normal 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
|
||||
Reference in New Issue
Block a user