YAXX#89275 Bij het invoeren van een factuur via Mareon wordt de verdeelperiode aangepast aan de hand van het kenmerk VERDEELPERIODE_OFFSET bij het contract.
svn path=/Customer/trunk/; revision=69276
This commit is contained in:
@@ -920,6 +920,10 @@ AS
|
||||
v_opdr_kosten NUMBER(10,2);
|
||||
|
||||
BEGIN
|
||||
|
||||
-- Mandaatbedrag is nu in de core opgenomen YASK#84687
|
||||
RETURN;
|
||||
|
||||
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, mld_typeopdr ot
|
||||
@@ -5544,7 +5548,8 @@ AS
|
||||
--- bit 4: dubbele factuur
|
||||
--- bit 5: verzamelfactuur
|
||||
--- bit 6: IBAN niet correct
|
||||
--- bit 7: Proces fout (Oracle foutmelding)
|
||||
--- bit 7: IBAN niet gevuld bij leverancier
|
||||
--- bit 8: Proces fout (Oracle foutmelding)
|
||||
CURSOR ccor_0
|
||||
IS
|
||||
SELECT ordernr
|
||||
@@ -5647,6 +5652,7 @@ IS
|
||||
v_factuur_datum_boekmaand_nu VARCHAR(2);
|
||||
v_fin_factuur_boekmaand_laatst VARCHAR(7);
|
||||
v_fin_factuur_boekmaand_prev VARCHAR(7);
|
||||
v_verdeelperiode_offset NUMBER;
|
||||
v_factuur_opmerking FIN_FACTUUR.FIN_FACTUUR_OPMERKING%TYPE;
|
||||
v_factuur_note_omschrijving FIN_FACTUUR_NOTE.FIN_FACTUUR_NOTE_OMSCHRIJVING%TYPE;
|
||||
v_factuur_note_key FIN_FACTUUR_NOTE.FIN_FACTUUR_NOTE_KEY%TYPE;
|
||||
@@ -5832,6 +5838,10 @@ BEGIN
|
||||
IF v_factuur_opmerking IS NOT NULL
|
||||
THEN
|
||||
track_error (v_factuur_opmerking, NULL, rec.fin_factuur_key, v_perslid_key); -- Overnemen van de opmerking in de notitie.
|
||||
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_opmerking = NULL
|
||||
WHERE fin_factuur_key = rec.fin_factuur_key;
|
||||
END IF;
|
||||
|
||||
-- Als er een bijlage-flexprop en een bijlage is, dan gaan we deze PDF hier inzetten....
|
||||
@@ -5892,7 +5902,7 @@ BEGIN
|
||||
ELSE v_foutcode := POWER(2,3);
|
||||
END IF;
|
||||
|
||||
v_aanduiding_controle := 'ERROR: ' || REPLACE(rec.kenmerk7, ' @@', CHR(13)||CHR(10));
|
||||
v_aanduiding_controle := 'ERROR: ' || REPLACE(rec.kenmerk7, '@@', CHR(13)||CHR(10));
|
||||
track_error (v_aanduiding_controle, v_foutcode, rec.fin_factuur_key, v_perslid_key);
|
||||
|
||||
END IF;
|
||||
@@ -5928,11 +5938,17 @@ BEGIN
|
||||
FROM prs_kenmerk k
|
||||
WHERE k.prs_kenmerk_code = 'IBAN';
|
||||
|
||||
IF v_bedrijf_iban IS NOT NULL AND COALESCE(rec.kenmerk12, 'QueQeLeQue') <> v_bedrijf_iban
|
||||
IF v_bedrijf_iban IS NULL
|
||||
THEN
|
||||
-- dan gaan we ook de iban controleren
|
||||
v_aanduiding_controle := 'ERROR: IBAN komt niet overeen!' ;
|
||||
track_error (v_aanduiding_controle, POWER(2,6), rec.fin_factuur_key, v_perslid_key);
|
||||
v_aanduiding_controle := 'ERROR: IBAN niet ingevuld bij leverancier.' ;
|
||||
track_error (v_aanduiding_controle, POWER(2,7), rec.fin_factuur_key, v_perslid_key);
|
||||
ELSE
|
||||
IF COALESCE(UPPER(REPLACE(rec.kenmerk12, ' ')), 'QueQeLeQue') <> UPPER(REPLACE(v_bedrijf_iban, ' '))
|
||||
THEN
|
||||
-- dan gaan we ook de iban controleren
|
||||
v_aanduiding_controle := 'ERROR: IBAN komt niet overeen!' ;
|
||||
track_error (v_aanduiding_controle, POWER(2,6), rec.fin_factuur_key, v_perslid_key);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Controle of er al een factuur ontvangen is met hetzelfde factuurnummer en referentie
|
||||
@@ -5981,6 +5997,25 @@ BEGIN
|
||||
AND f.fin_factuur_verwijder IS NULL
|
||||
AND f.fin_factuur_key <> rec.fin_factuur_key;
|
||||
|
||||
BEGIN
|
||||
SELECT FAC.safe_to_number(FLX.getflex('CNT', k.cnt_kenmerk_key, rec.cnt_contract_key, 1))
|
||||
INTO v_verdeelperiode_offset
|
||||
FROM cnt_contract c, cnt_kenmerk k
|
||||
WHERE c.ins_discipline_key = k.cnt_srtcontract_key
|
||||
AND k.cnt_kenmerk_niveau = 'S'
|
||||
AND k.cnt_kenmerk_code = 'VERDEELPERIODE_OFFSET'
|
||||
AND c.cnt_contract_key = rec.cnt_contract_key;
|
||||
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_boekmaand = TO_CHAR(ADD_MONTHS(fin_factuur_datum, COALESCE(v_verdeelperiode_offset, 0)), 'yyyy-mm')
|
||||
WHERE fin_factuur_key = rec.fin_factuur_key;
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
NULL;
|
||||
-- Niet erg als de waarde leeg is of het kenmerk niet gedefinieerd is. Dan hoeven we niets te doen.
|
||||
END;
|
||||
|
||||
|
||||
-- Bij YKPN wordt de beheerder van het contract als eerste goedkeurder aangewezen.
|
||||
-- Voor de andere omgevingen wordt dit in het fin_set_approver proces uitgezocht.
|
||||
IF vbxx.get_user = 'YKPN'
|
||||
@@ -6018,7 +6053,7 @@ BEGIN
|
||||
END;
|
||||
|
||||
-- Bij YKPN gaan we nog niet het generieke proces af trappen.
|
||||
IF vbxx.get_user <> 'YKPN'
|
||||
IF vbxx.get_user <> 'YKPN' AND vbxx.get_user <> 'HEIN'
|
||||
THEN
|
||||
vbxx.fin_set_approver(rec.fin_factuur_key);
|
||||
END IF;
|
||||
@@ -6144,7 +6179,7 @@ EXCEPTION
|
||||
|
||||
track_error ('Bij factuurimport is volgende Errormessage gemeld: ' || v_errormsg || CHR (13) || CHR (10) ||
|
||||
'Actie 1: Informeren Facilitor' || CHR (13) || CHR (10) ||
|
||||
'Actie 2: Factuur gewoon oppakken: Aanvullen, doorzetten, etc', POWER(2,7), v_fin_factuur_key, v_perslid_key);
|
||||
'Actie 2: Factuur gewoon oppakken: Aanvullen, doorzetten, etc', POWER(2,8), v_fin_factuur_key, v_perslid_key);
|
||||
|
||||
v_aanduiding := 'Factuur geimporteerd vanuit Mareon' ;
|
||||
fac.trackaction ('FINUPD', v_fin_factuur_key, v_perslid_key, NULL, v_aanduiding);
|
||||
@@ -6168,7 +6203,8 @@ END;
|
||||
--- bit 4: dubbele factuur
|
||||
--- bit 5: verzamelfactuur
|
||||
--- bit 6: IBAN niet correct
|
||||
--- bit 7: Proces fout (Oracle foutmelding)
|
||||
--- bit 7: IBAN niet gevuld bij leverancier
|
||||
--- bit 8: Proces fout (Oracle foutmelding)
|
||||
CREATE OR REPLACE VIEW vbxx_v_fac_scan_result_detail
|
||||
AS
|
||||
SELECT f.fin_factuur_key factuur_key,
|
||||
@@ -6230,12 +6266,19 @@ AS
|
||||
AND k.fin_kenmerk_verwijder IS NULL
|
||||
AND BITAND (FAC.SAFE_TO_NUMBER (fin_kenmerkfactuur_waarde), 64) <> 0
|
||||
UNION ALL
|
||||
SELECT kf.fin_factuur_key, 'IBAN niet ingevuld bij leverancier' foutmelding
|
||||
FROM fin_kenmerkfactuur kf, fin_kenmerk k
|
||||
WHERE kf.fin_kenmerk_key = k.fin_kenmerk_key
|
||||
AND k.fin_kenmerk_code = 'FOUTCODE'
|
||||
AND k.fin_kenmerk_verwijder IS NULL
|
||||
AND BITAND (FAC.SAFE_TO_NUMBER (fin_kenmerkfactuur_waarde), 128) <> 0
|
||||
UNION ALL
|
||||
SELECT kf.fin_factuur_key, 'proces fout' foutmelding
|
||||
FROM fin_kenmerkfactuur kf, fin_kenmerk k
|
||||
WHERE kf.fin_kenmerk_key = k.fin_kenmerk_key
|
||||
AND k.fin_kenmerk_code = 'FOUTCODE'
|
||||
AND k.fin_kenmerk_verwijder IS NULL
|
||||
AND BITAND (FAC.SAFE_TO_NUMBER (fin_kenmerkfactuur_waarde), 128) <> 0) bi,
|
||||
AND BITAND (FAC.SAFE_TO_NUMBER (fin_kenmerkfactuur_waarde), 256) <> 0) bi,
|
||||
(SELECT fo.fin_factuur_key, mld_uitvoerende_keys prs_bedrijf_key
|
||||
FROM mld_opdr o, fin_factuur fo
|
||||
WHERE fo.mld_opdr_key = o.mld_opdr_key
|
||||
|
||||
Reference in New Issue
Block a user