{ ------------------------------------------------------------------------ PROGRAMA : IRMNMT000 OBJETIVO : Menu de Mantenimientos del Sistema de Inventario de Repuesto. PROGRAMADOR : Juan Fco. Soto (Johnny) FECHA REALIZACION : Enero 29, 1993. ------------------------------------------------------------------------ } GLOBALS "irprgb000.4gl" MAIN DEFER INTERRUPT CLEAR SCREEN SELECT * INTO p_companias.* FROM companias CALL pantalla() CALL opciones_irmnmt0000() END MAIN FUNCTION opciones_irmnmt0000() DEFINE p_user CHAR(9) DEFINE luz CHAR(5) CALL pantalla() OPTIONS PROMPT LINE 8, ERROR LINE 24 DISPLAY " Mantenimientos " AT 6,22 DISPLAY "irmnmt000" AT 4,3 ATTRIBUTE(blue) DISPLAY " 1-Maestra de Repuesto irprmt002" AT 9,1 DISPLAY " 2-Tipos de Movimientos irprmt003" AT 10,1 DISPLAY " 3-Movimientos de Repuestos irmnmt006" AT 11,1 DISPLAY " 4-Unidades de Medidas irprmt007" AT 12,1 DISPLAY " 5-Costo Standard irprmt004" AT 13,1 DISPLAY " 6-Maquinas irprmt009" AT 14,1 DISPLAY " 7-Repuestos-Maquinas irprmt010" AT 15,1 DISPLAY " 8-Motores Electricos irprmt011" AT 16,1 DISPLAY " 9-Sub-Grupos irprmt013" AT 17,1 DISPLAY "10-Inventario Perpetuo irprmt057" AT 18,1 DISPLAY "11-Movimientos Por Usuario irprmt014" AT 19,1 DISPLAY "12-Materiales x Repuestos irprmt067" AT 20,1 DISPLAY "13-Departamentos - Maquinas irprmt068" AT 9,41 DISPLAY "S- Retorna Menu Anterior " AT 21,6 ATTRIBUTE(blue) LABEL vuelve: PROMPT "OPCION: " attribute(blue) FOR OPTC LET optc = UPSHIFT(optc) clipped IF optc != "S" THEN SELECT unique usuario INTO p_user FROM seg0001 WHERE usuario = user CALL seg000(p_user,optc,"irmnmt000") RETURNING luz IF luz = "roja" THEN ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION" GOTO vuelve END IF END IF CASE WHEN OPTC = "1" CALL irprmt002() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "2" CALL irprmt003() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "3" CALL irmnmt006() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "4" CALL irprmt007() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "5" CALL irprmt004() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "6" CALL irprmt009() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "7" CALL irprmt010() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "8" CALL irprmt011() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "9" CALL irprmt013() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "10" CALL irprmt057() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "11" CALL irprmt014() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "12" CALL irprmt067() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "13" CALL irprmt068() CLEAR SCREEN CALL opciones_irmnmt0000() WHEN OPTC = "S" or OPTC = "s" RETURN OTHERWISE CALL opciones_irmnmt0000() END CASE 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) LET bandera = 0 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 RETURN 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 RETURN 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 Repuestos" 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) LET bandera = 1 SLEEP 2 RETURN END IF END FUNCTION