diff --git a/WZUV/WZUV.SQL b/WZUV/WZUV.SQL index 40e4d86a1..85679d9e3 100644 --- a/WZUV/WZUV.SQL +++ b/WZUV/WZUV.SQL @@ -18,6 +18,58 @@ SPOOL &fcltlogfile SET DEFINE OFF ------ payload begin ----- + +CREATE OR REPLACE VIEW WZUV_V_RAP_BEZITTINGEN +( + EXTRA_KEY, + FCLT_F_BEZITTER, + VOORNAAM, + DATUM_UITDIENST, + OBJECTSOORT, + OBJECT +) +AS + SELECT p.prs_perslid_key, + p.prs_perslid_naam_friendly, + pl.prs_perslid_voornaam, + TO_CHAR(uit_dienst.datum_uitdienst, 'dd-mm-yyyy'), + obj.objectsoort, + obj.object + FROM prs_v_perslid_fullnames p, + prs_perslid pl, + (SELECT kl.prs_link_key prs_perslid_key, + fac.safe_to_date (kl.prs_kenmerklink_waarde, 'dd-mm-yyyy') datum_uitdienst + FROM prs_kenmerklink kl, prs_kenmerk k + WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key + AND k.prs_kenmerk_upper = 'DATUM UIT DIENST' + AND kl.prs_kenmerklink_verwijder IS NULL) uit_dienst, + (SELECT d.ins_alg_ruimte_key prs_perslid_key, + sd.ins_srtdeel_omschrijving objectsoort, + d.ins_deel_omschrijving || ' - ' || d.ins_deel_opmerking object + FROM ins_deel d, + ins_srtdeel sd, + ins_srtgroep sg, + ins_tab_discipline dp + WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key + AND sd.ins_srtgroep_key = sg.ins_srtgroep_key + AND sg.ins_discipline_key = dp.ins_discipline_key + AND UPPER (dp.INS_DISCIPLINE_OMSCHRIJVING) = + 'ICT MIDDELEN' + AND d.ins_alg_ruimte_type = 'P' + AND d.INS_DEEL_VERWIJDER IS NULL + AND ( d.ins_deel_vervaldatum IS NULL + OR d.ins_deel_vervaldatum > TRUNC (SYSDATE))) obj, + (SELECT kl.prs_link_key prs_perslid_key, + kl.prs_kenmerklink_waarde email_manager + FROM prs_kenmerklink kl, prs_kenmerk k + WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key + AND k.prs_kenmerk_upper = 'MANAGER' + AND kl.prs_kenmerklink_verwijder IS NULL) manager + WHERE p.prs_perslid_key = manager.prs_perslid_key + AND p.prs_perslid_key = obj.prs_perslid_key + AND p.prs_perslid_key = pl.prs_perslid_key + AND p.prs_perslid_key = uit_dienst.prs_perslid_key; + CREATE OR REPLACE PACKAGE WZUV AS PROCEDURE noti_vertrek_mdw; @@ -32,78 +84,105 @@ AS oracle_err_mes VARCHAR2 (200); v_errormsg VARCHAR2 (200); v_srtnotificatie_key NUMBER (10); + v_notificatie_refkey NUMBER (10); v_onderwerp VARCHAR2 (100); --- Personen die uit dienst gaan met objecten in bezit - --- En nog niet is genotificeerd - CURSOR c IS - SELECT p.prs_perslid_key, - p.prs_perslid_email, - mail_mgr.prs_kenmerklink_waarde mail_mgr, - datum_uit.prs_kenmerklink_waarde datum_uit_dienst, - fac.safe_to_date (datum_uit.prs_kenmerklink_waarde, - 'dd-mm-yyyy') - - 14 noti_datum + --- En nog niet eerder genotificeerd + CURSOR C IS + SELECT p.prs_perslid_email, + p.prs_perslid_key, + p.prs_perslid_voornaam, + manager.email_manager, + uit_dienst.datum_uitdienst FROM prs_perslid p, - (SELECT * - FROM prs_kenmerklink kl - WHERE kl.prs_kenmerk_key = 1021 + ( SELECT d.ins_alg_ruimte_key prs_perslid_key, + LISTAGG ( + d.ins_deel_omschrijving + || ' - ' + || d.ins_deel_opmerking, + CHR (10)) + WITHIN GROUP (ORDER BY d.ins_deel_omschrijving) objecten + FROM ins_deel d, + ins_srtdeel sd, + ins_srtgroep sg, + ins_tab_discipline dp + WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key + AND sd.ins_srtgroep_key = sg.ins_srtgroep_key + AND sg.ins_discipline_key = dp.ins_discipline_key + AND UPPER (dp.ins_discipline_omschrijving) = + 'ICT MIDDELEN' + AND d.ins_alg_ruimte_type = 'P' + AND d.ins_deel_verwijder IS NULL + AND ( d.ins_deel_vervaldatum IS NULL + OR d.ins_deel_vervaldatum > TRUNC (SYSDATE)) + GROUP BY d.ins_alg_ruimte_key) objecten, + (SELECT kl.prs_link_key prs_perslid_key, + kl.prs_kenmerklink_waarde email_manager + FROM prs_kenmerklink kl, prs_kenmerk k + WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key + AND k.prs_kenmerk_upper = 'MANAGER' + AND kl.prs_kenmerklink_verwijder IS NULL) manager, + (SELECT kl.prs_link_key prs_perslid_key, + fac.safe_to_date (kl.prs_kenmerklink_waarde, + 'dd-mm-yyyy') datum_uitdienst + FROM prs_kenmerklink kl, prs_kenmerk k + WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key + AND k.prs_kenmerk_upper = 'DATUM UIT DIENST' AND kl.prs_kenmerklink_verwijder IS NULL) - datum_uit, - (SELECT * - FROM prs_kenmerklink kl - WHERE kl.prs_kenmerk_key = 1041 - AND kl.prs_kenmerklink_verwijder IS NULL) mail_mgr - WHERE datum_uit.prs_link_key = p.prs_perslid_key - AND mail_mgr.prs_link_key(+) = p.prs_perslid_key - AND TRUNC (SYSDATE) >= - ( fac.safe_to_date (datum_uit.prs_kenmerklink_waarde, - 'dd-mm-yyyy') - - 14) - AND p.prs_perslid_key IN - (SELECT d.ins_alg_ruimte_key - FROM ins_deel d - WHERE d.ins_alg_ruimte_type = 'P' - AND d.ins_deel_verwijder IS NULL - AND d.ins_deel_vervaldatum IS NULL - AND d.ins_deel_actief = 1) - AND p.prs_perslid_key NOT IN - (SELECT kl.prs_link_key - FROM prs_kenmerklink kl - WHERE kl.prs_kenmerk_key = 1040 - AND kl.prs_kenmerklink_verwijder IS NULL); + uit_dienst, + (SELECT kl.prs_link_key prs_perslid_key, + kl.prs_kenmerklink_waarde notificatie_verstuurd + FROM prs_kenmerklink kl, prs_kenmerk k + WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key + AND k.prs_kenmerk_upper = + 'UIT DIENST NOTIFICATIE VERSTUURD' + AND kl.prs_kenmerklink_verwijder IS NULL) + notificatie + WHERE p.prs_perslid_key = manager.prs_perslid_key + AND p.prs_perslid_key = objecten.prs_perslid_key + AND p.prs_perslid_key = uit_dienst.prs_perslid_key + AND p.prs_perslid_key = notificatie.prs_perslid_key(+) + AND notificatie.notificatie_verstuurd IS NULL + AND uit_dienst.datum_uitdienst <= SYSDATE + 21; BEGIN FOR rec IN c LOOP - v_onderwerp := 'Uw uitdiensttreding op ' || rec.datum_uit_dienst; + v_onderwerp := 'Uw uitdiensttreding op ' || rec.datum_uitdienst; SELECT fac_srtnotificatie_key INTO v_srtnotificatie_key FROM fac_srtnotificatie - WHERE fac_srtnotificatie_code = 'CUST05'; + WHERE fac_srtnotificatie_code = 'CUST04'; + + SELECT fac_usrrap_key + INTO v_notificatie_refkey + FROM fac_usrrap + WHERE UPPER (fac_usrrap_view_name) = 'WZUV_V_RAP_BEZITTINGEN'; INSERT INTO fac_notificatie (fac_srtnotificatie_key, fac_notificatie_status, + prs_perslid_key_receiver, fac_notificatie_receiver_email, fac_notificatie_oms, - fac_notificatie_refkey, + fac_notificatie_refkey, fac_notificatie_prioriteit) VALUES (v_srtnotificatie_key, 2, - 'hip@wzuveluwe.nl;'|| rec.prs_perslid_email ||';'|| rec.mail_mgr, + rec.prs_perslid_key, + 'hip@wzuveluwe.nl;' || rec.mail_mgr, v_onderwerp, - rec.prs_perslid_key, + v_notificatie_refkey, 2); -- bij perslid markering zetten dat de mail verstuurd is flx.setflex ('PRS', - 1040, - rec.prs_perslid_key, - '1'); - - COMMIT; - END LOOP; - + 1042, + rec.prs_perslid_key, + TRUNC (SYSDATE)); + + COMMIT; + END LOOP; END; END; / @@ -111,49 +190,50 @@ END; CREATE OR REPLACE PROCEDURE wzuv_daily_task AS BEGIN - -- notificatiejob voor medewerkers uit dienst - wzuv.noti_vertrek_mdw(); + -- notificatiejob voor medewerkers uit dienst + wzuv.noti_vertrek_mdw (); END; / CREATE OR REPLACE PROCEDURE wzuv_import_perslid (p_import_key IN NUMBER) AS - oracle_err_num NUMBER; - oracle_err_mes VARCHAR2 (200); - v_errormsg VARCHAR2 (400); - v_errorhint VARCHAR2 (400); - v_aantal_in_FCLT NUMBER; + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); + v_errormsg VARCHAR2 (400); + v_errorhint VARCHAR2 (400); + v_aantal_in_FCLT NUMBER; BEGIN - v_errorhint := 'Generieke update'; - -- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc - prs.import_perslid ( - p_import_key, - '0;0;0;0;0;0;7;14;13;10;' - || '0;12;11;15;18;19;20;3;0;1;' - || '9;0;0;0;0;0;17;21;22;0;' - || '4;5;0;0;0;0;0;0;0;0;' - || '0;0;0;0;0;0', - 'Mdw.;Achternaam, init voorvoegsel (voornaam);Mail werk;Werklocatie;OE;Organisatorische eenheid;Kostpl.;Code functie Functie;Omschrijving functie;Roepnaam;Voorvoegsel partner;Geb.naam partner;Voorv. geb.naam;Geboortenaam;Naamgebruik code;In dienst;Uit dienst;Geslacht;Telnr. werk;Mob. werk;Naam;Leidinggevende mailadres'); - -- '"Mdw.";"Email werk";"Geslacht";"Werklocatie";"Org. eenheid";"Kostpl.";"Functie";"Roepnaam";"Voorvoegsel partner";"Geb.naam partner";"Voorv. geb.naam";"Geboortenaam";"Naamgebruik code"%'); + v_errorhint := 'Generieke update'; + -- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc + prs.import_perslid ( + p_import_key, + '0;0;0;0;0;0;7;14;13;10;' + || '0;12;11;15;18;19;20;3;0;1;' + || '9;0;0;0;0;0;17;21;22;0;' + || '4;5;0;0;0;0;0;0;0;0;' + || '0;0;0;0;0;0', + 'Mdw.;Achternaam, init voorvoegsel (voornaam);Mail werk;Werklocatie;OE;Organisatorische eenheid;Kostpl.;Code functie Functie;Omschrijving functie;Roepnaam;Voorvoegsel partner;Geb.naam partner;Voorv. geb.naam;Geboortenaam;Naamgebruik code;In dienst;Uit dienst;Geslacht;Telnr. werk;Mob. werk;Naam;Leidinggevende mailadres'); + -- '"Mdw.";"Email werk";"Geslacht";"Werklocatie";"Org. eenheid";"Kostpl.";"Functie";"Roepnaam";"Voorvoegsel partner";"Geb.naam partner";"Voorv. geb.naam";"Geboortenaam";"Naamgebruik code"%'); - COMMIT; + COMMIT; - -- De os_login kan worden afgeleid vanuit het email adres - UPDATE FAC_IMP_PERSLID - SET prs_perslid_oslogin = - (TRIM(SUBSTR (prs_perslid_email, - 1, - INSTR (prs_perslid_email, '@', 1) - 1))); + -- De os_login kan worden afgeleid vanuit het email adres + UPDATE FAC_IMP_PERSLID + SET prs_perslid_oslogin = + (TRIM ( + SUBSTR (prs_perslid_email, + 1, + INSTR (prs_perslid_email, '@', 1) - 1))); - --- overbodige tekens uit het perslidnummer vewijderen - UPDATE FAC_IMP_PERSLID - SET prs_perslid_nr = TRIM (prs_perslid_nr); + --- overbodige tekens uit het perslidnummer vewijderen + UPDATE FAC_IMP_PERSLID + SET prs_perslid_nr = TRIM (prs_perslid_nr); - --- de tab uit het perslidnummer verwijderen - UPDATE FAC_IMP_PERSLID - SET prs_perslid_nr = REPLACE (prs_perslid_nr, CHR (9)); + --- de tab uit het perslidnummer verwijderen + UPDATE FAC_IMP_PERSLID + SET prs_perslid_nr = REPLACE (prs_perslid_nr, CHR (9)); - --- De afdelingnaam kan worden herleid worden obv de afdelingomschrijving + --- De afdelingnaam kan worden herleid worden obv de afdelingomschrijving UPDATE fac_imp_perslid i SET prs_afdeling_naam = (SELECT a.prs_afdeling_naam @@ -162,31 +242,29 @@ BEGIN AND a.prs_afdeling_verwijder IS NULL AND a.prs_kostenplaats_key IS NOT NULL); - COMMIT; + COMMIT; EXCEPTION - WHEN OTHERS - THEN - oracle_err_num := SQLCODE; - oracle_err_mes := SUBSTR (SQLERRM, 1, 100); - v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes; - fac.imp_writelog (p_import_key, - 'E', - v_errormsg, - v_errorhint); + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 100); + v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes; + fac.imp_writelog (p_import_key, + 'E', + v_errormsg, + v_errorhint); END wzuv_import_perslid; / -CREATE OR REPLACE PROCEDURE wzuv_update_perslid ( - p_import_key IN NUMBER) +CREATE OR REPLACE PROCEDURE wzuv_update_perslid (p_import_key IN NUMBER) IS + v_errormsg VARCHAR2 (1000); + v_errorhint VARCHAR2 (1000); + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); + v_aanduiding VARCHAR2 (200); + v_count_error NUMBER (10); - v_errormsg VARCHAR2 (1000); - v_errorhint VARCHAR2 (1000); - oracle_err_num NUMBER; - oracle_err_mes VARCHAR2 (200); - v_aanduiding VARCHAR2 (200); - v_count_error NUMBER (10); - -- Alle medewerkers (bedrijf is WZU, key 41) verwijderen die niet meer in import bestand voorkomen. -- Match bij WZUV is personeelnummer, hieronder de query om alle personen te verwijderen die: -- a) niet meer in het importbestand staan, wel in Facilitor, en @@ -210,11 +288,145 @@ IS ORDER BY 2; CURSOR c_uit IS - SELECT p.prs_perslid_key, p.prs_perslid_nr, ip.prs_kenmerk1 datum_uit, ip.prs_kenmerk3 mail_mgr + SELECT p.prs_perslid_key, + p.prs_perslid_nr, + ip.prs_kenmerk1 datum_uit, + ip.prs_kenmerk3 mail_mgr FROM fac_imp_perslid ip, prs_perslid p WHERE ip.prs_perslid_nr = p.prs_perslid_nr - AND ip.prs_kenmerk1 IS NOT NULL; - + AND ip.prs_kenmerk1 IS NOT NULL; + + v_count NUMBER; +BEGIN + -- generic update + -- 'LOGIN' betekent dat op basis van Login wordt gematched. + -- 'NR' betekent dat op basis van Personeelsnummer wordt gematched. + -- 'A' betekent altijd alle (andere/overige) werkplekken verwijderen + prs.update_perslid (p_import_key, 'NR', NULL); + + -- Verwijder personen die niet meer in de import voorkomen. + FOR rec IN c_del + LOOP + BEGIN + prs.delete_perslid (p_import_key, rec.prs_perslid_key); + END; + END LOOP; + + FOR rec IN c_uit + LOOP + BEGIN + v_aanduiding := rec.prs_perslid_nr; + + --- Datum uit dienst opnemen bij perslid + flx.setflex ('PRS', + 1041, + rec.prs_perslid_key, + rec.datum_uit); + + --- Mailadres manager opnemen bij perslid + flx.setflex ('PRS', + 1040, + rec.prs_perslid_key, + rec.mail_mgr); + EXCEPTION + WHEN OTHERS + THEN + v_count_error := v_count_error + 1; + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + ' (ORACLE error number = <' + || oracle_err_num + || '> ORACLE error message = <' + || oracle_err_mes + || '>)'; + + fac.imp_writelog (p_import_key, + 'E', + v_aanduiding || v_errormsg, + v_errorhint); + END; + END LOOP; +END wzuv_update_perslid; +/ + +CREATE OR REPLACE PROCEDURE wzuv_import_client (p_import_key IN NUMBER) +AS + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); + v_errormsg VARCHAR2 (400); + v_errorhint VARCHAR2 (400); + v_aantal_in_FCLT NUMBER; +BEGIN + v_errorhint := 'Generieke update'; + + UPDATE FAC_IMP_FILE + SET fac_imp_file_line = REPLACE (fac_imp_file_line, ',', ';') + WHERE fac_import_key = p_import_key; + + UPDATE FAC_IMP_FILE + SET fac_imp_file_line = REPLACE (fac_imp_file_line, '"', '') + WHERE fac_import_key = p_import_key; + + -- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc + prs.import_perslid ( + p_import_key, + '0;0;0;0;0;0;1;4;3;0;' + || '2;6;5;8;7;0;0;0;0;1;' + || '1;0;0;0;0;0;9;10;0;0;' + || '0;0;0;0;0;0;0;0;0;0;' + || '0;0;0;0;0;0', + -- 'identificatie;voornaam;initialen;tussenvoegsel;achternaam eigen;tussenvoegsel partner;achternaam partner;geslacht;naamsamenstelling;geboortedatum;straat;huisnummer;huisnummertoevoeging;postcode;plaats;BSN;locatie naam;locatie id%'); + 'identificatie;initialen;tussenvoegsel;achternaam eigen;tussenvoegsel partner;achternaam partner;geslacht;naamsamenstelling;locatie naam;locatie id%'); + + --- De afdeling is altijd 'CLIENT' + UPDATE FAC_IMP_PERSLID I + SET PRS_AFDELING_NAAM = 'CLIENT'; + + --- De functie is altijd 'Cliënt' + UPDATE FAC_IMP_PERSLID I + SET PRS_SRTPERSLID_OMSCHRIJVING = 'Cliënt'; + + --- Om te voorkomen dat cliëntnummers identiek zijn aan personeelsnummers vullen we deze aan + UPDATE FAC_IMP_PERSLID I + SET PRS_PERSLID_NR = 'Nedap-' || prs_perslid_nr; + + COMMIT; +EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 100); + v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes; + fac.imp_writelog (p_import_key, + 'E', + v_errormsg, + v_errorhint); +END wzuv_import_client; +/ + +CREATE OR REPLACE PROCEDURE wzuv_update_client (p_import_key IN NUMBER) +IS + -- Alle cliënten (bedrijf is Cliënt, key 8393) verwijderen die niet meer in import bestand voorkomen. + -- Match bij WZUV is personeelnummer, hieronder de query om alle personen te verwijderen die: + -- a) niet meer in het importbestand staan, wel in Facilitor, en + -- b) waarvan de persoon in Facilitor niet begint met een _ in de loginnaam (ook van af blijven) + + CURSOR c_del IS + SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full + FROM fac_imp_perslid i, + prs_perslid p, + prs_v_perslid_fullnames_all pf, + prs_v_afdeling a + WHERE UPPER (p.prs_perslid_nr) = UPPER (i.prs_perslid_nr(+)) + AND p.prs_perslid_verwijder IS NULL + AND SUBSTR (p.prs_perslid_oslogin, 1, 1) <> '_' + AND pf.prs_perslid_key = p.prs_perslid_key + AND i.prs_perslid_nr IS NULL + AND p.prs_afdeling_key = a.prs_afdeling_key + AND a.prs_bedrijf_key = 8393 + ORDER BY 2; + v_count NUMBER; BEGIN -- generic update @@ -230,183 +442,46 @@ BEGIN prs.delete_perslid (p_import_key, rec.prs_perslid_key); END; END LOOP; - - FOR rec IN c_uit - LOOP - BEGIN - - v_aanduiding := rec.prs_perslid_nr; - - --- Datum uit dienst opnemen bij perslid - flx.setflex ('PRS', - 1021, - rec.prs_perslid_key, - rec.datum_uit); - - --- Mailadres manager opnemen bij perslid - flx.setflex ('PRS', - 1041, - rec.prs_perslid_key, - rec.mail_mgr); - - EXCEPTION - WHEN OTHERS - THEN - v_count_error := v_count_error + 1; - oracle_err_num := SQLCODE; - oracle_err_mes := SUBSTR (sqlerrm, 1, 200); - v_errormsg := - ' (ORACLE error number = <' - || oracle_err_num - || '> ORACLE error message = <' - || oracle_err_mes - || '>)'; - - fac.imp_writelog (p_import_key, - 'E', - v_aanduiding || v_errormsg, - v_errorhint); - - - END; - END LOOP; - -END wzuv_update_perslid; -/ - -CREATE OR REPLACE PROCEDURE wzuv_import_client (p_import_key IN NUMBER) -AS - oracle_err_num NUMBER; - oracle_err_mes VARCHAR2 (200); - v_errormsg VARCHAR2 (400); - v_errorhint VARCHAR2 (400); - v_aantal_in_FCLT NUMBER; -BEGIN - v_errorhint := 'Generieke update'; - - UPDATE FAC_IMP_FILE - SET fac_imp_file_line = REPLACE (fac_imp_file_line, ',', ';') - WHERE fac_import_key = p_import_key; - - UPDATE FAC_IMP_FILE - SET fac_imp_file_line = REPLACE (fac_imp_file_line, '"', '') - WHERE fac_import_key = p_import_key; - - -- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc - prs.import_perslid ( - p_import_key, - '0;0;0;0;0;0;1;4;3;0;' - || '2;6;5;8;7;0;0;0;0;1;' - || '1;0;0;0;0;0;9;10;0;0;' - || '0;0;0;0;0;0;0;0;0;0;' - || '0;0;0;0;0;0', - -- 'identificatie;voornaam;initialen;tussenvoegsel;achternaam eigen;tussenvoegsel partner;achternaam partner;geslacht;naamsamenstelling;geboortedatum;straat;huisnummer;huisnummertoevoeging;postcode;plaats;BSN;locatie naam;locatie id%'); - 'identificatie;initialen;tussenvoegsel;achternaam eigen;tussenvoegsel partner;achternaam partner;geslacht;naamsamenstelling;locatie naam;locatie id%'); - - --- De afdeling is altijd 'CLIENT' - UPDATE FAC_IMP_PERSLID I - SET PRS_AFDELING_NAAM = 'CLIENT'; - - --- De functie is altijd 'Cliënt' - UPDATE FAC_IMP_PERSLID I - SET PRS_SRTPERSLID_OMSCHRIJVING = 'Cliënt'; - - --- Om te voorkomen dat cliëntnummers identiek zijn aan personeelsnummers vullen we deze aan - UPDATE FAC_IMP_PERSLID I - SET PRS_PERSLID_NR = 'Nedap-' || prs_perslid_nr; - - COMMIT; -EXCEPTION - WHEN OTHERS - THEN - oracle_err_num := SQLCODE; - oracle_err_mes := SUBSTR (SQLERRM, 1, 100); - v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes; - fac.imp_writelog (p_import_key, - 'E', - v_errormsg, - v_errorhint); -END wzuv_import_client; -/ - -CREATE OR REPLACE PROCEDURE wzuv_update_client (p_import_key IN NUMBER) -IS - -- Alle cliënten (bedrijf is Cliënt, key 8393) verwijderen die niet meer in import bestand voorkomen. - -- Match bij WZUV is personeelnummer, hieronder de query om alle personen te verwijderen die: - -- a) niet meer in het importbestand staan, wel in Facilitor, en - -- b) waarvan de persoon in Facilitor niet begint met een _ in de loginnaam (ook van af blijven) - - CURSOR c_del - IS - SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full - FROM fac_imp_perslid i, - prs_perslid p, - prs_v_perslid_fullnames_all pf, - prs_v_afdeling a - WHERE UPPER (p.prs_perslid_nr) = UPPER (i.prs_perslid_nr(+)) - AND p.prs_perslid_verwijder IS NULL - AND SUBSTR (p.prs_perslid_oslogin, 1, 1) <> '_' - AND pf.prs_perslid_key = p.prs_perslid_key - AND i.prs_perslid_nr IS NULL - AND p.prs_afdeling_key = a.prs_afdeling_key - AND a.prs_bedrijf_key = 8393 - ORDER BY 2; - - v_count NUMBER; -BEGIN - -- generic update - -- 'LOGIN' betekent dat op basis van Login wordt gematched. - -- 'NR' betekent dat op basis van Personeelsnummer wordt gematched. - -- 'A' betekent altijd alle (andere/overige) werkplekken verwijderen - prs.update_perslid (p_import_key, 'NR', NULL); - - -- Verwijder personen die niet meer in de import voorkomen. - FOR rec IN c_del - LOOP - BEGIN - prs.delete_perslid (p_import_key, rec.prs_perslid_key); - END; - END LOOP; END wzuv_update_client; / CREATE OR REPLACE FORCE VIEW WZUV_V_INS_QRC_RUIMTE ( - FCLT_3D_LOCATIE_KEY, - FCLT_F_LOCATIE, - FCLT_F_GEBOUW, - PLAATS, - SOORTRUIMTE, - INS_ALG_RUIMTE_TYPE, - ALG_RUIMTE_OMSCHRIJVING, - ALG_DISTRICT_KEY, - ALG_RUIMTE_NR, - ALG_RUIMTE_KEY, - HIDE_F_BOOKMARK_ID + FCLT_3D_LOCATIE_KEY, + FCLT_F_LOCATIE, + FCLT_F_GEBOUW, + PLAATS, + SOORTRUIMTE, + INS_ALG_RUIMTE_TYPE, + ALG_RUIMTE_OMSCHRIJVING, + ALG_DISTRICT_KEY, + ALG_RUIMTE_NR, + ALG_RUIMTE_KEY, + HIDE_F_BOOKMARK_ID ) AS - SELECT l.alg_locatie_key, - l.alg_locatie_omschrijving, - x.alg_gebouw_naam, - SUBSTR (x.alg_plaatsaanduiding, 7) plaats, - x.alg_ruimte_omschrijving soortruimte, - sr.alg_srtruimte_omschrijving, - r.alg_ruimte_omschrijving, - l.alg_district_key, - x.alg_plaatsaanduiding, - r.alg_ruimte_key, - b.fac_bookmark_id - FROM ALG_V_ALLONRGOED_GEGEVENS x, - alg_locatie l, - alg_district di, - fac_bookmark b, - alg_ruimte r, - alg_srtruimte sr - WHERE b.fac_bookmark_naam = 'QRC naar ruimte' - AND X.ALG_RUIMTE_KEY = R.ALG_RUIMTE_KEY - AND R.ALG_SRTRUIMTE_KEY = SR.ALG_SRTRUIMTE_KEY - AND x.alg_locatie_key = L.ALG_LOCATIE_KEY - AND l.alg_district_key = di.alg_district_key; + SELECT l.alg_locatie_key, + l.alg_locatie_omschrijving, + x.alg_gebouw_naam, + SUBSTR (x.alg_plaatsaanduiding, 7) plaats, + x.alg_ruimte_omschrijving soortruimte, + sr.alg_srtruimte_omschrijving, + r.alg_ruimte_omschrijving, + l.alg_district_key, + x.alg_plaatsaanduiding, + r.alg_ruimte_key, + b.fac_bookmark_id + FROM ALG_V_ALLONRGOED_GEGEVENS x, + alg_locatie l, + alg_district di, + fac_bookmark b, + alg_ruimte r, + alg_srtruimte sr + WHERE b.fac_bookmark_naam = 'QRC naar ruimte' + AND X.ALG_RUIMTE_KEY = R.ALG_RUIMTE_KEY + AND R.ALG_SRTRUIMTE_KEY = SR.ALG_SRTRUIMTE_KEY + AND x.alg_locatie_key = L.ALG_LOCATIE_KEY + AND l.alg_district_key = di.alg_district_key; --8441 Huismeester --1842 Huismeester/Technische dienst @@ -416,33 +491,35 @@ AS CREATE OR REPLACE VIEW WZUV_V_HUISMEESTERS ( - prs_perslid_key, - naam, - verwijder + prs_perslid_key, + naam, + verwijder ) AS - SELECT prs_perslid_key, - prs_perslid_naam - || ', ' - || prs_perslid_tussenvoegsel - || ' (' - || prs_perslid_voornaam - || ')' - AS naam, - prs_perslid_verwijder - FROM prs_perslid - WHERE prs_srtperslid_key IN (8441, 1842, 1786, 1845); + SELECT prs_perslid_key, + prs_perslid_naam + || ', ' + || prs_perslid_tussenvoegsel + || ' (' + || prs_perslid_voornaam + || ')' AS naam, + prs_perslid_verwijder + FROM prs_perslid + WHERE prs_srtperslid_key IN (8441, + 1842, + 1786, + 1845); CREATE OR REPLACE VIEW WZUV_V_GEBOUW_KPL ( - kpl_key, - omschrijving + kpl_key, + omschrijving ) AS - SELECT prs_kostenplaats_key, - prs_kostenplaats_nr || ' ' || prs_kostenplaats_omschrijving - FROM PRS_V_AANWEZIGKOSTENPLAATS - WHERE prs_kostenplaats_module = 'ALG'; + SELECT prs_kostenplaats_key, + prs_kostenplaats_nr || ' ' || prs_kostenplaats_omschrijving + FROM PRS_V_AANWEZIGKOSTENPLAATS + WHERE prs_kostenplaats_module = 'ALG'; COMMIT; @@ -451,590 +528,573 @@ COMMIT; CREATE OR REPLACE VIEW WZUV_V_RAP_RES ( - PERSNR, - RESERVERING, - ARTIKELCODE, - AANTAL, - BEDRAG, - FACTUURPERIODE, - SOORT, - OMSCHRIJVING, - INT_EXT, - KOSTENPLAATS, - RES_RSV_RUIMTE_KEY, - MAAND + PERSNR, + RESERVERING, + ARTIKELCODE, + AANTAL, + BEDRAG, + FACTUURPERIODE, + SOORT, + OMSCHRIJVING, + INT_EXT, + KOSTENPLAATS, + RES_RSV_RUIMTE_KEY, + MAAND ) AS - SELECT CASE - WHEN UPPER (p.prs_perslid_nr) LIKE 'NEDAP%' - THEN - SUBSTR (p.prs_perslid_nr, 7) - ELSE - p.prs_perslid_nr - END - AS persnr, - rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr, - TO_CHAR (ar.alg_ruimte_key), - COALESCE ( (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24, - 0) - duur_ruimte, - rrr.res_rsv_ruimte_prijs, - TO_CHAR (rrr.res_rsv_ruimte_van, 'mm-yyyy') factuurperiode, - 'Ruimte', - TO_CHAR (rrr.res_rsv_ruimte_van, 'month yyyy') - || ' - Reserveringsnummer: ' - || rrr.res_reservering_key - || '/' - || rrr.res_rsv_ruimte_volgnr - || ' - ' - || rr.res_ruimte_nr - aanduiding, - DECODE (prs_afdeling_key, 422, 'Cliënt', 'Intern') soort, - kpl_ruimte.prs_kostenplaats_nr, - rrr.res_rsv_ruimte_key, - TO_CHAR (rrr.res_rsv_ruimte_van, 'mm') - FROM res_rsv_ruimte rrr, - prs_perslid p, - prs_kostenplaats kp, - res_v_rsv_ruimte_2_alg_ruimte ar, - alg_v_allonroerendgoed aog, - res_ruimte rr, - (SELECT kpr.*, kpl.prs_kostenplaats_nr - FROM alg_onrgoedkenmerk kpr, prs_kostenplaats kpl - WHERE kpr.alg_kenmerk_key = 1061 - AND kpr.alg_onrgoedkenmerk_waarde = - kpl.prs_kostenplaats_key) kpl_ruimte - WHERE rrr.res_status_bo_key = 5 - AND rrr.res_rsv_ruimte_dirtlevel = 0 - AND rrr.res_rsv_ruimte_verwijder IS NULL - AND res_rsv_ruimte_host_key = p.prs_perslid_key - AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) - AND ar.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key - AND ar.res_ruimte_key = rr.res_ruimte_key - AND ar.alg_ruimte_key = aog.alg_ruimte_key - AND kpl_ruimte.alg_onrgoed_key(+) = aog.alg_gebouw_key - UNION ALL - SELECT CASE - WHEN UPPER (p.prs_perslid_nr) LIKE 'NEDAP%' - THEN - SUBSTR (p.prs_perslid_nr, 7) - ELSE - p.prs_perslid_nr - END - AS persnr, - rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr, - a.res_artikel_nr, - ra.res_rsv_artikel_aantal, - ra.res_rsv_artikel_prijs, - TO_CHAR (rrr.res_rsv_ruimte_van, 'mm-yyyy') factuurperiode, - 'Catering', - TO_CHAR (rrr.res_rsv_ruimte_van, 'month yyyy') - || ' - ' - || TO_CHAR (rrr.res_reservering_key) - || '/' - || TO_CHAR (rrr.res_rsv_ruimte_volgnr) - || ' - ' - || TO_CHAR (a.res_artikel_omschrijving) - aanduiding, - DECODE (p.prs_afdeling_key, 422, 'Cliënt', 'Intern') soort, - kpl_cat.prs_kostenplaats_nr, - rrr.res_rsv_ruimte_key, - TO_CHAR (rrr.res_rsv_ruimte_van, 'mm') - FROM res_rsv_artikel ra, - res_rsv_ruimte rrr, - res_artikel a, - prs_perslid p, - prs_kostenplaats kp, - res_v_rsv_ruimte_2_alg_ruimte ar, - alg_v_allonroerendgoed aog, - (SELECT kpr.*, kpl.prs_kostenplaats_nr - FROM alg_onrgoedkenmerk kpr, prs_kostenplaats kpl - WHERE kpr.alg_kenmerk_key = 1060 - AND kpr.alg_onrgoedkenmerk_waarde = - kpl.prs_kostenplaats_key) kpl_cat - WHERE ra.res_status_bo_key = 5 - AND rrr.res_rsv_ruimte_flag = 2 - AND ra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key - AND ra.res_artikel_key = a.res_artikel_key - AND ra.res_rsv_artikel_dirtlevel = 0 - AND ra.res_rsv_artikel_verwijder IS NULL - AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key - AND ar.res_rsv_ruimte_key(+) = rrr.res_rsv_ruimte_key - AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) - AND (aog.alg_ruimte_key = rrr.alg_ruimte_key - OR aog.alg_ruimte_key = ar.alg_ruimte_key) - AND kpl_cat.alg_onrgoed_key(+) = aog.alg_gebouw_key; + SELECT CASE + WHEN UPPER (p.prs_perslid_nr) LIKE 'NEDAP%' + THEN + SUBSTR (p.prs_perslid_nr, 7) + ELSE + p.prs_perslid_nr + END AS persnr, + rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr, + TO_CHAR (ar.alg_ruimte_key), + COALESCE ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24, + 0) duur_ruimte, + rrr.res_rsv_ruimte_prijs, + TO_CHAR (rrr.res_rsv_ruimte_van, 'mm-yyyy') factuurperiode, + 'Ruimte', + TO_CHAR (rrr.res_rsv_ruimte_van, 'month yyyy') + || ' - Reserveringsnummer: ' + || rrr.res_reservering_key + || '/' + || rrr.res_rsv_ruimte_volgnr + || ' - ' + || rr.res_ruimte_nr aanduiding, + DECODE (prs_afdeling_key, 422, 'Cliënt', 'Intern') soort, + kpl_ruimte.prs_kostenplaats_nr, + rrr.res_rsv_ruimte_key, + TO_CHAR (rrr.res_rsv_ruimte_van, 'mm') + FROM res_rsv_ruimte rrr, + prs_perslid p, + prs_kostenplaats kp, + res_v_rsv_ruimte_2_alg_ruimte ar, + alg_v_allonroerendgoed aog, + res_ruimte rr, + (SELECT kpr.*, kpl.prs_kostenplaats_nr + FROM alg_onrgoedkenmerk kpr, prs_kostenplaats kpl + WHERE kpr.alg_kenmerk_key = 1061 + AND kpr.alg_onrgoedkenmerk_waarde = + kpl.prs_kostenplaats_key) kpl_ruimte + WHERE rrr.res_status_bo_key = 5 + AND rrr.res_rsv_ruimte_dirtlevel = 0 + AND rrr.res_rsv_ruimte_verwijder IS NULL + AND res_rsv_ruimte_host_key = p.prs_perslid_key + AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) + AND ar.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key + AND ar.res_ruimte_key = rr.res_ruimte_key + AND ar.alg_ruimte_key = aog.alg_ruimte_key + AND kpl_ruimte.alg_onrgoed_key(+) = aog.alg_gebouw_key + UNION ALL + SELECT CASE + WHEN UPPER (p.prs_perslid_nr) LIKE 'NEDAP%' + THEN + SUBSTR (p.prs_perslid_nr, 7) + ELSE + p.prs_perslid_nr + END AS persnr, + rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr, + a.res_artikel_nr, + ra.res_rsv_artikel_aantal, + ra.res_rsv_artikel_prijs, + TO_CHAR (rrr.res_rsv_ruimte_van, 'mm-yyyy') factuurperiode, + 'Catering', + TO_CHAR (rrr.res_rsv_ruimte_van, 'month yyyy') + || ' - ' + || TO_CHAR (rrr.res_reservering_key) + || '/' + || TO_CHAR (rrr.res_rsv_ruimte_volgnr) + || ' - ' + || TO_CHAR (a.res_artikel_omschrijving) aanduiding, + DECODE (p.prs_afdeling_key, 422, 'Cliënt', 'Intern') soort, + kpl_cat.prs_kostenplaats_nr, + rrr.res_rsv_ruimte_key, + TO_CHAR (rrr.res_rsv_ruimte_van, 'mm') + FROM res_rsv_artikel ra, + res_rsv_ruimte rrr, + res_artikel a, + prs_perslid p, + prs_kostenplaats kp, + res_v_rsv_ruimte_2_alg_ruimte ar, + alg_v_allonroerendgoed aog, + (SELECT kpr.*, kpl.prs_kostenplaats_nr + FROM alg_onrgoedkenmerk kpr, prs_kostenplaats kpl + WHERE kpr.alg_kenmerk_key = 1060 + AND kpr.alg_onrgoedkenmerk_waarde = + kpl.prs_kostenplaats_key) kpl_cat + WHERE ra.res_status_bo_key = 5 + AND rrr.res_rsv_ruimte_flag = 2 + AND ra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key + AND ra.res_artikel_key = a.res_artikel_key + AND ra.res_rsv_artikel_dirtlevel = 0 + AND ra.res_rsv_artikel_verwijder IS NULL + AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key + AND ar.res_rsv_ruimte_key(+) = rrr.res_rsv_ruimte_key + AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) + AND ( aog.alg_ruimte_key = rrr.alg_ruimte_key + OR aog.alg_ruimte_key = ar.alg_ruimte_key) + AND kpl_cat.alg_onrgoed_key(+) = aog.alg_gebouw_key; CREATE OR REPLACE VIEW WZUV_V_RUIMTES AS - SELECT alg_onroerendgoed_keys, - alg_gebouw_code - || ' - ' - || alg_verdieping_omschrijving - || ' - ' - || alg_ruimte_nr - || ' - ' - || alg_ruimte_omschrijving - AS RUIMTE - FROM alg_v_allonrgoed_gegevens - WHERE alg_ruimte_key IS NOT NULL; + SELECT alg_onroerendgoed_keys, + alg_gebouw_code + || ' - ' + || alg_verdieping_omschrijving + || ' - ' + || alg_ruimte_nr + || ' - ' + || alg_ruimte_omschrijving AS RUIMTE + FROM alg_v_allonrgoed_gegevens + WHERE alg_ruimte_key IS NOT NULL; CREATE OR REPLACE VIEW WZUV_V_APPARTEMENTEN AS - SELECT r.alg_ruimte_key, - og.alg_gebouw_code - || '-' - || og.alg_verdieping_code - || '-' - || og.alg_ruimte_omschrijving - AS APPARTEMENT - FROM alg_v_allonrgoed_gegevens og, alg_ruimte r - WHERE og.alg_type = 'R' - AND r.alg_ruimte_key = og.alg_ruimte_key - AND r.alg_srtruimte_key = 17; + SELECT r.alg_ruimte_key, + og.alg_gebouw_code + || '-' + || og.alg_verdieping_code + || '-' + || og.alg_ruimte_omschrijving AS APPARTEMENT + FROM alg_v_allonrgoed_gegevens og, alg_ruimte r + WHERE og.alg_type = 'R' + AND r.alg_ruimte_key = og.alg_ruimte_key + AND r.alg_srtruimte_key = 17; CREATE OR REPLACE PROCEDURE wzuv_select_reservering ( - p_applname IN VARCHAR2, - p_applrun IN VARCHAR2) + p_applname IN VARCHAR2, + p_applrun IN VARCHAR2) AS - -- status is geregistreerd (2) - -- de reservering ligt in het verleden - -- dan kan de ruimte prijs berekend worden - CURSOR cres - IS - SELECT res_rsv_ruimte_key, - res_reservering_key || '/' || res_rsv_ruimte_volgnr aanduiding - FROM res_rsv_ruimte rrr - WHERE rrr.res_status_bo_key = 2 - AND rrr.res_rsv_ruimte_dirtlevel = 0 - AND rrr.res_rsv_ruimte_verwijder IS NULL - AND fac.count_work_days (res_rsv_ruimte_tot, SYSDATE) > 0; + -- status is geregistreerd (2) + -- de reservering ligt in het verleden + -- dan kan de ruimte prijs berekend worden + CURSOR cres IS + SELECT res_rsv_ruimte_key, + res_reservering_key || '/' || res_rsv_ruimte_volgnr aanduiding + FROM res_rsv_ruimte rrr + WHERE rrr.res_status_bo_key = 2 + AND rrr.res_rsv_ruimte_dirtlevel = 0 + AND rrr.res_rsv_ruimte_verwijder IS NULL + AND fac.count_work_days (res_rsv_ruimte_tot, SYSDATE) > 0; - -- catering is geleverd (flag = 2) - -- dan mag de catering berekend worden - -- voor de zekerheid controleren we ook of de reservering in het verleden ligt - CURSOR cart - IS - SELECT TO_CHAR (rrr.res_reservering_key) - || '/' - || TO_CHAR (rrr.res_rsv_ruimte_volgnr) - || ' - ' - || TO_CHAR (a.res_artikel_omschrijving) - aanduiding, - ra.res_rsv_ruimte_key, - ra.res_rsv_artikel_key, - ra.res_artikel_key, - a.res_artikel_omschrijving - FROM res_rsv_artikel ra, res_rsv_ruimte rrr, res_artikel a - WHERE ra.res_status_bo_key = 2 - AND ra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key - AND ra.res_artikel_key = a.res_artikel_key - AND ra.res_rsv_artikel_dirtlevel = 0 - AND ra.res_rsv_artikel_verwijder IS NULL - AND fac.count_work_days (res_rsv_artikel_levering, SYSDATE) > 0 - AND rrr.res_rsv_ruimte_flag = 2; + -- catering is geleverd (flag = 2) + -- dan mag de catering berekend worden + -- voor de zekerheid controleren we ook of de reservering in het verleden ligt + CURSOR cart IS + SELECT TO_CHAR (rrr.res_reservering_key) + || '/' + || TO_CHAR (rrr.res_rsv_ruimte_volgnr) + || ' - ' + || TO_CHAR (a.res_artikel_omschrijving) aanduiding, + ra.res_rsv_ruimte_key, + ra.res_rsv_artikel_key, + ra.res_artikel_key, + a.res_artikel_omschrijving + FROM res_rsv_artikel ra, res_rsv_ruimte rrr, res_artikel a + WHERE ra.res_status_bo_key = 2 + AND ra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key + AND ra.res_artikel_key = a.res_artikel_key + AND ra.res_rsv_artikel_dirtlevel = 0 + AND ra.res_rsv_artikel_verwijder IS NULL + AND fac.count_work_days (res_rsv_artikel_levering, SYSDATE) > + 0 + AND rrr.res_rsv_ruimte_flag = 2; - v_prijs NUMBER (9, 2); - v_errorhint VARCHAR2 (1000); - v_errormsg VARCHAR2 (1000); - oracle_err_num NUMBER; - oracle_err_mes VARCHAR2 (200); + v_prijs NUMBER (9, 2); + v_errorhint VARCHAR2 (1000); + v_errormsg VARCHAR2 (1000); + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); BEGIN - FOR rc IN cres - LOOP - BEGIN - v_errorhint := 'Fout bij bepalen res_rsv_ruimte_prijs.'; + FOR rc IN cres + LOOP + BEGIN + v_errorhint := 'Fout bij bepalen res_rsv_ruimte_prijs.'; - SELECT res.getruimteprijs (rc.res_rsv_ruimte_key) - INTO v_prijs - FROM DUAL; + SELECT res.getruimteprijs (rc.res_rsv_ruimte_key) + INTO v_prijs + FROM DUAL; - v_errorhint := 'Fout bij bijwerken res_rsv_ruimte_prijs.'; + v_errorhint := 'Fout bij bijwerken res_rsv_ruimte_prijs.'; - UPDATE res_rsv_ruimte - SET res_status_bo_key = 5, res_rsv_ruimte_prijs = v_prijs - WHERE res_rsv_ruimte_key = rc.res_rsv_ruimte_key; + UPDATE res_rsv_ruimte + SET res_status_bo_key = 5, res_rsv_ruimte_prijs = v_prijs + WHERE res_rsv_ruimte_key = rc.res_rsv_ruimte_key; - fac.trackaction ('RESAFM', - rc.res_rsv_ruimte_key, - NULL, - NULL, - NULL); - EXCEPTION - WHEN OTHERS - THEN - oracle_err_num := SQLCODE; - oracle_err_mes := SUBSTR (SQLERRM, 1, 200); - v_errormsg := - ' ORACLE (error ' - || oracle_err_num - || '/' - || oracle_err_mes - || ')'; - fac.writelog (p_applname, - 'W', - rc.aanduiding || v_errormsg, - v_errorhint); - COMMIT; - END; - END LOOP; + fac.trackaction ('RESAFM', + rc.res_rsv_ruimte_key, + NULL, + NULL, + NULL); + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.writelog (p_applname, + 'W', + rc.aanduiding || v_errormsg, + v_errorhint); + COMMIT; + END; + END LOOP; - FOR rc IN cart - LOOP - BEGIN - v_errorhint := 'Fout bij bepalen res_rsv_artikel_prijs.'; + FOR rc IN cart + LOOP + BEGIN + v_errorhint := 'Fout bij bepalen res_rsv_artikel_prijs.'; - SELECT res.getartikelprijs (rc.res_rsv_artikel_key) - INTO v_prijs - FROM DUAL; + SELECT res.getartikelprijs (rc.res_rsv_artikel_key) + INTO v_prijs + FROM DUAL; - v_errorhint := 'Fout bij bijwerken res_rsv_artikel_prijs.'; + v_errorhint := 'Fout bij bijwerken res_rsv_artikel_prijs.'; - UPDATE res_rsv_artikel - SET res_status_bo_key = 5, - res_rsv_artikel_prijs = v_prijs, - res_rsv_artikel_inkoopprijs = - (SELECT res_artikel_inkoopprijs - FROM res_artikel - WHERE res_artikel_key = rc.res_artikel_key), - res_rsv_artikel_btw = - (SELECT res_artikel_btw - FROM res_artikel - WHERE res_artikel_key = rc.res_artikel_key) - WHERE res_rsv_artikel_key = rc.res_rsv_artikel_key; + UPDATE res_rsv_artikel + SET res_status_bo_key = 5, + res_rsv_artikel_prijs = v_prijs, + res_rsv_artikel_inkoopprijs = + (SELECT res_artikel_inkoopprijs + FROM res_artikel + WHERE res_artikel_key = rc.res_artikel_key), + res_rsv_artikel_btw = + (SELECT res_artikel_btw + FROM res_artikel + WHERE res_artikel_key = rc.res_artikel_key) + WHERE res_rsv_artikel_key = rc.res_rsv_artikel_key; - fac.trackaction ( - 'RESAFM', - rc.res_rsv_ruimte_key, - NULL, - NULL, - 'Catering ' || rc.res_artikel_omschrijving || ' afgemeld'); - EXCEPTION - WHEN OTHERS - THEN - oracle_err_num := SQLCODE; - oracle_err_mes := SUBSTR (SQLERRM, 1, 200); - v_errormsg := - ' ORACLE (error ' - || oracle_err_num - || '/' - || oracle_err_mes - || ')'; - fac.writelog (p_applname, - 'W', - rc.aanduiding || v_errormsg, - v_errorhint); - COMMIT; - END; - END LOOP; + fac.trackaction ( + 'RESAFM', + rc.res_rsv_ruimte_key, + NULL, + NULL, + 'Catering ' || rc.res_artikel_omschrijving || ' afgemeld'); + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.writelog (p_applname, + 'W', + rc.aanduiding || v_errormsg, + v_errorhint); + COMMIT; + END; + END LOOP; - COMMIT; + COMMIT; END; / CREATE OR REPLACE PROCEDURE wzuv_export_reservering ( - p_applname IN VARCHAR2, - p_applrun IN VARCHAR2, - p_filedir IN VARCHAR2, - p_filename IN VARCHAR2) + p_applname IN VARCHAR2, + p_applrun IN VARCHAR2, + p_filedir IN VARCHAR2, + p_filename IN VARCHAR2) AS - -- status is afgemeld - -- de reservering ligt in het verleden - -- dan kan de ruimte prijs berekend worden - CURSOR cres - IS - SELECT res_rsv_ruimte_key, - res_reservering_key || '/' || res_rsv_ruimte_volgnr aanduiding - FROM res_rsv_ruimte rrr - WHERE rrr.res_status_bo_key = 5 - AND rrr.res_rsv_ruimte_dirtlevel = 0 - AND rrr.res_rsv_ruimte_verwijder IS NULL - AND fac.count_work_days (res_rsv_ruimte_tot, SYSDATE) > 0; + -- status is afgemeld + -- de reservering ligt in het verleden + -- dan kan de ruimte prijs berekend worden + CURSOR cres IS + SELECT res_rsv_ruimte_key, + res_reservering_key || '/' || res_rsv_ruimte_volgnr aanduiding + FROM res_rsv_ruimte rrr + WHERE rrr.res_status_bo_key = 5 + AND rrr.res_rsv_ruimte_dirtlevel = 0 + AND rrr.res_rsv_ruimte_verwijder IS NULL + AND fac.count_work_days (res_rsv_ruimte_tot, SYSDATE) > 0; - -- catering is geleverd (flag = 2) - -- dan mag de catering berekend worden - -- voor de zekerheid controleren we ook of de reservering in het verleden ligt - -- status is afgemeld - CURSOR cart - IS - SELECT TO_CHAR (rrr.res_reservering_key) - || '/' - || TO_CHAR (rrr.res_rsv_ruimte_volgnr) - || ' - ' - || TO_CHAR (a.res_artikel_omschrijving) - aanduiding, - ra.res_rsv_ruimte_key, - ra.res_rsv_artikel_key, - ra.res_artikel_key, - a.res_artikel_omschrijving - FROM res_rsv_artikel ra, res_rsv_ruimte rrr, res_artikel a - WHERE ra.res_status_bo_key = 5 - AND ra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key - AND ra.res_artikel_key = a.res_artikel_key - AND ra.res_rsv_artikel_dirtlevel = 0 - AND ra.res_rsv_artikel_verwijder IS NULL - AND fac.count_work_days (res_rsv_artikel_levering, SYSDATE) > 0 - AND rrr.res_rsv_ruimte_flag = 2; + -- catering is geleverd (flag = 2) + -- dan mag de catering berekend worden + -- voor de zekerheid controleren we ook of de reservering in het verleden ligt + -- status is afgemeld + CURSOR cart IS + SELECT TO_CHAR (rrr.res_reservering_key) + || '/' + || TO_CHAR (rrr.res_rsv_ruimte_volgnr) + || ' - ' + || TO_CHAR (a.res_artikel_omschrijving) aanduiding, + ra.res_rsv_ruimte_key, + ra.res_rsv_artikel_key, + ra.res_artikel_key, + a.res_artikel_omschrijving + FROM res_rsv_artikel ra, res_rsv_ruimte rrr, res_artikel a + WHERE ra.res_status_bo_key = 5 + AND ra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key + AND ra.res_artikel_key = a.res_artikel_key + AND ra.res_rsv_artikel_dirtlevel = 0 + AND ra.res_rsv_artikel_verwijder IS NULL + AND fac.count_work_days (res_rsv_artikel_levering, SYSDATE) > + 0 + AND rrr.res_rsv_ruimte_flag = 2; - --- wzuv_rap_res bevat alle reserveringen met status 5 - afgemeld - --- al deze regels moeten uiteindelijk ook bij de reservering zichtbaar zijn vanuit de verkoopfactuurtabellen en krijgen dan status 6 - verwerkt - --- tbv van de export worden deze ook in de fac_rapport tabel gezet - CURSOR c - IS - SELECT * - FROM WZUV_V_RAP_RES - ORDER BY res_rsv_ruimte_key; + --- wzuv_rap_res bevat alle reserveringen met status 5 - afgemeld + --- al deze regels moeten uiteindelijk ook bij de reservering zichtbaar zijn vanuit de verkoopfactuurtabellen en krijgen dan status 6 - verwerkt + --- tbv van de export worden deze ook in de fac_rapport tabel gezet + CURSOR c IS + SELECT * + FROM WZUV_V_RAP_RES + ORDER BY res_rsv_ruimte_key; - v_ruimte_key_prev NUMBER; - v_verkoopfactuurkop_key NUMBER; - v_aanduiding VARCHAR2 (200); - v_errorhint VARCHAR2 (1000); - v_errormsg VARCHAR2 (1000); - oracle_err_num NUMBER; - oracle_err_mes VARCHAR2 (200); + v_ruimte_key_prev NUMBER; + v_verkoopfactuurkop_key NUMBER; + v_aanduiding VARCHAR2 (200); + v_errorhint VARCHAR2 (1000); + v_errormsg VARCHAR2 (1000); + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); BEGIN - v_ruimte_key_prev := 1; + v_ruimte_key_prev := 1; - FOR rec IN c - LOOP - IF rec.res_rsv_ruimte_key <> v_ruimte_key_prev - THEN - v_ruimte_key_prev := rec.res_rsv_ruimte_key; + FOR rec IN c + LOOP + IF rec.res_rsv_ruimte_key <> v_ruimte_key_prev + THEN + v_ruimte_key_prev := rec.res_rsv_ruimte_key; - INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id) - VALUES (rec.reservering) - RETURNING fin_verkoopfactuurkop_key - INTO v_verkoopfactuurkop_key; - END IF; + INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id) + VALUES (rec.reservering) + RETURNING fin_verkoopfactuurkop_key + INTO v_verkoopfactuurkop_key; + END IF; - INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key, - fin_verkoopfactuur_id, - fin_verkoopfactuur_datum, - fin_verkoopfactuur_omschr, - fin_verkoopfactuur_xmlnode, - fin_verkoopfactuur_refkey, - prs_kostenplaats_nr, - prs_debiteur_naam, - fin_verkoopfactuur_bedrag, - fin_verkoopfactuur_maand, - fin_verkoopfactuur_c1) - VALUES (v_verkoopfactuurkop_key, --key - TO_CHAR (rec.factuurperiode), ---id - SYSDATE, -- datum - rec.omschrijving, --omsch - 'reservering', ---xml - rec.res_rsv_ruimte_key, --refkey - rec.kostenplaats, ---kostenplnr - rec.persnr, -- debnaam - rec.bedrag, --- bedrag - rec.maand, ---- maand - rec.soort --- c1 - ); + INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key, + fin_verkoopfactuur_id, + fin_verkoopfactuur_datum, + fin_verkoopfactuur_omschr, + fin_verkoopfactuur_xmlnode, + fin_verkoopfactuur_refkey, + prs_kostenplaats_nr, + prs_debiteur_naam, + fin_verkoopfactuur_bedrag, + fin_verkoopfactuur_maand, + fin_verkoopfactuur_c1) + VALUES (v_verkoopfactuurkop_key, --key + TO_CHAR (rec.factuurperiode), ---id + SYSDATE, -- datum + rec.omschrijving, --omsch + 'reservering', ---xml + rec.res_rsv_ruimte_key, --refkey + rec.kostenplaats, ---kostenplnr + rec.persnr, -- debnaam + rec.bedrag, --- bedrag + rec.maand, ---- maand + rec.soort --- c1 + ); - COMMIT; - END LOOP; + COMMIT; + END LOOP; - FOR rc IN cres - LOOP - BEGIN - UPDATE res_rsv_ruimte - SET res_status_bo_key = 6 - WHERE res_rsv_ruimte_key = rc.res_rsv_ruimte_key; + FOR rc IN cres + LOOP + BEGIN + UPDATE res_rsv_ruimte + SET res_status_bo_key = 6 + WHERE res_rsv_ruimte_key = rc.res_rsv_ruimte_key; - fac.trackaction ('RESVER', - rc.res_rsv_ruimte_key, - NULL, - NULL, - NULL); - EXCEPTION - WHEN OTHERS - THEN - oracle_err_num := SQLCODE; - oracle_err_mes := SUBSTR (SQLERRM, 1, 200); - v_errormsg := - ' ORACLE (error ' - || oracle_err_num - || '/' - || oracle_err_mes - || ')'; - fac.writelog (p_applname, - 'W', - rc.aanduiding || v_errormsg, - v_errorhint); - COMMIT; - END; - END LOOP; + fac.trackaction ('RESVER', + rc.res_rsv_ruimte_key, + NULL, + NULL, + NULL); + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.writelog (p_applname, + 'W', + rc.aanduiding || v_errormsg, + v_errorhint); + COMMIT; + END; + END LOOP; - FOR rc IN cart - LOOP - BEGIN - UPDATE res_rsv_artikel - SET res_status_bo_key = 6 - WHERE res_rsv_artikel_key = rc.res_rsv_artikel_key; + FOR rc IN cart + LOOP + BEGIN + UPDATE res_rsv_artikel + SET res_status_bo_key = 6 + WHERE res_rsv_artikel_key = rc.res_rsv_artikel_key; - fac.trackaction ( - 'RESVER', - rc.res_rsv_ruimte_key, - NULL, - NULL, - 'Catering ' || rc.res_artikel_omschrijving || ' verwerkt'); - EXCEPTION - WHEN OTHERS - THEN - oracle_err_num := SQLCODE; - oracle_err_mes := SUBSTR (SQLERRM, 1, 200); - v_errormsg := - ' ORACLE (error ' - || oracle_err_num - || '/' - || oracle_err_mes - || ')'; - fac.writelog (p_applname, - 'W', - rc.aanduiding || v_errormsg, - v_errorhint); - COMMIT; - END; - END LOOP; + fac.trackaction ( + 'RESVER', + rc.res_rsv_ruimte_key, + NULL, + NULL, + 'Catering ' || rc.res_artikel_omschrijving || ' verwerkt'); + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 200); + v_errormsg := + ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.writelog (p_applname, + 'W', + rc.aanduiding || v_errormsg, + v_errorhint); + COMMIT; + END; + END LOOP; END; / CREATE OR REPLACE VIEW WZUV_V_EXPORT_RESERVERING ( - RESULT, - RESULT_ORDER + RESULT, + RESULT_ORDER ) AS - SELECT persnr - || ';' - || artikelcode - || ';' - || aantal - || ';' - || bedrag - || ';' - || omschrijving - || ';' - || kostenplaats, - reservering - FROM WZUV_V_RAP_RES r; + SELECT persnr + || ';' + || artikelcode + || ';' + || aantal + || ';' + || bedrag + || ';' + || omschrijving + || ';' + || kostenplaats, + reservering + FROM WZUV_V_RAP_RES r; CREATE OR REPLACE VIEW WZUV_V_RAP_RES_DEF ( - PERSNR, - RESERVERING, - ARTIKELCODE, - AANTAL, - BEDRAG, - FACTUURPERIODE, - SOORT, - OMSCHRIJVING, - INT_EXT, - KOSTENPLAATS, - RES_RSV_RUIMTE_KEY, - MAAND + PERSNR, + RESERVERING, + ARTIKELCODE, + AANTAL, + BEDRAG, + FACTUURPERIODE, + SOORT, + OMSCHRIJVING, + INT_EXT, + KOSTENPLAATS, + RES_RSV_RUIMTE_KEY, + MAAND ) AS - SELECT CASE - WHEN UPPER (p.prs_perslid_nr) LIKE 'NEDAP%' - THEN - SUBSTR (p.prs_perslid_nr, 7) - ELSE - p.prs_perslid_nr - END - AS persnr, - rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr, - TO_CHAR (ar.alg_ruimte_key), - COALESCE ( (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24, - 0) - duur_ruimte, - rrr.res_rsv_ruimte_prijs, - TO_CHAR (rrr.res_rsv_ruimte_van, 'mm-yyyy') factuurperiode, - 'Ruimte', - TO_CHAR (rrr.res_rsv_ruimte_van, 'month yyyy') - || ' - Reserveringsnummer: ' - || rrr.res_reservering_key - || '/' - || rrr.res_rsv_ruimte_volgnr - || ' - ' - || rr.res_ruimte_nr - aanduiding, - DECODE (prs_afdeling_key, 422, 'Cliënt', 'Intern') soort, - kpl_ruimte.prs_kostenplaats_nr, - rrr.res_rsv_ruimte_key, - TO_CHAR (rrr.res_rsv_ruimte_van, 'mm') - FROM res_rsv_ruimte rrr, - prs_perslid p, - prs_kostenplaats kp, - res_v_rsv_ruimte_2_alg_ruimte ar, - alg_v_allonroerendgoed aog, - res_ruimte rr, - (SELECT kpr.*, kpl.prs_kostenplaats_nr - FROM alg_onrgoedkenmerk kpr, prs_kostenplaats kpl - WHERE kpr.alg_kenmerk_key = 1061 - AND kpr.alg_onrgoedkenmerk_waarde = - kpl.prs_kostenplaats_key) kpl_ruimte - WHERE rrr.res_status_bo_key = 6 - AND rrr.res_rsv_ruimte_dirtlevel = 0 - AND rrr.res_rsv_ruimte_verwijder IS NULL - AND res_rsv_ruimte_host_key = p.prs_perslid_key - AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) - AND ar.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key - AND ar.res_ruimte_key = rr.res_ruimte_key - AND ar.alg_ruimte_key = aog.alg_ruimte_key - AND kpl_ruimte.alg_onrgoed_key(+) = aog.alg_gebouw_key - UNION ALL - SELECT CASE - WHEN UPPER (p.prs_perslid_nr) LIKE 'NEDAP%' - THEN - SUBSTR (p.prs_perslid_nr, 7) - ELSE - p.prs_perslid_nr - END - AS persnr, - rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr, - a.res_artikel_nr, - ra.res_rsv_artikel_aantal, - ra.res_rsv_artikel_prijs, - TO_CHAR (rrr.res_rsv_ruimte_van, 'mm-yyyy') factuurperiode, - 'Catering', - TO_CHAR (rrr.res_rsv_ruimte_van, 'month yyyy') - || ' - ' - || TO_CHAR (rrr.res_reservering_key) - || '/' - || TO_CHAR (rrr.res_rsv_ruimte_volgnr) - || ' - ' - || TO_CHAR (a.res_artikel_omschrijving) - aanduiding, - DECODE (p.prs_afdeling_key, 422, 'Cliënt', 'Intern') soort, - kpl_cat.prs_kostenplaats_nr, - rrr.res_rsv_ruimte_key, - TO_CHAR (rrr.res_rsv_ruimte_van, 'mm') - FROM res_rsv_artikel ra, - res_rsv_ruimte rrr, - res_artikel a, - prs_perslid p, - prs_kostenplaats kp, - res_v_rsv_ruimte_2_alg_ruimte ar, - alg_v_allonroerendgoed aog, - (SELECT kpr.*, kpl.prs_kostenplaats_nr - FROM alg_onrgoedkenmerk kpr, prs_kostenplaats kpl - WHERE kpr.alg_kenmerk_key = 1060 - AND kpr.alg_onrgoedkenmerk_waarde = - kpl.prs_kostenplaats_key) kpl_cat - WHERE ra.res_status_bo_key = 6 - AND rrr.res_rsv_ruimte_flag = 2 - AND ra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key - AND ra.res_artikel_key = a.res_artikel_key - AND ra.res_rsv_artikel_dirtlevel = 0 - AND ra.res_rsv_artikel_verwijder IS NULL - AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key - AND ar.res_rsv_ruimte_key(+) = rrr.res_rsv_ruimte_key - AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) - AND (aog.alg_ruimte_key = rrr.alg_ruimte_key - OR aog.alg_ruimte_key = ar.alg_ruimte_key) - AND kpl_cat.alg_onrgoed_key(+) = aog.alg_gebouw_key; + SELECT CASE + WHEN UPPER (p.prs_perslid_nr) LIKE 'NEDAP%' + THEN + SUBSTR (p.prs_perslid_nr, 7) + ELSE + p.prs_perslid_nr + END AS persnr, + rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr, + TO_CHAR (ar.alg_ruimte_key), + COALESCE ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24, + 0) duur_ruimte, + rrr.res_rsv_ruimte_prijs, + TO_CHAR (rrr.res_rsv_ruimte_van, 'mm-yyyy') factuurperiode, + 'Ruimte', + TO_CHAR (rrr.res_rsv_ruimte_van, 'month yyyy') + || ' - Reserveringsnummer: ' + || rrr.res_reservering_key + || '/' + || rrr.res_rsv_ruimte_volgnr + || ' - ' + || rr.res_ruimte_nr aanduiding, + DECODE (prs_afdeling_key, 422, 'Cliënt', 'Intern') soort, + kpl_ruimte.prs_kostenplaats_nr, + rrr.res_rsv_ruimte_key, + TO_CHAR (rrr.res_rsv_ruimte_van, 'mm') + FROM res_rsv_ruimte rrr, + prs_perslid p, + prs_kostenplaats kp, + res_v_rsv_ruimte_2_alg_ruimte ar, + alg_v_allonroerendgoed aog, + res_ruimte rr, + (SELECT kpr.*, kpl.prs_kostenplaats_nr + FROM alg_onrgoedkenmerk kpr, prs_kostenplaats kpl + WHERE kpr.alg_kenmerk_key = 1061 + AND kpr.alg_onrgoedkenmerk_waarde = + kpl.prs_kostenplaats_key) kpl_ruimte + WHERE rrr.res_status_bo_key = 6 + AND rrr.res_rsv_ruimte_dirtlevel = 0 + AND rrr.res_rsv_ruimte_verwijder IS NULL + AND res_rsv_ruimte_host_key = p.prs_perslid_key + AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) + AND ar.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key + AND ar.res_ruimte_key = rr.res_ruimte_key + AND ar.alg_ruimte_key = aog.alg_ruimte_key + AND kpl_ruimte.alg_onrgoed_key(+) = aog.alg_gebouw_key + UNION ALL + SELECT CASE + WHEN UPPER (p.prs_perslid_nr) LIKE 'NEDAP%' + THEN + SUBSTR (p.prs_perslid_nr, 7) + ELSE + p.prs_perslid_nr + END AS persnr, + rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr, + a.res_artikel_nr, + ra.res_rsv_artikel_aantal, + ra.res_rsv_artikel_prijs, + TO_CHAR (rrr.res_rsv_ruimte_van, 'mm-yyyy') factuurperiode, + 'Catering', + TO_CHAR (rrr.res_rsv_ruimte_van, 'month yyyy') + || ' - ' + || TO_CHAR (rrr.res_reservering_key) + || '/' + || TO_CHAR (rrr.res_rsv_ruimte_volgnr) + || ' - ' + || TO_CHAR (a.res_artikel_omschrijving) aanduiding, + DECODE (p.prs_afdeling_key, 422, 'Cliënt', 'Intern') soort, + kpl_cat.prs_kostenplaats_nr, + rrr.res_rsv_ruimte_key, + TO_CHAR (rrr.res_rsv_ruimte_van, 'mm') + FROM res_rsv_artikel ra, + res_rsv_ruimte rrr, + res_artikel a, + prs_perslid p, + prs_kostenplaats kp, + res_v_rsv_ruimte_2_alg_ruimte ar, + alg_v_allonroerendgoed aog, + (SELECT kpr.*, kpl.prs_kostenplaats_nr + FROM alg_onrgoedkenmerk kpr, prs_kostenplaats kpl + WHERE kpr.alg_kenmerk_key = 1060 + AND kpr.alg_onrgoedkenmerk_waarde = + kpl.prs_kostenplaats_key) kpl_cat + WHERE ra.res_status_bo_key = 6 + AND rrr.res_rsv_ruimte_flag = 2 + AND ra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key + AND ra.res_artikel_key = a.res_artikel_key + AND ra.res_rsv_artikel_dirtlevel = 0 + AND ra.res_rsv_artikel_verwijder IS NULL + AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key + AND ar.res_rsv_ruimte_key(+) = rrr.res_rsv_ruimte_key + AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) + AND ( aog.alg_ruimte_key = rrr.alg_ruimte_key + OR aog.alg_ruimte_key = ar.alg_ruimte_key) + AND kpl_cat.alg_onrgoed_key(+) = aog.alg_gebouw_key; @@ -1045,431 +1105,444 @@ AS CREATE OR REPLACE VIEW WZUV_V_FACTUUR_BESTAND ( - FIN_FACTUUR_KEY, - FIN_FACTUUR_BESTAND + FIN_FACTUUR_KEY, + FIN_FACTUUR_BESTAND ) AS - SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde - FROM fin_kenmerkfactuur kf - WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 21; + SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde + FROM fin_kenmerkfactuur kf + WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 21; -- Kenmerk 2 is betaalreferentie CREATE OR REPLACE VIEW WZUV_V_FACTUUR_BETAALREF ( - FIN_FACTUUR_KEY, - FIN_FACTUUR_BETAALREF + FIN_FACTUUR_KEY, + FIN_FACTUUR_BETAALREF ) AS - SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde - FROM fin_kenmerkfactuur kf - WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 2; + SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde + FROM fin_kenmerkfactuur kf + WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 2; -- Kenmerk 3 is omschrijving kopregel CREATE OR REPLACE VIEW WZUV_V_FACTUUR_OMSCHR_KOPREGEL ( - FIN_FACTUUR_KEY, - FIN_FACTUUR_OMSCHR_KOPREGEL + FIN_FACTUUR_KEY, + FIN_FACTUUR_OMSCHR_KOPREGEL ) AS - SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde - FROM fin_kenmerkfactuur kf - WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 3; + SELECT kf.fin_factuur_key, kf.fin_kenmerkfactuur_waarde + FROM fin_kenmerkfactuur kf + WHERE kf.fin_kenmerkfactuur_verwijder IS NULL AND fin_kenmerk_key = 3; -- Kenmerk 4 is omschrijving datum factuurregel CREATE OR REPLACE VIEW WZUV_V_FACTUURREGEL_DATUM ( - FIN_FACTUURREGEL_KEY, - FIN_FACTUURREGEL_DATUM + FIN_FACTUURREGEL_KEY, + FIN_FACTUURREGEL_DATUM ) AS - SELECT kfr.fin_factuurregel_key, kfr.fin_kenmerkfactregel_waarde - FROM fin_kenmerkfactregel kfr - WHERE kfr.fin_kenmerkfactregel_verwijder IS NULL AND fin_kenmerk_key = 4; + SELECT kfr.fin_factuurregel_key, kfr.fin_kenmerkfactregel_waarde + FROM fin_kenmerkfactregel kfr + WHERE kfr.fin_kenmerkfactregel_verwijder IS NULL AND fin_kenmerk_key = 4; -- Kenmerk 22 is de afwijkende kostenplaats CREATE OR REPLACE FORCE VIEW WZUV_V_FACTUUR_AFW_KPL ( - FIN_FACTUUR_KEY, - FIN_FACTUUR_AFW_KPL + FIN_FACTUUR_KEY, + FIN_FACTUUR_AFW_KPL ) AS - SELECT fin_factuur_key, prs_kostenplaats_nr - FROM fin_kenmerkfactuur kf, prs_kostenplaats kp - WHERE kf.fin_kenmerkfactuur_verwijder IS NULL - AND kf.fin_kenmerkfactuur_waarde = kp.prs_kostenplaats_key - AND fin_kenmerk_key = 22; + SELECT fin_factuur_key, prs_kostenplaats_nr + FROM fin_kenmerkfactuur kf, prs_kostenplaats kp + WHERE kf.fin_kenmerkfactuur_verwijder IS NULL + AND kf.fin_kenmerkfactuur_waarde = kp.prs_kostenplaats_key + AND fin_kenmerk_key = 22; CREATE OR REPLACE VIEW WZUV_V_FACTUUR_BES_GEGEVENS ( - FIN_FACTUUR_KEY, - OPDRACHT_ID, - FIN_FACTUUR_DATUM, - FIN_FACTUUR_BOEKMAAND, - FIN_FACTUUR_NR, - FIN_FACTUUR_BESTAND, - PRS_BEDRIJF_KEY, - FIN_FACTUURREGEL_TOTAAL, - FIN_FACTUURREGEL_BTW, - FIN_FACTUURREGEL_BTW_PERC, - FIN_BTWTABELWAARDE_BTWCODE, - FIN_FACTUURREGEL_NR, - FIN_FACTUURREGEL_OMSCHRIJVING, - FIN_FACTUURREGEL_DATUM, - FIN_FACTUUR_DEBITEUR_NR, - FIN_FACTUUR_BETAALREF, - FIN_FACTUUR_OMSCHR_KOPREGEL, - PROJECT_NUMMER, - PRS_KOSTENSOORT_OMS, - PRS_KOSTENSOORT_DOORBELASTEN, - PRS_KOSTENPLAATS_NR, - BES_OPDR_KEY, - MLD_OPDR_KEY, - CNT_CONTRACT_KEY, - FIN_FACTUUR_STATUSES_KEY + FIN_FACTUUR_KEY, + OPDRACHT_ID, + FIN_FACTUUR_DATUM, + FIN_FACTUUR_BOEKMAAND, + FIN_FACTUUR_NR, + FIN_FACTUUR_BESTAND, + PRS_BEDRIJF_KEY, + FIN_FACTUURREGEL_TOTAAL, + FIN_FACTUURREGEL_BTW, + FIN_FACTUURREGEL_BTW_PERC, + FIN_BTWTABELWAARDE_BTWCODE, + FIN_FACTUURREGEL_NR, + FIN_FACTUURREGEL_OMSCHRIJVING, + FIN_FACTUURREGEL_DATUM, + FIN_FACTUUR_DEBITEUR_NR, + FIN_FACTUUR_BETAALREF, + FIN_FACTUUR_OMSCHR_KOPREGEL, + PROJECT_NUMMER, + PRS_KOSTENSOORT_OMS, + PRS_KOSTENSOORT_DOORBELASTEN, + PRS_KOSTENPLAATS_NR, + BES_OPDR_KEY, + MLD_OPDR_KEY, + CNT_CONTRACT_KEY, + FIN_FACTUUR_STATUSES_KEY ) AS - SELECT DISTINCT - f.fin_factuur_key, - TO_CHAR (bo.bes_bestelopdr_id) opdracht_id, - f.fin_factuur_datum, - f.fin_factuur_boekmaand, - f.fin_factuur_nr, - fb.fin_factuur_bestand, - b.prs_bedrijf_key, - fr.fin_factuurregel_totaal, - fr.fin_factuurregel_btw, - btw.fin_btwtabelwaarde_perc, - btw.fin_btwtabelwaarde_code, - fr.fin_factuurregel_nr, - fr.fin_factuurregel_omschrijving, - frd.fin_factuurregel_datum, - f.fin_factuur_debiteur_nr, - fbr.fin_factuur_betaalref, - fok.fin_factuur_omschr_kopregel, - NULL projectnummer, - COALESCE (ks_regel.prs_kostensoort_oms, ks.prs_kostensoort_oms), - DECODE (ks_regel.prs_kostensoort_oms, - NULL, ks.prs_kostensoort_doorbelasten, - ks_regel.prs_kostensoort_doorbelasten), - kp.prs_kostenplaats_nr, - bo.bes_bestelopdr_key bes_opdr_key, - NULL mld_opdr_key, - NULL cnt_contract_key, - f.fin_factuur_statuses_key - FROM bes_bestelopdr bo, - prs_bedrijf b, - bes_bestelling bes, - bes_bestelopdr_item boi, - bes_bestelling_item bi, - fin_factuur f, - wzuv_v_factuur_bestand fb, - wzuv_v_factuur_betaalref fbr, - wzuv_v_factuur_omschr_kopregel fok, - fin_factuurregel fr, - wzuv_v_factuurregel_datum frd, - fin_btwtabelwaarde btw, - prs_kostensoort ks, - prs_kostensoort ks_regel, - prs_kostenplaats kp - WHERE b.prs_bedrijf_key = bo.prs_bedrijf_key - AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key - AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key - AND bes.bes_bestelling_key = bi.bes_bestelling_key - AND kp.prs_kostenplaats_key = bes.prs_kostenplaats_key - AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+) - AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+) - AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key - AND f.fin_factuur_key = fr.fin_factuur_key - AND fr.fin_factuurregel_key = frd.fin_factuurregel_key(+) - AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key - AND f.fin_factuur_key = fb.fin_factuur_key(+) - AND f.fin_factuur_key = fbr.fin_factuur_key(+) - AND f.fin_factuur_key = fok.fin_factuur_key(+); + SELECT DISTINCT + f.fin_factuur_key, + TO_CHAR (bo.bes_bestelopdr_id) + opdracht_id, + f.fin_factuur_datum, + f.fin_factuur_boekmaand, + f.fin_factuur_nr, + fb.fin_factuur_bestand, + b.prs_bedrijf_key, + fr.fin_factuurregel_totaal, + fr.fin_factuurregel_btw, + btw.fin_btwtabelwaarde_perc, + btw.fin_btwtabelwaarde_code, + fr.fin_factuurregel_nr, + fr.fin_factuurregel_omschrijving, + frd.fin_factuurregel_datum, + f.fin_factuur_debiteur_nr, + fbr.fin_factuur_betaalref, + fok.fin_factuur_omschr_kopregel, + NULL + projectnummer, + COALESCE (ks_regel.prs_kostensoort_oms, ks.prs_kostensoort_oms), + DECODE (ks_regel.prs_kostensoort_oms, + NULL, ks.prs_kostensoort_doorbelasten, + ks_regel.prs_kostensoort_doorbelasten), + kp.prs_kostenplaats_nr, + bo.bes_bestelopdr_key + bes_opdr_key, + NULL + mld_opdr_key, + NULL + cnt_contract_key, + f.fin_factuur_statuses_key + FROM bes_bestelopdr bo, + prs_bedrijf b, + bes_bestelling bes, + bes_bestelopdr_item boi, + bes_bestelling_item bi, + fin_factuur f, + wzuv_v_factuur_bestand fb, + wzuv_v_factuur_betaalref fbr, + wzuv_v_factuur_omschr_kopregel fok, + fin_factuurregel fr, + wzuv_v_factuurregel_datum frd, + fin_btwtabelwaarde btw, + prs_kostensoort ks, + prs_kostensoort ks_regel, + prs_kostenplaats kp + WHERE b.prs_bedrijf_key = bo.prs_bedrijf_key + AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key + AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key + AND bes.bes_bestelling_key = bi.bes_bestelling_key + AND kp.prs_kostenplaats_key = bes.prs_kostenplaats_key + AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+) + AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+) + AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key + AND f.fin_factuur_key = fr.fin_factuur_key + AND fr.fin_factuurregel_key = frd.fin_factuurregel_key(+) + AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key + AND f.fin_factuur_key = fb.fin_factuur_key(+) + AND f.fin_factuur_key = fbr.fin_factuur_key(+) + AND f.fin_factuur_key = fok.fin_factuur_key(+); CREATE OR REPLACE VIEW WZUV_V_FACTUUR_MLDCNT_GEGEVENS ( - FIN_FACTUUR_KEY, - OPDRACHT_ID, - FIN_FACTUUR_DATUM, - FIN_FACTUUR_BOEKMAAND, - FIN_FACTUUR_NR, - FIN_FACTUUR_BESTAND, - PRS_BEDRIJF_KEY, - FIN_FACTUURREGEL_TOTAAL, - FIN_FACTUURREGEL_BTW, - FIN_FACTUURREGEL_BTW_PERC, - FIN_BTWTABELWAARDE_BTWCODE, - FIN_FACTUURREGEL_NR, - FIN_FACTUURREGEL_OMSCHRIJVING, - FIN_FACTUURREGEL_DATUM, - FIN_FACTUUR_DEBITEUR_NR, - FIN_FACTUUR_BETAALREF, - FIN_FACTUUR_OMSCHR_KOPREGEL, - PROJECT_NUMMER, - PRS_KOSTENSOORT_OMS, - PRS_KOSTENSOORT_DOORBELASTEN, - PRS_KOSTENPLAATS_NR, - BES_OPDR_KEY, - MLD_OPDR_KEY, - CNT_CONTRACT_KEY, - FIN_FACTUUR_STATUSES_KEY + FIN_FACTUUR_KEY, + OPDRACHT_ID, + FIN_FACTUUR_DATUM, + FIN_FACTUUR_BOEKMAAND, + FIN_FACTUUR_NR, + FIN_FACTUUR_BESTAND, + PRS_BEDRIJF_KEY, + FIN_FACTUURREGEL_TOTAAL, + FIN_FACTUURREGEL_BTW, + FIN_FACTUURREGEL_BTW_PERC, + FIN_BTWTABELWAARDE_BTWCODE, + FIN_FACTUURREGEL_NR, + FIN_FACTUURREGEL_OMSCHRIJVING, + FIN_FACTUURREGEL_DATUM, + FIN_FACTUUR_DEBITEUR_NR, + FIN_FACTUUR_BETAALREF, + FIN_FACTUUR_OMSCHR_KOPREGEL, + PROJECT_NUMMER, + PRS_KOSTENSOORT_OMS, + PRS_KOSTENSOORT_DOORBELASTEN, + PRS_KOSTENPLAATS_NR, + BES_OPDR_KEY, + MLD_OPDR_KEY, + CNT_CONTRACT_KEY, + FIN_FACTUUR_STATUSES_KEY ) AS - SELECT DISTINCT - f.fin_factuur_key, - COALESCE ( - TO_CHAR (cnt_contract_nummer), - (SELECT sd.ins_srtdiscipline_prefix - || m.mld_melding_key - || '/' - || o.mld_opdr_bedrijfopdr_volgnr - FROM mld_melding m, - mld_stdmelding std, - ins_tab_discipline d, - ins_srtdiscipline sd - WHERE m.mld_melding_key = o.mld_melding_key - AND m.mld_stdmelding_key = std.mld_stdmelding_key - AND std.mld_ins_discipline_key = d.ins_discipline_key - AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key)) - opdracht_id, - f.fin_factuur_datum, - f.fin_factuur_boekmaand, - f.fin_factuur_nr, - fb.fin_factuur_bestand, - COALESCE (b_c.prs_bedrijf_key, b_o.prs_bedrijf_key) prs_bedrijf_key, - fr.fin_factuurregel_totaal, - fr.fin_factuurregel_btw, - btw.fin_btwtabelwaarde_perc, - btw.fin_btwtabelwaarde_code, - fr.fin_factuurregel_nr, - fr.fin_factuurregel_omschrijving, - frd.fin_factuurregel_datum, - COALESCE (f.fin_factuur_debiteur_nr, - b_c.prs_leverancier_nr, - b_o.prs_leverancier_nr), - fbr.fin_factuur_betaalref, - fok.fin_factuur_omschr_kopregel, - NULL projectnummer, - COALESCE (ks_regel.prs_kostensoort_oms, - ks_contract.prs_kostensoort_oms, - ks.prs_kostensoort_oms), - DECODE (ks_regel.prs_kostensoort_oms, - NULL, ks.prs_kostensoort_doorbelasten, - ks_regel.prs_kostensoort_doorbelasten), - COALESCE (faklp.fin_factuur_afw_kpl, kp_c.prs_kostenplaats_nr, kp_o.prs_kostenplaats_nr) - prs_kostenplaats_nr, - NULL bes_opdr_key, - o.mld_opdr_key, - c.cnt_contract_key, - f.fin_factuur_statuses_key - FROM fin_factuur f, - wzuv_v_factuur_bestand fb, - wzuv_v_factuur_betaalref fbr, - wzuv_v_factuur_omschr_kopregel fok, - wzuv_v_factuur_afw_kpl faklp, - fin_factuurregel fr, - wzuv_v_factuurregel_datum frd, - fin_btwtabelwaarde btw, - mld_opdr o, - mld_typeopdr ot, - cnt_contract c, - prs_bedrijf b_o, - prs_bedrijf b_c, - prs_kostensoort ks, - prs_kostensoort ks_regel, - prs_kostensoort ks_contract, - prs_kostenplaats kp_c, - prs_kostenplaats kp_o - WHERE f.fin_factuur_key = fr.fin_factuur_key - AND fr.fin_factuurregel_key = frd.fin_factuurregel_key(+) - AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key - AND f.fin_factuur_key = fb.fin_factuur_key(+) - AND f.fin_factuur_key = fbr.fin_factuur_key(+) - AND f.fin_factuur_key = fok.fin_factuur_key(+) - AND f.fin_factuur_key = faklp.fin_factuur_key(+) - AND f.bes_bestelopdr_key IS NULL - AND f.mld_opdr_key = o.mld_opdr_key(+) - AND o.prs_kostenplaats_key = kp_o.prs_kostenplaats_key(+) - AND o.mld_typeopdr_key = ot.mld_typeopdr_key(+) - AND f.cnt_contract_key = c.cnt_contract_key(+) - AND o.mld_uitvoerende_keys = b_o.prs_bedrijf_key(+) - AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+) - AND c.prs_kostenplaats_key = kp_c.prs_kostenplaats_key(+) - AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+) - AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+) - AND c.prs_kostensoort_key = ks_contract.prs_kostensoort_key(+); + SELECT DISTINCT + f.fin_factuur_key, + COALESCE ( + TO_CHAR (cnt_contract_nummer), + (SELECT sd.ins_srtdiscipline_prefix + || m.mld_melding_key + || '/' + || o.mld_opdr_bedrijfopdr_volgnr + FROM mld_melding m, + mld_stdmelding std, + ins_tab_discipline d, + ins_srtdiscipline sd + WHERE m.mld_melding_key = o.mld_melding_key + AND m.mld_stdmelding_key = + std.mld_stdmelding_key + AND std.mld_ins_discipline_key = + d.ins_discipline_key + AND d.ins_srtdiscipline_key = + sd.ins_srtdiscipline_key)) + opdracht_id, + f.fin_factuur_datum, + f.fin_factuur_boekmaand, + f.fin_factuur_nr, + fb.fin_factuur_bestand, + COALESCE (b_c.prs_bedrijf_key, b_o.prs_bedrijf_key) + prs_bedrijf_key, + fr.fin_factuurregel_totaal, + fr.fin_factuurregel_btw, + btw.fin_btwtabelwaarde_perc, + btw.fin_btwtabelwaarde_code, + fr.fin_factuurregel_nr, + fr.fin_factuurregel_omschrijving, + frd.fin_factuurregel_datum, + COALESCE (f.fin_factuur_debiteur_nr, + b_c.prs_leverancier_nr, + b_o.prs_leverancier_nr), + fbr.fin_factuur_betaalref, + fok.fin_factuur_omschr_kopregel, + NULL + projectnummer, + COALESCE (ks_regel.prs_kostensoort_oms, + ks_contract.prs_kostensoort_oms, + ks.prs_kostensoort_oms), + DECODE (ks_regel.prs_kostensoort_oms, + NULL, ks.prs_kostensoort_doorbelasten, + ks_regel.prs_kostensoort_doorbelasten), + COALESCE (faklp.fin_factuur_afw_kpl, + kp_c.prs_kostenplaats_nr, + kp_o.prs_kostenplaats_nr) + prs_kostenplaats_nr, + NULL + bes_opdr_key, + o.mld_opdr_key, + c.cnt_contract_key, + f.fin_factuur_statuses_key + FROM fin_factuur f, + wzuv_v_factuur_bestand fb, + wzuv_v_factuur_betaalref fbr, + wzuv_v_factuur_omschr_kopregel fok, + wzuv_v_factuur_afw_kpl faklp, + fin_factuurregel fr, + wzuv_v_factuurregel_datum frd, + fin_btwtabelwaarde btw, + mld_opdr o, + mld_typeopdr ot, + cnt_contract c, + prs_bedrijf b_o, + prs_bedrijf b_c, + prs_kostensoort ks, + prs_kostensoort ks_regel, + prs_kostensoort ks_contract, + prs_kostenplaats kp_c, + prs_kostenplaats kp_o + WHERE f.fin_factuur_key = fr.fin_factuur_key + AND fr.fin_factuurregel_key = frd.fin_factuurregel_key(+) + AND fr.fin_btwtabelwaarde_key = btw.fin_btwtabelwaarde_key + AND f.fin_factuur_key = fb.fin_factuur_key(+) + AND f.fin_factuur_key = fbr.fin_factuur_key(+) + AND f.fin_factuur_key = fok.fin_factuur_key(+) + AND f.fin_factuur_key = faklp.fin_factuur_key(+) + AND f.bes_bestelopdr_key IS NULL + AND f.mld_opdr_key = o.mld_opdr_key(+) + AND o.prs_kostenplaats_key = kp_o.prs_kostenplaats_key(+) + AND o.mld_typeopdr_key = ot.mld_typeopdr_key(+) + AND f.cnt_contract_key = c.cnt_contract_key(+) + AND o.mld_uitvoerende_keys = b_o.prs_bedrijf_key(+) + AND c.cnt_prs_bedrijf_key = b_c.prs_bedrijf_key(+) + AND c.prs_kostenplaats_key = kp_c.prs_kostenplaats_key(+) + AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+) + AND fr.prs_kostensoort_key = ks_regel.prs_kostensoort_key(+) + AND c.prs_kostensoort_key = ks_contract.prs_kostensoort_key(+); CREATE OR REPLACE VIEW WZUV_V_FACTUUR_GEG_AKKOORD ( - FIN_FACTUUR_KEY, - OPDRACHT_ID, - FIN_FACTUUR_DATUM, - FIN_FACTUUR_BOEKMAAND, - FIN_FACTUUR_NR, - FIN_FACTUUR_BESTAND, - PRS_BEDRIJF_KEY, - FIN_FACTUURREGEL_TOTAAL, - FIN_FACTUURREGEL_BTW, - FIN_FACTUURREGEL_BTW_PERC, - FIN_BTWTABELWAARDE_BTWCODE, - FIN_FACTUURREGEL_NR, - FIN_FACTUURREGEL_OMSCHRIJVING, - FIN_FACTUURREGEL_DATUM, - FIN_FACTUUR_DEBITEUR_NR, - FIN_FACTUUR_BETAALREF, - FIN_FACTUUR_OMSCHR_KOPREGEL, - PROJECT_NUMMER, - PRS_KOSTENSOORT_OMS, - PRS_KOSTENSOORT_DOORBELASTEN, - PRS_KOSTENPLAATS_NR, - BES_OPDR_KEY, - MLD_OPDR_KEY, - CNT_CONTRACT_KEY, - FIN_FACTUUR_STATUSES_KEY + FIN_FACTUUR_KEY, + OPDRACHT_ID, + FIN_FACTUUR_DATUM, + FIN_FACTUUR_BOEKMAAND, + FIN_FACTUUR_NR, + FIN_FACTUUR_BESTAND, + PRS_BEDRIJF_KEY, + FIN_FACTUURREGEL_TOTAAL, + FIN_FACTUURREGEL_BTW, + FIN_FACTUURREGEL_BTW_PERC, + FIN_BTWTABELWAARDE_BTWCODE, + FIN_FACTUURREGEL_NR, + FIN_FACTUURREGEL_OMSCHRIJVING, + FIN_FACTUURREGEL_DATUM, + FIN_FACTUUR_DEBITEUR_NR, + FIN_FACTUUR_BETAALREF, + FIN_FACTUUR_OMSCHR_KOPREGEL, + PROJECT_NUMMER, + PRS_KOSTENSOORT_OMS, + PRS_KOSTENSOORT_DOORBELASTEN, + PRS_KOSTENPLAATS_NR, + BES_OPDR_KEY, + MLD_OPDR_KEY, + CNT_CONTRACT_KEY, + FIN_FACTUUR_STATUSES_KEY ) AS - SELECT "FIN_FACTUUR_KEY", - "OPDRACHT_ID", - "FIN_FACTUUR_DATUM", - "FIN_FACTUUR_BOEKMAAND", - "FIN_FACTUUR_NR", - "FIN_FACTUUR_BESTAND", - "PRS_BEDRIJF_KEY", - "FIN_FACTUURREGEL_TOTAAL", - "FIN_FACTUURREGEL_BTW", - "FIN_FACTUURREGEL_BTW_PERC", - "FIN_BTWTABELWAARDE_BTWCODE", - "FIN_FACTUURREGEL_NR", - "FIN_FACTUURREGEL_OMSCHRIJVING", - "FIN_FACTUURREGEL_DATUM", - "FIN_FACTUUR_DEBITEUR_NR", - "FIN_FACTUUR_BETAALREF", - "FIN_FACTUUR_OMSCHR_KOPREGEL", - "PROJECT_NUMMER", - "PRS_KOSTENSOORT_OMS", - "PRS_KOSTENSOORT_DOORBELASTEN", - "PRS_KOSTENPLAATS_NR", - "BES_OPDR_KEY", - "MLD_OPDR_KEY", - "CNT_CONTRACT_KEY", - "FIN_FACTUUR_STATUSES_KEY" - FROM wzuv_v_factuur_mldcnt_gegevens - WHERE fin_factuur_statuses_key = 6 - UNION - SELECT "FIN_FACTUUR_KEY", - "OPDRACHT_ID", - "FIN_FACTUUR_DATUM", - "FIN_FACTUUR_BOEKMAAND", - "FIN_FACTUUR_NR", - "FIN_FACTUUR_BESTAND", - "PRS_BEDRIJF_KEY", - "FIN_FACTUURREGEL_TOTAAL", - "FIN_FACTUURREGEL_BTW", - "FIN_FACTUURREGEL_BTW_PERC", - "FIN_BTWTABELWAARDE_BTWCODE", - "FIN_FACTUURREGEL_NR", - "FIN_FACTUURREGEL_OMSCHRIJVING", - "FIN_FACTUURREGEL_DATUM", - "FIN_FACTUUR_DEBITEUR_NR", - "FIN_FACTUUR_BETAALREF", - "FIN_FACTUUR_OMSCHR_KOPREGEL", - "PROJECT_NUMMER", - "PRS_KOSTENSOORT_OMS", - "PRS_KOSTENSOORT_DOORBELASTEN", - "PRS_KOSTENPLAATS_NR", - "BES_OPDR_KEY", - "MLD_OPDR_KEY", - "CNT_CONTRACT_KEY", - "FIN_FACTUUR_STATUSES_KEY" - FROM wzuv_v_factuur_bes_gegevens - WHERE fin_factuur_statuses_key = 6; + SELECT "FIN_FACTUUR_KEY", + "OPDRACHT_ID", + "FIN_FACTUUR_DATUM", + "FIN_FACTUUR_BOEKMAAND", + "FIN_FACTUUR_NR", + "FIN_FACTUUR_BESTAND", + "PRS_BEDRIJF_KEY", + "FIN_FACTUURREGEL_TOTAAL", + "FIN_FACTUURREGEL_BTW", + "FIN_FACTUURREGEL_BTW_PERC", + "FIN_BTWTABELWAARDE_BTWCODE", + "FIN_FACTUURREGEL_NR", + "FIN_FACTUURREGEL_OMSCHRIJVING", + "FIN_FACTUURREGEL_DATUM", + "FIN_FACTUUR_DEBITEUR_NR", + "FIN_FACTUUR_BETAALREF", + "FIN_FACTUUR_OMSCHR_KOPREGEL", + "PROJECT_NUMMER", + "PRS_KOSTENSOORT_OMS", + "PRS_KOSTENSOORT_DOORBELASTEN", + "PRS_KOSTENPLAATS_NR", + "BES_OPDR_KEY", + "MLD_OPDR_KEY", + "CNT_CONTRACT_KEY", + "FIN_FACTUUR_STATUSES_KEY" + FROM wzuv_v_factuur_mldcnt_gegevens + WHERE fin_factuur_statuses_key = 6 + UNION + SELECT "FIN_FACTUUR_KEY", + "OPDRACHT_ID", + "FIN_FACTUUR_DATUM", + "FIN_FACTUUR_BOEKMAAND", + "FIN_FACTUUR_NR", + "FIN_FACTUUR_BESTAND", + "PRS_BEDRIJF_KEY", + "FIN_FACTUURREGEL_TOTAAL", + "FIN_FACTUURREGEL_BTW", + "FIN_FACTUURREGEL_BTW_PERC", + "FIN_BTWTABELWAARDE_BTWCODE", + "FIN_FACTUURREGEL_NR", + "FIN_FACTUURREGEL_OMSCHRIJVING", + "FIN_FACTUURREGEL_DATUM", + "FIN_FACTUUR_DEBITEUR_NR", + "FIN_FACTUUR_BETAALREF", + "FIN_FACTUUR_OMSCHR_KOPREGEL", + "PROJECT_NUMMER", + "PRS_KOSTENSOORT_OMS", + "PRS_KOSTENSOORT_DOORBELASTEN", + "PRS_KOSTENPLAATS_NR", + "BES_OPDR_KEY", + "MLD_OPDR_KEY", + "CNT_CONTRACT_KEY", + "FIN_FACTUUR_STATUSES_KEY" + FROM wzuv_v_factuur_bes_gegevens + WHERE fin_factuur_statuses_key = 6; CREATE OR REPLACE VIEW WZUV_V_FACTUUR_GEG ( - FIN_FACTUUR_KEY, - OPDRACHT_ID, - FIN_FACTUUR_DATUM, - FIN_FACTUUR_BOEKMAAND, - FIN_FACTUUR_NR, - FIN_FACTUUR_BESTAND, - PRS_BEDRIJF_KEY, - FIN_FACTUURREGEL_TOTAAL, - FIN_FACTUURREGEL_BTW, - FIN_FACTUURREGEL_BTW_PERC, - FIN_BTWTABELWAARDE_BTWCODE, - FIN_FACTUURREGEL_NR, - FIN_FACTUURREGEL_OMSCHRIJVING, - FIN_FACTUURREGEL_DATUM, - FIN_FACTUUR_DEBITEUR_NR, - FIN_FACTUUR_BETAALREF, - FIN_FACTUUR_OMSCHR_KOPREGEL, - PROJECT_NUMMER, - PRS_KOSTENSOORT_OMS, - PRS_KOSTENSOORT_DOORBELASTEN, - PRS_KOSTENPLAATS_NR, - BES_OPDR_KEY, - MLD_OPDR_KEY, - CNT_CONTRACT_KEY, - FIN_FACTUUR_STATUSES_KEY + FIN_FACTUUR_KEY, + OPDRACHT_ID, + FIN_FACTUUR_DATUM, + FIN_FACTUUR_BOEKMAAND, + FIN_FACTUUR_NR, + FIN_FACTUUR_BESTAND, + PRS_BEDRIJF_KEY, + FIN_FACTUURREGEL_TOTAAL, + FIN_FACTUURREGEL_BTW, + FIN_FACTUURREGEL_BTW_PERC, + FIN_BTWTABELWAARDE_BTWCODE, + FIN_FACTUURREGEL_NR, + FIN_FACTUURREGEL_OMSCHRIJVING, + FIN_FACTUURREGEL_DATUM, + FIN_FACTUUR_DEBITEUR_NR, + FIN_FACTUUR_BETAALREF, + FIN_FACTUUR_OMSCHR_KOPREGEL, + PROJECT_NUMMER, + PRS_KOSTENSOORT_OMS, + PRS_KOSTENSOORT_DOORBELASTEN, + PRS_KOSTENPLAATS_NR, + BES_OPDR_KEY, + MLD_OPDR_KEY, + CNT_CONTRACT_KEY, + FIN_FACTUUR_STATUSES_KEY ) AS - SELECT "FIN_FACTUUR_KEY", - "OPDRACHT_ID", - "FIN_FACTUUR_DATUM", - "FIN_FACTUUR_BOEKMAAND", - "FIN_FACTUUR_NR", - "FIN_FACTUUR_BESTAND", - "PRS_BEDRIJF_KEY", - "FIN_FACTUURREGEL_TOTAAL", - "FIN_FACTUURREGEL_BTW", - "FIN_FACTUURREGEL_BTW_PERC", - "FIN_BTWTABELWAARDE_BTWCODE", - "FIN_FACTUURREGEL_NR", - "FIN_FACTUURREGEL_OMSCHRIJVING", - "FIN_FACTUURREGEL_DATUM", - "FIN_FACTUUR_DEBITEUR_NR", - "FIN_FACTUUR_BETAALREF", - "FIN_FACTUUR_OMSCHR_KOPREGEL", - "PROJECT_NUMMER", - "PRS_KOSTENSOORT_OMS", - "PRS_KOSTENSOORT_DOORBELASTEN", - "PRS_KOSTENPLAATS_NR", - "BES_OPDR_KEY", - "MLD_OPDR_KEY", - "CNT_CONTRACT_KEY", - "FIN_FACTUUR_STATUSES_KEY" - FROM wzuv_v_factuur_mldcnt_gegevens - UNION - SELECT "FIN_FACTUUR_KEY", - "OPDRACHT_ID", - "FIN_FACTUUR_DATUM", - "FIN_FACTUUR_BOEKMAAND", - "FIN_FACTUUR_NR", - "FIN_FACTUUR_BESTAND", - "PRS_BEDRIJF_KEY", - "FIN_FACTUURREGEL_TOTAAL", - "FIN_FACTUURREGEL_BTW", - "FIN_FACTUURREGEL_BTW_PERC", - "FIN_BTWTABELWAARDE_BTWCODE", - "FIN_FACTUURREGEL_NR", - "FIN_FACTUURREGEL_OMSCHRIJVING", - "FIN_FACTUURREGEL_DATUM", - "FIN_FACTUUR_DEBITEUR_NR", - "FIN_FACTUUR_BETAALREF", - "FIN_FACTUUR_OMSCHR_KOPREGEL", - "PROJECT_NUMMER", - "PRS_KOSTENSOORT_OMS", - "PRS_KOSTENSOORT_DOORBELASTEN", - "PRS_KOSTENPLAATS_NR", - "BES_OPDR_KEY", - "MLD_OPDR_KEY", - "CNT_CONTRACT_KEY", - "FIN_FACTUUR_STATUSES_KEY" - FROM wzuv_v_factuur_bes_gegevens; + SELECT "FIN_FACTUUR_KEY", + "OPDRACHT_ID", + "FIN_FACTUUR_DATUM", + "FIN_FACTUUR_BOEKMAAND", + "FIN_FACTUUR_NR", + "FIN_FACTUUR_BESTAND", + "PRS_BEDRIJF_KEY", + "FIN_FACTUURREGEL_TOTAAL", + "FIN_FACTUURREGEL_BTW", + "FIN_FACTUURREGEL_BTW_PERC", + "FIN_BTWTABELWAARDE_BTWCODE", + "FIN_FACTUURREGEL_NR", + "FIN_FACTUURREGEL_OMSCHRIJVING", + "FIN_FACTUURREGEL_DATUM", + "FIN_FACTUUR_DEBITEUR_NR", + "FIN_FACTUUR_BETAALREF", + "FIN_FACTUUR_OMSCHR_KOPREGEL", + "PROJECT_NUMMER", + "PRS_KOSTENSOORT_OMS", + "PRS_KOSTENSOORT_DOORBELASTEN", + "PRS_KOSTENPLAATS_NR", + "BES_OPDR_KEY", + "MLD_OPDR_KEY", + "CNT_CONTRACT_KEY", + "FIN_FACTUUR_STATUSES_KEY" + FROM wzuv_v_factuur_mldcnt_gegevens + UNION + SELECT "FIN_FACTUUR_KEY", + "OPDRACHT_ID", + "FIN_FACTUUR_DATUM", + "FIN_FACTUUR_BOEKMAAND", + "FIN_FACTUUR_NR", + "FIN_FACTUUR_BESTAND", + "PRS_BEDRIJF_KEY", + "FIN_FACTUURREGEL_TOTAAL", + "FIN_FACTUURREGEL_BTW", + "FIN_FACTUURREGEL_BTW_PERC", + "FIN_BTWTABELWAARDE_BTWCODE", + "FIN_FACTUURREGEL_NR", + "FIN_FACTUURREGEL_OMSCHRIJVING", + "FIN_FACTUURREGEL_DATUM", + "FIN_FACTUUR_DEBITEUR_NR", + "FIN_FACTUUR_BETAALREF", + "FIN_FACTUUR_OMSCHR_KOPREGEL", + "PROJECT_NUMMER", + "PRS_KOSTENSOORT_OMS", + "PRS_KOSTENSOORT_DOORBELASTEN", + "PRS_KOSTENPLAATS_NR", + "BES_OPDR_KEY", + "MLD_OPDR_KEY", + "CNT_CONTRACT_KEY", + "FIN_FACTUUR_STATUSES_KEY" + FROM wzuv_v_factuur_bes_gegevens; -- Alle waarden (zijn evt meer records) uit eigen tabel 'Exact' waarvan de waarde_code met een -- zekere prefix begint (volgens de systeem-setting PREFIX_FCLT_FACTUUR_XML_HEADER), komen in de header vd xml terecht @@ -1477,319 +1550,349 @@ AS CREATE OR REPLACE VIEW wzuv_v_fclt_factuur_header ( - result, - result_order + result, + result_order ) AS - SELECT '<' - || fac_usrdata_code - || '>' - || fac_usrdata_omschr - || '', - 1 - FROM fac_usrdata - WHERE fac_usrtab_key = 121 AND fac_usrdata_verwijder IS NULL; + SELECT '<' + || fac_usrdata_code + || '>' + || fac_usrdata_omschr + || '', + 1 + FROM fac_usrdata + WHERE fac_usrtab_key = 121 AND fac_usrdata_verwijder IS NULL; CREATE OR REPLACE VIEW wzuv_v_fclt_factuur_body ( - result, - result_order + result, + result_order ) AS - SELECT DECODE (regelnummer, 0, '', '') - || '' - || fin_factuur_key - || '' - || '' - || xml.char_to_html (fin_factuur_nr) - || '' - || '' - || xml.char_to_html (fin_factuur_bestand) - || '' - || '' - || xml.char_to_html (fin_factuur_debiteur_nr) - || '' - || '' - || xml.char_to_html (fin_factuur_omschr_kopregel) - || '' - || '' - || xml.char_to_html (bes_mld_cnt_opdracht_id) - || '' - || '' - || datum - || '' - || '' - || fin_factuur_boekmaand - || '' - || '' - || xml.char_to_html (grootboekrekening) - || '' - || '' - || xml.char_to_html (kostensoort_doorbelasten) - || '' - || '' - || xml.char_to_html (betaalreferentie) - || '' - || '' - || xml.char_to_html (crediteur_nr) - || '' - || '' - || xml.char_to_html (crediteur_naam) - || '' - || '' - || fin_factuur_totaal_exbtw - || '' - || '' - || fin_factuur_totaal_incbtw - || '' - || '' - || xml.char_to_html (fin_factuurregel_omschrijving) - || '' - || '' - || xml.char_to_html (fin_factuurregel_datum) - || '' - || '' - || fin_factuurregel_totaal - || '' - || '' - || btw_percentage - || '' - || '' - || xml.char_to_html (btw_code) - || '' - || '' - || btw_bedrag - || '' - || '' - || xml.char_to_html (prs_kostenplaats_nr) - || '' - || DECODE ( - regelnummer, - 0, - '', - DECODE (max_factuur_regelnr - regelnummer, - 0, '', - '')), - (1000000 + fin_factuur_key) * 10000 + regelnummer - FROM (SELECT 0 regelnummer, - aant_factuur_regels, - max_factuur_regelnr, - fin_factuur_key, - fin_factuur_nr, - fin_factuur_bestand, - fin_factuur_debiteur_nr, - fin_factuur_omschr_kopregel, - opdracht_id bes_mld_cnt_opdracht_id, - TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum, - fin_factuur_boekmaand, - '' grootboekrekening, - '' kostensoort_doorbelasten, - betaalreferentie, - (SELECT prs_leverancier_nr - FROM prs_bedrijf b - WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) - crediteur_nr, - (SELECT prs_bedrijf_naam - FROM prs_bedrijf b - WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) - crediteur_naam, - REPLACE (TO_CHAR (ROUND (bedrag_exbtw, 2)), ',', '.') - fin_factuur_totaal_exbtw, - REPLACE (TO_CHAR (ROUND (bedrag_incbtw, 2)), ',', '.') - fin_factuur_totaal_incbtw, - '' fin_factuurregel_omschrijving, - '' fin_factuurregel_datum, - '' fin_factuurregel_totaal, - '' btw_percentage, - '' btw_code, - '' btw_bedrag, - '' prs_kostenplaats_nr - FROM ( SELECT fin_factuur_key, - opdracht_id, - fin_factuur_datum, - fin_factuur_boekmaand, - fin_factuur_nr, - fin_factuur_bestand, - prs_bedrijf_key, - fin_factuur_debiteur_nr, - COALESCE ( - fin_factuur_betaalref, - fin_factuur_nr || '/' || fin_factuur_debiteur_nr) - betaalreferentie, - fin_factuur_omschr_kopregel, - COUNT (fin_factuur_key) AS aant_factuur_regels, - MAX (fin_factuurregel_nr) AS max_factuur_regelnr, - SUM (fin_factuurregel_totaal) bedrag_exbtw, - SUM ( - fin_factuurregel_totaal + fin_factuurregel_btw) - bedrag_incbtw - FROM wzuv_v_factuur_geg_akkoord ---DEZE DUS - GROUP BY fin_factuur_key, - opdracht_id, - fin_factuur_datum, - fin_factuur_boekmaand, - fin_factuur_nr, - fin_factuur_bestand, - prs_bedrijf_key, - fin_factuur_debiteur_nr, - fin_factuur_betaalref, - fin_factuur_omschr_kopregel) fg - UNION ALL - SELECT fin_factuurregel_nr regelnummer, - ( SELECT COUNT (fin_factuur_key) - FROM wzuv_v_factuur_geg_akkoord fc - WHERE fc.fin_factuur_key = fg.fin_factuur_key - GROUP BY fin_factuur_key, - opdracht_id, - fin_factuur_datum, - fin_factuur_nr, - prs_bedrijf_key, - fin_factuur_debiteur_nr) - AS aant_factuur_regels, - ( SELECT MAX (fin_factuurregel_nr) - FROM wzuv_v_factuur_geg_akkoord fc - WHERE fc.fin_factuur_key = fg.fin_factuur_key - GROUP BY fin_factuur_key, - opdracht_id, - fin_factuur_datum, - fin_factuur_nr, - prs_bedrijf_key, - fin_factuur_debiteur_nr) - AS max_factuur_regelnr, - fin_factuur_key, - fin_factuur_nr, - '' fin_factuur_bestand, - fin_factuur_debiteur_nr, - '' fin_factuur_omschr_kopregel, - '' bes_mld_cnt_opdracht_id, - TO_CHAR (fin_factuur_datum, 'ddmmyyyy') datum, - fin_factuur_boekmaand, - prs_kostensoort_oms grootboekrekening, - TO_CHAR (prs_kostensoort_doorbelasten) - kostensoort_doorbelasten, - COALESCE (fin_factuur_betaalref, - fin_factuur_nr || '/' || fin_factuur_debiteur_nr) - betaalreferentie, - (SELECT prs_leverancier_nr - FROM prs_bedrijf b - WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) - crediteur_nr, - (SELECT prs_bedrijf_naam - FROM prs_bedrijf b - WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) - crediteur_naam, - '' fin_factuur_totaal_exbtw, - '' fin_factuur_totaal_incbtw, - fin_factuurregel_omschrijving, - fin_factuurregel_datum, - REPLACE (TO_CHAR (ROUND (fin_factuurregel_totaal, 2)), - ',', - '.') - fin_factuurregel_totaal, - TO_CHAR (fin_factuurregel_btw_perc) btw_percentage, - fin_btwtabelwaarde_btwcode btw_code, - REPLACE (TO_CHAR (ROUND (fin_factuurregel_btw, 2)), - ',', - '.') - btw_bedrag, - prs_kostenplaats_nr - FROM wzuv_v_factuur_geg_akkoord fg - ORDER BY fin_factuur_key, regelnummer); + SELECT DECODE (regelnummer, 0, '', '') + || '' + || fin_factuur_key + || '' + || '' + || xml.char_to_html (fin_factuur_nr) + || '' + || '' + || xml.char_to_html (fin_factuur_bestand) + || '' + || '' + || xml.char_to_html (fin_factuur_debiteur_nr) + || '' + || '' + || xml.char_to_html (fin_factuur_omschr_kopregel) + || '' + || '' + || xml.char_to_html (bes_mld_cnt_opdracht_id) + || '' + || '' + || datum + || '' + || '' + || fin_factuur_boekmaand + || '' + || '' + || xml.char_to_html (grootboekrekening) + || '' + || '' + || xml.char_to_html (kostensoort_doorbelasten) + || '' + || '' + || xml.char_to_html (betaalreferentie) + || '' + || '' + || xml.char_to_html (crediteur_nr) + || '' + || '' + || xml.char_to_html (crediteur_naam) + || '' + || '' + || fin_factuur_totaal_exbtw + || '' + || '' + || fin_factuur_totaal_incbtw + || '' + || '' + || xml.char_to_html (fin_factuurregel_omschrijving) + || '' + || '' + || xml.char_to_html (fin_factuurregel_datum) + || '' + || '' + || fin_factuurregel_totaal + || '' + || '' + || btw_percentage + || '' + || '' + || xml.char_to_html (btw_code) + || '' + || '' + || btw_bedrag + || '' + || '' + || xml.char_to_html (prs_kostenplaats_nr) + || '' + || DECODE ( + regelnummer, + 0, '', + DECODE (max_factuur_regelnr - regelnummer, + 0, '', + '')), + (1000000 + fin_factuur_key) * 10000 + regelnummer + FROM (SELECT 0 + regelnummer, + aant_factuur_regels, + max_factuur_regelnr, + fin_factuur_key, + fin_factuur_nr, + fin_factuur_bestand, + fin_factuur_debiteur_nr, + fin_factuur_omschr_kopregel, + opdracht_id + bes_mld_cnt_opdracht_id, + TO_CHAR (fin_factuur_datum, 'ddmmyyyy') + datum, + fin_factuur_boekmaand, + '' + grootboekrekening, + '' + kostensoort_doorbelasten, + betaalreferentie, + (SELECT prs_leverancier_nr + FROM prs_bedrijf b + WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) + crediteur_nr, + (SELECT prs_bedrijf_naam + FROM prs_bedrijf b + WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) + crediteur_naam, + REPLACE (TO_CHAR (ROUND (bedrag_exbtw, 2)), ',', '.') + fin_factuur_totaal_exbtw, + REPLACE (TO_CHAR (ROUND (bedrag_incbtw, 2)), ',', '.') + fin_factuur_totaal_incbtw, + '' + fin_factuurregel_omschrijving, + '' + fin_factuurregel_datum, + '' + fin_factuurregel_totaal, + '' + btw_percentage, + '' + btw_code, + '' + btw_bedrag, + '' + prs_kostenplaats_nr + FROM ( SELECT fin_factuur_key, + opdracht_id, + fin_factuur_datum, + fin_factuur_boekmaand, + fin_factuur_nr, + fin_factuur_bestand, + prs_bedrijf_key, + fin_factuur_debiteur_nr, + COALESCE ( + fin_factuur_betaalref, + fin_factuur_nr + || '/' + || fin_factuur_debiteur_nr) + betaalreferentie, + fin_factuur_omschr_kopregel, + COUNT (fin_factuur_key) + AS aant_factuur_regels, + MAX (fin_factuurregel_nr) + AS max_factuur_regelnr, + SUM (fin_factuurregel_totaal) + bedrag_exbtw, + SUM ( + fin_factuurregel_totaal + fin_factuurregel_btw) + bedrag_incbtw + FROM wzuv_v_factuur_geg_akkoord ---DEZE DUS + GROUP BY fin_factuur_key, + opdracht_id, + fin_factuur_datum, + fin_factuur_boekmaand, + fin_factuur_nr, + fin_factuur_bestand, + prs_bedrijf_key, + fin_factuur_debiteur_nr, + fin_factuur_betaalref, + fin_factuur_omschr_kopregel) fg + UNION ALL + SELECT fin_factuurregel_nr + regelnummer, + ( SELECT COUNT (fin_factuur_key) + FROM wzuv_v_factuur_geg_akkoord fc + WHERE fc.fin_factuur_key = fg.fin_factuur_key + GROUP BY fin_factuur_key, + opdracht_id, + fin_factuur_datum, + fin_factuur_nr, + prs_bedrijf_key, + fin_factuur_debiteur_nr) + AS aant_factuur_regels, + ( SELECT MAX (fin_factuurregel_nr) + FROM wzuv_v_factuur_geg_akkoord fc + WHERE fc.fin_factuur_key = fg.fin_factuur_key + GROUP BY fin_factuur_key, + opdracht_id, + fin_factuur_datum, + fin_factuur_nr, + prs_bedrijf_key, + fin_factuur_debiteur_nr) + AS max_factuur_regelnr, + fin_factuur_key, + fin_factuur_nr, + '' + fin_factuur_bestand, + fin_factuur_debiteur_nr, + '' + fin_factuur_omschr_kopregel, + '' + bes_mld_cnt_opdracht_id, + TO_CHAR (fin_factuur_datum, 'ddmmyyyy') + datum, + fin_factuur_boekmaand, + prs_kostensoort_oms + grootboekrekening, + TO_CHAR (prs_kostensoort_doorbelasten) + kostensoort_doorbelasten, + COALESCE ( + fin_factuur_betaalref, + fin_factuur_nr || '/' || fin_factuur_debiteur_nr) + betaalreferentie, + (SELECT prs_leverancier_nr + FROM prs_bedrijf b + WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) + crediteur_nr, + (SELECT prs_bedrijf_naam + FROM prs_bedrijf b + WHERE b.prs_bedrijf_key = fg.prs_bedrijf_key) + crediteur_naam, + '' + fin_factuur_totaal_exbtw, + '' + fin_factuur_totaal_incbtw, + fin_factuurregel_omschrijving, + fin_factuurregel_datum, + REPLACE (TO_CHAR (ROUND (fin_factuurregel_totaal, 2)), + ',', + '.') + fin_factuurregel_totaal, + TO_CHAR (fin_factuurregel_btw_perc) + btw_percentage, + fin_btwtabelwaarde_btwcode + btw_code, + REPLACE (TO_CHAR (ROUND (fin_factuurregel_btw, 2)), + ',', + '.') + btw_bedrag, + prs_kostenplaats_nr + FROM wzuv_v_factuur_geg_akkoord fg + ORDER BY fin_factuur_key, regelnummer); -CREATE OR REPLACE VIEW wzuv_v_export_fclt_factuur (result, result_order) +CREATE OR REPLACE VIEW wzuv_v_export_fclt_factuur +( + result, + result_order +) AS - SELECT '', 0 FROM DUAL - UNION - SELECT result, result_order FROM wzuv_v_fclt_factuur_header - UNION - SELECT result, result_order FROM wzuv_v_fclt_factuur_body - UNION - SELECT '', 99999999999999999999 FROM DUAL; + SELECT '', 0 FROM DUAL + UNION + SELECT result, result_order FROM wzuv_v_fclt_factuur_header + UNION + SELECT result, result_order FROM wzuv_v_fclt_factuur_body + UNION + SELECT '', 99999999999999999999 FROM DUAL; CREATE OR REPLACE PROCEDURE wzuv_export_fclt_factuur ( - p_applname IN VARCHAR2, - p_applrun IN VARCHAR2, - p_filedir IN VARCHAR2, - p_filename IN VARCHAR2) + p_applname IN VARCHAR2, + p_applrun IN VARCHAR2, + p_filedir IN VARCHAR2, + p_filename IN VARCHAR2) AS - -- In cursor cfactuur alle facturen die worden geexporteerd... - CURSOR cfactuur - IS - SELECT fin_factuur_key - FROM wzuv_v_factuur_geg_akkoord - GROUP BY fin_factuur_key; + -- In cursor cfactuur alle facturen die worden geexporteerd... + CURSOR cfactuur IS + SELECT fin_factuur_key + FROM wzuv_v_factuur_geg_akkoord + GROUP BY fin_factuur_key; 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 - fin.setfactuurstatus (cfact.fin_factuur_key, 7, NULL); - END LOOP; + -- 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 + fin.setfactuurstatus (cfact.fin_factuur_key, 7, NULL); + END LOOP; END; / CREATE OR REPLACE VIEW wzuv_v_export_undo_exact ( - result, - result_order + result, + result_order ) AS - SELECT REPLACE ( - REPLACE ( - f.fin_factuur_key - || ';' - || opdracht_id - || ';' - || fin_factuur_datum - || ';' - || fin_factuur_nr - || ';' - || prs_bedrijf_key - || ';' - || fin_factuurregel_totaal - || ';' - || fin_factuurregel_btw - || ';' - || fin_factuurregel_nr - || ';' - || fin_factuur_debiteur_nr - || ';' - || project_nummer - || ';' - || prs_kostensoort_oms - || ';' - || bes_opdr_key - || ';' - || mld_opdr_key - || ';' - || cnt_contract_key, - CHR (13), - ''), - CHR (10), - ''), - f.fin_factuur_key - FROM wzuv_v_factuur_geg f, fac_tracking t, fac_srtnotificatie sn - WHERE sn.fac_srtnotificatie_code = 'FINVER' - AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key - AND t.fac_tracking_datum >= - (SELECT MAX (t1.fac_tracking_datum) - (1 / (24 * 60)) - FROM fac_tracking t1 - WHERE t1.fac_srtnotificatie_key = t.fac_srtnotificatie_key) - AND f.fin_factuur_key = t.fac_tracking_refkey - AND f.fin_factuur_statuses_key = 7; + SELECT REPLACE ( + REPLACE ( + f.fin_factuur_key + || ';' + || opdracht_id + || ';' + || fin_factuur_datum + || ';' + || fin_factuur_nr + || ';' + || prs_bedrijf_key + || ';' + || fin_factuurregel_totaal + || ';' + || fin_factuurregel_btw + || ';' + || fin_factuurregel_nr + || ';' + || fin_factuur_debiteur_nr + || ';' + || project_nummer + || ';' + || prs_kostensoort_oms + || ';' + || bes_opdr_key + || ';' + || mld_opdr_key + || ';' + || cnt_contract_key, + CHR (13), + ''), + CHR (10), + ''), + f.fin_factuur_key + FROM wzuv_v_factuur_geg f, fac_tracking t, fac_srtnotificatie sn + WHERE sn.fac_srtnotificatie_code = 'FINVER' + AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key + AND t.fac_tracking_datum >= + (SELECT MAX (t1.fac_tracking_datum) - (1 / (24 * 60)) + FROM fac_tracking t1 + WHERE t1.fac_srtnotificatie_key = t.fac_srtnotificatie_key) + AND f.fin_factuur_key = t.fac_tracking_refkey + AND f.fin_factuur_statuses_key = 7; CREATE OR REPLACE PROCEDURE wzuv_select_undo_exact (p_applname IN VARCHAR2, p_applrun IN VARCHAR2) AS - v_errormsg VARCHAR (200); + v_errormsg VARCHAR (200); BEGIN - v_errormsg := 'Geen akties'; + v_errormsg := 'Geen akties'; END; / @@ -1800,43 +1903,42 @@ CREATE OR REPLACE PROCEDURE wzuv_export_undo_exact (p_applname IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2) AS - CURSOR cfactuur - IS - SELECT DISTINCT f.fin_factuur_key - FROM fac_tracking t, fac_srtnotificatie sn, fin_factuur f - WHERE sn.fac_srtnotificatie_code = 'FINVER' - AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key - AND t.fac_tracking_datum >= + CURSOR cfactuur IS + SELECT DISTINCT f.fin_factuur_key + FROM fac_tracking t, fac_srtnotificatie sn, fin_factuur f + WHERE sn.fac_srtnotificatie_code = 'FINVER' + AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key + AND t.fac_tracking_datum >= (SELECT MAX (t1.fac_tracking_datum) - (1 / (24 * 60)) FROM fac_tracking t1 WHERE t1.fac_srtnotificatie_key = - t.fac_srtnotificatie_key) - AND f.fin_factuur_key = t.fac_tracking_refkey - AND fin_factuur_statuses_key = 7; + t.fac_srtnotificatie_key) + AND f.fin_factuur_key = t.fac_tracking_refkey + AND fin_factuur_statuses_key = 7; - v_errormsg VARCHAR (200); - oracle_err_num NUMBER; - oracle_err_mes VARCHAR2 (200); + v_errormsg VARCHAR (200); + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); BEGIN - v_errormsg := 'Geen akties'; + v_errormsg := 'Geen akties'; - FOR cfact IN cfactuur - LOOP - -- 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); + FOR cfact IN cfactuur + LOOP + -- 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'); + -- Dan maar zelf en custom-made: + fac.trackaction ('FINFOK', + cfact.fin_factuur_key, + NULL, + NULL, + 'Factuur uit archief teruggezet'); - UPDATE fin_factuur - SET fin_factuur_statuses_key = 6 - WHERE fin_factuur_key = cfact.fin_factuur_key; - END LOOP; + UPDATE fin_factuur + SET fin_factuur_statuses_key = 6 + WHERE fin_factuur_key = cfact.fin_factuur_key; + END LOOP; END; / @@ -1844,135 +1946,137 @@ END; -- EINDE VIEWS EN PROCS VOOR DE EXACT KOPPELING -- =================================== -CREATE OR REPLACE PROCEDURE wzuv_processemail ( - pfrom IN VARCHAR2, - pto IN VARCHAR2, - psubject IN VARCHAR2, - pbody IN VARCHAR2, - psessionid IN VARCHAR2, - pemailkey IN NUMBER) +CREATE OR REPLACE PROCEDURE wzuv_processemail (pfrom IN VARCHAR2, + pto IN VARCHAR2, + psubject IN VARCHAR2, + pbody IN VARCHAR2, + psessionid IN VARCHAR2, + pemailkey IN NUMBER) AS - v_count NUMBER; - sender prs_perslid.prs_perslid_key%TYPE; - kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE; - newkey mld_melding.mld_melding_key%TYPE; - defaultstdmelding fac_setting.fac_setting_default%TYPE; - -- kkey mld_kenmerk.mld_kenmerk_key%TYPE; - errormsg fac_result.fac_result_waarde%TYPE; + v_count NUMBER; + sender prs_perslid.prs_perslid_key%TYPE; + kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE; + newkey mld_melding.mld_melding_key%TYPE; + defaultstdmelding fac_setting.fac_setting_default%TYPE; + -- kkey mld_kenmerk.mld_kenmerk_key%TYPE; + errormsg fac_result.fac_result_waarde%TYPE; BEGIN - -- Valideer de sender in pfrom: kennen we deze? - SELECT COUNT ( * ) - INTO v_count - FROM prs_perslid p, prs_afdeling d - WHERE p.prs_afdeling_key = d.prs_afdeling_key - AND UPPER (prs_perslid_email) = UPPER (pfrom); + -- Valideer de sender in pfrom: kennen we deze? + SELECT COUNT (*) + INTO v_count + FROM prs_perslid p, prs_afdeling d + WHERE p.prs_afdeling_key = d.prs_afdeling_key + AND UPPER (prs_perslid_email) = UPPER (pfrom); - -- Bekende afzender --> dat is de melder - IF (v_count = 1) - THEN - SELECT prs_perslid_key, d.prs_kostenplaats_key - INTO sender, kostenplaats - FROM prs_perslid p, prs_afdeling d - WHERE p.prs_afdeling_key = d.prs_afdeling_key - AND UPPER (prs_perslid_email) = UPPER (pfrom); - -- Geen bekende afzender --> _FACILITOR - ELSE - SELECT prs_perslid_key, d.prs_kostenplaats_key - INTO sender, kostenplaats - FROM prs_perslid p, prs_afdeling d - WHERE p.prs_afdeling_key = d.prs_afdeling_key AND prs_perslid_key = 3; - END IF; + -- Bekende afzender --> dat is de melder + IF (v_count = 1) + THEN + SELECT prs_perslid_key, d.prs_kostenplaats_key + INTO sender, kostenplaats + FROM prs_perslid p, prs_afdeling d + WHERE p.prs_afdeling_key = d.prs_afdeling_key + AND UPPER (prs_perslid_email) = UPPER (pfrom); + -- Geen bekende afzender --> _FACILITOR + ELSE + SELECT prs_perslid_key, d.prs_kostenplaats_key + INTO sender, kostenplaats + FROM prs_perslid p, prs_afdeling d + WHERE p.prs_afdeling_key = d.prs_afdeling_key + AND prs_perslid_key = 3; + END IF; - CASE - -- WZUV#51384: bij het overlijden van een patiënt moet een mailtje naar Facilitor de melding aanroepen en de workflow starten - WHEN UPPER (pto) LIKE 'OVERLIJDEN@%' - THEN - defaultstdmelding := '461'; + CASE + -- WZUV#51384: bij het overlijden van een patiënt moet een mailtje naar Facilitor de melding aanroepen en de workflow starten + WHEN UPPER (pto) LIKE 'OVERLIJDEN@%' + THEN + defaultstdmelding := '461'; - -- suggested extensions: - -- check for MLDUSE-write autorisations - -- parse the subject to find an appropriate stdmelding, if uniquely possible - BEGIN - INSERT INTO mld_melding (mld_melding_module, - mld_meldbron_key, - mld_melding_datum, - mld_melding_onderwerp, - mld_melding_omschrijving, - mld_melding_status, - mld_stdmelding_key, - mld_alg_locatie_key, - prs_perslid_key, - prs_perslid_key_voor, - prs_kostenplaats_key, - mld_melding_spoed) - VALUES ('MLD', - 4, -- email - SYSDATE, - SUBSTR (psubject, 1, 60), - SUBSTR ( - REPLACE ( - SUBSTR (pbody, 1, 4000), - CHR (13) || CHR (10) || CHR (13) || CHR (10), - CHR (13) || CHR (10)), - 1, - 4000), -- verwijder onnodige witregels - NULL, - defaultstdmelding, - 1, -- Hoe bepalen we de locatie? Nu maar even op 1 = Epe gezet - sender, - sender, - kostenplaats, - 3) - RETURNING mld_melding_key - INTO newkey; + -- suggested extensions: + -- check for MLDUSE-write autorisations + -- parse the subject to find an appropriate stdmelding, if uniquely possible + BEGIN + INSERT INTO mld_melding (mld_melding_module, + mld_meldbron_key, + mld_melding_datum, + mld_melding_onderwerp, + mld_melding_omschrijving, + mld_melding_status, + mld_stdmelding_key, + mld_alg_locatie_key, + prs_perslid_key, + prs_perslid_key_voor, + prs_kostenplaats_key, + mld_melding_spoed) + VALUES ( + 'MLD', + 4, -- email + SYSDATE, + SUBSTR (psubject, 1, 60), + SUBSTR ( + REPLACE ( + SUBSTR (pbody, 1, 4000), + CHR (13) || CHR (10) || CHR (13) || CHR (10), + CHR (13) || CHR (10)), + 1, + 4000), -- verwijder onnodige witregels + NULL, + defaultstdmelding, + 1, -- Hoe bepalen we de locatie? Nu maar even op 1 = Epe gezet + sender, + sender, + kostenplaats, + 3) + RETURNING mld_melding_key + INTO newkey; - -- In geval van overlijden moet een workflow gestart worden - -- de startmelding krijgt status 5 en de volgende stap kan opgestart worden - mld.setmeldingstatus (newkey, 5, sender); - mld.mld_nextworkflowstep (newkey, 1); -- 1=Completed + -- In geval van overlijden moet een workflow gestart worden + -- de startmelding krijgt status 5 en de volgende stap kan opgestart worden + mld.setmeldingstatus (newkey, 5, sender); + mld.mld_nextworkflowstep (newkey, 1); -- 1=Completed - INSERT INTO fac_result (fac_result_sessionid, - fac_result_naam, - fac_result_waarde) - VALUES (psessionid, - 'maillog', - 'Geregistreerd onder melding ' || newkey); - END; - ELSE - NULL; - END CASE; + INSERT INTO fac_result (fac_result_sessionid, + fac_result_naam, + fac_result_waarde) + VALUES (psessionid, + 'maillog', + 'Geregistreerd onder melding ' || newkey); + END; + ELSE + NULL; + END CASE; - IF errormsg IS NOT NULL - THEN - INSERT INTO fac_result (fac_result_sessionid, - fac_result_naam, - fac_result_waarde) - VALUES (psessionid, 'errormsg', errormsg); - END IF; + IF errormsg IS NOT NULL + THEN + INSERT INTO fac_result (fac_result_sessionid, + fac_result_naam, + fac_result_waarde) + VALUES (psessionid, 'errormsg', errormsg); + END IF; EXCEPTION - WHEN OTHERS - THEN - fac.writelog ( - 'PROCESSEMAIL', - 'W', - 'Mail kon niet verwerkt worden afzender: ' - || pfrom - || '[' - || errormsg - || ']', - 'OTHERS (error ' - || SQLCODE - || '/' - || SUBSTR (SQLERRM, 1, 100) - || ')'); + WHEN OTHERS + THEN + fac.writelog ( + 'PROCESSEMAIL', + 'W', + 'Mail kon niet verwerkt worden afzender: ' + || pfrom + || '[' + || errormsg + || ']', + 'OTHERS (error ' + || SQLCODE + || '/' + || SUBSTR (SQLERRM, 1, 100) + || ')'); - INSERT INTO fac_result (fac_result_sessionid, - fac_result_naam, - fac_result_waarde) - VALUES (psessionid, - 'errormsg', - 'Database fout - Neem contact op met uw systeembeheerder'); + INSERT INTO fac_result (fac_result_sessionid, + fac_result_naam, + fac_result_waarde) + VALUES ( + psessionid, + 'errormsg', + 'Database fout - Neem contact op met uw systeembeheerder'); END wzuv_processemail; / @@ -1983,246 +2087,273 @@ END wzuv_processemail; CREATE OR REPLACE VIEW WZUV_V_NOTI_VRIJKOMEN_APP1 ( - SENDER, - RECEIVER, - TEXT, - CODE, - FAC_SRTNOTIFICATIE_KEY, - KEY, - XKEY, - XEMAIL, - XMOBILE + SENDER, + RECEIVER, + TEXT, + CODE, + FAC_SRTNOTIFICATIE_KEY, + KEY, + XKEY, + XEMAIL, + XMOBILE ) AS - SELECT DISTINCT - NULL sender, - NULL receiver, - 'Melding vrijkomen ' - || og.alg_gebouw_naam - || ' ' - || og.alg_plaatsomschrijving, - fac_srtnotificatie_code, - n.fac_srtnotificatie_key, - m.mld_melding_key, - NULL xkey, - huismeester.prs_perslid_email xemail, - NULL xmobile - FROM fac_tracking t, - mld_melding m, - fac_srtnotificatie n, - alg_v_allonrgoed_gegevens og, - (SELECT ok.alg_onrgoed_key, - ok.alg_onrgoedkenmerk_waarde, - p.prs_perslid_voornaam, - p.prs_perslid_email - FROM alg_onrgoedkenmerk ok, alg_kenmerk k, prs_perslid p - WHERE ok.alg_kenmerk_key = k.alg_kenmerk_key - AND ok.alg_onrgoedkenmerk_waarde = - TO_CHAR (p.prs_perslid_key) - AND UPPER (k.alg_kenmerk_omschrijving) LIKE '%HUISMEESTER%') -- de juiste huismeester wordt bepaald op basis van het gebouw waar de cliënt woonachtig was - huismeester - WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY - AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST01' - AND T.FAC_SRTNOTIFICATIE_KEY = 44 -- mldnew - AND M.MLD_STDMELDING_KEY = 521 -- startmelding opleveren appartement - AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS - AND OG.ALG_GEBOUW_KEY = huismeester.ALG_ONRGOED_KEY - AND t.fac_tracking_datum > - (SELECT fac_notificatie_job_nextrun - - fac_notificatie_job_interval / 24 - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP1') - AND t.fac_tracking_datum < - (SELECT fac_notificatie_job_nextrun - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP1') - UNION ALL - SELECT DISTINCT -- receptie: het mail adres van de receptie is per gebouw vastgelegd - NULL sender, - NULL receiver, - 'Melding vrijkomen ' - || og.alg_gebouw_naam - || ' ' - || og.alg_plaatsomschrijving, - fac_srtnotificatie_code, - n.fac_srtnotificatie_key, - m.mld_melding_key, - NULL xkey, - g.alg_gebouw_email xemail, - NULL xmobile - FROM fac_tracking t, - mld_melding m, - fac_srtnotificatie n, - alg_v_allonrgoed_gegevens og, - alg_gebouw g - WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY - AND T.FAC_SRTNOTIFICATIE_KEY = 44 - AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST01' - AND M.MLD_STDMELDING_KEY = 521 -- startmelding opleveren appartement - AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS - AND OG.ALG_GEBOUW_KEY = G.ALG_GEBOUW_KEY - AND t.fac_tracking_datum > - (SELECT fac_notificatie_job_nextrun - - fac_notificatie_job_interval / 24 - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP1') - AND t.fac_tracking_datum < - (SELECT fac_notificatie_job_nextrun - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP1') - UNION ALL - SELECT DISTINCT -- de cateraar: er is per locatie 1 cateraar (gebruiker) - NULL sender, - NULL receiver, - 'Melding vrijkomen ' - || og.alg_gebouw_naam - || ' ' - || og.alg_plaatsomschrijving, - fac_srtnotificatie_code, - n.fac_srtnotificatie_key, - m.mld_melding_key, - NULL xkey, - p.prs_perslid_email xemail, - NULL xmobile - FROM fac_tracking t, - mld_melding m, - fac_srtnotificatie n, - alg_v_allonrgoed_gegevens og, - alg_gebouw g, - prs_perslid p - WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY - AND T.FAC_SRTNOTIFICATIE_KEY = 44 - AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST01' - AND M.MLD_STDMELDING_KEY = 521 -- startmelding opleveren appartement - AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS - AND OG.ALG_GEBOUW_KEY = G.ALG_GEBOUW_KEY - AND P.ALG_ONROERENDGOED_KEYS = G.ALG_GEBOUW_KEY - AND P.PRS_PERSLID_UPPER LIKE '%CATERAAR%' - AND t.fac_tracking_datum > - (SELECT fac_notificatie_job_nextrun - - fac_notificatie_job_interval / 24 - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP1') - AND t.fac_tracking_datum < - (SELECT fac_notificatie_job_nextrun - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP1'); + SELECT DISTINCT + NULL + sender, + NULL + receiver, + 'Melding vrijkomen ' + || og.alg_gebouw_naam + || ' ' + || og.alg_plaatsomschrijving, + fac_srtnotificatie_code, + n.fac_srtnotificatie_key, + m.mld_melding_key, + NULL + xkey, + huismeester.prs_perslid_email + xemail, + NULL + xmobile + FROM fac_tracking t, + mld_melding m, + fac_srtnotificatie n, + alg_v_allonrgoed_gegevens og, + (SELECT ok.alg_onrgoed_key, + ok.alg_onrgoedkenmerk_waarde, + p.prs_perslid_voornaam, + p.prs_perslid_email + FROM alg_onrgoedkenmerk ok, alg_kenmerk k, prs_perslid p + WHERE ok.alg_kenmerk_key = k.alg_kenmerk_key + AND ok.alg_onrgoedkenmerk_waarde = + TO_CHAR (p.prs_perslid_key) + AND UPPER (k.alg_kenmerk_omschrijving) LIKE + '%HUISMEESTER%') -- de juiste huismeester wordt bepaald op basis van het gebouw waar de cliënt woonachtig was + huismeester + WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY + AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST01' + AND T.FAC_SRTNOTIFICATIE_KEY = 44 -- mldnew + AND M.MLD_STDMELDING_KEY = 521 -- startmelding opleveren appartement + AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS + AND OG.ALG_GEBOUW_KEY = huismeester.ALG_ONRGOED_KEY + AND t.fac_tracking_datum > + (SELECT fac_notificatie_job_nextrun + - fac_notificatie_job_interval / 24 + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP1') + AND t.fac_tracking_datum < + (SELECT fac_notificatie_job_nextrun + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP1') + UNION ALL + SELECT DISTINCT -- receptie: het mail adres van de receptie is per gebouw vastgelegd + NULL + sender, + NULL + receiver, + 'Melding vrijkomen ' + || og.alg_gebouw_naam + || ' ' + || og.alg_plaatsomschrijving, + fac_srtnotificatie_code, + n.fac_srtnotificatie_key, + m.mld_melding_key, + NULL + xkey, + g.alg_gebouw_email + xemail, + NULL + xmobile + FROM fac_tracking t, + mld_melding m, + fac_srtnotificatie n, + alg_v_allonrgoed_gegevens og, + alg_gebouw g + WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY + AND T.FAC_SRTNOTIFICATIE_KEY = 44 + AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST01' + AND M.MLD_STDMELDING_KEY = 521 -- startmelding opleveren appartement + AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS + AND OG.ALG_GEBOUW_KEY = G.ALG_GEBOUW_KEY + AND t.fac_tracking_datum > + (SELECT fac_notificatie_job_nextrun + - fac_notificatie_job_interval / 24 + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP1') + AND t.fac_tracking_datum < + (SELECT fac_notificatie_job_nextrun + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP1') + UNION ALL + SELECT DISTINCT -- de cateraar: er is per locatie 1 cateraar (gebruiker) + NULL + sender, + NULL + receiver, + 'Melding vrijkomen ' + || og.alg_gebouw_naam + || ' ' + || og.alg_plaatsomschrijving, + fac_srtnotificatie_code, + n.fac_srtnotificatie_key, + m.mld_melding_key, + NULL + xkey, + p.prs_perslid_email + xemail, + NULL + xmobile + FROM fac_tracking t, + mld_melding m, + fac_srtnotificatie n, + alg_v_allonrgoed_gegevens og, + alg_gebouw g, + prs_perslid p + WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY + AND T.FAC_SRTNOTIFICATIE_KEY = 44 + AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST01' + AND M.MLD_STDMELDING_KEY = 521 -- startmelding opleveren appartement + AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS + AND OG.ALG_GEBOUW_KEY = G.ALG_GEBOUW_KEY + AND P.ALG_ONROERENDGOED_KEYS = G.ALG_GEBOUW_KEY + AND P.PRS_PERSLID_UPPER LIKE '%CATERAAR%' + AND t.fac_tracking_datum > + (SELECT fac_notificatie_job_nextrun + - fac_notificatie_job_interval / 24 + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP1') + AND t.fac_tracking_datum < + (SELECT fac_notificatie_job_nextrun + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP1'); -- zodra het klusteam klaar is -- krijgen huishouding en CSP bericht CREATE OR REPLACE VIEW WZUV_V_NOTI_VRIJKOMEN_APP2 ( - SENDER, - RECEIVER, - TEXT, - CODE, - FAC_SRTNOTIFICATIE_KEY, - KEY, - XKEY, - XEMAIL, - XMOBILE + SENDER, + RECEIVER, + TEXT, + CODE, + FAC_SRTNOTIFICATIE_KEY, + KEY, + XKEY, + XEMAIL, + XMOBILE ) AS - SELECT DISTINCT - NULL sender, - NULL receiver, - 'Melding vrijkomen ' - || og.alg_gebouw_naam - || ' ' - || og.alg_plaatsomschrijving, - fac_srtnotificatie_code, - n.fac_srtnotificatie_key, - m.mld_melding_key, - NULL xkey, - 'm.witteveen@wzuveluwe.nl;clientservicepunt@wzuveluwe.nl' xemail, - NULL xmobile - FROM fac_tracking t, - mld_melding m, - fac_srtnotificatie n, - alg_v_allonrgoed_gegevens og, - alg_gebouw g, - mld_kenmerkmelding km - WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY - AND T.FAC_SRTNOTIFICATIE_KEY = 39 - AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST02' - AND M.MLD_STDMELDING_KEY = 521 -- startmelding opleveren appartement - AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS - AND OG.ALG_GEBOUW_KEY = G.ALG_GEBOUW_KEY - AND M.MLD_MELDING_KEY = KM.MLD_MELDING_KEY - AND KM.MLD_KENMERK_KEY = 541 - AND t.fac_tracking_datum > - (SELECT fac_notificatie_job_nextrun - - fac_notificatie_job_interval / 24 - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP2') - AND t.fac_tracking_datum < - (SELECT fac_notificatie_job_nextrun - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP2'); + SELECT DISTINCT + NULL + sender, + NULL + receiver, + 'Melding vrijkomen ' + || og.alg_gebouw_naam + || ' ' + || og.alg_plaatsomschrijving, + fac_srtnotificatie_code, + n.fac_srtnotificatie_key, + m.mld_melding_key, + NULL + xkey, + 'm.witteveen@wzuveluwe.nl;clientservicepunt@wzuveluwe.nl' + xemail, + NULL + xmobile + FROM fac_tracking t, + mld_melding m, + fac_srtnotificatie n, + alg_v_allonrgoed_gegevens og, + alg_gebouw g, + mld_kenmerkmelding km + WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY + AND T.FAC_SRTNOTIFICATIE_KEY = 39 + AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST02' + AND M.MLD_STDMELDING_KEY = 521 -- startmelding opleveren appartement + AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS + AND OG.ALG_GEBOUW_KEY = G.ALG_GEBOUW_KEY + AND M.MLD_MELDING_KEY = KM.MLD_MELDING_KEY + AND KM.MLD_KENMERK_KEY = 541 + AND t.fac_tracking_datum > + (SELECT fac_notificatie_job_nextrun + - fac_notificatie_job_interval / 24 + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP2') + AND t.fac_tracking_datum < + (SELECT fac_notificatie_job_nextrun + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP2'); --- Als de huishouding klaar is met de schoonmaak krijgt het CSP nogmaals bericcht CREATE OR REPLACE VIEW WZUV_V_NOTI_VRIJKOMEN_APP3 ( - SENDER, - RECEIVER, - TEXT, - CODE, - FAC_SRTNOTIFICATIE_KEY, - KEY, - XKEY, - XEMAIL, - XMOBILE + SENDER, + RECEIVER, + TEXT, + CODE, + FAC_SRTNOTIFICATIE_KEY, + KEY, + XKEY, + XEMAIL, + XMOBILE ) AS - SELECT DISTINCT - NULL sender, - NULL receiver, - 'Werkzaamheden rondom vrijkomen ' - || og.alg_gebouw_naam - || ' ' - || og.alg_plaatsomschrijving - || ' afgerond', - fac_srtnotificatie_code, - n.fac_srtnotificatie_key, - m.mld_melding_key, - NULL xkey, - 'clientservicepunt@wzuveluwe.nl' xemail, - NULL xmobile - FROM fac_tracking t, - mld_melding m, - fac_srtnotificatie n, - alg_v_allonrgoed_gegevens og, - alg_gebouw g - WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY - AND T.FAC_SRTNOTIFICATIE_KEY = 39 -- mldafm - AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST03' - AND M.MLD_STDMELDING_KEY = 544 -- melding opleveren appartement huishouding - AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS - AND OG.ALG_GEBOUW_KEY = G.ALG_GEBOUW_KEY - AND t.fac_tracking_datum > - (SELECT fac_notificatie_job_nextrun - - fac_notificatie_job_interval / 24 - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP3') - AND t.fac_tracking_datum < - (SELECT fac_notificatie_job_nextrun - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = - 'WZUV_V_NOTI_VRIJKOMEN_APP3'); + SELECT DISTINCT + NULL + sender, + NULL + receiver, + 'Werkzaamheden rondom vrijkomen ' + || og.alg_gebouw_naam + || ' ' + || og.alg_plaatsomschrijving + || ' afgerond', + fac_srtnotificatie_code, + n.fac_srtnotificatie_key, + m.mld_melding_key, + NULL + xkey, + 'clientservicepunt@wzuveluwe.nl' + xemail, + NULL + xmobile + FROM fac_tracking t, + mld_melding m, + fac_srtnotificatie n, + alg_v_allonrgoed_gegevens og, + alg_gebouw g + WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY + AND T.FAC_SRTNOTIFICATIE_KEY = 39 -- mldafm + AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST03' + AND M.MLD_STDMELDING_KEY = 544 -- melding opleveren appartement huishouding + AND M.MLD_ALG_ONROERENDGOED_KEYS = OG.ALG_ONROERENDGOED_KEYS + AND OG.ALG_GEBOUW_KEY = G.ALG_GEBOUW_KEY + AND t.fac_tracking_datum > + (SELECT fac_notificatie_job_nextrun + - fac_notificatie_job_interval / 24 + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP3') + AND t.fac_tracking_datum < + (SELECT fac_notificatie_job_nextrun + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_VRIJKOMEN_APP3'); --View voor Notificatie bij Rapeldatum contract bereikt -CREATE OR REPLACE VIEW WZUV_V_NOTI_CNTREMINDER + +CREATE OR REPLACE VIEW WZUV_V_NOTI_CNTREMINDER ( CODE, SENDER, @@ -2261,7 +2392,7 @@ AS AND cnt_contract_status = 0 AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key)) - UNION ALL + UNION ALL SELECT '', '', c.prs_perslid_key_eig, @@ -2293,190 +2424,192 @@ AS CREATE OR REPLACE VIEW WZUV_V_RAP_CONTROLE_RES ( - SOORT, - DATUM, - NEDAPNR, - KOSTENPLAATS, - KOSTENSOORT, - RES_NR, - NO_SHOW, - STATUS, - OMSCHRIJVING, - RUIMTE, - RUIMTE_PRIJS, - CATERING_PRIJS, - NAAM_GEFACTUREERDE, - FACTUURADRES, - PC_PLAATS + SOORT, + DATUM, + NEDAPNR, + KOSTENPLAATS, + KOSTENSOORT, + RES_NR, + NO_SHOW, + STATUS, + OMSCHRIJVING, + RUIMTE, + RUIMTE_PRIJS, + CATERING_PRIJS, + NAAM_GEFACTUREERDE, + FACTUURADRES, + PC_PLAATS ) AS - SELECT DECODE (res.fclt_3d_afdeling_key, - 422, 'Extern - Cliënt', - 441, 'Extern - Overig', - 'Intern') - activiteitensoort, - van, - CASE - WHEN UPPER (personeelsnr) LIKE 'NEDAP%' - THEN - SUBSTR (personeelsnr, 7) - ELSE - '' - END - AS NEDAPnr, - kpl.prs_kostenplaats_nr - || '- ' - || kpl.prs_kostenplaats_omschrijving, - res.kostensoort, - nummer, - no_show, - bostatus, - res_omschrijving, - ruimte, - res.getruimteprijs (rrr.res_rsv_ruimte_key) ruimte_prijs, - SUM (voorziening_totaalprijs) catering_prijs, - naam_gefactureerde, - factuuradres, - pc_plaats - FROM res_v_udr_reserveringincl res, - prs_afdeling afd, - res_rsv_ruimte rrr, - prs_kostenplaats kpl, - (SELECT res_rsv_ruimte_key, - res_kenmerkreservering_waarde naam_gefactureerde - FROM res_kenmerkwaarde kw, res_kenmerk km, res_srtkenmerk skm - WHERE kw.res_kenmerk_key = km.res_kenmerk_key - AND km.res_srtkenmerk_key = skm.res_srtkenmerk_key - AND res_srtkenmerk_upper LIKE '%NAAM GEFACTUREERDE%') - gefactureerde, - (SELECT res_rsv_ruimte_key, - res_kenmerkreservering_waarde factuuradres - FROM res_kenmerkwaarde kw, res_kenmerk km, res_srtkenmerk skm - WHERE kw.res_kenmerk_key = km.res_kenmerk_key - AND km.res_srtkenmerk_key = skm.res_srtkenmerk_key - AND res_srtkenmerk_upper LIKE 'ADRES%') adres, - (SELECT res_rsv_ruimte_key, res_kenmerkreservering_waarde pc_plaats - FROM res_kenmerkwaarde kw, res_kenmerk km, res_srtkenmerk skm - WHERE kw.res_kenmerk_key = km.res_kenmerk_key - AND km.res_srtkenmerk_key = skm.res_srtkenmerk_key - AND res_srtkenmerk_upper LIKE 'POSTCODE%') postcode - WHERE res.fclt_3d_afdeling_key = afd.prs_afdeling_key - AND rrr.res_rsv_ruimte_key = res.key - AND afd.prs_kostenplaats_key = kpl.prs_kostenplaats_key - AND res.key = gefactureerde.res_rsv_ruimte_key(+) - AND res.key = adres.res_rsv_ruimte_key(+) - AND res.key = postcode.res_rsv_ruimte_key(+) - GROUP BY res.fclt_3d_afdeling_key, - van, - personeelsnr, - kpl.prs_kostenplaats_nr, - kpl.prs_kostenplaats_omschrijving, - kostensoort, - nummer, - no_show, - bostatus, - res_omschrijving, - ruimte, - rrr.res_rsv_ruimte_key, - naam_gefactureerde, - factuuradres, - pc_plaats - ORDER BY van, nummer; + SELECT DECODE (res.fclt_3d_afdeling_key, + 422, 'Extern - Cliënt', + 441, 'Extern - Overig', + 'Intern') + activiteitensoort, + van, + CASE + WHEN UPPER (personeelsnr) LIKE 'NEDAP%' + THEN + SUBSTR (personeelsnr, 7) + ELSE + '' + END + AS NEDAPnr, + kpl.prs_kostenplaats_nr + || '- ' + || kpl.prs_kostenplaats_omschrijving, + res.kostensoort, + nummer, + no_show, + bostatus, + res_omschrijving, + ruimte, + res.getruimteprijs (rrr.res_rsv_ruimte_key) + ruimte_prijs, + SUM (voorziening_totaalprijs) + catering_prijs, + naam_gefactureerde, + factuuradres, + pc_plaats + FROM res_v_udr_reserveringincl res, + prs_afdeling afd, + res_rsv_ruimte rrr, + prs_kostenplaats kpl, + (SELECT res_rsv_ruimte_key, + res_kenmerkreservering_waarde naam_gefactureerde + FROM res_kenmerkwaarde kw, res_kenmerk km, res_srtkenmerk skm + WHERE kw.res_kenmerk_key = km.res_kenmerk_key + AND km.res_srtkenmerk_key = skm.res_srtkenmerk_key + AND res_srtkenmerk_upper LIKE '%NAAM GEFACTUREERDE%') + gefactureerde, + (SELECT res_rsv_ruimte_key, + res_kenmerkreservering_waarde factuuradres + FROM res_kenmerkwaarde kw, res_kenmerk km, res_srtkenmerk skm + WHERE kw.res_kenmerk_key = km.res_kenmerk_key + AND km.res_srtkenmerk_key = skm.res_srtkenmerk_key + AND res_srtkenmerk_upper LIKE 'ADRES%') adres, + (SELECT res_rsv_ruimte_key, + res_kenmerkreservering_waarde pc_plaats + FROM res_kenmerkwaarde kw, res_kenmerk km, res_srtkenmerk skm + WHERE kw.res_kenmerk_key = km.res_kenmerk_key + AND km.res_srtkenmerk_key = skm.res_srtkenmerk_key + AND res_srtkenmerk_upper LIKE 'POSTCODE%') postcode + WHERE res.fclt_3d_afdeling_key = afd.prs_afdeling_key + AND rrr.res_rsv_ruimte_key = res.key + AND afd.prs_kostenplaats_key = kpl.prs_kostenplaats_key + AND res.key = gefactureerde.res_rsv_ruimte_key(+) + AND res.key = adres.res_rsv_ruimte_key(+) + AND res.key = postcode.res_rsv_ruimte_key(+) + GROUP BY res.fclt_3d_afdeling_key, + van, + personeelsnr, + kpl.prs_kostenplaats_nr, + kpl.prs_kostenplaats_omschrijving, + kostensoort, + nummer, + no_show, + bostatus, + res_omschrijving, + ruimte, + rrr.res_rsv_ruimte_key, + naam_gefactureerde, + factuuradres, + pc_plaats + ORDER BY van, nummer; CREATE OR REPLACE PROCEDURE wzuv_fin_upsertkenmerk ( - f_kenmerk_key IN NUMBER, - f_fact_key IN NUMBER, - f_kenmerk_waarde IN VARCHAR2) + f_kenmerk_key IN NUMBER, + f_fact_key IN NUMBER, + f_kenmerk_waarde IN VARCHAR2) AS - v_count NUMBER; - v_niveau VARCHAR2 (1); + v_count NUMBER; + v_niveau VARCHAR2 (1); BEGIN - -- Is er al een actuele waarde? - SELECT COUNT ( * ) - INTO v_count - FROM fin_kenmerkfactuur - WHERE fin_factuur_key = f_fact_key - AND fin_kenmerk_key = f_kenmerk_key - AND fin_kenmerkfactuur_verwijder IS NULL; + -- Is er al een actuele waarde? + SELECT COUNT (*) + INTO v_count + FROM fin_kenmerkfactuur + WHERE fin_factuur_key = f_fact_key + AND fin_kenmerk_key = f_kenmerk_key + AND fin_kenmerkfactuur_verwijder IS NULL; - IF v_count = 1 - THEN - IF f_kenmerk_waarde IS NULL - THEN - -- Er was al een waarde maar nu is de waarde leeg: Wissen bestaande waarde - DELETE fin_kenmerkfactuur - WHERE fin_factuur_key = f_fact_key - AND fin_kenmerk_key = f_kenmerk_key - AND fin_kenmerkfactuur_verwijder IS NULL; - ELSE - -- Er was al een waarde maar er wordt ook een waarde meegegeven: Bijwerken bestaande waarde - UPDATE fin_kenmerkfactuur - SET fin_kenmerkfactuur_waarde = f_kenmerk_waarde - WHERE fin_factuur_key = f_fact_key - AND fin_kenmerk_key = f_kenmerk_key - AND fin_kenmerkfactuur_verwijder IS NULL; - END IF; - ELSE - IF f_kenmerk_key IS NOT NULL AND f_kenmerk_waarde IS NOT NULL - THEN - -- Er was nog geen waarde en er wordt een waarde meegegeven: Registreren waarde - INSERT INTO FIN_KENMERKFACTUUR (fin_factuur_key, - fin_kenmerk_key, - fin_kenmerkfactuur_waarde) - VALUES (f_fact_key, f_kenmerk_key, f_kenmerk_waarde); - END IF; - END IF; + IF v_count = 1 + THEN + IF f_kenmerk_waarde IS NULL + THEN + -- Er was al een waarde maar nu is de waarde leeg: Wissen bestaande waarde + DELETE fin_kenmerkfactuur + WHERE fin_factuur_key = f_fact_key + AND fin_kenmerk_key = f_kenmerk_key + AND fin_kenmerkfactuur_verwijder IS NULL; + ELSE + -- Er was al een waarde maar er wordt ook een waarde meegegeven: Bijwerken bestaande waarde + UPDATE fin_kenmerkfactuur + SET fin_kenmerkfactuur_waarde = f_kenmerk_waarde + WHERE fin_factuur_key = f_fact_key + AND fin_kenmerk_key = f_kenmerk_key + AND fin_kenmerkfactuur_verwijder IS NULL; + END IF; + ELSE + IF f_kenmerk_key IS NOT NULL AND f_kenmerk_waarde IS NOT NULL + THEN + -- Er was nog geen waarde en er wordt een waarde meegegeven: Registreren waarde + INSERT INTO FIN_KENMERKFACTUUR (fin_factuur_key, + fin_kenmerk_key, + fin_kenmerkfactuur_waarde) + VALUES (f_fact_key, f_kenmerk_key, f_kenmerk_waarde); + END IF; + END IF; END; / CREATE OR REPLACE PROCEDURE wzuv_export_ks_topbloemen ( - p_applname IN VARCHAR2, - p_applrun IN VARCHAR2, - p_filedir IN VARCHAR2, - p_filename IN VARCHAR2) + p_applname IN VARCHAR2, + p_applrun IN VARCHAR2, + p_filedir IN VARCHAR2, + p_filename IN VARCHAR2) AS - -- In cursor c_factuur alle facturen die gerelateerd zijn aan een bestelling bij Topbloemen en die nog geen kostensoort hebben - CURSOR c_factuur - IS - SELECT fac.fin_factuur_key - FROM fin_factuur fac, prs_bedrijf b, bes_bestelopdr bo - WHERE b.prs_bedrijf_naam_upper LIKE '%TOPBLOEMEN%' - AND b.prs_bedrijf_key = bo.prs_bedrijf_key - AND fac.bes_bestelopdr_key = bo.bes_bestelopdr_key - AND fac.prs_kostensoort_key IS NULL; + -- In cursor c_factuur alle facturen die gerelateerd zijn aan een bestelling bij Topbloemen en die nog geen kostensoort hebben + CURSOR c_factuur IS + SELECT fac.fin_factuur_key + FROM fin_factuur fac, prs_bedrijf b, bes_bestelopdr bo + WHERE b.prs_bedrijf_naam_upper LIKE '%TOPBLOEMEN%' + AND b.prs_bedrijf_key = bo.prs_bedrijf_key + AND fac.bes_bestelopdr_key = bo.bes_bestelopdr_key + AND fac.prs_kostensoort_key IS NULL; BEGIN - FOR rec IN c_factuur - LOOP - -- voor alle facturen van Topbloemen waarbij nog geen kostensoort bekend is, moet de kostensoort herleid worden uit het kenmerk - UPDATE fin_factuur fac - SET fac.prs_kostensoort_key = - (SELECT ks.prs_kostensoort_key - FROM prs_bedrijf b, - bes_bestelopdr bo, - bes_bestelling bes, - bes_kenmerkbestell kb, - bes_kenmerk km, - bes_srtkenmerk sk, - fac_usrdata kw, - prs_kostensoort ks - WHERE b.prs_bedrijf_naam_upper LIKE '%TOPBLOEMEN%' - AND b.prs_bedrijf_key = bo.prs_bedrijf_key - AND SUBSTR (bes_bestelopdr_id, - 1, - INSTR (bes_bestelopdr_id, '/') - 1) = - bes.bes_bestelling_key(+) - AND kb.bes_bestelling_key = bes.bes_bestelling_key - AND kb.bes_kenmerkbestell_waarde = - TO_CHAR (kw.fac_usrdata_key) - AND TO_CHAR (kw.fac_usrdata_prijs) = - ks.prs_kostensoort_upper - AND kb.bes_kenmerk_key = km.bes_kenmerk_key - AND sk.bes_srtkenmerk_key = km.bes_srtkenmerk_key - AND fac.bes_bestelopdr_key = bo.bes_bestelopdr_key - AND sk.bes_srtkenmerk_upper = 'ATTENTIEPROTOCOL') - WHERE fac.fin_factuur_key = rec.fin_factuur_key; - END LOOP; + FOR rec IN c_factuur + LOOP + -- voor alle facturen van Topbloemen waarbij nog geen kostensoort bekend is, moet de kostensoort herleid worden uit het kenmerk + UPDATE fin_factuur fac + SET fac.prs_kostensoort_key = + (SELECT ks.prs_kostensoort_key + FROM prs_bedrijf b, + bes_bestelopdr bo, + bes_bestelling bes, + bes_kenmerkbestell kb, + bes_kenmerk km, + bes_srtkenmerk sk, + fac_usrdata kw, + prs_kostensoort ks + WHERE b.prs_bedrijf_naam_upper LIKE '%TOPBLOEMEN%' + AND b.prs_bedrijf_key = bo.prs_bedrijf_key + AND SUBSTR (bes_bestelopdr_id, + 1, + INSTR (bes_bestelopdr_id, '/') - 1) = + bes.bes_bestelling_key(+) + AND kb.bes_bestelling_key = bes.bes_bestelling_key + AND kb.bes_kenmerkbestell_waarde = + TO_CHAR (kw.fac_usrdata_key) + AND TO_CHAR (kw.fac_usrdata_prijs) = + ks.prs_kostensoort_upper + AND kb.bes_kenmerk_key = km.bes_kenmerk_key + AND sk.bes_srtkenmerk_key = km.bes_srtkenmerk_key + AND fac.bes_bestelopdr_key = bo.bes_bestelopdr_key + AND sk.bes_srtkenmerk_upper = 'ATTENTIEPROTOCOL') + WHERE fac.fin_factuur_key = rec.fin_factuur_key; + END LOOP; END; / @@ -2494,30 +2627,30 @@ CREATE OR REPLACE VIEW WZUV_V_INS_QRC_OBJECT BOOKMARK_ID ) AS -SELECT i.ins_deel_omschrijving hide_f_sort, - d.ins_discipline_omschrijving fclt_f_discipline, - g.ins_srtgroep_omschrijving fclt_f_objectgroep, - s.ins_srtdeel_omschrijving fclt_f_objectsoort, - i.ins_deel_omschrijving fclt_f_identificatie, - b.fac_bookmark_naam fclt_f_bookmark, - i.ins_deel_key, - s.ins_srtdeel_key, - i.ins_discipline_key fclt_3d_discipline_key, - b.fac_bookmark_id hide_f_bookmark_id - FROM ins_deel i, - ins_srtdeel s, - ins_srtgroep g, - ins_discipline d, - fac_bookmark b - WHERE UPPER (b.fac_bookmark_naam) = 'QRC NAAR OBJECT' - AND COALESCE (b.fac_bookmark_expire, SYSDATE + 1) > SYSDATE - AND ins_deel_verwijder IS NULL - AND COALESCE (i.ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE - AND i.ins_deel_module = 'INS' - AND i.ins_deel_parent_key IS NULL - AND s.ins_srtdeel_key = i.ins_srtdeel_key - AND g.ins_srtgroep_key = s.ins_srtgroep_key - AND d.ins_discipline_key = g.ins_discipline_key; + SELECT i.ins_deel_omschrijving hide_f_sort, + d.ins_discipline_omschrijving fclt_f_discipline, + g.ins_srtgroep_omschrijving fclt_f_objectgroep, + s.ins_srtdeel_omschrijving fclt_f_objectsoort, + i.ins_deel_omschrijving fclt_f_identificatie, + b.fac_bookmark_naam fclt_f_bookmark, + i.ins_deel_key, + s.ins_srtdeel_key, + i.ins_discipline_key fclt_3d_discipline_key, + b.fac_bookmark_id hide_f_bookmark_id + FROM ins_deel i, + ins_srtdeel s, + ins_srtgroep g, + ins_discipline d, + fac_bookmark b + WHERE UPPER (b.fac_bookmark_naam) = 'QRC NAAR OBJECT' + AND COALESCE (b.fac_bookmark_expire, SYSDATE + 1) > SYSDATE + AND ins_deel_verwijder IS NULL + AND COALESCE (i.ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE + AND i.ins_deel_module = 'INS' + AND i.ins_deel_parent_key IS NULL + AND s.ins_srtdeel_key = i.ins_srtdeel_key + AND g.ins_srtgroep_key = s.ins_srtgroep_key + AND d.ins_discipline_key = g.ins_discipline_key; CREATE OR REPLACE VIEW WZUV_V_NOTI_BESGOE ( @@ -2531,64 +2664,66 @@ CREATE OR REPLACE VIEW WZUV_V_NOTI_BESGOE XEMAIL, XMOBILE ) -AS -SELECT DISTINCT - NULL - sender, - NULL - receiver, - 'Bestelaanvraag ' - || b.bes_bestelling_key - || ' moet goedgekeurd worden', - n.fac_srtnotificatie_code, - n.fac_srtnotificatie_key, - b.bes_bestelling_key, - NULL - xkey, - 'kwaliteitenveiligheid@wzuveluwe.nl' - xemail, - NULL - xmobile - FROM bes_bestelling b, - bes_srtgroep sg, - ins_tab_discipline d, - bes_disc_params dp, - fac_tracking f, - fac_srtnotificatie n, - ( SELECT bi.bes_bestelling_key, - sd.bes_srtgroep_key, - SUM ( - bi.bes_bestelling_item_aantal - * bi.bes_bestelling_item_prijs) AS totaal - FROM bes_bestelling_item bi, bes_srtdeel sd - WHERE bi.bes_srtdeel_key = sd.bes_srtdeel_key - GROUP BY bi.bes_bestelling_key, sd.bes_srtgroep_key) bedrag - WHERE b.bes_bestelling_key = bedrag.bes_bestelling_key - AND bedrag.bes_srtgroep_key = sg.bes_srtgroep_key - AND sg.ins_discipline_key = d.ins_discipline_key - AND dp.bes_ins_discipline_key = d.ins_discipline_key - AND bedrag.totaal > dp.bes_disc_params_bestellimiet --- alleen goedkeuring nodig als order bedrag boven bestellimiet - AND n.fac_srtnotificatie_key = f.fac_srtnotificatie_key - AND b.bes_bestelling_key = f.fac_tracking_refkey - AND b.bes_bestelling_status NOT IN (1, 5, 8) - AND n.fac_srtnotificatie_xmlnode = 'bestelling' - AND dp.bes_ins_discipline_key_inkoop is not null - AND ( ( dp.bes_disc_params_fiatflow = 1 - AND n.fac_srtnotificatie_key = 7) - OR ( dp.bes_disc_params_fiatflow = 0 - AND n.fac_srtnotificatie_key = 5)) - AND f.fac_tracking_datum > - (SELECT fac_notificatie_job_nextrun - - fac_notificatie_job_interval / 24 - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = 'WZUV_V_NOTI_BESGOE') - AND f.fac_tracking_datum < - (SELECT fac_notificatie_job_nextrun - FROM fac_notificatie_job - WHERE UPPER (fac_notificatie_job_view) = 'WZUV_V_NOTI_BESGOE'); - +AS + SELECT DISTINCT + NULL + sender, + NULL + receiver, + 'Bestelaanvraag ' + || b.bes_bestelling_key + || ' moet goedgekeurd worden', + n.fac_srtnotificatie_code, + n.fac_srtnotificatie_key, + b.bes_bestelling_key, + NULL + xkey, + 'kwaliteitenveiligheid@wzuveluwe.nl' + xemail, + NULL + xmobile + FROM bes_bestelling b, + bes_srtgroep sg, + ins_tab_discipline d, + bes_disc_params dp, + fac_tracking f, + fac_srtnotificatie n, + ( SELECT bi.bes_bestelling_key, + sd.bes_srtgroep_key, + SUM ( + bi.bes_bestelling_item_aantal + * bi.bes_bestelling_item_prijs) AS totaal + FROM bes_bestelling_item bi, bes_srtdeel sd + WHERE bi.bes_srtdeel_key = sd.bes_srtdeel_key + GROUP BY bi.bes_bestelling_key, sd.bes_srtgroep_key) bedrag + WHERE b.bes_bestelling_key = bedrag.bes_bestelling_key + AND bedrag.bes_srtgroep_key = sg.bes_srtgroep_key + AND sg.ins_discipline_key = d.ins_discipline_key + AND dp.bes_ins_discipline_key = d.ins_discipline_key + AND bedrag.totaal > dp.bes_disc_params_bestellimiet --- alleen goedkeuring nodig als order bedrag boven bestellimiet + AND n.fac_srtnotificatie_key = f.fac_srtnotificatie_key + AND b.bes_bestelling_key = f.fac_tracking_refkey + AND b.bes_bestelling_status NOT IN (1, 5, 8) + AND n.fac_srtnotificatie_xmlnode = 'bestelling' + AND dp.bes_ins_discipline_key_inkoop IS NOT NULL + AND ( ( dp.bes_disc_params_fiatflow = 1 + AND n.fac_srtnotificatie_key = 7) + OR ( dp.bes_disc_params_fiatflow = 0 + AND n.fac_srtnotificatie_key = 5)) + AND f.fac_tracking_datum > + (SELECT fac_notificatie_job_nextrun + - fac_notificatie_job_interval / 24 + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_BESGOE') + AND f.fac_tracking_datum < + (SELECT fac_notificatie_job_nextrun + FROM fac_notificatie_job + WHERE UPPER (fac_notificatie_job_view) = + 'WZUV_V_NOTI_BESGOE'); + BEGIN - DBMS_UTILITY.COMPILE_SCHEMA (USER, FALSE); + DBMS_UTILITY.COMPILE_SCHEMA (USER, FALSE); END; / @@ -2597,8 +2732,9 @@ END; SET DEFINE OFF BEGIN - adm.systrackscriptId ('$Id$', - 0); + adm.systrackscriptId ( + '$Id$', + 0); END; /