on 06-15-2011 11:59 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.