194 lines
5.3 KiB
Plaintext
194 lines
5.3 KiB
Plaintext
{
|
|
---------------------------------------------------------------------------
|
|
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
|