Lo tengo de la siguiente manera pero el segundo código deja de funcionar por alguna razón no se si se deba poner algún comando para indicar que es otro código o declarar nuevamente las variables.
Nota el código no marca error solo que cuando ejecuto la acción en el SAP es como si no funcionara y no hace la validación.
Saludos
ALTERproc [dbo].[SBO_SP_TransactionNotification]
@object_type nvarchar(20), -- SBO Object Type
@transaction_type nchar(1), -- [A]dd, [U]pdate, [D]elete, [C]ancel, C[L]ose
@num_of_cols_in_key int,
@list_of_key_cols_tab_del nvarchar(255),
@list_of_cols_val_tab_del nvarchar(255)
AS
begin
-- Return values
declare @error int -- Result (0 for no error)
declare @error_message nvarchar (200) -- Error string to be displayed
select @error = 0
select @error_message =N'Ok'
--------------------------------------------------------------------------------------------------------------------------------
****OBJETIVO: El no de autorizacion del banco no exista mas de una vez en la orden de venta
****/
declare @u_folio varchar(20)
set @u_folio =''
if @object_type ='17'and @transaction_type ='A'
begin
select @u_folio =isnull(u_folio,'')from ORDR where DocEntry = @list_of_cols_val_tab_del
if (selectcount(u_folio)from ordr where U_Folio = @u_folio)> 1
begin
set @error =-5002
set @error_message =N'Error Critico Número de folio no valido, Favor de verificar'
end
end
--------------------------------------------------------------------------------------------------------------------------------
IF @object_type = 23 and @transaction_type in('A','U')-- BEGIN
declare @referencia varchar(100)--
SELECT @referencia = OQUT.NumAtCard
FROM OQUT
WHERE @list_of_cols_val_tab_del=OQUT.DocEntry --
if (select @referencia)<
begin
set @error = 1
set @error_message ='Falta referencia'
end
END
-- Select the return values
select @error, @error_message
end