327 lines
11 KiB
SQL
327 lines
11 KiB
SQL
-- Script containing customer specific configuration sql statements for CEVA Logistics
|
|
-- $Revision$
|
|
-- $Id$
|
|
|
|
|
|
DEFINE thisfile = 'CEVA.SQL'
|
|
DEFINE dbuser = '^CEVA'
|
|
DEFINE custid = 'CEVA'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SPOOL &fcltlogfile
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
CREATE OR REPLACE FORCE VIEW CEVA_V_RAP_VIS_NOCHECKOUT
|
|
(
|
|
BEZ_AFSPRAAK_KEY,
|
|
AFSPRAAKDATUM,
|
|
AFSPRAAKTIJDVANAF,
|
|
AFSPRAAKTIJDTOT,
|
|
GASTHEER,
|
|
BEZ_BEZOEK_KEY,
|
|
BEZOEKER,
|
|
BEDRIJF,
|
|
BADGENR,
|
|
TIJDBINNEN,
|
|
KENTEKEN,
|
|
TELEFOON
|
|
)
|
|
AS
|
|
SELECT
|
|
a.bez_afspraak_key,
|
|
TRUNC (a.bez_afspraak_datum) as datum_afspraak,
|
|
TO_CHAR (a.bez_afspraak_datum, 'HH24:MI') as vanaf,
|
|
TO_CHAR (a.bez_afspraak_eind, 'HH24:MI') as tot,
|
|
a.bez_afspraak_gastheer,
|
|
b.bez_bezoekers_key,
|
|
b.bez_afspraak_naam,
|
|
b.bez_afspraak_bedrijf,
|
|
b.bez_bezoekers_pasnr,
|
|
TO_CHAR (b.bez_bezoekers_done, 'HH24:MI') as TIJDBINNEN,
|
|
(SELECT kmw.bez_kenmerkwaarde_waarde
|
|
FROM bez_kenmerk km, bez_kenmerkwaarde kmw
|
|
WHERE km.bez_kenmerk_key = 1001 -- Key voor 'Licence plate'
|
|
AND b.bez_bezoekers_key = kmw.bez_bezoekers_key
|
|
AND km.bez_kenmerk_key = kmw.bez_kenmerk_key
|
|
AND km.bez_kenmerk_key = kmw.bez_kenmerk_key) as license_plate,
|
|
(SELECT kmw.bez_kenmerkwaarde_waarde
|
|
FROM bez_kenmerk km, bez_kenmerkwaarde kmw
|
|
WHERE km.bez_kenmerk_key = 1002 -- Key voor 'Mobile Phone'
|
|
AND b.bez_bezoekers_key = kmw.bez_bezoekers_key
|
|
AND km.bez_kenmerk_key = kmw.bez_kenmerk_key
|
|
AND km.bez_kenmerk_key = kmw.bez_kenmerk_key) as mobile_phone
|
|
FROM
|
|
bez_bezoekers b,
|
|
bez_afspraak a
|
|
WHERE
|
|
b.bez_afspraak_key = a.bez_afspraak_key
|
|
AND TRUNC (a.bez_afspraak_datum) = TRUNC (SYSDATE)
|
|
AND b.bez_bezoekers_done IS NOT NULL
|
|
AND b.bez_bezoekers_out IS NULL
|
|
-- ER KAN NOG EEN WHERE KOMEN OM TE SCOPEN NAAR LOCATIE
|
|
;
|
|
|
|
|
|
|
|
-- View om bij te houden welke menu items worden gebruikt.
|
|
|
|
/* Formatted on 7/10/2019 11:12:54 (QP5 v5.318) */
|
|
CREATE OR REPLACE VIEW CEVA_V_RAP_GUI_COUNTER
|
|
(
|
|
FAC_GUI_COUNTER_KEY,
|
|
FAC_GUI_COUNTER_GROUP,
|
|
FAC_GUI_COUNTER_INFO,
|
|
FAC_GUI_COUNTER_REFKEY,
|
|
FAC_GUI_COUNTER_CHOICE,
|
|
FAC_GUI_COUNTER_RESULT,
|
|
FAC_GUI_COUNTER_DATE,
|
|
PRS_PERSLID_KEY,
|
|
PRS_PERSLID_NAAM_FULL,
|
|
PRS_AFDELING_OMSCHRIJVING,
|
|
PRS_BEDRIJF_NAAM
|
|
)
|
|
AS
|
|
SELECT fgc.fac_gui_counter_key,
|
|
fgc.fac_gui_counter_group,
|
|
fgc.fac_gui_counter_info,
|
|
fgc.fac_gui_counter_refkey,
|
|
choice.fac_gui_counter_info fac_gui_counter_choice,
|
|
result.fac_gui_counter_info fac_gui_counter_result,
|
|
fac_gui_counter_date,
|
|
fgc.prs_perslid_key,
|
|
prs_perslid_naam_full,
|
|
afd.prs_afdeling_omschrijving,
|
|
bedr.prs_bedrijf_naam
|
|
FROM fac_gui_counter fgc,
|
|
prs_v_perslid_fullnames pf,
|
|
prs_perslid pr,
|
|
prs_afdeling afd,
|
|
prs_bedrijf bedr,
|
|
(SELECT fac_gui_counter_refkey, fac_gui_counter_info
|
|
FROM fac_gui_counter fgc
|
|
WHERE fac_gui_counter_info IS NOT NULL
|
|
AND fac_gui_counter_group = 'searchchoice') choice,
|
|
(SELECT fac_gui_counter_refkey, fac_gui_counter_info
|
|
FROM fac_gui_counter fgc
|
|
WHERE fac_gui_counter_info IS NOT NULL
|
|
AND fac_gui_counter_group = 'searchresult') result
|
|
WHERE fac_gui_counter_group = 'search'
|
|
AND fgc.fac_gui_counter_info IS NOT NULL
|
|
AND fgc.prs_perslid_key = pf.prs_perslid_key
|
|
AND choice.fac_gui_counter_refkey(+) = fgc.fac_gui_counter_key
|
|
AND result.fac_gui_counter_refkey(+) = fgc.fac_gui_counter_key
|
|
AND pr.prs_perslid_key = fgc.prs_perslid_key
|
|
AND afd.PRS_AFDELING_KEY = pr.prs_afdeling_key
|
|
AND bedr.prs_bedrijf_key = afd.prs_bedrijf_key
|
|
UNION ALL
|
|
SELECT fgc.fac_gui_counter_key,
|
|
fgc.fac_gui_counter_group,
|
|
fac_usrrap_omschrijving,
|
|
fgc.fac_gui_counter_refkey,
|
|
NULL,
|
|
NULL,
|
|
fac_gui_counter_date,
|
|
fgc.prs_perslid_key,
|
|
prs_perslid_naam_full,
|
|
afd.prs_afdeling_omschrijving,
|
|
bedr.prs_bedrijf_naam
|
|
FROM fac_gui_counter fgc,
|
|
prs_v_perslid_fullnames pf,
|
|
fac_usrrap fr,
|
|
prs_afdeling afd,
|
|
prs_perslid pr,
|
|
prs_bedrijf bedr
|
|
WHERE fgc.fac_gui_counter_group = 'report'
|
|
AND fgc.prs_perslid_key = pf.prs_perslid_key(+)
|
|
AND fr.fac_usrrap_key(+) = fgc.fac_gui_counter_refkey
|
|
AND pr.prs_perslid_key = fgc.prs_perslid_key
|
|
AND afd.PRS_AFDELING_KEY = pr.prs_afdeling_key
|
|
AND bedr.prs_bedrijf_key = afd.prs_bedrijf_key
|
|
UNION ALL
|
|
SELECT fgc.fac_gui_counter_key,
|
|
fgc.fac_gui_counter_group,
|
|
COALESCE (fac_menu_altlabel, lcl.l (fac_menuitems_label)),
|
|
fgc.fac_gui_counter_refkey,
|
|
NULL,
|
|
NULL,
|
|
fac_gui_counter_date,
|
|
fgc.prs_perslid_key,
|
|
prs_perslid_naam_full,
|
|
afd.prs_afdeling_omschrijving,
|
|
bedr.prs_bedrijf_naam
|
|
FROM fac_gui_counter fgc,
|
|
prs_v_perslid_fullnames pf,
|
|
prs_afdeling afd,
|
|
prs_bedrijf bedr,
|
|
prs_perslid pr,
|
|
fac_menu m,
|
|
fac_menuitems mi
|
|
WHERE fgc.fac_gui_counter_group = 'menu'
|
|
AND fgc.prs_perslid_key = pf.prs_perslid_key(+)
|
|
AND m.fac_menu_key = fac_gui_counter_refkey
|
|
AND mi.fac_menuitems_key(+) = m.fac_menuitems_key
|
|
AND pr.prs_perslid_key = fgc.prs_perslid_key
|
|
AND afd.PRS_AFDELING_KEY = pr.prs_afdeling_key
|
|
AND bedr.prs_bedrijf_key = afd.prs_bedrijf_key;
|
|
|
|
|
|
|
|
|
|
CREATE OR REPLACE FORCE VIEW CEVA_V_NOTI_VIS_NOCHECKOUT
|
|
(
|
|
CODE,
|
|
SENDER,
|
|
RECEIVER,
|
|
TEXT,
|
|
KEY,
|
|
XKEY
|
|
)
|
|
AS
|
|
SELECT 'CUST01',
|
|
NULL,
|
|
bez_afspraak_key,
|
|
'Bezoekers niet afgemeld',
|
|
(SELECT fac_usrrap_key
|
|
FROM fac_usrrap
|
|
WHERE fac_usrrap_view_name = 'CEVA_V_RAP_VIS_NOCHECKOUT'),
|
|
bez_bezoek_key
|
|
FROM CEVA_V_RAP_VIS_NOCHECKOUT
|
|
;
|
|
|
|
CREATE OR REPLACE VIEW ceva_v_noti_visitors
|
|
AS
|
|
SELECT NULL
|
|
sender,
|
|
NULL
|
|
receiver,
|
|
'Welcome to CEVA'
|
|
text,
|
|
'CUST02'
|
|
code,
|
|
b.bez_bezoekers_key
|
|
key,
|
|
NULL
|
|
xkey,
|
|
COALESCE (m.bez_kenmerkwaarde_waarde, b.bez_bezoekers_email)
|
|
xemail,
|
|
NULL
|
|
xmobile,
|
|
LISTAGG (bijl.bijlage, '|') WITHIN GROUP (ORDER BY bijl.bijlage)
|
|
AS attachments
|
|
FROM bez_bezoekers b,
|
|
bez_afspraak a,
|
|
alg_locatie l,
|
|
(SELECT af.bez_afspraak_key, fac_bijlagen_key bijlage
|
|
FROM fac_v_bijlagen bij, bez_afspraak af
|
|
WHERE fac_bijlagen_module = 'ALG'
|
|
AND af.alg_locatie_key = bij.fac_bijlagen_refkey
|
|
AND bij.fac_bijlagen_kenmerk_key = 1360) bijl, --Kenmerk attachment notificatie bij locatie (1340 in accept)
|
|
(SELECT fac_notificatie_job_nextrun, fac_notificatie_job_lastrun
|
|
FROM fac_notificatie_job
|
|
WHERE fac_notificatie_job_view = 'CEVA_V_NOTI_VISITORS') n,
|
|
(SELECT bk.bez_bezoekers_key, bk.bez_kenmerkwaarde_waarde
|
|
FROM bez_kenmerkwaarde bk
|
|
WHERE bk.bez_kenmerk_key = 1020 -- kenmerk email (1021 in accept)
|
|
AND bk.bez_kenmerkwaarde_verwijder IS NULL) m
|
|
WHERE b.bez_afspraak_key = a.bez_afspraak_key
|
|
AND a.alg_locatie_key = l.alg_locatie_key
|
|
AND a.bez_afspraak_key = bijl.bez_afspraak_key(+)
|
|
AND b.bez_bezoekers_key = m.bez_bezoekers_key(+)
|
|
AND b.bez_bezoekers_aanmaak BETWEEN n.fac_notificatie_job_lastrun
|
|
AND n.fac_notificatie_job_nextrun
|
|
GROUP BY alg_onrgoed_keys,
|
|
a.bez_afspraak_key,
|
|
b.bez_bezoekers_key,
|
|
bez_bezoekers_email,
|
|
m.bez_kenmerkwaarde_waarde;
|
|
|
|
CREATE OR REPLACE PACKAGE CEVA
|
|
AS
|
|
PROCEDURE schonen_personen;
|
|
END;
|
|
/
|
|
|
|
-- Dagelijks schonen personen die langer dan een jaar niet hebben ingelogd.
|
|
CREATE OR REPLACE PACKAGE BODY CEVA
|
|
AS
|
|
PROCEDURE schonen_personen
|
|
AS
|
|
c_applname VARCHAR2 (50) := 'SCHONEN_PERSONEN';
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_count_tot NUMBER (10) := 0;
|
|
|
|
v_perslid_key NUMBER (15);
|
|
|
|
CURSOR c IS
|
|
SELECT p.*
|
|
FROM prs_v_aanwezigperslid p, FAC_V_LCRAP_FE_VS_KEY_DATA u
|
|
WHERE p.prs_perslid_key = u.prs_perslid_key
|
|
AND ( TRUNC (p.prs_perslid_login) <
|
|
TRUNC (SYSDATE) - 365
|
|
AND p.prs_perslid_login IS NOT NULL)
|
|
UNION ALL
|
|
SELECT p.*
|
|
FROM prs_v_aanwezigperslid p, FAC_V_LCRAP_FE_VS_KEY_DATA u
|
|
WHERE p.prs_perslid_key = u.prs_perslid_key
|
|
AND ( TRUNC (p.prs_perslid_aanmaak) <
|
|
TRUNC (SYSDATE) - 365
|
|
AND p.prs_perslid_login IS NULL);
|
|
BEGIN
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
v_perslid_key := rec.prs_perslid_key;
|
|
prs.delete_perslid (1, v_perslid_key);
|
|
END;
|
|
END LOOP;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.writelog (c_applname,
|
|
'E',
|
|
v_errormsg,
|
|
'Daily achtergrond taak afgebroken!');
|
|
END;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE CEVA_DAILY
|
|
AS
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
BEGIN
|
|
-- Dagelijks schonen personen die langer dan een jaar niet hebben ingelogd.
|
|
ceva.schonen_personen ();
|
|
END;
|
|
/
|
|
|
|
------ 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 |