{ --------------------------------------------------------------------------- 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