La sentencia EGL get previous o bien lee la fila anterior de un conjunto de resultados de base de datos relacional, o bien lee el registro anterior del archivo asociado con un registro indexado de EGL.
Solo puede utilizar esta sentencia para un conjunto de resultados de base de datos relacional si especificó la opción scroll en la sentencia open relacionada. La opción scroll solo está disponible si está generando salida en Java.
A continuación se ofrece un ejemplo de registro indexado:
record1.hexKey = "FF"; set record1 position; try get previous record1; onException myErrorHandler(8); return; end while (record1 not endOfFile) processRecord(record1); // manejar los datos try get previous record1; onException myErrorHandler(8); return; end end
Los detalles de la sentencia get previous dependen de si está utilizando un registro indexado o de si está ocupando de Proceso SQL.
1, 2, 2, 2, 3, 4
Cada una de las tablas siguientes ilustra el resultado de la ejecución de una secuencia de sentencias EGL en el mismo registro indexado.
Las tres tablas que siguen hacen referencia al código COBOL generado por EGL.
Sentencia EGL (por orden) | Clave del registro indexado | Clave del registro de archivo recuperada por la sentencia | Valor de error EGL para COBOL |
---|---|---|---|
get | 3 | 3 | — |
get previous | cualquiera | 2 (la primera de tres) | duplicate |
get previous | cualquiera | 2 (la segunda) | duplicate |
get previous | cualquiera | 2 (la tercera) | — |
get previous | cualquiera | 1 | — |
Sentencia EGL (por orden) | Clave del registro indexado | Clave del registro de archivo recuperada por la sentencia | Valor de error EGL para COBOL |
---|---|---|---|
set (en el formato set record position) | 2 | — | — |
get next | cualquiera | 2 (la primera) | duplicate |
get next | cualquiera | 2 (la segunda) | — |
get previous | cualquiera | 1 | — |
get previous | cualquiera | -- | endOfFile |
Sentencia EGL (por orden) | Clave del registro indexado | Clave del registro de archivo recuperada por la sentencia | Valor de error EGL para COBOL |
---|---|---|---|
set (en el formato set record position) | 1 | -- | -- |
get previous | cualquiera | 1 | -- |
Las tres tablas que siguen hacen referencia al código Java generado por EGL.
Sentencia EGL (por orden) | Clave del registro indexado | Clave del registro de archivo recuperada por la sentencia | Valor de error EGL para Java |
---|---|---|---|
get | 3 | 3 | — |
get previous | cualquiera | 2 (la primera de tres) | duplicate |
get previous | cualquiera | 2 (la segunda) | duplicate |
get previous | cualquiera | 2 (la tercera) | — |
get previous | cualquiera | 1 | — |
Sentencia EGL (por orden) | Clave del registro indexado | Clave del registro de archivo recuperada por la sentencia | Valor de error EGL para Java |
---|---|---|---|
set (en el formato set record position) | 2 | — | duplicate |
get next | cualquiera | 2 (la primera) | — |
get next | cualquiera | 2 (la segunda) | duplicate |
get previous | cualquiera | 1 | — |
get previous | cualquiera | -- | endOfFile |
Sentencia EGL (por orden) | Clave del registro indexado | Clave del registro de archivo recuperada por la sentencia | Valor de error EGL para Java |
---|---|---|---|
set (en el formato set record position) | 1 | -- | -- |
get previous | cualquiera | 1 | -- |
Una sentencia SQL FETCH representa la sentencia EGL get previous en el código generado. El formato de la sentencia SQL generada no puede cambiarse, excepto para establecer la cláusula INTO.
Por lo general, si se produce un error y el proceso continúa, el cursor permanece abierto, con la posición del cursor inalterada.
Finalmente, al especificar SQL COMMIT o sysLib.commit, el código conserva la posición en el cursor declarado en la sentencia open, pero sólo en caso de que utilice la opción hold en la sentencia open.
Conceptos relacionados
Tipos de registros y propiedades
Tareas relacionadas
Diagrama de sintaxis
Consulta relacionada
add
close
delete
Manejo de excepciones
execute
get
get next
Valores de error de E/S
open
prepare
Sentencias EGL
replace
set