EXPORTAÇÃO DOS PRODUTOS
SELECT CONCAT(CASE WHEN LEN(Codigo_EAN) < 13 THEN REPLICATE('0',13-LEN(Codigo_EAN))+RTRIM(Codigo_EAN) WHEN LEN(Codigo_EAN) >= 13 THEN SUBSTRING(Codigo_EAN,1,13) ELSE Codigo_EAN END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )
FROM PRODUTO p, ProdutoPreco pp
where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_EAN <> ''
SELECT CONCAT(CASE WHEN LEN(Codigo) < 13 THEN REPLICATE('0',13-LEN(Codigo))+RTRIM(Codigo) WHEN LEN(Codigo) >= 13 THEN SUBSTRING(Codigo,1,13) ELSE Codigo END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )
FROM PRODUTO p, ProdutoPreco pp
where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1
SELECT CONCAT(CASE WHEN LEN(Codigo_Fabricante1) < 13 THEN REPLICATE('0',13-LEN(Codigo_Fabricante1))+RTRIM(Codigo_Fabricante1) WHEN LEN(Codigo_Fabricante1) >= 13 THEN SUBSTRING(Codigo_Fabricante1,1,13) ELSE Codigo_Fabricante1 END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )
FROM PRODUTO p, ProdutoPreco pp
where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_Fabricante1 <> ''
SELECT CONCAT(CASE WHEN LEN(Codigo_Fabricante2) < 13 THEN REPLICATE('0',13-LEN(Codigo_Fabricante2))+RTRIM(Codigo_Fabricante2) WHEN LEN(Codigo_Fabricante2) >= 13 THEN SUBSTRING(Codigo_Fabricante2,1,13) ELSE Codigo_Fabricante2 END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )
FROM PRODUTO p, ProdutoPreco pp
where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_Fabricante2 <> ''
ATUALIZAÇÃO DE PREÇOS
Até aqui o processo refere-se à primeira importação dos produtos. Porém, para não precisar importar todos os produtos todas as vezes em que houver uma alteração de preço, foram criadas as querys abaixo que puxam somente os produtos que tiveram alteração de preço NO DIA.
SELECT CONCAT(CASE WHEN LEN(Codigo_EAN) < 13 THEN REPLICATE('0',13-LEN(Codigo_EAN))+RTRIM(Codigo_EAN) WHEN LEN(Codigo_EAN) >= 13 THEN SUBSTRING(Codigo_EAN,1,13) ELSE Codigo_EAN END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )
FROM PRODUTO p, ProdutoPreco pp
where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_EAN <> '' and convert(date,pp.DataAlteracao) = convert(date,getdate())
SELECT CONCAT(CASE WHEN LEN(Codigo) < 13 THEN REPLICATE('0',13-LEN(Codigo))+RTRIM(Codigo) WHEN LEN(Codigo) >= 13 THEN SUBSTRING(Codigo,1,13) ELSE Codigo END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )
FROM PRODUTO p, ProdutoPreco pp
where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and convert(date,pp.DataAlteracao) = convert(date,getdate())
SELECT CONCAT(CASE WHEN LEN(Codigo_Fabricante1) < 13 THEN REPLICATE('0',13-LEN(Codigo_Fabricante1))+RTRIM(Codigo_Fabricante1) WHEN LEN(Codigo_Fabricante1) >= 13 THEN SUBSTRING(Codigo_Fabricante1,1,13) ELSE Codigo_Fabricante1 END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )
FROM PRODUTO p, ProdutoPreco pp
where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_Fabricante1 <> '' and convert(date,pp.DataAlteracao) = convert(date,getdate())
SELECT CONCAT(CASE WHEN LEN(Codigo_Fabricante2) < 13 THEN REPLICATE('0',13-LEN(Codigo_Fabricante2))+RTRIM(Codigo_Fabricante2) WHEN LEN(Codigo_Fabricante2) >= 13 THEN SUBSTRING(Codigo_Fabricante2,1,13) ELSE Codigo_Fabricante2 END ,'|' ,case when len(Nome) >= 19 then substring(replace(NOME,',','.'),1,19) when len(nome) < 19 then convert(char(19), replace(nome,',','.')) end ,' |' , REPLICATE('0',20-LEN(replace(convert(decimal(18,2),pp.Preco),'.','')))+RTRIM(replace(convert(decimal(18,2),pp.Preco),'.','')) )
FROM PRODUTO p, ProdutoPreco pp
where pp.Produto__Ide = p.ide and pp.TabelaPreco__Ide in (select ide from TabelaPreco where nome = @Tabelapreco) and pp.Preco > 0.00 and p.Inativo <> 1 and p.Status <> -1 and Codigo_Fabricante2 <> '' and convert(date,pp.DataAlteracao) = convert(date,getdate())