BAMG#14226

svn path=/Customer/trunk/; revision=13606
This commit is contained in:
Arthur Egberink
2008-05-26 10:20:26 +00:00
parent 6e2e017394
commit 0148815efb

View File

@@ -1,7 +1,7 @@
-- Script containing customer specific configuration sql statements for BAMG: BAM Groep
-- (c) 2005-2007 Dijkoraad IT bv
-- $Revision: 14 $
-- $Modtime: 2-04-08 17:06 $
-- $Revision: 15 $
-- $Modtime: 26-05-08 12:02 $
--
-- Support: +31 53 4800700
@@ -2276,6 +2276,126 @@ EXCEPTION
END;
/
CREATE OR REPLACE VIEW BAMG_V_EXPORT_AFMELDEN (RESULT_ORDER, RESULT)
AS
SELECT null, null FROM DUAL;
-- Procedure voor het automatisch afmelden van reserveringen
CREATE OR REPLACE PROCEDURE bamg_select_afmelden (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2
)
AS
BEGIN
DELETE FROM imp_log
WHERE imp_log_applicatie = p_applname;
END;
/
-- Procedure voor het automatisch afmelden van reserveringen
CREATE OR REPLACE PROCEDURE bamg_export_afmelden (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2
)
AS
v_count NUMBER;
v_prijs NUMBER;
-- Data
CURSOR c_ruimte
IS
SELECT *
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_tot < sysdate -1
AND res_status_bo_key < 5;
CURSOR c_artikel
IS
SELECT *
FROM res_rsv_artikel
WHERE res_rsv_artikel_levering < sysdate -1
AND res_status_bo_key < 5;
CURSOR c_deel
IS
SELECT *
FROM res_rsv_deel
WHERE res_rsv_deel_tot < sysdate -1
AND res_status_bo_key < 5;
rec_ruimte c_ruimte%ROWTYPE;
rec_artikel c_artikel%ROWTYPE;
rec_deel c_deel%ROWTYPE;
-- Error handling
BEGIN
v_count := 0;
FOR rec_ruimte IN c_ruimte
LOOP
BEGIN
UPDATE res_rsv_ruimte
SET res_status_bo_key = 5
, res_rsv_ruimte_afgemeld = sysdate
, res_rsv_ruimte_afgemeld_user = 24041
, res_rsv_ruimte_prijs = 0
WHERE res_rsv_ruimte_key = rec_ruimte.res_rsv_ruimte_key
AND res_status_bo_key <> 6;
v_count := v_count+1;
END;
END LOOP;
fac.imp_writelog (p_applname, p_applrun, 'I', 'Aantal afgemelde ruimtes: ' || v_count, '');
v_count:=0;
FOR rec_artikel IN c_artikel
LOOP
BEGIN
v_prijs := res.getartikelprijs(rec_artikel.res_rsv_artikel_key);
UPDATE res_rsv_artikel
SET res_status_bo_key = 5
, res_rsv_artikel_afgemeld = sysdate
, res_rsv_artikel_afgemeld_user = 24041
, res_rsv_artikel_prijs = v_prijs
WHERE res_rsv_artikel_key = rec_artikel.res_rsv_artikel_key
AND res_status_bo_key <> 6;
v_count := v_count+1;
END;
END LOOP;
fac.imp_writelog (p_applname, p_applrun, 'I', 'Aantal afgemelde artikelen: ' || v_count, '');
v_count := 0;
FOR rec_deel IN c_deel
LOOP
BEGIN
v_prijs := res.getdeelprijs(rec_deel.res_rsv_deel_key);
UPDATE res_rsv_deel
SET res_status_bo_key = 5
, res_rsv_deel_afgemeld = sysdate
, res_rsv_deel_afgemeld_user = 24041
, res_rsv_deel_prijs = v_prijs
WHERE res_rsv_deel_key = rec_deel.res_rsv_deel_key
AND res_status_bo_key <> 6;
v_count := v_count+1;
END;
END LOOP;
fac.imp_writelog (p_applname, p_applrun, 'I', 'Aantal afgemelde delen: ' || v_count, '');
EXCEPTION
WHEN OTHERS
THEN
fac.imp_writelog (p_applname, p_applrun, 'E', '(ORACLE error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100) || ')','');
commit;
END;
/
show errors
-- fsn#1371 end