cancel
Showing results for 
Search instead for 
Did you mean: 

Hacer que el Mensaje de error de un SP arroje item que presenta problema

Former Member
0 Kudos

Buenos dias, tengo un SP el cual me controla de que si un articulo esta bloqueado en el datos maestro de articulo al realizar una cotizacion no permita crear el documento, obligando a los asesores a buscar un articulo alternativo, sin embargo quisiera saber si conocen alguna manera en que cuando se dispare el SP el mensaje que arroje indique el item que presenta el bloqueo, ya que si hubieran muchos articulos se tendria que entrar a revisar cual presentan esta caracteristica.

El SP que estoy utilizando es el siguiente.

----------------------------------------------ARTICULO BLOQUEADO----------------------------------------------------

if @object_type in ('23') and @transaction_type in ('A','U')

begin

IF(select count(*)

FROM OQUT T0 INNER JOIN QUT1 T1 ON T0.DocEntry=T1.DocEntry LEFT JOIN OITW T2 ON T1.ItemCode=T2.ItemCode

WHERE ((T2.Locked='Y' AND T2.WhsCode=T1.WhsCode) AND (T0.UserSign2 not in ('5','198')) AND @list_of_cols_val_tab_del = T0.DocEntry))>

Begin

   set @error = 10

   set @error_message = '***SP BLOQUEO VENTAS:El articulo se encuentra bloqueado para esta bodega"'

END

END



Quedaria muy agradecido si me pudieran dar ideas al respecto, quedo atento y agradezco su colaboración.


Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Prueba el siguiente código

if @object_type in ('23') and @transaction_type in ('A','U')

begin


     declare @item nvarchar(20)

set @item=(select top 1 T1.ItemCode

FROM OQUT T0 INNER JOIN QUT1 T1 ON T0.DocEntry=T1.DocEntry LEFT JOIN OITW T2 ON T1.ItemCode=T2.ItemCode

WHERE ((T2.Locked='Y' AND T2.WhsCode=T1.WhsCode) AND (T0.UserSign2 not in ('5','198')) AND @list_of_cols_val_tab_del = T0.DocEntry) 


if @item is not null

Begin

   set @error = 10

   set @error_message = '***SP BLOQUEO VENTAS:El articulo '+ @item +' se encuentra bloqueado para esta bodega"'

END

END


Saludos

Former Member
0 Kudos

Muchas gracias felipe e iva, me sirvio muy bien el SP.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hola Andres,

En el partner para el que trabajo se que para un cliente que solicito algo similar lo que hicieron fue encerrar la consulta del SP en una variable, le hicieron un SELECT TOP 1 y al final el mensaje de error le sumaban la variable para que indicara el articulo en cuestión.

Lo único es que va a mostrar uno por uno, es decir si el documento tiene varias lineas y varias presentan inconsistencias, muestra una por una.

Espero sea de tu ayuda, que tengas buen día

Slds,

IFV