Files
DECOMARMOL/PROYECTO/cpdir/cpprcs002.4gl
T
2026-09-22 20:38:51 -04:00

126 lines
3.4 KiB
Plaintext

{
------------------------------------------------------------------
PROGRAMA : CPPRCS002
OBJETIVO : Capturar, Modificar, Eliminar registros de la
Tabla de Suplidores.
PROGRAMADOR : Tadeo A. Ferreras
FECHA REALIZACION : Oct. 20, 1993.
------------------------------------------------------------------
}
GLOBALS "cpprgb000.4gl"
DEFINE suplidor RECORD LIKE cotb00001.*
DEFINE otros_d RECORD
nom_pais CHAR(30),
term_sp CHAR(30)
END RECORD
FUNCTION cpprcs002()
CLEAR SCREEN
OPTIONS
FORM LINE 9,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM cpfmcs002 FROM "cpfmcs002"
DISPLAY FORM cpfmcs002
CALL pantalla()
DISPLAY "cpprcs002" AT 4,3
DISPLAY "Maestra de Suplidores" AT 6,29
MENU "OPCIONES"
COMMAND "Consultar"
"<Esc> Realiza Busqueda <Delete> Cancela Operacion"
CALL copcmf001()
COMMAND "Salir" "Retorna Menu Anterior"
EXIT MENU
END MENU
END FUNCTION
FUNCTION copcmf001()
WHENEVER ERROR CONTINUE
# Aqui se prepara para la captura del criterio de seleccion
CONSTRUCT criterio ON cotb00001.* FROM cotb00001.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
LET SELEC =
"SELECT UNIQUE cotb00001.* FROM cotb00001 ",
"WHERE cotb00001.status_t is null AND ",criterio clipped,
" ORDER BY 1,2,3,4"
PREPARE busca FROM selec
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
DECLARE datos SCROLL CURSOR FOR busca
OPEN datos
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
FETCH FIRST datos INTO suplidor.*
IF status = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
RETURN
END IF
CALL desplegar02()
MENU "OPCIONES "
COMMAND "Siguiente" "Presenta en pantalla el proximo registro encontrado"
FETCH NEXT datos INTO suplidor.*
IF status = NOTFOUND THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
CALL desplegar02()
COMMAND "Anterior" "Presenta en pantalla el registro anterior encontrado"
FETCH PREVIOUS datos INTO suplidor.*
IF status = NOTFOUND THEN
LET numero_msg = 5
CALL msg(numero_msg)
END IF
CALL desplegar02()
COMMAND "Primero" "Presenta en pantalla el primer registro encontrado"
FETCH FIRST datos INTO suplidor.*
CALL desplegar02()
LET numero_msg = 5
CALL msg(numero_msg)
COMMAND "Ultimo" "Presenta en pantalla el ultimo registro encontrado"
FETCH LAST datos INTO suplidor.*
CALL desplegar02()
LET numero_msg = 4
CALL msg(numero_msg)
COMMAND "Retornar" "Retorna al menu anterior"
CLEAR FORM
EXIT MENU
END MENU
END FUNCTION
FUNCTION desplegar02()
SELECT UNIQUE a.nom_pais INTO otros_d.nom_pais FROM cotb00018 a
WHERE a.cod_pais = suplidor.cod_pais
SELECT UNIQUE a.descrip_term INTO otros_d.term_sp FROM cotb00024 a
WHERE a.term_sp = suplidor.term_sp
DISPLAY BY NAME suplidor.*,otros_d.*
END FUNCTION