1159 lines
45 KiB
SQL
1159 lines
45 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific sql statements for the FACILITOR database
|
|
-- Ook als het script gedraaid wordt voor de verkeerde cust wordt er een logfile gemaakt.
|
|
-- (dit in tegenstelling tot sample_xxxx.sql)
|
|
|
|
DEFINE thisfile = 'AKZO.SQL'
|
|
DEFINE dbuser = '^AKZO'
|
|
|
|
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 ------
|
|
|
|
CREATE OR REPLACE PACKAGE AKZO
|
|
AS
|
|
PROCEDURE upsert_inskenmerk (p_deel_key IN NUMBER,
|
|
p_srtkenmerk_key IN NUMBER,
|
|
p_waarde IN VARCHAR2);
|
|
|
|
PROCEDURE mld_after_insert (p_melding_key IN NUMBER);
|
|
|
|
PROCEDURE prs_mandaten;
|
|
|
|
PROCEDURE prs_autorisaties;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PACKAGE BODY AKZO
|
|
AS
|
|
PROCEDURE upsert_inskenmerk (p_deel_key IN NUMBER,
|
|
p_srtkenmerk_key IN NUMBER,
|
|
p_waarde IN VARCHAR2)
|
|
AS
|
|
v_kenmerk_key NUMBER;
|
|
v_srtkenmerk_type VARCHAR2 (1);
|
|
v_waarde VARCHAR2 (255);
|
|
v_objectnaam VARCHAR2 (30);
|
|
v_kolomnaam VARCHAR2 (30);
|
|
v_kolomtxt VARCHAR2 (30);
|
|
v_errormsg VARCHAR2 (1024);
|
|
v_aanduiding VARCHAR (200);
|
|
sql_stmt VARCHAR2 (1000);
|
|
ccount NUMBER;
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
|
|
v_kenmerkdeel_key NUMBER;
|
|
BEGIN
|
|
IF p_srtkenmerk_key IS NOT NULL AND p_waarde IS NOT NULL
|
|
THEN
|
|
v_errormsg :=
|
|
'Fout bepalen kenmerk van soort [' || p_srtkenmerk_key || ']';
|
|
|
|
SELECT k.ins_kenmerk_key, sk.ins_srtkenmerk_kenmerktype
|
|
INTO v_kenmerk_key, v_srtkenmerk_type
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
ins_v_aanwezigkenmerk k,
|
|
ins_v_aanwezigsrtkenmerk sk
|
|
WHERE d.ins_deel_key = p_deel_key
|
|
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND k.ins_srtkenmerk_key = p_srtkenmerk_key
|
|
AND ( ( k.ins_srtinstallatie_key = sd.ins_srtdeel_key
|
|
AND k.ins_kenmerk_niveau = 'S')
|
|
OR ( k.ins_srtinstallatie_key =
|
|
sg.ins_srtgroep_key
|
|
AND k.ins_kenmerk_niveau = 'G')
|
|
OR ( k.ins_srtinstallatie_key =
|
|
sg.ins_discipline_key
|
|
AND k.ins_kenmerk_niveau = 'D'))
|
|
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key;
|
|
|
|
IF v_srtkenmerk_type IN ('R', 'S')
|
|
THEN
|
|
v_errormsg := 'Fout bepalen eigen tabel';
|
|
|
|
SELECT COUNT (*)
|
|
INTO ccount
|
|
FROM ins_srtkenmerk sk, fac_kenmerkdomein d
|
|
WHERE sk.ins_srtkenmerk_key = p_srtkenmerk_key
|
|
AND sk.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key
|
|
AND d.fac_usrtab_key IS NOT NULL;
|
|
|
|
v_errormsg :=
|
|
'Fout bepalen nieuwe waarde [' || p_waarde || ']';
|
|
|
|
IF ccount = 1
|
|
THEN -- Eigen tabel
|
|
SELECT TO_CHAR (ud.fac_usrdata_key)
|
|
INTO v_waarde
|
|
FROM ins_srtkenmerk sk,
|
|
fac_kenmerkdomein d,
|
|
fac_v_aanwezigusrdata ud
|
|
WHERE sk.ins_srtkenmerk_key = p_srtkenmerk_key
|
|
AND sk.fac_kenmerkdomein_key =
|
|
d.fac_kenmerkdomein_key
|
|
AND d.fac_usrtab_key = ud.fac_usrtab_key
|
|
AND UPPER (TRIM (ud.fac_usrdata_omschr)) =
|
|
UPPER (p_waarde);
|
|
ELSE -- FACILITOR view/tabel waarbij we uitgaan van de key
|
|
v_waarde := p_waarde;
|
|
END IF;
|
|
ELSE -- C(haracter)/D(ate)/N(umeric)
|
|
v_waarde := p_waarde;
|
|
END IF;
|
|
|
|
v_errormsg := 'Fout bepalen huidige waarde';
|
|
|
|
SELECT COUNT (*), MAX (ins_kenmerkdeel_key)
|
|
INTO ccount, v_kenmerkdeel_key
|
|
FROM ins_v_aanwezigkenmerkdeel
|
|
WHERE ins_deel_key = p_deel_key
|
|
AND ins_kenmerk_key = v_kenmerk_key;
|
|
|
|
IF ccount = 0
|
|
THEN
|
|
v_errormsg := 'Fout toevoegen waarde [' || v_waarde || ']';
|
|
|
|
INSERT INTO ins_kenmerkdeel (ins_deel_key,
|
|
ins_kenmerk_key,
|
|
ins_kenmerkdeel_waarde)
|
|
VALUES (p_deel_key, v_kenmerk_key, v_waarde);
|
|
ELSE
|
|
v_errormsg := 'Fout bijwerken waarde [' || v_waarde || ']';
|
|
|
|
UPDATE ins_kenmerkdeel
|
|
SET ins_kenmerkdeel_waarde = v_waarde
|
|
WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
|
END IF;
|
|
END IF;
|
|
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.imp_writelog ('p_deel_key',
|
|
'W',
|
|
v_aanduiding || v_errormsg,
|
|
'upsert_inskenmerk');
|
|
END;
|
|
|
|
PROCEDURE mld_after_insert (p_melding_key IN NUMBER)
|
|
AS
|
|
v_errormsg VARCHAR2 (1024);
|
|
v_stdmelding_key NUMBER (10);
|
|
v_discipline_key NUMBER (10);
|
|
v_srtgroep_key NUMBER (10);
|
|
v_srtdeel_key NUMBER (10);
|
|
v_srtdeel_code VARCHAR2 (50);
|
|
v_perslid_naam VARCHAR (200);
|
|
v_perslid_voornaam VARCHAR (200);
|
|
v_perslid_tussenvoegsel VARCHAR (15);
|
|
v_perslid_geslacht NUMBER (10);
|
|
v_perslid_telefoonnr VARCHAR (15);
|
|
v_perslid_email VARCHAR (200);
|
|
v_startdatum DATE;
|
|
v_vervaldatum DATE;
|
|
v_vervaldatum_oud DATE;
|
|
v_pas_voor NUMBER (10);
|
|
v_deel_key NUMBER (10);
|
|
v_deel_oms VARCHAR2 (60);
|
|
v_aanduiding VARCHAR (200);
|
|
v_bedrijf VARCHAR2 (60);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
|
|
CURSOR c_melding IS
|
|
SELECT m.mld_melding_key,
|
|
m.mld_stdmelding_key,
|
|
m.prs_perslid_key_voor
|
|
FROM mld_melding m
|
|
WHERE m.mld_melding_key = p_melding_key;
|
|
BEGIN
|
|
v_aanduiding := '';
|
|
|
|
FOR rec IN c_melding
|
|
LOOP
|
|
BEGIN
|
|
v_stdmelding_key := rec.mld_stdmelding_key;
|
|
|
|
IF v_stdmelding_key = 41 -- aanvragen nieuwe badge, die moet aangemaakt worden
|
|
THEN
|
|
--- Welke badge wordt aangevraagd? op basis van een keuzelijst die alle objectsoorten toont
|
|
v_errormsg := 'Fout bepalen INS-objectsoort';
|
|
|
|
SELECT km.mld_kenmerkmelding_waarde,
|
|
sd.ins_srtdeel_code_upper
|
|
INTO v_srtdeel_key, v_srtdeel_code
|
|
FROM mld_kenmerkmelding km, ins_srtdeel sd
|
|
WHERE km.mld_kenmerk_key = 62
|
|
AND km.mld_kenmerkmelding_waarde =
|
|
sd.ins_srtdeel_key
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
v_errormsg := 'Fout bepalen ingangsdatum badge';
|
|
|
|
--- ingangsdatum badge bepalen, kenmerk in de melding
|
|
SELECT fac.safe_to_date (km.mld_kenmerkmelding_waarde,
|
|
'dd-mm-yyyy')
|
|
INTO v_startdatum
|
|
FROM mld_kenmerkmelding km
|
|
WHERE km.mld_kenmerk_key = 81
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
v_errormsg := 'Fout bepalen einddatum t-badge';
|
|
|
|
--- als het om een tijdelijke badge gaat, dat moet direct de einddatum op vandaag+ 1 jaar gezet worden
|
|
--- Passen die beginnen met AN zijn voor intern en dus onbeperkt geldig
|
|
SELECT (CASE
|
|
WHEN ins_srtdeel_code_upper NOT LIKE 'AN%'
|
|
THEN
|
|
ADD_MONTHS (TRUNC (v_startdatum), 12)
|
|
ELSE
|
|
NULL
|
|
END) eind_badge
|
|
INTO v_vervaldatum
|
|
FROM ins_srtdeel sd
|
|
WHERE sd.ins_srtdeel_key = v_srtdeel_key;
|
|
|
|
v_errormsg := 'Fout bepalen INS-discipline';
|
|
|
|
SELECT d.ins_discipline_key
|
|
INTO v_discipline_key
|
|
FROM ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
ins_tab_discipline d
|
|
WHERE sd.ins_srtdeel_key = v_srtdeel_key
|
|
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
|
|
AND d.ins_discipline_key = sg.ins_discipline_key
|
|
AND d.ins_discipline_module = 'INS';
|
|
|
|
v_errormsg := 'Fout bepalen INS-groepsoort';
|
|
|
|
SELECT sg.ins_srtgroep_key
|
|
INTO v_srtgroep_key
|
|
FROM ins_srtdeel sd, ins_srtgroep sg
|
|
WHERE sd.ins_srtdeel_key = v_srtdeel_key
|
|
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key;
|
|
|
|
v_errormsg := 'Fout toevoegen INS-object';
|
|
|
|
SELECT MAX (fac.safe_to_number (ins_deel_omschrijving))
|
|
+ 1
|
|
INTO v_deel_oms
|
|
FROM ins_deel d
|
|
WHERE ins_deel_verwijder IS NULL
|
|
AND ins_deel_module = 'INS';
|
|
|
|
|
|
v_errormsg := 'Fout aanmaken externe medewerker';
|
|
|
|
--- voor wie wordt de pas aangevraagd?
|
|
SELECT p.prs_perslid_key
|
|
INTO v_pas_voor
|
|
FROM mld_kenmerkmelding km, prs_perslid p
|
|
WHERE km.mld_kenmerk_key = 61
|
|
AND km.mld_kenmerkmelding_waarde =
|
|
p.prs_perslid_key
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
v_errormsg := 'Fout aanmaken pas';
|
|
|
|
INSERT INTO ins_deel (ins_discipline_key,
|
|
ins_srtdeel_key,
|
|
ins_deel_module,
|
|
ins_deel_omschrijving,
|
|
ins_deel_opmerking,
|
|
ins_alg_ruimte_key,
|
|
ins_alg_ruimte_type,
|
|
ins_alg_locatie_key,
|
|
ins_deel_aanmaak,
|
|
ins_deel_vervaldatum)
|
|
VALUES (v_discipline_key,
|
|
v_srtdeel_key,
|
|
'INS',
|
|
TO_CHAR (v_deel_oms),
|
|
'Toegangspas Sassenheim',
|
|
v_pas_voor,
|
|
'P',
|
|
NULL,
|
|
v_startdatum,
|
|
COALESCE (v_vervaldatum, NULL))
|
|
RETURNING ins_deel_key
|
|
INTO v_deel_key;
|
|
|
|
COMMIT;
|
|
|
|
--- noteren door wie de pas is aangevraagd, dat is de melder
|
|
akzo.upsert_inskenmerk (v_deel_key,
|
|
21,
|
|
rec.prs_perslid_key_voor);
|
|
|
|
--- bij een tijdelijke badge is bedrijf verplicht
|
|
--- bedrijf bepalen, kenmerk in de melding
|
|
SELECT COALESCE (km.prs_kenmerklink_waarde, 'AN SSH')
|
|
INTO v_bedrijf
|
|
FROM prs_perslid p,
|
|
(SELECT km.prs_kenmerklink_waarde, km.prs_link_key
|
|
FROM prs_kenmerklink km
|
|
WHERE km.prs_kenmerklink_key = 1020) km
|
|
WHERE km.prs_link_key(+) = p.prs_perslid_key
|
|
AND p.prs_perslid_key = v_pas_voor;
|
|
|
|
akzo.upsert_inskenmerk (v_deel_key,
|
|
41,
|
|
v_bedrijf);
|
|
|
|
-- en dan mag de melding direct weer afgesloten worden
|
|
UPDATE mld_melding m
|
|
SET m.mld_melding_status = 5
|
|
WHERE m.mld_melding_key = p_melding_key;
|
|
|
|
COMMIT;
|
|
END IF;
|
|
|
|
IF v_stdmelding_key = 42 -- verlengen badge
|
|
THEN
|
|
v_errormsg := 'Fout bepalen te verlengen pas';
|
|
|
|
--- om welke pas gaat het
|
|
SELECT fac.safe_to_number (km.mld_kenmerkmelding_waarde)
|
|
INTO v_deel_key
|
|
FROM mld_kenmerkmelding km
|
|
WHERE km.mld_kenmerk_key = 141
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
v_errormsg := 'Fout bepalen nieuwe einddatum t-badge';
|
|
|
|
--- nieuwe einddatum
|
|
SELECT fac.safe_to_date (km.mld_kenmerkmelding_waarde,
|
|
'dd-mm-yyyy')
|
|
INTO v_vervaldatum
|
|
FROM mld_kenmerkmelding km
|
|
WHERE km.mld_kenmerk_key = 142
|
|
AND km.mld_melding_key = p_melding_key;
|
|
|
|
--- oude vervaldatum
|
|
SELECT d.ins_deel_vervaldatum
|
|
INTO v_vervaldatum_oud
|
|
FROM ins_deel d
|
|
WHERE d.ins_deel_key = v_deel_key;
|
|
|
|
--- dan kan de pas bijgewerkt worden
|
|
UPDATE ins_deel d
|
|
SET ins_deel_vervaldatum = v_vervaldatum
|
|
WHERE d.ins_deel_key = v_deel_key;
|
|
|
|
-- Tracking
|
|
fac.trackaction (
|
|
'INSUPD',
|
|
v_deel_key,
|
|
NULL,
|
|
NULL,
|
|
'Vervaldatum bijgewerkt '
|
|
|| v_vervaldatum_oud
|
|
|| ' --> '
|
|
|| v_vervaldatum);
|
|
|
|
-- en dan mag de melding direct weer afgesloten worden
|
|
UPDATE mld_melding m
|
|
SET m.mld_melding_status = 5
|
|
WHERE m.mld_melding_key = p_melding_key;
|
|
|
|
COMMIT;
|
|
END IF;
|
|
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.imp_writelog (p_melding_key,
|
|
'W',
|
|
v_aanduiding || v_errormsg,
|
|
'');
|
|
|
|
COMMIT;
|
|
END;
|
|
END LOOP;
|
|
END;
|
|
|
|
PROCEDURE prs_mandaten
|
|
AS
|
|
-- Alle AkzoNobel medewerkers die nog geen mandaten hebben
|
|
CURSOR c IS
|
|
SELECT prs_perslid_key
|
|
FROM prs_perslid p
|
|
WHERE UPPER (p.prs_perslid_email) LIKE '%AKZONOBEL%'
|
|
AND prs_perslid_key NOT IN
|
|
(SELECT prs_perslid_key
|
|
FROM prs_perslidkostenplaats kpl);
|
|
|
|
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errormsg VARCHAR2 (200);
|
|
BEGIN
|
|
FOR rec IN c
|
|
LOOP
|
|
v_errormsg := 'Fout toekennen mandaten ' || rec.prs_perslid_key;
|
|
|
|
INSERT INTO prs_perslidkostenplaats (
|
|
prs_perslid_key,
|
|
prs_perslidkostenplaats_boeken,
|
|
prs_perslidkostenplaats_inzage)
|
|
VALUES (rec.prs_perslid_key, 1, 1);
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
'OTHERS (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.writelog ('Mandaten',
|
|
'E',
|
|
v_errormsg,
|
|
'');
|
|
END;
|
|
|
|
PROCEDURE prs_autorisaties
|
|
AS
|
|
-- Alle medewerkers zonder login of AkzoNobel mailadres moeten uit de _default autorisatie groep verwijderd worden
|
|
CURSOR c IS
|
|
SELECT p.prs_perslid_key
|
|
FROM fac_gebruikersgroep g, prs_perslid p
|
|
WHERE g.fac_groep_key = 1
|
|
AND g.prs_perslid_key = p.prs_perslid_key
|
|
AND p.prs_perslid_oslogin IS NULL
|
|
AND ( UPPER (p.prs_perslid_email) NOT LIKE '%AKZONOBEL%'
|
|
OR p.prs_perslid_email IS NULL);
|
|
|
|
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errormsg VARCHAR2 (200);
|
|
BEGIN
|
|
FOR rec IN c
|
|
LOOP
|
|
v_errormsg :=
|
|
'Fout opschonen autorisatie ' || rec.prs_perslid_key;
|
|
|
|
DELETE fac_gebruikersgroep g
|
|
WHERE g.fac_groep_key = 1
|
|
AND g.prs_perslid_key = rec.prs_perslid_key;
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
'OTHERS (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.writelog ('Mandaten',
|
|
'E',
|
|
v_errormsg,
|
|
'');
|
|
END;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_TIJDELIJK_PAS
|
|
(
|
|
INS_DEEL_OMSCHRIJVING,
|
|
INS_DEEL_KEY,
|
|
INS_DEEL_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT p.prs_perslid_naam_full
|
|
|| ' / '
|
|
|| sd.ins_srtdeel_omschrijving
|
|
|| ' '
|
|
|| d.ins_deel_omschrijving,
|
|
ins_deel_key,
|
|
ins_deel_verwijder
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
prs_v_perslid_fullnames_all p
|
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND sg.ins_srtgroep_key = 1
|
|
AND d.ins_alg_ruimte_type = 'P'
|
|
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
|
AND d.ins_deel_actief = 1
|
|
AND sd.ins_srtdeel_code_upper NOT LIKE 'AN%' --- alleen tijdelijk passen kunnen worden verlengd
|
|
ORDER BY p.prs_perslid_naam_full;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_SOORT_PAS
|
|
(
|
|
INS_SRTDEEL_KEY,
|
|
INS_SRTDEEL_OMSCHRIJVING,
|
|
INS_SRTDEEL_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT sd.ins_srtdeel_key,
|
|
ins_srtdeel_omschrijving,
|
|
ins_srtdeel_verwijder
|
|
FROM ins_srtdeel sd, ins_srtgroep gr
|
|
WHERE sd.ins_srtgroep_key = gr.ins_srtgroep_key
|
|
AND gr.ins_srtgroep_key = 1;
|
|
|
|
CREATE OR REPLACE FORCE VIEW AKZO_V_RAP_AANVR_BADGE
|
|
(
|
|
PERSONTYPE,
|
|
DISPLAYTYPE_CODE,
|
|
DISPLAYTYPE_NAAM,
|
|
PERSONEELSNUMMER,
|
|
ROEPNAAM,
|
|
VOORLETTERS,
|
|
TUSSENVOEGSEL,
|
|
ACHTERNAAM,
|
|
DATUM_IN_DIENST,
|
|
DATUM_UIT_DIENST,
|
|
KOSTENPLAATS_CODE,
|
|
KOSTENPLAATS_NAAM,
|
|
BUSINESS_UNIT_AN_CODE,
|
|
BUSINESS_UNIT_AN_NAAM,
|
|
AFDELING_AKZO_CODE,
|
|
AFDELING_AKZO_NAAM,
|
|
FIRMANAAM,
|
|
NEVENFUNCTIE_CODE,
|
|
NEVENFUNCTIE_NAAM,
|
|
WERKPLEK_CODE,
|
|
WERKPLEK_NAAM,
|
|
RUIMTE_CODE,
|
|
RUIMTE_NAAM
|
|
)
|
|
AS
|
|
SELECT UPPER (sd.ins_srtdeel_eenheid) persontype,
|
|
ins_srtdeel_nr displaytype_code,
|
|
ins_srtdeel_omschrijving displaytype_naam,
|
|
d.ins_deel_omschrijving personeelsnummer,
|
|
p.prs_perslid_voornaam roepnaam,
|
|
p.prs_perslid_voorletters voorletters,
|
|
p.prs_perslid_tussenvoegsel tussenvoegsel,
|
|
p.prs_perslid_naam achternaam,
|
|
d.ins_deel_aanmaak datum_in_dienst,
|
|
d.ins_deel_vervaldatum datum_uit_dienst,
|
|
a.prs_afdeling_naam kostenplaats_code,
|
|
a.prs_afdeling_omschrijving kostenplaats_naam,
|
|
'' business_unit_an_code,
|
|
'' business_unit_an_naam,
|
|
'' afdeling_akzo_code,
|
|
'' afdeling_akzo_naam,
|
|
bedrijf.ins_kenmerkdeel_waarde firmanaam,
|
|
'' nevenfunctie_code,
|
|
nevenfunctie.prs_kenmerklink_waarde nevenfunctie_naam,
|
|
werkplek.prs_werkplek_omschrijving werkplek_code,
|
|
werkplek.alg_ruimte_omschrijving werkplek_naam,
|
|
werkplek.ruimte_nr ruimte_code,
|
|
werkplek.alg_ruimte_omschrijving ruimte_naam
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
prs_perslid p,
|
|
prs_afdeling a,
|
|
(SELECT kl.prs_kenmerklink_waarde, kl.prs_link_key prs_perslid_key
|
|
FROM prs_kenmerklink kl
|
|
WHERE kl.prs_kenmerk_key = 1040
|
|
AND kl.prs_kenmerklink_verwijder IS NULL) nevenfunctie,
|
|
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
|
|
FROM ins_kenmerkdeel kd
|
|
WHERE kd.ins_kenmerk_key = 41
|
|
AND kd.ins_kenmerkdeel_verwijder IS NULL) bedrijf,
|
|
(SELECT min_pw.prs_perslid_key,
|
|
min_pw.prs_werkplek_key,
|
|
w.prs_werkplek_omschrijving,
|
|
g.alg_gebouw_code || '-' || r.alg_ruimte_nr ruimte_nr,
|
|
r.alg_ruimte_omschrijving
|
|
FROM prs_werkplek w,
|
|
alg_ruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g,
|
|
( SELECT prs_perslid_key,
|
|
MIN (prs_werkplek_key) prs_werkplek_key
|
|
FROM prs_perslidwerkplek
|
|
GROUP BY prs_perslid_key) min_pw
|
|
WHERE w.prs_alg_ruimte_key = r.alg_ruimte_key
|
|
AND v.alg_verdieping_key = r.alg_verdieping_key
|
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND min_pw.prs_werkplek_key = w.prs_werkplek_key) werkplek
|
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND sg.ins_srtgroep_key = 1
|
|
AND d.ins_alg_ruimte_type = 'P'
|
|
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
|
AND d.ins_deel_actief = 1
|
|
AND d.ins_deel_verwijder IS NULL
|
|
AND p.prs_perslid_key = nevenfunctie.prs_perslid_key (+)
|
|
AND d.ins_deel_key = bedrijf.ins_deel_key(+)
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key
|
|
AND p.prs_perslid_key = werkplek.prs_perslid_key(+);
|
|
|
|
CREATE OR REPLACE PROCEDURE AKZO_SELECT_EXP_BADGE (p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2)
|
|
AS
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_errorhint VARCHAR2 (1000);
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
|
|
|
|
CURSOR c_badges IS SELECT * FROM AKZO_V_RAP_AANVR_BADGE;
|
|
|
|
v_teller NUMBER;
|
|
v_rap_count NUMBER;
|
|
v_kenmerk_key_laatste NUMBER;
|
|
BEGIN
|
|
v_teller := 0;
|
|
v_rap_count := 0;
|
|
|
|
v_aanduiding := 'Init';
|
|
v_errormsg := 'Header';
|
|
|
|
DELETE imp_log
|
|
WHERE imp_log_applicatie = p_applname;
|
|
|
|
DELETE fac_rapport
|
|
WHERE fac_rapport_node = p_applname;
|
|
|
|
-- Genereer headerregel
|
|
INSERT INTO fac_rapport (fac_rapport_node,
|
|
fac_rapport_volgnr,
|
|
fac_rapport_regel,
|
|
fac_rapport_soort)
|
|
VALUES (
|
|
p_applname,
|
|
v_rap_count,
|
|
'PersonType;Displaytype_Code;Displaytype_Naam;Personeelsnummer;Roepnaam;Voorletters;Tussenvoegsel;Achternaam;Datum_in_dienst;Datum_uit_dienst;Kostenplaats_Code;Kostenplaats_Naam;Business_Unit_AN_Code;Business_Unit_AN_Naam;Afdeling_Akzo_Code;Afdeling_Akzo_Naam;Firmanaam;Nevenfunctie_Code;Nevenfunctie_Naam;Werkplek_Code;Werkplek_Naam;Ruimte_Code;Ruimte_Naam',
|
|
0);
|
|
|
|
-- Genereer sommatie-, specificatie- en creditregels voor debiteuren
|
|
FOR rec IN c_badges
|
|
LOOP
|
|
v_errormsg := 'Per badge aanvraag een regel toevoegen';
|
|
v_teller := v_teller + 1;
|
|
v_aanduiding := v_teller || ': ' || rec.personeelsnummer;
|
|
v_rap_count := v_rap_count + 1;
|
|
|
|
-- Sommatieregel
|
|
INSERT INTO fac_rapport (fac_rapport_node,
|
|
fac_rapport_volgnr,
|
|
fac_rapport_regel,
|
|
fac_rapport_soort)
|
|
VALUES (
|
|
p_applname,
|
|
v_rap_count,
|
|
rec.persontype
|
|
|| ';'
|
|
|| rec.displaytype_code
|
|
|| ';'
|
|
|| rec.displaytype_naam
|
|
|| ';'
|
|
|| rec.personeelsnummer
|
|
|| ';'
|
|
|| rec.roepnaam
|
|
|| ';'
|
|
|| rec.voorletters
|
|
|| ';'
|
|
|| rec.tussenvoegsel
|
|
|| ';'
|
|
|| rec.achternaam
|
|
|| ';'
|
|
|| rec.datum_in_dienst
|
|
|| ';'
|
|
|| rec.datum_uit_dienst
|
|
|| ';'
|
|
|| rec.kostenplaats_code
|
|
|| ';'
|
|
|| rec.kostenplaats_naam
|
|
|| ';'
|
|
|| rec.business_unit_an_code
|
|
|| ';'
|
|
|| rec.business_unit_an_naam
|
|
|| ';'
|
|
|| rec.afdeling_akzo_code
|
|
|| ';'
|
|
|| rec.afdeling_akzo_naam
|
|
|| ';'
|
|
|| rec.firmanaam
|
|
|| ';'
|
|
|| rec.nevenfunctie_code
|
|
|| ';'
|
|
|| rec.nevenfunctie_naam
|
|
|| ';'
|
|
|| rec.werkplek_code
|
|
|| ';'
|
|
|| rec.werkplek_naam
|
|
|| ';'
|
|
|| rec.ruimte_code
|
|
|| ';'
|
|
|| rec.ruimte_naam,
|
|
0);
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
v_errorhint
|
|
|| ' ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.writelog (p_applname,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
'Onbekende fout!');
|
|
COMMIT;
|
|
END akzo_select_exp_badge;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_EXPORT_EXP_BADGE
|
|
(
|
|
RESULT,
|
|
RESULT_ORDER
|
|
)
|
|
AS
|
|
SELECT fac_rapport_regel result, fac_rapport_volgnr result_order
|
|
FROM fac_rapport
|
|
WHERE fac_rapport_node = 'EXP_BADGE'
|
|
ORDER BY fac_rapport_volgnr;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RAP_CATERING_DAGLIJST
|
|
(
|
|
HIDE_F_DATUM,
|
|
HIDE_F_RSV_RUIMTE,
|
|
LOCATIE,
|
|
RESNR,
|
|
HOST,
|
|
DAG,
|
|
RUIMTE,
|
|
VAN,
|
|
TOT,
|
|
TIJD_CATERING,
|
|
AANTAL,
|
|
ARTIKELOMSCHRIJVING,
|
|
ARTIKELOPMERKING,
|
|
CATERING_LOCATIE,
|
|
BIJZONDERHEDEN,
|
|
RES_OPMERKINGEN,
|
|
RES_OMSCHRIJVING
|
|
)
|
|
AS
|
|
SELECT res_rsv_artikel_levering,
|
|
r.res_rsv_ruimte_key,
|
|
locatie.alg_locatie_omschrijving,
|
|
r.res_reservering_key || '/' || r.res_rsv_ruimte_volgnr,
|
|
prs_perslid_naam_full,
|
|
TO_CHAR (res_rsv_ruimte_van, 'DAY')
|
|
dag,
|
|
r2a.ruimte_nr
|
|
ruimte,
|
|
res_rsv_ruimte_van
|
|
ruimte_van,
|
|
res_rsv_ruimte_tot
|
|
ruimte_tot,
|
|
TO_CHAR (res_rsv_artikel_levering, 'HH24:MI')
|
|
levering_catering,
|
|
aantal,
|
|
artikeloms,
|
|
artikelopm,
|
|
r2a.ruimte_nr
|
|
catering_locatie,
|
|
opmerking,
|
|
r2a.ruimte_opmerking,
|
|
r2a.ruimte_omschrijving
|
|
FROM (SELECT rr.res_reservering_key,
|
|
rr.res_rsv_ruimte_volgnr,
|
|
rr.res_rsv_ruimte_key,
|
|
rr.res_rsv_ruimte_van,
|
|
rr.res_rsv_ruimte_tot,
|
|
ra.res_rsv_artikel_key,
|
|
ra.res_rsv_artikel_levering,
|
|
act.res_srtactiviteit_key,
|
|
a.res_artikel_key,
|
|
a.res_artikel_nr artikelnr,
|
|
a.res_artikel_omschrijving artikeloms,
|
|
a.res_artikel_opmerking artikelopm,
|
|
d.ins_discipline_key,
|
|
d.ins_discipline_omschrijving catalogus,
|
|
ra.res_status_bo_key status,
|
|
ra.res_rsv_artikel_aantal aantal,
|
|
a.res_artikel_eenheid eenheid,
|
|
pf.prs_perslid_key,
|
|
pf.prs_perslid_naam_full,
|
|
opmerking.res_kenmerkartikel_waarde opmerking
|
|
FROM res_rsv_artikel ra,
|
|
res_artikel a,
|
|
res_discipline d,
|
|
res_rsv_ruimte rr,
|
|
res_activiteit act,
|
|
prs_v_perslid_fullnames pf,
|
|
(SELECT ka.res_rsv_artikel_key, res_kenmerkartikel_waarde
|
|
FROM res_kenmerkartikel ka,
|
|
res_kenmerk k,
|
|
res_srtkenmerk sk
|
|
WHERE ka.res_kenmerk_key = k.res_kenmerk_key
|
|
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
|
AND res_srtkenmerk_upper = 'BIJZONDERHEDEN')
|
|
opmerking
|
|
WHERE ra.res_rsv_artikel_verwijder IS NULL
|
|
AND ra.res_rsv_artikel_key =
|
|
opmerking.res_rsv_artikel_key(+)
|
|
AND a.res_artikel_key = ra.res_artikel_key
|
|
AND d.ins_discipline_key = a.res_discipline_key
|
|
AND d.ins_discipline_min_level = 2
|
|
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
|
|
AND act.res_activiteit_key = rr.res_activiteit_key
|
|
AND pf.prs_perslid_key = rr.res_rsv_ruimte_host_key) r,
|
|
( SELECT res_rsv_ruimte_key,
|
|
MAX (r.res_rsv_ruimte_omschrijving)
|
|
ruimte_omschrijving,
|
|
MAX (r.res_rsv_ruimte_opmerking)
|
|
ruimte_opmerking,
|
|
MAX (o.res_opstelling_omschrijving)
|
|
opstelling,
|
|
MAX (ro.res_ruimte_opstel_bezoekers)
|
|
capaciteit,
|
|
MAX (ra.alg_ruimte_key)
|
|
alg_ruimte_key,
|
|
MAX (rr.res_ruimte_nr)
|
|
ruimte_nr
|
|
FROM res_rsv_ruimte r,
|
|
res_ruimte_opstelling ro,
|
|
res_opstelling o,
|
|
res_ruimte rr,
|
|
res_alg_ruimte ra
|
|
WHERE r.res_rsv_ruimte_verwijder IS NULL
|
|
AND r.res_ruimte_opstel_key = ro.res_ruimte_opstel_key(+)
|
|
AND ro.res_ruimte_key = rr.res_ruimte_key
|
|
AND ro.res_opstelling_key = o.res_opstelling_key(+)
|
|
AND rr.res_ruimte_key = ra.res_ruimte_key
|
|
GROUP BY res_rsv_ruimte_key
|
|
UNION ALL
|
|
SELECT res_rsv_ruimte_key,
|
|
rrr.res_rsv_ruimte_omschrijving ruimte_omschrijving,
|
|
rrr.res_rsv_ruimte_opmerking ruimte_opmerking,
|
|
'' opstelling,
|
|
NULL capaciteit,
|
|
rrr.alg_ruimte_key,
|
|
r.alg_ruimte_nr
|
|
FROM res_rsv_ruimte rrr, alg_ruimte r
|
|
WHERE rrr.alg_ruimte_key IS NOT NULL
|
|
AND r.alg_ruimte_key = rrr.alg_ruimte_key) r2a,
|
|
(SELECT l.alg_locatie_key,
|
|
alg_locatie_code,
|
|
alg_locatie_omschrijving,
|
|
r.alg_ruimte_key
|
|
FROM alg_locatie l,
|
|
alg_gebouw g,
|
|
alg_verdieping v,
|
|
alg_ruimte r
|
|
WHERE l.alg_locatie_key = g.alg_locatie_key
|
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
|
AND v.alg_verdieping_key = r.alg_verdieping_key) locatie
|
|
WHERE locatie.alg_ruimte_key = r2a.alg_ruimte_key
|
|
AND r.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+);
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RAP_CATERING_LABELS
|
|
AS
|
|
SELECT hide_f_datum,
|
|
hide_f_rsv_ruimte,
|
|
resnr,
|
|
HOST,
|
|
van,
|
|
TO_CHAR (van, 'dd-mm-yyyy') datum,
|
|
tijd_catering,
|
|
catering_locatie,
|
|
res_omschrijving,
|
|
bijzonderheden,
|
|
LISTAGG (aantal || 'x ' || artikelomschrijving, CHR (10))
|
|
WITHIN GROUP (ORDER BY hide_f_rsv_ruimte, tijd_catering) catering
|
|
FROM AKZO_V_RAP_CATERING_DAGLIJST
|
|
WHERE locatie = 'Sassenheim'
|
|
GROUP BY hide_f_datum,
|
|
hide_f_rsv_ruimte,
|
|
resnr,
|
|
van,
|
|
TO_CHAR (van, 'dd-mm-yyyy'),
|
|
HOST,
|
|
ruimte,
|
|
tijd_catering,
|
|
catering_locatie,
|
|
res_omschrijving,
|
|
bijzonderheden;
|
|
|
|
CREATE OR REPLACE PROCEDURE akzo_daily (p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2)
|
|
AS
|
|
BEGIN
|
|
-- mandaat voor alle AN medewerkers
|
|
akzo.prs_mandaten ();
|
|
|
|
-- medewerkers zonder AN mailadres of login verwijderen uit _default
|
|
akzo.prs_autorisaties ();
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_NOTI_INS_TBADGE
|
|
(
|
|
CODE,
|
|
SENDER,
|
|
RECEIVER,
|
|
TEXT,
|
|
KEY,
|
|
XKEY
|
|
)
|
|
AS
|
|
SELECT 'CUST01',
|
|
NULL,
|
|
aanvrager,
|
|
'Tijdelijke badge verloopt: '
|
|
|| vervaldatum
|
|
|| ' (badgenummer: '
|
|
|| pasnr
|
|
|| ')',
|
|
pashouder,
|
|
NULL
|
|
FROM (SELECT d.ins_deel_key,
|
|
d.ins_deel_omschrijving pasnr,
|
|
d.ins_deel_vervaldatum vervaldatum,
|
|
d.ins_alg_ruimte_key pashouder,
|
|
aanvr.prs_perslid_key aanvrager
|
|
FROM ins_deel d,
|
|
ins_srtdeel sd,
|
|
ins_kenmerkdeel kd,
|
|
prs_perslid aanvr
|
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND d.ins_deel_key = kd.ins_deel_key
|
|
AND kd.ins_kenmerkdeel_waarde = aanvr.prs_perslid_key
|
|
AND d.ins_alg_ruimte_type = 'P'
|
|
AND sd.ins_srtdeel_code_upper NOT LIKE 'AN%'
|
|
AND sd.ins_srtgroep_key = 1
|
|
AND kd.ins_kenmerk_key = 21
|
|
AND TRUNC (d.ins_deel_vervaldatum) = TRUNC (SYSDATE + 14))
|
|
PAS;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_THEMA_VLOERAFWERKING
|
|
(
|
|
ALG_RUIMTE_KEY,
|
|
WAARDE
|
|
)
|
|
AS
|
|
SELECT r.alg_ruimte_key, va.fac_usrdata_omschr
|
|
FROM alg_ruimte r,
|
|
(SELECT rr.alg_ruimte_key, ud.fac_usrdata_omschr
|
|
FROM alg_onrgoedkenmerk ok,
|
|
fac_usrdata ud,
|
|
fac_kenmerkdomein rk,
|
|
alg_kenmerk k,
|
|
alg_v_aanwezigruimte rr
|
|
WHERE rk.fac_usrtab_key = ud.fac_usrtab_key
|
|
AND k.fac_kenmerkdomein_key = rk.fac_kenmerkdomein_key
|
|
AND TO_CHAR (ud.fac_usrdata_key) =
|
|
ok.alg_onrgoedkenmerk_waarde
|
|
AND k.alg_kenmerk_key = 1001
|
|
AND rr.alg_ruimte_key = ok.alg_onrgoed_key) va
|
|
WHERE va.alg_ruimte_key = r.alg_ruimte_key;
|
|
|
|
CREATE OR REPLACE FORCE VIEW AKZO_V_NOTI_BADGE_SSH
|
|
(
|
|
SENDER,
|
|
RECEIVER,
|
|
TEXT,
|
|
CODE,
|
|
FAC_SRTNOTIFICATIE_KEY,
|
|
KEY,
|
|
XKEY,
|
|
XEMAIL,
|
|
XMOBILE
|
|
)
|
|
AS
|
|
SELECT DISTINCT
|
|
NULL
|
|
sender,
|
|
NULL
|
|
receiver,
|
|
sm.mld_stdmelding_omschrijving,
|
|
fac_srtnotificatie_code,
|
|
n.fac_srtnotificatie_key,
|
|
m.mld_melding_key,
|
|
NULL
|
|
xkey,
|
|
'BeveiligingSassenheim@akzonobel.com'
|
|
xemail,
|
|
NULL
|
|
xmobile
|
|
FROM fac_tracking t,
|
|
mld_melding m,
|
|
mld_stdmelding sm,
|
|
fac_srtnotificatie n
|
|
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
|
AND t.fac_srtnotificatie_key = 50
|
|
AND n.fac_srtnotificatie_code = 'CUST02'
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sm.mld_stdmelding_key IN (41,42) -- Aanvraag/ Verlengen badge
|
|
AND t.fac_tracking_datum >
|
|
(SELECT fac_notificatie_job_nextrun
|
|
- fac_notificatie_job_interval / 24
|
|
FROM fac_notificatie_job
|
|
WHERE UPPER (fac_notificatie_job_view) = 'AKZO_V_NOTI_BADGE_SSH')
|
|
AND t.fac_tracking_datum <
|
|
(SELECT fac_notificatie_job_nextrun
|
|
FROM fac_notificatie_job
|
|
WHERE UPPER (fac_notificatie_job_view) = 'AKZO_V_NOTI_BADGE_SSH');
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_RUIMTE
|
|
(
|
|
ALG_RUIMTE_KEY,
|
|
ALG_RUIMTE_OMSCHRIJVING,
|
|
ALG_RUIMTE_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT r.alg_ruimte_key,
|
|
g.alg_gebouw_code
|
|
|| '-'
|
|
|| v.alg_verdieping_code
|
|
|| '-'
|
|
|| r.alg_ruimte_nr
|
|
|| ' '
|
|
|| r.alg_ruimte_omschrijving,
|
|
r.alg_ruimte_verwijder
|
|
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
|
|
WHERE g.alg_locatie_key = 1
|
|
AND v.alg_gebouw_key = g.alg_gebouw_key
|
|
AND r.alg_verdieping_key = v.alg_verdieping_key;
|
|
|
|
CREATE OR REPLACE VIEW AKZO_V_KOSTENPLAATS
|
|
(
|
|
PRS_KOSTENPLAATS_KEY,
|
|
PRS_KOSTENPLAATS_OMSCHRIJVING,
|
|
PRS_KOSTENPLAATS_VERWIJDER
|
|
)
|
|
AS
|
|
SELECT prs_kostenplaats_key,
|
|
prs_kostenplaats_upper || ' - ' || prs_kostenplaats_omschrijving,
|
|
prs_kostenplaats_verwijder
|
|
FROM prs_kostenplaats kp;
|
|
|
|
CREATE OR REPLACE VIEW AKZA_V_RIT_ADRES
|
|
AS
|
|
SELECT mld_adres_key,
|
|
mld_adres_naam,
|
|
mld_adres_upper,
|
|
mld_adres_bezoek_adres,
|
|
mld_adres_bezoek_plaats,
|
|
mld_adres_bezoek_plaats || ', ' || mld_adres_bezoek_adres
|
|
|| DECODE (SUBSTR (mld_adres_naam, 1, 5),
|
|
SUBSTR (mld_adres_bezoek_plaats, 1, 5), '',
|
|
', ' || mld_adres_naam)
|
|
mld_adres_plaats_adres_naam
|
|
FROM mld_adres
|
|
WHERE mld_adres_verwijder IS NULL;
|
|
|
|
CREATE OR REPLACE VIEW AKZA_V_RIT_TARIEFGROEP
|
|
AS
|
|
SELECT fac_usrdata_key akza_v_rit_tariefgroep_key,
|
|
fac_usrdata_code akza_v_rit_tariefgroep_naam,
|
|
fac.safe_to_number (TRIM (SUBSTR (fac_usrdata_omschr,
|
|
1,
|
|
INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
1)
|
|
- 1))) c_tarief,
|
|
fac.safe_to_number (TRIM (SUBSTR (fac_usrdata_omschr,
|
|
INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
1)
|
|
+ 1,
|
|
INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
2)
|
|
- 1
|
|
- INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
1)))) km_tarief,
|
|
fac.safe_to_number (TRIM (SUBSTR (fac_usrdata_omschr,
|
|
INSTR (fac_usrdata_omschr,
|
|
'-',
|
|
1,
|
|
2)
|
|
+ 1))) uur_tarief
|
|
FROM fac_usrdata
|
|
WHERE fac_usrtab_key = 81
|
|
AND fac_usrdata_volgnr > 0
|
|
AND fac_usrdata_verwijder IS NULL;
|
|
|
|
------ 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 |