Con el siguiente procedimiento almacenado logré obtener lo que deseo (aunque voy a seguir en la búsqueda de lograrlo con una sentencia SQL, sin usar un proc. almac.)
Código SQL
[-]
CREATE PROCEDURE ARTSPROVS_PRECIOMINIMO
RETURNS (
ID_ART INTEGER,
ID_PROV INTEGER,
ARTNOMBRE VARCHAR (50),
PROVNOMBRE VARCHAR (50),
PREC NUMERIC (9, 2),
DTO NUMERIC (5, 2),
PRECIOMINIMO NUMERIC (9, 2))
AS
Declare variable Id_AAnterior integer;
BEGIN
Id_AAnterior = -1;
for select A_P.ID_ARTICULO, A_P.ID_PROVEEDOR, A.NOMBRE, P.NOMBRE,
A_P.PRECIO, A_P.DESCUENTO,
MIN(A_P.PRECIO - (A_P.PRECIO * A_P.DESCUENTO / 100))
from ARTICULO_PROVEEDOR A_P
inner join ARTICULO A on (A_P.ID_ARTICULO = A.ID_ARTICULO)
inner join PROVEEDOR P on (A_P.ID_PROVEEDOR = P.ID_PROVEEDOR)
group by A_P.ID_ARTICULO, A_P.ID_PROVEEDOR, A.NOMBRE, P.NOMBRE,
A_P.PRECIO, A_P.DESCUENTO
order by A_P.ID_ARTICULO, 7
into :Id_Art, :Id_Prov, :ArtNombre, :ProvNombre, :Prec, to, :PrecioMinimo
do begin
if (Id_AAnterior <> Id_Art) then
suspend;
Id_AAnterior = Id_Art;
end
END
Muchas gracias a todos.
Guillermo