ASTE#82955 Afsplitsing Astellas Meppel --> Delpharm
svn path=/Customer/trunk/; revision=64116
This commit is contained in:
@@ -1,306 +0,0 @@
|
|||||||
SQL> WHENEVER SQLERROR EXIT;
|
|
||||||
SQL> SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
|
||||||
old 1: SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL
|
|
||||||
new 1: SELECT adm.checkscriptcust('^DPHM') AS fcltcusttxt FROM DUAL
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SQL> WHENEVER SQLERROR CONTINUE;
|
|
||||||
SQL> ---------------------------------------
|
|
||||||
SQL> PROMPT &fcltcusttxt
|
|
||||||
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
|
|
||||||
Version 19.3.0.0.0
|
|
||||||
Time: 2024-04-02 09:19:13
|
|
||||||
OS-user: AAREON\suzanw
|
|
||||||
TERMINAL: AARNLNB0236
|
|
||||||
HOST: AAREON\AARNLNB0236
|
|
||||||
LANGUAGE: AMERICAN_AMERICA.WE8MSWIN1252
|
|
||||||
CURRENT_USER: DPHM
|
|
||||||
SESSION_USER: DPHM
|
|
||||||
DB_DOMAIN: sg.nl
|
|
||||||
DB_NAME: work12
|
|
||||||
SERVER_HOST: facdb001
|
|
||||||
SERVICE_NAME: work12.sg.nl
|
|
||||||
IP_ADDRESS: 172.20.48.191
|
|
||||||
SQL> ---------------------------------------
|
|
||||||
SQL> SET DEFINE OFF
|
|
||||||
SQL>
|
|
||||||
SQL> ------ payload begin ------
|
|
||||||
SQL>
|
|
||||||
SQL> CREATE OR REPLACE VIEW dphm_v_rap_import_log
|
|
||||||
2 (
|
|
||||||
3 fclt_f_applicatie,
|
|
||||||
4 datum,
|
|
||||||
5 fclt_f_status,
|
|
||||||
6 omschrijving,
|
|
||||||
7 hint
|
|
||||||
8 )
|
|
||||||
9 AS
|
|
||||||
10 SELECT COALESCE (fac_import_app_code, imp_log_applicatie),
|
|
||||||
11 TO_CHAR (imp_log_datum, 'dd-mm-yyyy hh24:mi'),
|
|
||||||
12 imp_log_status,
|
|
||||||
13 imp_log_omschrijving,
|
|
||||||
14 imp_log_hint
|
|
||||||
15 FROM imp_log il1, fac_import fi1, fac_import_app fia1
|
|
||||||
16 WHERE il1.fac_import_key = fi1.fac_import_key(+)
|
|
||||||
17 AND fi1.fac_import_app_key = fia1.fac_import_app_key(+)
|
|
||||||
18 AND NOT EXISTS
|
|
||||||
19 (SELECT 1
|
|
||||||
20 FROM imp_log il2, fac_import fi2
|
|
||||||
21 WHERE il2.fac_import_key = fi2.fac_import_key
|
|
||||||
22 AND fi2.fac_import_app_key = fi1.fac_import_app_key
|
|
||||||
23 AND il2.fac_import_key > il1.fac_import_key);
|
|
||||||
|
|
||||||
View created.
|
|
||||||
|
|
||||||
SQL>
|
|
||||||
SQL> CREATE OR REPLACE PROCEDURE dphm_import_prs (p_import_key IN NUMBER)
|
|
||||||
2 AS
|
|
||||||
3 v_errormsg VARCHAR2 (1000) := '-';
|
|
||||||
4 v_errorhint VARCHAR2 (1000) := '-';
|
|
||||||
5 oracle_err_num NUMBER;
|
|
||||||
6 oracle_err_mes VARCHAR2 (200);
|
|
||||||
7 BEGIN
|
|
||||||
8 v_errorhint := 'Generieke import';
|
|
||||||
9
|
|
||||||
10 -- Achteraan elke regel ';' toevoegen, dan zou er altijd een 6e ';' moeten zijn!
|
|
||||||
11 UPDATE fac_imp_file i
|
|
||||||
12 SET i.fac_imp_file_line = fac_imp_file_line || ';'
|
|
||||||
13 WHERE fac_import_key = p_import_key;
|
|
||||||
14
|
|
||||||
15 -- Functie-kolom toevoegen als 7e kolom en zetten op 'Employee' (want verplicht)!
|
|
||||||
16 UPDATE fac_imp_file i
|
|
||||||
17 SET i.fac_imp_file_line =
|
|
||||||
18 SUBSTR (fac_imp_file_line, 1, INSTR (fac_imp_file_line, ';', 1, 6))
|
|
||||||
19 || 'Employee'
|
|
||||||
20 WHERE fac_import_key = p_import_key AND fac_imp_file_index > 1;
|
|
||||||
21
|
|
||||||
22 -- Als Last Name is leeg (NULL), dan First Name = '-' en Last Name = First Name!
|
|
||||||
23 UPDATE fac_imp_file i
|
|
||||||
24 SET i.fac_imp_file_line =
|
|
||||||
25 '-;'
|
|
||||||
26 || SUBSTR (fac_imp_file_line, 1, INSTR (fac_imp_file_line, ';', 1, 1) - 1)
|
|
||||||
27 || SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 2))
|
|
||||||
28 WHERE fac_import_key = p_import_key
|
|
||||||
29 AND fac_imp_file_index > 1
|
|
||||||
30 AND SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 1)
|
|
||||||
31 + 1, INSTR (fac_imp_file_line, ';', 1, 2)
|
|
||||||
32 - INSTR (fac_imp_file_line, ';', 1, 1)
|
|
||||||
33 - 1) IS NULL;
|
|
||||||
34
|
|
||||||
35 -- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE.
|
|
||||||
36 --"First Name;Last Name;E-mail address;Windows ID;Organisation;Department"
|
|
||||||
37 prs.import_perslid (
|
|
||||||
38 p_import_key,
|
|
||||||
39 '0;0;0;0;0;0;5;2;0;1;'
|
|
||||||
40 || '0;0;0;0;0;0;0;3;0;0;'
|
|
||||||
41 || '7;4;0;0;0;0;6;0;0;0;'
|
|
||||||
42 || '0;0;0;0;0;0;0;0;0;0;'
|
|
||||||
43 || '0;0;0;0;0;0',
|
|
||||||
44 '%First Name;Last Name;E-mail address;Windows ID;Organisation;Department%');
|
|
||||||
45
|
|
||||||
46 -- Klantspecifieke aanpassingen.
|
|
||||||
47
|
|
||||||
48 COMMIT;
|
|
||||||
49 EXCEPTION
|
|
||||||
50 WHEN OTHERS
|
|
||||||
51 THEN
|
|
||||||
52 oracle_err_num := SQLCODE;
|
|
||||||
53 oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
||||||
54 v_errormsg :=
|
|
||||||
55 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
|
|
||||||
56 fac.imp_writelog (p_import_key,
|
|
||||||
57 'E',
|
|
||||||
58 v_errormsg || v_errorhint,
|
|
||||||
59 'Inleesproces personen afgebroken!');
|
|
||||||
60 END dphm_import_prs;
|
|
||||||
61 /
|
|
||||||
|
|
||||||
Procedure created.
|
|
||||||
|
|
||||||
SQL>
|
|
||||||
SQL> CREATE OR REPLACE PROCEDURE dphm_update_prs (p_import_key IN NUMBER)
|
|
||||||
2 AS
|
|
||||||
3 -- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een e-mail
|
|
||||||
4 c_max_delta_percentage NUMBER (10) := 50; -- 50%!
|
|
||||||
5 v_count_prs_import NUMBER (10); -- #actieve personen na import!
|
|
||||||
6 v_count_prs_actual NUMBER (10); -- #actieve personen voor import!
|
|
||||||
7
|
|
||||||
8 -- Let op! Personen die niet meer in dienst zijn -> niet in fac_imp_perslid!
|
|
||||||
9 -- Dubbele oslogins? Dan wordt iemand mogelijk niet verwijderd/INACTIEF!
|
|
||||||
10 CURSOR c_del
|
|
||||||
11 IS
|
|
||||||
12 SELECT p.prs_perslid_key, p.prs_perslid_oslogin
|
|
||||||
13 FROM prs_v_aanwezigperslid p
|
|
||||||
14 WHERE (p.prs_perslid_oslogin IS NULL
|
|
||||||
15 OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak
|
|
||||||
16 AND p.prs_perslid_oslogin2 IS NULL
|
|
||||||
17 AND NOT EXISTS
|
|
||||||
18 (SELECT 1
|
|
||||||
19 FROM fac_imp_perslid i
|
|
||||||
20 WHERE UPPER (i.prs_perslid_oslogin) =
|
|
||||||
21 UPPER (p.prs_perslid_oslogin))
|
|
||||||
22 ORDER BY 2, 1;
|
|
||||||
23 BEGIN
|
|
||||||
24 -- Bepaal oslogin-match tussen FACILITOR en RECENT importbestand ofwel het aantal
|
|
||||||
25 -- actieve personen na import.
|
|
||||||
26 -- RECENT betekent niet meer dan een kwartiertje oud (14,4 minuten); dit voorkomt
|
|
||||||
27 -- dat - als er geen nieuw importbestand is aangeleverd - telkens dezelfde fouten
|
|
||||||
28 -- worden gerapporteerd (nl. op basis van een oud bestand in FAC_IMP_PERSLID).
|
|
||||||
29 --SELECT COUNT ( * )
|
|
||||||
30 -- INTO v_count_prs_import
|
|
||||||
31 -- FROM prs_v_aanwezigperslid p, fac_imp_perslid i
|
|
||||||
32 -- WHERE p.prs_perslid_oslogin IS NOT NULL
|
|
||||||
33 -- AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin);
|
|
||||||
34 SELECT COUNT (DISTINCT prs_perslid_oslogin)
|
|
||||||
35 INTO v_count_prs_import
|
|
||||||
36 FROM fac_imp_perslid;
|
|
||||||
37
|
|
||||||
38 -- Bepaal huidig aantal actieve personen in FACILITOR.
|
|
||||||
39 SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
|
||||||
40 INTO v_count_prs_actual
|
|
||||||
41 FROM prs_v_aanwezigperslid
|
|
||||||
42 WHERE prs_perslid_oslogin IS NOT NULL;
|
|
||||||
43
|
|
||||||
44 IF (TRUNC ( (v_count_prs_import / v_count_prs_actual) * 100) <
|
|
||||||
45 (100 - c_max_delta_percentage))
|
|
||||||
46 THEN
|
|
||||||
47 fac.imp_writelog (
|
|
||||||
48 p_import_key,
|
|
||||||
49 'E',
|
|
||||||
50 'Verschil tussen huidig aantal en te importeren aantal personen te groot; zie specificatie!',
|
|
||||||
51 '- max. verschilpercentage = ['
|
|
||||||
52 || TO_CHAR (c_max_delta_percentage)
|
|
||||||
53 || '%]'
|
|
||||||
54 || CHR (13)
|
|
||||||
55 || CHR (10)
|
|
||||||
56 || '- #personen/import = ['
|
|
||||||
57 || TO_CHAR (v_count_prs_import)
|
|
||||||
58 || ']'
|
|
||||||
59 || CHR (13)
|
|
||||||
60 || CHR (10)
|
|
||||||
61 || '- #personen/huidig = ['
|
|
||||||
62 || TO_CHAR (v_count_prs_actual)
|
|
||||||
63 || ']');
|
|
||||||
64
|
|
||||||
65 RETURN;
|
|
||||||
66 END IF;
|
|
||||||
67
|
|
||||||
68 -- Generieke update.
|
|
||||||
69 prs.update_perslid (p_import_key, 'LOGIN', NULL);
|
|
||||||
70
|
|
||||||
71 -- Verwijder personen die niet meer in de import voorkomen.
|
|
||||||
72 FOR rec IN c_del
|
|
||||||
73 LOOP
|
|
||||||
74 prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
|
||||||
75 END LOOP;
|
|
||||||
76 END dphm_update_prs;
|
|
||||||
77 /
|
|
||||||
|
|
||||||
Procedure created.
|
|
||||||
|
|
||||||
SQL>
|
|
||||||
SQL> CREATE OR REPLACE VIEW dphm_v_rap_meldingenbeh
|
|
||||||
2 (
|
|
||||||
3 call_number,
|
|
||||||
4 mld_melding_datum,
|
|
||||||
5 call_date,
|
|
||||||
6 call_time,
|
|
||||||
7 end_date,
|
|
||||||
8 place,
|
|
||||||
9 building,
|
|
||||||
10 FLOOR,
|
|
||||||
11 room_descr,
|
|
||||||
12 room_nr,
|
|
||||||
13 discipline_type,
|
|
||||||
14 fclt_3d_discipline_key,
|
|
||||||
15 discipline,
|
|
||||||
16 call,
|
|
||||||
17 description,
|
|
||||||
18 progress,
|
|
||||||
19 requestor,
|
|
||||||
20 status,
|
|
||||||
21 update_dat,
|
|
||||||
22 update_name,
|
|
||||||
23 update_desc
|
|
||||||
24 )
|
|
||||||
25 AS
|
|
||||||
26 SELECT m.mld_melding_key,
|
|
||||||
27 mld_melding_datum,
|
|
||||||
28 TO_CHAR (mld_melding_datum, 'DD-MM-YYYY') mld_datum,
|
|
||||||
29 TO_CHAR (mld_melding_datum, 'HH24:MI') mld_time,
|
|
||||||
30 mld_melding_einddatum,
|
|
||||||
31 aog.alg_plaatsaanduiding,
|
|
||||||
32 aog.alg_gebouw_naam,
|
|
||||||
33 aog.alg_verdieping_code,
|
|
||||||
34 aog.alg_ruimte_omschrijving,
|
|
||||||
35 aog.alg_ruimte_nr,
|
|
||||||
36 ins_srtdiscipline_omschrijving,
|
|
||||||
37 ins_discipline_key,
|
|
||||||
38 ins_discipline_omschrijving,
|
|
||||||
39 mld_stdmelding_omschrijving,
|
|
||||||
40 mld_melding_omschrijving,
|
|
||||||
41 mld_melding_opmerking,
|
|
||||||
42 pf.prs_perslid_naam_full,
|
|
||||||
43 mld_statuses_omschrijving,
|
|
||||||
44 TO_CHAR (behand.datum, 'DD-MM-YYYY HH24:MI') dat,
|
|
||||||
45 behand.naam,
|
|
||||||
46 COALESCE (behand.omschr, behand.def_track)
|
|
||||||
47 FROM mld_melding m,
|
|
||||||
48 mld_stdmelding std,
|
|
||||||
49 mld_discipline d,
|
|
||||||
50 ins_srtdiscipline sd,
|
|
||||||
51 mld_statuses st,
|
|
||||||
52 prs_v_perslid_fullnames_all pf,
|
|
||||||
53 alg_v_allonrgoed_gegevens aog,
|
|
||||||
54 (SELECT n.mld_melding_note_aanmaak datum,
|
|
||||||
55 n.mld_melding_note_key,
|
|
||||||
56 pf.prs_perslid_naam_friendly naam,
|
|
||||||
57 n.mld_melding_note_omschrijving omschr,
|
|
||||||
58 NULL def_track,
|
|
||||||
59 mld_melding_key
|
|
||||||
60 FROM mld_melding_note n, prs_v_perslid_fullnames_all pf
|
|
||||||
61 WHERE n.prs_perslid_key = pf.prs_perslid_key(+)
|
|
||||||
62 UNION
|
|
||||||
63 SELECT tr.fac_tracking_datum,
|
|
||||||
64 tr.fac_tracking_key,
|
|
||||||
65 pf.prs_perslid_naam_friendly,
|
|
||||||
66 tr.fac_tracking_oms,
|
|
||||||
67 DECODE (str.fac_srtnotificatie_code,
|
|
||||||
68 'MLDNEW', lcl.l ('lcl_mld_is_mldnew'),
|
|
||||||
69 'MLDING', lcl.l ('lcl_mld_is_mlding'),
|
|
||||||
70 'MLDDOO', lcl.l ('lcl_mld_is_mlddoo'),
|
|
||||||
71 'MLDDFWD', lcl.l ('lcl_mld_is_mldfwd'),
|
|
||||||
72 'MLDDBWD', lcl.l ('lcl_mld_is_mldbwd'),
|
|
||||||
73 'MLDUPD', lcl.l ('lcl_mld_is_mldupd'),
|
|
||||||
74 'MLDACP', lcl.l ('lcl_mld_is_mldacp'),
|
|
||||||
75 'MLDBEH', lcl.l ('lcl_mld_is_mldbeh'),
|
|
||||||
76 'MLDREJ', lcl.l ('lcl_mld_is_mldrej'),
|
|
||||||
77 'MLDAFM', lcl.l ('lcl_mld_is_mldafm'),
|
|
||||||
78 'MLDer', lcl.l ('lcl_mld_is_mldver'),
|
|
||||||
79 'MLDNOT', lcl.l ('lcl_mld_is_mldnot'))
|
|
||||||
80 def_track,
|
|
||||||
81 fac_tracking_refkey
|
|
||||||
82 FROM fac_tracking tr,
|
|
||||||
83 fac_srtnotificatie str,
|
|
||||||
84 prs_v_perslid_fullnames_all pf
|
|
||||||
85 WHERE tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key
|
|
||||||
86 AND tr.prs_perslid_key = pf.prs_perslid_key(+)
|
|
||||||
87 AND str.fac_srtnotificatie_code <> 'MLDNOT'
|
|
||||||
88 AND str.fac_srtnotificatie_xmlnode IN ('melding')) behand
|
|
||||||
89 WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
||||||
90 AND d.ins_discipline_key = std.mld_ins_discipline_key
|
|
||||||
91 AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
|
||||||
92 AND m.prs_perslid_key = pf.prs_perslid_key
|
|
||||||
93 AND aog.alg_onroerendgoed_keys = m.mld_alg_onroerendgoed_keys
|
|
||||||
94 AND behand.mld_melding_key(+) = m.mld_melding_key
|
|
||||||
95 AND st.mld_statuses_key = m.mld_melding_status
|
|
||||||
96 AND fac_activiteit_key IS NULL;
|
|
||||||
|
|
||||||
View created.
|
|
||||||
|
|
||||||
SQL>
|
|
||||||
SQL> CREATE OR REPLACE VIEW dphm_v_rap_meldingenbeh_last90
|
|
||||||
2 AS
|
|
||||||
3 SELECT *
|
|
||||||
Reference in New Issue
Block a user