Avalados por :

Evite a criação de artigos que comecem com a letra A: Guia de validação

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Cargando...

Como posso fazer uma validação para evitar a criação de artigos que sempre começam com a letra A e não com outra?

Saudações

Editado por: Rui Pereira em 7 de novembro de 2008 às 10:05 AM

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Cargando...

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
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Manuel:

Obrigado pela informação, embora não tenha funcionado, ajudou bastante a encontrar a solução. Aqui está a consulta que pode ser útil para o fórum:

/***********************************MESTRE DE ARTIGOS**************************************************/

DECLARE @CODLON NVARCHAR

DECLARE @CODART NVARCHAR

-- VALIDA QUE O TIPO DE ARTIGO TENHA COMO CARACTER INICIAL APENAS A=ARTIGOS, N=AMOSTRAS DE STOCK, M=AMOSTRAS ORIGINAIS, S=SERVIÇO

IF @object_type = '4' --MESTRE DE ARTIGOS

BEGIN

IF @transaction_type = 'A' or @transaction_type = 'U'

BEGIN

SET @CODART=(SELECT LEFT(T0.ITEMCODE,1) FROM OITM T0 WHERE T0.itemcode=@list_of_cols_val_tab_del)

IF (LEFT(@CODART,1) NOT IN ('A','N','M','S'))

BEGIN

SELECT @error = 1

SELECT @error_message = 'NÃO É POSSÍVEL INSERIR O CÓDIGO COM ESSE CARÁTER, VERIFIQUE O TIPO DE ARTIGO A, N, M, S'

END

-- VALIDA QUE O CÓDIGO TENHA APENAS 7 CARACTERES

SET @CODLON=(SELECT T0.ITEMCODE FROM OITM T0 WHERE T0.itemcode=@list_of_cols_val_tab_del)

IF LEN(@CODLON) < 7

BEGIN

SELECT @error = 1

SELECT @error_message = 'O CÓDIGO DEVE TER EXATAMENTE 7 CARACTERES'

END

END

END

Editado por: Rui Pereira em 15 de abril de 2009 às 10:31

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?