Files
jpeguero efdf8953dd Reorganiza MATERIA PRIMA a PROYECTO y avanza inprmt002/005/013/046
- Mueve todo el contenido de PROYECTOS/indir y varias funciones
  compartidas de PROYECTOS/otrodir hacia PROYECTO, siguiendo
  instruccion de Johnny (PROYECTOS se va a eliminar).
- inprmt002: agrega campo Desglose faltante, corrige typo "eLiminar".
- inprmt005: agrega formulario y 3 campos faltantes (Consumo,
  Requiere Autorizacion, Requisiciones), corrige typo "eLiminar".
- inprmt013: agrega formulario, titulo, corrige typo "eLiminar".
- inprmt046: agrega formulario y varias funciones/dependencias
  faltantes (cincodmov, clasf_bloque, medidas, defecto,
  buscaEmp, consultaTransportista, busca_departamento);
  corrige nombres de campo desalineados con el codigo
  (depto_a, bodega) y los convierte a ComboBox donde el
  codigo lo requiere.
- Corrige dependencia faltante de FORMULARIOS_IN a la libreria
  Database (bloqueaba todo el modulo de MATERIA PRIMA).
2026-08-26 13:31:09 -04:00

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