Pular para o conteúdo
Claro
Português

Exemplo scripts SQL

Este artigo tem como objetivo apresentar alguns exemplos de consultas SQL que podem ser utilizadas na integração.

Exemplo de um SQl da tabela 03 - CIDADE utilizado em um cliente/parceiro:

SELECT '03' AS IDENTIFICADOR,

CODCIDADE AS CODIgO,

NOMECIDADE AS DESCRICAO,

ESTADO AS UF,

ATIVO AS ATIVO

FROM TAB_CIDADE

Exemplo de um SQL da tabela 18 - CLIENTE utilizado hoje em um cliente/parceiro:

SELECT

IDENTIFICADOR,

CODIGO,

CPF_CNPJ,

CASE WHEN COD_CONDICAO_PAGAMENTO = 0 THEN " ELSE COD_CONDICAO_PAGAMENTO END,

CASE WHEN COD_FORMA_PAGAMENTO = 0 THEN " ELSE COD_FORMA_PAGAMENTO END,

CASE WHEN COD_REGIAO AS REGIAO = 0 THEN " ELSE COD_REGIAO AS REGIAO END,

CASE WHEN COD_VENDEDOR = 0 THEN " ELSE COD_VENDEDOR END,

CASE WHEN COD_LISTA_PRECO = 0 THEN " ELSE COD_LISTA_PRECO END,

CASE WHEN COD_CIDADE = 0 THEN " ELSE COD_CIDADE END,

CASE WHEN COD_FILIAL = 0 THEN " ELSE COD_FILIAL END,

NOME_RAZAO,

CASE WHEN NOME_FANTASIA = " THEN NOME_RAZAO ELSE NOME_FANTASIA END,

TIPO_PESSOA,

" AS INTERVALOVISITA,

RG_IE,

TELEFONE_1,

TELEFONE_2,

" AS EMAILCOMPRADOR,

EMAIL_NFE,

" AS EMAILFINANCEIRO,

CONTATO,

ENDERECO,

BAIRRO,

CEP,

UF,

OBSERVACAO,

CASE WHEN ATIVO = '0' THEN '0' ELSE '1' END AS ATIVO,

" as BLOQUEADO,

NUMERO,

COMPLEMENTO,

" AS LATITUDE,

" AS LONGITUDE,

'0' AS BLOQUEAREDICAOFILIAL,

'0' AS BLOQUEAREDICAOLISTAPRECO,

'0' AS BLOQUEAREDICAOCONDICAO,

'0' AS BLOQUEAREDICAOFORMAPAGTO,

INSCRICAO_ESTADUAL_PESSOA_FISICA,

" AS IDDEMANDER,

" AS TIPOCLIENTETRIBUTARIO,

" VENDEDORESRELACIONADOS,

'0' AS PROSPECTO,

" IDENTIFICACAOALTERACAO,

" AS ACORDOCOMERCIAL,

" TRANSPORTADORAPREFERENCIAL,

" TRANSPORTADORAPREFERENCIALREDESPACHO,

" AS DATANASCIMENTO,

" AS SEGMENTOSRELACIONADOS,

" AS NUMCRO,

" AS PERCMAXIMODESCONTO

FROM dba.VDMR_CLIENTE_VIEW

Exemplo de um SQL da tabela 13 - PREÇO DO PRODUTO utilizado hoje em um cliente/parceiro:

SELECT

'13' AS IDENTIFICADOR,

RTRIM(SB1.B1_XCODRED) AS CODIGO,

TRIM(DA1.DA1_CODTAB) + 'PE' AS LISTAPRC,

B1_UM AS UM,

B1_QE AS QTDEEMB,

CASE WHEN DA1.D_E_L_E_T_ = '*' THEN 0 ELSE DA1.DA1_PRCVEN END AS PRECO,

CASE WHEN COALESCE(DA1.DA1_PERDES, 0) > 0 THEN DA1.DA1_PERDES ELSE 60.01 END AS PERCDESC,

0 AS FRACINADO,

0 AS VLRPROMO,

'' AS DTINIPROMO,

'' AS DTFIMPROMO,

'' AS DTLANC,

'' AS MULTEMB,

'' AS IPI,

'' AS PRCPREF,

'' AS PRCTRAC,

'' AS CLIENTE,

B1_PESBRU AS PESOBRUTO,

B1_PESO AS PESOLIQUIDO


FROM

DA1010 DA1 WITH (NOLOCK)

INNER JOIN SB1010 SB1 WITH (NOLOCK) ON DA1.DA1_CODPRO = SB1.B1_COD AND SB1.B1_FILIAL = '010101' AND SB1.D_E_L_E_T_ = ''

INNER JOIN DA0010 DA0 WITH (NOLOCK) ON DA0_FILIAL = DA1_FILIAL AND DA0_CODTAB = DA1_CODTAB AND DA0.D_E_L_E_T_ = ''


LEFT JOIN DA1010 DA1_DELETADO WITH (NOLOCK) ON TRIM(DA1.DA1_CODTAB) = TRIM(DA1_DELETADO.DA1_CODTAB) AND TRIM(DA1.DA1_CODPRO) = TRIM(DA1_DELETADO.DA1_CODPRO)


LEFT JOIN DA0010 DA0_DELETADO WITH (NOLOCK) ON TRIM(DA0.DA0_CODTAB) = TRIM(DA0_DELETADO.DA0_CODTAB)



WHERE

DATEPART(HOUR, GETDATE()) >=6 AND

DATEPART(HOUR, GETDATE())<= 20 AND

(DA0.D_E_L_E_T_ = '' OR (DA0.D_E_L_E_T_ = '*' AND DA0_DELETADO.DA0_CODTAB IS NULL)) AND

(DA1.D_E_L_E_T_ = '' OR (DA1.D_E_L_E_T_ = '*' AND DA1_DELETADO.DA1_CODTAB IS NULL)) AND

B1_MSBLQL<> '1' AND

DA0.DA0_DATDE+' '+DA0.DA0_HORADE<= GETDATE() AND

( ( DA0.DA0_DATATE = '' ) OR ( DA0.DA0_DATATE+' '+DA0.DA0_HORATE >= GETDATE() ) ) AND

TRIM(SB1.B1_FILIAL) = '010101' and

TRIM(DA1.DA1_CODTAB) = '001' AND

SB1.B1_TIPO IN('PA', 'RI') AND

RTRIM(SB1.B1_XCODRED)<> ''


ORDER BY 2, 3


CriarArquivoDireto

ExecutarScriptSempre

Exemplo de um SQL da tabela 15 - PRODUTOS utilizado hoje em um cliente/parceiro:

SELECT DISTINCT

'15' AS IDENTIFICADOR,

RTRIM(SB1.B1_XCODRED),

RTRIM(SB1.B1_GRUPO),

'' AS MARCA,

RTRIM(SB1.B1_DESC),

ISNULL(SALDO, 0) AS SALDOEST,

SB1.B1_UM,

0 AS PRCVENDA,

1 AS PERMDESC,

'' AS NU1,

'' AS NU2,

'' AS TAMANHO,

'' AS NU3,

'' AS NU4,

'' AS NU5,

'' AS NU6,

'' AS NU7,

'' AS CL1,

'' AS CL2,

'' AS CL3,

PRODSITUACAO.ATIVO,

0 AS QTDEMIN,

SB1.B1_COD AS REFER,

0 AS CTRLLOTES,

RTRIM(SB1.B1_POSIPI) AS NCM,

'' AS C26,


'Cod. GTIN: ' + SB1.B1_CODGTIN + ' \r ' +

'NCM: ' + SB1.B1_POSIPI + ' \r ' +

'Peso Bruto: ' + CAST(SB1.B1_PESBRU AS VARCHAR) + ' \r ' +

'Peso Liquido: ' + CAST(SB1.B1_PESO AS VARCHAR) + ' \r \r ' +

'CEST: ' + SB1.B1_CEST + ' \r \r ' +

'Origem: ' +

CASE

WHEN SB1.B1_ORIGEM = '0' THEN '0 - Nacional: Mercadoria ou servico de origem nacional. '

WHEN SB1.B1_ORIGEM = '1' THEN '1 - Estrangeira-Importacao Direta: Mercadoria ou servico de origem estrangeira, importada diretamente. '

WHEN SB1.B1_ORIGEM = '2' THEN '2 - Estrangeira-Adquirida no Mercado Interno: Mercadoria ou servico de origem estrangeira, adquirida no mercado interno. '

WHEN SB1.B1_ORIGEM = '3' THEN '3 - Nacional, com Conteudo de Importacao Superior a 40%: Mercadoria ou bem nacional, com conteudo de importacao superior a 40%. '

WHEN SB1.B1_ORIGEM = '4' THEN '4 - Nacional, com Producao em Conformidade: Mercadoria nacional, cuja producao foi feita em conformidade com processos produtivos basicos conforme legislacoes especificadas. '

WHEN SB1.B1_ORIGEM = '5' THEN '5 - Nacional, com Conteudo de Importacao Inferior ou Igual a 40%: Mercadoria ou bem nacional, com conteudo de importacao inferior ou igual a 40%. '

WHEN SB1.B1_ORIGEM = '6' THEN '6 - Estrangeira-Importacao Direta, sem Similar Nacional: Mercadoria estrangeira, importada diretamente, sem similar nacional, conforme lista da Resolucao CAMEX. '

WHEN SB1.B1_ORIGEM = '7' THEN '7 - Estrangeira-Adquirida no Mercado Interno, sem Similar Nacional: Mercadoria estrangeira, adquirida no mercado interno, sem similar nacional, conforme lista da Resolucao CAMEX. '

ELSE 'Origem pendente de classificacao.' END

AS OBSERVACAO,

'' AS OBSERVACAOLOJA_C28,

'' AS DTESTOQUE_C29,

'' AS SEGMENTO


FROM

SB1010 AS SB1 WITH (NOLOCK)

LEFT JOIN SB5010 AS SB5 WITH (NOLOCK) ON B1_FILIAL+B1_COD = B5_FILIAL+B5_COD AND SB5.D_E_L_E_T_<>'*'

OUTER APPLY (

SELECT

SUM(B2_QATU - (B2_QEMP + B2_QPEDVEN + B2_RESERVA)) AS SALDO

FROM

SB2010 B2 WITH (NOLOCK)

WHERE

B2_COD = B1_COD

AND B2.D_E_L_E_T_ = ''

) AS B2


LEFT JOIN SB1010 AS SB1_DELETADO WITH (NOLOCK) ON RTRIM(SB1_DELETADO.B1_FILIAL) = RTRIM(SB1.B1_FILIAL)AND RTRIM(SB1_DELETADO.B1_COD) = RTRIM(SB1.B1_COD) and SB1_DELETADO.D_E_L_E_T_='*'

LEFT JOIN (

SELECT

SB1_2.B1_COD,

MAX(CASE WHEN (SB1_2.B1_MSBLQL = 1 OR SB1_2.D_E_L_E_T_ = '*' OR SB1_2.B1_XVEND = 'F') THEN 0 ELSE 1 END) ATIVO

FROM

SB1010 AS SB1_2 WITH (NOLOCK)

WHERE

SB1_2.B1_FILIAL IN ('010101', '010102')

GROUP BY

SB1_2.B1_COD

) PRODSITUACAO ON PRODSITUACAO.B1_COD = SB1.B1_COD

WHERE

(SB1.D_E_L_E_T_ = '' OR (SB1.D_E_L_E_T_ = '*' AND SB1_DELETADO.B1_COD IS NULL)) AND


RTRIM(SB1.B1_COD) IN (

SELECT DISTINCT

RTRIM(DA1.DA1_CODPRO)

FROM

DA0010 DA0 WITH (NOLOCK)

INNER JOIN DA1010 DA1 WITH (NOLOCK) ON DA1_CODTAB = DA0_CODTAB AND DA1.D_E_L_E_T_ = ''


WHERE

DA0_DATDE+' '+DA0_HORADE<= GETDATE()

AND ( ( DA0_DATATE = '' ) OR ( DA0_DATATE+' '+DA0_HORATE >= GETDATE() ) )

AND DA0.D_E_L_E_T_ = ''

) AND

RTRIM(SB1.B1_FILIAL) = '010101' AND

SB1.B1_TIPO IN('PA', 'RI') AND

RTRIM(SB1.B1_XCODRED)<> ''

ORDER BY

RTRIM(SB1.B1_XCODRED)


CriarArquivoDireto

ExecutarScriptUmaVezPorDia

Exemplo de um SQL da tabela 19 - TÍTULOS FINANCEIROS utilizado hoje em um cliente/parceiro:

SELECT

'19' AS IDENTIFICADOR,

RTRIM(E1_NUM) + RTRIM(E1_PREFIXO) AS CODIGO,

RTRIM(E1_PARCELA) AS NUMPARCELA,

CASE WHEN LEN(RTRIM(A1_CGC))<11 THEN

RIGHT('0000000000' + RTRIM(A1_CGC), 11)

ELSE

CASE WHEN LEN(RTRIM(A1_CGC))<14 THEN

RIGHT('0000000000000' + RTRIM(A1_CGC), 14)

ELSE

RTRIM(A1_CGC)

END END AS CPFCNPJCLIENTE,


CONVERT(DATETIME,E1_EMISSAO) AS DATAEMISSAO,

CONVERT(DATETIME,E1_VENCREA) AS DATAVENCIMENTO,

E1_TIPO AS TIPOTITULO,


CASE WHEN E1_TIPO = 'RA' THEN -1 ELSE 1 END * E1_VALOR AS VALOR,


IIF (E1_SALDO > 0 AND RTRIM(E1_BAIXA) = '', '0','1') AS QUITADO,

'1' AS ATIVO,

'' AS VALORMULTAJUROS,

'1' + TRIM(SA1.A1_LOJA) + TRIM(SA1.A1_COD),

'' AS C13,

'' AS C14,

E1_BAIXA AS DATAPAGTO,

ROUND((E1_COMIS1 / 100) * E1_VALLIQ, 2) AS CalComissao,

E1_VALLIQ as BaseComissao

FROM

SE1010 AS SE1 with (nolock)

INNER JOIN SA1010 AS SA1 WITH (NOLOCK) ON

E1_CLIENTE = A1_COD

AND E1_LOJA = A1_LOJA

AND SA1.D_E_L_E_T_ = ''


WHERE

DATEPART(HOUR, GETDATE()) >=6 AND

DATEPART(HOUR, GETDATE())<= 20 AND

SE1.D_E_L_E_T_ = ''

AND A1_CGC<> ''

AND TRY_CONVERT(int, RTRIM(E1_FILIAL)) IS NOT NULL

AND TRY_CONVERT(int, RTRIM(SA1.A1_COD)) IS NOT NULL

AND (E1_SALDO > 0 OR E1_BAIXA >= CONVERT(varchar, (getdate() -90),112) )

AND E1_TIPO NOT IN ('NCC', 'PR', 'RA')

AND TRIM(E1_PEDIDO)<> ''

AND E1_EMISSAO >= '20240101'


ORDER BY

RTRIM(E1_NUM) + RTRIM(E1_PREFIXO),

RTRIM(E1_PARCELA),

RTRIM(A1_CGC)

ExecutarScriptSempre