182 lines
4.8 KiB
Plaintext
182 lines
4.8 KiB
Plaintext
{
|
|
---------------------------------------------------------------------------
|
|
PROGRAMA : INMNMT000
|
|
OBJETIVO : Menu de Mantenimientos del Sistema
|
|
de Inventario de Materia Prima.
|
|
PROGRAMADOR : Juan Fco. Soto (Johnny)
|
|
FECHA REALIZACION : Julio 27, 1992.
|
|
MODIFICACION : Acepte numero de opcion mas que 9.
|
|
FECHA MODIFICACION: Octubre 22, 1992.
|
|
MODIFICADO POR : Juan Fco. Soto.
|
|
---------------------------------------------------------------------------
|
|
}
|
|
|
|
GLOBALS "inprgb000.4gl"
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
SELECT * INTO p_companias.* FROM companias
|
|
CALL inmnmt000()
|
|
END MAIN
|
|
|
|
FUNCTION inmnmt000()
|
|
CLEAR SCREEN
|
|
CALL opciones_inmnmt000()
|
|
END FUNCTION
|
|
|
|
FUNCTION opciones_inmnmt000()
|
|
DEFINE opt CHAR(2)
|
|
DEFINE p_user CHAR(9)
|
|
DEFINE luz CHAR(5)
|
|
|
|
OPTIONS
|
|
PROMPT LINE 8,
|
|
ERROR LINE 24
|
|
|
|
CALL pantalla()
|
|
LET formulario = "/users/rova/sysinfo/forms/indir/" CLIPPED
|
|
DISPLAY " " AT 6,7
|
|
DISPLAY "Mantenimientos" AT 6,33
|
|
DISPLAY "inmnmt000" AT 4,3 ATTRIBUTE(blue)
|
|
DISPLAY " 1-Catalogo Materia Prima inprmt002" AT 9,1
|
|
DISPLAY " 2-Tipos de Movimientos inprmt005" AT 10,1
|
|
DISPLAY " 3-Movimientos de Almacen inmnmt006" AT 11,1
|
|
DISPLAY " 4-Unidades de Medidas inprmt007" AT 12,1
|
|
DISPLAY " 5-Conteo Fisico y Ajuste(s) inprmt008" AT 13,1
|
|
DISPLAY " 6-Costo Estandar inprmt013" AT 14,1
|
|
DISPLAY " 7-Conteo Fisico Perpetuo inprmt057" AT 15,1
|
|
DISPLAY "S- Retorna Menu Anterior " AT 21,6
|
|
ATTRIBUTE(BOLD)
|
|
LABEL vuelve:
|
|
PROMPT "OPCION: " attribute(blue) 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,"inmnmt000") RETURNING luz
|
|
IF luz = "roja" THEN
|
|
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
|
|
GOTO vuelve
|
|
END IF
|
|
END IF
|
|
|
|
CASE
|
|
WHEN OPT = "1"
|
|
CALL inprmt002()
|
|
CLEAR SCREEN
|
|
CALL opciones_inmnmt000()
|
|
WHEN OPT = "2"
|
|
CALL inprmt005()
|
|
CLEAR SCREEN
|
|
CALL opciones_inmnmt000()
|
|
WHEN OPT = "3"
|
|
CALL inmnmt006()
|
|
CLEAR SCREEN
|
|
CALL opciones_inmnmt000()
|
|
WHEN OPT = "4"
|
|
CALL inprmt007()
|
|
CLEAR SCREEN
|
|
CALL opciones_inmnmt000()
|
|
WHEN OPT = "5"
|
|
CALL inprmt008()
|
|
CLEAR SCREEN
|
|
CALL opciones_inmnmt000()
|
|
WHEN OPT = "6"
|
|
CALL inprmt013()
|
|
CLEAR SCREEN
|
|
CALL opciones_inmnmt000()
|
|
WHEN OPT = "7"
|
|
CALL inprmt057()
|
|
CALL pantalla()
|
|
CALL opciones_inmnmt000()
|
|
WHEN OPT = "S" or OPT = "s"
|
|
RETURN
|
|
OTHERWISE
|
|
CALL opciones_inmnmt000()
|
|
END CASE
|
|
END FUNCTION
|
|
|
|
FUNCTION prd()
|
|
|
|
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)
|
|
{IF a_ano != c_ano THEN
|
|
LET numero_msg = 59
|
|
CALL msg(numero_msg)
|
|
LET bandera = 1
|
|
RETURN
|
|
END IF}
|
|
|
|
SELECT MIN(fecha_corte) INTO fecha_c FROM prdtable
|
|
WHERE fecha_corte >= p_fechas
|
|
SELECT MIN(dias_gracia) INTO dia FROM prdtable
|
|
WHERE fecha_corte = fecha_c
|
|
|
|
IF status = notfound THEN
|
|
LET numero_msg = 58
|
|
CALL msg(numero_msg)
|
|
LET bandera = 1
|
|
END IF
|
|
|
|
IF dia IS NULL THEN
|
|
LET dia = 0
|
|
END IF
|
|
SELECT unique @usuario FROM seg0003
|
|
WHERE @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 pantalla()
|
|
DEFINE fecha CHAR(8),
|
|
hora char(5)
|
|
LET fecha = today USING "dd/mm/yy"
|
|
LET hora = time
|
|
LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2
|
|
DISPLAY p_companias.nombre CLIPPED AT 4,lj ATTRIBUTE (REVERSE,blue)
|
|
DISPLAY fecha AT 4,70 ATTRIBUTE (blue)
|
|
DISPLAY "Sistema Inventario de Materia Prima" AT 5,22
|
|
DISPLAY hora AT 6,73 ATTRIBUTE(blue)
|
|
|
|
CALL fgl_drawbox(5,79,3,1)
|
|
CALL fgl_drawbox(1,79,22,1)
|
|
END FUNCTION
|
|
FUNCTION integridad()
|
|
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
|