STPH#37011: Koppeling Invoicesharing

svn path=/Customer/trunk/; revision=30011
This commit is contained in:
Marcel Bourseau
2016-07-11 12:51:22 +00:00
parent 2c16bcd288
commit 43ed524dc7

View File

@@ -2715,7 +2715,118 @@ AS
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
BEGIN fac.registercustversion('STPH', 9); END;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------ INVOICESHARING.COM INVOICESHARING.COM INVOICESHARING.COM INVOICESHARING.COM INVOICESHARING.COM ------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE stph_import_invoicesharing (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);btw_verlegd(8);document(9);kostensoort(10);
--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;16;7;8;9;0'
v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;9;0;0;0;10;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);
END;
/
CREATE OR REPLACE PROCEDURE stph_postupdate_invoicesharing (p_import_key IN NUMBER)
AS
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
FOR rc IN cfactuurregel_kostensoort
LOOP
BEGIN
-- Dan gaan we op zoek of de kostensoort aangeleverd door InvoiceSharing, wel bestaat in Facilitor, zo nee, dan laten we die onbekende kostensoort op regelnivo LEEG
SELECT MAX(prs_kostensoort_key)
INTO v_prs_kostensoort_key
FROM prs_kostensoort
WHERE prs_kostensoort_upper = UPPER(rc.kenmerk1);
IF v_prs_kostensoort_key IS NOT NULL
THEN
-- We hebben een geldige kostensoort van InvoiceSharing ontvangen, die gaan we zetten.
-- Wel 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;
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 stph_update_invoicesharing (p_import_key IN NUMBER)
AS
BEGIN
-- Standaard FCLT verwerk import facturen
fac_update_factuur (p_import_key);
stph_postupdate_invoicesharing(p_import_key);
END;
/
BEGIN fac.registercustversion('STPH', 10); END;
/
BEGIN adm.systrackscriptId('$Id$', 0); END;