FSN#40517 Klantspecifieke leveranciers imports werken in 2017.1 mogelijk niet
svn path=/Customer/trunk/; revision=34255
This commit is contained in:
262
MDUX/mdux.sql
262
MDUX/mdux.sql
@@ -25,13 +25,13 @@ SET DEFINE OFF
|
||||
CREATE OR REPLACE PROCEDURE mdux_post_import_perslid (p_import_key IN NUMBER)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam = prs_afdeling_naam || prs_kenmerk1
|
||||
WHERE fac_import_key = p_import_key
|
||||
AND LENGTH(prs_afdeling_naam || prs_kenmerk1) <= 10;
|
||||
-- lengte-conditie omdat afdelingsnaam max. 10 lang mag zijn. Ongeldige perslid-records worden zo op voorhand uitgesloten, en niet geupdate.
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -44,30 +44,30 @@ AS
|
||||
v_errorhint VARCHAR2 (400);
|
||||
BEGIN
|
||||
|
||||
|
||||
|
||||
v_errorhint := 'Generieke update';
|
||||
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
|
||||
|
||||
|
||||
-- Let op: afdelingcode (kolomnaam Afdnr.) is nog NIET het afdelingscode, maar het 1e gedeelte ervan.
|
||||
-- De kolom erna (Kostendrager) moet erachter worden geplakt, in AFAS zijn dat bij MDUX 2 velden, die tezamen het afdelingscode vormen.
|
||||
-- Dat gebeurt in de post_import functie, die de afdelingscode (afdnr + kostendrager) alsnog korrekt vult.
|
||||
-- Daarom gaat kostendrager (kolom 7) in kenmerkenveld 1 (positie 27).
|
||||
-- Dus hier wordt afdelingscode (plaats nummer 7 in de string '0;0;0;0;0;0;6;4;3;1;' voor een deel gevuld (het moet gevuld zijn, records zonde afd.nr komen anders niet in de import tabel terecht.
|
||||
|
||||
|
||||
prs.import_perslid (p_import_key,
|
||||
'0;0;0;0;0;0;6;4;3;1;' ||
|
||||
'2;0;0;0;0;11;10;9;0;5;' ||
|
||||
'2;0;0;0;0;11;10;9;0;5;' ||
|
||||
'8;12;0;0;0;0;7;0;0;0;'||
|
||||
'0;0;0;0;0;0;0;0;0;0;'||
|
||||
'0;0;0;0;0;0',
|
||||
'0;0;0;0;0;0',
|
||||
'Roepnaam;Voorletters;Voorvoegsel;Achternaam;Persnr.;Afdnr.;Kostendrager;Functie;Email;Mobile;Telefoon;Loginnaam%'
|
||||
);
|
||||
);
|
||||
COMMIT;
|
||||
|
||||
-- Korrektie van de afdelingscode gebeurt nu...
|
||||
mdux_post_import_perslid(p_import_key);
|
||||
|
||||
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -95,7 +95,7 @@ CREATE OR REPLACE PROCEDURE mdux_update_perslid (
|
||||
AND i.prs_perslid_nr IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
ORDER BY 2;
|
||||
|
||||
|
||||
v_count NUMBER;
|
||||
|
||||
BEGIN
|
||||
@@ -127,8 +127,8 @@ BEGIN
|
||||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
|
||||
|
||||
END mdux_update_perslid;
|
||||
/
|
||||
|
||||
@@ -140,7 +140,7 @@ END mdux_update_perslid;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE mdux_import_budget (p_import_key IN NUMBER)
|
||||
AS
|
||||
|
||||
|
||||
v_newline VARCHAR2 (1000); -- Input line
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
@@ -153,17 +153,17 @@ AS
|
||||
v_count_import NUMBER (10);
|
||||
v_count NUMBER;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||||
-- De importvelden:
|
||||
v_prs_kostenplaats_nr VARCHAR2 (256);
|
||||
v_prs_kostenplaats_limiet VARCHAR2 (256);
|
||||
|
||||
|
||||
v_prs_kostenplaats_bh VARCHAR2 (256);
|
||||
v_prs_kostenplaatsgrp_oms VARCHAR2 (256);
|
||||
|
||||
|
||||
|
||||
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT *
|
||||
@@ -192,7 +192,7 @@ BEGIN
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_kostenplaats_limiet);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_kostenplaats_bh);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_kostenplaatsgrp_oms);
|
||||
|
||||
|
||||
v_aanduiding :=
|
||||
'['
|
||||
|| v_prs_kostenplaats_nr
|
||||
@@ -246,7 +246,7 @@ BEGIN
|
||||
);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
IF LENGTH (v_prs_kostenplaats_limiet) > 8
|
||||
THEN
|
||||
v_prs_kostenplaats_limiet := SUBSTR (v_prs_kostenplaats_limiet, 1, 8);
|
||||
@@ -270,7 +270,7 @@ BEGIN
|
||||
END IF;
|
||||
END IF;
|
||||
COMMIT;
|
||||
|
||||
|
||||
--
|
||||
v_errorhint := 'Ongeldige loginnaam budgethouder';
|
||||
v_prs_kostenplaats_bh := TRIM (v_prs_kostenplaats_bh);
|
||||
@@ -286,7 +286,7 @@ BEGIN
|
||||
|| ']'
|
||||
);
|
||||
END IF;
|
||||
|
||||
|
||||
--
|
||||
v_errorhint := 'Ongeldige kostenplaatsgroep';
|
||||
v_prs_kostenplaatsgrp_oms := TRIM (v_prs_kostenplaatsgrp_oms);
|
||||
@@ -302,8 +302,8 @@ BEGIN
|
||||
|| ']'
|
||||
);
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
|
||||
-- Insert geformatteerde import record
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
@@ -378,7 +378,7 @@ EXCEPTION
|
||||
COMMIT;
|
||||
END mdux_import_budget;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE mdux_update_budget (
|
||||
p_import_key IN NUMBER
|
||||
)
|
||||
@@ -392,8 +392,8 @@ IS
|
||||
v_count_tot NUMBER (10);
|
||||
v_count_error NUMBER (10);
|
||||
v_count NUMBER (10);
|
||||
|
||||
|
||||
|
||||
|
||||
v_prs_kostenplaats_key NUMBER (10);
|
||||
v_prs_perslid_key NUMBER(10);
|
||||
v_prs_kostenplaatsgrp_key NUMBER(10);
|
||||
@@ -406,27 +406,27 @@ IS
|
||||
|
||||
BEGIN
|
||||
v_count_tot := 0;
|
||||
v_count_error := 0;
|
||||
|
||||
|
||||
v_count_error := 0;
|
||||
|
||||
|
||||
v_aanduiding := '';
|
||||
|
||||
|
||||
|
||||
|
||||
-- Alle bugetten verwerken...
|
||||
FOR rc IN c_kpn
|
||||
LOOP
|
||||
BEGIN
|
||||
v_count_tot := v_count_tot + 1;
|
||||
|
||||
|
||||
v_errorhint := 'Fout bij bepalen kostenplaats [' || rc.prs_kostenplaats_nr || ']';
|
||||
|
||||
|
||||
SELECT prs_kostenplaats_key
|
||||
INTO v_prs_kostenplaats_key
|
||||
FROM prs_kostenplaats
|
||||
WHERE prs_kostenplaats_upper = UPPER(rc.prs_kostenplaats_nr)
|
||||
AND prs_kostenplaats_verwijder IS NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
v_errorhint := 'Fout bij bepalen budgethouder [' || rc.prs_kostenplaats_bh || ']';
|
||||
v_prs_perslid_key := NULL;
|
||||
IF rc.prs_kostenplaats_bh IS NOT NULL
|
||||
@@ -437,7 +437,7 @@ IS
|
||||
WHERE prs_perslid_oslogin = UPPER(rc.prs_kostenplaats_bh)
|
||||
AND prs_perslid_verwijder IS NULL;
|
||||
END IF;
|
||||
|
||||
|
||||
v_errorhint := 'Fout bij bepalen kostenplaatsgroep [' || rc.prs_kostenplaatsgrp_oms || ']';
|
||||
v_prs_kostenplaatsgrp_key := NULL;
|
||||
IF rc.prs_kostenplaatsgrp_oms IS NOT NULL
|
||||
@@ -447,18 +447,18 @@ IS
|
||||
FROM prs_kostenplaatsgrp
|
||||
WHERE UPPER(prs_kostenplaatsgrp_oms) = UPPER(rc.prs_kostenplaatsgrp_oms);
|
||||
END IF;
|
||||
|
||||
|
||||
|
||||
|
||||
v_errorhint := 'Fout bij update budget bij kostenplaats [' || rc.prs_kostenplaats_nr || ']';
|
||||
|
||||
|
||||
UPDATE prs_kostenplaats
|
||||
SET prs_kostenplaats_limiet = rc.prs_kostenplaats_limiet,
|
||||
prs_perslid_key = v_prs_perslid_key,
|
||||
prs_kostenplaatsgrp_key = v_prs_kostenplaatsgrp_key
|
||||
WHERE prs_kostenplaats_key = v_prs_kostenplaats_key;
|
||||
|
||||
|
||||
COMMIT;
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -479,10 +479,10 @@ IS
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Budget: verwerkte regels zonder foutmelding: '
|
||||
@@ -496,8 +496,8 @@ IS
|
||||
''
|
||||
);
|
||||
COMMIT;
|
||||
|
||||
|
||||
|
||||
|
||||
END mdux_update_budget;
|
||||
/
|
||||
|
||||
@@ -515,7 +515,7 @@ BEGIN
|
||||
SET ordernr = SUBSTR(ordernr,4)
|
||||
WHERE UPPER(ordernr) LIKE 'FCC%'
|
||||
AND fac_import_key = p_import_key;
|
||||
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
@@ -562,7 +562,7 @@ BEGIN
|
||||
-- v_kenmerk10: 26
|
||||
-- v_kenmerk11: 27
|
||||
-- v_kenmerk12: 28
|
||||
|
||||
|
||||
fac_import_factuur_body(p_import_key, v_seq_of_columns);
|
||||
mdux_post_fin_factuur_navision (p_import_key);
|
||||
END;
|
||||
@@ -581,8 +581,8 @@ AS
|
||||
|
||||
-- Key van het kenmerk 'navision nummer ' bij de factuur
|
||||
c_kenmerk_key_navision_nr NUMBER(10) := 2;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
@@ -699,16 +699,16 @@ AS
|
||||
nav.fin_factuur_navision_nr,
|
||||
f.fin_factuur_totaal,
|
||||
f.fin_factuur_totaal_btw,
|
||||
CASE
|
||||
CASE
|
||||
WHEN ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2)), 10, '0') || '-'
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2)), 10, '0') || '-'
|
||||
ELSE LPAD(TO_CHAR(100 * ROUND(ABS(f.fin_factuur_totaal + f.fin_factuur_totaal_btw),2)), 10, '0') || '+'
|
||||
END fin_factuur_totaal_inclbtw,
|
||||
COALESCE (b_c.prs_bedrijf_key, b_o.prs_bedrijf_key) prs_bedrijf_key,
|
||||
COALESCE (b_c.prs_leverancier_nr, b_o.prs_leverancier_nr) prs_leverancier_nr,
|
||||
fr.fin_factuurregel_totaal,
|
||||
fr.fin_factuurregel_btw,
|
||||
CASE
|
||||
CASE
|
||||
WHEN ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2)), 10, '0') || LPAD('0',10,'0')
|
||||
ELSE LPAD('0',10,'0') || LPAD(TO_CHAR(100 * ROUND(ABS(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw),2)), 10, '0')
|
||||
@@ -727,7 +727,7 @@ AS
|
||||
c.cnt_contract_key,
|
||||
f.fin_factuur_statuses_key
|
||||
FROM fin_factuur f,
|
||||
mdux_v_factuur_navision_nr nav,
|
||||
mdux_v_factuur_navision_nr nav,
|
||||
fin_factuurregel fr,
|
||||
fin_btwtabelwaarde btw,
|
||||
mld_opdr o,
|
||||
@@ -792,16 +792,16 @@ AS
|
||||
nav.fin_factuur_navision_nr,
|
||||
f.fin_factuur_totaal,
|
||||
f.fin_factuur_totaal_btw,
|
||||
CASE
|
||||
CASE
|
||||
WHEN ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2)), 10, '0') || '-'
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(f.fin_factuur_totaal + f.fin_factuur_totaal_btw,2)), 10, '0') || '-'
|
||||
ELSE LPAD(TO_CHAR(100 * ROUND(ABS(f.fin_factuur_totaal + f.fin_factuur_totaal_btw),2)), 10, '0') || '+'
|
||||
END fin_factuur_totaal_inclbtw,
|
||||
b.prs_bedrijf_key,
|
||||
b.prs_leverancier_nr,
|
||||
fr.fin_factuurregel_totaal,
|
||||
fr.fin_factuurregel_btw,
|
||||
CASE
|
||||
CASE
|
||||
WHEN ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2) > 0
|
||||
THEN LPAD(TO_CHAR(100 * ROUND(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw,2)), 10, '0') || LPAD('0',10,'0')
|
||||
ELSE LPAD('0',10,'0') || LPAD(TO_CHAR(100 * ROUND(ABS(fr.fin_factuurregel_totaal + fr.fin_factuurregel_btw),2)), 10, '0')
|
||||
@@ -866,7 +866,7 @@ CREATE OR REPLACE VIEW mdux_v_exp_navision_body
|
||||
(result, result_order)
|
||||
AS
|
||||
SELECT '<factuur><navision_nr>' || fin_factuur_navision_nr || '</navision_nr><akkoord>' ||
|
||||
DECODE(fin_factuur_statuses_key, 1, '0','1') || '</akkoord></factuur>'
|
||||
DECODE(fin_factuur_statuses_key, 1, '0','1') || '</akkoord></factuur>'
|
||||
, fin_factuur_key
|
||||
FROM mdux_v_factuur_geg_2_navision;
|
||||
|
||||
@@ -905,10 +905,10 @@ BEGIN
|
||||
-- DE EXPORT IS OP BASIS VAN EEN VIEW GEREALISEERD, WAARNA NU ALS LAATSTE STAP NOG WAT ADMINISTRATIE VOLGT...
|
||||
FOR cfact IN cfactuur
|
||||
LOOP
|
||||
|
||||
|
||||
-- Zowel de factuur in tracking zetten als de status op verwerkt (=7) zetten
|
||||
IF cfact.fin_factuur_statuses_key = 6
|
||||
THEN
|
||||
THEN
|
||||
-- Status akkoord kan op reguliere wijze naar verwerkt...
|
||||
fin.setfactuurstatus (cfact.fin_factuur_key, 7, NULL);
|
||||
ELSE
|
||||
@@ -919,7 +919,7 @@ BEGIN
|
||||
INTO v_count
|
||||
FROM mdux_v_factuur_afgewezen
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
|
||||
|
||||
IF v_count = 1
|
||||
THEN
|
||||
UPDATE fin_kenmerkfactuur
|
||||
@@ -930,8 +930,8 @@ BEGIN
|
||||
INSERT INTO fin_kenmerkfactuur (fin_factuur_key, fin_kenmerk_key, fin_kenmerkfactuur_waarde)
|
||||
VALUES (cfact.fin_factuur_key, c_kenmerk_key_afgewezen, '1');
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
fac.trackaction ('FINVER', cfact.fin_factuur_key, NULL, NULL, 'Factuur van afgewezen naar verwerkt');
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_statuses_key = 7
|
||||
@@ -1024,15 +1024,15 @@ AS
|
||||
v_errormsg VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
|
||||
|
||||
c_kenmerk_key_afgewezen NUMBER(10) := 3;
|
||||
|
||||
|
||||
BEGIN
|
||||
v_errormsg := 'Geen akties';
|
||||
|
||||
FOR cfact IN cfactuur
|
||||
LOOP
|
||||
|
||||
|
||||
SELECT MAX(t.fac_tracking_datum)
|
||||
INTO v_fac_tracking_datum_akkoord
|
||||
FROM fac_tracking t, fin_factuur f, fac_srtnotificatie sn
|
||||
@@ -1040,7 +1040,7 @@ BEGIN
|
||||
AND f.fin_factuur_key = cfact.fin_factuur_key
|
||||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'FINFOK';
|
||||
|
||||
|
||||
SELECT MAX(t.fac_tracking_datum)
|
||||
INTO v_fac_tracking_datum_afgewezen
|
||||
FROM fac_tracking t, fin_factuur f, fac_srtnotificatie sn
|
||||
@@ -1048,16 +1048,16 @@ BEGIN
|
||||
AND f.fin_factuur_key = cfact.fin_factuur_key
|
||||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'FINFNO';
|
||||
|
||||
|
||||
IF v_fac_tracking_datum_afgewezen IS NULL
|
||||
THEN IF v_fac_tracking_datum_akkoord IS NOT NULL
|
||||
THEN
|
||||
-- Factuur was oorspronkelijk akkoord, DUS weer terug op akkoord zetten.
|
||||
|
||||
|
||||
-- Eerst de factuur in tracking zetten...
|
||||
-- Omdat van 7 naar 6 niet mag/geoorloofd is, lukt het niet via
|
||||
-- de reguliere functie fin.setfactuurstatus (cfact.fin_factuur_key, 6, NULL);
|
||||
|
||||
|
||||
-- Dan maar zelf en custom-made:
|
||||
fac.trackaction ('FINFOK', cfact.fin_factuur_key, NULL, NULL, 'Factuur uit archief teruggezet');
|
||||
UPDATE fin_factuur
|
||||
@@ -1065,7 +1065,7 @@ BEGIN
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
END IF;
|
||||
-- Als beiden null zijn, dan GEEN actie (deze situatie zou niet voor mogen komen)
|
||||
ELSE
|
||||
ELSE
|
||||
IF v_fac_tracking_datum_akkoord IS NOT NULL
|
||||
THEN
|
||||
-- Factuur had kennelijk beide statussen, dus akkoord en afgewezen.
|
||||
@@ -1083,11 +1083,11 @@ BEGIN
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_statuses_key = 1
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
|
||||
|
||||
DELETE FROM fin_kenmerkfactuur
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key
|
||||
AND fin_kenmerk_key = c_kenmerk_key_afgewezen;
|
||||
|
||||
|
||||
END IF;
|
||||
ELSE
|
||||
-- Factuur was oorspronkelijk afgewezen, DUS weer terug op afgewezen zetten.
|
||||
@@ -1095,11 +1095,11 @@ BEGIN
|
||||
UPDATE fin_factuur
|
||||
SET fin_factuur_statuses_key = 1
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key;
|
||||
|
||||
|
||||
DELETE FROM fin_kenmerkfactuur
|
||||
WHERE fin_factuur_key = cfact.fin_factuur_key
|
||||
AND fin_kenmerk_key = c_kenmerk_key_afgewezen;
|
||||
|
||||
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
@@ -1109,26 +1109,26 @@ END;
|
||||
|
||||
|
||||
|
||||
-- Mdux stuurt geen LUC mee, afgesproken dat wanneer een externe bedrijf een url (p_bedrijfadres_url) heeft,
|
||||
-- Mdux stuurt geen LUC mee, afgesproken dat wanneer een externe bedrijf een url (p_bedrijfadres_url) heeft,
|
||||
-- dan het bedrijf een L (Leverancier) is waar in Facilitor (bij vrije bestelaanvragen) uit gekozen kan worden....
|
||||
-- Daarom in deze post-import alle bedrijven in de import met p_import_key een L markeren die een technisch adres hebben...
|
||||
-- Daarom in deze post-import alle bedrijven in de import met p_import_key een L markeren die een technisch adres hebben...
|
||||
CREATE OR REPLACE PROCEDURE mdux_post_import_bedrijf (p_import_key IN NUMBER)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
|
||||
UPDATE fac_imp_ext_bedrijf
|
||||
SET prs_bedrijf_leverancier = 1
|
||||
WHERE prs_bedrijf_order_adres IS NOT NULL;
|
||||
|
||||
|
||||
-- MDUX#32101: Alle leveranciers als "uitvoerende" markeren, deze gelijkgetrokken aan "Leverancier" (had ook in 1 query gekund).
|
||||
UPDATE fac_imp_ext_bedrijf
|
||||
SET prs_bedrijf_uitvoerende = 1
|
||||
WHERE prs_bedrijf_order_adres IS NOT NULL;
|
||||
|
||||
|
||||
-- MDUX#37363: Alle leveranciers als potentieel "contractant" markeren
|
||||
UPDATE fac_imp_ext_bedrijf
|
||||
SET prs_bedrijf_contract = 1;
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -1138,15 +1138,15 @@ AS
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_seq_of_columns VARCHAR(255);
|
||||
v_seq_of_columns VARCHAR(255);
|
||||
BEGIN
|
||||
-- hulpje 1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;6;7;18;9;0;1;2;3;4;5;6;27;8;9;0;1;2;3
|
||||
v_seq_of_columns := '2;1;3;4;5;6;0;0;0;0;7;8;11;0;0;0;0;9;0;0;0;0;0;0;0;0;10;0;0;0;0;0;0';
|
||||
-- hulpje 1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;6;7;18;9;0;1;2;3;4;5;6;27;8;9;0;1;2;3;34
|
||||
v_seq_of_columns := '2;1;3;4;5;6;0;0;0;0;7;8;11;0;0;0;0;9;0;0;0;0;0;0;0;0;10;0;0;0;0;0;0;0';
|
||||
fac_import_bedrijf_body (p_import_key, v_seq_of_columns, 1);
|
||||
-- Mdux stuurt geen LUC mee, afgesproken dat wanneer een externe bedrijf een url (p_bedrijfadres_url) heeft,
|
||||
-- Mdux stuurt geen LUC mee, afgesproken dat wanneer een externe bedrijf een url (p_bedrijfadres_url) heeft,
|
||||
-- dan het bedrijf een L (Leverancier) is waar in Facilitor (bij vrije bestelaanvragen) uit gekozen kan worden....
|
||||
mdux_post_import_bedrijf (p_import_key);
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -1164,42 +1164,42 @@ END mdux_import_bedrijf;
|
||||
|
||||
|
||||
-- Werkt de technische adres(sen) van bedrijf 'p_bedrijf_key' bij.
|
||||
-- Parameters:
|
||||
-- Parameters:
|
||||
-- p_bedrijf_key (id van prs_bedrijf)
|
||||
-- p_bedrijfadres_url (technisch adres, b.v. mailadres. URL, FTP, ..)
|
||||
-- p_bedrijf_broc (1 of NULL, indien 1 dan is bedrijf als zodanig geregistreerd als p_kanaal (volgende param).
|
||||
-- -- Dus b.v. 1 en p_kanaal = 'B', dan is bedrijf een leverancier in Facilitor
|
||||
-- -- En b.v. NULL en p_kanaal = 'O', dan is bedrijf geen uitvoerende in Facilitor.
|
||||
-- p_kanaal is "B" (bestelopdracht), "O" (meldingpdracht) of "C" (contract)
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE mdux_delupsert_bedrijfadres (p_bedrijf_key IN NUMBER, p_bedrijfadres_url IN VARCHAR2, p_bedrijfadres_xsl IN VARCHAR2, p_bedrijf_broc IN NUMBER, p_kanaal IN VARCHAR)
|
||||
AS
|
||||
v_count NUMBER (10);
|
||||
v_bedrijfadres_url prs_bedrijfadres.prs_bedrijfadres_url%TYPE;
|
||||
BEGIN
|
||||
-- In beide gevallen (insert of update) moet het Technisch adres worden bijgewerkt.
|
||||
-- Als kolom p_bedrijfadres_url gevuld is (met een technisch adres), dan zal deze ook geinsert of bijgewerkt moeten worden als kanaal "p_kanaal",
|
||||
-- Als kolom p_bedrijfadres_url gevuld is (met een technisch adres), dan zal deze ook geinsert of bijgewerkt moeten worden als kanaal "p_kanaal",
|
||||
-- en wordt deze relatie een "L" (Leverancier).
|
||||
-- Indien de kolom p_bedrijfadres_url niet (meer) gevuld is, en het technisich adres met "broc"-kanaal bestaat, dan wordt deze verwijderd.
|
||||
-- en wordt deze relatie niet langer een "L" (Leverancier).
|
||||
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM prs_bedrijfadres
|
||||
WHERE prs_bedrijf_key = p_bedrijf_key
|
||||
AND prs_bedrijfadres_type = p_kanaal;
|
||||
|
||||
|
||||
v_bedrijfadres_url := TRIM(p_bedrijfadres_url);
|
||||
IF v_bedrijfadres_url IS NOT NULL
|
||||
THEN
|
||||
-- We doen een soort can correctieslagje, door ff de prefix mailto: ervoor zetten als die dat nog niet heeft er er een @ in dit veld aanwezig is
|
||||
-- NB: @ betekent hier maar eens dat het een mailadres betreft en geen URL. O ja? Ja, laten we daar maar 'ns van uitgaan....
|
||||
|
||||
|
||||
IF SUBSTR(v_bedrijfadres_url, 1, 7) <> 'mailto:' AND INSTR(v_bedrijfadres_url,'@') > 0
|
||||
THEN
|
||||
v_bedrijfadres_url := 'mailto:' || v_bedrijfadres_url;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Dit externe bedrijf heeft een technisch adres in het BRONsysteem!
|
||||
IF v_count = 0
|
||||
THEN
|
||||
@@ -1223,7 +1223,7 @@ BEGIN
|
||||
DELETE prs_bedrijfadres
|
||||
WHERE prs_bedrijf_key = p_bedrijf_key
|
||||
AND prs_bedrijfadres_type = p_kanaal;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
ELSE
|
||||
-- Dit externe bedrijf heeft geen technisch adres (bij kanaal bestelopdrachten) in RBT geregistreerd
|
||||
@@ -1244,18 +1244,18 @@ CREATE OR REPLACE PROCEDURE mdux_post_update_bedrijf (p_import_key IN NUMBER)
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT * FROM fac_imp_ext_bedrijf ib;
|
||||
|
||||
|
||||
v_errormsg VARCHAR2 (1000) := '-';
|
||||
v_errorhint VARCHAR2 (1000) := '-';
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
|
||||
|
||||
v_aanduiding VARCHAR2 (200) := '-';
|
||||
|
||||
v_bedrijf_key NUMBER (10);
|
||||
v_aantal_bedrijfadres_url NUMBER (10);
|
||||
BEGIN
|
||||
|
||||
|
||||
|
||||
SELECT count(*)
|
||||
INTO v_aantal_bedrijfadres_url
|
||||
@@ -1263,42 +1263,42 @@ BEGIN
|
||||
WHERE prs_bedrijf_order_adres IS NOT NULL;
|
||||
|
||||
-- Worden de technische adressen elders beheerd, dan bijwerken, en anders met rust laten (dan beheer in Facilitor, zal de defeault zijn)
|
||||
|
||||
|
||||
-- Wij gaan conclusie beheer in Facilitor of bron hier als volgt bepalen:
|
||||
-- indien er GEEN bedrijfsadres_url's in de bron staan, dan beheer in Facilitor.
|
||||
-- indien er minimaal 1 bedrijfsadres_url's in de bron staat, dan beheer in bronsysteem
|
||||
|
||||
|
||||
IF v_aantal_bedrijfadres_url > 0
|
||||
THEN
|
||||
-- Beheer van technische adressen in bronsysteem, dus we gaan hier de technische adressen bijweken op basis van leveranciernummer (add/upd/del).
|
||||
|
||||
|
||||
FOR rec IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
|
||||
v_aanduiding :=
|
||||
'['
|
||||
|| rec.prs_bedrijf_naam
|
||||
|| '|'
|
||||
|| rec.prs_leverancier_nr
|
||||
|| '] ';
|
||||
|
||||
|
||||
v_errorhint := 'Fout bepalen bedrijf';
|
||||
|
||||
|
||||
IF rec.prs_leverancier_nr IS NOT NULL
|
||||
THEN
|
||||
|
||||
|
||||
SELECT prs_bedrijf_key
|
||||
INTO v_bedrijf_key
|
||||
FROM prs_v_aanwezigbedrijf
|
||||
WHERE UPPER (prs_leverancier_nr) = UPPER (rec.prs_leverancier_nr);
|
||||
|
||||
|
||||
mdux_delupsert_bedrijfadres(v_bedrijf_key, rec.prs_bedrijf_order_adres, rec.prs_bedrijf_xsl, rec.prs_bedrijf_leverancier, 'B');
|
||||
-- MDUX#32101: Voor mldopdrachten (en contracten ook maar) geen technisch adres instellen, MDUX wil dat vooralsnog handmatig versturen.
|
||||
-- mdux_delupsert_bedrijfadres(v_bedrijf_key, rec.prs_bedrijf_order_adres, rec.prs_bedrijf_xsl, rec.prs_bedrijf_uitvoerende, 'O');
|
||||
-- mdux_delupsert_bedrijfadres(v_bedrijf_key, rec.prs_bedrijf_order_adres, rec.prs_bedrijf_xsl, rec.prs_bedrijf_contract, 'C');
|
||||
|
||||
|
||||
|
||||
END IF; -- rec.prs_leverancier_nr IS NULL
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
@@ -1322,7 +1322,7 @@ BEGIN
|
||||
COMMIT;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE mdux_update_bedrijf (p_import_key IN NUMBER)
|
||||
AS
|
||||
@@ -1350,7 +1350,7 @@ SELECT prs_perslid_key,
|
||||
|| '(pers.nr: '
|
||||
|| prs_perslid_nr
|
||||
|| ')',
|
||||
prs_perslid_verwijder
|
||||
prs_perslid_verwijder
|
||||
FROM prs_perslid p
|
||||
WHERE prs_perslid_nr IS NOT NULL;
|
||||
|
||||
@@ -1604,8 +1604,8 @@ AS
|
||||
bes_bestelling_leverdatum,
|
||||
bdr.prs_bedrijf_naam,
|
||||
p1.prs_perslid_key
|
||||
ORDER BY 2;
|
||||
|
||||
ORDER BY 2;
|
||||
|
||||
CREATE OR REPLACE VIEW MDUX_V_NOTI_BES_LEV_REMINDER
|
||||
(
|
||||
CODE,
|
||||
@@ -1627,7 +1627,7 @@ AS
|
||||
WHERE fac_usrrap_view_name = 'MDUX_V_RAP_BES_OPEN_LEV'),
|
||||
extra_key
|
||||
FROM MDUX_V_RAP_BES_OPEN_LEV
|
||||
GROUP BY extra_key;
|
||||
GROUP BY extra_key;
|
||||
|
||||
-- MDUX#35089 rapport tbv bestellers inzage in bestelde artikelen
|
||||
CREATE OR REPLACE VIEW MDUX_V_RAP_BES_ARTIKEL_VOOR
|
||||
@@ -1706,13 +1706,13 @@ AS
|
||||
FROM bes_bestelling b1
|
||||
WHERE bes_bestelling_parentkey = b.bes_bestelling_key)
|
||||
AND b.bes_bestelling_status NOT IN (8)
|
||||
ORDER BY bes_bestelling_key;
|
||||
ORDER BY bes_bestelling_key;
|
||||
|
||||
|
||||
-- MDUX#37895: Factuurmatching in financieel pakket laten plaatsvinden -> hiervoor stellen we via API onderstaande view beschikbaar...
|
||||
CREATE OR REPLACE VIEW mdux_bes_4_ax
|
||||
AS
|
||||
SELECT
|
||||
SELECT
|
||||
'FCC' || TO_CHAR (bo.bes_bestelopdr_id) opdracht_id,
|
||||
b.prs_bedrijf_key,
|
||||
b.prs_leverancier_nr,
|
||||
@@ -1722,7 +1722,7 @@ SELECT
|
||||
NULL cnt_contract_key,
|
||||
BO.BES_BESTELOPDR_LEVKOSTEN,
|
||||
BO.BES_BESTELOPDR_KORTING,
|
||||
BO.BES_BESTELOPDR_STATUS,
|
||||
BO.BES_BESTELOPDR_STATUS,
|
||||
fac.gettrackingdate('BESOTV', bo.BES_BESTELOPDR_KEY) bes_besotv_datum,
|
||||
BOI.BES_BESTELOPDR_ITEM_POSNR,
|
||||
BOI.BES_BESTELOPDR_ITEM_OMSCHRIJV,
|
||||
@@ -1735,7 +1735,7 @@ SELECT
|
||||
prs_bedrijf b,
|
||||
bes_bestelling bes,
|
||||
bes_bestelopdr_item boi,
|
||||
bes_bestelling_item bi,
|
||||
bes_bestelling_item bi,
|
||||
prs_kostenplaats kp
|
||||
WHERE b.prs_bedrijf_key = bo.prs_bedrijf_key
|
||||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||||
@@ -1748,7 +1748,7 @@ SELECT
|
||||
|
||||
CREATE OR REPLACE VIEW mdux_v_noti_cntreminder
|
||||
(code, sender, receiver, text, key, par1, par2, xkey, xemail, xmobile)
|
||||
AS
|
||||
AS
|
||||
SELECT '', '', c.prs_perslid_key_beh,
|
||||
'Rapp<EFBFBD>l: Contract '
|
||||
|| c.cnt_contract_nummer_intern||DECODE(cnt_contract_versie, NULL, '', '.'||cnt_contract_versie)
|
||||
@@ -1894,12 +1894,12 @@ AS
|
||||
cnt_termijn ct,
|
||||
prs_v_perslid_fullnames_all p1,
|
||||
prs_bedrijf b,
|
||||
cnt_contract_plaats cp1
|
||||
cnt_contract_plaats cp1
|
||||
WHERE b.prs_bedrijf_key = c1.cnt_prs_bedrijf_key
|
||||
AND c1.ins_discipline_key = 301
|
||||
AND c1.cnt_contract_termijntermijn = ct.cnt_termijn_key(+)
|
||||
AND c1.cnt_contract_key = cp1.cnt_contract_key (+)
|
||||
AND c1.prs_perslid_key_eig = p1.prs_perslid_key(+)
|
||||
AND c1.prs_perslid_key_eig = p1.prs_perslid_key(+)
|
||||
AND COALESCE (c1.cnt_contract_versie, '0') =
|
||||
(SELECT COALESCE (MAX (cnt_contract_versie), '0')
|
||||
FROM cnt_v_aanwezigcontract c2
|
||||
@@ -2057,7 +2057,7 @@ AS
|
||||
cnt_alg_plaats_code,
|
||||
alg_gebouw_code,
|
||||
alg_gebouw_naam,
|
||||
alg_gebouw_omschrijving
|
||||
alg_gebouw_omschrijving
|
||||
FROM mdux_huurcontracten_tmp, alg_gebouw g, alg_locatie l
|
||||
WHERE l.alg_locatie_key (+) = cnt_alg_plaats_key
|
||||
AND COALESCE(cnt_alg_plaats_code,'L') = 'L'
|
||||
@@ -2132,7 +2132,7 @@ cnt_interne_doorbelasting,
|
||||
cnt_interne_doorbelasting_mnd
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
SELECT
|
||||
cnt_contract_key,
|
||||
hc.prs_bedrijf_key,
|
||||
hc.alg_gebouw_key,
|
||||
@@ -2200,17 +2200,17 @@ SELECT
|
||||
AND v2.alg_verdieping_verwijder IS NULL
|
||||
AND r2.alg_verdieping_key = v2.alg_verdieping_key
|
||||
AND r2.alg_ruimte_verwijder IS NULL
|
||||
AND ra2.alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND ra2.alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND ra2.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND ra2.prs_ruimteafdeling_verwijder IS NULL) /
|
||||
(SELECT COALESCE(SUM(prs_ruimteafdeling_bezetting),100)
|
||||
FROM prs_ruimteafdeling ra2, alg_verdieping v2, alg_ruimte r2, mdux_huurcontracten_gebouwen hc2
|
||||
WHERE hc2.cnt_contract_key = hc.cnt_contract_key
|
||||
AND v2.alg_gebouw_key = hc2.alg_gebouw_key
|
||||
AND v2.alg_gebouw_key = hc2.alg_gebouw_key
|
||||
AND v2.alg_verdieping_verwijder IS NULL
|
||||
AND r2.alg_verdieping_key = v2.alg_verdieping_key
|
||||
AND r2.alg_ruimte_verwijder IS NULL
|
||||
AND ra2.alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND ra2.alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND ra2.prs_ruimteafdeling_verwijder IS NULL)
|
||||
),2) mdux_interne_doorbelasting,
|
||||
ROUND(cnt_contract_termijnkosten_mnd *
|
||||
@@ -2222,17 +2222,17 @@ SELECT
|
||||
AND v2.alg_verdieping_verwijder IS NULL
|
||||
AND r2.alg_verdieping_key = v2.alg_verdieping_key
|
||||
AND r2.alg_ruimte_verwijder IS NULL
|
||||
AND ra2.alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND ra2.alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND ra2.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND ra2.prs_ruimteafdeling_verwijder IS NULL) /
|
||||
(SELECT COALESCE(SUM(prs_ruimteafdeling_bezetting),100)
|
||||
FROM prs_ruimteafdeling ra2, alg_verdieping v2, alg_ruimte r2, mdux_huurcontracten_gebouwen hc2
|
||||
WHERE hc2.cnt_contract_key = hc.cnt_contract_key
|
||||
AND v2.alg_gebouw_key = hc2.alg_gebouw_key
|
||||
AND v2.alg_gebouw_key = hc2.alg_gebouw_key
|
||||
AND v2.alg_verdieping_verwijder IS NULL
|
||||
AND r2.alg_verdieping_key = v2.alg_verdieping_key
|
||||
AND r2.alg_ruimte_verwijder IS NULL
|
||||
AND ra2.alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND ra2.alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND ra2.prs_ruimteafdeling_verwijder IS NULL)
|
||||
),2) mdux_interne_doorbelasting_mnd
|
||||
FROM mdux_huurcontracten_gebouwen hc, alg_verdieping v, alg_ruimte r, prs_ruimteafdeling ra, prs_afdeling a, prs_kostenplaats k
|
||||
@@ -2289,7 +2289,7 @@ AS
|
||||
AND i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND l.alg_district_key = di.alg_district_key
|
||||
AND s.ins_srtdeel_key = i.ins_srtdeel_key;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW mdux_v_rap_keyvsfe
|
||||
(
|
||||
soort_gebruiker,
|
||||
@@ -2385,7 +2385,7 @@ AS
|
||||
AND UPPER (oslogin) != '_FACILITOR'
|
||||
AND p.prs_perslid_key = st.prs_key
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key;
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
@@ -2038,11 +2038,11 @@ CREATE OR REPLACE PROCEDURE vgld_import_fin_factuur_delixl (p_import_key IN NUMB
|
||||
AS
|
||||
v_seq_of_columns VARCHAR(50);
|
||||
BEGIN
|
||||
|
||||
|
||||
--In de XSL: factuurnr(1);factuurdatum(2);opdrachtnr(3);omschrijving(4);bedrag(5);btwperc(6);btwbedrag(7);document(8);debiteurnr(9);opmerking(10);btw_verlegd(11);betaalkenmerk(12)
|
||||
--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3;14;15;16;7;8;9;0'
|
||||
v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;8;0;0;0;9;0;0;0;0';
|
||||
|
||||
|
||||
-- Variabelelijst
|
||||
-- v_leveranciernr: 1
|
||||
-- v_factuurnr: 2 (VERPLICHT, anders zet Facilitor '-' in factuurnr, en is status van factuur "Incompleet")
|
||||
@@ -2065,67 +2065,67 @@ BEGIN
|
||||
-- v_kenmerk1: 19
|
||||
-- v_kenmerk1: 20
|
||||
-- v_boekmaand: 21
|
||||
|
||||
|
||||
fac_import_factuur_body(p_import_key, v_seq_of_columns);
|
||||
vgld_post_fin_factuur_delixl (p_import_key);
|
||||
END;
|
||||
/
|
||||
|
||||
--
|
||||
--
|
||||
-- CUST: post processing van:
|
||||
-- 1) Factuurregelnummers conform de bestelopdracht-regelnummers (want die krijgen we van DeliXML weer mee terug, en da's handig om te vergelijken indien dat nodig mocht zijn)
|
||||
-- Deze had wat mij betreft ook in standaard fac_update_factuur gemogen, echter daar ontbreekt de sortering daarop, en is de sortering DESC (had ASC gemogen).
|
||||
-- 2) voor verwerking van kenmerk 'kostensoort' (grootboekrekening)
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vgld_post_update_factuur_deli (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_fac_usrtab_key fac_usrtab.fac_usrtab_key%TYPE;
|
||||
v_fac_usrdata_omschr fac_usrdata.fac_usrdata_omschr%TYPE;
|
||||
v_prs_kostensoort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
v_fin_kostensoort_key prs_kostensoort.prs_kostensoort_key%TYPE;
|
||||
|
||||
|
||||
CURSOR cfactuurregel_kostensoort
|
||||
IS
|
||||
SELECT DISTINCT fin_factuur_key, factuurnr, fin_factuurregel_key, kenmerk1, fac_imp_file_index
|
||||
FROM fac_imp_factuur
|
||||
WHERE fac_import_key = p_import_key;
|
||||
BEGIN
|
||||
|
||||
|
||||
-- In productie is de key van eigen tabel '$DeliXL' 101
|
||||
v_fac_usrtab_key := 101;
|
||||
|
||||
|
||||
|
||||
|
||||
-- De betaalreferentie wordt in kenmerk 1 van fac_imp_factuur gezet, dus alle fac_imp_factuur langsgaan en verwerken
|
||||
|
||||
|
||||
FOR rc IN cfactuurregel_kostensoort
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE fin_factuurregel
|
||||
SET fin_factuurregel_nr = rc.fac_imp_file_index
|
||||
WHERE fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
|
||||
|
||||
-- Kostensoorten van DeliXL (KS-D) als volgt omgezet naar kostensoort van Vogellanden (KS-V):
|
||||
-- Stap a) uit VGLD#28993, via eigen tabel $DeliXL
|
||||
|
||||
-- Stap a) uit VGLD#28993, via eigen tabel $DeliXL
|
||||
|
||||
SELECT MAX(ud.fac_usrdata_omschr)
|
||||
INTO v_fac_usrdata_omschr
|
||||
FROM fac_usrdata ud
|
||||
WHERE fac_usrtab_key = v_fac_usrtab_key
|
||||
AND ud.fac_usrdata_verwijder IS NULL
|
||||
AND rc.kenmerk1 LIKE ud.fac_usrdata_code;
|
||||
|
||||
|
||||
IF v_fac_usrdata_omschr IS NULL
|
||||
THEN
|
||||
-- We hebben nog GEEN match gevonden in de eigen tabel '$DeliXL', verder op zoek naar de kostensoort:
|
||||
-- Stap b) uit VGLD#28993, voorloopnul van KS-D erachter gezet (b.v. 0123 wordt 1230)
|
||||
|
||||
|
||||
IF SUBSTR(rc.kenmerk1,1,1) = '0'
|
||||
THEN
|
||||
-- 1e cijfer van kostensoort Deli is een 0, dus voorloopnul erachter zetten.
|
||||
v_fac_usrdata_omschr := SUBSTR(rc.kenmerk1,2) || SUBSTR(rc.kenmerk1,1,1);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
IF v_fac_usrdata_omschr IS NOT NULL
|
||||
THEN
|
||||
-- Dan gaan we op zoek of de kostensoort volgens stap a) of stap b) wel bestaat.
|
||||
@@ -2133,28 +2133,28 @@ BEGIN
|
||||
INTO v_prs_kostensoort_key
|
||||
FROM prs_kostensoort
|
||||
WHERE prs_kostensoort_upper = UPPER(v_fac_usrdata_omschr);
|
||||
|
||||
|
||||
IF v_prs_kostensoort_key IS NOT NULL
|
||||
THEN
|
||||
-- We hebben een geldige vertaling van kostensoort van Deli -> kostensoort Vogellanden.
|
||||
-- Nu nog ff checken of deze kostensoort al bij factuur staat, want dan hoeven we dit op factuurregel niet te zetten (dan neemt die de kostensoort van factuur 'over')
|
||||
|
||||
|
||||
SELECT COALESCE(f.prs_kostensoort_key,-1)
|
||||
INTO v_fin_kostensoort_key
|
||||
FROM fin_factuur f, fin_factuurregel fr
|
||||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND fr.fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
|
||||
|
||||
IF v_fin_kostensoort_key <> v_prs_kostensoort_key
|
||||
THEN
|
||||
-- De kostensoort is NIET dezelfde als bij factuur, dus we gaan hem op factuurregel nivo zetten.
|
||||
UPDATE fin_factuurregel
|
||||
SET prs_kostensoort_key = v_prs_kostensoort_key
|
||||
WHERE fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
WHERE fin_factuurregel_key = rc.fin_factuurregel_key;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -2173,7 +2173,7 @@ CREATE OR REPLACE PROCEDURE vgld_update_fin_factuur_delixl (p_import_key IN NUMB
|
||||
AS
|
||||
BEGIN
|
||||
-- Standaard FCLT verwerk import facturen
|
||||
|
||||
|
||||
fac_update_factuur (p_import_key);
|
||||
-- CUST: post processing van:
|
||||
-- 1) Factuurregelnummers conform de bestelopdracht-regelnummers (want die krijgen we van DeliXML weer mee terug, en da's handig om te vergelijken indien dat nodig mocht zijn)
|
||||
@@ -2197,11 +2197,11 @@ CREATE OR REPLACE PROCEDURE vgld_import_fin_factuur_od (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR(50);
|
||||
BEGIN
|
||||
|
||||
|
||||
--In de XSL: factuurnr(1);factuurdatum(2);opdrachtnr(3);omschrijving(4);bedrag(5);btwperc(6);btwbedrag(7);document(8);debiteurnr(9);opmerking(10);btw_verlegd(11);betaalkenmerk(12)
|
||||
--hulp voor pos : '1;2;3;4;5;6;7;8;9;0;1;2;3;14;15;16;7;8;9;0'
|
||||
v_seq_of_columns := '0;1;2;3;0;0;4;0;5;7;6;0;0;0;0;0;0;0;0;0';
|
||||
|
||||
|
||||
-- Variabelelijst
|
||||
-- v_leveranciernr: 1
|
||||
-- v_factuurnr: 2 (VERPLICHT, anders zet Facilitor '-' in factuurnr, en is status van factuur "Incompleet")
|
||||
@@ -2224,7 +2224,7 @@ BEGIN
|
||||
-- v_kenmerk1: 19
|
||||
-- v_kenmerk1: 20
|
||||
-- v_boekmaand: 21
|
||||
|
||||
|
||||
fac_import_factuur_body(p_import_key, v_seq_of_columns);
|
||||
END;
|
||||
/
|
||||
@@ -2250,16 +2250,16 @@ AS
|
||||
BEGIN
|
||||
-- VGLD stuurt geen LUC mee, afgesproken dat elke leverancier LUC gaat zijn (leverancier, uitvoerende en contractant).
|
||||
-- Daarom in deze post-import alle bedrijven in de import met p_import_key een LUC markeren.
|
||||
|
||||
|
||||
UPDATE fac_imp_ext_bedrijf
|
||||
SET prs_bedrijf_leverancier = 1,
|
||||
prs_bedrijf_uitvoerende = 1,
|
||||
prs_bedrijf_contract = 1;
|
||||
|
||||
-- Alle @@ (deze worden in de XSL geplaatst) worden door CR/LF vervangen.
|
||||
|
||||
-- Alle @@ (deze worden in de XSL geplaatst) worden door CR/LF vervangen.
|
||||
UPDATE fac_imp_ext_bedrijf
|
||||
SET prs_bedrijf_opmerking = replace(prs_bedrijf_opmerking, '@@',CHR (10));
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -2269,13 +2269,13 @@ AS
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_seq_of_columns VARCHAR(255);
|
||||
v_seq_of_columns VARCHAR(255);
|
||||
BEGIN
|
||||
-- hulpje 1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;6;7;8;9;0;1;2;3
|
||||
v_seq_of_columns := '2;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;3;0;0;0;4;0;0';
|
||||
-- hulpje 1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;6;7;8;9;0;1;2;3;4;5;6;7;8;9;0;1;2;3;4
|
||||
v_seq_of_columns := '2;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;3;0;0;0;0;4;0;0';
|
||||
fac_import_bedrijf_body (p_import_key, v_seq_of_columns, 0);
|
||||
vgld_post_import_ext_bedrijf (p_import_key);
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
|
||||
Reference in New Issue
Block a user