CARG#87247 -- De bepaling van het district ging niet goed. Dit leidde tot dubbele boekstuknummers.

svn path=/Customer/trunk/; revision=67627
This commit is contained in:
Arthur Egberink
2025-01-16 15:21:13 +00:00
parent bda3fa5a88
commit 23b8b06e25

View File

@@ -340,13 +340,30 @@ AS
AS
v_district_key NUMBER;
BEGIN
SELECT alg_district_key
SELECT MIN(l.alg_district_key)
INTO v_district_key
FROM fin_factuur f, mld_opdr o, mld_melding m, alg_locatie l
WHERE f.fin_factuur_key = p_fin_key
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_locatie_key = l.alg_locatie_key;
IF v_district_key IS NOT NULL
THEN
RETURN v_district_key;
END IF;
SELECT MIN (alg_district_key)
INTO v_district_key
FROM fin_factuur f,
cnt_contract_plaats cp,
alg_locatie l
WHERE f.fin_factuur_key = p_fin_key
AND f.cnt_contract_key = cp.cnt_contract_key
AND ( cp.cnt_alg_plaats_code = 'G'
AND cp.cnt_alg_plaats_key IN (SELECT alg_gebouw_key
FROM alg_gebouw g
WHERE g.alg_locatie_key = l.alg_locatie_key)
OR (cp.cnt_alg_plaats_code = 'L' AND cp.cnt_alg_plaats_key = l.alg_locatie_key));
RETURN v_district_key;
END;
@@ -357,33 +374,10 @@ AS
AS
v_regio_key NUMBER;
BEGIN
SELECT MIN(d.alg_regio_key)
SELECT MIN(alg_regio_key)
INTO v_regio_key
FROM fin_factuur f, mld_opdr o, mld_melding m, alg_locatie l, alg_district d
WHERE f.fin_factuur_key = p_fin_key
AND f.mld_opdr_key = o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key;
IF v_regio_key IS NOT NULL
THEN
RETURN v_regio_key;
END IF;
SELECT MIN (alg_regio_key)
INTO v_regio_key
FROM fin_factuur f,
cnt_contract_plaats cp,
alg_locatie l,
alg_district d
WHERE f.fin_factuur_key = p_fin_key
AND f.cnt_contract_key = cp.cnt_contract_key
AND ( cp.cnt_alg_plaats_code = 'G'
AND cp.cnt_alg_plaats_key IN (SELECT alg_gebouw_key
FROM alg_gebouw g
WHERE g.alg_locatie_key = l.alg_locatie_key)
OR (cp.cnt_alg_plaats_code = 'L' AND cp.cnt_alg_plaats_key = l.alg_locatie_key))
AND l.alg_district_key = d.alg_district_key;
FROM alg_district
WHERE alg_district_key = bepaal_fin_district(p_fin_key);
RETURN v_regio_key;
END;
@@ -4169,7 +4163,7 @@ BEGIN
THEN
-- Verwijder het kenmerk boekstuknummer van de facturen die niet op verwerkt staan binnen de aangegeven regio
DELETE fin_kenmerkfactuur kf
WHERE fin_kenmerk_key = 1
WHERE fin_kenmerk_key = v_bkstknr_kenmerk_key
AND SUBSTR(fin_kenmerkfactuur_waarde, 3,2) = p_dagboek
AND fin_factuur_key IN (SELECT fin_factuur_key
FROM fin_factuur
@@ -4193,7 +4187,7 @@ BEGIN
ELSE
-- Verwijder het kenmerk boekstuknummer van de facturen die niet op verwerkt staan binnen het aangegeven district
DELETE fin_kenmerkfactuur kf
WHERE fin_kenmerk_key = 1
WHERE fin_kenmerk_key = v_bkstknr_kenmerk_key
AND SUBSTR(fin_kenmerkfactuur_waarde, 3,2) = p_dagboek
AND fin_factuur_key IN (SELECT fin_factuur_key
FROM fin_factuur