STPH#37011: Koppeling Invoicesharing
svn path=/Customer/trunk/; revision=30011
This commit is contained in:
113
STPH/stph.sql
113
STPH/stph.sql
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user