FSN#40517 Klantspecifieke leveranciers imports werken in 2017.1 mogelijk niet

svn path=/Customer/trunk/; revision=34255
This commit is contained in:
Erik Groener
2017-06-14 07:36:50 +00:00
parent 4f461ac87a
commit b627adc62a
2 changed files with 164 additions and 164 deletions

View File

@@ -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