YAXX#83574 Mandaatbedrag wordt tijdelijk overgenomen vanuit het bedrijf. In afwachting van YAXX#84687

svn path=/Customer/trunk/; revision=66949
This commit is contained in:
Arthur Egberink
2024-11-07 13:59:26 +00:00
parent e7c6f2f712
commit bc71f64da5

View File

@@ -47,6 +47,8 @@ AS
PROCEDURE update_verkoopprijs;
PROCEDURE fin_set_approver (p_factuur_key IN NUMBER);
PROCEDURE set_mandaatbedrag (p_opdr_key IN NUMBER);
PROCEDURE add_xml_row (p_bestand IN VARCHAR2,
p_regel IN VARCHAR2);
@@ -392,14 +394,9 @@ AS
WHERE mld_opdr_key = p_opdr_key;
v_opslag := COALESCE(flx.getflex ('OPD', v_opslag_kenmerk_key, p_opdr_key),0);
IF v_opslag = 0
THEN
v_verkoopprijs := NULL;
ELSE
v_verkoopprijs := v_opdr_kosten * ((100 + v_opslag) /100);
END IF;
v_verkoopprijs := v_opdr_kosten * ((100 + v_opslag) /100);
MLD.upsertopdrachtkenmerk (v_verkoop_kenmerk_key, p_opdr_key, v_verkoopprijs);
EXCEPTION WHEN NO_DATA_FOUND
THEN
-- waarschijnlijk een opdrachttype zonder verkoopprijs en/of opslagpercentage
@@ -594,6 +591,37 @@ AS
fac.writelog ('VBXX.fin_set_approver', 'E', v_errormsg || ' (' || p_factuur_key || ')' , v_errorhint);
END;
PROCEDURE set_mandaatbedrag (p_opdr_key IN NUMBER)
AS
v_mandaatbedrag NUMBER;
v_opdr_kosten NUMBER(10,2);
BEGIN
SELECT prs_kenmerklink_waarde, o.mld_opdr_kosten
INTO v_mandaatbedrag, v_opdr_kosten
FROM prs_kenmerklink kl, prs_kenmerk k, prs_bedrijf b, mld_opdr o
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND b.prs_bedrijf_key = kl.prs_link_key
AND kl.prs_kenmerk_key = k.prs_kenmerk_key
AND k.prs_kenmerk_code = 'MANDAATBEDRAG'
AND o.mld_typeopdr_key = 22 -- Mandaatopdracht
AND o.mld_opdr_key = p_opdr_key;
IF v_opdr_kosten IS NULL
THEN
UPDATE mld_opdr
SET mld_opdr_kosten = v_mandaatbedrag
WHERE mld_opdr_key = p_opdr_key;
END IF;
EXCEPTION WHEN NO_DATA_FOUND
THEN
-- hej, dan is er geen mandaatbedrag gedefinieerd bij het bedrijf en hoeven we dus ook niets te doen.
RETURN;
END;
PROCEDURE add_xml_row (
p_bestand IN VARCHAR2,
p_regel IN VARCHAR2)
@@ -3673,6 +3701,12 @@ AS
k.prs_kostensoort_opmerking,
k.prs_kostensoort_key,
g.alg_gebouw_code,
(SELECT alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk aogk, alg_kenmerk gk
WHERE alg_onrgoed_key = g.alg_gebouw_key
AND aogk.alg_kenmerk_key = gk.alg_kenmerk_key
AND gk.alg_kenmerk_code = 'EXACT_CODE')
exact_code_gebouw,
(SELECT fac.safe_to_number (alg_onrgoedkenmerk_waarde)
FROM alg_onrgoedkenmerk aogk, alg_kenmerk k
WHERE aogk.alg_kenmerk_key = k.alg_kenmerk_key
@@ -3839,7 +3873,8 @@ CREATE OR REPLACE VIEW vbxx_v_bron_export_exact_xml
dagboek,
oms_kop, -- omschrijving in de kopregel
fin_factuur_debiteur_nr, -- crediteur debiteurnummer
alg_district_key
alg_district_key,
fin_factuur_boekmaand
)
AS
SELECT fin_factuur_key,
@@ -3859,7 +3894,7 @@ AS
|| opdracht_id
oms_regel,
prs_kostensoort_refcode reknr,
alg_gebouw_code kstplcode,
exact_code_gebouw kstplcode,
COALESCE(afw_kstdrcode,
CASE WHEN typefactuur = 'A' THEN '00'
WHEN typefactuur = 'B' THEN '10'
@@ -3872,7 +3907,8 @@ AS
SUBSTR(UPPER(b.prs_bedrijf_naam),1,3) || ',' ||
SUBSTR(fin_factuur_boekmaand,6,2) oms_kop,
fin_factuur_debiteur_nr,
alg_district_key
alg_district_key,
fin_factuur_boekmaand
FROM ( SELECT g.fin_factuur_key,
opdracht_id,
fin_factuur_datum,
@@ -3890,7 +3926,7 @@ AS
prs_kostensoort_opmerking,
mld_opdr_key,
cnt_contract_key,
alg_gebouw_code,
exact_code_gebouw,
fin_factuur_boekmaand,
g.dagboek,
g.afw_dagboek,
@@ -3915,7 +3951,7 @@ AS
prs_kostensoort_opmerking,
mld_opdr_key,
cnt_contract_key,
alg_gebouw_code,
exact_code_gebouw,
fin_factuur_boekmaand,
g.dagboek,
g.afw_dagboek,
@@ -3957,7 +3993,7 @@ AS
v_boekstuknummer NUMBER;
v_crdnr PRS_BEDRIJF.PRS_LEVERANCIER_NR%TYPE;
v_factuur_nr FIN_FACTUUR.FIN_FACTUUR_NR%TYPE;
v_boekmaand DATE;
--v_boekmaand DATE;
v_bijlagen_key NUMBER;
v_bijlagen_filename FAC_BIJLAGEN.FAC_BIJLAGEN_FILENAME%TYPE;
v_guid VARCHAR2(50);
@@ -3982,12 +4018,12 @@ BEGIN
WHERE fac_rapport_node = v_bestand;
-- Bepaling boekmaand
IF TO_NUMBER(TO_CHAR(SYSDATE, 'DD')) < 11
THEN
v_boekmaand := TRUNC(ADD_MONTHS(SYSDATE,-1));
ELSE
v_boekmaand := TRUNC(SYSDATE);
END IF;
--IF TO_NUMBER(TO_CHAR(SYSDATE, 'DD')) < 11
--THEN
-- v_boekmaand := TRUNC(ADD_MONTHS(SYSDATE,-1));
--ELSE
-- v_boekmaand := TRUNC(SYSDATE);
--END IF;
-- Verwijder het kenmerk boekstuknummer van de facturen die niet op verwerkt staan
DELETE fin_kenmerkfactuur kf
@@ -4063,7 +4099,7 @@ BEGIN
vbxx.add_xml_row (v_bestand, '<GLEntry status="E" entry="' || xml.char_to_html(v_boekstuknummer) || '">');
vbxx.add_xml_element (v_bestand, 'Description', rec.oms_kop);
vbxx.add_xml_element (v_bestand, 'Date', rec.datum);
vbxx.add_xml_element (v_bestand, 'DocumentDate', TO_CHAR(SYSDATE, 'YYYY-MM-DD') );
vbxx.add_xml_element (v_bestand, 'DocumentDate', rec.datum );
vbxx.add_xml_row (v_bestand, '<Journal type="I" code="' || p_dagboek || '"/>');
v_sub_count := 1;
FOR rec1 IN c_sub (v_crdnr, v_factuur_nr)
@@ -4074,9 +4110,9 @@ BEGIN
-- De boekmaand wordt mee gegeven in de koppeling naar Exact. Maar voor de onderlegger
-- moet de boekmaand ook goed in Facilitor staan.
UPDATE fin_factuur
SET fin_factuur_boekmaand = TO_CHAR(v_boekmaand, 'YYYYMM')
WHERE fin_factuur_key = rec1.fin_factuur_key;
--UPDATE fin_factuur
-- SET fin_factuur_boekmaand = TO_CHAR(v_boekmaand, 'YYYYMM')
-- WHERE fin_factuur_key = rec1.fin_factuur_key;
vbxx.add_xml_row (v_bestand, '<FinEntryLine number="' || v_sub_count || '" subtype="T" type="N">');
vbxx.add_xml_element (v_bestand, 'Date', rec1.datum);
@@ -4099,7 +4135,7 @@ BEGIN
vbxx.add_xml_row (v_bestand, '</Payment>');
vbxx.add_xml_row (v_bestand, '<FinReferences>');
vbxx.add_xml_element (v_bestand, 'YourRef', rec.factuur_nr || ' ' || rec1.fin_factuur_debiteur_nr);
vbxx.add_xml_element (v_bestand, 'DocumentDate', TO_CHAR(SYSDATE, 'YYYY-MM-DD') );
vbxx.add_xml_element (v_bestand, 'DocumentDate', rec1.fin_factuur_boekmaand || '-01');
vbxx.add_xml_row (v_bestand, '</FinReferences>');
-- Voeg de bijlage toe