PCHX#75973 -- Herimplementatie PCH
svn path=/Customer/trunk/; revision=63070
This commit is contained in:
710
PCHX/pchx.sql
710
PCHX/pchx.sql
@@ -45,6 +45,12 @@ AS
|
||||
p_link_key IN NUMBER)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
FUNCTION fin_get_locatie_code (p_factuur_key IN NUMBER)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
FUNCTION fin_get_projectloc_code (p_factuur_key IN NUMBER)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -58,8 +64,6 @@ AS
|
||||
BEGIN
|
||||
-- Indien export 'SCANSYS', dan staat in p_bestand zowel administratie+boekstknr als 'SCANSYS', gescheiden door ##
|
||||
-- administratie+boekstknr zijn hierbij nodig om per factuur aparte xml-bestanden te exporteren.
|
||||
-- Ook voor export 'VERPL' is dit gehanteerd, dat is de eerste export van de facturen (verplichtingen),
|
||||
-- voordat de geaccordeerde facturen worden geexporteerd (scansys)
|
||||
IF INSTR (p_bestand, '##') > 0
|
||||
THEN
|
||||
replace_bestand := SUBSTR (p_bestand, INSTR (p_bestand, '##') + 2);
|
||||
@@ -267,6 +271,145 @@ AS
|
||||
v_kenmerkdomein_key,
|
||||
v_kenmerk_waarde);
|
||||
END;
|
||||
|
||||
FUNCTION fin_get_locatie_code (p_factuur_key IN NUMBER)
|
||||
RETURN VARCHAR2
|
||||
AS
|
||||
v_bestelopdr_key NUMBER;
|
||||
v_contract_key NUMBER;
|
||||
v_opdr_key NUMBER;
|
||||
v_locatie_code VARCHAR2 (100);
|
||||
BEGIN
|
||||
SELECT bes_bestelopdr_key, cnt_contract_key, mld_opdr_key
|
||||
INTO v_bestelopdr_key, v_contract_key, v_opdr_key
|
||||
FROM fin_factuur
|
||||
WHERE fin_factuur_key = p_factuur_key;
|
||||
|
||||
IF v_bestelopdr_key IS NOT NULL
|
||||
THEN
|
||||
SELECT DISTINCT alg_locatie_code
|
||||
INTO v_locatie_code
|
||||
FROM bes_bestelopdr_item boi,
|
||||
bes_bestelling_item bi,
|
||||
bes_bestelling b,
|
||||
mld_adres a,
|
||||
alg_locatie l
|
||||
WHERE bes_bestelopdr_key = v_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 = a.mld_adres_key
|
||||
AND a.alg_locatie_key = l.alg_locatie_key;
|
||||
|
||||
RETURN v_locatie_code;
|
||||
END IF;
|
||||
|
||||
IF v_contract_key IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT DISTINCT alg_locatie_code
|
||||
INTO v_locatie_code
|
||||
FROM cnt_contract_plaats cp, alg_locatie l
|
||||
WHERE cp.cnt_contract_key = v_contract_key
|
||||
AND cp.cnt_alg_plaats_code = 'L'
|
||||
AND cp.cnt_alg_plaats_key = l.alg_locatie_key
|
||||
AND cp.cnt_contract_plaats_verwijder IS NULL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT DISTINCT alg_locatie_code
|
||||
INTO v_locatie_code
|
||||
FROM cnt_contract_plaats cp, alg_locatie l, alg_gebouw g
|
||||
WHERE cp.cnt_contract_key = v_contract_key
|
||||
AND cp.cnt_alg_plaats_code = 'G'
|
||||
AND cp.cnt_alg_plaats_key = g.alg_gebouw_key
|
||||
AND l.alg_locatie_key = g.alg_locatie_key
|
||||
AND cp.cnt_contract_plaats_verwijder IS NULL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
SELECT DISTINCT alg_locatie_code
|
||||
INTO v_locatie_code
|
||||
FROM cnt_contract_plaats cp, alg_v_ruimte_gegevens ar
|
||||
WHERE cp.cnt_contract_key = v_contract_key
|
||||
AND cp.cnt_alg_plaats_code = 'R'
|
||||
AND cp.cnt_alg_plaats_key = ar.alg_ruimte_key
|
||||
AND cp.cnt_contract_plaats_verwijder IS NULL;
|
||||
END;
|
||||
END;
|
||||
|
||||
RETURN v_locatie_code;
|
||||
END IF;
|
||||
|
||||
IF v_opdr_key IS NOT NULL
|
||||
THEN
|
||||
SELECT alg_locatie_code
|
||||
INTO v_locatie_code
|
||||
FROM alg_locatie l, mld_melding m, mld_opdr o
|
||||
WHERE o.mld_opdr_key = v_opdr_key
|
||||
AND o.mld_melding_key = m.mld_melding_key
|
||||
AND m.mld_alg_locatie_key = l.alg_locatie_key;
|
||||
|
||||
RETURN v_locatie_code;
|
||||
END IF;
|
||||
|
||||
RETURN 'Geen referentie';
|
||||
EXCEPTION
|
||||
WHEN TOO_MANY_ROWS
|
||||
THEN
|
||||
RETURN 'Meerdere';
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
|
||||
FUNCTION fin_get_projectloc_code (p_factuur_key IN NUMBER)
|
||||
RETURN VARCHAR2
|
||||
AS
|
||||
v_contract_key NUMBER;
|
||||
v_opdr_key NUMBER;
|
||||
v_ruimte_nr VARCHAR2 (100);
|
||||
BEGIN
|
||||
SELECT cnt_contract_key, mld_opdr_key
|
||||
INTO v_contract_key, v_opdr_key
|
||||
FROM fin_factuur
|
||||
WHERE fin_factuur_key = p_factuur_key;
|
||||
|
||||
IF v_contract_key IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT MAX(alg_ruimte_nr)
|
||||
INTO v_ruimte_nr
|
||||
FROM cnt_contract_plaats cp, alg_ruimte r
|
||||
WHERE cp.cnt_contract_key = v_contract_key
|
||||
AND cp.cnt_alg_plaats_code = 'R'
|
||||
AND cp.cnt_alg_plaats_key = r.alg_ruimte_key
|
||||
AND r.alg_srtruimte_key = 241 -- projectlocatie
|
||||
AND cp.cnt_contract_plaats_verwijder IS NULL;
|
||||
RETURN v_ruimte_nr;
|
||||
EXCEPTION
|
||||
WHEN TOO_MANY_ROWS
|
||||
THEN
|
||||
RETURN 'Meerdere';
|
||||
END;
|
||||
END IF;
|
||||
|
||||
IF v_opdr_key IS NOT NULL
|
||||
THEN
|
||||
SELECT MAX(alg_ruimte_nr)
|
||||
INTO v_ruimte_nr
|
||||
FROM mld_opdr o, mld_melding m, alg_ruimte r
|
||||
WHERE o.mld_opdr_key = v_opdr_key
|
||||
AND o.mld_melding_key = m.mld_melding_key
|
||||
AND m.mld_alg_onroerendgoed_keys = r.alg_ruimte_key;
|
||||
|
||||
RETURN v_ruimte_nr;
|
||||
END IF;
|
||||
|
||||
RETURN NULL;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN RETURN NULL;
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -425,6 +568,7 @@ CREATE OR REPLACE VIEW pchx_v_factuur_gegevens
|
||||
fin_factuur_boekmaand,
|
||||
opdr_datum,
|
||||
boekstuknummer,
|
||||
projectlocatie,
|
||||
project_nummer,
|
||||
project_naam,
|
||||
prs_kostensoort_oms,
|
||||
@@ -440,10 +584,10 @@ CREATE OR REPLACE VIEW pchx_v_factuur_gegevens
|
||||
fin_factuur_statuses_org_key,
|
||||
lev_kpn,
|
||||
reknr,
|
||||
kstdrcode,
|
||||
administratie,
|
||||
afwboekdatum,
|
||||
afw_kostenplaats
|
||||
afw_kostenplaats_key,
|
||||
alg_locatie_code
|
||||
)
|
||||
AS
|
||||
SELECT f.fin_factuur_key,
|
||||
@@ -485,15 +629,13 @@ AS
|
||||
prs_bedrijf_key,
|
||||
fin_factuurregel_omschrijving,
|
||||
fr.fin_factuurregel_totaal,
|
||||
COALESCE (
|
||||
fr_btw.afw_btw_bedrag,
|
||||
ROUND (
|
||||
fr.fin_factuurregel_totaal
|
||||
* DECODE (btw.fin_btwtabelwaarde_verlegd,
|
||||
1, 0,
|
||||
btw.fin_btwtabelwaarde_perc / 100),
|
||||
2))
|
||||
fin_factuurregel_btw,
|
||||
ROUND (
|
||||
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,
|
||||
@@ -509,6 +651,11 @@ AS
|
||||
WHERE fk.fin_factuur_key = f.fin_factuur_key
|
||||
AND fk.fin_kenmerk_key = 3)
|
||||
boekstuknummer,
|
||||
(SELECT fin_kenmerkfactuur_waarde
|
||||
FROM fin_kenmerkfactuur fk
|
||||
WHERE fk.fin_factuur_key = f.fin_factuur_key
|
||||
AND fk.fin_kenmerk_key = 121)
|
||||
projectlocatie,
|
||||
(SELECT fac_usrdata_code
|
||||
FROM fin_kenmerkfactregel kfr, fac_usrdata ud
|
||||
WHERE fin_kenmerk_key = 61
|
||||
@@ -523,10 +670,10 @@ AS
|
||||
AND fac.safe_to_number (fin_kenmerkfactregel_waarde) =
|
||||
ud.fac_usrdata_key)
|
||||
projectnaam,
|
||||
COALESCE (kr.prs_kostensoort_oms, k.prs_kostensoort_oms),
|
||||
k.prs_kostensoort_refcode,
|
||||
kr.prs_kostensoort_oms,
|
||||
kr.prs_kostensoort_refcode,
|
||||
'Onbekend' vk_prs_kostensoort_refcode,
|
||||
COALESCE (kr.prs_kostensoort_key, k.prs_kostensoort_key),
|
||||
kr.prs_kostensoort_key,
|
||||
COALESCE (
|
||||
(SELECT prs_kostenplaats_key
|
||||
FROM prs_kostenplaats kpr, fin_kenmerkfactregel kfr
|
||||
@@ -584,9 +731,8 @@ AS
|
||||
AND f.fin_factuur_statuses_key = 6)
|
||||
fin_factuur_statuses_key,
|
||||
f.fin_factuur_statuses_key fin_factuur_statuses_org_key,
|
||||
lk.prs_kostenplaats_nr lev_kpn,
|
||||
'Onbekend' lev_kpn,
|
||||
rn.reknr,
|
||||
kd.kstdrcode,
|
||||
(SELECT fin_kenmerkfactuur_waarde
|
||||
FROM fin_kenmerkfactuur fk
|
||||
WHERE fk.fin_factuur_key = f.fin_factuur_key
|
||||
@@ -601,7 +747,8 @@ AS
|
||||
AND UPPER (fk.fin_kenmerk_omschrijving) = 'AFW. BOEKDATUM'
|
||||
AND fkf.fin_factuurregel_key = fr.fin_factuurregel_key)
|
||||
afwboekdatum,
|
||||
fr_afwk.afw_kostenplaats
|
||||
fr_afwk.afw_kostenplaats_key,
|
||||
l.alg_locatie_code
|
||||
FROM fin_factuur f,
|
||||
fin_factuurregel fr,
|
||||
fin_btwtabelwaarde btw,
|
||||
@@ -617,13 +764,8 @@ AS
|
||||
WHERE fin_kenmerk_key = 41
|
||||
AND fac.safe_to_number (km.fin_kenmerkfactuur_waarde) =
|
||||
b.prs_bedrijf_key) b_f, -- Afwijkend bedrijf
|
||||
(SELECT kfr.fin_factuurregel_key,
|
||||
fac.safe_to_number (fin_kenmerkfactregel_waarde)
|
||||
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
|
||||
prs_kostenplaats_key afw_kostenplaats_key
|
||||
FROM fin_kenmerk k,
|
||||
prs_kostenplaats kp,
|
||||
fin_kenmerkfactregel frk
|
||||
@@ -633,12 +775,10 @@ AS
|
||||
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,
|
||||
prs_kostenplaats lk,
|
||||
pchx_v_kenm_kstdrcode kd,
|
||||
pchx_v_kenm_reknr rn
|
||||
pchx_v_kenm_reknr rn,
|
||||
alg_locatie l
|
||||
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(+)
|
||||
@@ -649,14 +789,11 @@ AS
|
||||
AND o.mld_uitvoerende_keys = b_o.prs_bedrijf_key(+)
|
||||
AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
|
||||
AND f.fin_factuur_key = b_f.fin_factuur_key(+)
|
||||
AND f.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 kr.prs_kostensoortgrp_key = kg.prs_kostensoortgrp_key(+)
|
||||
AND fr.prs_kostensoort_key = kr.prs_kostensoort_key(+)
|
||||
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 fr.fin_factuurregel_referentie = l.alg_locatie_code(+)
|
||||
AND f.fin_factuur_verwijder IS NULL;
|
||||
|
||||
|
||||
@@ -706,7 +843,6 @@ CREATE OR REPLACE VIEW pchx_v_rap_factuurgegevens_fin
|
||||
status,
|
||||
afwbedrijf,
|
||||
grootboekrekening,
|
||||
kostendrager,
|
||||
factuurregel_omschrijving,
|
||||
afw_boekdatum
|
||||
)
|
||||
@@ -727,7 +863,6 @@ AS
|
||||
Status,
|
||||
bafw.prs_bedrijf_naam,
|
||||
reknr,
|
||||
kstdrcode,
|
||||
fin_factuurregel_omschrijving,
|
||||
afwboekdatum
|
||||
FROM pchx_v_factuur_gegevens f,
|
||||
@@ -744,7 +879,6 @@ GROUP BY fin_factuur_key,
|
||||
fin_factuur_statuses_org_key,
|
||||
bafw.prs_bedrijf_naam,
|
||||
reknr,
|
||||
kstdrcode,
|
||||
fin_factuurregel_omschrijving,
|
||||
afwboekdatum;
|
||||
|
||||
@@ -810,28 +944,48 @@ AS
|
||||
ud.fac_usrdata_key))
|
||||
FROM fin_factuurregel fr1;
|
||||
|
||||
CREATE OR REPLACE VIEW pchx_v_kenm_kstdrcode
|
||||
(
|
||||
fin_factuurregel_key,
|
||||
kstdrcode
|
||||
)
|
||||
AS
|
||||
SELECT fr1.fin_factuurregel_key,
|
||||
COALESCE (
|
||||
(SELECT fac_usrdata_code
|
||||
FROM fin_kenmerkfactregel kfr1, fac_usrdata ud
|
||||
WHERE fin_kenmerk_key = 25
|
||||
AND kfr1.fin_factuurregel_key = fr1.fin_factuurregel_key
|
||||
AND fac.safe_to_number (fin_kenmerkfactregel_waarde) =
|
||||
ud.fac_usrdata_key),
|
||||
(SELECT fac_usrdata_code
|
||||
FROM fin_kenmerkfactuur kf1, fac_usrdata ud
|
||||
WHERE fin_kenmerk_key = 22
|
||||
AND kf1.fin_factuur_key = fr1.fin_factuur_key
|
||||
AND fac.safe_to_number (fin_kenmerkfactuur_waarde) =
|
||||
ud.fac_usrdata_key))
|
||||
FROM fin_factuurregel fr1;
|
||||
|
||||
-- View om de relatie tussen werkmaatschappij en locatie weer te geven. Deze relatie loopt
|
||||
-- via de kenmerken werkmaatschij(n) bij een locatie. Deze kenmerken wijzen naar een intern
|
||||
-- bedrijf. Deze interne bedrijven hebben vervolgens een kenmerk dat naar de kostenplaats wijst.
|
||||
-- De combinatie prs_kostenplaat_nr en locatiecode is uiteindelijke de projectcode die naar
|
||||
-- Exact gecommuniceerd wordt. Geldt alleen voor PCHD!!
|
||||
CREATE OR REPLACE VIEW pchx_v_wm_loc
|
||||
AS
|
||||
SELECT DISTINCT prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
wm.prs_kostenplaats_key,
|
||||
wm.prs_kostenplaats_nr,
|
||||
b.prs_bedrijf_intern,
|
||||
l.alg_locatie_code,
|
||||
l.alg_locatie_omschrijving,
|
||||
COUNT (*) aantal,
|
||||
wm.prs_kostenplaats_nr || alg_locatie_code projectcode
|
||||
FROM alg_kenmerk k,
|
||||
alg_onrgoedkenmerk aogk,
|
||||
prs_bedrijf b,
|
||||
alg_locatie l,
|
||||
(SELECT prs_link_key, prs_kostenplaats_nr, kp.prs_kostenplaats_key
|
||||
FROM prs_kostenplaats kp, prs_kenmerklink kl
|
||||
WHERE fac.safe_to_number (kl.prs_kenmerklink_waarde) = kp.prs_kostenplaats_key AND kl.prs_kenmerk_key = 1260)
|
||||
wm
|
||||
WHERE fac.safe_to_number (alg_onrgoedkenmerk_waarde) = b.prs_bedrijf_key
|
||||
AND aogk.alg_kenmerk_key = k.alg_kenmerk_key
|
||||
AND alg_kenmerk_omschrijving LIKE 'Werkmaatschappij%'
|
||||
AND alg_kenmerk_kenmerktype = 'S'
|
||||
AND alg_onrgoedkenmerk_verwijder IS NULL
|
||||
AND alg_onrgoed_key = l.alg_locatie_key
|
||||
AND l.alg_locatie_verwijder IS NULL
|
||||
AND b.prs_bedrijf_key = wm.prs_link_key(+)
|
||||
AND b.prs_bedrijf_intern = 1
|
||||
AND COALESCE (alg_locatie_vervaldatum, SYSDATE + 1) > SYSDATE
|
||||
GROUP BY prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
prs_bedrijf_intern,
|
||||
l.alg_locatie_code,
|
||||
l.alg_locatie_omschrijving,
|
||||
wm.prs_kostenplaats_nr,
|
||||
wm.prs_kostenplaats_key;
|
||||
|
||||
CREATE OR REPLACE VIEW pchx_v_bron_export_exact_xml
|
||||
(
|
||||
@@ -842,6 +996,7 @@ CREATE OR REPLACE VIEW pchx_v_bron_export_exact_xml
|
||||
datum,
|
||||
afw_datum,
|
||||
crdnr,
|
||||
projectlocatie,
|
||||
projectnr,
|
||||
projectnaam,
|
||||
bedrag_txt,
|
||||
@@ -850,23 +1005,18 @@ CREATE OR REPLACE VIEW pchx_v_bron_export_exact_xml
|
||||
betaalref,
|
||||
itemcode,
|
||||
reknr,
|
||||
kstdrcode,
|
||||
kstplcode,
|
||||
btw_code,
|
||||
lev_kpn,
|
||||
administratie,
|
||||
fin_factuur_key,
|
||||
track_verpl,
|
||||
fin_factuurregel_nr,
|
||||
afw_kostenplaats,
|
||||
fin_factuur_statuses_key
|
||||
prs_kostenplaats_nr,
|
||||
fin_factuur_statuses_key,
|
||||
alg_locatie_code
|
||||
)
|
||||
AS
|
||||
SELECT (SELECT fin_kenmerkfactuur_waarde kf
|
||||
FROM fin_kenmerkfactuur kf
|
||||
WHERE kf.fin_factuur_key = fg.fin_factuur_key
|
||||
AND kf.fin_kenmerk_key = 3) -- boekstuknummer
|
||||
bkstnr,
|
||||
SELECT boekstuknummer bkstnr,
|
||||
REPLACE (fin_factuur_opmerking, ',', '') fact_oms25,
|
||||
opdracht_id
|
||||
|| ' - '
|
||||
@@ -886,6 +1036,7 @@ AS
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key)
|
||||
crdnr,
|
||||
projectlocatie,
|
||||
project_nummer,
|
||||
project_naam,
|
||||
REPLACE (TO_CHAR (fin_factuurregel_totaal), ',', '.') bedrag_txt,
|
||||
@@ -894,7 +1045,6 @@ AS
|
||||
fin_factuur_nr || '/' || fin_factuur_debiteur_nr betaalref,
|
||||
prs_kostensoort_oms itemcode,
|
||||
reknr,
|
||||
kstdrcode,
|
||||
(SELECT prs_kostenplaats_nr
|
||||
FROM prs_kostenplaats kp
|
||||
WHERE kp.prs_kostenplaats_key = fg.prs_kostenplaats_key)
|
||||
@@ -903,16 +1053,19 @@ AS
|
||||
lev_kpn,
|
||||
administratie,
|
||||
fin_factuur_key,
|
||||
(SELECT MAX(fac_tracking_datum)
|
||||
FROM fac_tracking t, fac_srtnotificatie sn
|
||||
WHERE t.fac_tracking_refkey = fin_factuur_key
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'CUST10')
|
||||
track_verpl,
|
||||
fin_factuurregel_nr,
|
||||
afw_kostenplaats,
|
||||
fin_factuur_statuses_key
|
||||
FROM pchx_v_factuur_gegevens fg;
|
||||
afw_kostenplaats_key,
|
||||
fin_factuur_statuses_key,
|
||||
alg_locatie_code
|
||||
FROM pchx_v_factuur_gegevens fg,
|
||||
prs_kostenplaats kp
|
||||
WHERE kp.prs_kostenplaats_key = COALESCE(afw_kostenplaats_key, fg.prs_kostenplaats_org)
|
||||
-- Alleen als de kosten doorbelast moeten worden gaan we controleren of de werkmaatschappij wel aan de locatie gekoppeld is.
|
||||
AND ( SUBSTR(boekstuknummer,3,2) <> '70'
|
||||
OR
|
||||
EXISTS (SELECT 1 FROM pchx_v_wm_loc wl
|
||||
WHERE wl.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
AND wl.alg_locatie_code = fg.alg_locatie_code));
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- EXPORTFUNCTIE - Export exact verwerk
|
||||
@@ -1535,7 +1688,7 @@ AS
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- EXPORTFUNCTIE - Export VERPLICHTINGEN EN SCANSYS
|
||||
-- EXPORTFUNCTIE - Export SCANSYS
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
CREATE OR REPLACE PROCEDURE pchx_select_scansys_adm (
|
||||
@@ -1555,15 +1708,16 @@ AS
|
||||
f.reknr,
|
||||
f.projectnaam,
|
||||
f.regel_oms,
|
||||
f.afw_kostenplaats,
|
||||
f.kstdrcode,
|
||||
f.kstplcode,
|
||||
DECODE(SUBSTR(f.kstplcode, 1,3), '999', '999', f.kstplcode) || f.alg_locatie_code projectcode,
|
||||
f.itemcode,
|
||||
f.bedrag_txt,
|
||||
f.btw_code,
|
||||
f.betaalref,
|
||||
f.bedrag,
|
||||
f.bedrag_incl,
|
||||
f.projectnr
|
||||
f.projectnr,
|
||||
f.projectlocatie
|
||||
FROM pchx_v_bron_export_exact_xml f, pchx_exp_factuur e
|
||||
WHERE f.administratie = p_administratie AND f.fin_factuur_key = e.fin_factuur_key
|
||||
ORDER BY f.bkstnr;
|
||||
@@ -1602,8 +1756,7 @@ BEGIN
|
||||
(SELECT DISTINCT fin_factuur_key, p_administratie
|
||||
FROM pchx_v_bron_export_exact_xml
|
||||
WHERE fin_factuur_statuses_key = 6
|
||||
AND administratie = p_administratie
|
||||
AND track_verpl IS NOT NULL);
|
||||
AND administratie = p_administratie);
|
||||
|
||||
v_bkstnr_prev := 'empty';
|
||||
|
||||
@@ -1691,7 +1844,7 @@ BEGIN
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<Project code="'
|
||||
|| rec.projectnr
|
||||
|| rec.projectcode
|
||||
|| '" type="I" status="A">');
|
||||
pchx.add_xml_element (v_bestand,
|
||||
'Description',
|
||||
@@ -1699,6 +1852,13 @@ BEGIN
|
||||
pchx.add_xml_row (v_bestand, '</Project>');
|
||||
--END IF;
|
||||
|
||||
IF pchx.get_user = 'PCHD' AND rec.projectlocatie IS NOT NULL
|
||||
THEN
|
||||
pchx.add_xml_element (v_bestand,
|
||||
'Sublocation',
|
||||
rec.projectlocatie);
|
||||
END IF;
|
||||
|
||||
pchx.add_xml_element (v_bestand,
|
||||
'Description',
|
||||
rec.regel_oms);
|
||||
@@ -1706,21 +1866,12 @@ 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 rec.afw_kostenplaats IS NOT NULL
|
||||
IF rec.kstplcode IS NOT NULL
|
||||
THEN
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<Costcenter code="'
|
||||
|| xml.char_to_html (rec.afw_kostenplaats)
|
||||
|| '"/>');
|
||||
END IF;
|
||||
|
||||
IF pchx.get_user = 'PCHD'
|
||||
THEN
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<Costunit code="'
|
||||
|| xml.char_to_html (rec.kstdrcode)
|
||||
|| xml.char_to_html (rec.kstplcode)
|
||||
|| '"/>');
|
||||
END IF;
|
||||
|
||||
@@ -1796,19 +1947,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW pchx_v_export_verpl
|
||||
(
|
||||
result,
|
||||
result_order,
|
||||
boekstuknummer
|
||||
)
|
||||
AS
|
||||
SELECT SUBSTR (fac_rapport_regel, INSTR (fac_rapport_regel, '##') + 2),
|
||||
fac_rapport_volgnr,
|
||||
SUBSTR (fac_rapport_regel, 1, INSTR (fac_rapport_regel, '##') - 1)
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node = 'VERPL';
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW pchx_v_export_scansys
|
||||
(
|
||||
@@ -1824,275 +1962,6 @@ AS
|
||||
WHERE fac_rapport_node = 'SCANSYS';
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE pchx_select_verpl_adm (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_administratie IN VARCHAR2)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT f.bkstnr,
|
||||
f.datum,
|
||||
f.fact_oms25,
|
||||
f.administratie,
|
||||
f.crdnr,
|
||||
f.fin_factuurregel_nr,
|
||||
f.afw_datum,
|
||||
f.reknr,
|
||||
f.projectnaam,
|
||||
f.regel_oms,
|
||||
f.afw_kostenplaats,
|
||||
f.kstdrcode,
|
||||
f.itemcode,
|
||||
f.bedrag_txt,
|
||||
f.btw_code,
|
||||
f.betaalref,
|
||||
f.bedrag,
|
||||
f.bedrag_incl,
|
||||
f.projectnr,
|
||||
f.regel_oms25,
|
||||
f.fin_factuur_key
|
||||
FROM pchx_v_bron_export_exact_xml f
|
||||
WHERE f.administratie = p_administratie
|
||||
AND track_verpl IS NULL
|
||||
AND fin_factuur_statuses_key BETWEEN 1 AND 6
|
||||
ORDER BY f.bkstnr;
|
||||
|
||||
v_order_count NUMBER;
|
||||
v_amount_sum NUMBER (10, 2);
|
||||
v_amount_sum_incl NUMBER (10, 2);
|
||||
v_count NUMBER;
|
||||
--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_applname VARCHAR2 (2);
|
||||
v_bkstnr_cur VARCHAR2 (30);
|
||||
v_bkstnr_prev VARCHAR2 (30);
|
||||
BEGIN
|
||||
--Eerst maar de resultaten van vorige export opruimen
|
||||
|
||||
v_order_count := 0;
|
||||
v_amount_sum := 0;
|
||||
v_amount_sum_incl := 0;
|
||||
v_count := 0;
|
||||
v_bestand := SUBSTR (p_applname, 1, 12);
|
||||
|
||||
DELETE fac_rapport
|
||||
WHERE fac_rapport_node = v_bestand;
|
||||
|
||||
v_bkstnr_prev := 'empty';
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
-- bepalen dagboeknr & boekstuknr
|
||||
-- We zetten hier administratie, boekstuknummer en ## voor,
|
||||
-- dit is nodig omdat de we bij het vullen van FAC_RAPPORT een toevoeging moeten hebben om
|
||||
-- de unieke bestandsnamen te kunnen bepalen.
|
||||
-- In add_xml_row en add_xml_element filteren we dit weer, zodat dit niet in de node komt.
|
||||
|
||||
--PCHX#65429: Dagboeknr verschuift vanaf 2021 naar postitie 2 & 3 van het boekstuknummer (ipv positie 3 & 4).
|
||||
--Oude nog openstaande facturen (van 2020) moeten nog wel met positie 3&4, dat gaat via onderstaande case.
|
||||
--Na verloop van tijd mag dit weer opgeschoond worden en mag dit altijd: v_dagboeknr := SUBSTR (rec.bkstnr, 2, 2);
|
||||
|
||||
v_bkstnr_cur := rec.bkstnr;
|
||||
|
||||
CASE
|
||||
WHEN SUBSTR (rec.bkstnr, 0, 2) = '20'
|
||||
THEN
|
||||
v_dagboeknr := SUBSTR (rec.bkstnr, 3, 2);
|
||||
ELSE
|
||||
v_dagboeknr := SUBSTR (rec.bkstnr, 2, 2);
|
||||
END CASE;
|
||||
|
||||
v_count := 1; -- dummy
|
||||
|
||||
IF v_count <> 0
|
||||
THEN
|
||||
--Header xml
|
||||
IF v_bkstnr_cur <> v_bkstnr_prev
|
||||
THEN
|
||||
|
||||
-- Footer xml
|
||||
IF v_bkstnr_prev <> 'empty'
|
||||
THEN
|
||||
pchx.add_xml_row (v_bestand, '</GLEntry>');
|
||||
pchx.add_xml_row (v_bestand, '</GLEntries>');
|
||||
pchx.add_xml_row (v_bestand, '</eExact>');
|
||||
END IF;
|
||||
|
||||
v_bestand :=
|
||||
TO_CHAR( rec.administratie
|
||||
|| rec.bkstnr
|
||||
|| '##'
|
||||
|| SUBSTR (p_applname, 1, 12));
|
||||
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<?xml version="1.0" encoding="windows-1252"?>');
|
||||
pchx.add_xml_row (v_bestand, '<eExact>');
|
||||
pchx.add_xml_row (v_bestand, '<GLEntries>');
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<GLEntry status="E" entry="'
|
||||
|| xml.char_to_html (rec.bkstnr)
|
||||
|| '">');
|
||||
pchx.add_xml_element (v_bestand, 'Description', rec.fact_oms25);
|
||||
pchx.add_xml_element (v_bestand, 'Date', rec.datum);
|
||||
pchx.add_xml_element (v_bestand,
|
||||
'DocumentDate',
|
||||
TO_CHAR (SYSDATE, 'YYYY-MM-DD'));
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<Journal type="I" code="' || v_dagboeknr || '"/>');
|
||||
--v_sub_count := 1;
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<Creditor number="' || xml.char_to_html (rec.crdnr) || '"/>');
|
||||
END IF;
|
||||
|
||||
-- 1 of meerdere factuurregels
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<FinEntryLine number="'
|
||||
|| rec.fin_factuurregel_nr
|
||||
|| '" subtype="T" type="N">');
|
||||
pchx.add_xml_element (
|
||||
v_bestand,
|
||||
'Date',
|
||||
COALESCE (rec.afw_datum, rec.datum));
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<GLAccount code="'
|
||||
|| xml.char_to_html (rec.reknr)
|
||||
|| '"/>');
|
||||
|
||||
IF pchx.get_user = 'PCHD'
|
||||
THEN
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<Project code="'
|
||||
|| rec.projectnr
|
||||
|| '" type="I" status="A">');
|
||||
pchx.add_xml_element (v_bestand,
|
||||
'Description',
|
||||
rec.projectnaam);
|
||||
pchx.add_xml_row (v_bestand, '</Project>');
|
||||
END IF;
|
||||
|
||||
pchx.add_xml_element (v_bestand,
|
||||
'Description',
|
||||
rec.regel_oms25);
|
||||
|
||||
--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 rec.afw_kostenplaats IS NOT NULL
|
||||
THEN
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<Costcenter code="'
|
||||
|| xml.char_to_html (rec.afw_kostenplaats)
|
||||
|| '"/>');
|
||||
END IF;
|
||||
|
||||
IF pchx.get_user = 'PCHD'
|
||||
THEN
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<Item code="'
|
||||
|| xml.char_to_html (rec.itemcode)
|
||||
|| '"/>');
|
||||
END IF;
|
||||
|
||||
pchx.add_xml_row (v_bestand, '<Amount>');
|
||||
pchx.add_xml_element (v_bestand, 'Debit', rec.bedrag_txt);
|
||||
pchx.add_xml_row (
|
||||
v_bestand,
|
||||
'<VAT code="'
|
||||
|| xml.char_to_html (rec.btw_code)
|
||||
|| '"/>');
|
||||
pchx.add_xml_row (v_bestand, '</Amount>');
|
||||
pchx.add_xml_row (v_bestand, '<Payment>');
|
||||
pchx.add_xml_element (v_bestand,
|
||||
'Reference',
|
||||
rec.betaalref);
|
||||
pchx.add_xml_element (v_bestand,
|
||||
'InvoiceNumber',
|
||||
rec.bkstnr);
|
||||
pchx.add_xml_row (v_bestand, '</Payment>');
|
||||
pchx.add_xml_row (v_bestand, '<FinReferences>');
|
||||
pchx.add_xml_element (v_bestand, 'YourRef', rec.betaalref);
|
||||
pchx.add_xml_element (v_bestand,
|
||||
'DocumentDate',
|
||||
TO_CHAR (SYSDATE, 'YYYY-MM-DD'));
|
||||
pchx.add_xml_row (v_bestand, '</FinReferences>');
|
||||
pchx.add_xml_row (v_bestand, '</FinEntryLine>');
|
||||
--v_sub_count := v_sub_count + 1;
|
||||
v_amount_sum := v_amount_sum + rec.bedrag;
|
||||
v_amount_sum_incl := v_amount_sum_incl + rec.bedrag_incl;
|
||||
|
||||
|
||||
IF v_bkstnr_cur <> v_bkstnr_prev
|
||||
THEN
|
||||
INSERT INTO fac_tracking (fac_tracking_refkey, fac_srtnotificatie_key, fac_tracking_oms)
|
||||
SELECT rec.fin_factuur_key, fac_srtnotificatie_key, 'Verplichting verzonden naar Scansys'
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_code = 'CUST10';
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
END;
|
||||
|
||||
v_bkstnr_prev := v_bkstnr_cur;
|
||||
v_order_count := v_order_count + 1;
|
||||
END LOOP;
|
||||
|
||||
-- Footer xml
|
||||
IF v_bkstnr_prev <> 'empty'
|
||||
THEN
|
||||
pchx.add_xml_row (v_bestand, '</GLEntry>');
|
||||
pchx.add_xml_row (v_bestand, '</GLEntries>');
|
||||
pchx.add_xml_row (v_bestand, '</eExact>');
|
||||
END IF;
|
||||
|
||||
fac.writelog (
|
||||
p_applname,
|
||||
'S',
|
||||
'Scansys verplichtingen export uitgevoerd. Aantal regels: '
|
||||
|| v_order_count
|
||||
|| ' Totaal bedrag: '
|
||||
|| v_amount_sum
|
||||
|| ' Totaal bedrag (incl): '
|
||||
|| v_amount_sum_incl,
|
||||
'');
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE pchx_select_verpl (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
BEGIN
|
||||
pchx_select_verpl_adm (p_applname, p_applrun, pchx.get_administratienr);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE pchx_export_verpl (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2)
|
||||
AS
|
||||
v_errormsg VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
BEGIN
|
||||
-- Verwerk actie direct starten na de export
|
||||
NULL;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------------
|
||||
-- views tbv realtime monitor
|
||||
--------------------------------------------------------------------------------------
|
||||
@@ -4533,7 +4402,7 @@ BEGIN
|
||||
-- v_btw_verlegd: 15 (VERPLICHT, Ja/Nee/<leeg> waarbij leeg gelijk is aan Nee. Andere waarden leidt tot "Incompleet")
|
||||
-- v_kenmerk1: 16 (Boekstuknummer)
|
||||
-- v_kenmerk2: 17 (Kostensoort)
|
||||
-- v_kenmerk3: 18 (Kostendrager)
|
||||
-- v_kenmerk3: 18
|
||||
-- v_kenmerk4: 19 (Grootboekrekening)
|
||||
-- v_kenmerk5: 20 (Afwijkend bedrijf)
|
||||
-- v_boekmaand: 21
|
||||
@@ -4559,6 +4428,12 @@ BEGIN
|
||||
SET ordernr = factuurnr
|
||||
WHERE ordernr IS NULL;
|
||||
|
||||
-- referenties naar bestellingen krijgen vaak een B mee in de factuurimport. Om er voor te zorgen dat we
|
||||
-- ook echt op zoek gaan naar bestellingen, wordt deze B verwijderd.
|
||||
UPDATE fac_imp_factuur
|
||||
SET ordernr = SUBSTR(ordernr, 2, 100)
|
||||
WHERE UPPER(ordernr) LIKE 'B%';
|
||||
|
||||
-- verwijder de entries uit de imp_file omdat er meerdere bestanden in <20><>n run ingelezen kunnen worden.
|
||||
DELETE fac_imp_file
|
||||
WHERE fac_import_key = p_import_key;
|
||||
@@ -4606,9 +4481,20 @@ AS
|
||||
fac_import_key);
|
||||
|
||||
CURSOR km_factuurregels IS
|
||||
SELECT *
|
||||
FROM fac_imp_factuur
|
||||
WHERE fac_import_key = p_import_key;
|
||||
SELECT fr.fin_factuur_key,
|
||||
i.fin_factuurregel_key,
|
||||
i.opmerking,
|
||||
i.kenmerk1,
|
||||
i.kenmerk2,
|
||||
i.kenmerk7,
|
||||
i.kenmerk8,
|
||||
i.kenmerk9,
|
||||
i.kenmerk10,
|
||||
i.kenmerk13,
|
||||
i.kenmerk14
|
||||
FROM fac_imp_factuur i, fin_factuurregel fr
|
||||
WHERE fac_import_key = p_import_key
|
||||
AND i.fin_factuurregel_key = fr.fin_factuurregel_key;
|
||||
|
||||
CURSOR btw IS
|
||||
SELECT f.fac_import_key,
|
||||
@@ -4641,9 +4527,9 @@ AS
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_afwbedrijf VARCHAR2 (200);
|
||||
v_grootboekrekening VARCHAR2 (200);
|
||||
v_kostendrager VARCHAR2 (200);
|
||||
v_kostenplaats NUMBER;
|
||||
v_referentie_key NUMBER;
|
||||
v_kostensoort_key NUMBER;
|
||||
v_opmerking VARCHAR2 (3000);
|
||||
v_omschrijving VARCHAR2 (3000);
|
||||
v_afw_boekdatum VARCHAR2 (200);
|
||||
@@ -4815,6 +4701,11 @@ BEGIN
|
||||
'Er is geen referentie gevonden bij dit boekstuknummer '
|
||||
|| rec.kenmerk1);
|
||||
END IF;
|
||||
|
||||
IF PCHX.fin_get_projectloc_code (rec.fin_factuur_key) IS NOT NULL
|
||||
THEN
|
||||
FLX.setflex('FIN', 121, rec.fin_factuur_key, PCHX.fin_get_projectloc_code (rec.fin_factuur_key));
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
@@ -4917,34 +4808,6 @@ BEGIN
|
||||
rec.kenmerk7));
|
||||
END IF;
|
||||
|
||||
v_errorhint := 'Geen afw. kostendrager factuurregel';
|
||||
|
||||
--Afw. Kostendrager (factuurregel)
|
||||
IF rec.kenmerk3 IS NULL
|
||||
THEN
|
||||
v_errorhint := 'Geen afw. kostendrager factuurregel';
|
||||
ELSE
|
||||
INSERT INTO fin_kenmerkfactregel (
|
||||
fin_factuurregel_key,
|
||||
fin_kenmerk_key,
|
||||
fin_kenmerkfactregel_waarde)
|
||||
VALUES (
|
||||
rec.fin_factuurregel_key,
|
||||
(SELECT MAX (fin_kenmerk_key)
|
||||
FROM fin_kenmerk
|
||||
WHERE fin_kenmerk_verwijder IS NULL
|
||||
AND fin_kenmerk_upper =
|
||||
'AFW. KOSTENDRAGER'),
|
||||
(SELECT MAX (ud.fac_usrdata_key)
|
||||
FROM fac_usrdata ud, fac_usrtab ut
|
||||
WHERE UPPER (ut.fac_usrtab_naam) =
|
||||
'KOSTENDRAGER'
|
||||
AND ut.fac_usrtab_key =
|
||||
ud.fac_usrtab_key
|
||||
AND ud.fac_usrdata_code =
|
||||
rec.kenmerk3));
|
||||
END IF;
|
||||
|
||||
v_errorhint := 'Geen afw. kostenplaats factuurregel';
|
||||
|
||||
--Afw. kostenplaats (factuurregel)
|
||||
@@ -4971,7 +4834,24 @@ BEGIN
|
||||
--Kostensoort (factuurregel)
|
||||
IF rec.kenmerk2 IS NULL
|
||||
THEN
|
||||
v_errorhint := 'Geen kostensoort factuurregel';
|
||||
v_errorhint := 'Kostensoort opzoeken in de verplichting';
|
||||
SELECT prs_kostensoort_key
|
||||
INTO v_kostensoort_key
|
||||
FROM fin_factuur
|
||||
WHERE fin_factuur_key = rec.fin_factuur_key;
|
||||
|
||||
IF v_kostensoort_key IS NOT NULL
|
||||
THEN
|
||||
UPDATE fin_factuurregel
|
||||
SET prs_kostensoort_key = v_kostensoort_key
|
||||
WHERE fin_factuurregel_key = rec.fin_factuurregel_key;
|
||||
ELSE
|
||||
-- zet de factuur op incompeet als de kostensoort niet gevonden kan worden.
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_statuses_key = 3,
|
||||
fin_factuur_opmerking = 'Kostensoort niet gevonden' || CHR(10) || fin_factuur_opmerking
|
||||
WHERE fin_factuur_key = rec.fin_factuur_key;
|
||||
END IF;
|
||||
ELSE
|
||||
UPDATE fin_factuurregel
|
||||
SET prs_kostensoort_key =
|
||||
@@ -5015,6 +4895,14 @@ BEGIN
|
||||
'AFW. BOEKDATUM'),
|
||||
v_afw_boekdatum);
|
||||
END IF;
|
||||
|
||||
IF PCHX.fin_get_locatie_code (rec.fin_factuur_key) IS NOT NULL
|
||||
THEN
|
||||
UPDATE fin_factuurregel SET fin_factuurregel_referentie = PCHX.fin_get_locatie_code (rec.fin_factuur_key)
|
||||
WHERE fin_factuurregel_key = rec.fin_factuurregel_key;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user