{ PROGRAMA : INFORMAT OBJETIVO : Menu principal Informatica PROGRAMADOR : Tadeo A. Ferreras FECHA REALIZACION : Agosto 3, 1994. } DATABASE rayovac MAIN DEFER INTERRUPT CALL opciones_cgmn00000() END MAIN FUNCTION opciones_cgmn00000() DEFINE opt char(2) DEFINE p_user CHAR(9) DEFINE luz CHAR(5) OPTIONS PROMPT LINE 8, ERROR LINE 24 CALL pantalla() DISPLAY " Menu Principal " AT 6,22 DISPLAY "gemn00000" AT 4,3 ATTRIBUTE(YELLOW) DISPLAY "1- Seguridad semn00000" AT 10,6 DISPLAY "2- Usuario Correo Electronico ceprmt003" AT 11,6 DISPLAY "3- Mensajes de Errores msg00000 " AT 12,6 DISPLAY "S- Retorna Menu Anterior" AT 19,6 ATTRIBUTE(YELLOW) LABEL vuelve: PROMPT "OPCION: " attribute(yellow) FOR OPT LET opt = UPSHIFT(opt) clipped IF opt != "S" THEN SELECT unique usuario INTO p_user FROM seg0001 WHERE usuario = user CALL seg000(p_user,opt,"gemn00000") RETURNING luz IF luz = "roja" THEN ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION" GOTO vuelve END IF END IF CASE WHEN OPT = "1" RUN "fglgo /users/rova/sysinfo/semn00000" CLEAR SCREEN CALL opciones_cgmn00000() WHEN OPT = "2" RUN "fglgo /users/rova/sysinfo/ceprmt003" CLEAR SCREEN CALL opciones_cgmn00000() WHEN OPT = "3" RUN "fglgo /users/rova/sysinfo/msg00000" CLEAR SCREEN CALL opciones_cgmn00000() WHEN OPT = "S" or OPT = "s" RETURN OTHERWISE CALL opciones_cgmn00000() END CASE END FUNCTION FUNCTION pantalla() DEFINE fecha CHAR(8), hora char(5) LET fecha = today USING "dd/mm/yy" LET hora = time DISPLAY " R A Y . O . V A C D O M I N I C A N A " AT 4,19 ATTRIBUTE (REVERSE,YELLOW) DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW) DISPLAY "Sistema de Contabilidad General" AT 5,24 DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW) CALL fgl_drawbox(5,79,3,1) CALL fgl_drawbox(1,79,22,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 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 = usuarios 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