diff --git a/VBXX/vbxx.sql b/VBXX/vbxx.sql index 218cdefb6..26a1c44da 100644 --- a/VBXX/vbxx.sql +++ b/VBXX/vbxx.sql @@ -118,13 +118,22 @@ AS CASE WHEN p_module = 'OPD' THEN - SELECT mld_kenmerk_key + SELECT MAX(mld_kenmerk_key) INTO kkey - FROM mld_kenmerk k, mld_srtkenmerk sk, mld_opdr o - WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key - AND sk.mld_srtkenmerk_code LIKE p_kenmerk_code + FROM mld_kenmerk k, mld_opdr o + WHERE k.mld_kenmerk_code LIKE p_kenmerk_code AND o.mld_typeopdr_key = k.mld_typeopdr_key AND o.mld_opdr_key = p_refkey; + IF kkey IS NULL + THEN + SELECT MAX(mld_kenmerk_key) + INTO kkey + FROM mld_kenmerk k, mld_srtkenmerk sk, mld_opdr o + WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key + AND sk.mld_srtkenmerk_code LIKE p_kenmerk_code + AND o.mld_typeopdr_key = k.mld_typeopdr_key + AND o.mld_opdr_key = p_refkey; + END IF; WHEN p_module = 'MLD' THEN @@ -1858,7 +1867,7 @@ AS v_signature_kenm := FLX.getflex ('FINR', vbxx.get_kenmerk_key ('FIN', NULL, 'EXACTSIGNATURE'), rec.fin_factuurregel_key); v_signature := VBXX.get_fin_exact_signature (rec.fin_factuurregel_key, p_n_fact_regels); - IF v_signature_kenm <> v_signature + IF COALESCE(v_signature_kenm, 'LEEG') <> v_signature THEN RETURN 0; END IF; @@ -6223,7 +6232,22 @@ SELECT fin_verkoopfactuur_omschr meldingnummer, -- PRO_FORMA facturen -- -vbxx_klant_fin_gegevens +-- Rapportage om de financiele kenmerken bij het district of de regio op te vragen. +CREATE OR REPLACE VIEW vbxx_klant_fin_gegevens +AS +SELECT * + FROM ( SELECT alg_regio_omschrijving, + alg_district_omschrijving, + (SELECT alg_onrgoedkenmerk_waarde FROM alg_onrgoedkenmerk aogk, alg_kenmerk k WHERE aogk.alg_kenmerk_key = k.alg_kenmerk_key and k.alg_kenmerk_niveau = o.alg_onrgoed_niveau AND k.alg_kenmerk_code = 'BOEKMNDOFFSET' AND aogk.alg_onrgoed_key = o.alg_onrgoed_key) offset, + (SELECT alg_onrgoedkenmerk_waarde FROM alg_onrgoedkenmerk aogk, alg_kenmerk k WHERE aogk.alg_kenmerk_key = k.alg_kenmerk_key and k.alg_kenmerk_niveau = o.alg_onrgoed_niveau AND k.alg_kenmerk_code = 'BOEKMAAND' AND aogk.alg_onrgoed_key = o.alg_onrgoed_key) boekmaand, + (SELECT alg_onrgoedkenmerk_waarde FROM alg_onrgoedkenmerk aogk, alg_kenmerk k WHERE aogk.alg_kenmerk_key = k.alg_kenmerk_key and k.alg_kenmerk_niveau = o.alg_onrgoed_niveau AND k.alg_kenmerk_code = 'DATUMPROFORMA' AND aogk.alg_onrgoed_key = o.alg_onrgoed_key) datum_proforma, + (SELECT alg_onrgoedkenmerk_waarde FROM alg_onrgoedkenmerk aogk, alg_kenmerk k WHERE aogk.alg_kenmerk_key = k.alg_kenmerk_key and k.alg_kenmerk_niveau = o.alg_onrgoed_niveau AND k.alg_kenmerk_code = 'EXPROFORMA' AND aogk.alg_onrgoed_key = o.alg_onrgoed_key) datum_export + FROM (SELECT alg_regio_omschrijving, alg_district_omschrijving, alg_district_key alg_onrgoed_key, 'D' alg_onrgoed_niveau from alg_district d, alg_regio r where r.alg_regio_key = d.alg_regio_key + UNION ALL + SELECT alg_regio_omschrijving, to_char(null) alg_district_omschrijving, alg_regio_key onrgoed_key, 'E' alg_onrgoed_niveau from alg_regio + ) o + ) + WHERE offset IS NOT NULL; CREATE OR REPLACE VIEW vbxx_v_export_pro_forma ( result, @@ -6296,7 +6320,8 @@ AS alg_district_key, alg_regio_key FROM vbxx_v_kosten_doorbelasting - WHERE mld_statusopdr_key = 9; + WHERE mld_statusopdr_key = 9 + AND (UPPER(opdrachttype) like 'REVERSED%' OR factuurbedrag IS NOT NULL); -- Procedure om pro-forma factuur klaar te zetten. CREATE OR REPLACE PROCEDURE vbxx_select_pro_forma (p_applname IN VARCHAR2,