WZUV#41726 Fase 2: Factuurimport Kenter en aanpassing view tbv Exact export contractgerelateerde facturen
svn path=/Customer/trunk/; revision=36576
This commit is contained in:
191
WZUV/WZUV.SQL
191
WZUV/WZUV.SQL
@@ -952,35 +952,30 @@ BEGIN
|
||||
|
||||
-- Voeg prefix C toe aan het contractnummer van het actieve contract van Liander
|
||||
-- het juiste contract kan bepaald worden op basis van het EAN nummer dat in kenmerkveldje 2 staat
|
||||
UPDATE fac_imp_factuur f
|
||||
SET f.ordernr =
|
||||
(SELECT DECODE (
|
||||
cnt_contract_versie,
|
||||
NULL,
|
||||
'C' || c.cnt_contract_nummer_intern,
|
||||
'C'
|
||||
|| c.cnt_contract_nummer_intern
|
||||
|| '.'
|
||||
|| cnt_contract_versie)
|
||||
FROM cnt_contract c,
|
||||
prs_bedrijf b,
|
||||
cnt_kenmerkcontract kc,
|
||||
cnt_kenmerk k,
|
||||
cnt_srtkenmerk sk
|
||||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||||
AND UPPER (sk.cnt_srtkenmerk_omschrijving) LIKE '%EAN%'
|
||||
AND kc.cnt_kenmerkcontract_waarde = f.kenmerk2
|
||||
AND b.prs_bedrijf_naam_upper LIKE '%LIANDER%'
|
||||
AND c.cnt_contract_looptijd_van <
|
||||
fac.safe_to_date (f.factuurdatum, 'yyyy-mm-dd')
|
||||
AND C.CNT_CONTRACT_LOOPTIJD_TOT >
|
||||
fac.safe_to_date (f.factuurdatum, 'yyyy-mm-dd')
|
||||
AND fac_import_key = p_import_key
|
||||
AND f.ordernr IS NULL);
|
||||
|
||||
UPDATE fac_imp_factuur f
|
||||
SET f.ordernr =
|
||||
(SELECT DECODE (
|
||||
cnt_contract_versie,
|
||||
NULL,
|
||||
'C' || c.cnt_contract_nummer_intern,
|
||||
'C'
|
||||
|| c.cnt_contract_nummer_intern
|
||||
|| '.'
|
||||
|| cnt_contract_versie)
|
||||
AS orderid
|
||||
FROM cnt_kenmerkcontract kc,
|
||||
cnt_kenmerk k,
|
||||
cnt_srtkenmerk sk,
|
||||
cnt_contract c,
|
||||
prs_bedrijf b
|
||||
WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||||
AND kc.cnt_contract_key = c.cnt_contract_key
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_naam_upper LIKE '%LIANDER%'
|
||||
AND UPPER (sk.cnt_srtkenmerk_omschrijving) LIKE '%EAN%'
|
||||
AND cnt_kenmerkcontract_waarde = f.kenmerk2);
|
||||
|
||||
-- de boekmaand is de maand waarover de factuur betrekking heeft
|
||||
-- het kenmerk veld bevat de begindatum van deze maand dus daar extraheren we het jaar en de maand uit
|
||||
UPDATE fac_imp_factuur f
|
||||
@@ -1051,7 +1046,7 @@ END;
|
||||
-- ==========================================
|
||||
-- VANAF HIER ALLE VIEWS EN PROCS VOOR DE EXACT KOPPELING
|
||||
-- ==========================================
|
||||
-- Kenmerk 1 is bijlage
|
||||
-- Kenmerk 21 is bijlage
|
||||
CREATE OR REPLACE VIEW WZUV_V_FACTUUR_BESTAND
|
||||
(
|
||||
FIN_FACTUUR_KEY,
|
||||
@@ -1060,9 +1055,9 @@ CREATE OR REPLACE VIEW WZUV_V_FACTUUR_BESTAND
|
||||
AS
|
||||
SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde
|
||||
FROM fin_kenmerkfactuur kf
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 1;
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 21;
|
||||
|
||||
-- Kenmerk 21 is betaalreferentie
|
||||
-- Kenmerk 2 is betaalreferentie
|
||||
CREATE OR REPLACE VIEW WZUV_V_FACTUUR_BETAALREF
|
||||
(
|
||||
FIN_FACTUUR_KEY,
|
||||
@@ -1071,9 +1066,9 @@ CREATE OR REPLACE VIEW WZUV_V_FACTUUR_BETAALREF
|
||||
AS
|
||||
SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde
|
||||
FROM fin_kenmerkfactuur kf
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 21;
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 2;
|
||||
|
||||
-- Kenmerk 22 is omschrijving kopregel
|
||||
-- Kenmerk is omschrijving kopregel
|
||||
CREATE OR REPLACE VIEW WZUV_V_FACTUUR_OMSCHR_KOPREGEL
|
||||
(
|
||||
FIN_FACTUUR_KEY,
|
||||
@@ -1082,9 +1077,9 @@ CREATE OR REPLACE VIEW WZUV_V_FACTUUR_OMSCHR_KOPREGEL
|
||||
AS
|
||||
SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde
|
||||
FROM fin_kenmerkfactuur kf
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 22;
|
||||
WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 3;
|
||||
|
||||
-- Kenmerk 23 is omschrijving datum factuurregel
|
||||
-- Kenmerk 4 is omschrijving datum factuurregel
|
||||
CREATE OR REPLACE VIEW WZUV_V_FACTUURREGEL_DATUM
|
||||
(
|
||||
FIN_FACTUURREGEL_KEY,
|
||||
@@ -1093,7 +1088,7 @@ CREATE OR REPLACE VIEW WZUV_V_FACTUURREGEL_DATUM
|
||||
AS
|
||||
SELECT kfr.fin_factuurregel_key, kfr.fin_kenmerkfactregel_waarde
|
||||
FROM fin_kenmerkfactregel kfr
|
||||
WHERE kfr.fin_kenmerkfactregel_verwijder IS NULL AND fin_kenmerk_key = 23;
|
||||
WHERE kfr.fin_kenmerkfactregel_verwijder IS NULL AND fin_kenmerk_key = 4;
|
||||
|
||||
CREATE OR REPLACE VIEW WZUV_V_FACTUUR_BES_GEGEVENS
|
||||
(
|
||||
@@ -1240,11 +1235,11 @@ AS
|
||||
fr.fin_factuurregel_nr,
|
||||
fr.fin_factuurregel_omschrijving,
|
||||
frd.fin_factuurregel_datum,
|
||||
f.fin_factuur_debiteur_nr,
|
||||
COALESCE(f.fin_factuur_debiteur_nr, b_c.prs_leverancier_nr, b_o.prs_leverancier_nr),
|
||||
fbr.fin_factuur_betaalref,
|
||||
fok.fin_factuur_omschr_kopregel,
|
||||
NULL projectnummer,
|
||||
COALESCE (ks_regel.prs_kostensoort_oms, ks.prs_kostensoort_oms),
|
||||
COALESCE (ks_contract.prs_kostensoort_oms, ks_regel.prs_kostensoort_oms, ks.prs_kostensoort_oms),
|
||||
DECODE (ks_regel.prs_kostensoort_oms,
|
||||
NULL, ks.prs_kostensoort_doorbelasten,
|
||||
ks_regel.prs_kostensoort_doorbelasten),
|
||||
@@ -1268,6 +1263,7 @@ AS
|
||||
prs_bedrijf b_c,
|
||||
prs_kostensoort ks,
|
||||
prs_kostensoort ks_regel,
|
||||
prs_kostensoort ks_contract,
|
||||
prs_kostenplaats kp_c,
|
||||
prs_kostenplaats kp_o
|
||||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||
@@ -1285,8 +1281,8 @@ AS
|
||||
AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+)
|
||||
AND c.prs_kostenplaats_key = kp_c.prs_kostenplaats_key(+)
|
||||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+);
|
||||
|
||||
AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+)
|
||||
AND c.prs_kostensoort_key= ks_contract.prs_kostensoort_key(+);
|
||||
|
||||
CREATE OR REPLACE VIEW WZUV_V_FACTUUR_GEG_AKKOORD
|
||||
(
|
||||
@@ -2119,7 +2115,118 @@ AS
|
||||
FROM fac_notificatie_job
|
||||
WHERE UPPER (fac_notificatie_job_view) =
|
||||
'WZUV_V_NOTI_VRIJKOMEN_APP3');
|
||||
|
||||
|
||||
|
||||
-- Factuur import Nuts facturen Kenter
|
||||
CREATE OR REPLACE PROCEDURE wzuv_import_fin_fact_kenter (
|
||||
p_import_key IN NUMBER)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR (50);
|
||||
BEGIN
|
||||
-- In de csv:
|
||||
-- Verzamelspecificatie nr. (1) ;Geadresseerde (2) ;Adres (3) ;PC Plaats (4) ;EAN code (5) ;Product (6) ;Aansluitadres: straat (7) ;Aansluitadres: huisnummer(8) ;Aansluitadres: huisnummertoevoeging (9);Aansluitadres: postcode (10);
|
||||
-- Aansluitadres: plaats (11) ;Locatiedetails (12) ;Kostenplaats (13) ;Kostendrager (14) ;Kostendrager2 (15) ;Factuurgroepering (16) ;Factuurdatum (17) ;Factuurnummer (18) ;Gestorneerde factuur (19) ;Factuurtype (20);
|
||||
-- Bedrag excl. BTW (21) ;Bedrag excl. BTW 21% (22);Bedrag excl. BTW 19% (23) ;Bedrag excl. BTW 6% (24) ;Bedrag excl. BTW 0% (25) ;Afrekentijdvak: start (26) ;Afrekentijdvak: einde (27) ;Blok 1 (28) ;Blok aantal 1 (29) ;Blok prijs 1 (30) ;
|
||||
-- Blok bedrag (excl. BTW) 1 (31) ;Blok BTW% 1 (32) ;Blok 2 (33) ;Blok aantal 2 (34) ;Blok prijs 2 (35) ;Blok bedrag (excl. BTW) 2 (36) ;Blok BTW% 2 (37);Blok 3 (38) ;Blok aantal 3 (39) ;Blok prijs 3 (40) ;
|
||||
-- Blok bedrag (excl. BTW) 3 (41);Blok BTW% 3 (42) ;Blok 4 (43) ;Blok aantal 4 (44) ;Blok prijs 4 (45) ;Blok bedrag (excl. BTW) 4 (46) ;Blok BTW% 4 (47) ;Blok 5 (48) ;Blok aantal 5 (49) ;Blok prijs 5 (50);
|
||||
-- Blok bedrag (excl. BTW) 5;Blok BTW% 5;Blok 6;Blok aantal 6;Blok prijs 6;Blok bedrag (excl. BTW) 6;Blok BTW% 6;Blok 7;Blok aantal 7;Blok prijs 7;Blok bedrag (excl. BTW) 7;Blok BTW% 7;Blok 8;Blok aantal 8;Blok prijs 8;Blok bedrag (excl. BTW) 8;Blok BTW% 8;Blok 9;Blok aantal 9;Blok prijs 9;Blok bedrag (excl. BTW) 9;Blok BTW% 9;Blok 10;Blok aantal 10;Blok prijs 10;Blok bedrag (excl. BTW) 10;Blok BTW% 10;Blok 11;Blok aantal 11;Blok prijs 11;Blok bedrag (excl. BTW) 11;Blok BTW% 11;Blok 12;Blok aantal 12;Blok prijs 12;Blok bedrag (excl. BTW) 12;Blok BTW% 12;Blok 13;Blok aantal 13;Blok prijs 13;Blok bedrag (excl. BTW) 13;Blok BTW% 13;Blok 14;Blok aantal 14;Blok prijs 14;Blok bedrag (excl. BTW) 14;Blok BTW% 14;Blok 15;Blok aantal 15;Blok prijs 15;Blok bedrag (excl. BTW) 15;Blok BTW% 15;Blok 16;Blok aantal 16;Blok prijs 16;Blok bedrag (excl. BTW) 16;Blok BTW% 16;Blok 17;Blok aantal 17;Blok prijs 17;Blok bedrag (excl. BTW) 17;Blok BTW% 17;Blok 18;Blok aantal 18;Blok prijs 18;Blok bedrag (excl. BTW) 18;Blok BTW% 18;Blok 19;Blok aantal 19;Blok prijs 19;Blok bedrag (excl. BTW) 19;Blok BTW% 19;Blok 20;Blok aantal 20;Blok prijs 20;Blok bedrag (excl. BTW) 20;Blok BTW% 20;Blok 21;Blok aantal 21;Blok prijs 21;Blok bedrag (excl. BTW) 21;Blok BTW% 21;Blok 22;Blok aantal 22;Blok prijs 22;Blok bedrag (excl. BTW) 22;Blok BTW% 22;Blok 23;Blok aantal 23;Blok prijs 23;Blok bedrag (excl. BTW) 23;Blok BTW% 23;Blok 24;Blok aantal 24;Blok prijs 24;Blok bedrag (excl. BTW) 24;Blok BTW% 24;Blok 25;Blok aantal 25;Blok prijs 25;Blok bedrag (excl. BTW) 25;Blok BTW% 25;Blok 26;Blok aantal 26;Blok prijs 26;Blok bedrag (excl. BTW) 26;Blok BTW% 26;Blok 27;Blok aantal 27;Blok prijs 27;Blok bedrag (excl. BTW) 27;Blok BTW% 27;Blok 28;Blok aantal 28;Blok prijs 28;Blok bedrag (excl. BTW) 28;Blok BTW% 28;Blok 29;Blok aantal 29;Blok prijs 29;Blok bedrag (excl. BTW) 29;Blok BTW% 29;Blok 30;Blok aantal 30;Blok prijs 30;Blok bedrag (excl. BTW) 30;Blok BTW% 30;Factuuraanbieder;BTW Bedrijfsnaam;BTW Nummer;KVK nummer
|
||||
--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;6;7;8;9;0'
|
||||
v_seq_of_columns :='0;18;17;5;0;0;6;0;21;0;32;0;0;0;0;26;5;0;0;0';
|
||||
|
||||
-- Variabelelijst
|
||||
-- v_leveranciernr: 1
|
||||
-- v_factuurnr: 2 (VERPLICHT, anders zet Facilitor '-' in factuurnr, en is status van factuur "Incompleet")
|
||||
-- v_factuurdatum: 3
|
||||
-- v_ordernr: 4 (VERPLICHT, anders is status van factuur "Incompleet")
|
||||
-- v_locatie: 5
|
||||
-- v_afleverdatum: 6
|
||||
-- v_omschrijving: 7
|
||||
-- v_aantal: 8
|
||||
-- v_kostprijs: 9 (VERPLICHT, anders is status van factuur "Incompleet")
|
||||
-- v_btw_bedrag: 10 (VERPLICHT, of anders veld 11, anders is status van factuur "Incompleet")
|
||||
-- v_btw: 11 (VERPLICHT, of anders veld 10, anders is status van factuur "Incompleet")
|
||||
-- v_docid: 12
|
||||
-- v_debiteur_nr: 13
|
||||
-- v_opmerking: 14
|
||||
-- v_btw_verlegd: 15 (VERPLICHT, Ja/Nee/<leeg> waarbij leeg gelijk is aan Nee. Andere waarden leidt tot "Incompleet")
|
||||
-- v_kenmerk1: 16
|
||||
-- v_kenmerk1: 17
|
||||
-- v_kenmerk1: 18
|
||||
-- v_kenmerk1: 19
|
||||
-- v_kenmerk1: 20
|
||||
-- v_boekmaand: 21
|
||||
|
||||
fac_import_factuur_body (p_import_key, v_seq_of_columns);
|
||||
|
||||
-- De header regel kan verwijderd worden
|
||||
DELETE fac_imp_factuur f
|
||||
WHERE f.factuurnr = 'Factuurnummer';
|
||||
|
||||
-- Het EAN nummer bevat nog een ' deze moet verwijderd worden
|
||||
UPDATE fac_imp_factuur
|
||||
SET kenmerk2 = SUBSTR (kenmerk2, 2, 18);
|
||||
|
||||
-- Voeg prefix C toe aan het contractnummer van het actieve contract van Liander
|
||||
-- het juiste contract kan bepaald worden op basis van het EAN nummer dat in kenmerkveldje 2 staat
|
||||
UPDATE fac_imp_factuur f
|
||||
SET f.ordernr =
|
||||
(SELECT DECODE (
|
||||
cnt_contract_versie,
|
||||
NULL,
|
||||
'C' || c.cnt_contract_nummer_intern,
|
||||
'C'
|
||||
|| c.cnt_contract_nummer_intern
|
||||
|| '.'
|
||||
|| cnt_contract_versie)
|
||||
AS orderid
|
||||
FROM cnt_kenmerkcontract kc,
|
||||
cnt_kenmerk k,
|
||||
cnt_srtkenmerk sk,
|
||||
cnt_contract c,
|
||||
prs_bedrijf b
|
||||
WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||||
AND kc.cnt_contract_key = c.cnt_contract_key
|
||||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_naam_upper LIKE '%KENTER%'
|
||||
AND UPPER (sk.cnt_srtkenmerk_omschrijving) LIKE '%EAN%'
|
||||
AND cnt_kenmerkcontract_waarde = f.kenmerk2);
|
||||
|
||||
-- de boekmaand is de maand waarover de factuur betrekking heeft
|
||||
-- het kenmerk veld bevat de begindatum van deze maand dus daar extraheren we het jaar en de maand uit
|
||||
UPDATE fac_imp_factuur f
|
||||
SET f.boekmaand = SUBSTR (kenmerk1, 7, 4) || SUBSTR (kenmerk1, 3, 3)
|
||||
WHERE kenmerk1 IS NOT NULL;
|
||||
|
||||
-- per boekmaand moet een factuur geboekt worden
|
||||
-- dus die plakken we voor nu maar even achter het factuurnummer
|
||||
UPDATE fac_imp_factuur f
|
||||
SET F.FACTUURNR = F.FACTUURNR ||'/'|| F.BOEKMAAND
|
||||
WHERE kenmerk1 IS NOT NULL;
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE wzuv_update_fin_fact_kenter (
|
||||
p_import_key IN NUMBER)
|
||||
AS
|
||||
BEGIN
|
||||
-- Standaard FCLT verwerk import facturen
|
||||
fac_update_factuur (p_import_key);
|
||||
|
||||
-- Bij de import hebben we de facturen gesplits naar periode
|
||||
-- Deze splitsing maken we nu weer ongedaan
|
||||
UPDATE fin_factuur f
|
||||
SET f.fin_factuur_nr =
|
||||
SUBSTR (f.fin_factuur_nr, 1, INSTR (f.fin_factuur_nr, '/') - 1)
|
||||
WHERE f.fin_factuur_key IN (SELECT i.fin_factuur_key
|
||||
FROM fac_imp_factuur i
|
||||
WHERE i.fac_import_key = p_import_key);
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
BEGIN
|
||||
DBMS_UTILITY.COMPILE_SCHEMA (USER, FALSE);
|
||||
|
||||
Reference in New Issue
Block a user