Files

126 lines
3.5 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