YASK#78785 -- RFC Wageningen en Amersfoort aanpassingen op leverancier in opslag percentages

svn path=/Customer/trunk/; revision=61502
This commit is contained in:
Arthur Egberink
2023-08-18 14:50:11 +00:00
parent 6f347a632a
commit 00e1fc0426

View File

@@ -104,6 +104,7 @@ AS
v_srtdiscipline_key INS_SRTDISCIPLINE.INS_SRTDISCIPLINE_KEY%TYPE;
v_discipline_key INS_TAB_DISCIPLINE.INS_DISCIPLINE_KEY%TYPE;
v_kostensoort_key PRS_KOSTENSOORT.PRS_KOSTENSOORT_KEY%TYPE;
v_bedrijf_key MLD_OPDR.MLD_UITVOERENDE_KEYS%TYPE;
v_melding_datum MLD_MELDING.MLD_MELDING_DATUM%TYPE;
BEGIN
@@ -131,8 +132,9 @@ AS
sd.ins_srtdiscipline_key,
d.ins_discipline_key,
COALESCE(o.prs_kostensoort_key, std.prs_kostensoort_key),
mld_melding_datum
INTO v_locatie_key, v_srtdiscipline_key, v_discipline_key, v_kostensoort_key, v_melding_datum
mld_melding_datum,
mld_uitvoerende_keys
INTO v_locatie_key, v_srtdiscipline_key, v_discipline_key, v_kostensoort_key, v_melding_datum, v_bedrijf_key
FROM mld_melding m,
mld_opdr o,
mld_stdmelding std,
@@ -144,6 +146,20 @@ AS
AND o.mld_melding_key = m.mld_melding_key
AND o.mld_opdr_key = p_opdr_key;
-- Controleer of het leveranciersnummer is ingevuld in de opslag tabel. Dan
-- geldt deze als eerste.
SELECT MAX(opslag)
INTO v_opslag
FROM yask_imp_opslag
WHERE alg_locatie_key = v_locatie_key
AND prs_bedrijf_key = v_bedrijf_key
AND ( (ingangsdatum IS NULL AND einddatum IS NULL)
OR (ingangsdatum IS NOT NULL AND einddatum IS NULL AND v_melding_datum >= ingangsdatum)
OR (ingangsdatum IS NULL AND einddatum IS NOT NULL AND v_melding_datum < einddatum+1)
OR (ingangsdatum IS NOT NULL AND einddatum IS NOT NULL AND v_melding_datum BETWEEN ingangsdatum AND einddatum+1)
)
AND imp_opslag_verwijder IS NULL;
-- Controleer of de NEN code is ingevuld in de opslag tabel. Dan
-- geldt deze altijd.
SELECT MAX(opslag)
@@ -1884,10 +1900,12 @@ AS
v_discipline_omschrijving VARCHAR2 (100);
v_kostensoort_refcode VARCHAR2 (100);
v_opslag_txt VARCHAR2 (100);
v_leverancier_nr VARCHAR2 (100);
v_locatie_key NUMBER (10);
v_srtdiscipline_key NUMBER (10);
v_discipline_key NUMBER (10);
v_kostensoort_key NUMBER (10);
v_bedrijf_key NUMBER (10);
v_opslag NUMBER (8, 4);
v_begin DATE;
v_eind DATE;
@@ -1920,6 +1938,7 @@ BEGIN
fac.imp_getfield (v_newline, v_fielddelimitor, v_srtdiscipline_omschrijving);
fac.imp_getfield (v_newline, v_fielddelimitor, v_discipline_omschrijving);
fac.imp_getfield (v_newline, v_fielddelimitor, v_kostensoort_refcode);
fac.imp_getfield (v_newline, v_fielddelimitor, v_leverancier_nr);
fac.imp_getfield (v_newline, v_fielddelimitor, v_opslag_txt);
fac.imp_getfield (v_newline, v_fielddelimitor, v_begin_txt);
fac.imp_getfield (v_newline, v_fielddelimitor, v_eind_txt);
@@ -1930,6 +1949,7 @@ BEGIN
AND (UPPER (v_srtdiscipline_omschrijving) = 'VAKGROEPTYPE' OR UPPER (v_srtdiscipline_omschrijving) = 'INS_SRTDISCIPLINE_OMSCHRIJVING')
AND (UPPER (v_discipline_omschrijving) = 'VAKGROEP' OR UPPER (v_discipline_omschrijving) = 'INS_DISCIPLINE_OMSCHRIJVING')
AND (UPPER (v_kostensoort_refcode) = 'NEN CODE' OR UPPER (v_kostensoort_refcode) = 'PRS_KOSTENSOORT_REFCODE')
AND (UPPER (v_leverancier_nr) = 'LEVERANCIERNUMMER' OR UPPER (v_leverancier_nr) = 'PRS_LEVERANCIER_NR')
AND UPPER (v_opslag_txt) = 'OPSLAG'
AND UPPER (v_begin_txt) = 'INGANGSDATUM'
AND (UPPER (v_eind_txt) = 'VERVALDATUM' OR UPPER (v_eind_txt) = 'EINDDATUM')
@@ -1952,6 +1972,8 @@ BEGIN
|| ' | '
|| v_kostensoort_refcode
|| ' | '
|| v_leverancier_nr
|| ' | '
|| v_opslag_txt
|| ' | '
|| v_begin_txt
@@ -2012,6 +2034,21 @@ BEGIN
v_kostensoort_key := NULL;
END;
BEGIN
v_errorhint := 'Controleer leverancier';
SELECT prs_bedrijf_key
INTO v_bedrijf_key
FROM prs_bedrijf
WHERE prs_bedrijf_verwijder IS NULL
AND UPPER (prs_leverancier_nr) =
UPPER (TRIM (v_leverancier_nr));
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_discipline_key := NULL;
END;
v_errorhint := 'Controleer opslag';
v_opslag_txt := REPLACE (v_opslag_txt, ',', '.');
v_opslag := TO_NUMBER (v_opslag_txt);
@@ -2028,6 +2065,7 @@ BEGIN
ins_srtdiscipline_key,
ins_discipline_key,
prs_kostensoort_key,
prs_bedrijf_key,
opslag,
ingangsdatum,
einddatum,
@@ -2037,6 +2075,7 @@ BEGIN
v_srtdiscipline_key,
v_discipline_key,
v_kostensoort_key,
v_bedrijf_key,
v_opslag,
v_begin,
v_eind,
@@ -2108,6 +2147,7 @@ AS
sd.ins_srtdiscipline_omschrijving,
d.ins_discipline_omschrijving,
prs_kostensoort_refcode,
prs_leverancier_nr,
o.opslag,
o.ingangsdatum,
o.einddatum,
@@ -2117,11 +2157,13 @@ AS
alg_locatie l,
ins_srtdiscipline sd,
mld_discipline d,
prs_kostensoort k
prs_kostensoort k,
prs_bedrijf b
WHERE o.alg_locatie_key = l.alg_locatie_key(+)
AND o.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND o.ins_discipline_key = d.ins_discipline_key(+)
AND o.prs_kostensoort_key = k.prs_kostensoort_key(+);
AND o.prs_kostensoort_key = k.prs_kostensoort_key(+)
AND o.prs_bedrijf_key = b.prs_bedrijf_key(+);
CREATE OR REPLACE VIEW yask_v_factuur_gegevens