Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,293 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : CTPRMT027
|
||||
OBJETIVO : Capturar, Modificar, Eliminar registros de la
|
||||
Tabla cttb00038
|
||||
PROGRAMADOR : Ing. Maria F. Gomez
|
||||
FECHA REALIZACION : Agosto 15, 1996.
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "ctprgb000.4gl"
|
||||
|
||||
FUNCTION ctprmt027()
|
||||
# WHENEVER ERROR CONTINUE
|
||||
CLEAR SCREEN
|
||||
OPTIONS
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM ctfmmt027 FROM "ctfmmt027"
|
||||
DISPLAY FORM ctfmmt027
|
||||
CALL pantalla()
|
||||
DISPLAY "ctprmt027" AT 4,3
|
||||
DISPLAY "Mantenimiento Costo/Standard/Reporte" AT 6,22
|
||||
|
||||
MENU "OPCIONES"
|
||||
COMMAND "Adicionar"
|
||||
"<Esc> Adiciona Registro <Supr> Cancela Operacion"
|
||||
LET int_flag = FALSE
|
||||
CLEAR FORM
|
||||
CALL ctpcoa001()
|
||||
COMMAND "Consultar-modificar"
|
||||
"<Esc> Realiza Busqueda <Supr> Cancela Operacion"
|
||||
LET INT_FLAG = FALSE
|
||||
CALL ctpcom001()
|
||||
COMMAND "Salir" "Retorna Menu Anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION ctpcoa001()
|
||||
#WHENEVER ERROR CONTINUE
|
||||
## Captura los datos que va a contener el registro
|
||||
|
||||
LET int_flag = false
|
||||
|
||||
LABEL vuelve:
|
||||
INPUT BY NAME costo_stand.*
|
||||
|
||||
AFTER FIELD ventas
|
||||
IF costo_stand.ventas IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ventas
|
||||
END IF
|
||||
AFTER FIELD nomenclatura
|
||||
IF costo_stand.nomenclatura is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ventas
|
||||
END IF
|
||||
|
||||
SELECT * INTO costo_stand.* FROM cttb00038
|
||||
WHERE nomenclatura = costo_stand.nomenclatura and
|
||||
ventas = costo_stand.ventas
|
||||
|
||||
IF status != notfound THEN
|
||||
IF costo_stand.status_t = "E" THEN
|
||||
LET numero_msg = 36
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY BY NAME costo_stand.*
|
||||
NEXT FIELD ventas
|
||||
END IF
|
||||
|
||||
LET numero_msg = 12
|
||||
CALL msg(numero_msg)
|
||||
DISPLAY BY NAME costo_stand.*
|
||||
NEXT FIELD ventas
|
||||
END IF
|
||||
LET costo_stand.ano = null
|
||||
LET costo_stand.mes = null
|
||||
LET costo_stand.costo_st = null
|
||||
LET costo_stand.us_crea = null
|
||||
LET costo_stand.fech_crea = null
|
||||
LET costo_stand.us_mod = null
|
||||
LET costo_stand.fech_mod = null
|
||||
|
||||
DISPLAY BY NAME costo_stand.*
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
LET bandera = 0
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
AFTER FIELD ano
|
||||
IF costo_stand.ano IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano
|
||||
END IF
|
||||
|
||||
AFTER FIELD mes
|
||||
IF costo_stand.mes IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
|
||||
AFTER FIELD costo_st
|
||||
IF costo_stand.costo_st IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD costo_st
|
||||
END IF
|
||||
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
EXIT INPUT
|
||||
END INPUT
|
||||
|
||||
INSERT INTO cttb00038 VALUES
|
||||
(costo_stand.ventas,costo_stand.nomenclatura,costo_stand.ano,
|
||||
costo_stand.mes,costo_stand.costo_st, null,user,current,
|
||||
null,null)
|
||||
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
LET bandera = 0
|
||||
RETURN
|
||||
END IF
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
GOTO vuelve
|
||||
END FUNCTION
|
||||
#-------------------------------------------------------------------------
|
||||
FUNCTION ctpcom001()
|
||||
WHENEVER ERROR CONTINUE
|
||||
LET int_flag = false
|
||||
## Aqui se prepara para la captura del criterio de seleccion
|
||||
|
||||
CONSTRUCT criterio ON cttb00038.* FROM cttb00038.*
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET SELEC = " SELECT UNIQUE * FROM cttb00038 ",
|
||||
" WHERE status_t is null and ",
|
||||
criterio clipped," ORDER BY 2,3"
|
||||
|
||||
PREPARE busca FROM selec
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
LET bandera = 0
|
||||
RETURN
|
||||
END IF
|
||||
DECLARE datos SCROLL CURSOR FOR busca
|
||||
OPEN datos
|
||||
FETCH FIRST datos INTO costo_stand.*
|
||||
IF status >= 0 THEN
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
ELSE
|
||||
|
||||
CALL integridad()
|
||||
|
||||
IF bandera = 1 THEN
|
||||
LET bandera = 0
|
||||
RETURN
|
||||
END IF
|
||||
END IF
|
||||
DISPLAY BY NAME costo_stand.*
|
||||
|
||||
MENU "OPCIONES "
|
||||
COMMAND "Siguiente"
|
||||
"Presenta en pantalla el proximo registro encontrado"
|
||||
FETCH NEXT datos INTO costo_stand.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME costo_stand.*
|
||||
|
||||
COMMAND "Anterior"
|
||||
"Presenta en pantalla el registro anterior encontrado"
|
||||
FETCH PREVIOUS datos INTO costo_stand.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
END IF
|
||||
DISPLAY BY NAME costo_stand.*
|
||||
|
||||
COMMAND "Primero"
|
||||
"Presenta en pantalla el primer registro encontrado"
|
||||
FETCH FIRST datos INTO costo_stand.*
|
||||
DISPLAY BY NAME costo_stand.*
|
||||
LET numero_msg = 5
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Ultimo"
|
||||
"Presenta en pantalla el ultimo registro encontrado"
|
||||
FETCH LAST datos INTO costo_stand.*
|
||||
DISPLAY BY NAME costo_stand.*
|
||||
LET numero_msg = 4
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Escoger"
|
||||
"<Esc> Actualiza Registro <Supr> Cancela Operacion"
|
||||
IF costo_stand.status_t="E" THEN
|
||||
LET numero_msg= 36
|
||||
CALL msg(numero_msg)
|
||||
RETURN
|
||||
END IF
|
||||
INPUT BY NAME costo_stand.ano,costo_stand.mes,
|
||||
costo_stand.costo_st WITHOUT DEFAULTS
|
||||
AFTER FIELD ano
|
||||
IF costo_stand.ano is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano
|
||||
END IF
|
||||
AFTER FIELD mes
|
||||
IF costo_stand.mes is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes
|
||||
END IF
|
||||
|
||||
AFTER FIELD costo_st
|
||||
IF costo_stand.costo_st IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD costo_st
|
||||
END IF
|
||||
|
||||
AFTER INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
EXIT INPUT
|
||||
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 cttb00038 SET ventas = costo_stand.ventas,
|
||||
ano = costo_stand.ano,
|
||||
mes = costo_stand.mes,
|
||||
costo_st = costo_stand.costo_st,
|
||||
us_mod = USER,
|
||||
fech_mod = CURRENT
|
||||
WHERE nomenclatura = costo_stand.nomenclatura AND
|
||||
ventas = costo_stand.ventas
|
||||
|
||||
LET numero_msg = 13
|
||||
CALL msg(numero_msg)
|
||||
|
||||
COMMAND KEY ("L") "eLiminar"
|
||||
|
||||
UPDATE cttb00038 SET status_t ="E" ,
|
||||
us_mod = user,
|
||||
fech_mod = current
|
||||
where nomenclatura = costo_stand.nomenclatura AND
|
||||
ventas = costo_stand.ventas
|
||||
LET numero_msg = 39
|
||||
CALL msg(numero_msg)
|
||||
COMMAND "Retornar"
|
||||
"Retorna al menu anterior"
|
||||
EXIT MENU
|
||||
END MENU
|
||||
END FUNCTION
|
||||
|
||||
Reference in New Issue
Block a user