RENK#24949 Reserveringsfacturen (voor derden)

svn path=/Customer/trunk/; revision=18895
This commit is contained in:
Maarten van der Heide
2013-08-28 10:12:51 +00:00
parent 3f5f5ea062
commit ff8a8201aa

View File

@@ -1864,475 +1864,72 @@ AS
CREATE OR REPLACE PACKAGE RENK
AS
-- PACKAGES voor de RENK specifieke ondersteuning
PROCEDURE freezereserveringen (p_prskey IN NUMBER, p_periode IN NUMBER);
PROCEDURE freezereserveringen (p_groepering IN VARCHAR2);
END;
/
/* Formatted on 5-6-2013 15:30:45 (QP5 v5.115.810.9015) */
/* Formatted on 20-8-2013 13:22:02 (QP5 v5.115.810.9015) */
CREATE OR REPLACE PACKAGE BODY RENK
AS
PROCEDURE freezereserveringen (p_prskey IN NUMBER, p_periode IN NUMBER)
PROCEDURE freezereserveringen (p_groepering IN VARCHAR2,
p_kenmerk IN VARCHAR2)
AS
-- Volgende cursors lopen over reserveringen (door personen van bedrijf
-- waartoe ook 'p_prskey' behoort) die in de voorgaande maand hebben
-- plaatsgevonden en nog niet zijn gefactuureerd; betreffende ruimte- <20>n
-- roomservice-reserveringen worden Administratief Verwerkt (AV)!
-- Tevens wordt aan al deze reserveringen het factuurnummer gekoppeld.
-- Volgende cursors lopen over boekingen door de huurder geidentificeerd
-- door 'p_groepering' in de lopende jaarhelft hebben plaatsgevonden (of
-- nog moeten plaatsvinden) en nog niet zijn gefactuureerd; betreffende
-- ruimte-reservering worden NIET Administratief Verwerkt!
-- Ook wordt aan deze reserveringen een (nieuw) Docman-kenmerk gekoppeld.
CURSOR cobj
IS
SELECT x.periode,
x.res_rsv_ruimte_key,
x.res_reservering_key,
x.res_rsv_ruimte_volgnr,
x.res_rsv_deel_key,
x.res_status_bo_key
FROM (SELECT rr.res_rsv_ruimte_key,
rr.res_reservering_key,
rr.res_rsv_ruimte_volgnr,
DECODE (
TO_CHAR (rr.res_rsv_ruimte_tot, 'yyyymm'),
TO_CHAR (SYSDATE, 'yyyymm'),
0,
1
)
periode,
rd.res_rsv_deel_key,
rd.res_status_bo_key,
rr.res_rsv_ruimte_contact_key,
TRIM (bedr.prs_kenmerklink_waarde) bedrijf
FROM res_v_aanwezigrsv_ruimte rr,
res_v_aanwezigrsv_deel rd,
prs_perslid p,
(SELECT *
FROM prs_v_aanwezigkenmerklink
WHERE prs_kenmerk_key = 1000) bedr
WHERE rr.res_status_fo_key IN (1, 2)
AND COALESCE (rr.res_status_bo_key, 2) != 6 -- Nog niet AV
AND rr.res_rsv_ruimte_dirtlevel = 0
AND rr.res_rsv_ruimte_key =
rd.res_rsv_ruimte_key
AND rd.res_status_bo_key != 6 -- Nog niet AV
AND rd.res_rsv_deel_dirtlevel = 0
AND rd.res_rsv_ruimte_key IS NOT NULL -- Geen parkeerplaatsen
AND rr.res_rsv_ruimte_contact_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN (21, 22) -- Leden/Niet leden
--AND TRUNC (rr.res_rsv_ruimte_tot) <
-- TO_DATE (
-- '01' || TO_CHAR (SYSDATE, 'mmyyyy'),
-- 'ddmmyyyy'
-- )
AND rr.res_rsv_ruimte_tot < SYSDATE + (1 / 24)
AND rr.res_rsv_ruimte_contact_key =
bedr.prs_link_key(+)) x
LEFT JOIN
(SELECT c.bedrijf,
COALESCE (mc.prs_link_key, c.prs_link_key)
prs_link_key
FROM ( SELECT UPPER(TRIM(kl.prs_kenmerklink_waarde))
bedrijf,
MIN (kl.prs_link_key)
prs_link_key
FROM prs_v_aanwezigkenmerklink kl,
prs_perslid p
WHERE kl.prs_kenmerk_key = 1000
AND kl.prs_link_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN
(21, 22) -- Leden/Niet leden
GROUP BY UPPER(TRIM(kl.prs_kenmerklink_waarde)))
c
LEFT JOIN
( SELECT UPPER(TRIM(kl.prs_kenmerklink_waarde))
bedrijf,
MIN (kl.prs_link_key)
prs_link_key
FROM prs_v_aanwezigkenmerklink kl,
prs_perslid p
WHERE kl.prs_kenmerk_key = 1000
AND kl.prs_link_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN
(21, 22) -- Leden/Niet leden
AND p.prs_srtperslid_key = 482
GROUP BY UPPER(TRIM(kl.prs_kenmerklink_waarde)))
mc
ON c.bedrijf = mc.bedrijf) y
ON UPPER (x.bedrijf) = y.bedrijf
WHERE COALESCE (y.prs_link_key, x.res_rsv_ruimte_contact_key) =
p_prskey
AND x.periode = p_periode;
SELECT v.resid,
rr.res_rsv_ruimte_key,
rr.res_reservering_key,
rr.res_rsv_ruimte_volgnr,
rd.res_rsv_deel_key
FROM renk_v_verhuurregels_alle v,
res_v_aanwezigrsv_ruimte rr,
res_v_aanwezigrsv_deel rd
WHERE v.groepering = p_groepering
AND v.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key;
CURSOR cart
IS
SELECT x.periode,
x.res_rsv_ruimte_key,
x.res_reservering_key,
x.res_rsv_ruimte_volgnr,
x.res_rsv_artikel_key,
x.res_artikel_key,
x.res_status_bo_key,
x.res_artikel_prijs_vast
FROM (SELECT rr.res_rsv_ruimte_key,
rr.res_reservering_key,
rr.res_rsv_ruimte_volgnr,
DECODE (
TO_CHAR (rr.res_rsv_ruimte_tot, 'yyyymm'),
TO_CHAR (SYSDATE, 'yyyymm'),
0,
1
)
periode,
ra.res_rsv_artikel_key,
ra.res_artikel_key,
ra.res_status_bo_key,
a.res_artikel_prijs_vast,
rr.res_rsv_ruimte_contact_key,
TRIM (bedr.prs_kenmerklink_waarde) bedrijf
FROM res_v_aanwezigrsv_ruimte rr,
res_v_aanwezigrsv_artikel ra,
res_artikel a,
prs_perslid p,
(SELECT *
FROM prs_v_aanwezigkenmerklink
WHERE prs_kenmerk_key = 1000) bedr
WHERE rr.res_status_fo_key IN (1, 2)
AND COALESCE (rr.res_status_bo_key, 2) != 6 -- Nog niet AV
AND rr.res_rsv_ruimte_dirtlevel = 0
AND rr.res_rsv_ruimte_key =
ra.res_rsv_ruimte_key
AND ra.res_artikel_key = a.res_artikel_key
AND ra.res_status_bo_key != 6 -- Nog niet AV
AND ra.res_rsv_artikel_dirtlevel = 0
AND rr.res_rsv_ruimte_contact_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN (21, 22) -- Leden/Niet leden
--AND TRUNC (rr.res_rsv_ruimte_tot) <
-- TO_DATE (
-- '01' || TO_CHAR (SYSDATE, 'mmyyyy'),
-- 'ddmmyyyy'
-- )
AND rr.res_rsv_ruimte_tot < SYSDATE + (1 / 24)
AND rr.res_rsv_ruimte_contact_key =
bedr.prs_link_key(+)) x
LEFT JOIN
(SELECT c.bedrijf,
COALESCE (mc.prs_link_key, c.prs_link_key)
prs_link_key
FROM ( SELECT UPPER(TRIM(kl.prs_kenmerklink_waarde))
bedrijf,
MIN (kl.prs_link_key)
prs_link_key
FROM prs_v_aanwezigkenmerklink kl,
prs_perslid p
WHERE kl.prs_kenmerk_key = 1000
AND kl.prs_link_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN
(21, 22) -- Leden/Niet leden
GROUP BY UPPER(TRIM(kl.prs_kenmerklink_waarde)))
c
LEFT JOIN
( SELECT UPPER(TRIM(kl.prs_kenmerklink_waarde))
bedrijf,
MIN (kl.prs_link_key)
prs_link_key
FROM prs_v_aanwezigkenmerklink kl,
prs_perslid p
WHERE kl.prs_kenmerk_key = 1000
AND kl.prs_link_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN
(21, 22) -- Leden/Niet leden
AND p.prs_srtperslid_key = 482
GROUP BY UPPER(TRIM(kl.prs_kenmerklink_waarde)))
mc
ON c.bedrijf = mc.bedrijf) y
ON UPPER (x.bedrijf) = y.bedrijf
WHERE COALESCE (y.prs_link_key, x.res_rsv_ruimte_contact_key) =
p_prskey
AND x.periode = p_periode;
SELECT v.resid,
rr.res_rsv_ruimte_key,
rr.res_reservering_key,
rr.res_rsv_ruimte_volgnr,
ra.res_rsv_artikel_key
FROM renk_v_verhuurregels_alle v,
res_v_aanwezigrsv_ruimte rr,
res_v_aanwezigrsv_artikel ra
WHERE v.groepering = p_groepering
AND v.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key;
CURSOR crui
IS
SELECT x.periode,
x.res_rsv_ruimte_key,
x.res_reservering_key,
x.res_rsv_ruimte_volgnr,
x.res_status_bo_key,
x.old_prijs,
x.new_prijs
FROM (SELECT rr.res_rsv_ruimte_key,
rr.res_reservering_key,
rr.res_rsv_ruimte_volgnr,
DECODE (
TO_CHAR (rr.res_rsv_ruimte_tot, 'yyyymm'),
TO_CHAR (SYSDATE, 'yyyymm'),
0,
1
)
periode,
rr.res_status_bo_key,
COALESCE (rr.res_rsv_ruimte_prijs, 0)
old_prijs,
DECODE (
SIGN( ( (rr.res_rsv_ruimte_tot
- rr.res_rsv_ruimte_van)
* 24)
- 8),
-1,
DECODE (
SIGN( ( (rr.res_rsv_ruimte_tot
- rr.res_rsv_ruimte_van)
* 24)
- 4),
-1,
(rr.res_rsv_ruimte_tot
- rr.res_rsv_ruimte_van)
* 24
* COALESCE (r.res_ruimte_prijs, 0),
COALESCE (r.res_ruimte_prijs_ochtend, 0)
+ ( ( (rr.res_rsv_ruimte_tot
- rr.res_rsv_ruimte_van)
* 24)
- 4)
* COALESCE (r.res_ruimte_prijs, 0)
),
COALESCE (r.res_ruimte_prijs_middag, 0)
)
new_prijs,
rr.res_rsv_ruimte_contact_key,
TRIM (bedr.prs_kenmerklink_waarde) bedrijf
FROM res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_ruimte r,
prs_perslid p,
(SELECT *
FROM prs_v_aanwezigkenmerklink
WHERE prs_kenmerk_key = 1000) bedr
WHERE rr.res_status_fo_key IN (1, 2)
AND COALESCE (rr.res_status_bo_key, 2) != 6 -- Nog niet AV
AND rr.res_rsv_ruimte_dirtlevel = 0
AND rr.res_rsv_ruimte_ordernr IS NULL -- Nog geen factuur!
AND rr.res_ruimte_opstel_key =
ro.res_ruimte_opstel_key(+)
AND ro.res_ruimte_key = r.res_ruimte_key(+)
AND rr.res_rsv_ruimte_contact_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN (21, 22) -- Leden/Niet leden
--AND TRUNC (rr.res_rsv_ruimte_tot) <
-- TO_DATE (
-- '01' || TO_CHAR (SYSDATE, 'mmyyyy'),
-- 'ddmmyyyy'
-- )
AND rr.res_rsv_ruimte_tot < SYSDATE + (1 / 24)
AND rr.res_rsv_ruimte_contact_key =
bedr.prs_link_key(+)) x
LEFT JOIN
(SELECT c.bedrijf,
COALESCE (mc.prs_link_key, c.prs_link_key)
prs_link_key
FROM ( SELECT UPPER(TRIM(kl.prs_kenmerklink_waarde))
bedrijf,
MIN (kl.prs_link_key)
prs_link_key
FROM prs_v_aanwezigkenmerklink kl,
prs_perslid p
WHERE kl.prs_kenmerk_key = 1000
AND kl.prs_link_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN
(21, 22) -- Leden/Niet leden
GROUP BY UPPER(TRIM(kl.prs_kenmerklink_waarde)))
c
LEFT JOIN
( SELECT UPPER(TRIM(kl.prs_kenmerklink_waarde))
bedrijf,
MIN (kl.prs_link_key)
prs_link_key
FROM prs_v_aanwezigkenmerklink kl,
prs_perslid p
WHERE kl.prs_kenmerk_key = 1000
AND kl.prs_link_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN
(21, 22) -- Leden/Niet leden
AND p.prs_srtperslid_key = 482
GROUP BY UPPER(TRIM(kl.prs_kenmerklink_waarde)))
mc
ON c.bedrijf = mc.bedrijf) y
ON UPPER (x.bedrijf) = y.bedrijf
WHERE COALESCE (y.prs_link_key, x.res_rsv_ruimte_contact_key) =
p_prskey
AND x.periode = p_periode;
SELECT v.resid,
rr.res_rsv_ruimte_key,
rr.res_reservering_key,
rr.res_rsv_ruimte_volgnr
FROM renk_v_verhuurregels_alle v, res_v_aanwezigrsv_ruimte rr
WHERE v.groepering = p_groepering
AND v.res_rsv_ruimte_key = rr.res_rsv_ruimte_key;
c_applname VARCHAR2 (50) := 'FREEZE_RES';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (200) := '-';
v_count NUMBER (10);
v_count_upd NUMBER (10);
v_factuurnr VARCHAR2 (20);
v_prskey NUMBER (10);
v_huurderlid VARCHAR2 (1) := 'N';
v_factuurbedrag NUMBER (12, 2);
v_prijs NUMBER (9, 2);
c_applname VARCHAR2 (50) := 'FREEZE_RES';
v_errormsg VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (200) := '-';
v_count NUMBER (10);
v_count_upd NUMBER (10);
--v_factuurnr VARCHAR2 (20);
--v_prskey NUMBER (10);
--v_huurderlid VARCHAR2 (1) := 'N';
--v_factuurbedrag NUMBER (12, 2);
--v_prijs NUMBER (9, 2);
BEGIN
-- Beginnen met toevoegen Factuur/Debiteur-entry in Eigen tabel met
-- key=82; als dat al niet kan, dan weten wij dat gelijk (nog zonder
-- gevolgschade)!
v_errormsg := 'Fout bij bepalen factuurnummer.';
SELECT fac_s_user01.NEXTVAL INTO v_count FROM DUAL;
v_factuurnr :=
TO_CHAR (TRUNC (SYSDATE, 'MM') - 1, 'YYYY')
|| SUBSTR ('0000' || TO_CHAR (v_count), -4);
v_errormsg := 'Fout bij bepalen debiteur.';
SELECT COALESCE (y.prs_link_key, x.prs_perslid_key)
INTO v_prskey
FROM (SELECT p.prs_perslid_key,
TRIM (bedr.prs_kenmerklink_waarde) bedrijf
FROM prs_perslid p,
(SELECT *
FROM prs_v_aanwezigkenmerklink
WHERE prs_kenmerk_key = 1000) bedr
WHERE p.prs_perslid_key = p_prskey
AND p.prs_perslid_key = bedr.prs_link_key(+)) x
LEFT JOIN
(SELECT c.bedrijf,
COALESCE (mc.prs_link_key, c.prs_link_key)
prs_link_key
FROM ( SELECT UPPER (
TRIM (kl.prs_kenmerklink_waarde)
)
bedrijf,
MIN (kl.prs_link_key) prs_link_key
FROM prs_v_aanwezigkenmerklink kl,
prs_perslid p
WHERE kl.prs_kenmerk_key = 1000
AND kl.prs_link_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN (21, 22) -- Leden/Niet leden
GROUP BY UPPER(TRIM (
kl.prs_kenmerklink_waarde
))) c
LEFT JOIN
( SELECT UPPER (
TRIM (kl.prs_kenmerklink_waarde)
)
bedrijf,
MIN (kl.prs_link_key) prs_link_key
FROM prs_v_aanwezigkenmerklink kl,
prs_perslid p
WHERE kl.prs_kenmerk_key = 1000
AND kl.prs_link_key =
p.prs_perslid_key
AND p.prs_afdeling_key IN (21, 22) -- Leden/Niet leden
AND p.prs_srtperslid_key = 482
GROUP BY UPPER(TRIM (
kl.prs_kenmerklink_waarde
))) mc
ON c.bedrijf = mc.bedrijf) y
ON UPPER (x.bedrijf) = y.bedrijf;
v_errormsg := 'Fout bij bepalen ruimtekorting.';
--SELECT COUNT ( * )
-- INTO v_count
-- FROM prs_v_aanwezigkenmerklink
-- WHERE prs_link_key = v_prskey
-- AND prs_kenmerk_key = 1023 -- Huurder
-- AND prs_kenmerklink_waarde = '1';
SELECT COUNT ( * )
INTO v_count
FROM renk_v_rap_res_actual
WHERE hide_f_debnr = SUBSTR ('000000' || TO_CHAR (v_prskey), -6)
AND hide_f_restype = '1S';
IF (v_count > 0)
THEN
v_huurderlid := 'H'; -- Factuur incl. ruimtekorting!
END IF;
v_errormsg := 'Fout bij bepalen lidmaatschap.';
SELECT COUNT ( * )
INTO v_count
FROM renk_v_rap_res_actual
WHERE hide_f_debnr = SUBSTR ('000000' || TO_CHAR (v_prskey), -6)
AND hide_f_restype = '0L';
IF (v_count > 0)
THEN
--IF (v_huurderlid = 'H')
--THEN
-- v_huurderlid := 'X';
--ELSE
-- v_huurderlid := 'L';
--END IF;
v_huurderlid := 'L'; -- Factuur incl. lidmaatschap <20>n ruimtekorting!
END IF;
v_errormsg := 'Fout bij toevoegen meta-factuur.';
INSERT INTO fac_usrdata (fac_usrtab_key,
fac_usrdata_code,
fac_usrdata_omschr,
fac_usrdata_aanmaak,
fac_usrdata_vervaldatum)
VALUES (82,
v_factuurnr,
TO_CHAR (p_prskey) || v_huurderlid,
TRUNC (SYSDATE),
TRUNC (SYSDATE + 24));
COMMIT;
v_errormsg := 'Fout bij bepalen factuurbedrag.';
SELECT SUM (kosten + btwkosten)
INTO v_factuurbedrag
FROM renk_v_rap_res_actual
WHERE hide_f_debnr = SUBSTR ('000000' || TO_CHAR (v_prskey), -6);
-- Toevoegen pseudo-transactie in renk_bankboek voor facturen met een
-- negatief bedrag (te betalen door RENK aan klant).
IF (v_factuurbedrag < 0)
THEN
v_errormsg := 'Fout bij toevoegen pseudo-tranactie.';
INSERT INTO renk_bankboek (regel_insert,
afschriftnr,
boekdat_oud,
saldo_oud,
valutadat,
creditdebet,
bedrag,
transactietype,
tegenrekening,
omschrijving,
boekdat_nieuw,
saldo_nieuw)
VALUES (SYSDATE,
'Geen',
NULL,
NULL,
NULL,
'-',
v_factuurbedrag,
NULL,
NULL,
'Pseudo-transactie tbv. factuur ' || v_factuurnr,
TO_CHAR (SYSDATE, 'yymmdd'),
NULL);
COMMIT;
END IF;
v_count_upd := 0;
-- Bevriezen RES-objecten!
@@ -2341,13 +1938,11 @@ AS
BEGIN
v_aanduiding :=
'['
|| rec.res_reservering_key
|| '|'
|| rec.res_rsv_ruimte_volgnr
|| rec.resid
|| '|'
|| rec.res_rsv_ruimte_key
|| '|'
|| TO_CHAR (p_prskey)
|| TO_CHAR (p_groepering)
|| '] ';
-- Eerst maar eens afmelden (als dat nog niet is gedaan)!
@@ -2358,29 +1953,31 @@ AS
UPDATE res_rsv_deel
SET res_status_bo_key = 5
WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
COMMIT;
v_count_upd := v_count_upd + 1;
END IF;
v_errormsg := 'Fout bij bepalen res_rsv_deel_prijs.';
--v_errormsg := 'Fout bij bepalen res_rsv_deel_prijs.';
SELECT res.getdeelprijs (rec.res_rsv_deel_key)
INTO v_prijs
FROM DUAL;
--SELECT res.getdeelprijs (rec.res_rsv_deel_key)
-- INTO v_prijs
-- FROM DUAL;
v_errormsg := 'Fout bij bijwerken res_rsv_deel_prijs.';
--v_errormsg := 'Fout bij bijwerken res_rsv_deel_prijs.';
UPDATE res_rsv_deel
SET res_rsv_deel_prijs = v_prijs
WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
--UPDATE res_rsv_deel
-- SET res_rsv_deel_prijs = v_prijs
-- WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
v_errormsg := 'Fout bij AV-en RES-object.';
--v_errormsg := 'Fout bij AV-en RES-object.';
UPDATE res_rsv_deel
SET res_status_bo_key = 6
WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
--UPDATE res_rsv_deel
-- SET res_status_bo_key = 6
-- WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
v_count_upd := v_count_upd + 1;
COMMIT;
--COMMIT;
--v_count_upd := v_count_upd + 1;
EXCEPTION
WHEN OTHERS
THEN
@@ -2402,7 +1999,7 @@ AS
fac.writelog (c_applname,
'S',
'RES-object/#bevroren: ' || TO_CHAR (v_count_upd),
'RES-object/#afgemeld: ' || TO_CHAR (v_count_upd),
'');
COMMIT;
@@ -2414,13 +2011,11 @@ AS
BEGIN
v_aanduiding :=
'['
|| rec.res_reservering_key
|| '|'
|| rec.res_rsv_ruimte_volgnr
|| rec.resid
|| '|'
|| rec.res_rsv_ruimte_key
|| '|'
|| TO_CHAR (p_prskey)
|| TO_CHAR (p_groepering)
|| '] ';
-- Eerst maar eens afmelden (als dat nog niet is gedaan)!
@@ -2432,39 +2027,41 @@ AS
SET res_status_bo_key = 5
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
IF (rec.res_artikel_prijs_vast = 1)
THEN
v_errormsg := 'Fout bij bepalen res_rsv_artikel_prijs.';
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
INTO v_prijs
FROM DUAL;
v_errormsg := 'Fout bij bijwerken res_rsv_artikel_prijs.';
UPDATE res_rsv_artikel
SET res_rsv_artikel_prijs = v_prijs,
res_rsv_artikel_inkoopprijs =
(SELECT res_artikel_inkoopprijs
FROM res_artikel
WHERE res_artikel_key = rec.res_artikel_key),
res_rsv_artikel_btw =
(SELECT res_artikel_btw
FROM res_artikel
WHERE res_artikel_key = rec.res_artikel_key)
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
END IF;
COMMIT;
v_count_upd := v_count_upd + 1;
END IF;
v_errormsg := 'Fout bij AV-en RES-artikel.';
--IF (rec.res_artikel_prijs_vast = 1)
--THEN
-- v_errormsg := 'Fout bij bepalen res_rsv_artikel_prijs.';
UPDATE res_rsv_artikel
SET res_status_bo_key = 6
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
-- SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
-- INTO v_prijs
-- FROM DUAL;
v_count_upd := v_count_upd + 1;
-- v_errormsg := 'Fout bij bijwerken res_rsv_artikel_prijs.';
COMMIT;
-- UPDATE res_rsv_artikel
-- SET res_rsv_artikel_prijs = v_prijs,
-- res_rsv_artikel_inkoopprijs =
-- (SELECT res_artikel_inkoopprijs
-- FROM res_artikel
-- WHERE res_artikel_key = rec.res_artikel_key),
-- res_rsv_artikel_btw =
-- (SELECT res_artikel_btw
-- FROM res_artikel
-- WHERE res_artikel_key = rec.res_artikel_key)
-- WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
--END IF;
--v_errormsg := 'Fout bij AV-en RES-artikel.';
--UPDATE res_rsv_artikel
-- SET res_status_bo_key = 6
-- WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
--COMMIT;
--v_count_upd := v_count_upd + 1;
EXCEPTION
WHEN OTHERS
THEN
@@ -2486,23 +2083,23 @@ AS
fac.writelog (c_applname,
'S',
'RES-artikel/#bevroren: ' || TO_CHAR (v_count_upd),
'RES-artikel/#afgemeld: ' || TO_CHAR (v_count_upd),
'');
COMMIT;
v_count_upd := 0;
-- Eerst maar eens afmelden (als dat nog niet is gedaan)!
FOR rec IN crui
LOOP
BEGIN
v_aanduiding :=
'['
|| rec.res_reservering_key
|| '|'
|| rec.res_rsv_ruimte_volgnr
|| rec.resid
|| '|'
|| rec.res_rsv_ruimte_key
|| '|'
|| TO_CHAR (p_prskey)
|| TO_CHAR (p_groepering)
|| '] ';
-- Niet voor reeds afgemelde reserveringen en "roomservice"!
@@ -2521,6 +2118,7 @@ AS
NULL);
COMMIT;
v_count_upd := v_count_upd + 1;
END IF;
EXCEPTION
WHEN OTHERS
@@ -2541,6 +2139,12 @@ AS
END;
END LOOP;
fac.writelog (c_applname,
'S',
'RES-ruimte/#afgemeld: ' || TO_CHAR (v_count_upd),
'');
COMMIT;
v_count_upd := 0;
FOR rec IN crui
@@ -2548,49 +2152,47 @@ AS
BEGIN
v_aanduiding :=
'['
|| rec.res_reservering_key
|| '|'
|| rec.res_rsv_ruimte_volgnr
|| rec.resid
|| '|'
|| rec.res_rsv_ruimte_key
|| '|'
|| TO_CHAR (p_prskey)
|| '] ';
v_errormsg := 'Fout bij bijwerken factuurnummer.';
v_errormsg := 'Fout bij bijwerken kenmerk.';
UPDATE res_rsv_ruimte
SET res_rsv_ruimte_ordernr = v_factuurnr
SET res_rsv_ruimte_ordernr =
res_rsv_ruimte_ordernr || '+' || v_factuurnr
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
-- Niet voor "roomservice"!
IF (rec.res_status_bo_key = 5)
THEN
IF (rec.old_prijs <> rec.new_prijs)
THEN
v_errormsg := 'Fout bij bijwerken res_rsv_ruimte_prijs';
--IF (rec.res_status_bo_key = 5)
--THEN
-- IF (rec.old_prijs <> rec.new_prijs)
-- THEN
-- v_errormsg := 'Fout bij bijwerken res_rsv_ruimte_prijs';
UPDATE res_rsv_ruimte rr
SET rr.res_rsv_ruimte_prijs = rec.new_prijs
WHERE rr.res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
END IF;
-- UPDATE res_rsv_ruimte rr
-- SET rr.res_rsv_ruimte_prijs = rec.new_prijs
-- WHERE rr.res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
-- END IF;
v_errormsg := 'Fout bij AV-en RES-ruimte.';
-- v_errormsg := 'Fout bij AV-en RES-ruimte.';
UPDATE res_rsv_ruimte
SET res_status_bo_key = 6
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
-- UPDATE res_rsv_ruimte
-- SET res_status_bo_key = 6
-- WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
fac.trackaction ('RESVER',
rec.res_rsv_ruimte_key,
NULL,
NULL,
NULL);
END IF;
v_count_upd := v_count_upd + 1;
-- fac.trackaction ('RESVER',
-- rec.res_rsv_ruimte_key,
-- NULL,
-- NULL,
-- NULL);
--END IF;
COMMIT;
v_count_upd := v_count_upd + 1;
EXCEPTION
WHEN OTHERS
THEN
@@ -2612,7 +2214,7 @@ AS
fac.writelog (c_applname,
'S',
'RES-ruimte/#bevroren: ' || TO_CHAR (v_count_upd),
'RES-ruimte/#bijgewerkt: ' || TO_CHAR (v_count_upd),
'');
COMMIT;
EXCEPTION
@@ -2650,6 +2252,7 @@ CREATE OR REPLACE VIEW renk_v_verhuurregels_alle
postcode,
plaats,
factuurdatum,
res_rsv_ruimte_key,
resid,
ordernr,
sys_helft,
@@ -2758,6 +2361,7 @@ AS
' december ')
|| TO_CHAR (SYSDATE, 'yyyy')
factuurdatum,
x.res_rsv_ruimte_key,
x.res_key || '/' || x.res_vnr resid,
x.res_rsv_ruimte_ordernr ordernr,
x.sys_helft, -- 1e of 2e jaarhelft in formaat yyyyh(elft)!