Hola Compañeros, aquí solicitando nuevamente de su ayuda, ahora soy nueva en esto de SP_TransactionNotification estoy realizando una notificación donde el campo Dirección de Destino del documento de factura cliente si esta vacio no deje avanzar estoy utilizando este código pero no lo ejecuta, que estaré haciendo mal??
--Factura clientes
IF (@object_type='13') AND (@transaction_type IN ('A','U'))
BEGIN
declare @direccion as nvarchar (100)
Select @direccion = '-1000'
IF @direccion=ISNULL (ShipToCode,'-1000') from OINV where DocEntry=@list_of_cols_val_tab_del
if @direccion = '-1000'
BEGIN
SET @error = 0001
SET @error_message = 'error errrorrr'
end
end
También utilice este
--Factura Clientes
IF (@object_type='13') AND (@transaction_type IN ('A','U'))
BEGIN
IF (Select Address2 FROM OINV DocEntry=@list_of_cols_val_tab_del) IS Null
BEGIN
SET @error = 1
SET @error_message = 'Error'
END
END
if @object_type=‘13’ and @transaction_type IN (‘A’,‘U’)
begin
select @direccionDestino = ShipToCode
from OINV
where DocEntry=@list_of_cols_val_tab_del
if (@direccionDestino is null)
begin
select @error = -12312321
select @error_message = 'Error - Favor de indicar la dirección destino’
end
end
Retomo el tema: las consultas me funcionaron muy bien al final quedo asi:
IF (@object_type = '2') and ( @transaction_type IN ('A','U'))
BEGIN
declare @cp as nvarchar (100)
select @cp = '-1001'
SET @cp = (Select isnull (ZipCode,'-1001') from CRD1 where CardCode=@list_of_cols_val_tab_del)
if @cp = '-1001'
Begin
SET @error = 0002
Set @error_message = 'Notificación, Falta llenar campo Código Postal'
end
end
pero ahora me sale un error, en algunos socios de negocios,
[Microsoft][SQL Server Native Client 11.0][SQL Server]Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. (CINF)
if (@object_type = ‘2’) and ( @transaction_type IN (‘A’,‘U’))
begin
if (select ZipCode from CRD1 where Address= @list_of_cols_val_tab_del) is null
begin
Set @error = -123
Set @error_message = 'Notificación, Falta llenar campo Código Postal’
end
end
Lo consideré porque ella necesita es que el cliente tenga al menos 1 direccíón de envío, si tiene 2, 3, 4 o N no es lo relevante sino que necesita que tenga al menos 1 donde posea el ZIPCODE.
Lo que puede es agregar para que tome la dirección por defecto siempre (que es la que toma la pantalla de la factura), pero con el TOP 1 valida que tenga al menos 1 zipcode a la cual enviar los datos.