YAXX#83574 Fout in factuurexport naar Exact opgelost. Bij contracten werd geen locatie gevonden.

svn path=/Customer/trunk/; revision=66738
This commit is contained in:
Arthur Egberink
2024-10-22 13:47:32 +00:00
parent 71a8fb1bbe
commit a2b3496d8e

View File

@@ -3619,206 +3619,197 @@ AS
-- --
CREATE OR REPLACE VIEW vbxx_v_factuur_gegevens CREATE OR REPLACE VIEW vbxx_v_factuur_gegevens
AS AS
SELECT f.fin_factuur_key, SELECT f.fin_factuur_key,
DECODE ( DECODE (
c.cnt_contract_key, c.cnt_contract_key,
NULL, DECODE ( NULL, DECODE (
bo.bes_bestelopdr_key, bo.bes_bestelopdr_key,
NULL, (SELECT sd.ins_srtdiscipline_prefix NULL, (SELECT sd.ins_srtdiscipline_prefix
|| m.mld_melding_key || m.mld_melding_key
|| '/' || '/'
|| o.mld_opdr_bedrijfopdr_volgnr || o.mld_opdr_bedrijfopdr_volgnr
FROM mld_melding m, FROM mld_melding m,
mld_stdmelding std, mld_stdmelding std,
ins_tab_discipline d, ins_tab_discipline d,
ins_srtdiscipline sd ins_srtdiscipline sd
WHERE m.mld_melding_key = WHERE m.mld_melding_key = o.mld_melding_key
o.mld_melding_key AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND m.mld_stdmelding_key = AND std.mld_ins_discipline_key = d.ins_discipline_key
std.mld_stdmelding_key AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key),
AND std.mld_ins_discipline_key = bo.bes_bestelopdr_id),
d.ins_discipline_key 'C'
AND d.ins_srtdiscipline_key = || TO_CHAR (cnt_contract_nummer_intern)
sd.ins_srtdiscipline_key), || DECODE (cnt_contract_versie, NULL, NULL, '.' || cnt_contract_versie))
bo.bes_bestelopdr_id), opdracht_id,
'C' f.fin_factuur_datum,
|| TO_CHAR (cnt_contract_nummer_intern) f.fin_factuur_nr,
|| DECODE (cnt_contract_versie, COALESCE (b_c.prs_bedrijf_key, COALESCE (b_o.prs_bedrijf_key, b_b.prs_bedrijf_key))
NULL, NULL, prs_bedrijf_key,
'.' || cnt_contract_versie)) DECODE (
opdracht_id, (SELECT prs_kenmerklink_waarde
f.fin_factuur_datum, FROM prs_kenmerklink kl, prs_kenmerk k
f.fin_factuur_nr, WHERE kl.prs_kenmerk_key = k.prs_kenmerk_key
COALESCE (b_c.prs_bedrijf_key, AND k.prs_kenmerk_code = 'ONDERDEELVEBEGO'
COALESCE (b_o.prs_bedrijf_key, b_b.prs_bedrijf_key)) AND kl.prs_link_key =
prs_bedrijf_key, COALESCE (b_c.prs_bedrijf_key, COALESCE (b_o.prs_bedrijf_key, b_b.prs_bedrijf_key))),
DECODE ( '1', 63,
(SELECT prs_kenmerklink_waarde 62)
FROM prs_kenmerklink kl, prs_kenmerk k dagboek,
WHERE kl.prs_kenmerk_key = k.prs_kenmerk_key fr.fin_factuurregel_totaal,
AND k.prs_kenmerk_code = 'ONDERDEELVEBEGO' ROUND (
AND kl.prs_link_key = fr.fin_factuurregel_totaal
* DECODE (btw.fin_btwtabelwaarde_verlegd, 1, 0, btw.fin_btwtabelwaarde_perc / 100),
2)
fin_factuurregel_btw,
btw.fin_btwtabelwaarde_code,
btw.fin_btwtabelwaarde_key,
fr.fin_factuurregel_nr,
fr.fin_factuurregel_key,
f.fin_factuur_debiteur_nr,
f.fin_factuur_opmerking,
f.fin_factuur_boekmaand,
prs_kostensoort_oms,
k.prs_kostensoort_refcode,
k.prs_kostensoort_opmerking,
k.prs_kostensoort_key,
g.alg_gebouw_code,
(SELECT fac.safe_to_number (alg_onrgoedkenmerk_waarde)
FROM alg_onrgoedkenmerk aogk, alg_kenmerk k
WHERE aogk.alg_kenmerk_key = k.alg_kenmerk_key
AND aogk.alg_onrgoed_key = COALESCE(ml.alg_district_key, cl.alg_district_key)
AND k.alg_kenmerk_code = 'AFWDAGBOEKNR')
afw_dagboek,
(SELECT alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk aogk, alg_kenmerk k
WHERE aogk.alg_kenmerk_key = k.alg_kenmerk_key
AND aogk.alg_onrgoed_key = COALESCE(ml.alg_district_key, cl.alg_district_key)
AND k.alg_kenmerk_code = 'AFWKSTDRCODE')
afw_kstdrcode,
o.mld_opdr_key,
c.cnt_contract_key,
bo.bes_bestelopdr_key,
( -- status van de factuur is ingevoerd als er facturen van dezelfde leverancier en nummer zijn
-- met status ingevoerd, afgewezen of incompleet
SELECT DECODE (COUNT (*), 0, f.fin_factuur_statuses_key, 2)
FROM fin_factuur f_t,
cnt_contract c_t,
bes_bestelopdr b_t,
mld_opdr o_t
WHERE f_t.fin_factuur_verwijder IS NULL
AND f_t.mld_opdr_key = o_t.mld_opdr_key(+)
AND f_t.cnt_contract_key = c_t.cnt_contract_key(+)
AND f_t.bes_bestelopdr_key = b_t.bes_bestelopdr_key(+)
AND COALESCE (
o_t.mld_uitvoerende_keys,
COALESCE (
b_t.prs_bedrijf_key,
COALESCE ( COALESCE (
b_c.prs_bedrijf_key, c_t.cnt_prs_bedrijf_key,
COALESCE (b_o.prs_bedrijf_key, (SELECT a.prs_bedrijf_key
b_b.prs_bedrijf_key))), FROM prs_v_afdeling a, prs_perslid p
'1', 63, WHERE o_t.mld_uitvoerende_keys = p.prs_perslid_key
62) AND p.prs_afdeling_key = a.prs_afdeling_key)))) =
dagboek, COALESCE (
fr.fin_factuurregel_totaal, o.mld_uitvoerende_keys,
ROUND ( COALESCE (
fr.fin_factuurregel_totaal bo.prs_bedrijf_key,
* DECODE (btw.fin_btwtabelwaarde_verlegd, COALESCE (
1, 0, c.cnt_prs_bedrijf_key,
btw.fin_btwtabelwaarde_perc / 100), (SELECT a.prs_bedrijf_key
2) FROM prs_v_afdeling a, prs_perslid p
fin_factuurregel_btw, WHERE o.mld_uitvoerende_keys = p.prs_perslid_key
btw.fin_btwtabelwaarde_code, AND p.prs_afdeling_key = a.prs_afdeling_key))))
btw.fin_btwtabelwaarde_key, AND f.fin_factuur_nr = f_t.fin_factuur_nr
fr.fin_factuurregel_nr, AND f_t.fin_factuur_statuses_key IN (1,
fr.fin_factuurregel_key, 2,
f.fin_factuur_debiteur_nr, 3,
f.fin_factuur_opmerking, 5) -- Afgewezen, Ingevoerd, Incompleet, Ter goedkeuring
f.fin_factuur_boekmaand, AND f.fin_factuur_statuses_key = 6)
prs_kostensoort_oms, fin_factuur_statuses_key,
k.prs_kostensoort_refcode, lk.prs_kostenplaats_nr
k.prs_kostensoort_opmerking, lev_kpn,
k.prs_kostensoort_key, COALESCE(ml.alg_district_key, cl.alg_district_key) alg_district_key,
g.alg_gebouw_code, DECODE (
( SELECT fac.safe_to_number(alg_onrgoedkenmerk_waarde) f.cnt_contract_key,
FROM alg_onrgoedkenmerk aogk, alg_kenmerk k NULL, DECODE (
WHERE aogk.alg_kenmerk_key = k.alg_kenmerk_key f.bes_bestelopdr_key,
AND aogk.alg_onrgoed_key = l.alg_district_key NULL, (SELECT fac_usrdata_code
AND k.alg_kenmerk_code = 'AFWDAGBOEKNR') FROM fac_usrdata ud,
afw_dagboek, mld_kenmerkopdr ko,
( SELECT alg_onrgoedkenmerk_waarde mld_kenmerk k,
FROM alg_onrgoedkenmerk aogk, alg_kenmerk k mld_srtkenmerk sk
WHERE aogk.alg_kenmerk_key = k.alg_kenmerk_key WHERE o.mld_opdr_key = ko.mld_opdr_key
AND aogk.alg_onrgoed_key = l.alg_district_key AND ko.mld_kenmerk_key = k.mld_kenmerk_key
AND k.alg_kenmerk_code = 'AFWKSTDRCODE') AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
afw_kstdrcode, AND sk.mld_srtkenmerk_code = 'TYPEFACTUUR'
o.mld_opdr_key, AND FAC.safe_to_number (ko.mld_kenmerkopdr_waarde) = ud.fac_usrdata_key),
c.cnt_contract_key, 'B'),
bo.bes_bestelopdr_key, 'A')
( -- status van de factuur is ingevoerd als er facturen van dezelfde leverancier en nummer zijn typefactuur
-- met status ingevoerd, afgewezen of incompleet FROM fin_factuur f,
SELECT DECODE (COUNT (*), 0, f.fin_factuur_statuses_key, 2) fin_factuurregel fr,
FROM fin_factuur f_t, fin_btwtabelwaarde btw,
cnt_contract c_t, mld_opdr o,
bes_bestelopdr b_t, mld_melding m,
mld_opdr o_t alg_locatie ml,
WHERE f_t.fin_factuur_verwijder IS NULL alg_locatie cl,
AND f_t.mld_opdr_key = o_t.mld_opdr_key(+) alg_gebouw g,
AND f_t.cnt_contract_key = c_t.cnt_contract_key(+) mld_typeopdr ot,
AND f_t.bes_bestelopdr_key = b_t.bes_bestelopdr_key(+) cnt_contract c,
AND COALESCE ( bes_bestelopdr bo,
o_t.mld_uitvoerende_keys, ( SELECT fc.fin_factuur_key, MIN (cs.cnt_alg_plaats_key) alg_gebouw_key
COALESCE ( FROM fin_factuur fc, cnt_contract_plaats cs
b_t.prs_bedrijf_key, WHERE fc.cnt_contract_key = cs.cnt_contract_key
COALESCE ( AND cnt_alg_plaats_code = 'G'
c_t.cnt_prs_bedrijf_key, AND cnt_contract_plaats_verwijder IS NULL
(SELECT a.prs_bedrijf_key GROUP BY fc.fin_factuur_key
FROM prs_v_afdeling a, prs_perslid p UNION ALL
WHERE o_t.mld_uitvoerende_keys = SELECT fo.fin_factuur_key, og.alg_gebouw_key
p.prs_perslid_key FROM fin_factuur fo,
AND p.prs_afdeling_key = mld_opdr o1,
a.prs_afdeling_key)))) = mld_melding m1,
COALESCE ( alg_v_allonroerendgoed og
o.mld_uitvoerende_keys, WHERE fo.mld_opdr_key = o1.mld_opdr_key
COALESCE ( AND o1.mld_melding_key = m1.mld_melding_key
bo.prs_bedrijf_key, AND m1.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
COALESCE ( UNION ALL
c.cnt_prs_bedrijf_key, SELECT fb.fin_factuur_key, MIN (g1.alg_gebouw_key) alg_gebouw_key
(SELECT a.prs_bedrijf_key FROM fin_factuur fb,
FROM prs_v_afdeling a, prs_perslid p bes_bestelopdr_item boi,
WHERE o.mld_uitvoerende_keys = bes_bestelling_item bi,
p.prs_perslid_key bes_bestelling b,
AND p.prs_afdeling_key = alg_gebouw g1
a.prs_afdeling_key)))) WHERE fb.bes_bestelopdr_key = boi.bes_bestelopdr_key
AND f.fin_factuur_nr = f_t.fin_factuur_nr AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
AND f_t.fin_factuur_statuses_key IN (1, 2, 3, 5) -- Afgewezen, Ingevoerd, Incompleet, Ter goedkeuring AND bi.bes_bestelling_key = b.bes_bestelling_key
AND f.fin_factuur_statuses_key = 6) AND b.mld_adres_key_lev = g1.mld_adres_key
fin_factuur_statuses_key, GROUP BY fb.fin_factuur_key) fg,
lk.prs_kostenplaats_nr (SELECT mld_uitvoerende_key, DECODE (u.TYPE, 'B', mld_uitvoerende_key, a.prs_bedrijf_key) prs_bedrijf_key
lev_kpn, FROM mld_v_uitvoerende u, prs_v_afdeling a, prs_perslid p
l.alg_district_key, WHERE u.mld_uitvoerende_key = prs_perslid_key(+) AND p.prs_afdeling_key = a.prs_afdeling_key(+)) b_o,
DECODE (f.cnt_contract_key, NULL, prs_bedrijf b_c,
DECODE (f.bes_bestelopdr_key, NULL, prs_bedrijf b_b,
(SELECT fac_usrdata_code prs_kostensoort k,
FROM fac_usrdata ud, mld_kenmerkopdr ko, mld_kenmerk k, mld_srtkenmerk sk prs_kostensoortgrp kg,
WHERE o.mld_opdr_key = ko.mld_opdr_key prs_kostenplaats lk
AND ko.mld_kenmerk_key = k.mld_kenmerk_key WHERE f.fin_factuur_key = fr.fin_factuur_key
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key
AND sk.mld_srtkenmerk_code = 'TYPEFACTUUR' AND f.mld_opdr_key = o.mld_opdr_key(+)
AND FAC.safe_to_number(ko.mld_kenmerkopdr_waarde) = ud.fac_usrdata_key), AND o.mld_melding_key = m.mld_melding_key(+)
'B'), AND m.mld_alg_locatie_key = ml.alg_locatie_key(+)
'A') typefactuur AND o.mld_typeopdr_key = ot.mld_typeopdr_key(+)
FROM fin_factuur f, AND f.cnt_contract_key = c.cnt_contract_key(+)
fin_factuurregel fr, AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
fin_btwtabelwaarde btw, AND bo.prs_bedrijf_key = b_b.prs_bedrijf_key(+)
mld_opdr o, AND o.mld_uitvoerende_keys = b_o.mld_uitvoerende_key(+)
mld_melding m, AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
alg_locatie l, AND f.prs_kostensoort_key = k.prs_kostensoort_key(+)
alg_gebouw g, AND k.prs_kostenplaats_key = lk.prs_kostenplaats_key(+)
mld_typeopdr ot, AND k.prs_kostensoortgrp_key = kg.prs_kostensoortgrp_key(+)
cnt_contract c, AND f.fin_factuur_key = fg.fin_factuur_key(+)
bes_bestelopdr bo, AND fg.alg_gebouw_key = g.alg_gebouw_key(+)
( SELECT fc.fin_factuur_key, MIN (cs.cnt_alg_plaats_key) alg_gebouw_key AND g.alg_locatie_key = cl.alg_locatie_key(+)
FROM fin_factuur fc, cnt_contract_plaats cs AND f.fin_factuur_verwijder IS NULL;
WHERE fc.cnt_contract_key = cs.cnt_contract_key AND cnt_alg_plaats_code = 'G' AND cnt_contract_plaats_verwijder IS NULL
GROUP BY fc.fin_factuur_key
UNION ALL
SELECT fo.fin_factuur_key, og.alg_gebouw_key
FROM fin_factuur fo,
mld_opdr o1,
mld_melding m1,
alg_v_allonroerendgoed og
WHERE fo.mld_opdr_key = o1.mld_opdr_key
AND o1.mld_melding_key = m1.mld_melding_key
AND m1.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
UNION ALL
SELECT fb.fin_factuur_key, MIN (g1.alg_gebouw_key) alg_gebouw_key
FROM fin_factuur fb,
bes_bestelopdr_item boi,
bes_bestelling_item bi,
bes_bestelling b,
alg_gebouw g1
WHERE fb.bes_bestelopdr_key = boi.bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
AND bi.bes_bestelling_key = b.bes_bestelling_key
AND b.mld_adres_key_lev = g1.mld_adres_key
GROUP BY fb.fin_factuur_key) fg,
(SELECT mld_uitvoerende_key,
DECODE (u.TYPE,
'B', mld_uitvoerende_key,
a.prs_bedrijf_key)
prs_bedrijf_key
FROM mld_v_uitvoerende u, prs_v_afdeling a, prs_perslid p
WHERE u.mld_uitvoerende_key = prs_perslid_key(+)
AND p.prs_afdeling_key = a.prs_afdeling_key(+)) b_o,
prs_bedrijf b_c,
prs_bedrijf b_b,
prs_kostensoort k,
prs_kostensoortgrp kg,
prs_kostenplaats lk
WHERE f.fin_factuur_key = fr.fin_factuur_key
AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_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 o.mld_typeopdr_key = ot.mld_typeopdr_key(+)
AND f.cnt_contract_key = c.cnt_contract_key(+)
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
AND bo.prs_bedrijf_key = b_b.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = b_o.mld_uitvoerende_key(+)
AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
AND c.prs_kostensoort_key = k.prs_kostensoort_key(+)
AND k.prs_kostenplaats_key = lk.prs_kostenplaats_key(+)
AND k.prs_kostensoortgrp_key = kg.prs_kostensoortgrp_key(+)
AND f.fin_factuur_key = fg.fin_factuur_key
AND fg.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
AND f.fin_factuur_verwijder IS NULL;
CREATE OR REPLACE VIEW vbxx_v_export_exact_xml ( CREATE OR REPLACE VIEW vbxx_v_export_exact_xml (
@@ -4014,7 +4005,7 @@ BEGIN
AND alg_district_key = p_district_key; AND alg_district_key = p_district_key;
INSERT INTO vbxx_exp_factuur (fin_factuur_key, dagboek, alg_district_key) INSERT INTO vbxx_exp_factuur (fin_factuur_key, dagboek, alg_district_key)
( SELECT DISTINCT fg.fin_factuur_key, fg.dagboek, alg_district_key ( SELECT DISTINCT fg.fin_factuur_key, fg.dagboek, p_district_key
FROM vbxx_v_factuur_gegevens fg, FROM vbxx_v_factuur_gegevens fg,
prs_bedrijf b prs_bedrijf b
WHERE fg.prs_bedrijf_key = b.prs_bedrijf_key WHERE fg.prs_bedrijf_key = b.prs_bedrijf_key