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
+257
View File
@@ -0,0 +1,257 @@
{
------------------------------------------------------------------
PROGRAMA : COPRMT003
OBJETIVO : Capturar, Modificar, Eliminar registros de la
Tabla Furgones.
PROGRAMADOR : JUAN SOTO
FECHA REALIZACION : Agosto 1997
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO
------------------------------------------------------------------
}
GLOBALS "coprgb000.4gl"
FUNCTION coprmt003()
CLEAR SCREEN
OPTIONS
FORM LINE 9,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM cofmmt003 FROM "cofmmt003"
DISPLAY FORM cofmmt003
CALL pantalla()
DISPLAY "coprmt003" AT 4,3
DISPLAY "Furgones" AT 6,36
MENU "OPCIONES"
COMMAND "Adicionar"
"<Esc> Adiciona Registro <Delete> Cancela Operacion"
CLEAR FORM
CALL copcad003()
COMMAND "Consultar-modificar"
"<Esc> Realiza Busqueda <Delete> Cancela Operacion"
CALL copcmf003()
COMMAND "Salir" "Retorna Menu Anterior"
EXIT MENU
END MENU
END FUNCTION
FUNCTION copcad003()
WHENEVER ERROR CONTINUE
## Captura los datos que va a contener el registro
INPUT BY NAME furgones.*
## Verifica que el codigo no exista en el catalogo de furgones. Si existe,
## entonces despliega los datos del registro existente.
AFTER FIELD cod_furg
IF furgones.cod_furg = 0 OR
furgones.cod_furg IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_furg
ELSE
SELECT * INTO furgones.* FROM cotb00003
WHERE cod_furg = furgones.cod_furg
IF STATUS != NOTFOUND THEN
IF furgones.status_t = "E" THEN
LET numero_msg = 36
CALL msg(numero_msg)
NEXT FIELD cod_furg
END IF
DISPLAY BY NAME furgones.*
LET numero_msg = 12
CALL msg(numero_msg)
LET furgones.descrip_furg = NULL
NEXT FIELD cod_furg
END IF
END IF
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
AFTER FIELD descrip_furg
IF furgones.descrip_furg IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD descrip_furg
END IF
AFTER INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
IF furgones.descrip_furg IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD descrip_furg
ELSE
INSERT INTO cotb00003 VALUES (furgones.cod_furg,
furgones.descrip_furg, null, USER, CURRENT, null, null)
CALL integridad()
IF bandera = 1 THEN
RETURN
END IF
LET numero_msg = 1
CALL msg(numero_msg)
CLEAR FORM
LET furgones.cod_furg = NULL
LET furgones.descrip_furg = NULL
NEXT FIELD cod_furg
END IF
AFTER FIELD fech_mod
EXIT INPUT
END INPUT
END FUNCTION
FUNCTION copcmf003()
WHENEVER ERROR CONTINUE
## Aqui se prepara para la captura del criterio de seleccion
CONSTRUCT criterio ON cotb00003.* FROM cotb00003.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET SELEC = " SELECT UNIQUE * FROM cotb00003 where ",
" status_t is null AND ",
criterio clipped,
" ORDER BY 1"
PREPARE busca FROM selec
DECLARE datos SCROLL CURSOR FOR busca
OPEN datos
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
FETCH FIRST datos INTO furgones.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 19
CALL msg(numero_msg)
RETURN
END IF
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
DISPLAY BY NAME furgones.*
MENU "OPCIONES "
COMMAND "Siguiente"
"Presenta en pantalla el proximo registro encontrado"
FETCH NEXT datos INTO furgones.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
DISPLAY BY NAME furgones.*
COMMAND "Anterior"
"Presenta en pantalla el registro anterior encontrado"
FETCH PREVIOUS datos INTO furgones.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 5
CALL msg(numero_msg)
END IF
DISPLAY BY NAME furgones.*
COMMAND "Primero"
"Presenta en pantalla el primer registro encontrado"
FETCH FIRST datos INTO furgones.*
DISPLAY BY NAME furgones.*
LET numero_msg = 5
CALL msg(numero_msg)
COMMAND "Ultimo"
"Presenta en pantalla el ultimo registro encontrado"
FETCH LAST datos INTO furgones.*
DISPLAY BY NAME furgones.*
LET numero_msg = 4
CALL msg(numero_msg)
COMMAND "Escoger"
"<Esc> Actualiza Registro <Delete> Cancela Operacion"
IF furgones.status_t = "E" THEN
LET numero_msg = 36
CALL msg(numero_msg)
RETURN
END IF
INPUT BY NAME furgones.descrip_furg,
furgones.us_crea,
furgones.fech_crea,
furgones.us_mod,
furgones.fech_mod WITHOUT DEFAULTS
AFTER FIELD descrip_furg
IF furgones.descrip_furg IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD descrip_furg
END IF
AFTER INPUT
#### Verifica si el usuario presiono la tecla <Delete>
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
UPDATE cotb00003 SET descrip_furg = furgones.descrip_furg,
us_mod = USER,
fech_mod = CURRENT
WHERE cod_furg = furgones.cod_furg
CALL integridad()
IF bandera = 1 THEN
RETURN
END IF
LET numero_msg = 13
CALL msg(numero_msg)
EXIT INPUT
END INPUT
COMMAND KEY ("L") "eLiminar"
UPDATE cotb00003 SET status_t = "E"
WHERE cod_furg = furgones.cod_furg
LET numero_msg = 39
CALL msg(numero_msg)
COMMAND "Retornar"
"Retorna al menu anterior"
CLEAR FORM
EXIT MENU
END MENU
END FUNCTION