Por el procedimiento de almacenamiento, notificación de transacción.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER proc [dbo].[SBO_SP_TransactionNotification]
@object_type nvarchar(20), -- Tipo de objeto SBO
@transaction_type nchar(1), -- [A]gregar, [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
-- Valores de retorno
declare @error int -- Resultado (0 para ningún error)
declare @error_message nvarchar (200) -- Cadena de error a mostrar
select @error = 0
select @error_message = N'Ok'
--------------------------------------------------------------------------------------------------------------------------------
-- AGREGUE SU CÓDIGO AQUÍ
DECLARE @Num int
IF @object_type = '4' --MAESTRO ARTICULOS
BEGIN
IF @transaction_type = 'A' or @transaction_type = 'U'
BEGIN
SET @Num=(
SELECT COUNT(*)
FROM OITM T0
WHERE ((right(T0.ItmsGrpCod,1)<> 'A')
) and T0.itemcode=@list_of_cols_val_tab_del
)
IF (@Num>0)
BEGIN
SELECT @error = 101
SELECT @error_message = N'Você não pode criar artigos com este código, revise'
END
END
END
--------------------------------------------------------------------------------------------------------------------------------
-- Seleccione los valores de retorno
select @error, @error_message
end