cancel
Showing results for 
Search instead for 
Did you mean: 

SP para maestro de artículos

Former Member
0 Kudos

Hola todos,

Estoy creando un SP para el maestro de articulos para que no me creen un artículo nuevo sin la unidad de medida, pero no he podido encontrar el ObjType de la tabla OITM.

JUAN CAMILO

Accepted Solutions (1)

Accepted Solutions (1)

former_member188440
Active Contributor
0 Kudos

El object_type es el numero 4 para items, como va tu codigo?


if @object_type in ('4') and @transaction_type in ('A')

begin

if (select InvntryUom from oitm where itemcode=@list_of_cols.....) is null

begin

set @error=1
set @error_message='Unidad de medida vacia'
end
end

Edited by: Mauricio I Quintana on Jun 15, 2011 6:10 PM

Former Member
0 Kudos

Gracias Mauricio,

Este es mi código, solo que cuando el campo esta vacio me lo deja crear y lo ideal es que solo me deje crear las unidades de medida que le estoy dando y no deje crear si esta null, pero no me quiere dar

IF @object_type in ('4') and @transaction_type in ('A','U') 
   BEGIN
       IF (SELECT T0.InvntryUom 
           FROM OITM T0
           WHERE T0.ItemCode=@list_of_cols_val_tab_del)NOT IN ('UND','KG','MT','LT')
   BEGIN
             SET @error = 1
            SELECT @error_message = 'SP:Ingrese unidad de medida valida'
   END ELSE
      IF (SELECT T0.BuyUnitMsr
           FROM OITM T0
           WHERE T0.PrchseItem='Y' AND T0.ItemCode=@list_of_cols_val_tab_del)NOT IN ('UND','KG','MT','LT')
      BEGIN
             SET @error = 1
            SELECT @error_message = 'SP:Ingrese unidad de medida de compra valida'
   END ELSE
      IF (SELECT T0.SalUnitMsr
           FROM OITM T0
           WHERE T0.SellItem='Y' AND T0.ItemCode=@list_of_cols_val_tab_del)NOT IN ('UND','KG','MT','LT')
      BEGIN
             SET @error = 1
            SELECT @error_message = 'SP:Ingrese unidad de medida de venta valida'
      END
END

JUAN CAMILO

felipe_loyolarodriguez
Active Contributor
0 Kudos

Juan

Pruebalo de esta manera


IF @object_type = '4' AND @transaction_type IN ('A','U') 
BEGIN
IF EXISTS(SELECT T0.InvntryUom 
		FROM OITM T0
		WHERE T0.ItemCode= @list_of_cols_val_tab_del AND T0.InvntryUom NOT IN ('UND','KG','MT','LT'))
BEGIN
	SELECT @error = -2000, @error_message = 'SP:Ingrese Unidad de medida de inventario valida'
END 
ELSE
IF EXISTS(SELECT T0.BuyUnitMsr
		FROM OITM T0
		WHERE T0.PrchseItem='Y' AND T0.ItemCode= @list_of_cols_val_tab_del AND T0.BuyUnitMsr NOT IN ('UND','KG','MT','LT'))
BEGIN
	SELECT @error = -3000, @error_message = 'SP:Ingrese Unidad de medida de compras valida'
END
ELSE
IF EXISTS(SELECT T0.SalUnitMsr
		FROM OITM T0
		WHERE T0.SellItem='Y' AND T0.ItemCode= @list_of_cols_val_tab_del AND T0.SalUnitMsr NOT IN ('UND','KG','MT','LT'))
BEGIN
	SELECT @error = -4000, @error_message = 'SP:Ingrese Unidad de medida de ventas valida'
END
END

Consejo, cada @error y @error_message deben ir cambiando, no pueden ser los mismos

Saludos

Former Member
0 Kudos

Hola Felipe

No me funciona, el código funciona cuando se ingresa en dato en la unidad de medida, pero si se deja en blanco deja grabar el documento

JUAN

felipe_loyolarodriguez
Active Contributor
0 Kudos

Corregido


IF @object_type = '4' AND @transaction_type IN ('A','U') 
BEGIN
IF EXISTS(SELECT T0.InvntryUom 
		FROM OITM T0
		WHERE T0.ItemCode= @list_of_cols_val_tab_del AND (T0.InvntryUom NOT IN ('UND','KG','MT','LT') OR T0.InvntryUom IS NULL))
BEGIN
	SELECT @error = -2000, @error_message = 'SP:Ingrese Unidad de medida de inventario valida'
END 
ELSE
IF EXISTS(SELECT T0.BuyUnitMsr
		FROM OITM T0
		WHERE T0.PrchseItem='Y' AND T0.ItemCode= @list_of_cols_val_tab_del AND (T0.BuyUnitMsr NOT IN ('UND','KG','MT','LT') OR T0.BuyUnitMsr IS NULL))
BEGIN
	SELECT @error = -3000, @error_message = 'SP:Ingrese Unidad de medida de compras valida'
END
ELSE
IF EXISTS(SELECT T0.SalUnitMsr
		FROM OITM T0
		WHERE T0.SellItem='Y' AND T0.ItemCode= @list_of_cols_val_tab_del AND (T0.SalUnitMsr NOT IN ('UND','KG','MT','LT')OR T0.SalUnitMsr IS NULL))
BEGIN
	SELECT @error = -4000, @error_message = 'SP:Ingrese Unidad de medida de ventas valida'
END
END

Slds

Answers (0)