Olá...
Na verdade, não há uma regra específica para mensagens. No entanto, em alguns casos, pode ser útil manter um controle dos diferentes mensagens de erro através deste indicador.
Atenciosamente,
Avalados por :
Caros amigos:
Tenho um campo de usuário chamado Ordem de Compra, gostaria de fazer uma validação ou, em todo caso, o que poderia usar para que o número inserido não seja duplicado, desde que a Ordem de Venda esteja em estado aberto.
Espero que possam me ajudar a como fazer essa validação.
Saudações
QASAC
Olá...
Na verdade, não há uma regra específica para mensagens. No entanto, em alguns casos, pode ser útil manter um controle dos diferentes mensagens de erro através deste indicador.
Atenciosamente,
Uma pergunta que talvez possa me tirar da minha ignorância. Vejo que estão usando ou você está usando no (SET @error) = -4. Por quê? Nas minhas validações eu uso 1. Minha pergunta é quais códigos existem e para que cada um é usado?
Espero que possam resolver minha dúvida.
Saudações,
QASAC
Olá Jesus...
Verifique o seguinte post..., apresenta um caso de validação para dados repetidos
A partir do que entendo seria mais ou menos assim..., onde U_nnn seria o campo de usuário
IF ((@object_type = '17' AND @transaction_type = 'A' )) or ((@object_type = '17' AND @transaction_type = 'U' ))
DECLARE @FAB AS NVARCHAR(30)
DECLARE @CONSULTA INT
SET @FAB = (SELECT T0.U_nnn FROM ORDR T0 WHERE T0.DocNum = @list_of_cols_val_tab_del)
SET @CONSULTA = (SELECT COUNT(T0.U_nnn) FROM ORDR T0 WHERE T0.U_nnn = @FAB)
BEGIN
IF EXISTS
(SELECT T0.DocNum FROM ORDR T0 WHERE (T0.U_nnn Is Null) and T0.DocNum = @list_of_cols_val_tab_del)
BEGIN
SET @error = -4
SET @error_message = 'Falta o nnn'
END
IF @CONSULTA > '1'
SET @error = -4
SET @error_message = 'Este Campo de usuário não pode ser duplicado'
END
Espero que seja útil,
Cumprimentos cordiais,
Editado por: Paul Ponce em 12 de janeiro de 2010 às 17:42
Experimente esta opção com o status aberto
IF ((@object_type = '17' E @transaction_type = 'A' )) o ((@object_type = '17' E @transaction_type = 'U' ))
begin
DECLARE @REF COMO NVARCHAR(10)
DECLARE @existe INT
SET @REF = (SELECIONAR U_userfield DE ORDR ONDE DocNum = @list_of_cols_val_tab_del)
SET @existe = (SELECIONAR CONTAGEM(U_userfield) DE ORDR ONDE DocStatus='O' e U_userfield = @REF)
end
IF @existe >1
begin
SET @error = -1
SET @error_message = 'Esta referência existe em outra ordem aberta'
END
Saudações
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute