expsigladb.View.V_ASS_BP_ACCESSO_UNITA_UTENTE.sql Maven / Gradle / Ivy
--------------------------------------------------------
-- DDL for View V_ASS_BP_ACCESSO_UNITA_UTENTE
--------------------------------------------------------
CREATE OR REPLACE FORCE VIEW "V_ASS_BP_ACCESSO_UNITA_UTENTE" ("ESERCIZIO", "CD_UTENTE", "CD_UNITA_ORGANIZZATIVA", "CD_ACCESSO", "TI_FUNZIONE", "BUSINESS_PROCESS", "DACR", "UTCR", "DUVA", "UTUV", "PG_VER_REC") AS
SELECT
--
-- Date: 02/06/2008
-- Version: 1.6
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_ACCESSO
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_ACCESSO perche ereditati da utenza template
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_ACCESSO con UO = '*'
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_RUOLO
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_RUOLO perche ereditati da UTENTE TEMPLATE
--
-- History:
-- Date: 13/09/2001
-- Version: 1.0
-- Creazione
--
-- Date: 14/11/2002
-- Version: 1.1
-- INtroduzione esercizio
--
-- Date: 19/04/2006
-- Version: 1.2
-- Introduzione filtro su esercizio iniziale e finale di validità del BP
--
-- Date: 21/09/2007
-- Version: 1.3
-- Introduzione filtro utente.fl_supervisore, con utilizzo di ruolo definito
-- su utente.cd_ruolo_supervisore
--
-- Date: 26/03/2008
-- Version: 1.4
-- Modifica accesso a filtro utente.fl_supervisore non più presente su tabella
-- TIPO_RUOLO ma su ASS_TIPO_RUOLO_PRIVILEGIO
--
-- Date: 28/04/2008
-- Version: 1.5
-- Modifica accesso a filtro utente.fl_supervisore eliminando
-- la join con UTENTE_UNITA_RUOLO poichè per utente supervisore non è necessaria
--
-- Date: 02/06/2008
-- Version: 1.6
-- Modifica accesso a filtro utente.fl_supervisore eliminando
-- la join con UTENTE_UNITA_RUOLO poichè per utente supervisore non è necessaria
--
-- Body:
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_ACCESSO
--
V_UNITA_ORGANIZZATIVA.ESERCIZIO,
UTENTE_UNITA_ACCESSO.CD_UTENTE,
V_UNITA_ORGANIZZATIVA.CD_UNITA_ORGANIZZATIVA,
ASS_BP_ACCESSO.CD_ACCESSO,
ASS_BP_ACCESSO.TI_FUNZIONE,
ASS_BP_ACCESSO.BUSINESS_PROCESS,
ASS_BP_ACCESSO.DACR,
ASS_BP_ACCESSO.UTCR,
ASS_BP_ACCESSO.DUVA,
ASS_BP_ACCESSO.UTUV,
ASS_BP_ACCESSO.PG_VER_REC
FROM
ASS_BP_ACCESSO,
UTENTE_UNITA_ACCESSO,
V_UNITA_ORGANIZZATIVA
WHERE
UTENTE_UNITA_ACCESSO.CD_UNITA_ORGANIZZATIVA = V_UNITA_ORGANIZZATIVA.CD_UO AND
ASS_BP_ACCESSO.CD_ACCESSO = UTENTE_UNITA_ACCESSO.CD_ACCESSO And
(ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO >= ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA) And
(ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO <= ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA)
Union
SELECT
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_ACCESSO perche ereditati da utenza template
--
V_UNITA_ORGANIZZATIVA.ESERCIZIO,
UTENTE.CD_UTENTE,
V_UNITA_ORGANIZZATIVA.CD_UNITA_ORGANIZZATIVA,
ASS_BP_ACCESSO.CD_ACCESSO,
ASS_BP_ACCESSO.TI_FUNZIONE,
ASS_BP_ACCESSO.BUSINESS_PROCESS,
ASS_BP_ACCESSO.DACR,
ASS_BP_ACCESSO.UTCR,
ASS_BP_ACCESSO.DUVA,
ASS_BP_ACCESSO.UTUV,
ASS_BP_ACCESSO.PG_VER_REC
FROM
ASS_BP_ACCESSO,
UTENTE_UNITA_ACCESSO,
UTENTE,
V_UNITA_ORGANIZZATIVA
WHERE
UTENTE_UNITA_ACCESSO.CD_UNITA_ORGANIZZATIVA = V_UNITA_ORGANIZZATIVA.CD_UO AND
ASS_BP_ACCESSO.CD_ACCESSO = UTENTE_UNITA_ACCESSO.CD_ACCESSO AND
UTENTE_UNITA_ACCESSO.CD_UTENTE = UTENTE.CD_UTENTE_TEMPL And
(ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO >= ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA) And
(ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO <= ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA)
Union
SELECT
0,
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_ACCESSO con UO = '*'
--
UTENTE.CD_UTENTE,
'*',
ASS_BP_ACCESSO.CD_ACCESSO,
ASS_BP_ACCESSO.TI_FUNZIONE,
ASS_BP_ACCESSO.BUSINESS_PROCESS,
ASS_BP_ACCESSO.DACR,
ASS_BP_ACCESSO.UTCR,
ASS_BP_ACCESSO.DUVA,
ASS_BP_ACCESSO.UTUV,
ASS_BP_ACCESSO.PG_VER_REC
FROM
ASS_BP_ACCESSO,
UTENTE_UNITA_ACCESSO,
UTENTE
WHERE
UTENTE_UNITA_ACCESSO.CD_UNITA_ORGANIZZATIVA = '*' AND
ASS_BP_ACCESSO.CD_ACCESSO = UTENTE_UNITA_ACCESSO.CD_ACCESSO AND
UTENTE_UNITA_ACCESSO.CD_UTENTE = UTENTE.CD_UTENTE
UNION
SELECT
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_RUOLO
--
V_UNITA_ORGANIZZATIVA.ESERCIZIO,
UTENTE_UNITA_RUOLO.CD_UTENTE,
V_UNITA_ORGANIZZATIVA.CD_UNITA_ORGANIZZATIVA,
ASS_BP_ACCESSO.CD_ACCESSO,
ASS_BP_ACCESSO.TI_FUNZIONE,
ASS_BP_ACCESSO.BUSINESS_PROCESS,
ASS_BP_ACCESSO.DACR,
ASS_BP_ACCESSO.UTCR,
ASS_BP_ACCESSO.DUVA,
ASS_BP_ACCESSO.UTUV,
ASS_BP_ACCESSO.PG_VER_REC
FROM
ASS_BP_ACCESSO,
UTENTE_UNITA_RUOLO,
RUOLO_ACCESSO,
V_UNITA_ORGANIZZATIVA
WHERE
UTENTE_UNITA_RUOLO.CD_UNITA_ORGANIZZATIVA = V_UNITA_ORGANIZZATIVA.CD_UO AND
ASS_BP_ACCESSO.CD_ACCESSO = RUOLO_ACCESSO.CD_ACCESSO AND
RUOLO_ACCESSO.CD_RUOLO = UTENTE_UNITA_RUOLO.CD_RUOLO And
(ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO >= ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA) And
(ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO <= ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA)
UNION
SELECT
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- RUOLO con cd_ruolo inserito sul record utente se fl_supervisore='Y'
-- in modo che siano abilitate le funzioni per qualunque unità organizzativa
--
V_UNITA_ORGANIZZATIVA.ESERCIZIO,
UTENTE.CD_UTENTE,
V_UNITA_ORGANIZZATIVA.CD_UNITA_ORGANIZZATIVA,
ASS_BP_ACCESSO.CD_ACCESSO,
ASS_BP_ACCESSO.TI_FUNZIONE,
ASS_BP_ACCESSO.BUSINESS_PROCESS,
ASS_BP_ACCESSO.DACR,
ASS_BP_ACCESSO.UTCR,
ASS_BP_ACCESSO.DUVA,
ASS_BP_ACCESSO.UTUV,
ASS_BP_ACCESSO.PG_VER_REC
FROM
ASS_BP_ACCESSO,
UTENTE,
RUOLO_ACCESSO,
V_UNITA_ORGANIZZATIVA
Where
--UTENTE_UNITA_RUOLO.CD_UNITA_ORGANIZZATIVA = V_UNITA_ORGANIZZATIVA.CD_UO AND
ASS_BP_ACCESSO.CD_ACCESSO = RUOLO_ACCESSO.CD_ACCESSO AND
RUOLO_ACCESSO.CD_RUOLO = UTENTE.CD_RUOLO_SUPERVISORE And
(ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO >= ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA) And
(ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO <= ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA) And
utente.fl_supervisore='Y' And
exists (select 1
from RUOLO_ACCESSO, RUOLO, ASS_TIPO_RUOLO_PRIVILEGIO
where RUOLO_ACCESSO.CD_RUOLO=RUOLO.CD_RUOLO
And RUOLO.TIPO=ASS_TIPO_RUOLO_PRIVILEGIO.TIPO
--and TIPO_RUOLO.FL_SUPERVISORE='Y'
and ASS_TIPO_RUOLO_PRIVILEGIO.CD_PRIVILEGIO='SUPVIS'
And RUOLO_ACCESSO.cd_ruolo = utente.CD_RUOLO_SUPERVISORE
and RUOLO_ACCESSO.cd_accesso = ASS_BP_ACCESSO.CD_ACCESSO
)
UNION
SELECT
--
-- Selezione dei nodi di albero main su cui l'utente ha accesso a livello di
-- UTENTE_UNITA_RUOLO perche ereditati da UTENTE TEMPLATE
--
V_UNITA_ORGANIZZATIVA.ESERCIZIO,
UTENTE.CD_UTENTE,
V_UNITA_ORGANIZZATIVA.CD_UNITA_ORGANIZZATIVA,
ASS_BP_ACCESSO.CD_ACCESSO,
ASS_BP_ACCESSO.TI_FUNZIONE,
ASS_BP_ACCESSO.BUSINESS_PROCESS,
ASS_BP_ACCESSO.DACR,
ASS_BP_ACCESSO.UTCR,
ASS_BP_ACCESSO.DUVA,
ASS_BP_ACCESSO.UTUV,
ASS_BP_ACCESSO.PG_VER_REC
FROM
ASS_BP_ACCESSO,
UTENTE_UNITA_RUOLO,
RUOLO_ACCESSO,
UTENTE,
V_UNITA_ORGANIZZATIVA
WHERE
UTENTE_UNITA_RUOLO.CD_UNITA_ORGANIZZATIVA = V_UNITA_ORGANIZZATIVA.CD_UO AND
ASS_BP_ACCESSO.CD_ACCESSO = RUOLO_ACCESSO.CD_ACCESSO AND
UTENTE_UNITA_RUOLO.CD_UTENTE = UTENTE.CD_UTENTE_TEMPL AND
RUOLO_ACCESSO.CD_RUOLO = UTENTE_UNITA_RUOLO.CD_RUOLO And
(ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO >= ASS_BP_ACCESSO.ESERCIZIO_INIZIO_VALIDITA) And
(ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA Is Null Or
V_UNITA_ORGANIZZATIVA.ESERCIZIO <= ASS_BP_ACCESSO.ESERCIZIO_FINE_VALIDITA)
;
© 2015 - 2024 Weber Informatics LLC | Privacy Policy