PCHX#63945 Import xml-factuur uit Scansys (xml ipv csv), nu betere bepaling afwijkende kostenplaats

svn path=/Customer/trunk/; revision=50152
This commit is contained in:
Sander Schepers
2021-03-03 13:32:18 +00:00
parent 05dda952da
commit 64cf52b9f3

View File

@@ -436,7 +436,8 @@ CREATE OR REPLACE VIEW pchx_v_factuur_gegevens
reknr,
kstdrcode,
administratie,
afwboekdatum
afwboekdatum,
afw_kostenplaats
)
AS
SELECT f.fin_factuur_key,
@@ -594,7 +595,8 @@ AS
AND fk.fin_kenmerk_verwijder IS NULL
AND UPPER (fk.fin_kenmerk_omschrijving) = 'AFW. BOEKDATUM'
AND fkf.fin_factuurregel_key = fr.fin_factuurregel_key)
afwboekdatum
afwboekdatum,
fr_afwk.afw_kostenplaats
FROM fin_factuur f,
fin_factuurregel fr,
fin_btwtabelwaarde btw,
@@ -615,6 +617,17 @@ AS
afw_btw_bedrag
FROM fin_kenmerkfactregel kfr
WHERE fin_kenmerk_key = 4) fr_btw, -- Afwijkend btwbedrag
(SELECT frk.fin_factuurregel_key,
prs_kostenplaats_nr afw_kostenplaats
FROM fin_kenmerk k,
prs_kostenplaats kp,
fin_kenmerkfactregel frk
WHERE kp.prs_kostenplaats_key = fac.safe_to_number(frk.fin_kenmerkfactregel_waarde)
AND k.fin_kenmerk_key = frk.fin_kenmerk_key
AND frk.fin_kenmerkfactregel_verwijder IS NULL
AND k.fin_kenmerk_verwijder IS NULL
AND kp.prs_kostenplaats_verwijder IS NULL
AND k.fin_kenmerk_upper = 'AFW. KOSTENPLAATS') fr_afwk, -- Afwijkend kostenplaats
prs_kostensoort k,
prs_kostensoort kr,
prs_kostensoortgrp kg,
@@ -638,6 +651,7 @@ AS
AND fr.fin_factuurregel_key = kd.fin_factuurregel_key(+)
AND fr.fin_factuurregel_key = rn.fin_factuurregel_key(+)
AND fr.fin_factuurregel_key = fr_btw.fin_factuurregel_key(+)
AND fr.fin_factuurregel_key = fr_afwk.fin_factuurregel_key(+)
AND f.fin_factuur_verwijder IS NULL;
@@ -836,7 +850,8 @@ CREATE OR REPLACE VIEW pchx_v_bron_export_exact_xml
lev_kpn,
administratie,
fin_factuur_key,
fin_factuurregel_nr
fin_factuurregel_nr,
afw_kostenplaats
)
AS
SELECT (SELECT fin_kenmerkfactuur_waarde kf
@@ -879,7 +894,8 @@ AS
lev_kpn,
administratie,
fin_factuur_key,
fin_factuurregel_nr
fin_factuurregel_nr,
afw_kostenplaats
FROM pchx_v_factuur_gegevens fg
WHERE fin_factuur_statuses_key = 6;
@@ -1536,7 +1552,6 @@ AS
--v_sub_count NUMBER; --Met PCHX#63945 wordt regelnummer vanuit de xml-import aangeleverd en moet ook conform worden doorgegeven.
v_bestand VARCHAR2 (30);
v_dagboeknr VARCHAR2 (2);
v_kostenplaats VARCHAR2 (200);
BEGIN
v_order_count := 0;
v_amount_sum := 0;
@@ -1613,24 +1628,6 @@ BEGIN
FOR rec1 IN c_sub (rec.bkstnr)
LOOP
BEGIN
v_kostenplaats := NULL;
SELECT prs_kostenplaats_nr
INTO v_kostenplaats
FROM fin_kenmerk k,
prs_kostenplaats kp,
fin_factuurregel fr,
fin_kenmerkfactregel frk
WHERE fr.fin_factuur_key = rec1.fin_factuur_key
AND fr.fin_factuurregel_nr = rec1.fin_factuurregel_nr
AND fr.fin_factuurregel_key = frk.fin_factuurregel_key
AND kp.prs_kostenplaats_key =
frk.fin_kenmerkfactregel_waarde
AND frk.fin_kenmerkfactregel_verwijder IS NULL
AND k.fin_kenmerk_verwijder IS NULL
AND kp.prs_kostenplaats_verwijder IS NULL
AND k.fin_kenmerk_upper = 'AFW. KOSTENPLAATS';
pchx.add_xml_row (
v_bestand,
'<FinEntryLine number="'
@@ -1666,48 +1663,15 @@ BEGIN
--Met PCHX#63945 wordt afwijkende kostenplaats gehaald vanuit de import en daarmee van de factuurregels.
-- Voorheen kreeg PCHH altijd 0100, bij PCHA en PCHW werd dit gehaald uit projectcode en bij de overige omgeving werd kostenplaats van bestelling/contract/opdracht overgenomen.
--Met PCHX#63945 moet dit dus, voor controledoeleinden in Exact, nu van de (door Exact aangeleverde) factuurregels. CASE
IF v_kostenplaats IS NOT NULL
IF rec1.afw_kostenplaats IS NOT NULL
THEN
pchx.add_xml_row (
v_bestand,
'<Costcenter code="'
|| xml.char_to_html (v_kostenplaats)
|| xml.char_to_html (rec1.afw_kostenplaats)
|| '"/>');
END IF;
-- IF pchx.get_user = 'PCHD'
-- OR pchx.get_user = 'PCHS'
-- OR pchx.get_user = 'PCHP'
-- OR pchx.get_user = 'PCHY'
-- THEN
-- pchx.add_xml_row (
-- v_bestand,
-- '<Costcenter code="'
-- || xml.char_to_html (rec1.kstplcode)
-- || '"/>');
-- END IF;
--
-- -- LET OP: PCHA en PCHW gebruiken het projectcode veld om de kostenplaats te vullen in Exact
-- -- De Facilitor kostenplaats wordt bij deze accounts al gebruikt voor de klantkostenplaats.
-- IF pchx.get_user = 'PCHA' OR pchx.get_user = 'PCHW'
-- THEN
-- pchx.add_xml_row (
-- v_bestand,
-- '<Costcenter code="'
-- || xml.char_to_html (rec1.projectnr)
-- || '"/>');
-- END IF;
--
-- -- PCHH#61092 Altijd Costcenter 0100 doorgeven bij PCHH
-- IF pchx.get_user = 'PCHH'
-- THEN
-- pchx.add_xml_row (
-- v_bestand,
-- '<Costcenter code="'
-- || xml.char_to_html ('0100')
-- || '"/>');
-- END IF;
IF pchx.get_user = 'PCHD'
THEN
pchx.add_xml_row (
@@ -1779,6 +1743,7 @@ END;
/
CREATE OR REPLACE PROCEDURE pchx_select_scansys (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
AS
@@ -1787,7 +1752,7 @@ BEGIN
END;
/
CREATE OR REPLACE VIEW pchx_v_bron_verplichtingen_xml
CREATE OR REPLACE FORCE VIEW pchx_v_bron_verplichtingen_xml
(
bkstnr,
fact_oms25,
@@ -1810,7 +1775,8 @@ CREATE OR REPLACE VIEW pchx_v_bron_verplichtingen_xml
administratie,
fin_factuur_key,
track_verpl,
fin_factuurregel_nr
fin_factuurregel_nr,
afw_kostenplaats
)
AS
SELECT (SELECT fin_kenmerkfactuur_waarde kf
@@ -1859,9 +1825,10 @@ AS
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'CUST10')
track_verpl,
fin_factuurregel_nr
fin_factuurregel_nr,
afw_kostenplaats
FROM pchx_v_factuur_gegevens fg
WHERE fin_factuur_statuses_key between 1 and 6;
WHERE fin_factuur_statuses_key BETWEEN 1 AND 6;
CREATE OR REPLACE VIEW pchx_v_export_verpl
@@ -1929,7 +1896,6 @@ AS
v_bestand VARCHAR2 (30);
v_dagboeknr VARCHAR2 (2);
v_applname VARCHAR2 (2);
v_kostenplaats VARCHAR2 (200);
BEGIN
--Eerst maar de resultaten van vorige export opruimen
@@ -1997,24 +1963,6 @@ BEGIN
FOR rec1 IN c_sub (rec.fin_factuur_key)
LOOP
v_kostenplaats := NULL;
SELECT prs_kostenplaats_nr
INTO v_kostenplaats
FROM fin_kenmerk k,
prs_kostenplaats kp,
fin_factuurregel fr,
fin_kenmerkfactregel frk
WHERE fr.fin_factuur_key = rec1.fin_factuur_key
AND fr.fin_factuurregel_nr = rec1.fin_factuurregel_nr
AND fr.fin_factuurregel_key = frk.fin_factuurregel_key
AND kp.prs_kostenplaats_key =
frk.fin_kenmerkfactregel_waarde
AND frk.fin_kenmerkfactregel_verwijder IS NULL
AND k.fin_kenmerk_verwijder IS NULL
AND kp.prs_kostenplaats_verwijder IS NULL
AND k.fin_kenmerk_upper = 'AFW. KOSTENPLAATS';
BEGIN
pchx.add_xml_row (
v_bestand,
@@ -2051,57 +1999,15 @@ BEGIN
--Met PCHX#63945 wordt afwijkende kostenplaats gehaald vanuit de import en daarmee van de factuurregels.
-- Voorheen kreeg PCHH altijd 0100, bij PCHA en PCHW werd dit gehaald uit projectcode en bij de overige omgeving werd kostenplaats van bestelling/contract/opdracht overgenomen.
--Met PCHX#63945 moet dit dus, voor controledoeleinden in Exact, nu van de (door Exact aangeleverde) factuurregels. CASE
IF v_kostenplaats IS NOT NULL
IF rec1.afw_kostenplaats IS NOT NULL
THEN
pchx.add_xml_row (
v_bestand,
'<Costcenter code="'
|| xml.char_to_html (v_kostenplaats)
|| xml.char_to_html (rec1.afw_kostenplaats)
|| '"/>');
END IF;
-- IF pchx.get_user = 'PCHD'
-- OR pchx.get_user = 'PCHS'
-- OR pchx.get_user = 'PCHP'
-- OR pchx.get_user = 'PCHY'
-- THEN
-- pchx.add_xml_row (
-- v_bestand,
-- '<Costcenter code="'
-- || xml.char_to_html (rec1.kstplcode)
-- || '"/>');
-- END IF;
--
-- -- LET OP: PCHA en PCHW gebruiken het projectcode veld om de kostenplaats te vullen in Exact
-- -- De Facilitor kostenplaats wordt bij deze accounts al gebruikt voor de klantkostenplaats.
-- IF pchx.get_user = 'PCHA' OR pchx.get_user = 'PCHW'
-- THEN
-- pchx.add_xml_row (
-- v_bestand,
-- '<Costcenter code="'
-- || xml.char_to_html (rec1.projectnr)
-- || '"/>');
-- END IF;
--
-- -- PCHH#61092 Altijd Costcenter 0100 doorgeven bij PCHH
-- IF pchx.get_user = 'PCHH'
-- THEN
-- pchx.add_xml_row (
-- v_bestand,
-- '<Costcenter code="'
-- || xml.char_to_html ('0100')
-- || '"/>');
-- END IF;
--
-- IF pchx.get_user = 'PCHD'
-- THEN
-- pchx.add_xml_row (
-- v_bestand,
-- '<Costunit code="'
-- || xml.char_to_html (rec1.kstdrcode)
-- || '"/>');
-- END IF;
IF pchx.get_user = 'PCHD'
THEN
pchx.add_xml_row (