{ --------------------------------------------------------------------------- PROGRAMA : ISMNMT00 OBJETIVO : Menu de Mantenimientos del Sistema de Inventario de Suministros. PROGRAMADOR : Juan Fco. Soto (Johnny) FECHA REALIZACION : Octubre 21, 1993. --------------------------------------------------------------------------- PROGRAMADOR : Lic. Abner Montalvo FECHA REALIZACION : Marzo 27, 1999. OBJETIVO : Utilizar COMMAND para los menues de este sistema. Optimizar el procedimiento de llamadas de programas. --------------------------------------------------------------------------- } GLOBALS "isprgb000.4gl" MAIN CLEAR SCREEN DEFER INTERRUPT CALL opciones_ismnmt000() END MAIN FUNCTION opciones_ismnmt000() DEFINE opt CHAR(2) DEFINE p_user CHAR(9) DEFINE luz CHAR(5) OPTIONS PROMPT LINE 8, ERROR LINE 24 CALL desplega_mnmt000() MENU "Mantenimientos: " COMMAND "1" CALL seg000(1,"ismnmt000") RETURNING luz IF luz = "azul" THEN #RUN "fglrun %FGLPROG%\\isprmt002()" CALL isprmt002() CALL desplega_mnmt000() END IF COMMAND "2" CALL seg000(2,"ismnmt000") RETURNING luz IF luz = "azul" THEN #RUN "fglrun %FGLPROG%\\isprmt005()" CALL isprmt005() CALL desplega_mnmt000() END IF COMMAND "3" CALL seg000(3,"ismnmt000") RETURNING luz IF luz = "azul" THEN #RUN "fglrun %FGLPROG%\\isprmt036()" CALL isprmt036() CALL desplega_mnmt000() END IF COMMAND "4" CALL seg000(4,"ismnmt000") RETURNING luz IF luz = "azul" THEN #RUN "fglrun %FGLPROG%\\isprmt007()" CALL isprmt007() CALL desplega_mnmt000() END IF COMMAND "5" CALL seg000(5,"ismnmt000") RETURNING luz IF luz = "azul" THEN #RUN "fglrun %FGLPROG%\\isprmt008()" CALL isprmt008() CALL desplega_mnmt000() END IF COMMAND "6" CALL seg000(6,"ismnmt000") RETURNING luz IF luz = "azul" THEN #RUN "fglrun %FGLPROG%\\isprmt003()" CALL isprmt003() CALL desplega_mnmt000() END IF COMMAND KEY("R") "Retornar" "Retorna Menu Principal" EXIT MENU END MENU END FUNCTION FUNCTION integridad() DEFINE bandera,numero_msg INTEGER IF sqlca.sqlcode < 0 THEN LET numero_msg = sqlca.sqlcode CALL msg(numero_msg) DISPLAY numero_msg AT 23,70 LET bandera = 1 SLEEP 2 RETURN END IF END FUNCTION FUNCTION pantalla() DEFINE fecha CHAR(10), hora char(5) LET fecha = today USING "dd/mm/yyyy" LET hora = time DISPLAY "R A Y . O . V A C D O M I N I C A N A" AT 4,21 ATTRIBUTE (REVERSE,BLUE) DISPLAY fecha AT 4,68 ATTRIBUTE (RED) DISPLAY "Sistema Inventario de Suministros" AT 5,23 ATTRIBUTE(BLACK) DISPLAY hora AT 6,73 ATTRIBUTE(RED) CALL fgl_drawbox(5,79,3,1) CALL fgl_drawbox(1,79,22,1) END FUNCTION FUNCTION prd() DEFINE otrab SMALLINT #DEFINE numero_msg INTEGER #DEFINE p_fechas DATE DEFINE comp_fech,comp_fech1 DATE DEFINE mes_control CHAR(2) DEFINE mes_calc,dia SMALLINT DEFINE fecha_c DATE DEFINE c_ano,a_ano CHAR(4) DEFINE usuario1 CHAR(9) LET a_ano = year(today) LET mes_control = MONTH(today) LET mes_calc = mes_control IF mes_calc = 01 THEN LET mes_calc = 13 LET a_ano = year(today - 32) END IF #Aqui la funcion se posicionaba en dos meses para el control del documento #LET mes_calc = mes_calc - 2 IF mes_calc <= 0 THEN LET mes_calc = 12 LET a_ano = year(today) - 1 END IF LET c_ano = year(today) SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable WHERE fecha_corte >= p_fechas IF STATUS = NOTFOUND THEN LET numero_msg = 57 CALL msg(numero_msg) LET bandera = 1 END IF LET dia = 0 SELECT MIN(dias_gracia) INTO dia FROM prdtable WHERE fecha_corte = fecha_c IF dia IS NULL THEN LET dia = 0 END IF SELECT UNIQUE a.usuario FROM seg0003 a WHERE a.usuario = USER IF STATUS != NOTFOUND THEN LET fecha_c = fecha_c + dia END IF LET comp_fech = fecha_c LET comp_fech1 = TODAY IF comp_fech < comp_fech1 THEN LET numero_msg = 57 CALL msg(numero_msg) LET bandera = 1 END IF END FUNCTION FUNCTION desplega_mnmt000() CLEAR SCREEN CALL pantalla() DISPLAY "Mantenimientos" AT 6,33 ATTRIBUTE(BLACK) DISPLAY "ismnmt00" AT 4,3 ATTRIBUTE(RED) DISPLAY " 1- Catalogo Suministros isprmt002" AT 10,1 DISPLAY " 2- Tipos de Movimientos isprmt005" AT 11,1 DISPLAY " 3- Movimientos de Almacen isprmt036" AT 12,1 DISPLAY " 4- Unidades de Medida isprmt007" AT 13,1 DISPLAY " 5- Conteo Fisico y Ajustes isprmt008" AT 14,1 DISPLAY " 6- Costos Standares isprmt003" AT 15,1 # DISPLAY " R- Retorna Menu Anterior " AT 20,1 # ATTRIBUTE(BLACK) END FUNCTION