Cuando creamos un formulario podemos tener un Bloque de Datos donde podremos diseñar un Bloque Tabular con varios listados de columnas de información. Este tipo de diseño se hace de forma que se quiera consultar y actualizar información por varios registros al mismo tiempo.
Para realizar un proceso que trabaje con todos los registros consultados en pantalla debemos crear un bucle o loop. Con el bucle podremos realizar cualquier tarea por cada registro del bloque de datos. Para ello podemos usar el siguiente script el cual lo podemos ubicar en un proceso de nuestro formulario.
BEGIN
FIRST_RECORD;
LOOP
/*-- INGRESAR CODIGO POR REGISTRO --*/
IF :SYSTEM.LAST_RECORD = 'TRUE' THEN
EXIT;
ELSE
NEXT_RECORD;
END IF;
END LOOP;
END;
Los procedimientos empaquetados restringidos (PER) afectan a la navegación dentro del formulario. En ellos se incluyen los built-ins que mueven el foco de la aplicación de un ítem a otro como por ejemplo: Con el comando FIRST_RECORD indicamos al formulario ubicarse en el primer registro. Cada vez que el bucle regrese debemos colocarle NEXT_RECORD antes de finalizar el loop para que pase al siguiente registro.
Con LAST_RECORD sabremos si nos ubicaremos en el ultimo registro es por ello que lo usamos dentro de una condicional para saber de que si estamos en el ultimo registro con EXIT salimos del bucle.
Otro ejemplo usando la lógica inversa:
go_block('bloque');
first_record
while :system.last_record = 'FALSE' loop
----comprobaciones de los registros instrocidos;
next_record;
end loop;
if :system.last_record = 'TRUE' then
----comprobaciones de los registros instrocidos;
end if;
Fuentes.
Artículo: "Crear Bucle en un bloque de Oracle Forms" Publicado en http://profesionghh.blogspot.com/ por Gustavo herrera el 01/2015. Consultado el 11/02/2023.
URL: http://profesionghh.blogspot.com/2015/01/crear-bucle-en-un-bloque-de-oracle-forms.html
Artículo: "Oracle-Recorrer campos" Publicado en https://www.lawebdelprogramador.com/ por mad el 16/04/2007. Consultado el 11/02/2023.
URL: https://www.lawebdelprogramador.com/foros/Oracle/788576-Recorrer-campos.html
No hay comentarios:
Publicar un comentario