61 lines
1.7 KiB
Plaintext
61 lines
1.7 KiB
Plaintext
{
|
|
-----------------------------------------------------------------------------
|
|
PROGRAMA : SEG000
|
|
OBJETIVO : Controlar el acceso de los usuarios a los sistemas de la
|
|
Empresa.
|
|
PROGRAMADOR : Ing. Juan Soto
|
|
FECHA : Marzo 17, 1994.
|
|
-----------------------------------------------------------------------------
|
|
PROGRAMADOR : Lic. Abner Montalvo
|
|
FECHA : Marzo 2, 1999
|
|
|
|
OBJETIVO : Optimizacion de la funcion. No es necesario recibir el parametro
|
|
"usuarios" porque el mismo se obtiene de la funcion "user".
|
|
Este cambio elimina el select que busca el codigo del usuario en
|
|
todos los menues de los sistemas.
|
|
-----------------------------------------------------------------------------
|
|
}
|
|
FUNCTION seg000(opt,p_menu)
|
|
DEFINE opt CHAR(2)
|
|
DEFINE luz CHAR(4)
|
|
DEFINE p_menu CHAR(9)
|
|
DEFINE usuarios CHAR(9)
|
|
DEFINE no_reg,p_opcion,numero SMALLINT
|
|
|
|
WHENEVER ERROR CONTINUE
|
|
OPTIONS
|
|
ERROR LINE 24
|
|
LET luz = "azul"
|
|
LET p_opcion = opt
|
|
|
|
SELECT count(*) INTO no_reg FROM seg0001
|
|
WHERE usuario = user
|
|
|
|
IF no_reg = 1 THEN
|
|
SELECT opcion INTO p_opcion FROM seg0001
|
|
WHERE usuario = user
|
|
END IF
|
|
|
|
IF p_opcion != 99 THEN
|
|
SELECT UNIQUE a.usuario FROM seg0001 a
|
|
WHERE a.usuario = user and
|
|
a.opcion = p_opcion and
|
|
a.us_menu = p_menu
|
|
|
|
IF status = notfound THEN
|
|
LET status = 0
|
|
LET luz = "roja"
|
|
END IF
|
|
END IF
|
|
|
|
IF p_opcion = 99 THEN
|
|
LET luz = "azul"
|
|
END IF
|
|
|
|
IF luz = "roja" THEN
|
|
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
|
|
END IF
|
|
|
|
RETURN luz
|
|
END FUNCTION
|