ReturnValue de Procedimiento Almacenado en DW

Hola experto!
Estoy trabajando con PB 10.5.
He hecho un DataWindow que utiliza un procedimiento almacenado (SQL Server) que devuelve un registro y como retorno del procedimiento un número. La información en el datawindow me sale bien, pero no encuentro ninguna forma de obtener el número que retorna el procedimiento. Estoy probando con este proc.:
CREATE PROCEDURE [dbo].[pa_ProdCLGetDesProducto]
@IdProducto int, @CodUsuario int
AS
BEGIN
     SELECT IdProducto, Descripcion
     FROM tblProductos
     WHERE IdProducto=@IdProducto
RETURN 1000
END
Lo que no consigo es acceder al valor 1000, que necesito. ¿Alguna idea?

1 Respuesta

Respuesta
1
Lo que pasa es que tu DW siempre quedara estructurado con una sentencia Select, es decir si ejecutas todo eso solo te dará el select más no el return.
Lo que pasa es que lo que haces como que no le veo mucho sentido, porque uno usa el return cuando hay algún error o datos cuando pasa todo bien tu tratas de hacer las dos cosas a la vez no entiendo.
Pero bueno cuando uon quiere ver un valor de retorno lo trabajo de la siguiente manera.
CREATE PROCEDURE [dbo].[pa_ProdCLGetDesProducto]
@IdProducto int, @CodUsuario int
AS
BEGIN
     SELECT IdProducto, Descripcion
     FROM tblProductos
     WHERE IdProducto=@IdProducto
     if @@error <>0
     select  1000 as RETORNO
END
Al final lo que he hecho ha sido devolver el valor del IDSesion en el mismo conjunto de datos de la primera select, quedando el procedimiento así:
CREATE PROCEDURE [dbo].[pa_ProdCLGetDesProducto]
@IdProducto int, @CodUsuario int
AS
BEGIN
     SELECT IdProducto, Descripcion, 1000 as IDSesion
     FROM tblProductos
     WHERE IdProducto=@IdProducto
END
De todas formas, muchas gracias por la respuesta, seguro que también hubiera válido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas