Ir al contenido
Claro
Español

Ejemplos de scripts SQL

Este artículo tiene como objetivo presentar algunos ejemplos de consultas SQL que se pueden utilizar en la integración.

Ejemplo de un SQl de la tabla 03 - CIUDAD utilizado por un cliente/socio:

SELECT '03' AS IDENTIFICADOR,

CODCIDADE AS CODIgO,

NOMECIDADE AS DESCRICAO,

ESTADO AS UF,

ATIVO AS ATIVO

FROM TAB_CIDADE

Ejemplo de un SQL de la tabla 18 - CLIENTE utilizado hoy en un cliente/socio:

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

Ejemplo de SQL de la tabla 13 - PRECIO DEL PRODUCTO utilizado hoy por un cliente/socio:

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

Ejemplo de SQL de la tabla 15 - PRODUCTOS utilizados hoy por un cliente/socio:

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

Ejemplo de SQL de la tabla 19 - VALORES FINANCIEROS utilizados hoy por un cliente/socio:

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