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.
|
||||
-- De enige uitzondering is een regel waarvan nu de einddatum gezet is en die in de tabel
|
||||
-- nog zonder einddatum staat.
|
||||
-- Regels verwijderen uit de import tabel kan door alle velden gelijk te hebben en de opslag
|
||||
-- op null (leeg) te zetten.
|
||||
-- Regels verwijderen uit de import tabel kan door ze niet meer op te nemen in de sheet. De
|
||||
-- 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)
|
||||
AS
|
||||
@@ -1556,6 +1557,9 @@ BEGIN
|
||||
THEN
|
||||
-- Sla de kopregel over.
|
||||
header_found := TRUE;
|
||||
UPDATE yask_imp_opslag
|
||||
SET imp_opslag_verwijder = SYSDATE
|
||||
WHERE imp_opslag_verwijder IS NULL;
|
||||
ELSIF (header_found)
|
||||
THEN
|
||||
-- voeg nieuwe records toe
|
||||
@@ -1639,107 +1643,25 @@ BEGIN
|
||||
v_errorhint := 'Controleer vervaldatum';
|
||||
v_eind := TO_DATE (v_eind_txt, 'dd-mm-yyyy');
|
||||
|
||||
v_null_date := TO_DATE ('1900-01-01', 'yyyy-mm-dd');
|
||||
|
||||
-- ken ik de combinatie van locatie, vakgroeptype, vakgroep, nen code, ingangsdatum en vervaldatum al?
|
||||
BEGIN
|
||||
v_errorhint := 'Zoek record op zelfde 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 (ingangsdatum, v_null_date) =
|
||||
COALESCE (v_begin, v_null_date)
|
||||
AND COALESCE (einddatum, v_null_date) =
|
||||
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;
|
||||
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 IF;
|
||||
|
||||
COMMIT;
|
||||
@@ -1752,7 +1674,7 @@ BEGIN
|
||||
p_import_key,
|
||||
'E',
|
||||
'Geen geldige header aangetroffen',
|
||||
'Bestand is geen geldig ruimtesoort importbestand.');
|
||||
'Bestand is geen geldig opslag importbestand.');
|
||||
END IF;
|
||||
EXCEPTION
|
||||
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_element (v_bestand, 'Date', rec1.datum);
|
||||
yask.add_xml_row (v_bestand, '<FinPeriod>');
|
||||
yask.add_xml_element (v_bestand, 'DateStart', TO_CHAR(v_boekmaand, 'YYYY-MM-DD') );
|
||||
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, 'FinPeriod', TO_CHAR(v_boekmaand, 'MM') );
|
||||
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_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
|
||||
--
|
||||
@@ -2626,6 +2586,7 @@ END yask_update_contactpersoon;
|
||||
/
|
||||
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user