YASK#64970 -- Afronding financiele koppeling Levanto
svn path=/Customer/trunk/; revision=51024
This commit is contained in:
175
YASK/yask.sql
175
YASK/yask.sql
@@ -1475,8 +1475,9 @@ END;
|
|||||||
-- Een nieuwe import voegt regels toe als de combinatie van velden niet gevonden kan worden.
|
-- Een nieuwe import voegt regels toe als de combinatie van velden niet gevonden kan worden.
|
||||||
-- De enige uitzondering is een regel waarvan nu de einddatum gezet is en die in de tabel
|
-- De enige uitzondering is een regel waarvan nu de einddatum gezet is en die in de tabel
|
||||||
-- nog zonder einddatum staat.
|
-- nog zonder einddatum staat.
|
||||||
-- Regels verwijderen uit de import tabel kan door alle velden gelijk te hebben en de opslag
|
-- Regels verwijderen uit de import tabel kan door ze niet meer op te nemen in de sheet. De
|
||||||
-- op null (leeg) te zetten.
|
-- tabel wordt altijd eerst geleegd door alles op verwijderd te zetten. Hiermee kun je altijd nog een
|
||||||
|
-- oude versie terugvinden.
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE yask_import_opslag (p_import_key IN NUMBER)
|
CREATE OR REPLACE PROCEDURE yask_import_opslag (p_import_key IN NUMBER)
|
||||||
AS
|
AS
|
||||||
@@ -1556,6 +1557,9 @@ BEGIN
|
|||||||
THEN
|
THEN
|
||||||
-- Sla de kopregel over.
|
-- Sla de kopregel over.
|
||||||
header_found := TRUE;
|
header_found := TRUE;
|
||||||
|
UPDATE yask_imp_opslag
|
||||||
|
SET imp_opslag_verwijder = SYSDATE
|
||||||
|
WHERE imp_opslag_verwijder IS NULL;
|
||||||
ELSIF (header_found)
|
ELSIF (header_found)
|
||||||
THEN
|
THEN
|
||||||
-- voeg nieuwe records toe
|
-- voeg nieuwe records toe
|
||||||
@@ -1639,107 +1643,25 @@ BEGIN
|
|||||||
v_errorhint := 'Controleer vervaldatum';
|
v_errorhint := 'Controleer vervaldatum';
|
||||||
v_eind := TO_DATE (v_eind_txt, 'dd-mm-yyyy');
|
v_eind := TO_DATE (v_eind_txt, 'dd-mm-yyyy');
|
||||||
|
|
||||||
v_null_date := TO_DATE ('1900-01-01', 'yyyy-mm-dd');
|
INSERT INTO yask_imp_opslag (
|
||||||
|
imp_opslag_key,
|
||||||
-- ken ik de combinatie van locatie, vakgroeptype, vakgroep, nen code, ingangsdatum en vervaldatum al?
|
alg_locatie_key,
|
||||||
BEGIN
|
ins_srtdiscipline_key,
|
||||||
v_errorhint := 'Zoek record op zelfde einddatum';
|
ins_discipline_key,
|
||||||
|
prs_kostensoort_key,
|
||||||
SELECT imp_opslag_key
|
opslag,
|
||||||
INTO v_imp_opslag_key
|
ingangsdatum,
|
||||||
FROM yask_imp_opslag
|
einddatum,
|
||||||
WHERE alg_locatie_key = v_locatie_key
|
imp_opslag_aanmaak)
|
||||||
AND COALESCE (ins_srtdiscipline_key, -1) =
|
VALUES (v_imp_opslag_key + 1,
|
||||||
COALESCE (v_srtdiscipline_key, -1)
|
v_locatie_key,
|
||||||
AND COALESCE (ins_discipline_key, -1) =
|
v_srtdiscipline_key,
|
||||||
COALESCE (v_discipline_key, -1)
|
v_discipline_key,
|
||||||
AND COALESCE (prs_kostensoort_key, -1) =
|
v_kostensoort_key,
|
||||||
COALESCE (v_kostensoort_key, -1)
|
v_opslag,
|
||||||
AND COALESCE (ingangsdatum, v_null_date) =
|
v_begin,
|
||||||
COALESCE (v_begin, v_null_date)
|
v_eind,
|
||||||
AND COALESCE (einddatum, v_null_date) =
|
SYSDATE);
|
||||||
COALESCE (v_eind, v_null_date)
|
|
||||||
AND imp_opslag_verwijder IS NOT NULL;
|
|
||||||
|
|
||||||
-- Ik heb een exacte match gevonden. Als de nieuwe opslag null is dan verwijderen we het record
|
|
||||||
-- In de andere gevallen passen we de opslag aan.
|
|
||||||
IF v_opslag IS NULL
|
|
||||||
THEN
|
|
||||||
UPDATE yask_imp_opslag
|
|
||||||
SET imp_opslag_verwijder = SYSDATE
|
|
||||||
WHERE imp_opslag_key = v_imp_opslag_key;
|
|
||||||
ELSE
|
|
||||||
UPDATE yask_imp_opslag
|
|
||||||
SET opslag = v_opslag
|
|
||||||
WHERE imp_opslag_key = v_imp_opslag_key;
|
|
||||||
END IF;
|
|
||||||
EXCEPTION
|
|
||||||
WHEN NO_DATA_FOUND
|
|
||||||
THEN
|
|
||||||
BEGIN
|
|
||||||
-- Nu gaan we kijken of er een record is die volledig matcht maar
|
|
||||||
-- geen einddatum heeft. Hierbij gaan we dan de einddatum zetten.
|
|
||||||
v_errorhint :=
|
|
||||||
'Zoek record op volledige match zonder einddatum';
|
|
||||||
|
|
||||||
SELECT imp_opslag_key
|
|
||||||
INTO v_imp_opslag_key
|
|
||||||
FROM yask_imp_opslag
|
|
||||||
WHERE alg_locatie_key = v_locatie_key
|
|
||||||
AND COALESCE (ins_srtdiscipline_key, -1) =
|
|
||||||
COALESCE (v_srtdiscipline_key, -1)
|
|
||||||
AND COALESCE (ins_discipline_key, -1) =
|
|
||||||
COALESCE (v_discipline_key, -1)
|
|
||||||
AND COALESCE (prs_kostensoort_key, -1) =
|
|
||||||
COALESCE (v_kostensoort_key, -1)
|
|
||||||
AND COALESCE (opslag, -1) =
|
|
||||||
COALESCE (v_opslag, -1)
|
|
||||||
AND COALESCE (ingangsdatum, v_null_date) =
|
|
||||||
COALESCE (v_begin, v_null_date)
|
|
||||||
AND einddatum IS NULL
|
|
||||||
AND v_eind IS NOT NULL
|
|
||||||
AND imp_opslag_verwijder IS NOT NULL;
|
|
||||||
|
|
||||||
UPDATE yask_imp_opslag
|
|
||||||
SET einddatum = v_eind
|
|
||||||
WHERE imp_opslag_key = v_imp_opslag_key;
|
|
||||||
EXCEPTION
|
|
||||||
WHEN NO_DATA_FOUND
|
|
||||||
THEN
|
|
||||||
BEGIN
|
|
||||||
-- Nu gaan we een nieuw record toevoegen
|
|
||||||
v_errorhint :=
|
|
||||||
'Zoek de hoogste key in de importtabel';
|
|
||||||
|
|
||||||
SELECT COALESCE (MAX (imp_opslag_key), 0)
|
|
||||||
INTO v_imp_opslag_key
|
|
||||||
FROM yask_imp_opslag;
|
|
||||||
|
|
||||||
v_errorhint :=
|
|
||||||
'Voeg een regel toe aan de opslag tabel';
|
|
||||||
|
|
||||||
INSERT INTO yask_imp_opslag (
|
|
||||||
imp_opslag_key,
|
|
||||||
alg_locatie_key,
|
|
||||||
ins_srtdiscipline_key,
|
|
||||||
ins_discipline_key,
|
|
||||||
prs_kostensoort_key,
|
|
||||||
opslag,
|
|
||||||
ingangsdatum,
|
|
||||||
einddatum,
|
|
||||||
imp_opslag_aanmaak)
|
|
||||||
VALUES (v_imp_opslag_key + 1,
|
|
||||||
v_locatie_key,
|
|
||||||
v_srtdiscipline_key,
|
|
||||||
v_discipline_key,
|
|
||||||
v_kostensoort_key,
|
|
||||||
v_opslag,
|
|
||||||
v_begin,
|
|
||||||
v_eind,
|
|
||||||
SYSDATE);
|
|
||||||
END;
|
|
||||||
END;
|
|
||||||
END;
|
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
@@ -1752,7 +1674,7 @@ BEGIN
|
|||||||
p_import_key,
|
p_import_key,
|
||||||
'E',
|
'E',
|
||||||
'Geen geldige header aangetroffen',
|
'Geen geldige header aangetroffen',
|
||||||
'Bestand is geen geldig ruimtesoort importbestand.');
|
'Bestand is geen geldig opslag importbestand.');
|
||||||
END IF;
|
END IF;
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
WHEN OTHERS
|
WHEN OTHERS
|
||||||
@@ -2219,9 +2141,8 @@ BEGIN
|
|||||||
|
|
||||||
yask.add_xml_row (v_bestand, '<FinEntryLine number="' || v_sub_count || '" subtype="T" type="N">');
|
yask.add_xml_row (v_bestand, '<FinEntryLine number="' || v_sub_count || '" subtype="T" type="N">');
|
||||||
yask.add_xml_element (v_bestand, 'Date', rec1.datum);
|
yask.add_xml_element (v_bestand, 'Date', rec1.datum);
|
||||||
yask.add_xml_row (v_bestand, '<FinPeriod>');
|
yask.add_xml_element (v_bestand, 'FinYear', TO_CHAR(v_boekmaand, 'YYYY') );
|
||||||
yask.add_xml_element (v_bestand, 'DateStart', TO_CHAR(v_boekmaand, 'YYYY-MM-DD') );
|
yask.add_xml_element (v_bestand, 'FinPeriod', TO_CHAR(v_boekmaand, 'MM') );
|
||||||
yask.add_xml_row (v_bestand, '</FinPeriod>');
|
|
||||||
yask.add_xml_row (v_bestand, '<GLAccount code="' || xml.char_to_html(rec1.reknr) || '"/>');
|
yask.add_xml_row (v_bestand, '<GLAccount code="' || xml.char_to_html(rec1.reknr) || '"/>');
|
||||||
yask.add_xml_element (v_bestand, 'Description', rec1.oms_regel);
|
yask.add_xml_element (v_bestand, 'Description', rec1.oms_regel);
|
||||||
yask.add_xml_row (v_bestand, '<Costcenter code="' || xml.char_to_html(rec1.kstplcode) || '"/>');
|
yask.add_xml_row (v_bestand, '<Costcenter code="' || xml.char_to_html(rec1.kstplcode) || '"/>');
|
||||||
@@ -2426,6 +2347,45 @@ END;
|
|||||||
/
|
/
|
||||||
|
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW yask_v_rap_levanto_fact_spec
|
||||||
|
AS
|
||||||
|
SELECT fin_factuur_nr,
|
||||||
|
f.fin_factuur_key,
|
||||||
|
f.fin_factuur_boekmaand,
|
||||||
|
m.mld_melding_externnr,
|
||||||
|
FLX.getflex ('MLD',
|
||||||
|
227,
|
||||||
|
m.mld_melding_key,
|
||||||
|
'M') td_cat,
|
||||||
|
FLX.getflex ('MLD',
|
||||||
|
228,
|
||||||
|
m.mld_melding_key,
|
||||||
|
'M') td_subcat,
|
||||||
|
FLX.getflex ('MLD',
|
||||||
|
229,
|
||||||
|
m.mld_melding_key,
|
||||||
|
'M') kostenplaats,
|
||||||
|
g.alg_gebouw_upper gebouwcode,
|
||||||
|
fr.fin_factuurregel_totaal,
|
||||||
|
fr.fin_factuurregel_btw,
|
||||||
|
b.fin_btwtabelwaarde_perc,
|
||||||
|
fs.fin_factuur_statuses_omschr
|
||||||
|
FROM fin_factuur f,
|
||||||
|
fin_factuurregel fr,
|
||||||
|
mld_opdr o,
|
||||||
|
mld_melding m,
|
||||||
|
fin_btwtabelwaarde b,
|
||||||
|
alg_v_allonroerendgoed aog,
|
||||||
|
alg_gebouw g,
|
||||||
|
fin_factuur_statuses fs
|
||||||
|
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||||
|
AND f.mld_opdr_key = o.mld_opdr_key
|
||||||
|
AND o.mld_melding_key = m.mld_melding_key
|
||||||
|
AND fr.fin_btwtabelwaarde_key = b.fin_btwtabelwaarde_key
|
||||||
|
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
|
||||||
|
AND aog.alg_gebouw_key = g.alg_gebouw_key
|
||||||
|
AND f.fin_factuur_statuses_key = fs.fin_factuur_statuses_key;
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
-- Importfunctie om contactpersonen bij bedrijven toe te voegen aan FACILITOR
|
-- Importfunctie om contactpersonen bij bedrijven toe te voegen aan FACILITOR
|
||||||
--
|
--
|
||||||
@@ -2626,6 +2586,7 @@ END yask_update_contactpersoon;
|
|||||||
/
|
/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
------ payload end ------
|
------ payload end ------
|
||||||
|
|
||||||
SET DEFINE OFF
|
SET DEFINE OFF
|
||||||
|
|||||||
Reference in New Issue
Block a user