-- -- $Id$ -- -- Script containing customer specific sql statements for the FACILITOR database -- -- -- -- -- DEFINE thisfile = 'TMGP.SQL' DEFINE dbuser = 'TMGP' SET ECHO ON SET DEFINE ON COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT; COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT; WHENEVER SQLERROR CONTINUE; SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL; SPOOL &fcltlogfile WHENEVER SQLERROR EXIT; SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL; WHENEVER SQLERROR CONTINUE; --------------------------------------- PROMPT &fcltcusttxt --------------------------------------- SET DEFINE OFF ------ payload begin ------ -- Personen import CREATE OR REPLACE PROCEDURE TMGP_IMPORT_PERSONEN(p_import_key NUMBER) AS BEGIN fac_import_perslid(p_import_key); END; / -- Check of persoon p basis van werknermID bekend is. -- ALs deze niet bekend is controleren we of de wergevenNr er de initalen in staan van de email adres, -- indien ja dan updaten van record metbhet juiste werknermersnr -- Inine niet dan moete we de persoon aanmaken. -- CREATE OR REPLACE PROCEDURE TMGP_UPDATE_PERSONEN(p_import_key NUMBER) AS CURSOR c (v_import_key NUMBER) IS SELECT * FROM fac_imp_perslid WHERE fac_import_key=v_import_key; CURSOR c_del(v_import_key NUMBER) IS SELECT p.prs_perslid_key FROM prs_perslid p WHERE p.prs_perslid_verwijder IS NULL AND p.prs_perslid_inactief IS NULL AND p.prs_perslid_nr NOT IN (SELECT prs_perslid_nr FROM fac_imp_perslid WHERE fac_import_key=v_import_key); v_errormsg VARCHAR2 (1000); v_errorhint VARCHAR2 (1000); v_aanduiding VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_date DATE; v_count NUMBER; v_insert_count NUMBER:=0; v_update_count NUMBER:=0; v_ongw_count NUMBER:=0; v_prs_perslid_key NUMBER; v_functie NUMBER; v_afdeling_key NUMBER; v_action VARCHAR2(10); v_afdeling_code PRS_afdeling.prs_afdeling_naam%TYPE; v_prs_perslid_naam PRS_PERSLID.PRS_PERSLID_NAAM%TYPE; v_prs_perslid_email PRS_PERSLID.PRS_PERSLID_EMAIL%TYPE; v_prs_perslid_nr PRS_PERSLID.PRS_PERSLID_NR%TYPE; v_prs_perslid_externid PRS_PERSLID.PRS_PERSLID_EXTERNID%TYPE; v_prs_oslogin PRS_PERSLID.PRS_PERSLID_OSLOGIN%TYPE; BEGIN BEGIN SELECT prs_srtperslid_key INTO v_functie FROM prs_srtperslid WHERE prs_srtperslid_upper='MEDEWERKER'; EXCEPTION WHEN NO_DATA_FOUND THEN v_functie:=1; END; FOR rec IN c(p_import_key) LOOP v_errormsg:='Fout bij ophalen persoon via medewerkerNr' ||rec.prs_kenmerk1 ; v_prs_perslid_key:=-1; -- ken ik de persoon op basis van het medewerkerNr (prs_kenmerk1) BEGIN SELECT prs_perslid_key INTO v_prs_perslid_key from prs_perslid where prs_perslid_externID=UPPER(rec.prs_kenmerk1) AND prs_perslid_verwijder IS NULL; v_action:='UPDATE'; EXCEPTION WHEN NO_DATA_FOUND THEN v_prs_perslid_key:=-1; END; IF v_prs_perslid_key < 0 THEN v_errormsg:='Fout bij ophalen persoon via medewerker initialen'|| SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1); BEGIN SELECT prs_perslid_key, prs_perslid_naam, prs_perslid_email, prs_perslid_nr, prs_perslid_externID INTO v_prs_perslid_key, v_prs_perslid_naam, v_prs_perslid_email, v_prs_perslid_nr, v_prs_perslid_externid FROM prs_perslid WHERE prs_perslid_oslogin=UPPER(SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1)) AND prs_perslid_verwijder IS NULL; v_action:= 'UPDATE'; EXCEPTION WHEN NO_DATA_FOUND THEN -- We kennen de persoon echt niet dus gaan we hem toevoegen v_action:='INSERT'; END; END IF; BEGIN v_errormsg:='Fout bij ophalen afdeling'; SELECT prs_afdeling_key, prs_afdeling_naam into v_afdeling_key, v_afdeling_code from prs_afdeling where prs_afdeling_naam=rec.prs_afdeling_naam AND prs_afdeling_verwijder IS NULL; EXCEPTION WHEN NO_DATA_FOUND THEN v_aanduiding :='Afdeling '||rec.prs_afdeling_naam||' is niet gevonden dus '||rec.prs_perslid_naam||' is niet aangemaakt'; v_errormsg:='Afdeling fout'; v_action := ''; END; IF v_action='INSERT' THEN -- We kennen de persoon echt niet dus gaan we hem toevoegen v_errormsg:='Fout bij toevoegen van perslid '|| rec.prs_perslid_naam; IF INSTR(rec.prs_perslid_email,'@')> 1 THEN v_prs_oslogin := SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1); -- Die persoon die een email adres hebben moeten onderdeel worden van de _Default groep ELSE v_prs_oslogin:=NULL; END IF; INSERT INTO prs_perslid (prs_perslid_naam, prs_perslid_voornaam, prs_perslid_tussenvoegsel, prs_perslid_email, prs_perslid_oslogin, prs_perslid_externid, prs_perslid_nr, prs_afdeling_key, prs_srtperslid_key) VALUES(rec.prs_perslid_naam, rec.prs_perslid_voornaam, rec.prs_perslid_tussenvoegsel, rec.prs_perslid_email, v_prs_oslogin, rec.prs_kenmerk1, rec.prs_perslid_nr, v_afdeling_key, v_functie); v_insert_count:=v_insert_count+1; ELSIF v_action='UPDATE' THEN -- We kennen de persoon wel dus gaan we hem updaten maar alleen als er mutaties zijn tov zijn huidge gegevens UPDATE prs_perslid SET prs_perslid_naam=rec.prs_perslid_naam, prs_perslid_voornaam=rec.prs_perslid_voornaam, prs_perslid_tussenvoegsel=rec.prs_perslid_tussenvoegsel, prs_perslid_email=rec.prs_perslid_email, prs_perslid_oslogin=SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1), prs_perslid_nr=rec.prs_perslid_nr, prs_perslid_externid=rec.prs_kenmerk1, prs_afdeling_key=v_afdeling_key WHERE prs_perslid_key=v_prs_perslid_key AND (prs_perslid_nr != rec.prs_perslid_nr OR prs_perslid_naam != rec.prs_perslid_naam OR prs_perslid_email != rec.prs_perslid_email -- OR prs_perslid_oslogin != rec.prs_kenmerk1 OR prs_afdeling_key != v_afdeling_key); v_update_count:=v_update_count+1; v_aanduiding:=''; END IF; IF LENGTH(v_aanduiding)>1 THEN v_errorhint := v_errormsg || ' - ' || v_aanduiding; fac.imp_writelog (p_import_key, 'W', v_errormsg, v_errorhint); ELSE v_aanduiding:=''; END IF; END LOOP; fac.imp_writelog (p_import_key, 'W', 'Resultaat', v_insert_count||' accounts toegevoegd.'); FOR rec_del IN c_del(p_import_key) LOOP prs.delete_perslid (p_import_key, rec_del.prs_perslid_key); END LOOP; EXCEPTION WHEN OTHERS THEN v_errorhint := v_errormsg || ' - ' || v_aanduiding; oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 100); v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes; fac.imp_writelog (p_import_key, 'E', v_errormsg, v_errorhint); END; / -- IMport van data set uit de PAT tester CREATE OR REPLACE PROCEDURE TMGP_IMPORT_PATDATA(p_import_key NUMBER) AS BEGIN fac_import_genericcsv(p_import_key); END; / CREATE OR REPLACE PROCEDURE TMGP_UPDATE_PATDATA(p_import_key NUMBER) AS v_date DATE; BEGIN SELECT SYSDATE INTO v_date FROM DUAL; END; / -- Einde import PAT tester -- Import procedure voor inlezen perriodiek taken CREATE OR REPLACE PROCEDURE TMGP_IMPORT_TAKEN_OVERIG(p_import_key IN NUMBER) AS BEGIN DELETE FROM fac_imp_csv; fac_import_genericcsv(p_import_key); END; / CREATE OR REPLACE PROCEDURE TMGP_UPDATE_TAKEN_OVERIG(p_import_key IN NUMBER) AS CURSOR c IS SELECT fac_imp_csv_col01 ins_deel_omschrijving, fac_imp_csv_col02 taak_omschrijving, fac_imp_csv_col03 taak_categorie, fac_imp_csv_col04 taak_datum, fac_imp_csv_col05 taak_interval, fac_imp_csv_col06 taak_interval_periode, fac_imp_csv_col07 taak_interval_uitz, fac_imp_csv_col08 taak_interval_uitz_per from fac_imp_csv WHERE fac_import_key = p_import_key; v_errormsg VARCHAR2 (1000); v_errorhint VARCHAR2 (1000); v_aanduiding VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_eenheid NUMBER; v_eenheid_uitz NUMBER; v_periode_uitz NUMBER; v_deel_key NUMBER; v_ins_discipine_key NUMBER; v_ins_srtgroep_key NUMBER; v_ins_srtdeel_key NUMBER; v_ins_srtcontrole_niveau VARCHAR2(1); v_srtcontrole_key NUMBER; v_taakcat_key NUMBER; v_srtcontroledl_xcp_key NUMBER; BEGIN v_eenheid:=3; v_deel_key:=-1; FOR rec IN c LOOP IF UPPER(rec.taak_interval_periode)='J' THEN v_eenheid:=4; ELSIF UPPER(rec.taak_interval_periode)='M' THEN v_eenheid:=3; ELSIF UPPER(rec.taak_interval_periode)='W' THEN v_eenheid:=2; ELSIF UPPER(rec.taak_interval_periode)='D' THEN v_eenheid:=1; ELSE v_eenheid:=3; END IF; IF UPPER(rec.taak_interval_uitz_per)='J' THEN v_eenheid_uitz:=4; ELSIF UPPER(rec.taak_interval_uitz_per)='M' THEN v_eenheid_uitz:=3; ELSIF UPPER(rec.taak_interval_uitz_per)='W' THEN v_eenheid_uitz:=2; ELSIF UPPER(rec.taak_interval_uitz_per)='D' THEN v_eenheid_uitz:=1; END IF; IF (LENGTH(rec.taak_interval_uitz)>0) THEN v_periode_uitz:=fac.safe_to_number(rec.taak_interval_uitz); ELSE v_periode_uitz:=fac.safe_to_number(rec.taak_interval); END IF; --Haal het object, discipine , groep en objectsoort BEGIN v_errormsg :='Ophalen object '||rec.ins_deel_omschrijving; SELECT ins_deel_key, ins_discipline_key, ins_srtgroep_key, ins_srtdeel_key INTO v_deel_key, v_ins_discipine_key, v_ins_srtgroep_key, v_ins_srtdeel_key FROM ins_v_deel_gegevens WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving ; EXCEPTION WHEN NO_DATA_FOUND THEN v_deel_key:=-1; END; v_ins_srtcontrole_niveau:='S'; IF v_deel_key>0 THEN -- Haal taak categorie op indien niet aanwezig maak deze aan. v_errormsg :='Ophalen taakcetegorie '||rec.taak_categorie; SELECT ins_discipline_key INTO v_taakcat_key FROM ins_tab_discipline WHERE ins_discipline_module='CTR' AND UPPER(ins_discipline_omschrijving) = UPPER(rec.taak_categorie) AND ins_discipline_verwijder IS NULL; BEGIN SELECT ins_srtcontrole_key INTO v_srtcontrole_key FROM ins_srtcontrole where ins_srtinstallatie_key=v_ins_srtdeel_key AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau AND UPPER(ins_srtcontrole_omschrijving) = UPPER(rec.taak_omschrijving) AND ins_srtcontrole_periode=rec.taak_interval AND ins_srtcontrole_eenheid=v_eenheid AND ins_srtcontrole_mode=1 AND ctr_discipline_key=v_taakcat_key; EXCEPTION WHEN NO_DATA_FOUND THEN -- ins_srtcontrole is er niet dus maken we hem aan, INSERT INTO ins_srtcontrole (ins_srtinstallatie_key, ins_srtcontrole_niveau, ins_srtcontrole_omschrijving, ins_srtcontrole_periode, ins_srtcontrole_eenheid, ins_srtcontrole_mode, ctr_discipline_key ) VALUES (v_ins_srtdeel_key, v_ins_srtcontrole_niveau, SUBSTR(rec.taak_omschrijving,0,60), rec.taak_interval, v_eenheid, 1, v_taakcat_key ) RETURNING ins_srtcontrole_key INTO v_srtcontrole_key; END; BEGIN SELECT ins_srtcontroledl_xcp_key INTO v_srtcontroledl_xcp_key FROM ins_srtcontroledl_xcp WHERE ins_deel_key=v_deel_key AND ins_srtcontrole_key=v_srtcontrole_key AND ins_srtcontroledl_xcp_eenheid=v_eenheid; -- we hebben een xcp record dan updaten we nu alleen de startdatum UPDATE ins_srtcontroledl_xcp SET INS_SRTCONTROLEDL_XCP_STARTDAT=fac.safe_to_date(rec.taak_datum,'DD-MM-YYYY') WHERE ins_srtcontroledl_xcp_key = v_srtcontroledl_xcp_key; EXCEPTION WHEN NO_DATA_FOUND THEN -- Er is nog geen XCP record dus maken we er 1 met de verwachte startdatum IF v_eenheid_uitz>0 THEN v_eenheid:=v_eenheid_uitz; END IF; INSERT INTO ins_srtcontroledl_xcp (ins_srtcontrole_key, ins_deel_key, ins_srtcontroledl_xcp_eenheid, INS_SRTCONTROLEDL_XCP_PERIODE, INS_SRTCONTROLEDL_XCP_STARTDAT) VALUES (v_srtcontrole_key, v_deel_key, v_eenheid, v_periode_uitz, fac.safe_to_date(rec.taak_datum,'DD-MM-YYYY')); END; ELSE fac.imp_writelog (p_import_key, 'W', 'Object '||rec.ins_deel_omschrijving||' niet gevonden', 'Object niet gevonden'); END IF; --Heeft object END LOOP; EXCEPTION WHEN NO_DATA_FOUND THEN v_errorhint := v_errormsg || ' - ' || v_aanduiding; oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 100); v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes; fac.imp_writelog (p_import_key, 'E', v_errormsg, v_errorhint); END; / --EINDE Import procedure voor inlezen perriodiek taken --Import procedure voor inlezen periodiek MJOB CREATE OR REPLACE PROCEDURE TMGP_IMPORT_TAKEN_MJOB(p_import_key IN NUMBER) AS BEGIN DELETE FROM fac_imp_csv; fac_import_genericcsv(p_import_key); END; / CREATE OR REPLACE PROCEDURE TMGP_UPDATE_TAKEN_MJOB(p_import_key IN NUMBER) AS CURSOR c IS SELECT fac_imp_csv_col01 ins_deel_omschrijving, fac_imp_csv_col02 taak_omschrijving, fac_imp_csv_col03 taak_categorie, fac_imp_csv_col04 taak_datum, fac_imp_csv_col05 taak_interval, fac_imp_csv_col06 taak_interval_periode, fac_imp_csv_col07 taak_datum_oorspr, fac_imp_csv_col08 taak_datum_begroot, fac_imp_csv_col09 taak_opmerking, fac_imp_csv_col10 taak_werksoort, fac_imp_csv_col11 taak_kosten, fac_imp_csv_col12 taak_financiering, fac_imp_csv_col13 taak_grootboek, fac_imp_csv_col14 taak_grootboek_omsc from fac_imp_csv WHERE fac_import_key = p_import_key; v_errormsg VARCHAR2 (1000); v_errorhint VARCHAR2 (1000); v_aanduiding VARCHAR2 (1000); oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_eenheid NUMBER; v_deel_key NUMBER; v_ins_discipine_key NUMBER; v_ins_srtgroep_key NUMBER; v_ins_srtdeel_key NUMBER; v_ins_srtcontrole_niveau VARCHAR2(1); v_srtcontrole_key NUMBER; v_taakcat_key NUMBER; v_srtcontroledl_xcp_key NUMBER; v_eenheid_hoev VARCHAR2(10); v_kosten NUMBER; BEGIN v_eenheid:=3; FOR rec IN c LOOP IF UPPER(rec.taak_interval_periode)='J' THEN v_eenheid:=4; ELSIF UPPER(rec.taak_interval_periode)='M' THEN v_eenheid:=3; ELSIF UPPER(rec.taak_interval_periode)='W' THEN v_eenheid:=2; ELSIF UPPER(rec.taak_interval_periode)='D' THEN v_eenheid:=1; ELSE v_eenheid:=3; END IF; -- Bedrag strippen van euro en . tekens v_kosten := fac.safe_to_number(REPLACE((REPLACE(REPLACE(rec.taak_kosten,'€',''),'.','')),',','.')); --Haal het object, discipine , groep en objectsoort BEGIN v_errormsg :='Ophalen object '||rec.ins_deel_omschrijving; SELECT ins_deel_key, ins_discipline_key, ins_srtgroep_key, ins_srtdeel_key INTO v_deel_key, v_ins_discipine_key, v_ins_srtgroep_key, v_ins_srtdeel_key FROM ins_v_deel_gegevens WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving; EXCEPTION WHEN NO_DATA_FOUND THEN v_deel_key:=-1; END; v_ins_srtcontrole_niveau:='S'; IF v_deel_key > 0 THEN BEGIN SELECT ikd.ins_kenmerkdeel_waarde INTO v_eenheid_hoev FROM ins_kenmerkdeel ikd, ins_kenmerk ik WHERE ikd.ins_deel_key= v_deel_key AND ikd.ins_kenmerkdeel_verwijder IS NULL AND UPPER(ik.ins_kenmerk_omschrijving)='EENHEID' AND ikd.ins_kenmerk_key = ik.ins_kenmerk_key; EXCEPTION WHEN NO_DATA_FOUND THEN v_eenheid_hoev:=''; END; -- Haal taak categorie op indien niet aanwezig maak deze aan. v_errormsg :='Ophalen taakcetegorie '||rec.taak_categorie; SELECT ins_discipline_key INTO v_taakcat_key FROM ins_tab_discipline WHERE ins_discipline_module='CTR' AND UPPER(ins_discipline_omschrijving) = UPPER(rec.taak_categorie) AND ins_discipline_verwijder IS NULL; BEGIN SELECT ins_srtcontrole_key INTO v_srtcontrole_key FROM ins_srtcontrole where ins_srtinstallatie_key=v_ins_srtdeel_key AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau AND UPPER(ins_srtcontrole_omschrijving) = UPPER(rec.taak_omschrijving) AND ins_srtcontrole_periode=0 AND ins_srtcontrole_eenheid=v_eenheid AND ins_srtcontrole_mode=1 AND ctr_discipline_key=v_taakcat_key; EXCEPTION WHEN NO_DATA_FOUND THEN -- ins_srtcontrole is er niet dus maken we hem aan, INSERT INTO ins_srtcontrole (ins_srtinstallatie_key, ins_srtcontrole_niveau, ins_srtcontrole_omschrijving, ins_srtcontrole_periode, ins_srtcontrole_eenheid, ins_srtcontrole_mode, ctr_discipline_key ) VALUES (v_ins_srtdeel_key, v_ins_srtcontrole_niveau, rec.taak_omschrijving, 0, -- rec.taak_interval, v_eenheid, 1, v_taakcat_key ) RETURNING ins_srtcontrole_key INTO v_srtcontrole_key; END; -- XCP record m,aken met de verwachte startdatum INSERT INTO ins_srtcontroledl_xcp (ins_srtcontrole_key, ins_deel_key, ins_srtcontroledl_xcp_eenheid, ins_srtcontroledl_xcp_periode, ins_srtcontroledl_xcp_startdat, ins_srtcontroledl_xcp_kosten, ins_srtcontroledl_xcp_opmerk, ins_srtcontroledl_xcp_groep, ins_srtcontroledl_xcp_aanteh) VALUES (v_srtcontrole_key, v_deel_key, v_eenheid, rec.taak_interval, fac.safe_to_date(rec.taak_datum,'DD-MM-YYYY'), v_kosten, SUBSTR(rec.taak_opmerking,0,300), rec.taak_financiering||'-'||rec.taak_grootboek, v_eenheid_hoev); ELSE v_errormsg:='Object '||rec.ins_deel_omschrijving||' niet gevonden'; v_errorhint := v_errormsg || ' - ' || v_aanduiding; oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 100); fac.imp_writelog (p_import_key, 'W', v_errormsg, v_errorhint); END IF; END LOOP; EXCEPTION WHEN NO_DATA_FOUND THEN v_errorhint := v_errormsg || ' - ' || v_aanduiding; oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 100); v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes; fac.imp_writelog (p_import_key, 'E', v_errormsg, v_errorhint); END; / --EINDE Import procedure voor inlezen periodiek MJOB -- Import procedure voor inlezen cmdb assets met configuratie link in kenmkerk 1 kolom CREATE OR REPLACE PROCEDURE TMGP_IMPORT_CMDBASSETS(p_import_key IN NUMBER) AS BEGIN fac_import_ins(p_import_key); END; / CREATE OR REPLACE PROCEDURE TMGP_UPDATE_CMDBASSETS(p_import_key IN NUMBER) AS CURSOR sel IS SELECT i.ins_deel_key object_key, i2.ins_deel_key config_key from fac_imp_ins f, ins_deel i, ins_deel i2 WHERE i.ins_deel_omschrijving=f.ins_deel_omschrijving AND f.ins_kenmerkwaarde1 IS NOT NULL AND i2.ins_deel_omschrijving = f.ins_kenmerkwaarde1 AND (SELECT count(*) FROM ins_deelkoppeling idk WHERE idk.ins_deelkoppeling_van_key = i2.ins_deel_key AND idk.ins_deelkoppeling_naar_key =i.ins_deel_key)=0; oracle_err_num NUMBER; oracle_err_mes VARCHAR2 (200); v_errormsg VARCHAR2 (200); v_aanduiding VARCHAR2 (200); v_errorhint VARCHAR2 (200); BEGIN fac_update_ins(p_import_key); -- Voor die obejcten die onderdeel zijn van een configuratiengaan we nu de relatie leggen FOR rec IN sel LOOP v_aanduiding := 'Ins deel_key: ' || rec.object_key; v_errorhint := 'Configuratie koppeling fout tussen ' || rec.config_key|| ' en '||rec.object_key; BEGIN INSERT INTO ins_deelkoppeling(ins_deelkoppeling_van_key, ins_deelkoppeling_naar_key, ins_deelkoppeling_omschrijving, ins_deelkoppeling_aanmaak) VALUES (rec.config_key, rec.object_key, 'Configuratie koppeling', SYSDATE); fac.trackaction ('INSUPD', rec.config_key, 3, SYSDATE,'Object toegevoegd aan configuratie'); EXCEPTION WHEN OTHERS THEN oracle_err_num := SQLCODE; oracle_err_mes := SUBSTR (SQLERRM, 1, 100); fac.writelog ( 'Fout bij wegschrijven configuratie' , 'E', 'Error ' || v_aanduiding || oracle_err_num || '/' || oracle_err_mes, v_errorhint); END; END LOOP; END; / CREATE OR REPLACE VIEW TGMP_V_NLSFB ( FAC_USRDATA_KEY, FAC_USRDATA_CODE, FAC_USRDATA_OMSCHR ) AS SELECT fud.fac_usrdata_key, fud.fac_usrdata_code||'-'||fud.fac_usrdata_omschr, fud.fac_usrdata_omschr2 FROM fac_usrdata fud, fac_usrtab fut WHERE fut.fac_usrtab_naam='NLSFB' AND fud.fac_usrtab_key = fut.fac_usrtab_key AND fud.fac_usrdata_verwijder IS NULL; CREATE OR REPLACE VIEW TGMP_V_GROOTBOEK ( FAC_USRDATA_KEY, FAC_USRDATA_OMSCHR, FAC_USRDATA_OMSCHR2 ) AS SELECT fud.fac_usrdata_key, fud.fac_usrdata_code||'-'||fud.fac_usrdata_omschr, fud.fac_usrdata_omschr2 FROM fac_usrdata fud, fac_usrtab fut WHERE fut.fac_usrtab_naam='GROOTBOEK' AND fud.fac_usrtab_key = fut.fac_usrtab_key AND fud.fac_usrdata_verwijder IS NULL; CREATE OR REPLACE VIEW tmgp_v_takenlocatie AS SELECT isc.ins_srtcontrole_omschrijving taak_omschrijving, x.ins_srtcontroledl_xcp_startdat taak_startdatum, isg.ins_srtgroep_omschrijving object_groep, isd.ins_srtdeel_omschrijving object_soort, a.alg_gebouw_code gebouw_code, a.alg_gebouw_naam gebouw_naam FROM ins_srtcontroledl_xcp x, ins_srtcontrole isc, ins_deel i,ins_srtdeel isd, ins_srtgroep isg, alg_v_allonrgoed_gegevens a WHERE i.ins_deel_key = x.ins_deel_key AND isc.INS_SRTCONTROLE_KEY = x.INS_SRTCONTROLE_KEY AND a.alg_ruimte_key = i.ins_alg_ruimte_key AND isd.ins_srtdeel_key = i.ins_srtdeel_key AND isg.INS_SRTgROEP_KEY = isd.ins_srtgroep_key; CREATE OR REPLACE VIEW tmgp_v_opdracht_uren ( melding_key, melding_datum, melding_afgemeld, vakgroeptype, vakgroep, stdmelding, opdr_key, medewerker, uren ) AS SELECT m.mld_melding_key melding_key, m.mld_melding_datum melding_datum, TO_CHAR( m.mld_melding_datum,'YYYY') melding_jaar, TO_CHAR( m.mld_melding_datum,'MM') melding_maand, (SELECT f.fac_tracking_datum FROM fac_tracking f WHERE f.fac_tracking_refkey=m.mld_melding_key AND f.fac_srtnotificatie_key=47) melding_afgemeld, isd.ins_srtdiscipline_omschrijving vakgroeptype, md.ins_discipline_omschrijving vakgroep, ms.mld_stdmelding_omschrijving stdmelding, o.mld_opdr_key opdr_key, o.mld_opdr_bedrijfopdr_volgnr volgnr, p.prs_perslid_naam_friendly medewerker, u.mld_opdr_uren_besteed uren FROM mld_opdr o ,mld_melding m, prs_v_perslid_fullnames p, mld_opdr_uren u, mld_stdmelding ms , mld_discipline md, ins_srtdiscipline isd WHERE o.mld_typeopdr_key=501 -- Urenregistratie A=501 AND u.mld_opdr_key = o.mld_opdr_key AND o.mld_melding_key = m.mld_melding_key AND u.prs_perslid_key = p.prs_perslid_key AND ms.mld_stdmelding_key = m.mld_stdmelding_key AND md.ins_discipline_key=ms.mld_ins_discipline_key AND isd.ins_srtdiscipline_key = md.ins_srtdiscipline_key ------ payload end ------ SET DEFINE OFF BEGIN adm.systrackscriptId ('$Id$', 0); END; / COMMIT; SET ECHO OFF SPOOL OFF SET DEFINE ON PROMPT Logfile of this upgrade is: &fcltlogfile