FCLT#62265 -- Opruimen FTP 'Imports' - opruimen fin_factuur_delixl
svn path=/Customer/trunk/; revision=50863
This commit is contained in:
170
VGLD/vgld.sql
170
VGLD/vgld.sql
@@ -2037,176 +2037,6 @@ SELECT (CASE
|
||||
AND rrg.res_discipline_key = rd.ins_discipline_key;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- DELIXL E-INVOICING -- DELIXL E-INVOICING -- DELIXL E-INVOICING -- DELIXL E-INVOICING -- DELIXL E-INVOICING -- DELIXL E-INVOICING -- DELIXL E-INVOICING --
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vgld_post_fin_factuur_delixl (p_import_key IN NUMBER)
|
||||
AS
|
||||
mb VARCHAR(50);
|
||||
BEGIN
|
||||
mb := 'Dit is een dummy';
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vgld_import_fin_factuur_delixl (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR(50);
|
||||
BEGIN
|
||||
|
||||
--In de XSL: factuurnr(1);factuurdatum(2);opdrachtnr(3);omschrijving(4);bedrag(5);btwperc(6);btwbedrag(7);document(8);debiteurnr(9);opmerking(10);btw_verlegd(11);betaalkenmerk(12)
|
||||
--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3;14;15;16;7;8;9;0'
|
||||
v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;8;0;0;0;9;0;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);
|
||||
vgld_post_fin_factuur_delixl (p_import_key);
|
||||
END;
|
||||
/
|
||||
|
||||
--
|
||||
-- CUST: post processing van:
|
||||
-- 1) Factuurregelnummers conform de bestelopdracht-regelnummers (want die krijgen we van DeliXML weer mee terug, en da's handig om te vergelijken indien dat nodig mocht zijn)
|
||||
-- Deze had wat mij betreft ook in standaard fac_update_factuur gemogen, echter daar ontbreekt de sortering daarop, en is de sortering DESC (had ASC gemogen).
|
||||
-- 2) voor verwerking van kenmerk 'kostensoort' (grootboekrekening)
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vgld_post_update_factuur_deli (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_fac_usrtab_key fac_usrtab.fac_usrtab_key%TYPE;
|
||||
v_fac_usrdata_omschr fac_usrdata.fac_usrdata_omschr%TYPE;
|
||||
v_prs_kostensoort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
v_fin_kostensoort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
|
||||
CURSOR cfactuurregel_kostensoort
|
||||
IS
|
||||
SELECT DISTINCT fin_factuur_key, factuurnr, fin_factuurregel_key, kenmerk1, fac_imp_file_index
|
||||
FROM fac_imp_factuur
|
||||
WHERE fac_import_key = p_import_key;
|
||||
BEGIN
|
||||
|
||||
-- In productie is de key van eigen tabel '$DeliXL' 101
|
||||
v_fac_usrtab_key := 101;
|
||||
|
||||
|
||||
-- De betaalreferentie wordt in kenmerk 1 van fac_imp_factuur gezet, dus alle fac_imp_factuur langsgaan en verwerken
|
||||
|
||||
FOR rc IN cfactuurregel_kostensoort
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE fin_factuurregel
|
||||
SET fin_factuurregel_nr = rc.fac_imp_file_index
|
||||
WHERE fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
|
||||
-- Kostensoorten van DeliXL (KS-D) als volgt omgezet naar kostensoort van Vogellanden (KS-V):
|
||||
-- Stap a) uit VGLD#28993, via eigen tabel $DeliXL
|
||||
|
||||
SELECT MAX(ud.fac_usrdata_omschr)
|
||||
INTO v_fac_usrdata_omschr
|
||||
FROM fac_usrdata ud
|
||||
WHERE fac_usrtab_key = v_fac_usrtab_key
|
||||
AND ud.fac_usrdata_verwijder IS NULL
|
||||
AND rc.kenmerk1 LIKE ud.fac_usrdata_code;
|
||||
|
||||
IF v_fac_usrdata_omschr IS NULL
|
||||
THEN
|
||||
-- We hebben nog GEEN match gevonden in de eigen tabel '$DeliXL', verder op zoek naar de kostensoort:
|
||||
-- Stap b) uit VGLD#28993, voorloopnul van KS-D erachter gezet (b.v. 0123 wordt 1230)
|
||||
|
||||
IF SUBSTR(rc.kenmerk1,1,1) = '0'
|
||||
THEN
|
||||
-- 1e cijfer van kostensoort Deli is een 0, dus voorloopnul erachter zetten.
|
||||
v_fac_usrdata_omschr := SUBSTR(rc.kenmerk1,2) || SUBSTR(rc.kenmerk1,1,1);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF v_fac_usrdata_omschr IS NOT NULL
|
||||
THEN
|
||||
-- Dan gaan we op zoek of de kostensoort volgens stap a) of stap b) wel bestaat.
|
||||
SELECT MAX(prs_kostensoort_key)
|
||||
INTO v_prs_kostensoort_key
|
||||
FROM prs_kostensoort
|
||||
WHERE prs_kostensoort_upper = UPPER(v_fac_usrdata_omschr);
|
||||
|
||||
IF v_prs_kostensoort_key IS NOT NULL
|
||||
THEN
|
||||
-- We hebben een geldige vertaling van kostensoort van Deli -> kostensoort Vogellanden.
|
||||
-- Nu nog ff checken of deze kostensoort al bij factuur staat, want dan hoeven we dit op factuurregel niet te zetten (dan neemt die de kostensoort van factuur 'over')
|
||||
|
||||
SELECT COALESCE(f.prs_kostensoort_key,-1)
|
||||
INTO v_fin_kostensoort_key
|
||||
FROM fin_factuur f, fin_factuurregel fr
|
||||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND fr.fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
|
||||
IF v_fin_kostensoort_key <> v_prs_kostensoort_key
|
||||
THEN
|
||||
-- De kostensoort is NIET dezelfde als bij factuur, dus we gaan hem op factuurregel nivo zetten.
|
||||
UPDATE fin_factuurregel
|
||||
SET prs_kostensoort_key = v_prs_kostensoort_key
|
||||
WHERE fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
'Van factuur met key ' || rc.fin_factuur_key || ' is de kostensoort niet verwerkt (regel ' || rc.fac_imp_file_index || ')',
|
||||
'Factuurnr:' || rc.factuurnr || ' / Kostensoort: ' || rc.kenmerk1
|
||||
);
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vgld_update_fin_factuur_delixl (p_import_key IN NUMBER)
|
||||
AS
|
||||
BEGIN
|
||||
-- Standaard FCLT verwerk import facturen
|
||||
|
||||
fac_update_factuur (p_import_key);
|
||||
-- CUST: post processing van:
|
||||
-- 1) Factuurregelnummers conform de bestelopdracht-regelnummers (want die krijgen we van DeliXML weer mee terug, en da's handig om te vergelijken indien dat nodig mocht zijn)
|
||||
-- 2) voor verwerking van kenmerk 'kostensoort' (grootboekrekening)
|
||||
vgld_post_update_factuur_deli(p_import_key);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user