35 Commits

Author SHA1 Message Date
Erik Groener
e91fab1a47 FZKH#88392 Probleem bij importeren verbruiksartikelen zonder kostensoort
Regels met niet bestaande kostensoort omschrijvingen worden niet in importtabel gezet.

svn path=/Database/branches/DB50/; revision=68689
2025-04-08 12:57:12 +00:00
Erik Groener
86eb532a2d FZKH#88392 Probleem bij importeren verbruiksartikelen zonder kostensoort
svn path=/Database/branches/DB50/; revision=68678
2025-04-08 08:01:39 +00:00
Jos Groot Lipman
8110221e43 VNOG#88326 Veranderde e-mailnotificaties na update versie 2025.1
svn path=/Database/branches/DB50/; revision=68619
2025-04-01 14:55:36 +00:00
Jos Groot Lipman
a7c9068806 MARX#88269 Opdrachten via mail i.p.v. premium koppeling
svn path=/Database/branches/DB50/; revision=68551
2025-03-26 12:01:40 +00:00
Jos Groot Lipman
24855f1e1e MARX#88269 Opdrachten via mail i.p.v. premium koppeling
svn path=/Database/branches/DB50/; revision=68532
2025-03-25 15:05:35 +00:00
Jos Groot Lipman
ddc1067bf7 HCAS#88267 Inefficiëntie in Putorders door BEZDON notificatie triggers
svn path=/Database/branches/DB50/; revision=68530
2025-03-25 15:02:14 +00:00
Jos Groot Lipman
d6881fe219 SGGR#87834 Vier settings voor aantal licensed users toegevoegd
svn path=/Database/branches/DB50/; revision=68453
2025-03-19 12:27:20 +00:00
Jos Groot Lipman
11020748a0 FCLT#88153 prs_perslid_systeemadres deprecated-->technisch adres
svn path=/Database/branches/DB50/; revision=68449
2025-03-19 11:16:11 +00:00
Jos Groot Lipman
061e44885d FCLT#85890 fac_v_noti_facorderqueuefails notificaties ook baseren op nieuwe notificatie queue gebeuren
svn path=/Database/branches/DB50/; revision=68442
2025-03-18 14:18:30 +00:00
Erik Groener
ba9603a62c WRTH#87857 Probleem bij importeren contractheaders in 2025.1 versie
svn path=/Database/branches/DB50/; revision=68440
2025-03-18 13:29:57 +00:00
78a027a723 RIAN#87845
RIAN#87851
Trunk -> 2025.1 (DB51 -> DB50)

svn path=/Database/branches/DB50/; revision=68425
2025-03-17 13:38:48 +00:00
3490c6591b FCLT#88052 UDR aan (protected)setting omschrijving toegevoegd
svn path=/Database/branches/DB50/; revision=68389
2025-03-13 09:48:25 +00:00
d6a48a0de7 NOVA#85923 LCL; Markeren -> Handmatig versturen
svn path=/Database/branches/DB50/; revision=68372
2025-03-12 11:02:42 +00:00
Maykel Geerdink
5aa2f14baf FCLT#87938: Problemen met export/import in objectenbeheer: ontbrekende kolommen.
svn path=/Database/branches/DB50/; revision=68361
2025-03-11 15:59:48 +00:00
Erik Groener
6848f46b99 WRTH#87857 Probleem bij importeren contractheaders in 2025.1 versie
svn path=/Database/branches/DB50/; revision=68360
2025-03-11 15:50:53 +00:00
761478e5c4 BCGV#85436 LCL's gebruiken (en alvast aanmaken)
svn path=/Database/branches/DB50/; revision=68341
2025-03-10 15:58:34 +00:00
Erik Groener
491cc5b06c FBEA#87660 Invoeren niet-planbare dagen in Facilitor voor nieuw seizoen
svn path=/Database/branches/DB50/; revision=68337
2025-03-10 14:06:46 +00:00
Jos Groot Lipman
05388b80a4 FCLT#85890 fac.notifytrackingbedrijven kan nu ook met delay (voor Mareon)
svn path=/Database/branches/DB50/; revision=68269
2025-03-03 15:45:51 +00:00
Jos Groot Lipman
49452ff6bc FCLT#85890 noti_delay_mode om immediate gedrag van bedrijfadres notificaties aan te sturen
svn path=/Database/branches/DB50/; revision=68256
2025-03-03 08:16:05 +00:00
90aa537a1f VNOG#85909 + alias
svn path=/Database/branches/DB50/; revision=68233
2025-02-27 17:12:57 +00:00
Jos Groot Lipman
0013b2bd21 FCLT#85890 noti_delay_mode om immediate gedrag van bedrijfadres notificaties aan te sturen
svn path=/Database/branches/DB50/; revision=68229
2025-02-27 12:35:47 +00:00
Jos Groot Lipman
a545314ce2 CSUN#87371 Verwijderen overbodige afbeeldingen bij mail2melding berichten
svn path=/Database/branches/DB50/; revision=68227
2025-02-27 11:53:36 +00:00
Jos Groot Lipman
0ff61cc1b9 FCLT#86661 Tasker elke seconde draaien en herstartbaar maken.
Bij delay=0 zorgen dat notificatie 'voorkruipt' door prio op 1 te zetten

svn path=/Database/branches/DB50/; revision=68218
2025-02-27 08:20:41 +00:00
6e38bd09af AAXX#87593 S(exchange_max_concurrent_notifications) alvast toegevoegd
svn path=/Database/branches/DB50/; revision=68210
2025-02-26 14:22:44 +00:00
e81df9e029 VNOG#85909 Performance verbetering ins_v_deelenonderdeel
svn path=/Database/branches/DB50/; revision=68195
2025-02-25 15:23:11 +00:00
Maykel Geerdink
dbe2096830 VGLD#85984: Automatische afsluitdatum instellen in contracten mogelijk?
svn path=/Database/branches/DB50/; revision=68158
2025-02-24 13:31:54 +00:00
96d9dad71e FCLT#86343 Commentaar uitgebreid
svn path=/Database/branches/DB50/; revision=68127
2025-02-21 08:47:28 +00:00
Maykel Geerdink
289ab7beba NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Database/branches/DB50/; revision=68123
2025-02-20 16:23:55 +00:00
a217b03c5d BSSC#86530 3 -> 2 velden, korting en prijs, waarbij prijs het resultaat is van de res.getruimteprijs-functie en die levert, indien van toepassing, res_rsv_ruimte_totaal op
svn path=/Database/branches/DB50/; revision=68118
2025-02-20 15:41:39 +00:00
Jos Groot Lipman
05641e991d FCLT#85890 Diverse notificatie configuratie interface verfijningen
svn path=/Database/branches/DB50/; revision=68102
2025-02-20 11:56:54 +00:00
Maykel Geerdink
ed4406dbd7 NOVA#85923: Voorbeeldweergave van opdracht vóór verzending.
svn path=/Database/branches/DB50/; revision=68098
2025-02-20 11:14:38 +00:00
Jos Groot Lipman
27ccd165f1 FCLT#85890 puo_lcl_tracknoti_sys en puo_lcl_tracknoti_sys_fail toegevoegd
svn path=/Database/branches/DB50/; revision=68087
2025-02-19 17:03:51 +00:00
Jos Groot Lipman
dd8f872cb5 FCLT#85890 Technisch adres interne bedrijven geen vertraging bij versturen
* Tasker opstarten bij wijzigen notbefore
* ORDNEW notificeren wel als teverzenden = 1 natuurlijk

svn path=/Database/branches/DB50/; revision=68078
2025-02-19 13:04:08 +00:00
1046a64edb MARX#87424 menuoptie toegevoegd, en lcl's van technisch adres aangepast naar systeemadres
svn path=/Database/branches/DB50/; revision=68066
2025-02-19 09:50:42 +00:00
6a24668f64 Branch DB50
svn path=/Database/branches/DB50/; revision=68061
2025-02-18 20:03:22 +00:00
19 changed files with 623 additions and 519 deletions

View File

@@ -66,10 +66,12 @@ AS
RETURN NUMBER; RETURN NUMBER;
PROCEDURE notifybestellingbedrijven (pbestelkey NUMBER, PROCEDURE notifybestellingbedrijven (pbestelkey NUMBER,
ptrackingkey NUMBER); ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL);
PROCEDURE notifybestelopdrbedrijven (pbestelopdrkey NUMBER, PROCEDURE notifybestelopdrbedrijven (pbestelopdrkey NUMBER,
ptrackingkey NUMBER); ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL);
PROCEDURE autodeliver; PROCEDURE autodeliver;
@@ -2226,14 +2228,16 @@ AS
END; END;
PROCEDURE notifybestellingbedrijven (pbestelkey NUMBER, PROCEDURE notifybestellingbedrijven (pbestelkey NUMBER,
ptrackingkey NUMBER) ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL)
AS AS
BEGIN BEGIN
NULL; -- TODO? NULL; -- TODO?
END; END;
PROCEDURE notifybestelopdrbedrijven (pbestelopdrkey NUMBER, PROCEDURE notifybestelopdrbedrijven (pbestelopdrkey NUMBER,
ptrackingkey NUMBER) ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL)
AS AS
BEGIN BEGIN
FOR bedrijfrec IN (SELECT b.prs_bedrijf_key, FOR bedrijfrec IN (SELECT b.prs_bedrijf_key,
@@ -2261,7 +2265,8 @@ AS
prefkey => pbestelopdrkey, prefkey => pbestelopdrkey,
ptrackingkey => ptrackingkey, ptrackingkey => ptrackingkey,
preference => bedrijfrec.bes_bestelopdr_id, preference => bedrijfrec.bes_bestelopdr_id,
plocatie_key => bedrijfrec.alg_locatie_key); plocatie_key => bedrijfrec.alg_locatie_key,
pnotidelay => pnotidelay);
END LOOP; END LOOP;
END; END;

View File

@@ -22,7 +22,8 @@ CREATE OR REPLACE PACKAGE cnt AS
PROCEDURE remove(p_contract_key IN NUMBER); PROCEDURE remove(p_contract_key IN NUMBER);
PROCEDURE notifycontractbedrijven (pcntkey NUMBER, PROCEDURE notifycontractbedrijven (pcntkey NUMBER,
ptrackingkey NUMBER); ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL);
PRAGMA RESTRICT_REFERENCES (cnt_contract_status, WNDS, WNPS); PRAGMA RESTRICT_REFERENCES (cnt_contract_status, WNDS, WNPS);
END cnt; END cnt;
@@ -295,7 +296,11 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
SELECT c.cnt_contract_key SELECT c.cnt_contract_key
FROM cnt_contract c FROM cnt_contract c
WHERE c.cnt_contract_inactiveren = 1 WHERE c.cnt_contract_inactiveren = 1
AND TRUNC(c.cnt_contract_looptijd_tot) < TRUNC(SYSDATE); AND TRUNC(c.cnt_contract_looptijd_tot) < TRUNC(SYSDATE)
AND NOT EXISTS (SELECT f.fin_factuur_key -- Contract mag geen openstaande facturen hebben.
FROM fin_factuur f
WHERE f.cnt_contract_key = c.cnt_contract_key
AND f.fin_factuur_statuses_key NOT IN (1,7));
BEGIN BEGIN
BEGIN BEGIN
SELECT prs_perslid_key SELECT prs_perslid_key
@@ -700,7 +705,8 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
END; END;
PROCEDURE notifycontractbedrijven (pcntkey NUMBER, PROCEDURE notifycontractbedrijven (pcntkey NUMBER,
ptrackingkey NUMBER) ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL)
AS AS
BEGIN BEGIN
FOR bedrijfrec FOR bedrijfrec
@@ -769,7 +775,8 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
prefkey => pcntkey, prefkey => pcntkey,
ptrackingkey => ptrackingkey, ptrackingkey => ptrackingkey,
preference => bedrijfrec.cnt_contract_nummer_intern, preference => bedrijfrec.cnt_contract_nummer_intern,
plocatie_key => bedrijfrec.alg_locatie_key); plocatie_key => bedrijfrec.alg_locatie_key,
pnotidelay => pnotidelay);
END LOOP; END LOOP;
END; END;

View File

@@ -2492,7 +2492,7 @@ DEF_IMPORT('WEB_PRSSYS', 'FLEX', 'TRANSPORT: Flexkenmerken',
DEF_IMPORT('WEB_PRSSYS', 'USRDATA', 'FIP: Eigen tabellen', 'FIP: Own tables', 0) DEF_IMPORT('WEB_PRSSYS', 'USRDATA', 'FIP: Eigen tabellen', 'FIP: Own tables', 0)
DEF_IMPORT('WEB_PRSSYS', 'SLE', 'FIP: Sleutels', 'FIP: Keys', 0) DEF_IMPORT('WEB_PRSSYS', 'SLE', 'FIP: Sleutels', 'FIP: Keys', 0)
DEF_IMPORT('WEB_PRSSYS', 'FAQ', 'FIP: Kennisbank', 'FIP: Knowledge base', 0) DEF_IMPORT('WEB_PRSSYS', 'FAQ', 'FIP: Kennisbank', 'FIP: Knowledge base', 0)
DEF_IMPORT('WEB_PRSSYS', 'CNT', 'FIP: Contracten', 'FIP: Contracts', 0) DEF_IMPORT('WEB_PRSSYS', 'CNT', 'FIP: Contracten', 'FIP: Contracts', 1)
DEF_IMPORT('WEB_PRSSYS', 'MLDAFMTXT', 'FIP: Afmeldteksten', 'FIP: Standard texts', 0) DEF_IMPORT('WEB_PRSSYS', 'MLDAFMTXT', 'FIP: Afmeldteksten', 'FIP: Standard texts', 0)
DEF_IMPORT('WEB_PRSSYS', 'BEDRIJFADRES', 'FIP: Aanvullen technische bedrijfadressen', 'FIP: Add company technical addresses', 0) DEF_IMPORT('WEB_PRSSYS', 'BEDRIJFADRES', 'FIP: Aanvullen technische bedrijfadressen', 'FIP: Add company technical addresses', 0)
DEF_IMPORT('WEB_LCLSYS', 'TRANSLATION', 'Import of FACILITOR translation file', 'Import of FACILITOR translation file', 0) DEF_IMPORT('WEB_LCLSYS', 'TRANSLATION', 'Import of FACILITOR translation file', 'Import of FACILITOR translation file', 0)
@@ -2994,6 +2994,7 @@ DEF_MENUITEM(2, 'lcl_menu_fac_bookmarks' , '', 'FAC', 'appl/fac/fac_bookm
DEF_MENUITEM(2, 'lcl_menu_cht_chatkanalen' , '', 'CHT', 'appl/mgt/cht_discipline.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', ''); DEF_MENUITEM(2, 'lcl_menu_cht_chatkanalen' , '', 'CHT', 'appl/mgt/cht_discipline.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_eigen_tabellen' , '', 'FAC', 'appl/mgt/fac_usrtab.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', ''); DEF_MENUITEM(2, 'lcl_menu_fac_eigen_tabellen' , '', 'FAC', 'appl/mgt/fac_usrtab.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_prs_bedrijf_system' , '', 'FAC', 'appl/prs/prs_bedrijf_search.asp?intern=2', 0, 0, 'WEB_PRSSYS', 'W', '1', ''); DEF_MENUITEM(2, 'lcl_menu_prs_bedrijf_system' , '', 'FAC', 'appl/prs/prs_bedrijf_search.asp?intern=2', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_system_adresses' , '', 'FAC', 'appl/mgt/prs_bedrijfadres.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_xsledit' , '', 'FAC', 'appl/fac/fac_edit_xsl.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', ''); DEF_MENUITEM(2, 'lcl_menu_fac_xsledit' , '', 'FAC', 'appl/fac/fac_edit_xsl.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_jobs' , '', 'FAC', 'appl/fac/job_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', ''); DEF_MENUITEM(2, 'lcl_menu_fac_jobs' , '', 'FAC', 'appl/fac/job_search.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_fac_importfuncties' , '', 'FAC', 'appl/imp/imp_search.asp', 0, 0, 'WEB_IMPORT', 'W', '1', ''); DEF_MENUITEM(2, 'lcl_menu_fac_importfuncties' , '', 'FAC', 'appl/imp/imp_search.asp', 0, 0, 'WEB_IMPORT', 'W', '1', '');

View File

@@ -762,10 +762,10 @@ FAC_LCL('frm_columnsframe','Kolommen', 'Columns')
FAC_LCL('frm_prscontactlistframe','Contactpersonen', 'Contact persons') FAC_LCL('frm_prscontactlistframe','Contactpersonen', 'Contact persons')
FAC_LCL('frm_prsdienstlistframe','Diensten', 'Services') FAC_LCL('frm_prsdienstlistframe','Diensten', 'Services')
FAC_LCL('frm_prsadreslistframe','Systeemadressen', 'System Addresses') FAC_LCL('frm_prsadreslistframe','Systeemadressen', 'System addresses')
FAC_LCL('frm_facadresframe','Adressen', 'Addresses') FAC_LCL('frm_facadresframe','Adressen', 'Addresses')
FAC_LCL('frm_prsbdrijfframe','Bedrijf', 'Company') FAC_LCL('frm_prsbdrijfframe','Bedrijf', 'Company')
FAC_LCL('frm_badrframe','Technische adressen', 'Tech addresses') FAC_LCL('frm_badrframe','Systeemadressen', 'System addresses')
FAC_LCL('frm_sleframe','Sleutel', 'Key') FAC_LCL('frm_sleframe','Sleutel', 'Key')
@@ -839,7 +839,7 @@ FAC_LCL('lcl_alg_del_txt_verdieping', 'Verwijderen verdieping', 'Delete floor')
FAC_LCL('lcl_alg_del_txt_ruimte', 'Verwijderen ruimte', 'Delete room') FAC_LCL('lcl_alg_del_txt_ruimte', 'Verwijderen ruimte', 'Delete room')
FAC_LCL('lcl_alg_del_txt_werkplek', 'Verwijderen werkplek', 'Delete workplace') FAC_LCL('lcl_alg_del_txt_werkplek', 'Verwijderen werkplek', 'Delete workplace')
FAC_LCL('lcl_prs_del_txt_bedrijf', 'Weet u zeker dat u dit bedrijf wilt verwijderen?', 'Are you sure you want to delete this company?') FAC_LCL('lcl_prs_del_txt_bedrijf', 'Weet u zeker dat u dit bedrijf wilt verwijderen?', 'Are you sure you want to delete this company?')
FAC_LCL('lcl_prs_del_txt_bedrijfadres', 'Weet u zeker dat u dit technisch adres wilt verwijderen?', 'Are you sure you want to delete this technical address?') FAC_LCL('lcl_prs_del_txt_bedrijfadres', 'Weet u zeker dat u dit systeemadres wilt verwijderen?', 'Are you sure you want to delete this system address?')
FAC_LCL('lcl_prs_del_txt_afdeling', 'Weet u zeker dat u deze afdeling wilt verwijderen?', 'Are you sure you want to delete this department?') FAC_LCL('lcl_prs_del_txt_afdeling', 'Weet u zeker dat u deze afdeling wilt verwijderen?', 'Are you sure you want to delete this department?')
FAC_LCL('lcl_pda_bez_delete', 'Weet u zeker dat u deze bezoeker wilt verwijderen?', 'Are you sure you want to delete this visitor?') FAC_LCL('lcl_pda_bez_delete', 'Weet u zeker dat u deze bezoeker wilt verwijderen?', 'Are you sure you want to delete this visitor?')
FAC_LCL('lcl_pda_bez_afs_delete', 'De afspraak zal dan ook verwijderd worden.', 'Doing so will also delete the appointment.') FAC_LCL('lcl_pda_bez_afs_delete', 'De afspraak zal dan ook verwijderd worden.', 'Doing so will also delete the appointment.')
@@ -2150,6 +2150,7 @@ FAC_LCL('lcl_mes_message', 'Bericht', 'Message')
FAC_LCL('lcl_mes_message_received', 'Ontvangen bericht', 'Received message') FAC_LCL('lcl_mes_message_received', 'Ontvangen bericht', 'Received message')
FAC_LCL('lcl_mes_message_received_back', 'Terug ontvangen bericht', 'Received message') FAC_LCL('lcl_mes_message_received_back', 'Terug ontvangen bericht', 'Received message')
FAC_LCL('lcl_mes_message_send', 'Mijn verzonden bericht', 'My message sent') FAC_LCL('lcl_mes_message_send', 'Mijn verzonden bericht', 'My message sent')
FAC_LCL('lcl_mes_message_recipients', 'ontvangers', 'recipients')
FAC_LCL('lcl_mes_all', 'Let op: wil je dit bericht echt versturen naar ALLE Facilitor gebruikers?', 'Attention: Do you really want to send this message to ALL Facilitor users?') FAC_LCL('lcl_mes_all', 'Let op: wil je dit bericht echt versturen naar ALLE Facilitor gebruikers?', 'Attention: Do you really want to send this message to ALL Facilitor users?')
FAC_LCL('lcl_mes_empty', 'Typ hier het bericht (maximaal 4.000 tekens)', 'Enter your message here (with a maximum of 4000 characters)') FAC_LCL('lcl_mes_empty', 'Typ hier het bericht (maximaal 4.000 tekens)', 'Enter your message here (with a maximum of 4000 characters)')
FAC_LCL('lcl_mes_is_send', ' bericht is verzonden', ' message is sent') FAC_LCL('lcl_mes_is_send', ' bericht is verzonden', ' message is sent')
@@ -2157,6 +2158,7 @@ FAC_LCL('lcl_mes_is_send2', ' berichten zijn verzonden', ' messages are sent')
FAC_LCL('lcl_mes_del', 'Verwijderen portalbericht', 'Delete message') FAC_LCL('lcl_mes_del', 'Verwijderen portalbericht', 'Delete message')
COMMIT; COMMIT;
FAC_LCL('lcl_mes_sent_to', 'Bericht verstuurd naar {0}', 'Message sent to {0}')
FAC_LCL('lcl_mes_no_receivers', 'Bericht niet verzonden. Geen ontvangers gevonden met opgegeven zoekcriterium. Verruim/wijzig het zoekcriterium en probeer het eventueel nogmaals', 'Message not sent. No users found that match the search criteria. Please change the criteria and try again') FAC_LCL('lcl_mes_no_receivers', 'Bericht niet verzonden. Geen ontvangers gevonden met opgegeven zoekcriterium. Verruim/wijzig het zoekcriterium en probeer het eventueel nogmaals', 'Message not sent. No users found that match the search criteria. Please change the criteria and try again')
FAC_LCL('lcl_mes_to_many_char', 'Het bericht is te lang', 'Too many characters') FAC_LCL('lcl_mes_to_many_char', 'Het bericht is te lang', 'Too many characters')
FAC_LCL('lcl_mes_less_500', 'Maximum is 4000 tekens', 'Maximum is 4000 characters') FAC_LCL('lcl_mes_less_500', 'Maximum is 4000 tekens', 'Maximum is 4000 characters')
@@ -3478,10 +3480,10 @@ FAC_LCL('lcl_prs_companies_dienst', 'Dienst', 'Service')
FAC_LCL('lcl_prs_companies_dienst_locs', 'Locaties', 'Locations') FAC_LCL('lcl_prs_companies_dienst_locs', 'Locaties', 'Locations')
FAC_LCL('lcl_prs_companies_dienst_title', 'Diensten', 'Services') FAC_LCL('lcl_prs_companies_dienst_title', 'Diensten', 'Services')
FAC_LCL('lcl_prs_uitvoertijd', 'Uitvoertijd', 'Processing time') FAC_LCL('lcl_prs_uitvoertijd', 'Uitvoertijd', 'Processing time')
FAC_LCL('lcl_prs_bedrijfadres_title', 'Technische adressen', 'Technical addresses') FAC_LCL('lcl_prs_bedrijfadres_title', 'Systeemadressen', 'System addresses')
FAC_LCL('lcl_prs_bedrijfadres_srtnoti_frame', 'Gebeurtenis', 'Event') FAC_LCL('lcl_prs_bedrijfadres_srtnoti_frame', 'Gebeurtenis', 'Event')
FAC_LCL('lcl_prs_bedrijfadres_srtnoti_title', 'Gebeurtenissen', 'Events') FAC_LCL('lcl_prs_bedrijfadres_srtnoti_title', 'Gebeurtenissen', 'Events')
FAC_LCL('lcl_prs_bedrijfadres_frame', 'Technisch adres', 'Technical address') FAC_LCL('lcl_prs_bedrijfadres_frame', 'Systeemadres', 'System address')
FAC_LCL('lcl_prs_bedrijfadres_omschrijving', 'Omschrijving', 'Description') FAC_LCL('lcl_prs_bedrijfadres_omschrijving', 'Omschrijving', 'Description')
FAC_LCL('lcl_prs_bedrijfadres_type', 'Kanaal', 'Channel') FAC_LCL('lcl_prs_bedrijfadres_type', 'Kanaal', 'Channel')
@@ -3492,6 +3494,8 @@ FAC_LCL('lcl_prs_bedrijfadres_type_c', 'Contracten', 'Contracts')
FAC_LCL('lcl_prs_bedrijfadres_type_v', 'Bestelvoorraad info', 'Stock info') FAC_LCL('lcl_prs_bedrijfadres_type_v', 'Bestelvoorraad info', 'Stock info')
FAC_LCL('lcl_prs_bedrijfadres_type_n', 'Notificaties', 'Notifications') FAC_LCL('lcl_prs_bedrijfadres_type_n', 'Notificaties', 'Notifications')
FAC_LCL('lcl_prs_bedrijfadres_type_i', 'Service (IOT)', 'Service (IOT)') FAC_LCL('lcl_prs_bedrijfadres_type_i', 'Service (IOT)', 'Service (IOT)')
FAC_LCL('lcl_prs_bedrijfadres_type_s', 'Systeem', 'System')
FAC_LCL('lcl_prs_bedrijfadres_type_p', 'Planning aanvraag', 'Planning request')
FAC_LCL('lcl_prs_bedrijfadres_type_r', 'Catering', 'Catering') FAC_LCL('lcl_prs_bedrijfadres_type_r', 'Catering', 'Catering')
FAC_LCL('lcl_prs_bedrijfadres_type_g', 'Generiek kanaal', 'Generic channel') FAC_LCL('lcl_prs_bedrijfadres_type_g', 'Generiek kanaal', 'Generic channel')
FAC_LCL('lcl_prs_bedrijfadres_type_e_intern', 'ERP synchronisatie', 'ERP synchronisation') FAC_LCL('lcl_prs_bedrijfadres_type_e_intern', 'ERP synchronisatie', 'ERP synchronisation')
@@ -4566,6 +4570,7 @@ FAC_LCL('lcl_menu_prs_bo_use', 'Persoonsgegevens', 'Persons details')
FAC_LCL('lcl_menu_prs_bo', '> Persoon', '> Person') FAC_LCL('lcl_menu_prs_bo', '> Persoon', '> Person')
FAC_LCL('lcl_menu_prs_bedrijf_intern', 'Bedrijf', 'Company') FAC_LCL('lcl_menu_prs_bedrijf_intern', 'Bedrijf', 'Company')
FAC_LCL('lcl_menu_prs_bedrijf_system', 'Externe systemen', 'External systems') FAC_LCL('lcl_menu_prs_bedrijf_system', 'Externe systemen', 'External systems')
FAC_LCL('lcl_menu_system_adresses', 'Systeemadressen', 'System adresses')
FAC_LCL('lcl_menu_prs_browser', 'Afdelingbrowser', 'Department browser') FAC_LCL('lcl_menu_prs_browser', 'Afdelingbrowser', 'Department browser')
FAC_LCL('lcl_menu_prs_dep_name_level1', 'Afdelingsniveau 1', 'Department level 1') FAC_LCL('lcl_menu_prs_dep_name_level1', 'Afdelingsniveau 1', 'Department level 1')
FAC_LCL('lcl_menu_prs_dep_name_level2', 'Afdelingsniveau 2', 'Department level 2') FAC_LCL('lcl_menu_prs_dep_name_level2', 'Afdelingsniveau 2', 'Department level 2')
@@ -6962,8 +6967,8 @@ FAC_LCL('mld_typeopdr_bez_register', 'Bezoekersregistratie', 'Visitor registrati
FAC_LCL('mld_typeopdr_afhandeling', 'Afhandeltekst verplicht bij afmelden', 'Text mandatory when closing order') FAC_LCL('mld_typeopdr_afhandeling', 'Afhandeltekst verplicht bij afmelden', 'Text mandatory when closing order')
FAC_LCL('mld_typeopdr_confirmforsend', 'Opdrachtverzending', 'Order sending') FAC_LCL('mld_typeopdr_confirmforsend', 'Opdrachtverzending', 'Order sending')
FAC_LCL('mld_typeopdr_confirmforsendLOV', FAC_LCL('mld_typeopdr_confirmforsendLOV',
'0;Direct versturen;1;Eerste vragen;2;Markeren', '0;Direct versturen;1;Eerst vragen;2;Handmatig versturen',
'0;Send directly;1;Ask first;2;Mark') '0;Send directly;1;Ask first;2;Send manually')
FAC_LCL('mld_typeopdr_kosten_verplicht', 'Opdrachtbedrag verplicht', 'Order amount mandatory') FAC_LCL('mld_typeopdr_kosten_verplicht', 'Opdrachtbedrag verplicht', 'Order amount mandatory')
FAC_LCL('mld_typeopdr_kosten_verplichtLOV', FAC_LCL('mld_typeopdr_kosten_verplichtLOV',
'0;Niet verplicht;7;Bij aanmaak;6;Bij afmelden;4;Bij afronden', '0;Niet verplicht;7;Bij aanmaak;6;Bij afmelden;4;Bij afronden',
@@ -8002,8 +8007,8 @@ FAC_LCL('lcl_noti_PRSDEL', 'Persoon verwijderd', 'Person deleted')
FAC_LCL('lcl_noti_PRSLOG', 'Persoon ingelogd', 'Person logged in') FAC_LCL('lcl_noti_PRSLOG', 'Persoon ingelogd', 'Person logged in')
FAC_LCL('lcl_noti_PRSKPU', 'Kostenplaats gewijzigd', 'Cost centre changed') FAC_LCL('lcl_noti_PRSKPU', 'Kostenplaats gewijzigd', 'Cost centre changed')
FAC_LCL('lcl_noti_PRSANO', 'Persoon is geanonimiseerd', 'Person is anonymized') FAC_LCL('lcl_noti_PRSANO', 'Persoon is geanonimiseerd', 'Person is anonymized')
FAC_LCL('lcl_noti_PRSUPB', 'Bedrijf gewijzigd', 'Company changed') FAC_LCL('lcl_noti_PRSUPB', 'Bedrijf gewijzigd', 'Company changed')
FAC_LCL('lcl_noti_PRSUPT', 'Technisch adres gewijzigd', 'Technical address changed') FAC_LCL('lcl_noti_PRSUPT', 'Systeemadres gewijzigd', 'System address changed')
FAC_LCL('lcl_noti_RESNEW', 'Uw reservering ##KEY## (##DESC##) is geregistreerd', 'Your reservation ##KEY## (##DESC##) is registered') FAC_LCL('lcl_noti_RESNEW', 'Uw reservering ##KEY## (##DESC##) is geregistreerd', 'Your reservation ##KEY## (##DESC##) is registered')
FAC_LCL('lcl_noti_RESUPD', 'Uw reservering ##KEY## (##DESC##) is aangepast', 'Your reservation ##KEY## (##DESC##) is changed') FAC_LCL('lcl_noti_RESUPD', 'Uw reservering ##KEY## (##DESC##) is aangepast', 'Your reservation ##KEY## (##DESC##) is changed')

View File

@@ -148,20 +148,22 @@ CREATE OR REPLACE PACKAGE fac
PROCEDURE trackaction_withkey (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2, psubjectkey NUMBER, new_fac_tracking_key OUT NUMBER); PROCEDURE trackaction_withkey (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2, psubjectkey NUMBER, new_fac_tracking_key OUT NUMBER);
PROCEDURE backtrackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE); PROCEDURE backtrackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE);
PROCEDURE notifytracking(psrtnotificatiekey NUMBER, pperslid_key NUMBER, ptracking_oms VARCHAR2, prefkey NUMBER, ptrackingkey NUMBER DEFAULT NULL); PROCEDURE notifytracking(psrtnotificatiekey NUMBER, pperslid_key NUMBER, ptracking_oms VARCHAR2, prefkey NUMBER, ptrackingkey NUMBER DEFAULT NULL);
PROCEDURE notifytrackingbedrijven(ptrackingkey NUMBER); PROCEDURE notifytrackingbedrijven(ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL);
PROCEDURE notifytrackingbedrijven(peventcode IN VARCHAR2, prefkey IN NUMBER); PROCEDURE notifytrackingbedrijven(peventcode IN VARCHAR2, prefkey IN NUMBER, pnotidelay NUMBER DEFAULT NULL);
PROCEDURE notifygeneriekbedrijven(prefkey NUMBER, ptrackingkey NUMBER); PROCEDURE notifygeneriekbedrijven(prefkey NUMBER, ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL);
PROCEDURE notifybedrijf(pbedrijf_key NUMBER, PROCEDURE notifybedrijf(pbedrijf_key NUMBER,
pbedrijfadres_type VARCHAR2, pbedrijfadres_type VARCHAR2,
prefkey NUMBER, prefkey NUMBER,
ptrackingkey NUMBER DEFAULT NULL, ptrackingkey NUMBER DEFAULT NULL,
psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey
pnotidelay NUMBER DEFAULT NULL,
pxrefkey NUMBER DEFAULT NULL, pxrefkey NUMBER DEFAULT NULL,
preference VARCHAR2 DEFAULT NULL, preference VARCHAR2 DEFAULT NULL,
psender VARCHAR2 DEFAULT NULL, psender VARCHAR2 DEFAULT NULL,
plocatie_key NUMBER DEFAULT NULL, plocatie_key NUMBER DEFAULT NULL,
pdiscipline_key NUMBER DEFAULT NULL, pdiscipline_key NUMBER DEFAULT NULL,
ptypeopdr_key NUMBER DEFAULT NULL, ptypeopdr_key NUMBER DEFAULT NULL,
pbedrijf_key2 NUMBER DEFAULT NULL,
pdisc_key NUMBER DEFAULT NULL); pdisc_key NUMBER DEFAULT NULL);
FUNCTION gettrackingdate (peventcode IN VARCHAR2, pkey IN number) RETURN date; FUNCTION gettrackingdate (peventcode IN VARCHAR2, pkey IN number) RETURN date;
FUNCTION gettrackinguserkey (peventcode IN VARCHAR2, pkey IN number) RETURN number; FUNCTION gettrackinguserkey (peventcode IN VARCHAR2, pkey IN number) RETURN number;
@@ -2292,12 +2294,15 @@ CREATE OR REPLACE PACKAGE BODY fac AS
oldersmode fac_srtnotificatie.fac_srtnotificatie_mode%TYPE; oldersmode fac_srtnotificatie.fac_srtnotificatie_mode%TYPE;
susermode fac_srtnotificatie.fac_srtnotificatie_usermode%TYPE; susermode fac_srtnotificatie.fac_srtnotificatie_usermode%TYPE;
lmode fac_srtnotificatie.fac_srtnotificatie_mode%TYPE; lmode fac_srtnotificatie.fac_srtnotificatie_mode%TYPE;
any_tech NUMBER;
skey fac_srtnotificatie.fac_srtnotificatie_key%TYPE; skey fac_srtnotificatie.fac_srtnotificatie_key%TYPE;
l_srtnoti_delay fac_srtnotificatie.fac_srtnotificatie_delay%TYPE; l_srtnoti_delay fac_srtnotificatie.fac_srtnotificatie_delay%TYPE;
lemail fac_notificatie.fac_notificatie_receiver_email%TYPE; lemail fac_notificatie.fac_notificatie_receiver_email%TYPE;
lphone fac_notificatie.fac_notificatie_receiver_phone%TYPE; lphone fac_notificatie.fac_notificatie_receiver_phone%TYPE;
llang prs_perslid.prs_perslid_lang%TYPE; llang prs_perslid.prs_perslid_lang%TYPE;
lsysteem prs_perslid.prs_perslid_systeemadres%TYPE; lsysteem prs_perslid.prs_perslid_systeemadres%TYPE;
notbefore fac_notificatie.fac_notificatie_notbefore%TYPE;
delaymode NUMBER;
immediate NUMBER(1); immediate NUMBER(1);
BEGIN BEGIN
IF pcode IS NOT NULL IF pcode IS NOT NULL
@@ -2337,13 +2342,14 @@ CREATE OR REPLACE PACKAGE BODY fac AS
NULL; NULL;
END; END;
END IF; END IF;
IF smode IS NULL OR smode = 0 -- Misschien komt er nog een technisch adres
THEN --IF smode IS NULL OR smode = 0
RETURN; -- Geen kanaal om te notificeren --THEN
END IF; -- RETURN; -- Geen kanaal om te notificeren
--END IF;
ELSE ELSE
-- Wel status meegegeven; die is dan vast -- Wel status meegegeven; die is dan vast
-- Als status=2 en pcode=xxxMAI, dan moet de mail altijd vertuurd worden. -- Als status=2 en pcode=xxxMAI, dan moet de mail altijd verstuurd worden.
smode := poptstatus; smode := poptstatus;
IF ((SUBSTR(pcode, -3) = 'MAI' AND poptstatus = 2) OR pcode = 'PRSREG') IF ((SUBSTR(pcode, -3) = 'MAI' AND poptstatus = 2) OR pcode = 'PRSREG')
THEN THEN
@@ -2406,28 +2412,70 @@ CREATE OR REPLACE PACKAGE BODY fac AS
IF pbedrijfadreskey IS NULL IF pbedrijfadreskey IS NULL
THEN -- Mogelijk naar technische adressen van het (interne) bedrijf waar deze persoon onder valt THEN -- Mogelijk naar technische adressen van het (interne) bedrijf waar deze persoon onder valt
FOR bedrijfadresrec FOR bedrijfadresrec
IN (SELECT ba.prs_bedrijfadres_key IN (SELECT ba.prs_bedrijfadres_key
FROM prs_perslid p, FROM prs_perslid p,
prs_v_afdeling aa, prs_v_afdeling_boom aa,
prs_bedrijfadres ba, prs_bedrijfadres ba,
prs_bedrijfadres_srtnoti basrt prs_bedrijfadres_srtnoti basrt
WHERE p.prs_perslid_key = pto WHERE p.prs_perslid_key = pto
AND aa.prs_afdeling_key = p.prs_afdeling_key AND BITAND(prs_perslid_flags, 1) = 1 -- System user, voorkomt dat het naar elke user onder dit bedrijf gaat
AND ba.prs_bedrijf_key = aa.prs_bedrijf_key AND prs_perslid_verwijder IS NULL
AND ba.prs_bedrijfadres_startdatum <= SYSDATE AND aa.prs_afdeling_key = p.prs_afdeling_key
-- AND ba.prs_bedrijfadres_type = 'G' // maakt me dat uit? AND ba.prs_bedrijf_key = aa.prs_bedrijf_key
AND basrt.prs_bedrijfadres_key = ba.prs_bedrijfadres_key AND ba.prs_bedrijfadres_startdatum <= SYSDATE
AND basrt.fac_srtnotificatie_key = skey AND ba.prs_bedrijfadres_type = 'S' -- Systeem notificaties
) AND basrt.prs_bedrijfadres_key = ba.prs_bedrijfadres_key
LOOP AND basrt.fac_srtnotificatie_key = skey
putnotificationsrtprio (NULL, NULL, pcode, pref, poptmessage, 0 /* poptstatus */, )
NULL, NULL, pxref, pprio, psender, NULL, LOOP
pbedrijfadreskey => bedrijfadresrec.prs_bedrijfadres_key -- enige bijzondere, rest gewoon blind doorgeven DBMS_OUTPUT.PUT_LINE('Notify systeembedrijf-adres: ' || bedrijfadresrec.prs_bedrijfadres_key);
); IF (pto = pfrom) -- Toch maar niet
END LOOP; THEN
END IF; DBMS_OUTPUT.PUT_LINE('Maar ik ga niet naar mezelf terugsturen');
CONTINUE;
END IF;
notbefore := SYSDATE;
delaymode := fac.safe_to_number(fac.getsetting('noti_delay_mode'));
IF delaymode = 1 -- default uit, naar technische adres zonder vertraging
THEN
notbefore := notbefore + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0);
ELSIF delaymode > 1 -- fixed delay
THEN
notbefore := notbefore + delaymode / 60/ 60/ 24;
END IF;
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
prs_perslid_key_sender,
fac_notificatie_oms,
fac_notificatie_refkey,
fac_notificatie_extrakey,
fac_notificatie_prioriteit,
fac_notificatie_sender_email,
fac_notificatie_lang,
fac_notificatie_attachments,
prs_bedrijfadres_key,
fac_notificatie_notbefore)
VALUES (skey, -- deze is eerder al bepaald
0, -- nooit via andere opties versturen
pfrom,
soms,
pref,
pxref,
pprio,
psender,
llang,
pattach,
bedrijfadresrec.prs_bedrijfadres_key, -- enige bijzondere, rest gewoon blind doorgeven,
notbefore);
END LOOP;
END IF;
END IF;
IF smode IS NULL OR smode = 0
THEN
RETURN; -- Geen kanaal om te notificeren
END IF; END IF;
lmode := smode; lmode := smode;
@@ -2594,7 +2642,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
soms, soms,
pref, pref,
pxref, pxref,
pprio, CASE WHEN l_srtnoti_delay = 0 THEN 1 ELSE pprio END, // delay 0 altijd hoge prio en 'voorkruipen'
psender, psender,
llang, llang,
lsysteem, lsysteem,
@@ -3800,7 +3848,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
lcode := pcode; lcode := pcode;
loms := poms; loms := poms;
IF SUBSTR(lcode,1,1) = '#' IF SUBSTR(lcode,1,1) = '#' -- later niemand notificeren
THEN THEN
lcode := SUBSTR(lcode, 2); lcode := SUBSTR(lcode, 2);
IF poms IS NULL IF poms IS NULL
@@ -3811,6 +3859,17 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END IF; END IF;
END IF; END IF;
IF SUBSTR(lcode,1,1) = '@' -- later niet naar technische adressen notificeren
THEN
lcode := SUBSTR(lcode, 2);
IF poms IS NULL
THEN
loms := '@';
ELSE
loms := '@' || SUBSTR(loms, 1, 2047);
END IF;
END IF;
SELECT fac_srtnotificatie_key SELECT fac_srtnotificatie_key
INTO tkey INTO tkey
FROM fac_srtnotificatie FROM fac_srtnotificatie
@@ -4830,7 +4889,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END; END;
-- Zoek de nieuwste 'peventcode' tracking van prefkey en notificeer daarvan de bedrijven -- Zoek de nieuwste 'peventcode' tracking van prefkey en notificeer daarvan de bedrijven
PROCEDURE notifytrackingbedrijven(peventcode IN VARCHAR2, prefkey IN NUMBER) PROCEDURE notifytrackingbedrijven(peventcode IN VARCHAR2, prefkey IN NUMBER, pnotidelay NUMBER DEFAULT NULL)
AS AS
l_trackingkey fac_tracking.fac_tracking_key%TYPE; l_trackingkey fac_tracking.fac_tracking_key%TYPE;
BEGIN BEGIN
@@ -4843,12 +4902,12 @@ CREATE OR REPLACE PACKAGE BODY fac AS
AND fsn.fac_srtnotificatie_code = peventcode; AND fsn.fac_srtnotificatie_code = peventcode;
IF l_trackingkey IS NOT NULL IF l_trackingkey IS NOT NULL
THEN THEN
fac.notifytrackingbedrijven (l_trackingkey); fac.notifytrackingbedrijven (l_trackingkey, pnotidelay);
END IF; END IF;
END; END;
-- Notificeren via een technisch adres -- Notificeren via een technisch adres
PROCEDURE notifytrackingbedrijven (ptrackingkey NUMBER) PROCEDURE notifytrackingbedrijven (ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL)
AS AS
lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE; lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
lcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE; lcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
@@ -4869,30 +4928,30 @@ CREATE OR REPLACE PACKAGE BODY fac AS
CASE CASE
WHEN lxmlnode = 'melding' WHEN lxmlnode = 'melding'
THEN THEN
mld.notifymeldingbedrijven(l_refkey, ptrackingkey); mld.notifymeldingbedrijven(l_refkey, ptrackingkey, pnotidelay);
WHEN lxmlnode = 'opdracht' WHEN lxmlnode = 'opdracht'
THEN THEN
mld.notifyopdrbedrijven(l_refkey, ptrackingkey); mld.notifyopdrbedrijven(l_refkey, ptrackingkey, pnotidelay);
WHEN lxmlnode = 'reservering' OR lxmlnode = 'xreservering' WHEN lxmlnode = 'reservering' OR lxmlnode = 'xreservering'
THEN THEN
res.notifyreserveringbedrijven(l_refkey, ptrackingkey); res.notifyreserveringbedrijven(l_refkey, ptrackingkey, pnotidelay);
WHEN lxmlnode = 'bestelling' WHEN lxmlnode = 'bestelling'
THEN THEN
bes.notifybestellingbedrijven(l_refkey, ptrackingkey); bes.notifybestellingbedrijven(l_refkey, ptrackingkey, pnotidelay);
WHEN lxmlnode = 'bestelopdr' WHEN lxmlnode = 'bestelopdr'
THEN THEN
bes.notifybestelopdrbedrijven(l_refkey, ptrackingkey); bes.notifybestelopdrbedrijven(l_refkey, ptrackingkey, pnotidelay);
WHEN lxmlnode = 'contract' WHEN lxmlnode = 'contract'
THEN THEN
cnt.notifycontractbedrijven(l_refkey, ptrackingkey); cnt.notifycontractbedrijven(l_refkey, ptrackingkey, pnotidelay);
ELSE ELSE
fac.notifygeneriekbedrijven(l_refkey, ptrackingkey); fac.notifygeneriekbedrijven(l_refkey, ptrackingkey, pnotidelay);
END CASE; END CASE;
END; END;
-- Notificeer genrieke bedrijven die luisteren naar onze notificatie -- Notificeer genrieke bedrijven die luisteren naar onze notificatie
PROCEDURE notifygeneriekbedrijven (prefkey NUMBER, ptrackingkey NUMBER) PROCEDURE notifygeneriekbedrijven (prefkey NUMBER, ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL)
AS AS
BEGIN BEGIN
FOR bedrijfrec FOR bedrijfrec
@@ -4911,7 +4970,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key, fac.notifybedrijf (pbedrijf_key => bedrijfrec.prs_bedrijf_key,
pbedrijfadres_type => bedrijfrec.bedrijfadres_type, pbedrijfadres_type => bedrijfrec.bedrijfadres_type,
prefkey => prefkey, prefkey => prefkey,
ptrackingkey => ptrackingkey); ptrackingkey => ptrackingkey,
pnotidelay => pnotidelay);
END LOOP; END LOOP;
END; END;
@@ -4921,12 +4981,14 @@ CREATE OR REPLACE PACKAGE BODY fac AS
prefkey NUMBER, prefkey NUMBER,
ptrackingkey NUMBER DEFAULT NULL, ptrackingkey NUMBER DEFAULT NULL,
psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey, bijvoorbeeld vanuit mld_t_mld_opdr_B_IU als teverzenden op 2 wordt gezet psrtnoti_key NUMBER DEFAULT NULL, -- als geen trackingkey, bijvoorbeeld vanuit mld_t_mld_opdr_B_IU als teverzenden op 2 wordt gezet
pnotidelay NUMBER DEFAULT NULL,
pxrefkey NUMBER DEFAULT NULL, pxrefkey NUMBER DEFAULT NULL,
preference VARCHAR2 DEFAULT NULL, preference VARCHAR2 DEFAULT NULL,
psender VARCHAR2 DEFAULT NULL, -- alleen bij opdrachten alg_locatie_email? psender VARCHAR2 DEFAULT NULL, -- alleen bij opdrachten alg_locatie_email?
plocatie_key NUMBER DEFAULT NULL, plocatie_key NUMBER DEFAULT NULL,
pdiscipline_key NUMBER DEFAULT NULL, pdiscipline_key NUMBER DEFAULT NULL,
ptypeopdr_key NUMBER DEFAULT NULL, ptypeopdr_key NUMBER DEFAULT NULL,
pbedrijf_key2 NUMBER DEFAULT NULL,
pdisc_key NUMBER DEFAULT NULL) -- future use pdisc_key NUMBER DEFAULT NULL) -- future use
AS AS
l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE; l_bdradr_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE;
@@ -4942,6 +5004,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
nn_noti NUMBER (10); nn_noti NUMBER (10);
aantal NUMBER (10); aantal NUMBER (10);
dummy VARCHAR2 (1); dummy VARCHAR2 (1);
notbefore fac_notificatie.fac_notificatie_notbefore%TYPE;
delaymode NUMBER;
BEGIN BEGIN
IF ptrackingkey IS NULL IF ptrackingkey IS NULL
@@ -4955,9 +5019,8 @@ CREATE OR REPLACE PACKAGE BODY fac AS
FROM fac_tracking ft FROM fac_tracking ft
WHERE ft.fac_tracking_key = ptrackingkey; WHERE ft.fac_tracking_key = ptrackingkey;
-- als de tracking.prs_perslid_key een systeem contactpersoon is van prs_bedrijf -- als de tracking.prs_perslid_key een systeem contactpersoon is van het prs_bedrijf
-- dan geen notificatie terugsturen (Arai/van Dorp case) -- dan geen notificatie terugsturen (ARAI/van Dorp case)
SELECT COUNT(*) SELECT COUNT(*)
INTO aantal INTO aantal
FROM prs_contactpersoon pcp FROM prs_contactpersoon pcp
@@ -4966,6 +5029,23 @@ CREATE OR REPLACE PACKAGE BODY fac AS
AND prs_contactpersoon_systeem = 1; AND prs_contactpersoon_systeem = 1;
IF aantal > 0 IF aantal > 0
THEN THEN
DBMS_OUTPUT.put_line ('NOT sending notification initiated by System contact person');
RETURN;
END IF;
-- als de tracking.prs_perslid_key zelf een system user is en van het prs_bedrijf
-- dan ook geen notificatie terugsturen
SELECT COUNT(*)
INTO aantal
FROM prs_perslid p,
prs_v_afdeling_boom aa
WHERE p.prs_perslid_key = l_perslid_key
AND BITAND(p.prs_perslid_flags, 1) = 1 -- System user
AND aa.prs_afdeling_key = p.prs_afdeling_key
AND aa.prs_bedrijf_key = pbedrijf_key;
IF aantal > 0
THEN
DBMS_OUTPUT.put_line ('NOT sending notification initiated by System user');
RETURN; RETURN;
END IF; END IF;
END IF; END IF;
@@ -4993,6 +5073,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
AND (ba.mld_typeopdr_key = ptypeopdr_key OR ba.mld_typeopdr_key IS NULL) AND (ba.mld_typeopdr_key = ptypeopdr_key OR ba.mld_typeopdr_key IS NULL)
AND (ba.ins_discipline_key = pdiscipline_key OR ba.ins_discipline_key IS NULL) AND (ba.ins_discipline_key = pdiscipline_key OR ba.ins_discipline_key IS NULL)
AND (ba.alg_locatie_key = plocatie_key OR ba.alg_locatie_key IS NULL) AND (ba.alg_locatie_key = plocatie_key OR ba.alg_locatie_key IS NULL)
AND (ba.prs_bedrijf_key2 = pbedrijf_key2 OR ba.prs_bedrijf_key2 IS NULL)
AND (ba.ins_discipline_key = pdisc_key OR ba.ins_discipline_key IS NULL) AND (ba.ins_discipline_key = pdisc_key OR ba.ins_discipline_key IS NULL)
AND ( ba.alg_district_key = (SELECT d.alg_district_key AND ( ba.alg_district_key = (SELECT d.alg_district_key
FROM alg_locatie d FROM alg_locatie d
@@ -5076,6 +5157,19 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- Ok, het technisch adres luistert naar onze notificatie! -- Ok, het technisch adres luistert naar onze notificatie!
-- Geen putnotificationsrtprio. Die is veel te agressief met ontdubbelen -- Geen putnotificationsrtprio. Die is veel te agressief met ontdubbelen
delaymode := fac.safe_to_number(fac.getsetting('noti_delay_mode'));
IF pnotidelay IS NOT NULL
THEN
notbefore := SYSDATE + pnotidelay / 60/ 60/ 24;
ELSIF delaymode = 1
THEN
notbefore := SYSDATE + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0);
ELSIF delaymode > 1 -- fixed delay
THEN
notbefore := SYSDATE + delaymode / 60/ 60/ 24;
ELSE -- delaymode = 0 -- default uit, naar technische adres zonder vertraging
notbefore := SYSDATE;
END IF;
INSERT INTO fac_notificatie (fac_srtnotificatie_key, INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_oms, fac_notificatie_oms,
fac_notificatie_refkey, fac_notificatie_refkey,
@@ -5093,7 +5187,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
psender, psender,
0, 0,
l_bdradr_key, l_bdradr_key,
SYSDATE); -- nooit delay, we ontdubbelen toch niet? + NVL(l_srtnoti_delay/ 60/ 60/ 24, 0)); notbefore);
END; END;
-- Levert de (nieuwste) datum op van een getrackt event op key -- Levert de (nieuwste) datum op van een getrackt event op key

View File

@@ -11848,57 +11848,31 @@ BEGIN
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_discipline_oms); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_discipline_oms);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_kostensoort_oms); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_kostensoort_oms);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_nr); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_nr);
fac.imp_getfield (v_newline, fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_omschrijving);
c_fielddelimitor,
v_res_artikel_omschrijving
);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_eenheid); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_eenheid);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_prijs); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_prijs);
fac.imp_getfield (v_newline, fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_prijs_vast);
c_fielddelimitor, fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_inkoopprijs);
v_res_artikel_prijs_vast fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_kostenpersoneel);
); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_kostenalgemeen);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_inkoopprijs
);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_kostenpersoneel
);
fac.imp_getfield (v_newline,
c_fielddelimitor,
v_res_artikel_kostenalgemeen
);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_btw); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_btw);
fac.imp_getfield (v_newline, fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_opmerking);
c_fielddelimitor,
v_res_artikel_opmerking
);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_groep); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_groep);
fac.imp_getfield (v_newline, fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_volgnummer);
c_fielddelimitor,
v_res_artikel_volgnummer
);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_ingangsdatum); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_ingangsdatum);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_vervaldatum); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_vervaldatum);
fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_minimum); fac.imp_getfield (v_newline, c_fielddelimitor, v_res_artikel_minimum);
v_aanduiding :=
'importregel: ('
|| v_res_artikel_key
|| '|'
|| v_res_discipline_oms
|| '|'
|| v_res_artikel_nr
|| '|'
|| v_res_artikel_omschrijving
|| ')';
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen -- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
-- de juiste kolomkop. Ik controleer alle kolommen.. -- de juiste kolomkop. Ik controleer alle kolommen..
-- Ik negeer alles totdat ik een geldige header gepasseerd ben -- Ik negeer alles totdat ik een geldige header gepasseerd ben
IF (header_is_valid = 0) IF (header_is_valid = 0)
THEN THEN
v_aanduiding := 'importregel: (' || v_res_artikel_key
|| '|' || v_res_discipline_oms
|| '|' || v_res_artikel_nr
|| '|' || v_res_artikel_omschrijving
|| ')';
IF UPPER (v_res_artikel_key) = 'ARTIKELKEY' IF UPPER (v_res_artikel_key) = 'ARTIKELKEY'
AND UPPER (v_res_discipline_oms) = 'CATALOGUSNAAM' AND UPPER (v_res_discipline_oms) = 'CATALOGUSNAAM'
AND UPPER (v_res_kostensoort_oms) = 'CATALOGUSKOSTENSOORT' AND UPPER (v_res_kostensoort_oms) = 'CATALOGUSKOSTENSOORT'
@@ -11908,10 +11882,8 @@ BEGIN
AND UPPER (v_res_artikel_prijs) = 'ARTIKELPRIJS' AND UPPER (v_res_artikel_prijs) = 'ARTIKELPRIJS'
AND UPPER (v_res_artikel_prijs_vast) = 'ARTIKELPRIJSVAST' AND UPPER (v_res_artikel_prijs_vast) = 'ARTIKELPRIJSVAST'
AND UPPER (v_res_artikel_inkoopprijs) = 'ARTIKELINKOOPPRIJS' AND UPPER (v_res_artikel_inkoopprijs) = 'ARTIKELINKOOPPRIJS'
AND UPPER (v_res_artikel_kostenpersoneel) = AND UPPER (v_res_artikel_kostenpersoneel) = 'ARTIKELPERSONEELKOSTEN'
'ARTIKELPERSONEELKOSTEN' AND UPPER (v_res_artikel_kostenalgemeen) = 'ARTIKELALGEMENEKOSTEN'
AND UPPER (v_res_artikel_kostenalgemeen) =
'ARTIKELALGEMENEKOSTEN'
AND UPPER (v_res_artikel_btw) = 'ARTIKELBTW' AND UPPER (v_res_artikel_btw) = 'ARTIKELBTW'
AND UPPER (v_res_artikel_opmerking) = 'ARTIKELOPMERKING' AND UPPER (v_res_artikel_opmerking) = 'ARTIKELOPMERKING'
AND UPPER (v_res_artikel_groep) = 'ARTIKELGROEP' AND UPPER (v_res_artikel_groep) = 'ARTIKELGROEP'
@@ -11924,9 +11896,14 @@ BEGIN
END IF; END IF;
ELSE ELSE
v_count_tot := v_count_tot + 1; v_count_tot := v_count_tot + 1;
v_aanduiding := 'importregel ' || TO_CHAR(v_count_tot) || ': (' || v_res_artikel_key
|| '|' || v_res_discipline_oms
|| '|' || v_res_artikel_nr
|| '|' || v_res_artikel_omschrijving
|| ')';
-- Controleer alle veldwaarde -- Controleer alle veldwaarde
IF LTRIM (RTRIM (v_res_artikel_key)) IS NOT NULL IF TRIM (v_res_artikel_key) IS NOT NULL
THEN THEN
IF fac.safe_to_number (v_res_artikel_key) IS NOT NULL IF fac.safe_to_number (v_res_artikel_key) IS NOT NULL
THEN THEN
@@ -11938,38 +11915,46 @@ BEGIN
EXCEPTION EXCEPTION
WHEN NO_DATA_FOUND WHEN NO_DATA_FOUND
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'I',
'I',
v_aanduiding, v_aanduiding,
'Catalogus is nieuw' 'Catalogus is nieuw'
); );
END; END;
ELSE ELSE
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'E',
'E',
v_aanduiding, v_aanduiding,
'Artikel key niet gevonden' 'Artikel key ongeldig'
); );
v_ongeldig := 1; v_ongeldig := 1;
END IF; END IF;
END IF; END IF;
BEGIN v_res_discipline_oms := TRIM (v_res_discipline_oms);
SELECT ins_discipline_key IF v_res_discipline_oms IS NOT NULL
INTO v_res_discipline_key THEN
FROM res_discipline BEGIN
WHERE ins_discipline_omschrijving = v_res_discipline_oms SELECT ins_discipline_key
AND ins_discipline_verwijder IS NULL; INTO v_res_discipline_key
EXCEPTION FROM res_discipline
WHEN NO_DATA_FOUND WHERE ins_discipline_omschrijving = v_res_discipline_oms
THEN AND ins_discipline_verwijder IS NULL;
fac.imp_writelog (p_import_key, EXCEPTION
'I', WHEN NO_DATA_FOUND
v_aanduiding, THEN
'Catalogus ' || v_res_discipline_oms || ' is nieuw' fac.imp_writelog (p_import_key, 'I',
); v_aanduiding,
END; 'Catalogus ' || v_res_discipline_oms || ' is nieuw'
);
END;
ELSE
fac.imp_writelog (p_import_key, 'E',
v_aanduiding,
'Catalogus ontbreekt'
);
v_ongeldig := 1;
END IF;
v_res_kostensoort_oms := TRIM (v_res_kostensoort_oms);
IF v_res_kostensoort_oms IS NOT NULL IF v_res_kostensoort_oms IS NOT NULL
THEN THEN
BEGIN BEGIN
@@ -11981,76 +11966,68 @@ BEGIN
EXCEPTION EXCEPTION
WHEN NO_DATA_FOUND WHEN NO_DATA_FOUND
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'E',
'I',
v_aanduiding, v_aanduiding,
'Kostensoort ' || v_res_kostensoort_oms || ' is nieuw' 'Kostensoort ' || v_res_kostensoort_oms || ' niet gevonden'
); );
v_ongeldig := 1;
END; END;
END IF; END IF;
v_res_artikel_nr := TRIM (v_res_artikel_nr);
IF LENGTH (v_res_artikel_nr) > 10 IF LENGTH (v_res_artikel_nr) > 10
THEN THEN
v_res_artikel_nr := SUBSTR (TRIM (v_res_artikel_nr), 1, 10); v_res_artikel_nr := SUBSTR (v_res_artikel_nr, 1, 10);
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Artikelnummer wordt afgebroken tot [' 'Artikelnummer wordt afgebroken tot [' || v_res_artikel_nr || ']'
|| v_res_artikel_nr
|| ']'
); );
END IF; END IF;
v_res_artikel_omschrijving := TRIM (v_res_artikel_omschrijving);
IF LENGTH (v_res_artikel_omschrijving) > 40 IF LENGTH (v_res_artikel_omschrijving) > 40
THEN THEN
v_res_artikel_omschrijving := v_res_artikel_omschrijving := SUBSTR (v_res_artikel_omschrijving, 1, 40);
SUBSTR (TRIM (v_res_artikel_omschrijving), 1, 40); fac.imp_writelog (p_import_key, 'W',
fac.imp_writelog v_aanduiding,
(p_import_key, 'Artikelomschrijving wordt afgebroken tot [' || v_res_artikel_omschrijving || ']'
'W', );
v_aanduiding, END IF;
'Artikelomschrijving wordt afgebroken tot [' IF v_res_artikel_omschrijving IS NULL
|| v_res_artikel_omschrijving THEN
|| ']' fac.imp_writelog (p_import_key, 'W',
); v_aanduiding,
'Artikelomschrijving ontbreekt'
);
v_ongeldig := 1;
END IF; END IF;
v_res_artikel_eenheid := TRIM (v_res_artikel_eenheid);
IF LENGTH (v_res_artikel_eenheid) > 10 IF LENGTH (v_res_artikel_eenheid) > 10
THEN THEN
v_res_artikel_eenheid := v_res_artikel_eenheid := SUBSTR (v_res_artikel_eenheid, 1, 10);
SUBSTR (TRIM (v_res_artikel_eenheid), 1, 10); fac.imp_writelog (p_import_key, 'W',
fac.imp_writelog (p_import_key,
'W',
v_aanduiding, v_aanduiding,
'Artikeleenheid wordt afgebroken tot [' 'Artikeleenheid wordt afgebroken tot [' || v_res_artikel_eenheid || ']'
|| v_res_artikel_eenheid
|| ']'
); );
END IF; END IF;
v_res_artikel_prijs := REPLACE (v_res_artikel_prijs, ',', '.'); v_res_artikel_prijs := REPLACE (v_res_artikel_prijs, ',', '.');
IF v_res_artikel_prijs IS NOT NULL IF v_res_artikel_prijs IS NOT NULL
AND fac.safe_to_number (v_res_artikel_prijs) IS NULL AND fac.safe_to_number (v_res_artikel_prijs) IS NULL
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldige artikelprijs [' 'Ongeldige artikelprijs [' || v_res_artikel_prijs || ']'
|| v_res_artikel_prijs
|| ']'
); );
END IF; END IF;
IF ( v_res_artikel_prijs_vast <> '0' IF ( v_res_artikel_prijs_vast <> '0'
AND v_res_artikel_prijs_vast <> '1') AND v_res_artikel_prijs_vast <> '1')
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldige artikel_prijs_vast [' 'Ongeldige artikel_prijs_vast [' || v_res_artikel_prijs_vast || '] --> [0|1]'
|| v_res_artikel_prijs_vast
|| '] --> [0|1]'
); );
END IF; END IF;
-- Doe een poging er de juiste waarde van te maken. -- Doe een poging er de juiste waarde van te maken.
@@ -12060,88 +12037,63 @@ BEGIN
v_res_artikel_prijs_vast := '0'; v_res_artikel_prijs_vast := '0';
END IF; END IF;
v_res_artikel_inkoopprijs := v_res_artikel_inkoopprijs := REPLACE (v_res_artikel_inkoopprijs, ',', '.');
REPLACE (v_res_artikel_inkoopprijs, ',', '.');
IF v_res_artikel_inkoopprijs IS NOT NULL IF v_res_artikel_inkoopprijs IS NOT NULL
AND fac.safe_to_number (v_res_artikel_inkoopprijs) IS NULL AND fac.safe_to_number (v_res_artikel_inkoopprijs) IS NULL
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldige inkoopprijs [' 'Ongeldige inkoopprijs [' || v_res_artikel_inkoopprijs || ']'
|| v_res_artikel_inkoopprijs
|| ']'
); );
END IF; END IF;
v_res_artikel_kostenpersoneel := v_res_artikel_kostenpersoneel := REPLACE (v_res_artikel_kostenpersoneel, ',', '.');
REPLACE (v_res_artikel_kostenpersoneel, ',', '.');
IF v_res_artikel_kostenpersoneel IS NOT NULL IF v_res_artikel_kostenpersoneel IS NOT NULL
AND fac.safe_to_number (v_res_artikel_kostenpersoneel) IS NULL AND fac.safe_to_number (v_res_artikel_kostenpersoneel) IS NULL
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldige personeelskosten [' 'Ongeldige personeelskosten [' || v_res_artikel_kostenpersoneel || ']'
|| v_res_artikel_kostenpersoneel
|| ']'
); );
END IF; END IF;
v_res_artikel_kostenalgemeen := v_res_artikel_kostenalgemeen := REPLACE (v_res_artikel_kostenalgemeen, ',', '.');
REPLACE (v_res_artikel_kostenalgemeen, ',', '.');
IF v_res_artikel_kostenalgemeen IS NOT NULL IF v_res_artikel_kostenalgemeen IS NOT NULL
AND fac.safe_to_number (v_res_artikel_kostenalgemeen) IS NULL AND fac.safe_to_number (v_res_artikel_kostenalgemeen) IS NULL
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldige algemene kosten [' 'Ongeldige algemene kosten [' || v_res_artikel_kostenalgemeen || ']'
|| v_res_artikel_kostenalgemeen
|| ']'
); );
END IF; END IF;
v_res_artikel_btw := REPLACE (v_res_artikel_btw, ',', '.'); v_res_artikel_btw := REPLACE (v_res_artikel_btw, ',', '.');
IF v_res_artikel_btw IS NOT NULL IF v_res_artikel_btw IS NOT NULL
AND fac.safe_to_number (v_res_artikel_btw) IS NULL AND fac.safe_to_number (v_res_artikel_btw) IS NULL
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldige BTW tarief [' 'Ongeldige BTW tarief [' || v_res_artikel_btw || ']'
|| v_res_artikel_btw
|| ']'
); );
END IF; END IF;
v_res_artikel_opmerking := TRIM (v_res_artikel_opmerking);
IF LENGTH (v_res_artikel_opmerking) > 2000 IF LENGTH (v_res_artikel_opmerking) > 2000
THEN THEN
v_res_artikel_opmerking := v_res_artikel_opmerking := SUBSTR (v_res_artikel_opmerking, 1, 2000);
SUBSTR (TRIM (v_res_artikel_opmerking), 1, 2000); fac.imp_writelog (p_import_key, 'W',
fac.imp_writelog (p_import_key,
'W',
v_aanduiding, v_aanduiding,
'Artikelopmerking wordt afgebroken tot [' 'Artikelopmerking wordt afgebroken tot [' || v_res_artikel_opmerking || ']'
|| v_res_artikel_opmerking
|| ']'
); );
END IF; END IF;
v_res_artikel_groep := TRIM (v_res_artikel_groep);
IF LENGTH (v_res_artikel_groep) > 10 IF LENGTH (v_res_artikel_groep) > 10
THEN THEN
v_res_artikel_groep := v_res_artikel_groep := SUBSTR (v_res_artikel_groep, 1, 10);
SUBSTR (TRIM (v_res_artikel_groep), 1, 10); fac.imp_writelog (p_import_key, 'W',
fac.imp_writelog (p_import_key,
'W',
v_aanduiding, v_aanduiding,
'Artikelgroep wordt afgebroken tot [' 'Artikelgroep wordt afgebroken tot [' || v_res_artikel_groep || ']'
|| v_res_artikel_groep
|| ']'
); );
END IF; END IF;
@@ -12150,12 +12102,9 @@ BEGIN
IF LENGTH (v_res_artikel_volgnummer) > 3 IF LENGTH (v_res_artikel_volgnummer) > 3
OR fac.safe_to_number (v_res_artikel_volgnummer) IS NULL OR fac.safe_to_number (v_res_artikel_volgnummer) IS NULL
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldig artikelvolgnummer [' 'Ongeldig artikelvolgnummer [' || v_res_artikel_volgnummer || ']'
|| v_res_artikel_volgnummer
|| ']'
); );
v_res_artikel_volgnummer := NULL; v_res_artikel_volgnummer := NULL;
END IF; END IF;
@@ -12166,24 +12115,18 @@ BEGIN
IF v_res_artikel_ingangsdatum IS NOT NULL IF v_res_artikel_ingangsdatum IS NOT NULL
AND fac.safe_to_date (v_res_artikel_ingangsdatum, 'yyyymmdd') IS NULL AND fac.safe_to_date (v_res_artikel_ingangsdatum, 'yyyymmdd') IS NULL
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldige ingangsdatum [' 'Ongeldige ingangsdatum [' || v_res_artikel_ingangsdatum || ']'
|| v_res_artikel_ingangsdatum
|| ']'
); );
END IF; END IF;
IF v_res_artikel_vervaldatum IS NOT NULL IF v_res_artikel_vervaldatum IS NOT NULL
AND fac.safe_to_date (v_res_artikel_vervaldatum, 'yyyymmdd') IS NULL AND fac.safe_to_date (v_res_artikel_vervaldatum, 'yyyymmdd') IS NULL
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldige vervaldatum [' 'Ongeldige vervaldatum [' || v_res_artikel_vervaldatum || ']'
|| v_res_artikel_vervaldatum
|| ']'
); );
END IF; END IF;
@@ -12192,12 +12135,9 @@ BEGIN
IF LENGTH (v_res_artikel_minimum) > 3 IF LENGTH (v_res_artikel_minimum) > 3
OR fac.safe_to_number (v_res_artikel_minimum) IS NULL OR fac.safe_to_number (v_res_artikel_minimum) IS NULL
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'W',
'W',
v_aanduiding, v_aanduiding,
'Ongeldig artikelminimum [' 'Ongeldig artikelminimum [' || v_res_artikel_minimum || ']'
|| v_res_artikel_minimum
|| ']'
); );
v_res_artikel_minimum := NULL; v_res_artikel_minimum := NULL;
END IF; END IF;
@@ -12237,10 +12177,8 @@ BEGIN
fac.safe_to_number (v_res_artikel_prijs), fac.safe_to_number (v_res_artikel_prijs),
fac.safe_to_number (v_res_artikel_prijs_vast), fac.safe_to_number (v_res_artikel_prijs_vast),
fac.safe_to_number (v_res_artikel_inkoopprijs), fac.safe_to_number (v_res_artikel_inkoopprijs),
fac.safe_to_number fac.safe_to_number (v_res_artikel_kostenpersoneel),
(v_res_artikel_kostenpersoneel), fac.safe_to_number (v_res_artikel_kostenalgemeen),
fac.safe_to_number
(v_res_artikel_kostenalgemeen),
fac.safe_to_number (v_res_artikel_btw), fac.safe_to_number (v_res_artikel_btw),
v_res_artikel_opmerking, v_res_artikel_groep, v_res_artikel_opmerking, v_res_artikel_groep,
fac.safe_to_number (v_res_artikel_volgnummer), fac.safe_to_number (v_res_artikel_volgnummer),
@@ -12256,13 +12194,10 @@ BEGIN
oracle_err_num := SQLCODE; oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100); oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := ' ORACLE (' || oracle_err_mes || ')'; v_errormsg := ' ORACLE (' || oracle_err_mes || ')';
fac.imp_writelog fac.imp_writelog (p_import_key, 'E',
(p_import_key, v_aanduiding,
'E', 'Ingelezen regel kan niet weggeschreven worden: fout bij toevoegen regel aan importtabel FAC_IMP_RES_ARTIKEL_SYNC. ' || v_errormsg
v_aanduiding, );
'Ingelezen regel kan niet weggeschreven worden: fout bij toevoegen regel aan importtabel FAC_IMP_RES_ARTIKEL_SYNC. '
|| v_errormsg
);
END; END;
END IF; END IF;
END IF; END IF;
@@ -12271,26 +12206,19 @@ BEGIN
IF (header_is_valid = 0) IF (header_is_valid = 0)
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'E',
'E',
v_aanduiding || 'Ongeldig importbestand', v_aanduiding || 'Ongeldig importbestand',
'Toelichting: ... ' 'Toelichting: ... '
); );
ELSE ELSE
fac.imp_writelog fac.imp_writelog (p_import_key, 'S',
(p_import_key, 'Reserveringen: aantal ingelezen catering regels: ' || TO_CHAR (v_count_tot),
'S', ''
'Reserveringen: aantal ingelezen catering regels: ' );
|| TO_CHAR (v_count_tot), fac.imp_writelog (p_import_key, 'S',
'' 'Reserveringen: aantal ongeldige niet ingelezen importregels: ' || TO_CHAR (v_count_tot - v_count_import),
); ''
fac.imp_writelog );
(p_import_key,
'S',
'Reserveringen: aantal ongeldige niet ingelezen importregels: <b>'
|| TO_CHAR (v_count_tot - v_count_import),
''
);
END IF; END IF;
COMMIT; COMMIT;
@@ -12299,10 +12227,8 @@ EXCEPTION
THEN THEN
oracle_err_num := SQLCODE; oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100); oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; fac.imp_writelog (p_import_key, 'E',
fac.imp_writelog (p_import_key,
'E',
v_errormsg, v_errormsg,
'Inleesproces verbruiksartikelen afgebroken!' 'Inleesproces verbruiksartikelen afgebroken!'
); );
@@ -12369,141 +12295,119 @@ BEGIN
END; END;
END IF; END IF;
BEGIN
SELECT ins_discipline_key
INTO v_res_discipline_key
FROM res_discipline
WHERE ins_discipline_omschrijving = rec.res_discipline_oms
AND ins_discipline_min_level = 2
AND ins_discipline_verwijder IS NULL;
IF v_res_kostensoort_key IS NOT NULL UPDATE ins_tab_discipline
THEN SET prs_kostensoort_key = v_res_kostensoort_key
BEGIN WHERE ins_discipline_key = v_res_discipline_key;
SELECT ins_discipline_key EXCEPTION
INTO v_res_discipline_key WHEN NO_DATA_FOUND
FROM res_discipline
WHERE ins_discipline_omschrijving = rec.res_discipline_oms
AND ins_discipline_min_level = 2
AND ins_discipline_verwijder IS NULL;
IF v_res_kostensoort_key IS NOT NULL
THEN
UPDATE ins_tab_discipline
SET prs_kostensoort_key = v_res_kostensoort_key
WHERE ins_discipline_key = v_res_discipline_key;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
INSERT INTO ins_tab_discipline
(ins_discipline_module,
ins_discipline_omschrijving,
ins_discipline_min_level,
prs_kostensoort_key
)
VALUES ('RES',
rec.res_discipline_oms,
2,
v_res_kostensoort_key
)
RETURNING ins_discipline_key
INTO v_res_discipline_key;
INSERT INTO res_disc_params
(res_ins_discipline_key
)
VALUES (v_res_discipline_key
);
END;
IF rec.res_artikel_key IS NULL
THEN THEN
INSERT INTO res_artikel INSERT INTO ins_tab_discipline
(res_discipline_key, res_artikel_nr, (ins_discipline_module,
res_artikel_omschrijving, ins_discipline_omschrijving,
res_artikel_eenheid, res_artikel_prijs, ins_discipline_min_level,
res_artikel_prijs_vast, prs_kostensoort_key
res_artikel_inkoopprijs, res_artikel_btw,
res_artikel_opmerking, res_artikel_groep,
res_artikel_kostenpersoneel,
res_artikel_kostenalgemeen,
res_artikel_volgnummer,
res_artikel_ingangsdatum,
res_artikel_vervaldatum,
res_artikel_minimum
) )
VALUES (v_res_discipline_key, rec.res_artikel_nr, VALUES ('RES',
rec.res_artikel_omschrijving, rec.res_discipline_oms,
rec.res_artikel_eenheid, rec.res_artikel_prijs, 2,
rec.res_artikel_prijs_vast, v_res_kostensoort_key
rec.res_artikel_inkoopprijs, rec.res_artikel_btw, )
rec.res_artikel_opmerking, rec.res_artikel_groep, RETURNING ins_discipline_key
rec.res_artikel_kostenpersoneel, INTO v_res_discipline_key;
rec.res_artikel_kostenalgemeen,
rec.res_artikel_volgnummer, INSERT INTO res_disc_params
rec.res_artikel_ingangsdatum, (res_ins_discipline_key
rec.res_artikel_vervaldatum, )
rec.res_artikel_minimum VALUES (v_res_discipline_key
); );
END;
v_count_ins := v_count_ins + 1; IF rec.res_artikel_key IS NULL
ELSE THEN
UPDATE res_artikel INSERT INTO res_artikel
SET res_discipline_key = v_res_discipline_key, (res_discipline_key, res_artikel_nr,
res_artikel_nr = rec.res_artikel_nr, res_artikel_omschrijving,
res_artikel_omschrijving = rec.res_artikel_omschrijving, res_artikel_eenheid, res_artikel_prijs,
res_artikel_eenheid = rec.res_artikel_eenheid, res_artikel_prijs_vast,
res_artikel_prijs = rec.res_artikel_prijs, res_artikel_inkoopprijs, res_artikel_btw,
res_artikel_prijs_vast = rec.res_artikel_prijs_vast, res_artikel_opmerking, res_artikel_groep,
res_artikel_inkoopprijs = rec.res_artikel_inkoopprijs, res_artikel_kostenpersoneel,
res_artikel_kostenpersoneel = rec.res_artikel_kostenpersoneel, res_artikel_kostenalgemeen,
res_artikel_kostenalgemeen = rec.res_artikel_kostenalgemeen, res_artikel_volgnummer,
res_artikel_btw = rec.res_artikel_btw, res_artikel_ingangsdatum,
res_artikel_opmerking = rec.res_artikel_opmerking, res_artikel_vervaldatum,
res_artikel_groep = rec.res_artikel_groep, res_artikel_minimum
res_artikel_volgnummer = rec.res_artikel_volgnummer, )
res_artikel_ingangsdatum = rec.res_artikel_ingangsdatum, VALUES (v_res_discipline_key, rec.res_artikel_nr,
res_artikel_vervaldatum = rec.res_artikel_vervaldatum, rec.res_artikel_omschrijving,
res_artikel_minimum = rec.res_artikel_minimum rec.res_artikel_eenheid, rec.res_artikel_prijs,
WHERE res_artikel_key = rec.res_artikel_key; rec.res_artikel_prijs_vast,
rec.res_artikel_inkoopprijs, rec.res_artikel_btw,
rec.res_artikel_opmerking, rec.res_artikel_groep,
rec.res_artikel_kostenpersoneel,
rec.res_artikel_kostenalgemeen,
rec.res_artikel_volgnummer,
rec.res_artikel_ingangsdatum,
rec.res_artikel_vervaldatum,
rec.res_artikel_minimum
);
v_count_update := v_count_update + 1; v_count_ins := v_count_ins + 1;
END IF; ELSE
UPDATE res_artikel
SET res_discipline_key = v_res_discipline_key,
res_artikel_nr = rec.res_artikel_nr,
res_artikel_omschrijving = rec.res_artikel_omschrijving,
res_artikel_eenheid = rec.res_artikel_eenheid,
res_artikel_prijs = rec.res_artikel_prijs,
res_artikel_prijs_vast = rec.res_artikel_prijs_vast,
res_artikel_inkoopprijs = rec.res_artikel_inkoopprijs,
res_artikel_kostenpersoneel = rec.res_artikel_kostenpersoneel,
res_artikel_kostenalgemeen = rec.res_artikel_kostenalgemeen,
res_artikel_btw = rec.res_artikel_btw,
res_artikel_opmerking = rec.res_artikel_opmerking,
res_artikel_groep = rec.res_artikel_groep,
res_artikel_volgnummer = rec.res_artikel_volgnummer,
res_artikel_ingangsdatum = rec.res_artikel_ingangsdatum,
res_artikel_vervaldatum = rec.res_artikel_vervaldatum,
res_artikel_minimum = rec.res_artikel_minimum
WHERE res_artikel_key = rec.res_artikel_key;
v_count_update := v_count_update + 1;
END IF; END IF;
END; END;
END LOOP; END LOOP;
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'S',
'S', 'Reserveringen: aantal artikelregels: ' || TO_CHAR (v_count_tot), ''
'Reserveringen: aantal artikelregels: '
|| TO_CHAR (v_count_tot),
''
); );
IF v_count_ins <> 0 IF v_count_ins <> 0
THEN THEN
fac.imp_writelog fac.imp_writelog (p_import_key, 'S',
(p_import_key, 'Reserveringen: aantal artikelregels toegevoegd: ' || TO_CHAR (v_count_ins), ''
'S', );
'Reserveringen: aantal artikelregels toegevoegd: '
|| TO_CHAR (v_count_ins),
''
);
END IF; END IF;
IF v_count_update <> 0 IF v_count_update <> 0
THEN THEN
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key, 'S',
'S', 'Reserveringen: aantal artikelregels aangepast: ' || TO_CHAR (v_count_update), ''
'Reserveringen: aantal artikelregels aangepast: '
|| TO_CHAR (v_count_update),
''
); );
END IF; END IF;
IF (v_count_tot > (v_count_ins + v_count_update)) IF (v_count_tot > (v_count_ins + v_count_update))
THEN THEN
fac.imp_writelog fac.imp_writelog (p_import_key, 'S',
(p_import_key, 'Reserveringen: aantal artikelregels overgeslagen: ' || TO_CHAR (v_count_tot - v_count_ins - v_count_update), ''
'S', );
'Reserveringen: aantal artikelregels overgeslagen: '
|| TO_CHAR (v_count_tot - v_count_ins - v_count_update),
''
);
END IF; END IF;
COMMIT; COMMIT;
@@ -23107,7 +23011,7 @@ BEGIN
( mld_vrije_dagen_datum ( mld_vrije_dagen_datum
, mld_vrije_dagen_id , mld_vrije_dagen_id
) )
VALUES (v_datum, vrije_dag.calendarid); VALUES (v_datum, COALESCE(vrije_dag.calendarid, 'Default'));
v_count_new := v_count_new + 1; v_count_new := v_count_new + 1;
EXCEPTION EXCEPTION
WHEN OTHERS WHEN OTHERS

View File

@@ -17,6 +17,8 @@ AS
PROCEDURE starttask (p_taskcode VARCHAR2, PROCEDURE starttask (p_taskcode VARCHAR2,
p_nextrun DATE DEFAULT SYSDATE, p_nextrun DATE DEFAULT SYSDATE,
p_customerid VARCHAR2 DEFAULT NULL); p_customerid VARCHAR2 DEFAULT NULL);
PROCEDURE waittask (pinterval NUMBER DEFAULT 5,
ptimeout NUMBER DEFAULT 300);
END tsk; END tsk;
/ /
@@ -28,7 +30,8 @@ AS
tsk_master_schema VARCHAR(32); tsk_master_schema VARCHAR(32);
custid fac_version.fac_version_cust%TYPE; custid fac_version.fac_version_cust%TYPE;
selfid fac_version.fac_version_cust%TYPE; selfid fac_version.fac_version_cust%TYPE;
selfschema fac_version.fac_version_schema%TYPE; fac_schema fac_version.fac_version_schema%TYPE;
currentdb_schema VARCHAR2 (64);
tsksql VARCHAR2 (4000); tsksql VARCHAR2 (4000);
cursor_name INTEGER; cursor_name INTEGER;
rows_processed INTEGER; rows_processed INTEGER;
@@ -36,16 +39,17 @@ AS
SELECT fac_version_cust, SELECT fac_version_cust,
fac_version_schema fac_version_schema
INTO selfid, INTO selfid,
selfschema fac_schema
FROM fac_version; FROM fac_version;
custid := COALESCE(p_customerid, selfid); custid := COALESCE(p_customerid, selfid);
tsk_master_schema := fac.getsetting ('tsk_master_schema'); tsk_master_schema := fac.getsetting ('tsk_master_schema');
currentdb_schema := SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA');
IF tsk_master_schema IS NULL OR tsk_master_schema = USER IF tsk_master_schema IS NULL OR tsk_master_schema = '*SELF*' OR tsk_master_schema = currentdb_schema
THEN -- zelf oplossen THEN -- zelf oplossen
BEGIN BEGIN
INSERT INTO fac_cust(fac_cust_customerid, fac_cust_schema) INSERT INTO fac_cust(fac_cust_customerid, fac_cust_schema)
VALUES(custid, COALESCE(p_schema, selfschema)); VALUES(custid, COALESCE(p_schema, fac_schema));
EXCEPTION EXCEPTION
WHEN DUP_VAL_ON_INDEX WHEN DUP_VAL_ON_INDEX
THEN THEN
@@ -53,7 +57,7 @@ AS
END; END;
-- Schema bijwerken -- Schema bijwerken
UPDATE fac_cust UPDATE fac_cust
SET fac_cust_schema = COALESCE(p_schema, selfschema) SET fac_cust_schema = COALESCE(p_schema, fac_schema)
WHERE fac_cust_customerid = custid; WHERE fac_cust_customerid = custid;
ELSE -- Remote register ELSE -- Remote register
tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.registercust(:custid, :schema); END;'; tsksql := 'BEGIN ' || tsk_master_schema || '.tsk.registercust(:custid, :schema); END;';
@@ -61,7 +65,7 @@ AS
cursor_name := DBMS_SQL.open_cursor; cursor_name := DBMS_SQL.open_cursor;
DBMS_SQL.PARSE (cursor_name, tsksql, DBMS_SQL.NATIVE); DBMS_SQL.PARSE (cursor_name, tsksql, DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE (cursor_name, ':custid', selfid); DBMS_SQL.BIND_VARIABLE (cursor_name, ':custid', selfid);
DBMS_SQL.BIND_VARIABLE (cursor_name, ':schema', selfschema); DBMS_SQL.BIND_VARIABLE (cursor_name, ':schema', fac_schema);
rows_processed := DBMS_SQL.EXECUTE (cursor_name); rows_processed := DBMS_SQL.EXECUTE (cursor_name);
DBMS_SQL.CLOSE_CURSOR (cursor_name); DBMS_SQL.CLOSE_CURSOR (cursor_name);
END IF; END IF;
@@ -73,13 +77,15 @@ AS
tsk_master_schema VARCHAR(32); tsk_master_schema VARCHAR(32);
selfid fac_version.fac_version_cust%TYPE; selfid fac_version.fac_version_cust%TYPE;
tsksql VARCHAR2 (4000); tsksql VARCHAR2 (4000);
currentdb_schema VARCHAR2 (64);
cursor_name INTEGER; cursor_name INTEGER;
rows_processed INTEGER; rows_processed INTEGER;
BEGIN BEGIN
SELECT fac_version_cust INTO selfid FROM fac_version; SELECT fac_version_cust INTO selfid FROM fac_version;
tsk_master_schema := fac.getsetting ('tsk_master_schema'); tsk_master_schema := fac.getsetting ('tsk_master_schema');
currentdb_schema := SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA');
IF tsk_master_schema IS NULL OR tsk_master_schema = USER IF tsk_master_schema IS NULL OR tsk_master_schema = '*SELF*' OR tsk_master_schema = currentdb_schema
THEN -- zelf oplossen THEN -- zelf oplossen
BEGIN BEGIN
INSERT INTO fac_task(fac_cust_key, fac_task_code) INSERT INTO fac_task(fac_cust_key, fac_task_code)
@@ -111,13 +117,15 @@ AS
tsk_master_schema VARCHAR(32); tsk_master_schema VARCHAR(32);
selfid fac_version.fac_version_cust%TYPE; selfid fac_version.fac_version_cust%TYPE;
tsksql VARCHAR2 (4000); tsksql VARCHAR2 (4000);
currentdb_schema VARCHAR2 (64);
cursor_name INTEGER; cursor_name INTEGER;
rows_processed INTEGER; rows_processed INTEGER;
BEGIN BEGIN
SELECT fac_version_cust INTO selfid FROM fac_version; SELECT fac_version_cust INTO selfid FROM fac_version;
tsk_master_schema := fac.getsetting ('tsk_master_schema'); tsk_master_schema := fac.getsetting ('tsk_master_schema');
currentdb_schema := SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA');
IF tsk_master_schema IS NULL OR tsk_master_schema = USER IF tsk_master_schema IS NULL OR tsk_master_schema = '*SELF*' OR tsk_master_schema = currentdb_schema
THEN -- zelf oplossen THEN -- zelf oplossen
UPDATE fac_task UPDATE fac_task
SET fac_task_nextrun = fac.safe_LEAST (p_nextrun, fac_task_nextrun) SET fac_task_nextrun = fac.safe_LEAST (p_nextrun, fac_task_nextrun)
@@ -137,6 +145,34 @@ AS
DBMS_SQL.CLOSE_CURSOR (cursor_name); DBMS_SQL.CLOSE_CURSOR (cursor_name);
END IF; END IF;
END; END;
-- Keert terug als er iets interessants in fac_task staat
-- of als timeout is verstreken
PROCEDURE waittask (pinterval NUMBER DEFAULT 5,
ptimeout NUMBER DEFAULT 300)
AS
timeend DATE;
firsttask DATE;
BEGIN
timeend := SYSDATE + ptimeout / 60/60/24;
WHILE timeend > SYSDATE
LOOP
SELECT MIN (fac_task_nextrun)
INTO firsttask
FROM fac_task tt, fac_cust tsko
WHERE tt.fac_cust_key = tsko.fac_cust_key
AND fac_cust_enabled > 0
AND fac_task_nextrun <= SYSDATE
AND BITAND (fac_task_flags, 1) = 1;
IF firsttask <= SYSDATE
THEN
RETURN;
END IF;
DBMS_SESSION.SLEEP(pinterval);
END LOOP;
END;
END tsk; END tsk;
/ /
-- tsk_master_schema needs: -- tsk_master_schema needs:

View File

@@ -53,6 +53,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_model'
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_model_large_context' , 'string' , '' , 'UNUSED! Fallback model for prompts with larger contexts') DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_model_large_context' , 'string' , '' , 'UNUSED! Fallback model for prompts with larger contexts')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_apikey' , 'string' , 'sk-proj-yzeVEAimM50pGzoPSTdmT3BlbkFJM3cBKKfpo0PVEEyBYJwR', 'UNUSED! OpenAI APIKEY for AI services') DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_apikey' , 'string' , 'sk-proj-yzeVEAimM50pGzoPSTdmT3BlbkFJM3cBKKfpo0PVEEyBYJwR', 'UNUSED! OpenAI APIKEY for AI services')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_organization' , 'string' , 'org-6M9EiAUYLBepI30skvLFk39B', 'UNUSED! OpenAI Organization for AI services') DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'openai_organization' , 'string' , 'org-6M9EiAUYLBepI30skvLFk39B', 'UNUSED! OpenAI Organization for AI services')
DEFINE_SETTING('MLD', 0001, 'WEB_PRSSYS', 'mld_opdr_confirm_for_send' , 'number' , '0' , 'Ask confirmation before sending an e-Order to a supplier (0=do not ask| 1=ask)')
-- \Unused -- \Unused
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_otap' , 'string' , 'P' , 'OTAP environment. custenv.wsc overrule only') DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_otap' , 'string' , 'P' , 'OTAP environment. custenv.wsc overrule only')
@@ -64,7 +65,14 @@ DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'sys_ip_restrict_internal'
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_imagecharts_account_id' , 'string' , '' , 'Image-charts account_id (future use)') DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_imagecharts_account_id' , 'string' , '' , 'Image-charts account_id (future use)')
DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_imagecharts_secret_key' , 'string' , '' , 'Image-charts secret_key (future use)') DEFINE_SETTING('FAC', 0000, 'WEB_FACFAC', 'fac_imagecharts_secret_key' , 'string' , '' , 'Image-charts secret_key (future use)')
DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'tsk_master_schema' , 'string' , '' , 'Task master schema name (not necessarily customerId)') DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'licensed_fe_users' , 'number' , '0' , 'Number of licensed frontend users')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'licensed_key_users' , 'number' , '0' , 'Number of licensed key users')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'licensed_device_users' , 'number' , '0' , 'Number of licensed device users')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'licensed_passive_users' , 'number' , '0' , 'Number of licensed passive users')
DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'tsk_master_schema' , 'string' , '' , 'Tasker master schema name (not necessarily customerId)')
DEFINE_SETTING('PUO', 0000, 'WEB_FACTAB', 'tsk_extra_folders' , 'array' , '' , 'Tasker extra folders to start CUST tasks (future use))')
DEFINE_SETTING('FAC', 0000, 'WEB_FACTAB', 'noti_delay_mode' , 'number' , '0' , '0=Notification to bedrijfadres always zero delay, 1=honor fac_srtnotificatie_delay, >1=fixed delay in seconds (eg. 5)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_api2_compatibility' , 'number' , '0' , '0=latest and greatest, bit 1=backwards compatible') DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_api2_compatibility' , 'number' , '0' , '0=latest and greatest, bit 1=backwards compatible')
@@ -106,7 +114,7 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fac_api_allow_impersonate'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_api_key_in_url' , 'boolean' , 'false' , 'Is APIKEY= in url also allowed (unsafe)? Default is header X-Facilitor-API-Key only') DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_api_key_in_url' , 'boolean' , 'false' , 'Is APIKEY= in url also allowed (unsafe)? Default is header X-Facilitor-API-Key only')
DEFINE_SETTING('ALG', 0001, 'WEB_FACFAC', 'fac_betafeatures' , 'number' , '0' , 'Bits for enabling release specific experimental features') DEFINE_SETTING('ALG', 0001, 'WEB_FACFAC', 'fac_betafeatures' , 'number' , '0' , 'Bits for enabling release specific experimental features')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fac_pdf_printer' , 'number' , '0' , 'PDF Printer support bits (future use)') DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fac_pdf_printer' , 'number' , '0' , 'PDF Printer support bits (future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_usrrap_mode' , 'number' , '0' , 'User reports mode {0=default, 1=advanced}') DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'fac_usrrap_mode' , 'number' , '0' , 'User reports mode {0=default, 1=advanced (UDR)}')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fac_usrrap_safe_view_regexp' , 'string' , '' , 'User reports safe views regexp') DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fac_usrrap_safe_view_regexp' , 'string' , '' , 'User reports safe views regexp')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fclt_web_url' , 'string' , '' , 'Url to the Facilitor software (future use)') DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'fclt_web_url' , 'string' , '' , 'Url to the Facilitor software (future use)')
DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'hiresTimer' , 'number' , '1' , 'internal use only') DEFINE_SETTING('FAC', 0001, 'WEB_FACFAC', 'hiresTimer' , 'number' , '1' , 'internal use only')
@@ -210,9 +218,9 @@ DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flexAllowedExt'
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'imgAllowedExt' , 'string' , 'jpg|jpeg|png|gif|bmp' , 'Allowed image extensions') DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'imgAllowedExt' , 'string' , 'jpg|jpeg|png|gif|bmp' , 'Allowed image extensions')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexPreviewExt' , 'string' , '.*\.(jpg|jpeg|png|gif|bmp)$' , 'Extentions of attachments to preview in show_mld') DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flexPreviewExt' , 'string' , '.*\.(jpg|jpeg|png|gif|bmp)$' , 'Extentions of attachments to preview in show_mld')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flex_mimetypes' , 'json' , '{ "jpg": "image/jpeg", "jpeg": "image/jpeg" , "png": "image/png", "bmp": "image/bmp", "gif": "image/gif", "pdf": "application/pdf", "html": "text/html", "eml": "message/rfc822" }', 'Supported streaming mimetypes') DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flex_mimetypes' , 'json' , '{ "jpg": "image/jpeg", "jpeg": "image/jpeg" , "png": "image/png", "bmp": "image/bmp", "gif": "image/gif", "pdf": "application/pdf", "html": "text/html", "eml": "message/rfc822" }', 'Supported streaming mimetypes')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flex_min_size' , 'number' , '64' , 'E-mail attachments smaller (in bytes) than this are silently ignored') DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flex_min_size' , 'number' , '64' , 'E-mail attachments smaller (in bytes) than this are silently ignored')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flex_min_imgsize' , 'number' , '64' , 'Future use. E-mail image attachments smaller (in bytes) than this are silently ignored') DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flex_min_imgsize' , 'number' , '64' , 'E-mail image attachments smaller (in bytes) than this are silently ignored')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'flex_min_imgsize_ext' , 'string' , '.*\.(jpg|jpeg|png|gif|bmp)$' , 'Future use. Small (flex_min_imgsize) E-mail attachments are ignored') DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'flex_min_imgsize_ext' , 'string' , '.*\.(jpg|jpeg|png|gif|bmp)$' , 'Small (flex_min_imgsize) E-mail attachments are ignored')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'mail_subject_undeliverable' , 'string' , '^(Undeliverable:|Message undeliverable:|Onbestelbaar:|Bericht onbestelbaar:)', 'Undeliverable E-mails with bounced this subject are silently ignored') DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'mail_subject_undeliverable' , 'string' , '^(Undeliverable:|Message undeliverable:|Onbestelbaar:|Bericht onbestelbaar:)', 'Undeliverable E-mails with bounced this subject are silently ignored')
DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'mail_subject_ignore' , 'string' , '^(Automatic reply:|Automatisch antwoord:)', 'E-mails with this subject are silently ignored') DEFINE_SETTING('FAC', 0001, 'WEB_FACTAB', 'mail_subject_ignore' , 'string' , '^(Automatic reply:|Automatisch antwoord:)', 'E-mails with this subject are silently ignored')
DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mld_instemmer_self' , 'number' , '0' , 'Fallback option for approving a concept if no consenter is defined or if you are the consenter { 0=No consent needed | 1=Budgetholder | 2=Objectmanager | 4=Departmentmanager | 8=Manager | 16=Buildingmanager}') DEFINE_SETTING('FAC', 0001, 'WEB_PRSSYS', 'mld_instemmer_self' , 'number' , '0' , 'Fallback option for approving a concept if no consenter is defined or if you are the consenter { 0=No consent needed | 1=Budgetholder | 2=Objectmanager | 4=Departmentmanager | 8=Manager | 16=Buildingmanager}')
@@ -844,6 +852,7 @@ DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_pda_room_times'
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_adhoc_threshold' , 'number' , '10' , 'The amount of time (in minutes) before the end of a reservation before an adhoc reservation can be made') DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'res_adhoc_threshold' , 'number' , '10' , 'The amount of time (in minutes) before the end of a reservation before an adhoc reservation can be made')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'msgraph_sync_level' , 'number' , '0' , 'Level of synchronization (Sufficient rights required); { 0: No sync, +1: Facilitor reads from Exchange, +2: Facilitor writes only to Exchange rooms, +4: Facilitor writes to all Exchange users }') DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'msgraph_sync_level' , 'number' , '0' , 'Level of synchronization (Sufficient rights required); { 0: No sync, +1: Facilitor reads from Exchange, +2: Facilitor writes only to Exchange rooms, +4: Facilitor writes to all Exchange users }')
DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'exchange_internal_email_regexp' , 'string' , '*' , 'Regular expression to match internal visitors by; internal visitors are not registered in Facilitor (All visitors are internal by default)') DEFINE_SETTING('RES', 0001, 'WEB_PRSSYS', 'exchange_internal_email_regexp' , 'string' , '*' , 'Regular expression to match internal visitors by; internal visitors are not registered in Facilitor (All visitors are internal by default)')
DEFINE_SETTING('RES', 0001, 'WEB_FACTAB', 'exchange_max_concurrent_notifications' , 'number' , '50' , 'The maximum number of concurrent notifications in progress')
DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'cil_ins_srt_groep_key' , 'number' , '-1' , 'INS_SRTDEEL_KEY of object type Cylinders') DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'cil_ins_srt_groep_key' , 'number' , '-1' , 'INS_SRTDEEL_KEY of object type Cylinders')
DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'sle_cil_koppelen' , 'number' , '1' , 'Sleutels en cilinders zijn door bo handmatig te koppelen {0=nee, 1=ja(default)}') DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'sle_cil_koppelen' , 'number' , '1' , 'Sleutels en cilinders zijn door bo handmatig te koppelen {0=nee, 1=ja(default)}')
DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'sle_ins_srt_groep_key' , 'number' , '-1' , 'INS_SRTDEEL_KEY of object type Keys') DEFINE_SETTING('SLE', 0001, 'WEB_PRSSYS', 'sle_ins_srt_groep_key' , 'number' , '-1' , 'INS_SRTDEEL_KEY of object type Keys')
@@ -915,6 +924,8 @@ DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_sftp' , 'string
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_http' , 'string' , 'Opdracht per SOAP gestuurd naar {0}' , 'Friendly text for http tracking') DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_http' , 'string' , 'Opdracht per SOAP gestuurd naar {0}' , 'Friendly text for http tracking')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_mailto' , 'string' , 'Opdracht per e-mail gestuurd naar {0}' , 'Friendly text for mail tracking') DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_friendly_mailto' , 'string' , 'Opdracht per e-mail gestuurd naar {0}' , 'Friendly text for mail tracking')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_tracknoti' , 'string' , 'Notificatie {0} verstuurd aan {1}' , 'Friendly text for notification mail tracking') DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_tracknoti' , 'string' , 'Notificatie {0} verstuurd aan {1}' , 'Friendly text for notification mail tracking')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_tracknoti_sys' , 'string' , 'Notificatie {0} verstuurd naar {1}' , 'Friendly text for system tracking {0} is notification, {1} is company')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_lcl_tracknoti_sys_fail' , 'string' , ' (na {0} gefaalde poging(en))' , 'Friendly text for system tracking failing')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefix' , 'string' , 'Facilitor bestelling: Bestelopdracht nr.' , 'Mail subject prefix for BES orders (to be followed by ordernr)') DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefix' , 'string' , 'Facilitor bestelling: Bestelopdracht nr.' , 'Mail subject prefix for BES orders (to be followed by ordernr)')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefixcnt' , 'string' , 'Facilitor contract nr.' , 'Mail subject prefix for CNT') DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefixcnt' , 'string' , 'Facilitor contract nr.' , 'Mail subject prefix for CNT')
DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefixres' , 'string' , 'Facilitor reservering nr.' , 'Mail subject prefix for RES') DEFINE_SETTING('PUO', 0001, 'WEB_PRSSYS', 'puo_subjectprefixres' , 'string' , 'Facilitor reservering nr.' , 'Mail subject prefix for RES')

View File

@@ -397,12 +397,25 @@ BEGIN
-- Always clear the notify_to_statinfo bit, even when no :new.prs_perslid_key_receiver -- Always clear the notify_to_statinfo bit, even when no :new.prs_perslid_key_receiver
:NEW.fac_notificatie_status := BITAND (:NEW.fac_notificatie_status, 255 - 1); :NEW.fac_notificatie_status := BITAND (:NEW.fac_notificatie_status, 255 - 1);
:NEW.fac_notificatie_queue:=UPPER(:NEW.fac_notificatie_queue); :NEW.fac_notificatie_queue:=UPPER(:NEW.fac_notificatie_queue);
END;
/
IF BITAND(:NEW.fac_notificatie_status, 255 - 64) > 0 -- Alleen custom-queue negeren we CREATE_TRIGGER(fac_t_fac_notificatie_A_IU)
OR :NEW.prs_bedrijfadres_key IS NOT NULL AFTER INSERT OR UPDATE
OR :NEW.fac_notificatie_systeemadres IS NOT NULL ON fac_notificatie
FOR EACH ROW
BEGIN
IF INSERTING OR UPDATING ('fac_notificatie_notbefore')
THEN THEN
tsk.starttask(p_taskcode => 'PUTORDERS', p_nextrun => :NEW.fac_notificatie_notbefore); IF BITAND(:NEW.fac_notificatie_status, 2 + 4 + 32) > 0 -- Alleen EMAIL, SMS of APPPUSH
OR :NEW.prs_bedrijfadres_key IS NOT NULL
OR :NEW.fac_notificatie_systeemadres IS NOT NULL
THEN
tsk.starttask(p_taskcode => 'PUTORDERS', p_nextrun => :NEW.fac_notificatie_notbefore);
ELSIF :NEW.fac_notificatie_queue = 'EXCHANGE' -- future use
THEN
tsk.starttask(p_taskcode => 'EXCHANGE', p_nextrun => :NEW.fac_notificatie_notbefore);
END IF;
END IF; END IF;
END; END;
/ /
@@ -583,16 +596,21 @@ CREATE_TRIGGER(fac_t_fac_tracking_b_i)
END IF; END IF;
-- dit event moet mogelijk ook actief worden genotificeerd, -- dit event moet mogelijk ook actief worden genotificeerd,
-- dat kan expliciet worden onderdrukt door de omschrijving te prefixen met een # -- dat kan expliciet worden onderdrukt door de omschrijving te prefixen met een # of @
IF SUBSTR(:new.fac_tracking_oms, 1, 1) = '#' IF SUBSTR(:new.fac_tracking_oms, 1, 1) = '#'
THEN THEN
-- bedoeld om te onderdrukken, maar moeten we wel weer verwijderen -- bedoeld om te onderdrukken, maar moeten we wel weer verwijderen
:new.fac_tracking_oms := SUBSTR(:new.fac_tracking_oms, 2); :new.fac_tracking_oms := SUBSTR(:new.fac_tracking_oms, 2);
-- En nu dus niet notificeren -- En nu dus niet notificeren
NULL; NULL;
ELSIF SUBSTR(:new.fac_tracking_oms, 1, 1) = '@' -- Technische adressen niet notificeren, wel personen
THEN
:new.fac_tracking_oms := SUBSTR(:new.fac_tracking_oms, 2);
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey, :new.fac_tracking_key);
-- geen newkey assignment zodat zo geen fac.notifytrackingbedrijven volgt
ELSE ELSE
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey, :new.fac_tracking_key); fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey, :new.fac_tracking_key);
newkey := :new.fac_tracking_key; newkey := :new.fac_tracking_key;
END IF; END IF;
END BEFORE EACH ROW; END BEFORE EACH ROW;

View File

@@ -619,67 +619,48 @@ AS
-- Notificatie voor opdrachten in de queue die al meer dan S(puo_failalert_threshold) minuten gefaald zijn -- Notificatie voor opdrachten in de queue die al meer dan S(puo_failalert_threshold) minuten gefaald zijn
CREATE_VIEW(fac_v_noti_facorderqueuefails, 0) CREATE_VIEW(fac_v_noti_facorderqueuefails, 0)
( (
sender,
receiver, receiver,
text, text
par1,
code,
key,
xkey, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key
) )
AS AS
SELECT '', SELECT wg.prs_perslid_key,
wg.prs_perslid_key, LTRIM (lcl.L ('lcl_facilitor_appl'))
LTRIM(lcl.L('lcl_facilitor_appl')) || ' alert: transmission of ' || ' alert: transmission of '
|| DECODE ( || DECODE (fac_srtnotificatie_xmlnode,
fac_srtnotificatie_code, 'opdracht', 'Order '
'ORDSNX', || (SELECT mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr
'Order ' FROM mld_opdr o
|| (SELECT mld_melding_key WHERE mld_opdr_key = fac_notificatie_refkey),
|| '/' 'bestelopdr', 'Procurement order '
|| mld_opdr_bedrijfopdr_volgnr || (SELECT bes_bestelopdr_id
|| ' to ' FROM bes_bestelopdr o
|| COALESCE (prs_bedrijf_naam, '??') WHERE bes_bestelopdr_key = fac_notificatie_refkey),
FROM mld_opdr o, prs_bedrijf b fac_notificatie_refkey)
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key(+) AND mld_opdr_key = key), || ' to '
'BES2SX', || COALESCE ((SELECT (prs_bedrijf_naam)
'Procurement order ' FROM prs_bedrijf b, prs_bedrijfadres pba
|| (SELECT bes_bestelopdr_id || ' to ' || prs_bedrijf_naam WHERE b.prs_bedrijf_key = pba.prs_bedrijf_key
FROM bes_bestelopdr o, prs_bedrijf b AND pba.prs_bedrijfadres_key = q.prs_bedrijfadres_key),
WHERE o.prs_bedrijf_key = b.prs_bedrijf_key AND bes_bestelopdr_key = key), '??')
key) || ' has failed '
|| ' has failed ' || fac_notificatie_failcount
|| COUNT ( * ) || ' times since '
|| ' times since ' || TO_CHAR (q.fac_notificatie_datum, 'DD-MM-YYYY HH24:MI')
|| TO_CHAR (MIN (ft.fac_tracking_datum), 'DD-MM-YYYY HH24:MI') || ' ('
|| ' (' || MIN(fac_version_cust) || ')', || fac_version_cust
NULL, || ')'
NULL, FROM fac_notificatie q,
NULL, fac_srtnotificatie fs,
NULL fac_functie f,
, NULL xemail fac_v_webgebruiker wg,
, NULL xmobile fac_version
, NULL fac_srtnotificatie_key WHERE f.fac_functie_key = wg.fac_functie_key
, NULL attachments AND f.fac_functie_code = 'WEB_PRSSYS'
, NULL xsender AND q.fac_srtnotificatie_key = fs.fac_srtnotificatie_key
, NULL prs_bedrijfadres_key AND BITAND (q.fac_notificatie_status, 64) = 0
FROM fac_v_orderqueue q, AND (q.prs_bedrijfadres_key IS NOT NULL OR q.fac_notificatie_systeemadres IS NOT NULL)
fac_tracking ft, AND q.fac_notificatie_failcount > 0
fac_srtnotificatie fs, AND (SYSDATE - q.fac_notificatie_datum) * 24 * 60 > fac.getSetting ('puo_failalert_threshold');
fac_functie f,
fac_v_webgebruiker wg,
fac_version
WHERE f.fac_functie_key = wg.fac_functie_key
AND f.fac_functie_code = 'WEB_PRSSYS'
AND ft.fac_srtnotificatie_key = fs.fac_srtnotificatie_key
AND ft.fac_tracking_refkey = q.key
AND fac_srtnotificatie_code IN ('ORDSNX', 'BES2SX')
GROUP BY xmlnode,
key,
fac_srtnotificatie_code,
wg.prs_perslid_key
HAVING (SYSDATE - MIN (ft.fac_tracking_datum)) * 24 * 60 > fac.getSetting('puo_failalert_threshold');
-- dagelijkse notificatie voor verwoede inlogpogingen (1 regel per user beetje veel misschien) -- dagelijkse notificatie voor verwoede inlogpogingen (1 regel per user beetje veel misschien)
CREATE OR REPLACE FORCE VIEW fac_v_noti_auditfail_day CREATE OR REPLACE FORCE VIEW fac_v_noti_auditfail_day

View File

@@ -183,6 +183,8 @@ AS
, TO_CHAR(id.ins_deel_vervaldatum,'dd-mm-yyyy') Vervaldatum , TO_CHAR(id.ins_deel_vervaldatum,'dd-mm-yyyy') Vervaldatum
, id.ins_deel_aantal Aantal , id.ins_deel_aantal Aantal
, id.ins_deel_externnr Externnr , id.ins_deel_externnr Externnr
, NULL Parentobjectsoortomschr
, NULL Parentobjectidentificatie
, NULL Kenmerk1 , NULL Kenmerk1
, NULL Kenmerk2 , NULL Kenmerk2
, NULL Kenmerk3 , NULL Kenmerk3
@@ -214,8 +216,8 @@ AS
, res_deel rd , res_deel rd
, res_discipline r , res_discipline r
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
AND d.alg_locatie_key = l.alg_locatie_key AND d.alg_locatie_key = l.alg_locatie_key(+)
AND d.alg_gebouw_key = g.alg_gebouw_key AND d.alg_gebouw_key = g.alg_gebouw_key(+)
AND d.ins_deel_key = id.ins_deel_key AND d.ins_deel_key = id.ins_deel_key
AND d.ins_discipline_key = i.ins_discipline_key AND d.ins_discipline_key = i.ins_discipline_key
AND id.ins_deel_key = rd.res_ins_deel_key(+) AND id.ins_deel_key = rd.res_ins_deel_key(+)
@@ -275,6 +277,11 @@ SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype
AND sm.prs_kostensoort_key = ks.prs_kostensoort_key(+) AND sm.prs_kostensoort_key = ks.prs_kostensoort_key(+)
AND sm.mld_typeopdr_key = mt.mld_typeopdr_key(+) AND sm.mld_typeopdr_key = mt.mld_typeopdr_key(+)
AND sm.prs_dienst_key = pd.prs_dienst_key(+) AND sm.prs_dienst_key = pd.prs_dienst_key(+)
AND sm.mld_stdmelding_verwijder IS NULL
AND ( sm.mld_stdmelding_vervaldatum IS NULL
OR sm.mld_stdmelding_vervaldatum > SYSDATE)
AND md.ins_discipline_verwijder IS NULL
AND sd.ins_srtdiscipline_verwijder IS NULL
; ;
-- import: FIP: 1-Aanvullen districten t/m gebouwen -- import: FIP: 1-Aanvullen districten t/m gebouwen

View File

@@ -62,7 +62,7 @@ PROJEXE=z:\Project\FACILITOR\BUILD
## ##
CURRENTVERSION=49 CURRENTVERSION=49
NEXTVERSION=50 NEXTVERSION=50
FILEVERSION= FILEVERSION=a
NEXTROOT=DB$(NEXTVERSION)$(FILEVERSION) NEXTROOT=DB$(NEXTVERSION)$(FILEVERSION)
CURRENTUPDATE=DB$(CURRENTVERSION)to$(NEXTVERSION) CURRENTUPDATE=DB$(CURRENTVERSION)to$(NEXTVERSION)

View File

@@ -716,7 +716,7 @@ CREATE_TABLE(ins_deelsrtcontrole, 0)
VARCHAR(4000 CHAR), VARCHAR(4000 CHAR),
ins_deelsrtcontrole_plandatum ins_deelsrtcontrole_plandatum
DATE, DATE,
ins_deelsrtcontrole_status // (vooralsnog 0;Ingepland 2;Gestart/In behandeling 5;Afgemeld/Gereed gemeld; 6;Afgerond) ins_deelsrtcontrole_status // (vooralsnog 0;Ingepland 2;Gestart/In behandeling 3;Ter uitvoering 5;Afgemeld/Gereed gemeld; 6;Afgerond)
NUMBER(1) NUMBER(1)
DEFAULT (6) DEFAULT (6)
CONSTRAINT ins_c_deelsrtcontrole_status NOT NULL, CONSTRAINT ins_c_deelsrtcontrole_status NOT NULL,

View File

@@ -42,47 +42,49 @@ AS
/* Voor onderdelen de plaats/eigenaar van de parent. */ /* Voor onderdelen de plaats/eigenaar van de parent. */
CREATE_VIEW(ins_v_deelenonderdeel, 0) CREATE_VIEW(ins_v_deelenonderdeel, 0)
AS AS
SELECT ins_deel_key, SELECT dl.ins_deel_key,
ins_deel_module, dl.ins_deel_module,
ins_srtdeel_key, dl.ins_srtdeel_key,
(COALESCE(dl.ins_alg_ruimte_key, (SELECT d2.ins_alg_ruimte_key FROM ins_deel d2 WHERE d2.ins_deel_key = dl.ins_deel_parent_key))) ins_alg_ruimte_key, COALESCE(dl.ins_alg_ruimte_key, parent_deel.ins_alg_ruimte_key) ins_alg_ruimte_key,
(COALESCE(dl.ins_alg_ruimte_type, (SELECT d2.ins_alg_ruimte_type FROM ins_deel d2 WHERE d2.ins_deel_key = dl.ins_deel_parent_key))) ins_alg_ruimte_type, COALESCE(dl.ins_alg_ruimte_type, parent_deel.ins_alg_ruimte_type) ins_alg_ruimte_type,
ins_deel_aantal, dl.ins_deel_aantal,
ins_deel_omschrijving, dl.ins_deel_omschrijving,
ins_deel_opmerking, dl.ins_deel_opmerking,
ins_deel_upper, dl.ins_deel_upper,
ins_deel_aanmaak, dl.ins_deel_aanmaak,
ins_deel_vervaldatum, dl.ins_deel_vervaldatum,
ins_deel_verwijder, dl.ins_deel_verwijder,
ins_deel_getekend, dl.ins_deel_getekend,
ins_discipline_key, dl.ins_discipline_key,
ins_alg_locatie_key, dl.ins_alg_locatie_key,
ins_deel_parent_key, dl.ins_deel_parent_key,
ins_deel_omtrek, dl.ins_deel_omtrek,
ins_deel_oppervlak, dl.ins_deel_oppervlak,
ins_deel_dwgx, dl.ins_deel_dwgx,
ins_deel_dwgy, dl.ins_deel_dwgy,
ins_deel_dwgz, dl.ins_deel_dwgz,
ins_deel_dwgrotatie, dl.ins_deel_dwgrotatie,
ins_deel_dwgschaal, dl.ins_deel_dwgschaal,
ins_deel_x, dl.ins_deel_x,
ins_deel_y, dl.ins_deel_y,
ins_alg_ruimte_key_org, dl.ins_alg_ruimte_key_org,
ins_alg_ruimte_type_org, dl.ins_alg_ruimte_type_org,
ins_deel_state, dl.ins_deel_state,
ins_deel_statedate, dl.ins_deel_statedate,
ins_deel_t_uitvoertijd, dl.ins_deel_t_uitvoertijd,
ins_deel_actief, dl.ins_deel_actief,
ins_deel_image, dl.ins_deel_image,
ins_deel_mjb_score1, dl.ins_deel_mjb_score1,
ins_deel_mjb_score2, dl.ins_deel_mjb_score2,
ins_deel_externnr, dl.ins_deel_externnr,
ins_deel_externsyncdate, dl.ins_deel_externsyncdate,
ins_deel_flag, dl.ins_deel_flag,
prs_perslid_key_beh, dl.prs_perslid_key_beh,
res_rsv_deel_key, dl.res_rsv_deel_key,
bes_bestelopdr_key dl.bes_bestelopdr_key
FROM ins_deel dl; FROM ins_deel dl
LEFT OUTER JOIN ins_deel parent_deel
ON parent_deel.ins_deel_key = dl.ins_deel_parent_key;
/* Views met ins_deel moeten voorwaarde : "AND ins_deel_parent_key IS NULL" bevatten... */ /* Views met ins_deel moeten voorwaarde : "AND ins_deel_parent_key IS NULL" bevatten... */
DEFINIEER_VIEW_AANWEZIG(ins_deel, ins_deel_verwijder, DEFINIEER_VIEW_AANWEZIG(ins_deel, ins_deel_verwijder,

View File

@@ -25,9 +25,11 @@ CREATE OR REPLACE PACKAGE mld AS
PROCEDURE notifyprio (pmeldingkey IN NUMBER, prio IN NUMBER, pperslid_key IN NUMBER, pdisc_level IN NUMBER DEFAULT 1); PROCEDURE notifyprio (pmeldingkey IN NUMBER, prio IN NUMBER, pperslid_key IN NUMBER, pdisc_level IN NUMBER DEFAULT 1);
PROCEDURE notifyopdrgoedkeurders (popdrkey IN NUMBER); PROCEDURE notifyopdrgoedkeurders (popdrkey IN NUMBER);
PROCEDURE notifyopdrbedrijven (popdrkey NUMBER, PROCEDURE notifyopdrbedrijven (popdrkey NUMBER,
ptrackingkey NUMBER); ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL);
PROCEDURE notifymeldingbedrijven (pmldkey NUMBER, PROCEDURE notifymeldingbedrijven (pmldkey NUMBER,
ptrackingkey NUMBER); ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL);
FUNCTION getinstemmer (pmldkey IN NUMBER) RETURN NUMBER; FUNCTION getinstemmer (pmldkey IN NUMBER) RETURN NUMBER;
PROCEDURE notifyinstemmer (pmldkey IN NUMBER); PROCEDURE notifyinstemmer (pmldkey IN NUMBER);
FUNCTION mld_besteed_budget_pgb (p_prs_key IN NUMBER, p_disc_key IN NUMBER) FUNCTION mld_besteed_budget_pgb (p_prs_key IN NUMBER, p_disc_key IN NUMBER)
@@ -526,9 +528,9 @@ CREATE OR REPLACE PACKAGE BODY mld AS
THEN THEN
newstatus := pstatus; newstatus := pstatus;
eventcode := 'ORDNEW'; eventcode := 'ORDNEW';
IF teverzenden IS NULL OR teverzenden = 1 -- gebruiker heeft aangegeven 'niet versturen' IF l_notificeren = 1 AND (teverzenden IS NULL OR teverzenden = 0) -- gebruiker heeft aangegeven 'niet versturen'
THEN THEN
l_notificeren := 0; l_notificeren := 2; -- alleen niet naar technisch adres
END IF; END IF;
END IF; END IF;
WHEN 6 -- Proces Technisch voltooid (TV) (Afgemeld) WHEN 6 -- Proces Technisch voltooid (TV) (Afgemeld)
@@ -601,6 +603,10 @@ CREATE OR REPLACE PACKAGE BODY mld AS
THEN THEN
eventcode := '#' || eventcode; eventcode := '#' || eventcode;
END IF; END IF;
IF l_notificeren = 2 AND eventcode IS NOT NULL
THEN
eventcode := '@' || eventcode; -- Niet naar technisch adres, wel naar personen
END IF;
fac.trackaction (eventcode, popdrachtkey, puserkey, NULL, NULL, new_fac_tracking_key); fac.trackaction (eventcode, popdrachtkey, puserkey, NULL, NULL, new_fac_tracking_key);
IF popdr_note_key IS NOT NULL IF popdr_note_key IS NOT NULL
THEN THEN
@@ -1426,7 +1432,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
-- in het bijzonder de uitvoerende maar het mag ook een -- in het bijzonder de uitvoerende maar het mag ook een
-- ander 'subscribed' bedrijf zijn (bedrijfadres_type 'G'). -- ander 'subscribed' bedrijf zijn (bedrijfadres_type 'G').
PROCEDURE notifyopdrbedrijven (popdrkey NUMBER, PROCEDURE notifyopdrbedrijven (popdrkey NUMBER,
ptrackingkey NUMBER) ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL)
AS AS
BEGIN BEGIN
FOR bedrijfrec FOR bedrijfrec
@@ -1469,12 +1476,15 @@ CREATE OR REPLACE PACKAGE BODY mld AS
ptypeopdr_key => bedrijfrec.mld_typeopdr_key, ptypeopdr_key => bedrijfrec.mld_typeopdr_key,
plocatie_key => bedrijfrec.alg_locatie_key, plocatie_key => bedrijfrec.alg_locatie_key,
pdisc_key => bedrijfrec.mld_opdr_discipline_key, pdisc_key => bedrijfrec.mld_opdr_discipline_key,
psender => bedrijfrec.alg_locatie_email); psender => bedrijfrec.alg_locatie_email,
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
pnotidelay => pnotidelay);
END LOOP; END LOOP;
END; END;
PROCEDURE notifymeldingbedrijven (pmldkey NUMBER, PROCEDURE notifymeldingbedrijven (pmldkey NUMBER,
ptrackingkey NUMBER) ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL)
AS AS
BEGIN BEGIN
FOR bedrijfrec FOR bedrijfrec
@@ -1513,7 +1523,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
preference => bedrijfrec.reference, preference => bedrijfrec.reference,
plocatie_key => bedrijfrec.alg_locatie_key, plocatie_key => bedrijfrec.alg_locatie_key,
pdisc_key => bedrijfrec.mld_ins_discipline_key, pdisc_key => bedrijfrec.mld_ins_discipline_key,
psender => bedrijfrec.alg_locatie_email); psender => bedrijfrec.alg_locatie_email,
pnotidelay => pnotidelay);
END LOOP; END LOOP;
END; END;

View File

@@ -465,6 +465,7 @@ BEGIN
ptypeopdr_key => :NEW.mld_typeopdr_key, ptypeopdr_key => :NEW.mld_typeopdr_key,
plocatie_key => bedrijfrec.alg_locatie_key, plocatie_key => bedrijfrec.alg_locatie_key,
pdisc_key => :NEW.mld_opdr_discipline_key, pdisc_key => :NEW.mld_opdr_discipline_key,
pbedrijf_key2 => bedrijfrec.persoon_bedrijf_key,
psender => bedrijfrec.alg_locatie_email); psender => bedrijfrec.alg_locatie_email);
END LOOP; END LOOP;
END IF; END IF;

View File

@@ -42,7 +42,7 @@ CREATE OR REPLACE PACKAGE res AS
FUNCTION notifypool (pbez_bezoeker_key IN NUMBER, pcode IN VARCHAR2) RETURN NUMBER; FUNCTION notifypool (pbez_bezoeker_key IN NUMBER, pcode IN VARCHAR2) RETURN NUMBER;
PROCEDURE notifybackoffice (prsvkey IN NUMBER, pcode IN VARCHAR2, ptype IN VARCHAR2 DEFAULT NULL, pkey IN NUMBER DEFAULT NULL); PROCEDURE notifybackoffice (prsvkey IN NUMBER, pcode IN VARCHAR2, ptype IN VARCHAR2 DEFAULT NULL, pkey IN NUMBER DEFAULT NULL);
PROCEDURE remove(p_rsv_ruimte_key IN NUMBER); PROCEDURE remove(p_rsv_ruimte_key IN NUMBER);
PROCEDURE notifyreserveringbedrijven (prsvkey NUMBER, ptrackingkey NUMBER); PROCEDURE notifyreserveringbedrijven (prsvkey NUMBER, ptrackingkey NUMBER, pnotidelay NUMBER DEFAULT NULL);
END res; END res;
/ /
@@ -2552,7 +2552,8 @@ AS
END; END;
PROCEDURE notifyreserveringbedrijven (prsvkey NUMBER, PROCEDURE notifyreserveringbedrijven (prsvkey NUMBER,
ptrackingkey NUMBER) ptrackingkey NUMBER,
pnotidelay NUMBER DEFAULT NULL)
AS AS
BEGIN BEGIN
FOR bedrijfrec FOR bedrijfrec
@@ -2595,7 +2596,8 @@ AS
prefkey => prsvkey, prefkey => prsvkey,
ptrackingkey => ptrackingkey, ptrackingkey => ptrackingkey,
preference => bedrijfrec.reference, preference => bedrijfrec.reference,
plocatie_key => bedrijfrec.alg_locatie_key); plocatie_key => bedrijfrec.alg_locatie_key,
pnotidelay => pnotidelay);
END LOOP; END LOOP;
END; END;
END res; END res;

View File

@@ -681,8 +681,7 @@ CREATE_VIEW(res_v_udr_reservering, 1)
opmerking, opmerking,
visibility, visibility,
ruimte_prijs, ruimte_prijs,
ruimte_korting, ruimte_korting
ruimte_totaal
) )
AS AS
SELECT rrr.res_rsv_ruimte_key, SELECT rrr.res_rsv_ruimte_key,
@@ -859,9 +858,8 @@ AS
rsa.res_srtactiviteit_omschrijving, rsa.res_srtactiviteit_omschrijving,
rrr.res_rsv_ruimte_opmerking, rrr.res_rsv_ruimte_opmerking,
rrr.res_rsv_ruimte_visibility, rrr.res_rsv_ruimte_visibility,
rrr.res_rsv_ruimte_prijs, res.getruimteprijs(rrr.res_rsv_ruimte_key),
rrr.res_rsv_ruimte_korting, rrr.res_rsv_ruimte_korting
rrr.res_rsv_ruimte_totaal
FROM res_v_aanwezigrsv_ruimte rrr, FROM res_v_aanwezigrsv_ruimte rrr,
res_activiteit ra, res_activiteit ra,
res_srtactiviteit rsa, res_srtactiviteit rsa,

View File

@@ -71,6 +71,14 @@ ALTER TABLE prs_bedrijfadres
ALTER TABLE prs_bedrijf DROP CONSTRAINT prs_c_prs_bedrijf_intern; // mag ook 2 zijn ALTER TABLE prs_bedrijf DROP CONSTRAINT prs_c_prs_bedrijf_intern; // mag ook 2 zijn
ALTER PACKAGE fac COMPILE; // anders (mogelijk nog) invalid en lukt het volgende niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE prs_bedrijf
SET prs_bedrijf_intern = 2, // is nu logischer
prs_bedrijf_uitvoerende = NULL
WHERE prs_bedrijf_naam = 'Aareon Facilitor Mobile app';
ALTER TABLE prs_contactpersoon ALTER TABLE prs_contactpersoon
ADD prs_contactpersoon_systeem ADD prs_contactpersoon_systeem
NUMBER(1) DEFAULT 0 NOT NULL; NUMBER(1) DEFAULT 0 NOT NULL;
@@ -109,6 +117,10 @@ DEF_FAC_SRTNOT('RESSND', 1, 'lcl_noti_RESSND', 'res/res_reservering.asp?rsv_ruim
DEF_MENUITEM(2, 'lcl_menu_prs_bedrijf_system' , '', 'FAC', 'appl/prs/prs_bedrijf_search.asp?intern=2', 0, 0, 'WEB_PRSSYS', 'W', '1', ''); DEF_MENUITEM(2, 'lcl_menu_prs_bedrijf_system' , '', 'FAC', 'appl/prs/prs_bedrijf_search.asp?intern=2', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_prs_bedrijf_system', 'lcl_menu_fac_eigen_tabellen', 1); MENU_INS_AFTER('lcl_menu_prs_bedrijf_system', 'lcl_menu_fac_eigen_tabellen', 1);
DEF_MENUITEM(2, 'lcl_menu_system_adresses' , '', 'FAC', 'appl/mgt/prs_bedrijfadres.asp', 0, 0, 'WEB_PRSSYS', 'W', '1', '');
MENU_INS_AFTER('lcl_menu_system_adresses', 'lcl_menu_prs_bedrijf_system', 1);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#80469 /////////////////////////////////////////////////////////////////////////////////////////// FCLT#80469
@@ -316,6 +328,12 @@ ALTER TABLE mld_typeopdr
NUMBER(1) NUMBER(1)
DEFAULT 0; DEFAULT 0;
ALTER PACKAGE fac COMPILE; // anders (mogelijk nog) invalid en lukt het volgende niet
ALTER PACKAGE fac COMPILE BODY;
UPDATE mld_typeopdr
SET mld_typeopdr_confirm_for_send = fac.getsetting('mld_opdr_confirm_for_send');
/////////////////////////////////////////////////////////////////////////////////////////// CARG#85437 /////////////////////////////////////////////////////////////////////////////////////////// CARG#85437
ALTER TABLE bes_disc_params ALTER TABLE bes_disc_params
ADD bes_disc_params_autodeliverdays ADD bes_disc_params_autodeliverdays
@@ -337,6 +355,9 @@ UPDATE fac_setting
ALTER TABLE prs_bedrijf DROP CONSTRAINT prs_u_prs_bedrijf_naam_upper DROP INDEX; ALTER TABLE prs_bedrijf DROP CONSTRAINT prs_u_prs_bedrijf_naam_upper DROP INDEX;
ALTER TABLE prs_bedrijf ADD CONSTRAINT prs_u_prs_bedrijf_naam_upper UNIQUE(prs_bedrijf_naam_upper, prs_bedrijf_intern, prs_bedrijf_verwijder); ALTER TABLE prs_bedrijf ADD CONSTRAINT prs_u_prs_bedrijf_naam_upper UNIQUE(prs_bedrijf_naam_upper, prs_bedrijf_intern, prs_bedrijf_verwijder);
/////////////////////////////////////////////////////////////////////////////////////////// WRTH#87857
UPDATE fac_import_app SET fac_import_app_csv = 1 WHERE fac_import_app_code = 'CNT';
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000 /////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000
REGISTERONCE('$Id$') REGISTERONCE('$Id$')