Início > Uncategorized > SQL Server: EAN Generator

SQL Server: EAN Generator

ALTER FUNCTION [dbo].[UFN_GeraCodigoEAN](@ID VARCHAR(20)) RETURNS VARCHAR(20) AS BEGIN

    DECLARE @Retorno VARCHAR(20), @Digito CHAR(1)

    DECLARE @chk_digit int, @chk int     DECLARE @num TABLE (num int)

    SELECT @ID = RTRIM(LTRIM(@ID))

    SELECT @ID = ‘999’+ISNULL(REPLICATE(‘0’, 9 – len(ISNULL(@ID ,0))), ”) + @ID

    INSERT INTO @num

    SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL     SELECT 4 UNION ALL  SELECT  5 UNION ALL SELECT  6 UNION ALL     SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL     SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12

    SELECT @chk_digit = SUM(CONVERT(int, SUBSTRING(@ID, LEN(@ID) – num + 1, 1)) *CASE WHEN num % 2 = 1 THEN 3 ELSE 1 END)     FROM   @num     WHERE  num <= LEN(@ID)

    SELECT @chk_digit = (10 – (@chk_digit % 10)) % 10

    SELECT @Digito=CHAR(ASCII(‘0’) + @chk_digit)

    SELECT @Retorno=@ID + @Digito

     RETURN @Retorno

END

Categorias:Uncategorized
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: