Files
MBS/PROYECTOS/otrodir/master.4gl
T

236 lines
8.1 KiB
Plaintext

{-------------------------------------------------------------------------
PROGRAMA : MASTER
OBJETIVO : MENU GENERAL DE LA COMPANIA
PROGRAMADOR : JUAN F. SOTO
FECHA : AGOSTO 1997
ASESOR : JOSE ALFREDO PAULINO
------------------------------------------------------------------------
}
DATABASE marmotech
GLOBALS
DEFINE p_usuario CHAR(9)
DEFINE p_user CHAR(9)
DEFINE luz CHAR(4)
END GLOBALS
MAIN
DEFER INTERRUPT
#CALL logo()
CLEAR SCREEN
SELECT unique a.usuario INTO p_usuario FROM seg0001 a
WHERE a.usuario = user
LET p_usuario = upshift(p_usuario)
CALL pantalla()
CALL mask()
MENU "OPCIONES"
COMMAND "1"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"1","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
DISPLAY "Ejecutando Opcion 1" AT 10,53 ATTRIBUTE (BLINK)
IF luz = "azul" THEN
RUN "fglrun %FGLPROG%\\almn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "2"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"2","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 2" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\comn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "3"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"3","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 3" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\cgmn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "4"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"4","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 4" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\vemn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "5"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"5","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 5" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\nomn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "6"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"6","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 6" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\semn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "7"
SELECT unique a.usuario INTO p_user FROM seg0001 a
WHERE a.usuario = user
CALL seg000(p_user,"7","master") RETURNING luz
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
IF luz = "azul" THEN
DISPLAY "Ejecutando Opcion 7" AT 10,53 ATTRIBUTE (BLINK)
RUN "fglrun %FGLPROG%\\prmn00000"
DISPLAY " " AT 10,53
END IF
COMMAND "8"
DELETE FROM cctb00001 WHERE num_doc is null
# UPDATE intb00023 SET num_doc = 2941 where cod_mov = 47
# DISPLAY "ACTUALIZANDO MOVIMIENTO 47" AT 10,53 ATTRIBUTE (BLINK)
DISPLAY "BORRAR TODOS LOS REGISTROS EN BLANCO" AT 10,53 ATTRIBUTE (BLINK)
COMMAND "Salir"
EXIT MENU
END MENU
END MAIN
FUNCTION mask()
DISPLAY "M A R M O T E C H, S. A. " AT 4,26
ATTRIBUTE (REVERSE,blue)
DISPLAY "1- INVENTARIOS ALMN00000" AT 10,4 ATTRIBUTE (blue)
DISPLAY "2- COMPRAS COMN00000" AT 11,4 ATTRIBUTE (blue)
DISPLAY "3- CONTABILIDAD CGMN00000" AT 12,4 ATTRIBUTE (blue)
DISPLAY "4- VENTAS VEMN00000" AT 13,4 ATTRIBUTE (blue)
DISPLAY "5- NOMINAS NOMN00000" AT 14,4 ATTRIBUTE (blue)
DISPLAY "6- INFORMATICA SYS00000" AT 15,4 ATTRIBUTE(blue)
DISPLAY "7- PRODUCCION PRMN0000" AT 16,4 ATTRIBUTE(blue)
DISPLAY "8- ACTUALIZACIONES " AT 17,4 ATTRIBUTE(blue)
DISPLAY "S- Salir del Sistema" at 23,25 ATTRIBUTE (RED)
END FUNCTION
FUNCTION PANTALLA()
DEFINE fecha char(10)
DEFINE T char(8)
LET fecha = today using "dd/mm/yyyy"
LET T = time
CALL fgl_drawbox(3,60,3,10)
CALL fgl_drawbox(18,79,6,1)
CALL fgl_drawbox(15,45,8,2)
CALL fgl_drawbox(3,30,7,5)
DISPLAY " S I S T E M A S:" AT 8,6
DISPLAY " MASTER " AT 8,6 ATTRIBUTE (RED)
CALL fgl_drawbox(9,28,8,50)
CALL fgl_drawbox(3,15,7,52)
CALL fgl_drawbox(4,28,19,50)
DISPLAY " ORIENTACION " AT 8,53 attribute (red)
DISPLAY "Bienvenido Usuario: " AT 12,53
DISPLAY p_usuario AT 13,53 ATTRIBUTE (blue)
LET p_usuario = downshift(p_usuario)
CALL fgl_drawbox(3,15,18,52)
DISPLAY " DIA Y HORA " AT 19,53
DISPLAY T AT 21,64
DISPLAY FECHA AT 21,54
END FUNCTION
FUNCTION pant1()
CALL fgl_drawbox (4,50,3,1)
END FUNCTION
{
-----------------------------------------------------------------------------
PROGRAMA : SEG000
OBJETIVO : Controlar el acceso de los usuarios a los sistemas de la
Empresa.
PROGRAMADOR : Ing. Juan Soto
FECHA : Marzo 17, 1994.
-----------------------------------------------------------------------------
}
FUNCTION seg000(usuarios,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
OPTIONS
ERROR LINE 24
LET luz = "azul"
LET p_opcion = opt
LET usuarios = NULL
SELECT UNIQUE a.usuario FROM seg0001 a
WHERE a.usuario = user and a.opcion = 99
IF STATUS != NOTFOUND THEN
let luz = "azul"
ELSE
#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}
RETURN luz
END FUNCTION
FUNCTION logo()
DEFINE j,i SMALLINT,
p CHAR(1)
OPTIONS
PROMPT LINE 20
call fgl_drawbox(7,47,10,20)
call fgl_drawbox(10,51,8,18)
DISPLAY "BOLETIN INFORMATIVO 1/95" AT 9,29 ATTRIBUTE (REVERSE)
DISPLAY "NO MAS PAPELES PARA MEMOS IMPRESOS..." AT 11,21
DISPLAY "COMO? USANDO EL CORREO ELECTRONICO DE RAYOVAC" AT 12,21
DISPLAY "TE RETO A USARLO..." AT 14,21
DISPLAY "PRESIONE <ENTER> PARA CONTINUAR" AT 15,21
PROMPT " " FOR p
LET int_flag = false
END FUNCTION