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
+72
View File
@@ -0,0 +1,72 @@
{
----------------------------------------------------------------------------
PROGRAMA : ISMNMT06
OBJETIVO : Sub Menu Mantenimiento Movimientos
Inventario de Suministro.
PROGRAMADOR : Juan Fco. Soto (Johnny)
FECHA REALIZACION : Octubre 22, 1993.
----------------------------------------------------------------------------
PROGRAMADOR : Lic. Abner Montalvo
FECHA REALIZACION : Marzo 19, 1999.
OBJETIVO : Utilizar COMMAND para los menues de este sistema.
Optimizar el procedimiento de llamadas de programas.
---------------------------------------------------------------------------
}
DATABASE rayovac
DEFINE bandera,numero_msg INTEGER
FUNCTION ismnmt06()
CLEAR SCREEN
CALL opciones_ismnmt006()
END FUNCTION
FUNCTION opciones_ismnmt006()
DEFINE opt CHAR(2)
DEFINE p_user CHAR(9)
DEFINE luz CHAR(5)
OPTIONS
PROMPT LINE 8,
ERROR LINE 24
CALL desplega_mnmt006()
MENU "Mantenimientos: "
COMMAND "1"
CALL seg000(1,"ismnmt006") RETURNING luz
IF luz = "azul" THEN
RUN "fglrun %FGLPROG%\\isprmt016()"
CALL desplega_mnmt006()
END IF
COMMAND "2"
CALL seg000(2,"ismnmt006") RETURNING luz
IF luz = "azul" THEN
RUN "fglrun %FGLPROG%\\isprmt036()"
CALL desplega_mnmt006()
END IF
COMMAND "3"
CALL seg000(3,"ismnmt006") RETURNING luz
IF luz = "azul" THEN
RUN "fglrun %FGLPROG%\\isprmt056()"
CALL desplega_mnmt006()
END IF
COMMAND "Retornar" "Retorna Menu Principal"
EXIT MENU
END MENU
END FUNCTION
FUNCTION desplega_mnmt006()
CLEAR SCREEN
CALL pantalla()
DISPLAY " Movimientos De Almacen " AT 6,22
DISPLAY "ismnmt006" AT 4,3 ATTRIBUTE(RED)
DISPLAY "1- Suministros Devueltos al Suplidor isprmt016" AT 10,1
DISPLAY "2- Requisicion Suministros isprmt036" AT 11,1
DISPLAY "3- Actualizacion de Documentos isprmt056" AT 12,1
# DISPLAY "R- Retornar Menu Anterior " AT 15,1
# ATTRIBUTE (RED)
END FUNCTION
+20
View File
@@ -0,0 +1,20 @@
DATABASE rayovac
FUNCTION msg(numero_msg)
DEFINE numero_msg SMALLINT
DEFINE descripcion CHAR (60)
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
IF status = NOTFOUND THEN
LET numero_msg = 22
SELECT desc_msg INTO descripcion FROM msgtable
WHERE cod_msg = numero_msg
ERROR descripcion ATTRIBUTE(BOLD)
ELSE
ERROR descripcion ATTRIBUTE(BOLD)
LET numero_msg = 0
END IF
END FUNCTION
+151
View File
@@ -0,0 +1,151 @@
{
Esta funcion se utiliza para dsplegar mensajes de los reportes de
los sistemas de Ray-O-Vac Dominicana.
Realizada por Lic. Abner Montalvo y Johnny Soto Agosto 21, 1992
}
DATABASE rayovac
FUNCTION msgrp000(tipo_papel)
DEFINE tipo_papel SMALLINT,
longitud CHAR(11),
linea_papel CHAR(50)
CASE
WHEN tipo_papel = 1
LET longitud = " 9 1/2 x 11"
WHEN tipo_papel = 2
LET longitud = "14 7/8 x 11"
END CASE
LET linea_papel = "Coloque papel ",longitud," en la impresora."
DISPLAY linea_papel
AT 15,14
DISPLAY
"<Ctrl-P> Elejir Printer Asegurese de que la impresora este encendida."
AT 16,10 ATTRIBUTE(REVERSE,YELLOW)
DISPLAY "<Esc> Ejecuta impresion <Ctrl-C> Cancela impresion"
AT 18,14
END FUNCTION
FUNCTION busca_printer()
DEFINE pcurr,impresor,idx SMALLINT,
negrillas_on,
negrillas_off,
doble_on,
doble_off,
doce,
comp_on,
comp_off,
normal CHAR(6)
DEFINE dspprt ARRAY[10] OF RECORD
nombre CHAR(30),
codigo SMALLINT,
puerto LIKE prttb00001.puerto,
prtcodigo LIKE prttb00001.prtcodigo
END RECORD,
prt RECORD LIKE prttb00001.*,
prtcodigo LIKE prttb00001.prtcodigo
OPEN WINDOW impresoras AT 10,5 WITH FORM "msgfmrp" ATTRIBUTE
(BORDER,FORM LINE FIRST + 1)
DECLARE busca CURSOR FOR
SELECT * FROM prttb00001
ORDER BY 1
LET idx = 1
FOREACH busca INTO prt.*
LET dspprt[idx].nombre = prt.nombre
LET dspprt[idx].codigo = prt.codigo
LET dspprt[idx].puerto = prt.puerto
LET dspprt[idx].prtcodigo = prt.prtcodigo
LET idx = idx + 1
END FOREACH
CALL set_count(idx-1)
DISPLAY ARRAY dspprt TO s_prt.*
LET pcurr = arr_curr()
LET impresor = dspprt[pcurr].codigo
LET prtcodigo = dspprt[pcurr].prtcodigo
LET prt.puerto = dspprt[pcurr].puerto
CASE
WHEN prtcodigo = 1
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
WHEN prtcodigo = 2
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 031
LET comp_off = ASCII 029
LET doce = ASCII 030
LET normal = ASCII 029
EXIT CASE
END CASE
CLOSE WINDOW impresoras
RETURN prt.puerto,negrillas_on,negrillas_off,doble_on,doble_off,comp_on,comp_off,doce, normal
END FUNCTION
FUNCTION defecto(impresor)
DEFINE impresor,idx SMALLINT,
negrillas_on,
negrillas_off,
doble_on,
doble_off,
doce,
comp_on,
comp_off,
normal CHAR(6),
prt RECORD LIKE prttb00001.*
SELECT * INTO prt.* FROM prttb00001 a
WHERE codigo = impresor
CASE
WHEN prt.prtcodigo = 1
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
WHEN prt.prtcodigo = 2 {Printer Central. Contabilidad}
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 031
LET comp_off = ASCII 029
LET doce = ASCII 030
LET normal = ASCII 029
EXIT CASE
WHEN impresor = 3
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
END CASE
RETURN prt.puerto,negrillas_on,negrillas_off,doble_on,doble_off,
comp_on,comp_off,doce,normal
END FUNCTION
+60
View File
@@ -0,0 +1,60 @@
{
-----------------------------------------------------------------------------
PROGRAMA : SEG000
OBJETIVO : Controlar el acceso de los usuarios a los sistemas de la
Empresa.
PROGRAMADOR : Ing. Juan Soto
FECHA : Marzo 17, 1994.
-----------------------------------------------------------------------------
PROGRAMADOR : Lic. Abner Montalvo
FECHA : Marzo 2, 1999
OBJETIVO : Optimizacion de la funcion. No es necesario recibir el parametro
"usuarios" porque el mismo se obtiene de la funcion "user".
Este cambio elimina el select que busca el codigo del usuario en
todos los menues de los sistemas.
-----------------------------------------------------------------------------
}
FUNCTION seg000(opt,p_menu)
DEFINE opt CHAR(2)
DEFINE luz CHAR(4)
DEFINE p_menu CHAR(9)
DEFINE usuarios CHAR(9)
DEFINE no_reg,p_opcion,numero SMALLINT
WHENEVER ERROR CONTINUE
OPTIONS
ERROR LINE 24
LET luz = "azul"
LET p_opcion = opt
SELECT count(*) INTO no_reg FROM seg0001
WHERE usuario = user
IF no_reg = 1 THEN
SELECT opcion INTO p_opcion FROM seg0001
WHERE usuario = user
END IF
IF p_opcion != 99 THEN
SELECT UNIQUE a.usuario FROM seg0001 a
WHERE a.usuario = user and
a.opcion = p_opcion and
a.us_menu = p_menu
IF status = notfound THEN
LET status = 0
LET luz = "roja"
END IF
END IF
IF p_opcion = 99 THEN
LET luz = "azul"
END IF
IF luz = "roja" THEN
ERROR "NO TIENE PERMISO PARA UTILIZAR OPCION"
END IF
RETURN luz
END FUNCTION
+53
View File
@@ -0,0 +1,53 @@
{
============================================================================
PROGRAMA : TERMOMETRO
OBJETIVO : DESPLEGAR TERMOMETRO PORCENTUAL PARA LOS REPORTES
PROGRAMADOR : JUAN F. SOTO
FECHA : MARZO 10, 1995
============================================================================
}
DATABASE rayovac
GLOBALS
DEFINE cuenta1,p,cuenta SMALLINT
END GLOBALS
FUNCTION termometro(registros,primera)
DEFINE registros INTEGER
DEFINE i,veces SMALLINT
DEFINE porcentaje,vez DECIMAL(8,2)
DEFINE primera CHAR(1)
IF primera = "S" THEN
LET porcentaje = 0
LET primera = "N"
LET p = 27
CALL fgl_drawbox(3,8,19,18)
CALL fgl_drawbox(3,35,19,26)
IF registros <= 33 THEN
FOR i = 1 TO 33
LET cuenta1 = 1
DISPLAY " " AT 20,p ATTRIBUTE(REVERSE,BOLD)
LET p = p + 1
END FOR
END IF
END IF
IF registros > 33 THEN
LET vez = registros / 33
LET veces = vez USING "#####"
IF cuenta >= veces THEN
LET cuenta = 0
IF p <= 58 THEN
DISPLAY " " AT 20,p ATTRIBUTE(REVERSE,BOLD)
END IF
LET p = p + 1
END IF
LET porcentaje = (cuenta1/registros) * 100
DISPLAY porcentaje using "###","%" AT 20,19 ATTRIBUTE(BOLD)
LET cuenta = cuenta + 1
LET cuenta1 = cuenta1 + 1
END IF
END FUNCTION