Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

SP TN

Hola a todos, tengo un problema con las ordenes de ventas, al hacer una orden de venta esta no verifica si hay existencia o no en el almacen, hice un SP para que me validara si el articulo tenia existencia en el stock . Funciona con una sola linea, si hay dos lineas me da error gracias por la ayuda

-- ADD YOUR CODE HERE

IF @object_type='17' and @transaction_type='A'

begin

DECLARE @item1 as varchar(10)

SET @item1 = (SELECT T0.itemcode from rdr1 T0

WHERE T0.DocEntry=@list_of_cols_val_tab_del)

DECLARE @OnHand as varchar(10)

SEt @OnHand=(Select T1.OnHand from oitm T1 WHERE T1.ItemCOde=@item1)

IF @OnHand = '0.000000'

begin

SET @ERROR = 1

SET @error_message = 'No Hay Cantidad disponible en el Stock'

end

end

replied

intenta con esto.

despues mira la estructura del cursor.

IF @object_type='17' and @transaction_type='A'
begin
	declare @ItemCode as varchar(20)
 declare @Mensaje as varchar(200)
 DECLARE @OnHand as varchar(10)
 set @Mensaje=''
  
  declare C cursor for
  SELECT T0.itemcode from rdr1 T0
  WHERE T0.DocEntry=@list_of_cols_val_tab_del /* esta SQL te entregara mas de 1 registro*/
  open C
        
  fetch next from C
  into @ItemCode
		while @@fetch_status = 0
		begin
			SEt @OnHand=(Select T1.OnHand from oitm T1 WHERE T1.ItemCode=@ItemCode)
			IF @OnHand = '0.000000'
			begin
				set @Mensaje=@Mensaje+@ItemCode+'-'
			end
			-- Avanzamos otro registro
			fetch next from C
			into @ItemCode
		end
  --cerramos el cursor
  close C
  deallocate C

  if @Mensaje =''
  begin
		SET @ERROR = 0
		SET @error_message = ''

  end 
  else
  begin
	        SET @ERROR = 1
		SET @error_message = 'Sin Stock '+@Mensaje	
  end 
end

suerte

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question