366 lines
13 KiB
SQL
366 lines
13 KiB
SQL
-- Script containing customer specific configuration sql statements for GDFS: Gaz de France Suez
|
|
-- (c) 2011 SG facilitor
|
|
-- $Revision$
|
|
-- $Id$
|
|
--
|
|
-- Support: +31 53 4800700
|
|
|
|
|
|
SPOOL xGDFS.LST
|
|
SET ECHO ON
|
|
|
|
CREATE OR REPLACE VIEW gdfs_v_rap_bezoekers
|
|
(
|
|
fclt_d_datum_in,
|
|
tijd_in,
|
|
datum_uit,
|
|
tijd_uit,
|
|
naam,
|
|
bedrijf,
|
|
fclt_f_gebouw,
|
|
gastheer,
|
|
duur
|
|
)
|
|
AS
|
|
SELECT TO_CHAR (COALESCE (bez_bezoekers_done, TRUNC (bez_afspraak_datum)),
|
|
'dd-mm-yyyy')
|
|
datum_in,
|
|
TO_CHAR (COALESCE (bez_bezoekers_done, TRUNC (bez_afspraak_datum)),
|
|
'hh24:mi:ss')
|
|
tijd_in,
|
|
TO_CHAR (
|
|
COALESCE (bez_bezoekers_out, TRUNC (bez_afspraak_eind + 1)),
|
|
'dd-mm-yyyy')
|
|
datum_uit,
|
|
TO_CHAR (
|
|
COALESCE (bez_bezoekers_out, TRUNC (bez_afspraak_eind + 1)),
|
|
'hh24:mi:ss')
|
|
tijd_uit,
|
|
b.bez_afspraak_naam,
|
|
b.bez_afspraak_bedrijf,
|
|
aog.alg_gebouw_naam,
|
|
a.bez_afspraak_gastheer,
|
|
TO_CHAR (
|
|
TRUNC( (COALESCE (bez_bezoekers_out,
|
|
TRUNC (bez_afspraak_eind + 1))
|
|
- COALESCE (bez_bezoekers_done,
|
|
TRUNC (bez_afspraak_datum)))
|
|
* 24),
|
|
'FM00')
|
|
|| ':'
|
|
|| TO_CHAR (
|
|
MOD (
|
|
( (COALESCE (bez_bezoekers_out,
|
|
TRUNC (bez_afspraak_eind + 1))
|
|
- COALESCE (bez_bezoekers_done,
|
|
TRUNC (bez_afspraak_datum)))
|
|
* 24),
|
|
1)
|
|
* 60,
|
|
'FM00')
|
|
duur
|
|
FROM bez_bezoekers b, bez_afspraak a, alg_v_onroerendgoed_gegevens aog
|
|
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
|
AND A.ALG_ONRGOED_KEYS = AOG.ALG_ONROERENDGOED_KEYS
|
|
AND (bez_bezoekers_out IS NOT NULL
|
|
OR bez_bezoekers_done IS NOT NULL);
|
|
|
|
|
|
CREATE OR REPLACE VIEW gdfs_v_contactpersoon_perslid
|
|
(
|
|
code,
|
|
omschrijving
|
|
)
|
|
AS
|
|
SELECT 90000000 + prs_contactpersoon_key,
|
|
cp.prs_contactpersoon_naam
|
|
|| NVL2 (cp.prs_contactpersoon_voorletters,
|
|
', ' || cp.prs_contactpersoon_voorletters,
|
|
'')
|
|
|| NVL2 (cp.prs_contactpersoon_tussenv,
|
|
' ' || cp.prs_contactpersoon_tussenv,
|
|
'')
|
|
|| NVL2 (cp.prs_contactpersoon_voornaam,
|
|
' (' || cp.prs_contactpersoon_voornaam || ')',
|
|
'')
|
|
|| ' ['
|
|
|| prs_bedrijf_naam
|
|
|| ']'
|
|
FROM prs_contactpersoon cp, prs_bedrijf b
|
|
WHERE cp.prs_bedrijf_key = b.prs_bedrijf_key
|
|
UNION ALL
|
|
SELECT prs_perslid_key,
|
|
p.prs_perslid_naam
|
|
|| NVL2 (p.prs_perslid_voorletters,
|
|
', ' || p.prs_perslid_voorletters,
|
|
'')
|
|
|| NVL2 (p.prs_perslid_tussenvoegsel,
|
|
' ' || p.prs_perslid_tussenvoegsel,
|
|
'')
|
|
|| NVL2 (p.prs_perslid_voornaam,
|
|
' (' || p.prs_perslid_voornaam || ')',
|
|
'')
|
|
|| ' [Intern]'
|
|
FROM prs_perslid p
|
|
WHERE prs_perslid_verwijder IS NULL;
|
|
|
|
CREATE OR REPLACE FORCE VIEW GDFS_V_RAP_INS_UITGIFTE
|
|
(
|
|
FCLT_D_DATUM,
|
|
OBJECT,
|
|
UITGEGEVENAAN,
|
|
UITLEENDATUM,
|
|
INNAMEDATUM,
|
|
INGELEVERDDOOR
|
|
)
|
|
AS
|
|
SELECT TO_CHAR (uitleen.fac_tracking_datum, 'dd-mm-yyyy') fclt_f_datum,
|
|
ins_deel_omschrijving,
|
|
SUBSTR (
|
|
uitleen.fac_tracking_oms,
|
|
instr(uitleen.fac_tracking_oms, 'is uitgegeven aan') + 18,
|
|
DECODE (INSTR (uitleen.fac_tracking_oms, CHR (10)),
|
|
0, 50,
|
|
INSTR (uitleen.fac_tracking_oms, CHR (10)) - (instr(uitleen.fac_tracking_oms, 'is uitgegeven aan') + 18))),
|
|
TO_CHAR (uitleen.fac_tracking_datum, 'dd-mm-yyyy hh24:mi:ss')
|
|
uitleendatum,
|
|
TO_CHAR (inname.fac_tracking_datum, 'dd-mm-yyyy hh24:mi:ss')
|
|
innamedatum,
|
|
(SELECT omschrijving
|
|
FROM gdfs_v_contactpersoon_perslid
|
|
WHERE code =
|
|
fac.safe_to_number(SUBSTR (
|
|
inname.fac_tracking_oms,
|
|
INSTR (inname.fac_tracking_oms,
|
|
'Ingel')
|
|
+ 28)))
|
|
ingeleverddoor
|
|
FROM fac_tracking uitleen,
|
|
fac_tracking inname,
|
|
(SELECT t.fac_tracking_key uitleen,
|
|
(SELECT MIN (fac_tracking_key)
|
|
FROM fac_tracking inname
|
|
WHERE inname.fac_tracking_key > t.fac_tracking_key
|
|
AND inname.fac_srtnotificatie_key = 63
|
|
AND inname.fac_tracking_refkey =
|
|
t.fac_tracking_refkey)
|
|
inname,
|
|
d.ins_deel_omschrijving
|
|
FROM fac_tracking t, ins_deel d
|
|
WHERE fac_srtnotificatie_key = 62
|
|
AND fac_tracking_refkey = d.ins_deel_key) uitlening
|
|
WHERE uitlening.uitleen = uitleen.fac_tracking_key
|
|
AND uitlening.inname = inname.fac_tracking_key(+)
|
|
UNION ALL
|
|
SELECT TO_CHAR (inname.fac_tracking_datum, 'dd-mm-yyyy') fclt_f_datum,
|
|
ins_deel_omschrijving,
|
|
uitleen.fac_tracking_oms,
|
|
TO_CHAR (uitleen.fac_tracking_datum, 'dd-mm-yyyy hh24:mi:ss')
|
|
uitleendatum,
|
|
TO_CHAR (inname.fac_tracking_datum, 'dd-mm-yyyy hh24:mi:ss')
|
|
innamedatum,
|
|
(SELECT omschrijving
|
|
FROM gdfs_v_contactpersoon_perslid
|
|
WHERE code =
|
|
fac.safe_to_number(SUBSTR (
|
|
inname.fac_tracking_oms,
|
|
INSTR (inname.fac_tracking_oms,
|
|
'Ingel')
|
|
+ 28)))
|
|
ingeleverddoor
|
|
FROM fac_tracking uitleen,
|
|
fac_tracking inname,
|
|
(SELECT t.fac_tracking_key uitleen,
|
|
(SELECT MIN (fac_tracking_key)
|
|
FROM fac_tracking inname
|
|
WHERE inname.fac_tracking_key > t.fac_tracking_key
|
|
AND inname.fac_srtnotificatie_key = 63
|
|
AND inname.fac_tracking_refkey =
|
|
t.fac_tracking_refkey)
|
|
inname,
|
|
d.ins_deel_omschrijving
|
|
FROM fac_tracking t, ins_deel d
|
|
WHERE fac_srtnotificatie_key = 62
|
|
AND fac_tracking_refkey = d.ins_deel_key) uitlening
|
|
WHERE uitlening.uitleen = uitleen.fac_tracking_key
|
|
AND uitlening.inname = inname.fac_tracking_key
|
|
AND TRUNC (uitleen.fac_tracking_datum) <>
|
|
TRUNC (inname.fac_tracking_datum);
|
|
|
|
-- voorbeeld rapport voor als we de kilometers ook bij gaan houden.
|
|
-- blijkt nu echter erg traag te worden.
|
|
CREATE OR REPLACE VIEW gdfs_v_rap_uitgifte_basis
|
|
(
|
|
objectx,
|
|
uitgegevenaan,
|
|
uitleendatum,
|
|
innamedatum,
|
|
ingeleverddoor,
|
|
km_begin,
|
|
km_eind
|
|
)
|
|
AS
|
|
SELECT ins_deel_omschrijving objectx,
|
|
SUBSTR (
|
|
uitleen.fac_tracking_oms,
|
|
INSTR (uitleen.fac_tracking_oms, 'is uitgegeven aan') + 18,
|
|
DECODE (
|
|
INSTR (uitleen.fac_tracking_oms, CHR (10)),
|
|
0,
|
|
50,
|
|
INSTR (uitleen.fac_tracking_oms, CHR (10))
|
|
- (INSTR (uitleen.fac_tracking_oms, 'is uitgegeven aan') + 18))),
|
|
uitleen.fac_tracking_datum uitleendatum,
|
|
inname.fac_tracking_datum innamedatum,
|
|
(SELECT omschrijving
|
|
FROM gdfs_v_contactpersoon_perslid
|
|
WHERE code =
|
|
fac.safe_to_number(SUBSTR (
|
|
inname.fac_tracking_oms,
|
|
INSTR (inname.fac_tracking_oms,
|
|
'Ingel')
|
|
+ 28)))
|
|
ingeleverddoor,
|
|
fac.safe_to_number(SUBSTR (inname.kilometers,
|
|
0,
|
|
INSTR (inname.kilometers, ' --> ') - 1))
|
|
km_begin,
|
|
fac.safe_to_number(SUBSTR (
|
|
inname.kilometers,
|
|
INSTR (inname.kilometers, ' --> ') + 5,
|
|
INSTR (inname.kilometers, CHR (10))
|
|
- (INSTR (inname.kilometers, ' --> ') + 5)))
|
|
km_eind
|
|
FROM fac_tracking uitleen,
|
|
(SELECT fac_tracking_key,
|
|
fac_tracking_datum,
|
|
fac_tracking_oms,
|
|
SUBSTR (
|
|
fac_tracking_oms,
|
|
INSTR (fac_tracking_oms, 'Kilometerstand: ') + 16,
|
|
DECODE (INSTR (fac_tracking_oms, 'Kilometerstand: '),
|
|
0, 0,
|
|
100))
|
|
kilometers
|
|
FROM fac_tracking) inname,
|
|
(SELECT t.fac_tracking_key uitleen,
|
|
(SELECT MIN (fac_tracking_key)
|
|
FROM fac_tracking inname
|
|
WHERE inname.fac_tracking_key > t.fac_tracking_key
|
|
AND inname.fac_srtnotificatie_key = 63
|
|
AND inname.fac_tracking_refkey = t.fac_tracking_refkey)
|
|
inname,
|
|
d.ins_deel_omschrijving
|
|
FROM fac_tracking t, ins_deel d
|
|
WHERE fac_srtnotificatie_key = 62
|
|
AND fac_tracking_refkey = d.ins_deel_key) uitlening
|
|
WHERE uitlening.uitleen = uitleen.fac_tracking_key
|
|
AND uitlening.inname = inname.fac_tracking_key(+);
|
|
|
|
CREATE OR REPLACE VIEW gdfs_v_rap_ins_tracking
|
|
(
|
|
hide_f_datum,
|
|
fclt_d_datum,
|
|
tijdstip,
|
|
fclt_f_type,
|
|
fclt_f_object,
|
|
actie,
|
|
omschrijving
|
|
)
|
|
AS
|
|
SELECT TO_CHAR (fac_tracking_datum, 'yyyymmdd hh24mi'),
|
|
TO_CHAR (fac_tracking_datum, 'dd-mm-yyyy'),
|
|
TO_CHAR (fac_tracking_datum, 'hh24:mi'),
|
|
ins_srtdeel_omschrijving,
|
|
ins_deel_omschrijving,
|
|
DECODE (fac_srtnotificatie_key, 62, 'Uitgifte', 'Inname') actie,
|
|
fac_tracking_oms
|
|
FROM ins_deel d, ins_srtdeel sd, fac_tracking t
|
|
WHERE d.ins_deel_key = t.fac_tracking_refkey
|
|
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND t.fac_srtnotificatie_key IN (62, 63);
|
|
|
|
|
|
CREATE OR REPLACE VIEW GDFS_V_RAP_DIENSTRAPPORT
|
|
(
|
|
HIDE_F_DATUM,
|
|
FCLT_D_DATUM,
|
|
DIENSTRAPPORT,
|
|
PERSOON
|
|
)
|
|
AS
|
|
SELECT to_char(mld_melding_datum, 'yyyymmddhh24'),
|
|
to_char(m.mld_melding_datum, 'dd-mm-yyyy'),
|
|
m.mld_melding_key,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames pf
|
|
WHERE pf.prs_perslid_key = m.prs_perslid_key)
|
|
FROM mld_melding m
|
|
WHERE mld_stdmelding_key = 2;
|
|
|
|
CREATE OR REPLACE VIEW gdfs_v_export_kenteken
|
|
(
|
|
prs_contactpersoon_key,
|
|
kenteken_nieuw,
|
|
kenteken_oud,
|
|
prs_kenmerklink_key,
|
|
result,
|
|
result_order
|
|
)
|
|
AS
|
|
SELECT b.prs_contactpersoon_key,
|
|
k.bez_kenmerkwaarde_waarde,
|
|
kl.prs_kenmerklink_waarde,
|
|
kl.prs_kenmerklink_key,
|
|
b.prs_contactpersoon_key || ';' || k.bez_kenmerkwaarde_waarde || ';' || kl.prs_kenmerklink_waarde || ';' || kl.prs_kenmerklink_key,
|
|
NULL
|
|
FROM bez_bezoekers b,
|
|
bez_afspraak a,
|
|
bez_kenmerkwaarde k,
|
|
(SELECT prs_kenmerklink_key, prs_kenmerklink_waarde, prs_link_key
|
|
FROM prs_kenmerklink
|
|
WHERE prs_kenmerklink_niveau = 'C' AND prs_kenmerk_key = 1002) kl
|
|
WHERE b.bez_afspraak_key = a.bez_afspraak_key
|
|
AND TRUNC (a.bez_afspraak_datum) = TRUNC (SYSDATE)
|
|
AND k.bez_kenmerk_key = 1000
|
|
AND k.bez_bezoekers_key = b.bez_bezoekers_key
|
|
AND b.prs_contactpersoon_key = kl.prs_link_key(+);
|
|
|
|
CREATE OR REPLACE PROCEDURE gdfs_export_kenteken (p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
UPDATE prs_kenmerklink kl
|
|
SET prs_kenmerklink_waarde =
|
|
(SELECT MAX(kenteken_nieuw)
|
|
FROM gdfs_v_export_kenteken gk
|
|
WHERE gk.prs_kenmerklink_key = kl.prs_kenmerklink_key)
|
|
WHERE EXISTS (SELECT kenteken_nieuw
|
|
FROM gdfs_v_export_kenteken gk
|
|
WHERE gk.prs_kenmerklink_key = kl.prs_kenmerklink_key);
|
|
|
|
INSERT INTO prs_kenmerklink (prs_link_key,
|
|
prs_kenmerklink_niveau,
|
|
prs_kenmerklink_waarde,
|
|
prs_kenmerk_key)
|
|
SELECT prs_contactpersoon_key,
|
|
'C',
|
|
MAX(kenteken_nieuw),
|
|
1002
|
|
FROM gdfs_v_export_kenteken
|
|
WHERE prs_kenmerklink_key IS NULL
|
|
GROUP BY prs_contactpersoon_key;
|
|
END;
|
|
/
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN fac.registercustversion('GDFS', 4); END;
|
|
/
|
|
|
|
COMMIT;
|
|
|
|
SPOOL OFF
|