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
+225
View File
@@ -0,0 +1,225 @@
{
------------------------------------------------------------------
PROGRAMA : PRPRMT005
OBJETIVO : Capturar, Modificar, Eliminar registros de la
Tabla de Factor de Conversion de Semi-Elaborado.
PROGRAMADOR : Tadeo A. Ferreras F.
FECHA REALIZACION : Junio 14, 1993.
------------------------------------------------------------------
}
GLOBALS "prprgb000.4gl"
FUNCTION prprmt005()
# WHENEVER ERROR CONTINUE
CLEAR SCREEN
OPTIONS
FORM LINE 9,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM ctfmmt005 FROM "prfmmt006"
DISPLAY FORM ctfmmt005
CALL pantalla()
DISPLAY "prprmt005" AT 4,3
DISPLAY "Factor de Conversion Semi-Elaborado" AT 6,22
MENU "OPCIONES"
COMMAND "Adicionar"
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
LET int_flag = FALSE
CLEAR FORM
CALL prpcad005()
COMMAND "Consultar-modificar"
"<Esc> Realiza Busqueda <Supr> Cancela Operacion"
LET INT_FLAG = FALSE
CALL prpcmf005()
COMMAND "Salir" "Retorna Menu Anterior"
EXIT MENU
END MENU
END FUNCTION
FUNCTION prpcad005()
#WHENEVER ERROR CONTINUE
## Captura los datos que va a contener el registro
LET int_flag = false
INPUT BY NAME prtb06.*
AFTER FIELD cod_prod
IF prtb06.cod_prod is null then
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cod_prod
END IF
SELECT a.* FROM cttb00001 a
WHERE a.cod_prod = prtb06.cod_prod
IF prtb06.status_t = "E" THEN
LET numero_msg = 36
CALL msg(numero_msg)
DISPLAY BY NAME prtb06.*
NEXT FIELD cod_prod
END IF
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD cod_prod
END IF
SELECT UNIQUE a.cod_prod FROM prtb00006 a
WHERE a.cod_prod = prtb06.cod_prod
IF status != notfound THEN
LET numero_msg = 12
CALL msg(numero_msg)
NEXT FIELD cod_prod
END IF
SELECT a.descripcion INTO cttb01.descripcion
FROM cttb00001 a
WHERE a.cod_prod = prtb06.cod_prod
DISPLAY BY NAME cttb01.descripcion
AFTER FIELD fact_conv
IF prtb06.fact_conv IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fact_conv
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
INSERT INTO prtb00006 VALUES
(prtb06.cod_prod,prtb06.fact_conv,
null,user,current,null,null)
LET numero_msg = 1
CALL msg(numero_msg)
END FUNCTION
FUNCTION prpcmf005()
#WHENEVER ERROR CONTINUE
LET int_flag = false
## Aqui se prepara para la captura del criterio de seleccion
CONSTRUCT criterio ON prtb00006.* FROM prtb00006.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
LET SELEC = " SELECT UNIQUE prtb00006.*,cttb00001.descripcion ",
" FROM prtb00006,cttb00001 ",
" WHERE prtb00006.status_t is null and ",
" prtb00006.cod_prod = cttb00001.cod_prod AND ",
criterio clipped," ORDER BY prtb00006.cod_prod "
PREPARE busca FROM selec
DECLARE datos SCROLL CURSOR FOR busca
OPEN datos
FETCH FIRST datos INTO prtb06.*,cttb01.descripcion
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
RETURN
END IF
DISPLAY BY NAME prtb06.*,cttb01.descripcion
MENU "OPCIONES "
COMMAND "Siguiente"
"Presenta en pantalla el proximo registro encontrado"
FETCH NEXT datos INTO prtb06.*,cttb01.descripcion
IF STATUS = NOTFOUND THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
DISPLAY BY NAME prtb06.*,cttb01.descripcion
COMMAND "Anterior"
"Presenta en pantalla el registro anterior encontrado"
FETCH PREVIOUS datos INTO prtb06.*,cttb01.descripcion
IF STATUS = NOTFOUND THEN
LET numero_msg = 5
CALL msg(numero_msg)
END IF
DISPLAY BY NAME prtb06.*,cttb01.descripcion
COMMAND "Primero"
"Presenta en pantalla el primer registro encontrado"
FETCH FIRST datos INTO prtb06.*,cttb01.descripcion
DISPLAY BY NAME prtb06.*,cttb01.descripcion
LET numero_msg = 5
CALL msg(numero_msg)
COMMAND "Ultimo"
"Presenta en pantalla el ultimo registro encontrado"
FETCH LAST datos INTO prtb06.*,cttb01.descripcion
DISPLAY BY NAME prtb06.*,cttb01.descripcion
LET numero_msg = 4
CALL msg(numero_msg)
COMMAND "Escoger"
"<Esc> Actualiza Registro <Supr> Cancela Operacion"
IF prtb06.status_t="E" THEN
LET numero_msg= 36
CALL msg(numero_msg)
RETURN
END IF
INPUT BY NAME prtb06.fact_conv WITHOUT DEFAULTS
AFTER FIELD fact_conv
IF prtb06.fact_conv IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fact_conv
END IF
END INPUT
#### Verifica si el usuario presiono la tecla <Supr>
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
UPDATE prtb00006 SET (fact_conv,us_mod,fech_mod) =
(prtb06.fact_conv,USER,CURRENT)
WHERE @cod_prod = prtb06.cod_prod
LET numero_msg = 13
CALL msg(numero_msg)
COMMAND KEY ("L") "eLiminar"
UPDATE prtb00006 SET status_t ="E" ,
us_mod = user,
fech_mod = current
WHERE @cod_prod = prtb06.cod_prod
LET numero_msg = 39
CALL msg(numero_msg)
COMMAND "Retornar"
"Retorna al menu anterior"
EXIT MENU
END MENU
END FUNCTION