Merge DB49a patches (ongoing)

svn path=/Database/trunk/; revision=66698
This commit is contained in:
2024-10-18 10:06:48 +00:00
15 changed files with 685 additions and 451 deletions

View File

@@ -348,6 +348,7 @@ AS
v_organizer VARCHAR2 (200);
v_att_mail VARCHAR2 (200);
v_att_name VARCHAR2 (200);
v_visibility VARCHAR2 (100);
v_modifier VARCHAR2 (100);
v_appt_id VARCHAR2 (500);
v_recur_id VARCHAR2 (500);
@@ -418,10 +419,20 @@ AS
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_organizer);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 5, v_att_mail);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 6, v_att_name);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_modifier);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 8, v_appt_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_recur_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_seq_nr);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_visibility);
IF (v_visibility IN ('C', 'U', 'D')) -- De modifier is in v_visibility opgeslagen; nog even in backwards-compatibility-mode blijven
THEN
v_visibility := '1';
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_modifier);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 8, v_appt_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_recur_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_seq_nr);
ELSE
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 8, v_modifier);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_appt_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_recur_id);
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 11, v_seq_nr);
END IF;
v_aanduiding := '[' || v_room_id || '|' || v_starttime || '|' || v_att_mail || '] ';
@@ -539,6 +550,7 @@ AS
organizer,
att_mail,
att_name,
visibility,
modifier,
appt_id,
recur_id,
@@ -551,6 +563,7 @@ AS
v_organizer,
v_att_mail,
v_att_name,
v_visibility,
v_modifier,
v_appt_id,
v_recur_id,
@@ -860,6 +873,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier,
appt_id,
recur_id
@@ -880,6 +894,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier) i,
res_rsv_ruimte rr,
res_ruimte rnew
@@ -905,6 +920,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier,
appt_id,
recur_id,
@@ -928,6 +944,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier) i,
res_v_aanwezigruimte r
WHERE i.room_id = r.res_ruimte_extern_id
@@ -938,6 +955,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier,
appt_id,
recur_id,
@@ -961,6 +979,7 @@ AS
starttime,
endtime,
organizer,
visibility,
modifier) i,
res_v_aanwezigruimte r
WHERE i.room_id = r.res_ruimte_extern_id
@@ -1370,6 +1389,7 @@ AS
IF ( v_ruimte_extern_id != rec.res_ruimte_extern_id
OR rec.res_rsv_ruimte_omschrijving !=
SUBSTR (rec.subject, 1, 60)
OR rec.res_rsv_ruimte_visibility != rec.visibility
OR rec.res_rsv_ruimte_van != rec.starttime
OR rec.res_rsv_ruimte_tot != rec.endtime)
THEN
@@ -1393,7 +1413,8 @@ AS
res_rsv_ruimte_omschrijving =
SUBSTR (rec.subject, 1, 60),
res_rsv_ruimte_van = rec.starttime,
res_rsv_ruimte_tot = rec.endtime
res_rsv_ruimte_tot = rec.endtime,
res_rsv_ruimte_visibility = rec.visibility
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
-- Opruimen en voorzieningen en bezoekers laten volgen
@@ -1643,6 +1664,7 @@ AS
res_rsv_ruimte_kosten_klant,
res_rsv_ruimte_contact_key,
res_rsv_ruimte_bezoekers,
res_rsv_ruimte_visibility,
res_reservering_key,
res_rsv_ruimte_volgnr,
res_status_bo_key)
@@ -1663,6 +1685,7 @@ AS
1,
v_perslid_key,
rec.num_bez,
rec.visibility,
v_reservering_key,
v_rsv_ruimte_volgnr,
2)

View File

@@ -22,6 +22,9 @@ CREATE_TABLE(exc_import, 0)
VARCHAR2(200),
att_name
VARCHAR2(200),
visibility -- 0=Private, 1=Normal
NUMBER(4)
DEFAULT 1,
modifier
VARCHAR2(1),
appt_id
@@ -34,7 +37,8 @@ CREATE_TABLE(exc_import, 0)
NUMBER(10)
CONSTRAINT exc_r_fac_import_key1 REFERENCES fac_import(fac_import_key) ON DELETE CASCADE,
gelukt
NUMBER(1)
NUMBER(1),
CONSTRAINT exc_c_visibility CHECK (modifier = 'D' OR visibility IS NOT NULL)
);
REGISTERONCE('$Id$')

View File

@@ -2467,7 +2467,7 @@ DEF_IMPORT('WEB_PRSSYS', 'EXT_BEDRIJF', 'FIP: Aanvullen externe bedrijve
DEF_IMPORT('WEB_PRSSYS', 'CONTACTPERSOON', 'FIP: Aanvullen contactpersonen', 'FIP: Add contacts', 0)
DEF_IMPORT('WEB_FINFOF', 'FACTUUR', 'Standaard import van facturenbestand van leverancier(s)', 'Standard import of invoice file from supplier(s)', 0)
DEF_IMPORT('WEB_BESMSU', 'CATALOGUS', 'Vervangen(!) bestelcatalogi (generiek)', 'Replacement(!) purchase order catalogs (generic)', 0)
DEF_IMPORT('WEB_INSMGT', 'TAAK_MJOB', 'Import MJOB', 'Import MJOB', 0)
DEF_IMPORT('WEB_INSMGT', 'TAAK_MJOB', 'Import MJOB', 'Import MJOB', 1)
// TRANSPORT functies
DEF_IMPORT('WEB_PRSSYS', 'MENU', 'TRANSPORT: Menustructuur', 'TRANSPORT: Menu structure', 0)
@@ -2866,7 +2866,7 @@ DEF_MENUITEM(2, 'lcl_menu_ctr_disciplines' , '', 'CTR', 'appl/mgt/ctr_disci
DEF_MENUITEM(2, 'lcl_menu_ins_controlemode' , '', 'INS', 'appl/mgt/ins_controlemode.asp', 0, 0, 'WEB_INSMGT', 'W', '1', ''); // je zou zeggen CTR, maar vast iets met ins_disciplines
DEF_MENUITEM(2, 'lcl_menu_ins_srtcontrole' , '', 'INS', 'appl/mgt/ins_srtcontrole.asp', 0, 0, 'WEB_INSMGT', 'W', '1', ''); // je zou zeggen CTR, maar vast iets met ins_disciplines
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerken' , '', 'INS', 'appl/mgt/ins_kenmerk.asp', 0, 0, 'WEB_INSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_ins_taakkenmerken' , '', 'INS', 'appl/mgt/ins_kenmerk.asp?niveau=T', 0, 0, 'WEB_INSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_ins_taakkenmerken' , '', 'CTR', 'appl/mgt/ins_kenmerk.asp?niveau=T', 0, 0, 'WEB_CTRMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerksoorten' , '', 'INS', 'appl/mgt/ins_srtkenmerk.asp', 0, 0, 'WEB_INSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_ins_kenmerkdomeinen' , '', 'INS', 'appl/fac/fac_kenmerkdomein_search.asp?fkdmodule=INS', 0, 0, 'WEB_INSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_ins_setting' , '', 'INS', 'appl/fac/fac_setting_search.asp?module=INS', 0, 0, 'WEB_INSMGT', 'W', '0', '');

View File

@@ -2298,6 +2298,8 @@ FAC_LCL('lcl_res_kenmerken', 'Reserveringskenmerken', 'Reservation properties')
FAC_LCL('lcl_res_symbol_upload', 'Symbool Upload', 'Symbol Upload')
FAC_LCL('lcl_res_symbol_name', 'Symbool', 'Symbol')
FAC_LCL('lcl_res_browse_upload', 'Blader/Upload', 'Browse/Upload')
FAC_LCL('lcl_res_private', 'Priv<69>', 'Private')
FAC_LCL('lcl_res_rsv_private', 'Priv<69> reservering', 'Private reservation')
FAC_LCL('lcl_deleted', 'Verwijderd', 'Deleted')
FAC_LCL('lcl_config', 'Opstelling', 'Configuration')
FAC_LCL('lcl_activity', 'Activiteit', 'Activity')
@@ -4325,13 +4327,15 @@ FAC_LCL('lcl_res_byplace', 'Beschikbaarheid', 'Availability')
FAC_LCL('lcl_res_byplace_select', 'Werkplek kiezen', 'Select a workspot')
FAC_LCL('lcl_res_planmode_gereserveerd', 'Flexreservering', 'Flexreservation')
FAC_LCL('lcl_res_planmode_geresopmerk', '', '')
FAC_LCL('lcl_res_werkplek_extra', 'Reserveer ook gelijk voor {0} collega''s', 'Also reserve for {0} colleagues')
FAC_LCL('lcl_res_werkplek_extra', 'Reserveer {0} extra {1}', 'Reserve {0} extra {1}')
FAC_LCL('lcl_res_werkplek_extra_confirm', '<h2>Geregeld.</h2><a href="{0}" target=_new>reservering {1}</a><br>Werkplek {2} is op {3} voor je gereserveerd van {4} tot {5}<br><br>', '<h2>Arranged.</h2><a href="{0}" target=_new>reservering {1}</a><br>Workplace {2} is reserved for you on {3} from {4} to {5}<br><br>')
FAC_LCL('lcl_res_werkplek_extra_added', 'Daarbij heb je ook het volgende gereserveerd:', 'You have also reserved the following:')
FAC_LCL('lcl_res_werkplek_user', 'Mijn werkplek {0}', 'My workplace {0}')
FAC_LCL('lcl_res_werkplek_add', 'Extra werkplek', 'Extra workplace')
FAC_LCL('lcl_res_werkplek_add', 'Reserveer extra {0}', 'Reserve extra {0}')
FAC_LCL('lcl_res_werkplek_dubbel', 'Er zijn werkplekken dubbel gereserveerd.', 'There are work places that are double reserved.')
FAC_LCL('lcl_res_werkplek_geen', 'Je hebt geen extra werkplekken gereserveerd.' ,'You have not reserved any additional workplaces.')
FAC_LCL('lcl_res_my_reservation', 'Mijn reservering', 'My reservation')
FAC_LCL('lcl_res_reserved_workplace', 'Gereserveerde werkplekken', 'Reserved workplaces')
FAC_LCL('lcl_mobile_res_intervalbezet', '(gereserveerd)', '(reserved)')
FAC_LCL('lcl_mobile_res_intervalbezetvoor', '(gereserveerd voor {0})', '(reserved for {0})')
FAC_LCL('lcl_res_niets_beschikbaar', 'Er is hier dan niets beschikbaar, maak een andere keuze.', 'Nothing is available here at that time.')

View File

@@ -15847,24 +15847,69 @@ AS
IF (ASCII (c_prefix1) = 67 OR ASCII (c_prefix1) = 99)
THEN
BEGIN
-- haal prefix 'C' of 'c' eraf
-- Haal prefix 'C' of 'c' eraf
c_contract_nr := SUBSTR (p_broc_nr, 2);
IF INSTR(p_broc_nr, '.') = 0
THEN
-- Het laatste contract met de hoogste versie nummer opvragen.
-- Er kunnen meerdere contracten zijn met dezelfde contract_key, maar met verschillende versies.
-- Het contract met de hoogste versie is de laatste.
SELECT cnt_contract_key
INTO p_broc_key
FROM ( SELECT cnt_contract_key,
cnt_contract_versie
FROM cnt_contract
WHERE cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0
AND cnt_contract_nummer_intern = c_contract_nr
AND p_factuur_datum BETWEEN cnt_contract_looptijd_van AND cnt_contract_looptijd_tot
ORDER BY cnt_contract_key DESC)
WHERE ROWNUM = 1;
BEGIN
-- Het laatste contract met de hoogste versie nummer opvragen.
-- Er kunnen meerdere contracten zijn met dezelfde contract_key, maar met verschillende versies.
-- Het contract met de hoogste versie is de laatste.
SELECT cnt_contract_key
INTO p_broc_key
FROM cnt_contract
WHERE cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0
AND cnt_contract_nummer_intern = c_contract_nr;
EXCEPTION
WHEN TOO_MANY_ROWS
THEN
BEGIN
-- Meerdere versies gevonden; ga specifieker zoeken
-- Bij overlappende contracten; pak het oudste contract
SELECT cnt_contract_key
INTO p_broc_key
FROM (SELECT cnt_contract_key
FROM cnt_contract
WHERE cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0
AND cnt_contract_nummer_intern = c_contract_nr
AND p_factuur_datum BETWEEN cnt_contract_looptijd_van AND cnt_contract_looptijd_tot
ORDER BY cnt_contract_looptijd_van ASC)
WHERE ROWNUM = 1;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
BEGIN
-- Geen contract gevonden waarbinnen deze factuurdatum valt
-- Zoek het contract wat het recentst (mbt de factuurdatum) is afgelopen
SELECT cnt_contract_key
INTO p_broc_key
FROM (SELECT cnt_contract_key
FROM cnt_contract
WHERE cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0
AND cnt_contract_nummer_intern = c_contract_nr
AND cnt_contract_looptijd_tot <= p_factuur_datum
ORDER BY cnt_contract_looptijd_tot DESC)
WHERE ROWNUM = 1;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
-- Geen contract gevonden met een einddatum die ligt voor de factuurdatum
-- Dan ligt de factuurdatum dus voor de startdatum van de eerste contract-versie; pak het eerste contract
SELECT cnt_contract_key
INTO p_broc_key
FROM (SELECT cnt_contract_key
FROM cnt_contract
WHERE cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0
AND cnt_contract_nummer_intern = c_contract_nr
ORDER BY cnt_contract_looptijd_van)
WHERE ROWNUM = 1;
END;
END;
END;
ELSE
-- Exact dit contract en versie.
SELECT cnt_contract_key
@@ -22866,6 +22911,9 @@ BEGIN
WHERE fac_imp_csv_index = 1
AND fac_import_key = p_import_key;
-- Eerst opruimen
DELETE FROM fac_imp_taak_mjob;
IF (v_header LIKE v_header_csv || '%')
THEN
v_header_is_valid := 1;
@@ -22939,11 +22987,11 @@ BEGIN
fac.imp_writelog( p_import_key, 'W', 'Nieuwe taak - Aangepast ivm lengte groter dan 60 '
, rec.fac_imp_csv_index || ' - ' || rec.objectidentificatie || ' - ' || rec.taakomschrijving || ' wordt: ' || v_taakomschrijving);
END IF;
SELECT COALESCE(MAX(ins_srtcontrole_key), -1)
SELECT MAX(ins_srtcontrole_key)
INTO v_srtcontrole_key
FROM ins_srtcontrole
WHERE LOWER(ins_srtcontrole_omschrijving) = LOWER(v_taakomschrijving);
-- v_srtcontrole_key = -1 als de taak nog niet bestaat.
WHERE ins_srtcontrole_omschrijving = v_taakomschrijving;
-- v_srtcontrole_key = null als de taak nog niet bestaat.
-- CSV-kolom F: Controleer taak opmerking
v_errormsg := 'Fout controleren taak opmerking ';
@@ -23234,7 +23282,8 @@ BEGIN
ROLLBACK;
fac.imp_writelog(p_import_key, 'E', 'Ongeldig importbestand', 'Toelichting: Verkeerde header. Niet conform specs. ');
ELSE
fac.imp_writelog(p_import_key, 'S', 'IMPORT TAKEN: aantal te verwerken regels: ' || TO_CHAR (v_count_verwerk) || ' (van de ' || TO_CHAR (v_count_rec) || ' records in csv)' || CHR(13) || CHR(10)
fac.imp_writelog(p_import_key, 'S', 'IMPORT TAKEN: import' || CHR(13) || CHR(10)
|| 'Aantal te verwerken regels: ' || TO_CHAR (v_count_verwerk) || ' (van de ' || TO_CHAR (v_count_rec) || ' records in csv)' || CHR(13) || CHR(10)
|| 'Aantal nieuwe taken: ' || TO_CHAR (v_count_n_taak) || CHR(13) || CHR(10)
|| 'Aantal nieuwe objecttaken: ' || TO_CHAR (v_count_n_taakobject) || CHR(13) || CHR(10)
|| 'Aantal bestaande, te wijzigen (object)taken: ' || TO_CHAR (v_count_w_taak)
@@ -23256,20 +23305,20 @@ AS
IS
SELECT i.*
FROM fac_imp_taak_mjob i
WHERE i.ins_srtcontrole_key IS NULL;
WHERE (i.ins_srtcontrole_key IS NULL OR i.ins_srtcontrole_key = -1);
CURSOR c_no -- nieuwe objecttaken aanmaken..
IS
SELECT i.*
FROM fac_imp_taak_mjob i
WHERE i.ins_srtcontrole_key IS NOT NULL
WHERE (i.ins_srtcontrole_key IS NOT NULL OR i.ins_srtcontrole_key > -1)
AND i.ins_srtcontroledl_xcp_key IS NULL;
CURSOR c_m -- bestaande taak en/of objecttaak wijzigen
IS
SELECT i.*
FROM fac_imp_taak_mjob i
WHERE i.ins_srtcontrole_key IS NOT NULL
WHERE (i.ins_srtcontrole_key IS NOT NULL OR i.ins_srtcontrole_key > -1)
AND i.ins_srtcontroledl_xcp_key IS NOT NULL;
v_errormsg VARCHAR2(1000);
@@ -23380,422 +23429,406 @@ AS
END;
BEGIN
FOR rec IN c_n
LOOP
BEGIN
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
-- Eenzelfde basistaak kan meerdere keren in CSV zitten.
-- Daarom gaan we in deze cursor eerst kijken of de basistaak er in deze LOOP al ingezet is.
-- Zo ja, dan kunnen we door naar de Objecttaak. Zo niet, dan gaan we eerst de basis
v_errormsg := 'Opzoeken basistaak ' || v_aanduiding;
SELECT MAX(ins_srtcontrole_key)
INTO v_ins_srtcontrole_key
FROM ins_srtcontrole
WHERE ins_srtcontrole_omschrijving = rec.ins_srtcontrole_omschrijving;
BEGIN
FOR rec IN c_n
LOOP
BEGIN
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
-- Eenzelfde basistaak kan meerdere keren in CSV zitten.
-- Daarom gaan we in deze cursor eerst kijken of de basistaak er in deze LOOP al ingezet is.
-- Zo ja, dan kunnen we door naar de Objecttaak. Zo niet, dan gaan we eerst de basis
v_errormsg := 'Opzoeken basistaak ' || v_aanduiding;
SELECT MAX(ins_srtcontrole_key)
INTO v_ins_srtcontrole_key
FROM ins_srtcontrole
WHERE ins_srtcontrole_omschrijving = rec.ins_srtcontrole_omschrijving;
-- Basistaak aanmaken: geen ins_srtcontrole_key gevonden.
IF v_ins_srtcontrole_key IS NULL
THEN
-- We gaan we eerst op zoek naar de dienst.
v_errormsg := 'Aanmaken/opzoeken dienst ' || v_aanduiding;
v_dienst_key := NULL;
IF rec.prs_dienst_omschrijving IS NOT NULL
-- Basistaak aanmaken: geen ins_srtcontrole_key gevonden.
IF v_ins_srtcontrole_key IS NULL
THEN
BEGIN
SELECT prs_dienst_key
INTO v_dienst_key
FROM prs_dienst
WHERE UPPER(prs_dienst_omschrijving) = UPPER(rec.prs_dienst_omschrijving);
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO prs_dienst
(prs_dienst_omschrijving)
VALUES (rec.prs_dienst_omschrijving)
RETURNING prs_dienst_key
INTO v_dienst_key;
END;
-- We gaan we eerst op zoek naar de dienst.
v_errormsg := 'Aanmaken/opzoeken dienst ' || v_aanduiding;
v_dienst_key := NULL;
IF rec.prs_dienst_omschrijving IS NOT NULL
THEN
BEGIN
SELECT prs_dienst_key
INTO v_dienst_key
FROM prs_dienst
WHERE UPPER(prs_dienst_omschrijving) = UPPER(rec.prs_dienst_omschrijving);
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO prs_dienst
(prs_dienst_omschrijving)
VALUES (rec.prs_dienst_omschrijving)
RETURNING prs_dienst_key
INTO v_dienst_key;
END;
END IF;
v_count_verwerk := v_count_verwerk + 1 ;
v_count_n_taak := v_count_n_taak + 1 ;
v_errormsg := 'Aanmaken taak: ' || v_aanduiding;
INSERT INTO ins_srtcontrole
( ins_srtinstallatie_key
, ins_srtcontrole_niveau
, ins_srtcontrole_omschrijving
, ctr_discipline_key
, ins_srtcontrole_info
, ins_srtcontrole_periode
, ins_srtcontrole_eenheid
, ins_srtcontrole_mode
, ins_srtcontrole_level
, ins_srtcontrole_opmerking
, prs_dienst_key
)
VALUES
( v_srtdeel_key
, 'S'
, rec.ins_srtcontrole_omschrijving
, rec.ctr_discipline_key
, NULL
, 0
, rec.ins_srtcontroledl_xcp_eenheid
, 1
, COALESCE(rec.ins_srtcontrole_prioriteit, 0)
, rec.ins_srtcontrole_opmerking
, v_dienst_key
)
RETURNING ins_srtcontrole_key
INTO v_ins_srtcontrole_key;
fac.trackaction('CTRSUP', v_ins_srtcontrole_key, 4, NULL, 'Periodieke taak toegevoegd - Via taakimport ');
END IF;
v_count_verwerk := v_count_verwerk + 1 ;
v_count_n_taak := v_count_n_taak + 1 ;
-- Nu kunnen we de objectaak aanmaken
v_count_n_taakobject := v_count_n_taakobject + 1 ;
v_errormsg := 'Aanmaken taak object: ' || v_aanduiding || ' ['
|| rec.ins_deel_key || '|'
|| v_ins_srtcontrole_key || '|'
|| rec.ins_srtcontroledl_xcp_periode || '|'
|| rec.ins_srtcontroledl_xcp_eenheid || '|'
|| rec.ins_srtcontroledl_xcp_materia || '|'
|| rec.ins_srtcontroledl_xcp_perc || '|'
|| rec.ins_srtcontrole_groep || '|'
|| rec.ins_srtcontroledl_xcp_opmerk || '|'
|| rec.ins_srtcontroledl_xcp_aantal || '|'
|| rec.ins_srtcontroledl_xcp_aanteh || ']';
v_errormsg := 'Aanmaken taak ' || v_aanduiding;
INSERT INTO ins_srtcontrole
( ins_srtinstallatie_key
, ins_srtcontrole_niveau
, ins_srtcontrole_omschrijving
, ctr_discipline_key
, ins_srtcontrole_info
, ins_srtcontrole_periode
, ins_srtcontrole_eenheid
, ins_srtcontrole_mode
, ins_srtcontrole_level
, ins_srtcontrole_opmerking
, prs_dienst_key
INSERT INTO ins_srtcontroledl_xcp
( ins_deel_key
, ins_srtcontrole_key
, ins_srtcontroledl_xcp_periode
, ins_srtcontroledl_xcp_eenheid
, ins_srtcontroledl_xcp_materia
, ins_srtcontroledl_xcp_perc
, ins_srtcontroledl_xcp_groep
, ins_srtcontroledl_xcp_opmerk
, ins_srtcontroledl_xcp_aantal
, ins_srtcontroledl_xcp_aanteh
)
VALUES
( v_srtdeel_key
, 'S'
, rec.ins_srtcontrole_omschrijving
, rec.ctr_discipline_key
, NULL
, 0
( rec.ins_deel_key
, v_ins_srtcontrole_key
, rec.ins_srtcontroledl_xcp_periode
, rec.ins_srtcontroledl_xcp_eenheid
, 1
, COALESCE(rec.ins_srtcontrole_prioriteit, 0)
, rec.ins_srtcontrole_opmerking
, v_dienst_key
)
RETURNING ins_srtcontrole_key
INTO v_ins_srtcontrole_key;
, rec.ins_srtcontroledl_xcp_materia
, rec.ins_srtcontroledl_xcp_perc
, rec.ins_srtcontrole_groep
, rec.ins_srtcontroledl_xcp_opmerk
, rec.ins_srtcontroledl_xcp_aantal
, rec.ins_srtcontroledl_xcp_aanteh
);
fac.trackaction('CTRSUP', v_ins_srtcontrole_key, 4, NULL, 'Periodieke taak toegevoegd - Via taakimport ');
END IF;
-- Nu kunnen we de objectaak aanmaken
v_count_n_taakobject := v_count_n_taakobject + 1 ;
v_errormsg := 'Aanmaken taak object ' || v_aanduiding || ' ['
|| rec.ins_deel_key || '|'
|| v_ins_srtcontrole_key || '|'
|| rec.ins_srtcontroledl_xcp_periode || '|'
|| rec.ins_srtcontroledl_xcp_eenheid || '|'
|| rec.ins_srtcontroledl_xcp_materia || '|'
|| rec.ins_srtcontroledl_xcp_perc || '|'
|| rec.ins_srtcontrole_groep || '|'
|| rec.ins_srtcontroledl_xcp_opmerk || '|'
|| rec.ins_srtcontroledl_xcp_aantal || '|'
|| rec.ins_srtcontroledl_xcp_aanteh || ']';
INSERT INTO ins_srtcontroledl_xcp
( ins_deel_key
, ins_srtcontrole_key
, ins_srtcontroledl_xcp_periode
, ins_srtcontroledl_xcp_eenheid
, ins_srtcontroledl_xcp_materia
, ins_srtcontroledl_xcp_perc
, ins_srtcontroledl_xcp_groep
, ins_srtcontroledl_xcp_opmerk
, ins_srtcontroledl_xcp_aantal
, ins_srtcontroledl_xcp_aanteh
)
VALUES
( rec.ins_deel_key
, v_ins_srtcontrole_key
, rec.ins_srtcontroledl_xcp_periode
, rec.ins_srtcontroledl_xcp_eenheid
, rec.ins_srtcontroledl_xcp_materia
, rec.ins_srtcontroledl_xcp_perc
, rec.ins_srtcontrole_groep
, rec.ins_srtcontroledl_xcp_opmerk
, rec.ins_srtcontroledl_xcp_aantal
, rec.ins_srtcontroledl_xcp_aanteh
);
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
EXCEPTION
WHEN OTHERS THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
fac.imp_writelog(p_import_key, 'E', v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')', v_errormsg);
v_ongeldig := 1;
END;
v_aanduiding := 'Einde loop ' || v_aanduiding;
END LOOP;
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
-- Geen exception handler. Stop verwerking en laat fout in de logging zien.
END;
v_aanduiding := 'Einde loop ' || v_aanduiding;
END LOOP;
FOR rec IN c_no
LOOP
BEGIN
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
-- We kunnen direct objectaak aanmaken
v_count_verwerk := v_count_verwerk + 1 ;
v_count_n_taakobject := v_count_n_taakobject + 1 ;
v_errormsg := 'Aanmaken taak object ' || v_aanduiding || ' ['
|| rec.ins_deel_key || '|'
|| rec.ins_srtcontrole_key || '|'
|| rec.ins_srtcontroledl_xcp_periode || '|'
|| rec.ins_srtcontroledl_xcp_eenheid || '|'
|| rec.ins_srtcontroledl_xcp_materia || '|'
|| rec.ins_srtcontroledl_xcp_perc || '|'
|| rec.ins_srtcontrole_groep || '|'
|| rec.ins_srtcontroledl_xcp_opmerk || '|'
|| rec.ins_srtcontroledl_xcp_aantal || '|'
|| rec.ins_srtcontroledl_xcp_aanteh || ']';
INSERT INTO ins_srtcontroledl_xcp
( ins_deel_key
, ins_srtcontrole_key
, ins_srtcontroledl_xcp_periode
, ins_srtcontroledl_xcp_eenheid
, ins_srtcontroledl_xcp_materia
, ins_srtcontroledl_xcp_perc
, ins_srtcontroledl_xcp_groep
, ins_srtcontroledl_xcp_opmerk
, ins_srtcontroledl_xcp_aantal
, ins_srtcontroledl_xcp_aanteh
)
VALUES
( rec.ins_deel_key
, rec.ins_srtcontrole_key
, rec.ins_srtcontroledl_xcp_periode
, rec.ins_srtcontroledl_xcp_eenheid
, rec.ins_srtcontroledl_xcp_materia
, rec.ins_srtcontroledl_xcp_perc
, rec.ins_srtcontrole_groep
, rec.ins_srtcontroledl_xcp_opmerk
, rec.ins_srtcontroledl_xcp_aantal
, rec.ins_srtcontroledl_xcp_aanteh
);
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
EXCEPTION
WHEN OTHERS THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
fac.imp_writelog(p_import_key, 'E', v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')', v_errormsg);
v_ongeldig := 1;
END;
v_aanduiding := 'Einde loop ' || v_aanduiding;
END LOOP;
FOR rec IN c_m
LOOP
BEGIN
v_count_verwerk := v_count_verwerk + 1 ;
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
SELECT COALESCE(t.ins_srtcontrole_opmerking, '<leeg>')
, t.ins_srtcontrole_level
, COALESCE(MAX(t.prs_dienst_key), -1)
, COALESCE(MAX(d.prs_dienst_omschrijving), '<leeg>')
INTO v_taakopmerking
, v_taakprioriteit
, v_taakdienst_key
, v_taakdienst_oms
FROM ins_srtcontrole t
, prs_dienst d
WHERE t.prs_dienst_key = d.prs_dienst_key(+)
AND t.ins_srtcontrole_key = rec.ins_srtcontrole_key;
-- Basis-taak - Taakopmerking
v_errormsg := 'Fout taakopmerking wijzigen ';
IF rec.ins_srtcontrole_opmerking IS NOT NULL AND v_taakopmerking <> rec.ins_srtcontrole_opmerking
THEN
UPDATE ins_srtcontrole
SET ins_srtcontrole_opmerking = rec.ins_srtcontrole_opmerking
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd Taakopmerking', v_taakopmerking, rec.ins_srtcontrole_opmerking);
END IF;
-- Basis-taak - Taakprioriteit
v_errormsg := 'Fout prioriteit wijzigen ';
IF rec.ins_srtcontrole_prioriteit IS NOT NULL AND v_taakprioriteit <> rec.ins_srtcontrole_prioriteit
THEN
UPDATE ins_srtcontrole
SET ins_srtcontrole_level = rec.ins_srtcontrole_prioriteit
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd Prioriteit', v_taakprioriteit, rec.ins_srtcontrole_prioriteit);
END IF;
-- Basis-taak - Dienst
v_errormsg := 'Fout dienst wijzigen ' || v_aanduiding;
FOR rec IN c_no
LOOP
BEGIN
-- Dan gaan we kijken of de dienst meegegeven in csv al bestaat
IF rec.prs_dienst_omschrijving IS NOT NULL
THEN
BEGIN
SELECT prs_dienst_key
INTO v_dienst_key
FROM prs_dienst
WHERE UPPER(prs_dienst_omschrijving) = UPPER(rec.prs_dienst_omschrijving);
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO prs_dienst
(prs_dienst_omschrijving)
VALUES (rec.prs_dienst_omschrijving)
RETURNING prs_dienst_key
INTO v_dienst_key;
END;
END IF;
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
-- We kunnen direct objectaak aanmaken
v_count_verwerk := v_count_verwerk + 1 ;
v_count_n_taakobject := v_count_n_taakobject + 1 ;
v_errormsg := 'Aanmaken taak object bij taak: ' || v_aanduiding || ' ['
|| rec.ins_deel_key || '|'
|| rec.ins_srtcontrole_key || '|'
|| rec.ins_srtcontroledl_xcp_periode || '|'
|| rec.ins_srtcontroledl_xcp_eenheid || '|'
|| rec.ins_srtcontroledl_xcp_materia || '|'
|| rec.ins_srtcontroledl_xcp_perc || '|'
|| rec.ins_srtcontrole_groep || '|'
|| rec.ins_srtcontroledl_xcp_opmerk || '|'
|| rec.ins_srtcontroledl_xcp_aantal || '|'
|| rec.ins_srtcontroledl_xcp_aanteh || ']';
INSERT INTO ins_srtcontroledl_xcp
( ins_deel_key
, ins_srtcontrole_key
, ins_srtcontroledl_xcp_periode
, ins_srtcontroledl_xcp_eenheid
, ins_srtcontroledl_xcp_materia
, ins_srtcontroledl_xcp_perc
, ins_srtcontroledl_xcp_groep
, ins_srtcontroledl_xcp_opmerk
, ins_srtcontroledl_xcp_aantal
, ins_srtcontroledl_xcp_aanteh
)
VALUES
( rec.ins_deel_key
, rec.ins_srtcontrole_key
, rec.ins_srtcontroledl_xcp_periode
, rec.ins_srtcontroledl_xcp_eenheid
, rec.ins_srtcontroledl_xcp_materia
, rec.ins_srtcontroledl_xcp_perc
, rec.ins_srtcontrole_groep
, rec.ins_srtcontroledl_xcp_opmerk
, rec.ins_srtcontroledl_xcp_aantal
, rec.ins_srtcontroledl_xcp_aanteh
);
IF rec.prs_dienst_omschrijving IS NOT NULL AND v_taakdienst_key <> v_dienst_key
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
-- Geen exception handler. Stop verwerking en laat fout in de logging zien.
END;
v_aanduiding := 'Einde loop ' || v_aanduiding;
END LOOP;
FOR rec IN c_m
LOOP
BEGIN
v_count_verwerk := v_count_verwerk + 1 ;
v_aanduiding := maakAanduiding_taak(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving, v_srtdeel_key);
SELECT COALESCE(t.ins_srtcontrole_opmerking, '<leeg>')
, t.ins_srtcontrole_level
, COALESCE(MAX(t.prs_dienst_key), -1)
, COALESCE(MAX(d.prs_dienst_omschrijving), '<leeg>')
INTO v_taakopmerking
, v_taakprioriteit
, v_taakdienst_key
, v_taakdienst_oms
FROM ins_srtcontrole t
, prs_dienst d
WHERE t.prs_dienst_key = d.prs_dienst_key(+)
AND t.ins_srtcontrole_key = rec.ins_srtcontrole_key;
-- Basis-taak - Taakopmerking
v_errormsg := 'Fout taakopmerking wijzigen ';
IF rec.ins_srtcontrole_opmerking IS NOT NULL AND v_taakopmerking <> rec.ins_srtcontrole_opmerking
THEN
UPDATE ins_srtcontrole
SET prs_dienst_key = v_dienst_key
SET ins_srtcontrole_opmerking = rec.ins_srtcontrole_opmerking
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd taakdienst', v_taakdienst_oms, rec.prs_dienst_omschrijving);
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd Taakopmerking', v_taakopmerking, rec.ins_srtcontrole_opmerking);
END IF;
-- Basis-taak - Taakprioriteit
v_errormsg := 'Fout prioriteit wijzigen ';
IF rec.ins_srtcontrole_prioriteit IS NOT NULL AND v_taakprioriteit <> rec.ins_srtcontrole_prioriteit
THEN
UPDATE ins_srtcontrole
SET ins_srtcontrole_level = rec.ins_srtcontrole_prioriteit
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd Prioriteit', v_taakprioriteit, rec.ins_srtcontrole_prioriteit);
END IF;
-- Basis-taak - Dienst
v_errormsg := 'Fout dienst wijzigen ' || v_aanduiding;
BEGIN
-- Dan gaan we kijken of de dienst meegegeven in csv al bestaat
IF rec.prs_dienst_omschrijving IS NOT NULL
THEN
BEGIN
SELECT prs_dienst_key
INTO v_dienst_key
FROM prs_dienst
WHERE UPPER(prs_dienst_omschrijving) = UPPER(rec.prs_dienst_omschrijving);
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO prs_dienst
(prs_dienst_omschrijving)
VALUES (rec.prs_dienst_omschrijving)
RETURNING prs_dienst_key
INTO v_dienst_key;
END;
END IF;
IF rec.prs_dienst_omschrijving IS NOT NULL AND v_taakdienst_key <> v_dienst_key
THEN
UPDATE ins_srtcontrole
SET prs_dienst_key = v_dienst_key
WHERE ins_srtcontrole_key = rec.ins_srtcontrole_key;
v_count_taak := trackTaak(rec.ins_srtcontrole_key, 'Gewijzigd taakdienst', v_taakdienst_oms, rec.prs_dienst_omschrijving);
END IF;
END;
IF v_count_taak = 1
THEN
v_count_w_taak := v_count_w_taak + 1;
END IF;
-- Gaan nu de object-taken aanpassen
v_aanduiding_objecttaak := maakAanduiding_taakobject(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving);
SELECT COALESCE(ins_srtcontroledl_xcp_perc, 0)
, COALESCE(ins_srtcontroledl_xcp_opmerk, '<leeg>')
, COALESCE(ins_srtcontroledl_xcp_eenheid, 0)
, COALESCE(ins_srtcontroledl_xcp_periode, 0)
, COALESCE(ins_srtcontroledl_xcp_groep, '<leeg>')
, ins_srtcontroledl_xcp_eind
, COALESCE(max(ins_srtcontroledl_xcp_materia), 0)
INTO v_percentage
, v_objecttaakopmerking
, v_eenheid
, v_periode
, v_taakgroep
, v_eindjaar
, v_materiaalkosten
FROM ins_srtcontroledl_xcp
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
-- Object-taak - Percentage
v_errormsg := 'Fout percentage wijzigen ';
IF rec.ins_srtcontroledl_xcp_perc IS NOT NULL AND rec.ins_srtcontroledl_xcp_perc <> v_percentage
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_perc = rec.ins_srtcontroledl_xcp_perc
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Percentage', v_percentage, rec.ins_srtcontroledl_xcp_perc);
END IF;
-- Object-taak - Opmerking
v_errormsg := 'Fout opmerking objecttaak wijzigen ';
IF rec.ins_srtcontroledl_xcp_opmerk IS NOT NULL AND rec.ins_srtcontroledl_xcp_opmerk <> v_objecttaakopmerking
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_opmerk = rec.ins_srtcontroledl_xcp_opmerk
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Taakopmerking', v_objecttaakopmerking, rec.ins_srtcontroledl_xcp_opmerk);
END IF;
-- Object-taak - Eenheid
v_errormsg := 'Fout eenheid wijzigen ';
IF rec.ins_srtcontroledl_xcp_eenheid IS NOT NULL AND rec.ins_srtcontroledl_xcp_eenheid <> v_eenheid AND rec.ismjob = 0
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_eenheid = rec.ins_srtcontroledl_xcp_eenheid
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Eenheid', v_eenheid, rec.ins_srtcontroledl_xcp_eenheid);
END IF;
-- Object-taak - Periode
v_errormsg := 'Fout periode wijzigen ';
IF rec.ins_srtcontroledl_xcp_periode IS NOT NULL AND rec.ins_srtcontroledl_xcp_periode <> v_periode
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_periode = rec.ins_srtcontroledl_xcp_periode
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Periode', v_periode, rec.ins_srtcontroledl_xcp_periode);
END IF;
-- Object-taak - Taakgroep
v_errormsg := 'Fout taakgroep wijzigen ';
IF rec.ins_srtcontrole_groep IS NOT NULL AND rec.ins_srtcontrole_groep <> v_taakgroep
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_groep = rec.ins_srtcontrole_groep
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Taakgroep', v_taakgroep, rec.ins_srtcontrole_groep);
END IF;
-- Object-taak - Eindjaar
v_errormsg := 'Fout eindjaar wijzigen ';
IF ( (rec.ins_srtcontroledl_xcp_eind IS NOT NULL AND v_eindjaar <> rec.ins_srtcontroledl_xcp_eind AND v_eindjaar IS NOT NULL)
OR (rec.ins_srtcontroledl_xcp_eind IS NOT NULL AND v_eindjaar IS NULL)
)
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_eind = rec.ins_srtcontroledl_xcp_eind
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Eindjaar', v_eindjaar, rec.ins_srtcontroledl_xcp_eind);
END IF;
-- Object-taak - Kosten
v_errormsg := 'Fout kosten wijzigen ';
IF rec.ins_srtcontroledl_xcp_materia IS NOT NULL AND rec.ins_srtcontroledl_xcp_materia <> v_materiaalkosten
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_materia = rec.ins_srtcontroledl_xcp_materia
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Kosten', v_materiaalkosten, rec.ins_srtcontroledl_xcp_materia);
END IF;
-- Object-taak - aantal
v_errormsg := 'Fout aantal wijzigen ';
IF ( (rec.ins_srtcontroledl_xcp_aantal IS NOT NULL AND v_aantal IS NOT NULL AND rec.ins_srtcontroledl_xcp_aantal <> v_aantal)
OR (rec.ins_srtcontroledl_xcp_aantal IS NOT NULL AND v_aantal IS NULL)
)
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_aantal = rec.ins_srtcontroledl_xcp_aantal
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Aantal', v_aantal, rec.ins_srtcontroledl_xcp_aantal);
END IF;
-- Object-taal - aantaleh
v_errormsg := 'fout aanteh wijzigen ';
IF ( (rec.ins_srtcontroledl_xcp_aanteh IS NOT NULL AND v_aantaleh IS NOT NULL AND rec.ins_srtcontroledl_xcp_aanteh <> v_aantaleh)
OR (rec.ins_srtcontroledl_xcp_aanteh IS NOT NULL AND v_aantaleh IS NULL)
)
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_aanteh = rec.ins_srtcontroledl_xcp_aanteh
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Aanteh', v_aantaleh, rec.ins_srtcontroledl_xcp_aanteh);
END IF;
IF v_count_taakobject = 1
THEN
v_count_w_taakobject := v_count_w_taakobject + 1 ;
END IF;
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
-- Geen exception handler. Stop verwerking en laat fout in de logging zien.
END;
v_aanduiding := 'Einde loop ' || v_aanduiding;
END LOOP;
IF v_count_taak = 1
THEN
v_count_w_taak := v_count_w_taak + 1;
END IF;
-- Gaan nu de object-taken aanpassen
v_aanduiding_objecttaak := maakAanduiding_taakobject(rec.ins_deel_key, rec.ctr_discipline_key, rec.ins_srtcontrole_omschrijving);
SELECT COALESCE(ins_srtcontroledl_xcp_perc, 0)
, COALESCE(ins_srtcontroledl_xcp_opmerk, '<leeg>')
, COALESCE(ins_srtcontroledl_xcp_eenheid, 0)
, COALESCE(ins_srtcontroledl_xcp_periode, 0)
, COALESCE(ins_srtcontroledl_xcp_groep, '<leeg>')
, ins_srtcontroledl_xcp_eind
, COALESCE(max(ins_srtcontroledl_xcp_materia), 0)
INTO v_percentage
, v_objecttaakopmerking
, v_eenheid
, v_periode
, v_taakgroep
, v_eindjaar
, v_materiaalkosten
FROM ins_srtcontroledl_xcp
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
-- Object-taak - Percentage
v_errormsg := 'Fout percentage wijzigen ';
IF rec.ins_srtcontroledl_xcp_perc IS NOT NULL AND rec.ins_srtcontroledl_xcp_perc <> v_percentage
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_perc = rec.ins_srtcontroledl_xcp_perc
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Percentage', v_percentage, rec.ins_srtcontroledl_xcp_perc);
END IF;
-- Object-taak - Opmerking
v_errormsg := 'Fout opmerking objecttaak wijzigen ';
IF rec.ins_srtcontroledl_xcp_opmerk IS NOT NULL AND rec.ins_srtcontroledl_xcp_opmerk <> v_objecttaakopmerking
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_opmerk = rec.ins_srtcontroledl_xcp_opmerk
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Taakopmerking', v_objecttaakopmerking, rec.ins_srtcontroledl_xcp_opmerk);
END IF;
-- Object-taak - Eenheid
v_errormsg := 'Fout eenheid wijzigen ';
IF rec.ins_srtcontroledl_xcp_eenheid IS NOT NULL AND rec.ins_srtcontroledl_xcp_eenheid <> v_eenheid AND rec.ismjob = 0
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_eenheid = rec.ins_srtcontroledl_xcp_eenheid
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Eenheid', v_eenheid, rec.ins_srtcontroledl_xcp_eenheid);
END IF;
-- Object-taak - Periode
v_errormsg := 'Fout periode wijzigen ';
IF rec.ins_srtcontroledl_xcp_periode IS NOT NULL AND rec.ins_srtcontroledl_xcp_periode <> v_periode
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_periode = rec.ins_srtcontroledl_xcp_periode
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Periode', v_periode, rec.ins_srtcontroledl_xcp_periode);
END IF;
-- Object-taak - Taakgroep
v_errormsg := 'Fout taakgroep wijzigen ';
IF rec.ins_srtcontrole_groep IS NOT NULL AND rec.ins_srtcontrole_groep <> v_taakgroep
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_groep = rec.ins_srtcontrole_groep
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Taakgroep', v_taakgroep, rec.ins_srtcontrole_groep);
END IF;
-- Object-taak - Eindjaar
v_errormsg := 'Fout eindjaar wijzigen ';
IF ( (rec.ins_srtcontroledl_xcp_eind IS NOT NULL AND v_eindjaar <> rec.ins_srtcontroledl_xcp_eind AND v_eindjaar IS NOT NULL)
OR (rec.ins_srtcontroledl_xcp_eind IS NOT NULL AND v_eindjaar IS NULL)
)
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_eind = rec.ins_srtcontroledl_xcp_eind
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Eindjaar', v_eindjaar, rec.ins_srtcontroledl_xcp_eind);
END IF;
-- Object-taak - Kosten
v_errormsg := 'Fout kosten wijzigen ';
IF rec.ins_srtcontroledl_xcp_materia IS NOT NULL AND rec.ins_srtcontroledl_xcp_materia <> v_materiaalkosten
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_materia = rec.ins_srtcontroledl_xcp_materia
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Kosten', v_materiaalkosten, rec.ins_srtcontroledl_xcp_materia);
END IF;
-- Object-taak - aantal
v_errormsg := 'Fout aantal wijzigen ';
IF ( (rec.ins_srtcontroledl_xcp_aantal IS NOT NULL AND v_aantal IS NOT NULL AND rec.ins_srtcontroledl_xcp_aantal <> v_aantal)
OR (rec.ins_srtcontroledl_xcp_aantal IS NOT NULL AND v_aantal IS NULL)
)
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_aantal = rec.ins_srtcontroledl_xcp_aantal
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Aantal', v_aantal, rec.ins_srtcontroledl_xcp_aantal);
END IF;
-- Object-taal - aantaleh
v_errormsg := 'fout aanteh wijzigen ';
IF ( (rec.ins_srtcontroledl_xcp_aanteh IS NOT NULL AND v_aantaleh IS NOT NULL AND rec.ins_srtcontroledl_xcp_aanteh <> v_aantaleh)
OR (rec.ins_srtcontroledl_xcp_aanteh IS NOT NULL AND v_aantaleh IS NULL)
)
THEN
UPDATE ins_srtcontroledl_xcp
SET ins_srtcontroledl_xcp_aanteh = rec.ins_srtcontroledl_xcp_aanteh
WHERE ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
v_count_taakobject := trackTaakobject(rec.ins_deel_key, v_aanduiding_objecttaak, 'Aanteh', v_aantaleh, rec.ins_srtcontroledl_xcp_aanteh);
END IF;
IF v_count_taakobject = 1
THEN
v_count_w_taakobject := v_count_w_taakobject + 1 ;
END IF;
zetDeelStartdatum(rec.ins_deel_key, rec.ins_srtcontroledl_xcp_start);
EXCEPTION
WHEN OTHERS THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
fac.imp_writelog (p_import_key, 'E', v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')', v_errormsg);
v_ongeldig := 1;
END;
v_aanduiding := 'Einde loop ' || v_aanduiding;
END LOOP;
IF v_ongeldig = 0
THEN
COMMIT;
fac.imp_writelog(p_import_key, 'S', 'IMPORT TAKEN: aantal verwerkte regels: ' || TO_CHAR (v_count_verwerk) || CHR(13) || CHR(10)
-- Update zonder fouten. Log verwerkingsoverzicht.
fac.imp_writelog(p_import_key, 'S', 'IMPORT TAKEN: update' || CHR(13) || CHR(10)
|| 'Aantal verwerkte regels: ' || TO_CHAR (v_count_verwerk) || CHR(13) || CHR(10)
|| 'Aantal nieuwe taken ingelezen: ' || TO_CHAR (v_count_n_taak) || CHR(13) || CHR(10)
|| 'Aantal nieuwe objecttaken ingelezen: ' || TO_CHAR (v_count_n_taakobject) || CHR(13) || CHR(10)
|| 'Aantal bestaande basistaken gewijzigd: ' || TO_CHAR (v_count_w_taak) || CHR(13) || CHR(10)
|| 'Aantal bestaande objecttaken gewijzigd: ' || TO_CHAR (v_count_w_taakobject)
, '');
ELSE
ROLLBACK;
END IF;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
fac.imp_writelog (p_import_key, 'E', v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')', v_aanduiding_objecttaak);
END;
END fac_update_taak_mjob;
/
CREATE OR REPLACE PROCEDURE fac_import_exchange (p_import_key IN NUMBER, p_days_from IN NUMBER DEFAULT 0, p_days_to IN NUMBER DEFAULT 90)
IS
BEGIN

View File

@@ -1024,7 +1024,8 @@ AS
l_srtnotificatie_code fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
CURSOR c1
IS
SELECT t.fac_tracking_datum,
SELECT t.fac_tracking_key,
t.fac_tracking_datum,
t.fac_tracking_oms,
t.prs_perslid_key,
st.fac_srtnotificatie_code
@@ -1032,7 +1033,7 @@ AS
WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key
AND st.fac_srtnotificatie_xmlnode = pxmlnodename
AND t.fac_tracking_refkey = p_refkey
ORDER BY fac_tracking_datum;
ORDER BY t.fac_tracking_datum, t.fac_tracking_key;
BEGIN
-- Two modes: specific tracking_key given (1 record) or node/refkey given (cursor)
-- Could be defined by overloading create_fac_tracking_node function, chose not to
@@ -1060,6 +1061,7 @@ AS
NULL,
NULL,
NULL);
createxmltagvalue ('key', p_tracking_key);
mydatetochar ('datum', l_tracking_datum);
create_prs_perslid_node (l_perslid_key, 'user', TRUE);
createxmltagvalue ('code', l_srtnotificatie_code);
@@ -1080,6 +1082,7 @@ AS
NULL,
NULL,
NULL);
createxmltagvalue ('key', rec1.fac_tracking_key);
mydatetochar ('datum', rec1.fac_tracking_datum);
create_prs_perslid_node (rec1.prs_perslid_key, 'user', TRUE);
createxmltagvalue ('code', rec1.fac_srtnotificatie_code);

View File

@@ -2164,7 +2164,7 @@ CREATE_TABLE(fac_imp_cnt, 0)
(
nummer_intern VARCHAR2 (30),
nummer_extern VARCHAR2 (30),
cnt_soort VARCHAR2 (30),
cnt_soort VARCHAR2 (60),
beschrijving VARCHAR2 (50),
mantel_nr VARCHAR2 (30),
omschrijving VARCHAR2 (1000),

View File

@@ -1890,7 +1890,8 @@ AS
AND ff.fac_functie_key(+) = fm.fac_functie_key
AND itd.ins_discipline_key(+) = fm.ins_discipline_key
AND isd.ins_srtdiscipline_key(+) = fm.ins_srtdiscipline_key
AND fac_menu_volgnr IS NOT NULL;
AND fac_menu_volgnr IS NOT NULL
AND fm.prs_perslid_key IS NULL;
CREATE_VIEW(fac_v_exp_flex_res, 0)
AS

View File

@@ -511,17 +511,23 @@ fac.writelog ('INI.FMIS_INI','I', 'Settings completed', '');
INSERT INTO fac_groep (fac_groep_omschrijving, fac_groep_opmerking) VALUES ('FMIS-Frontoffice', 'FMIS-autorisatiegroep voor frontoffice users');
INSERT INTO fac_groep (fac_groep_omschrijving, fac_groep_opmerking) VALUES ('FMIS-Backoffice', 'FMIS-autorisatiegroep voor backoffice users');
-- Toekennen van de rechten om aan het werk te kunnen
-- We proberen ons zo goed mogelijk te beperken tot de functionaliteit die we hier zelf net hebben gedefinieerd.
-- In het bijzonder willen we geen bij-effecten als MLDUSE voor andere disciplines die toevallig al bestaan (bv uit ITSM_INI)
-- gaan toekennen. Voor Admin-groepen is dat wat minder strikt en doen we wel ons best.
-- Vooralsnog supporten we niet compleet dat je achteraf nog kunt initialiseren he.
-- Medewerker rechten
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_code IN ('WEB_RESUSE', 'WEB_MLDUSE', 'WEB_BESUSE','WEB_BEZUSE','WEB_FAQUSE','WEB_PROFIL')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = '_DEFAULT'
AND d.ins_discipline_omschrijving LIKE 'FMIS-%'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
@@ -529,17 +535,17 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
-- Frontoffice rechten
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_code IN ('WEB_RESFOF', 'WEB_MLDFOF', 'WEB_BESFOF', 'WEB_BEZFOF', 'WEB_FAQFOF', 'WEB_INSFOF')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = 'FMIS-FRONTOFFICE'
AND d.ins_discipline_omschrijving LIKE 'FMIS-%'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
@@ -552,11 +558,12 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_code IN ('WEB_RESBOF', 'WEB_MLDBOF', 'WEB_ORDBOF', 'WEB_BESBOF', 'WEB_BEZBOF', 'WEB_FAQBOF', 'WEB_INSUSE', 'WEB_INSMAN', 'WEB_CNTMAN', 'WEB_CNTUSE')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = 'FMIS-BACKOFFICE'
AND d.ins_discipline_omschrijving LIKE 'FMIS-%'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
@@ -569,12 +576,14 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_code IN ('WEB_RESMSU', 'WEB_MLDMSU', 'WEB_BESMSU', 'WEB_BEZMSU', 'WEB_FAQMSU', 'WEB_INSMSU',
'WEB_RESMGT', 'WEB_MLDMGT', 'WEB_BESMGT', 'WEB_BEZMGT', 'WEB_FAQMGT', 'WEB_INSMGT',
'WEB_RESBAC', 'WEB_MLDBAC', 'WEB_BESBAC', 'WEB_BEZBAC')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = '_ADMIN'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
@@ -584,16 +593,18 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
-- _FACILITOR-rechten
-- We willen tbv Support dat _FACILITOR alles kan, dus ook rechten krijgt op de zaken
-- die hier zijn aangemaakt. De rest had-ie standaard al
-- die hier zijn aangemaakt. De rest had-ie standaard al.
-- Dit zijn dus autorisaties als ORDAFR,ORDBO2, ORDGO5, UURBOF, CNTGO1 en MLDREO, to name a few.
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = '_FACILITOR'
AND f.fac_functie_discipline = 1
AND d.ins_discipline_omschrijving LIKE 'FMIS-%'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
@@ -695,11 +706,12 @@ DELETE FROM fac_imp_organisatie;
-- Minimale gebruikers, moet gedocumenteerd worden, wachtwoorden via wachtwoord-vergeten oid
-- nummers/mail hebben bewust ongeldig format om gegarandeerd ongeldig te zijn
INSERT INTO fac_imp_perslid (prs_afdeling_naam, prs_perslid_naam, prs_perslid_voornaam, prs_perslid_telefoonnr, prs_perslid_mobiel, prs_perslid_email, prs_srtperslid_omschrijving, prs_perslid_nr, prs_perslid_oslogin, prs_perslid_wachtwoord)
SELECT 'MW' a, 'Medewerker' b, 'Marco' c, '022-3982345' d, '06-29785629' e, 'marco.medewerker@bedrijf.nl' f, 'Medewerker' g, '001' h, 'Marco' i, 'Medewerker21#' j FROM DUAL UNION ALL
SELECT 'FM', 'Backoffice', 'Bas', '022-3982346', '06-29785630', 'bas.backoffice@bedrijf.nl', 'Medewerker', '002', 'Bas', 'Backoffice21#' FROM DUAL UNION ALL
SELECT 'FM', 'Frontoffice', 'Furkan', '022-3982348', '06-29385632', 'furkan.frontoffice@bedrijf.nl', 'Medewerker', '003', 'Furkan', 'Frontoffice21#' FROM DUAL UNION ALL
SELECT 'ICT', 'Beheerder', 'Barbara', '022-3982347', '06-29375631', 'barbara.beheerder@bedrijf.nl', 'Medewerker', '004', 'Barbara', 'Beheerder21#' FROM DUAL;
SELECT 'MW' a, 'Medewerker' b, 'Marco' c, '022-398345' d, '06-2978529' e, 'marco.medewerker@wxyz' f, 'Medewerker' g, '001' h, 'Marco' i, 'Medewerker21#' j FROM DUAL UNION ALL
SELECT 'FM', 'Backoffice', 'Bas', '022-398346', '06-2978630', 'bas.backoffice@wxyz', 'Medewerker', '002', 'Bas', 'Backoffice21#' FROM DUAL UNION ALL
SELECT 'FM', 'Frontoffice', 'Furkan', '022-398248', '06-2935632', 'furkan.frontoffice@wxyz', 'Medewerker', '003', 'Furkan', 'Frontoffice21#' FROM DUAL UNION ALL
SELECT 'ICT', 'Beheerder', 'Barbara', '022-398247', '06-2937631', 'barbara.beheerder@wxyz', 'Medewerker', '004', 'Barbara', 'Beheerder21#' FROM DUAL;
BEGIN fac_update_perslid(ini.getImportKey('PERSLID')); END;
DELETE FROM fac_imp_perslid;
@@ -727,7 +739,7 @@ fac.writelog ('INI.FMIS_INI','I', 'Sample content completed', '');
INSERT INTO fac_nieuws (fac_nieuws_titel, fac_nieuws_omschrijving, fac_nieuws_image,
prs_perslid_key)
SELECT 'Facilitor voor al je facilitaire zaken', 'Gefeliciteerd met de keuze voor Facilitor/FMIS! Dit is een eerste stap naar totale controle over je dienstverlenende processen.', 'fa-face-party',
SELECT 'Facilitor voor al je facilitaire zaken', 'Gefeliciteerd met de keuze voor Facilitor/FMIS! Dit is een eerste stap naar totale controle over je dienstverlenende processen.', 'fa-person-through-window',
prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_oslogin = '_FACILITOR';

View File

@@ -2249,7 +2249,7 @@ AS
controlemode_omschrijving
, icm.ins_controlemode_opmerking
controlemode_opmerking
, icm.ins_controlemode_success
, DECODE (icm.ins_controlemode_success, 1, lcl.l ('lcl_yes'), 0, lcl.l ('lcl_no'), lcl.l('lcl_unknown'))
controlemode_succes
, idsc.ins_deelsrtcontrole_opmerking
, (SELECT prs_perslid_naam_full

View File

@@ -568,6 +568,8 @@ CREATE_VIEW(prs_v_afdeling, 0)
prs_afdeling_naam4,
prs_afdeling_naam5,
prs_afdeling_naam6,
prs_afdeling_naam7,
prs_afdeling_naam8,
prs_afdeling_upper,
prs_afdeling_omschrijving,
prs_kostenplaats_key,
@@ -586,6 +588,8 @@ CREATE_VIEW(prs_v_afdeling, 0)
b.prs_afdeling_naam4,
b.prs_afdeling_naam5,
b.prs_afdeling_naam6,
pb.prs_bedrijf_naam || '-' || a.prs_afdeling_omschrijving prs_afdeling_naam7,
pb.prs_bedrijf_naam || '-' || a.prs_afdeling_naam prs_afdeling_naam8,
UPPER(a.prs_afdeling_naam) prs_afdeling_upper,
a.prs_afdeling_omschrijving,
a.prs_kostenplaats_key,
@@ -595,8 +599,9 @@ CREATE_VIEW(prs_v_afdeling, 0)
b.prs_bedrijf_key,
a.prs_perslid_key_verantw,
b.niveau
FROM prs_afdeling a, prs_v_afdeling_fullnames b
WHERE a.prs_afdeling_key=b.prs_afdeling_key;
FROM prs_afdeling a, prs_v_afdeling_fullnames b, prs_bedrijf pb
WHERE a.prs_afdeling_key = b.prs_afdeling_key
AND b.prs_bedrijf_key = pb.prs_bedrijf_key;
-- NB: dit is een overrule!
DEFINIEER_VIEW_AANWEZIG(prs_v_afdeling,

View File

@@ -627,6 +627,10 @@ CREATE_TABLE(res_rsv_ruimte, 0)
NUMBER(4)
DEFAULT 0
NOT_NULL(res_rsv_ruimte_extern_meeting, res_c_rsv_extern_meeting)
, res_rsv_ruimte_visibility -- 0=Private, 1=Normal
NUMBER(4)
DEFAULT 1
NOT NULL
, res_rsv_ruimte_teverzenden -- 1=nieuw 2=update
NUMBER(1)
DEFAULT 0

View File

@@ -678,7 +678,8 @@ CREATE_VIEW(res_v_udr_reservering, 1)
activiteit,
srtactiviteit_key,
activiteitsoort,
opmerking
opmerking,
visibility
)
AS
SELECT rrr.res_rsv_ruimte_key,
@@ -853,7 +854,8 @@ AS
ra.res_activiteit_omschrijving,
rsa.res_srtactiviteit_key,
rsa.res_srtactiviteit_omschrijving,
rrr.res_rsv_ruimte_opmerking
rrr.res_rsv_ruimte_opmerking,
rrr.res_rsv_ruimte_visibility
FROM res_v_aanwezigrsv_ruimte rrr,
res_activiteit ra,
res_srtactiviteit rsa,
@@ -951,6 +953,7 @@ CREATE_VIEW(res_v_udr_reserveringincl, 1)
srtactiviteit_key,
activiteitsoort,
opmerking,
visibility,
bezorgmode,
voorziening_discipline_key,
voorziening_type,
@@ -1145,6 +1148,7 @@ AS
rsa.res_srtactiviteit_key,
rsa.res_srtactiviteit_omschrijving,
rrr.res_rsv_ruimte_opmerking,
rrr.res_rsv_ruimte_visibility,
DECODE(rrr.res_rsv_ruimte_cvab_mode, 0, lcl.l('lcl_res_afhalen'), 1, lcl.l('lcl_res_bezorgen'), ''),
voorz.ins_discipline_key,
voorz.vtype,

View File

@@ -73,6 +73,8 @@ CREATE TABLE fac_imp_taak_mjob
, ins_srtcontrole_prioriteit NUMBER(3)
, fin_btwtabelwaarde_key NUMBER(10)
, prs_kostenplaats_key NUMBER(10)
, ins_srtcontroledl_xcp_aantal NUMBER(8,2)
, ins_srtcontroledl_xcp_aanteh VARCHAR2(30)
, ins_srtcontroledl_xcp_perc NUMBER(3)
, ins_srtcontroledl_xcp_opmerk VARCHAR2(320)
, ins_srtcontroledl_xcp_eenheid NUMBER(3)
@@ -83,7 +85,7 @@ CREATE TABLE fac_imp_taak_mjob
, prs_dienst_omschrijving VARCHAR2(60)
, ins_srtcontroledl_xcp_key NUMBER(10)
);
DEF_IMPORT('WEB_INSMGT', 'TAAK_MJOB', 'Import MJOB', 'Import MJOB', 0);
DEF_IMPORT('WEB_INSMGT', 'TAAK_MJOB', 'Import MJOB', 'Import MJOB', 1);
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#84691
CREATE_TABLE(mld_vervolg_beperking, 0)
@@ -197,7 +199,39 @@ ALTER TABLE ins_kenmerk DROP CONSTRAINT ins_r_ins_srtinstallatie_key1;
ALTER TABLE ins_kenmerk ADD CONSTRAINT ins_r_ins_srtinstallatie_key1 CHECK
(ins_srtinstallatie_key IS NOT NULL OR ins_kenmerk_niveau IN ('D', 'T'));
DEF_MENUITEM(2, 'lcl_menu_ins_taakkenmerken' , '', 'INS', 'appl/mgt/ins_kenmerk.asp?niveau=T', 0, 0, 'WEB_INSMGT', 'W', '1', '');
DEF_MENUITEM(2, 'lcl_menu_ins_taakkenmerken' , '', 'CTR', 'appl/mgt/ins_kenmerk.asp?niveau=T', 0, 0, 'WEB_CTRMGT', 'W', '1', '');
-- Aanmaken van het default menuitem "Taakkenmerken":
INSERT INTO fac_menu(fac_menuitems_key,
fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_image,
fac_menu_level,
fac_menu_info)
SELECT fac_menuitems_key,
(SELECT fm.fac_menu_volgnr
FROM fac_menu fm
WHERE fm.fac_menu_altlabel = 'lcl_menu_ins_kenmerken')
+ 1,
fac_menuitems_label,
fac_menuitems_url,
fac_menuitems_groep,
fac_menuitems_image,
CASE
WHEN fac_menuitems_groep IN (0, 1, 2) THEN 2
WHEN fac_menuitems_groep IN (3, 7) THEN 1
ELSE 0
END
fac_menu_level,
fac_menuitems_oms
FROM fac_menuitems i
WHERE fac_menuitems_label = 'lcl_menu_ins_taakkenmerken'
AND i.fac_menuitems_key NOT IN
(SELECT m.fac_menuitems_key
FROM fac_menu m
WHERE m.fac_menuitems_key IS NOT NULL);
/////////////////////////////////////////////////////////////////////////////////////////// YAXX#84507
UPDATE fac_setting
@@ -253,11 +287,20 @@ ALTER TABLE prs_srtperslid MODIFY ( prs_srtperslid_omschrijving VARCHAR2(100)
, prs_srtperslid_upper VARCHAR2(100));
ALTER TABLE fac_imp_perslid MODIFY (prs_srtperslid_omschrijving VARCHAR2(100));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#81526
ALTER TABLE fac_imp_taak_mjob
ADD ( ins_srtcontroledl_xcp_aantal NUMBER(8,2)
, ins_srtcontroledl_xcp_aanteh VARCHAR2(30)
);
/////////////////////////////////////////////////////////////////////////////////////////// AAXX#81521
ALTER TABLE res_rsv_ruimte
ADD res_rsv_ruimte_visibility NUMBER (4) DEFAULT 1 NOT NULL;
ALTER TABLE exc_import
ADD visibility NUMBER (4) DEFAULT 1;
ALTER TABLE exc_import
ADD CONSTRAINT exc_c_visibility CHECK
(modifier = 'D' OR visibility IS NOT NULL);
/////////////////////////////////////////////////////////////////////////////////////////// SCHG#85790
ALTER TABLE fac_imp_cnt
MODIFY (cnt_soort VARCHAR2(60));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000

98
_UP/DB49to49a.sql Normal file
View File

@@ -0,0 +1,98 @@
--
-- $Id$
--
-- Aanpassingen om DB49 (accp) naar de DB49a te brengen
-- Merk op dat de recreate er nog bij komt die de DB-version bijwerkt
--
-- MOET OOK ZIJN/WORDEN OPGENOMEN IN DB48to49.src !!!
DEFINE thisfile = 'DB49to49a.sql'
DEFINE dbuser = '*'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- /////////////////////////////////////////////////////////////////////////////////////////// AAXX#81521
ALTER TABLE res_rsv_ruimte
ADD res_rsv_ruimte_visibility NUMBER (4) DEFAULT 1 NOT NULL;
ALTER TABLE exc_import
ADD visibility NUMBER (4) DEFAULT 1;
ALTER TABLE exc_import
ADD CONSTRAINT exc_c_visibility CHECK
(modifier = 'D' OR visibility IS NOT NULL);
-- /////////////////////////////////////////////////////////////////////////////////////////// SCHG#85790
ALTER TABLE fac_imp_cnt
MODIFY (cnt_soort VARCHAR2(60));
-- /////////////////////////////////////////////////////////////////////////////////////////// FCLT#81526
UPDATE fac_import_app
SET fac_import_app_csv = 1
WHERE fac_import_app_code = 'TAAK_MJOB';
/////////////////////////////////////////////////////////////////////////////////////////// BAUS#80301
-- Autorisatie en module van het menuitem "Taakkenmerken" aanpassen van "WEB_INSMG" en "INS" naar "WEB_CTTMGT" en "CTR".
UPDATE fac_menuitems
SET fac_menuitems_module = 'CTR',
fac_functie_key = (SELECT fac_functie_key
FROM fac_functie
WHERE fac_functie_code = 'WEB_CTRMGT')
WHERE fac_menuitems_label = 'lcl_menu_ins_taakkenmerken';
-- Aanmaken van het default menuitem "Taakkenmerken":
INSERT INTO fac_menu(fac_menuitems_key,
fac_menu_volgnr,
fac_menu_altlabel,
fac_menu_alturl,
fac_menu_altgroep,
fac_menu_image,
fac_menu_level,
fac_menu_info)
SELECT fac_menuitems_key,
(SELECT fm.fac_menu_volgnr
FROM fac_menu fm
WHERE fm.fac_menu_altlabel = 'lcl_menu_ins_kenmerken')
+ 1,
fac_menuitems_label,
fac_menuitems_url,
fac_menuitems_groep,
fac_menuitems_image,
CASE
WHEN fac_menuitems_groep IN (0, 1, 2) THEN 2
WHEN fac_menuitems_groep IN (3, 7) THEN 1
ELSE 0
END
fac_menu_level,
fac_menuitems_oms
FROM fac_menuitems i
WHERE fac_menuitems_label = 'lcl_menu_ins_taakkenmerken'
AND i.fac_menuitems_key NOT IN
(SELECT m.fac_menuitems_key
FROM fac_menu m
WHERE m.fac_menuitems_key IS NOT NULL);
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile