Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md

This commit is contained in:
2026-08-18 20:59:52 -04:00
commit 454973e269
5978 changed files with 2664094 additions and 0 deletions
+211
View File
@@ -0,0 +1,211 @@
{
------------------------------------------------------------------------
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