Skip to content
Light
English

Example of Selects

A sessão a seguir traz exemplos de Selects para integração e envio dos dados do banco de dados para o servidor do Demander.

São referências com a estrutura básica pronta, onde deve-se acertar o nome das tabelas de origem e as regras de negócios.

Vamos pegar como exemplo a tabela 02 - Vendedores o campo, VENDEDOR.CODVENDEDOR (é o campo no ERP, que vai ser enviado para o Demander), AS codigo(é o nome para identificar o campo. É uma boa prática identificar os campos para facilitar algum suporte.)

SELECT

‘02’ AS IDENTIFICADOR,

VENDEDOR.CODVENDEDOR AS codigo,

VENDEDOR.NOMEVENDEDOR AS nome,

AS IMEI,

VENDEDOR.EMAIL AS email,

‘1’ AS codTipoUsuario,

‘0’ AS numPedidoAtual,

‘0’ AS numPedidoInicial,

‘0’ AS numPedidoFinal,

‘1’ AS ativo,

VENDEDOR.TABELAPRO AS listaDePreco,

AS gruposProdutos,

AS ocultarGruposDeProduto,

AS saldoFlex,

AS senhaAtual,

AS senhaNova,

AS segmentosRelacionados,

AS filiais

FROM VENDEDOR

WHERE

VENDEDOR.EMAIL <> OR

VENDEDOR.EMAIL IS NOT NULL AND

EXTRACT(YEAR FROM VENDEDOR.DATAALTERACAO) || ‘-’ ||

right(‘00’ || EXTRACT(MONTH FROM VENDEDOR.DATAALTERACAO),2) || ‘-’ ||

right(‘00’ || EXTRACT(DAY FROM VENDEDOR.DATAALTERACAO),2) >=

SUBSTRING(‘[datahora]’ FROM 1 FOR 10)

SELECT

‘03’ AS IDENTIFICADOR,

CODCIDADENFE AS codigo,

NOMECIDADE AS descricao,

CODESTADO AS uf,

‘1’ AS ativo

FROM TABCIDADES

SELECT

‘04’ AS IDENTIFICADOR,

CONDPGTO.CODCONDICAO AS codigo,

CONDPGTO.NOMECONDICAO AS descricao,

AS naoUtilizado,

AS naoUtilizado,

1 AS ativo,

AS valorMinimoPedido,

AS percJurosDesconto,

AS bloqueiaUsoDemander,

AS bloqueiaUsoPedidoLa,

AS bloqueiaUsoPedidoWeb

FROM CONDPGTO

SELECT

‘06’ AS IDENTIFICADOR,

FORMAPGTO.CODFORMA AS codigo,

FORMAPGTO.NOMEFORMA AS descricao,

‘1’ AS ativo,

AS valorMinimoPedido,

AS percJurosDesconto

FROM FORMAPGTO

SELECT

‘07’ AS IDENTIFICADOR,

CODGRUPO AS codigo,

NOMEGRUPO AS descricao,

‘1’ AS ativo,

AS codGrupoPai

FROM GRUPO

SELECT

‘08’ AS IDENTIFICADOR,

CODMARCA AS codigo,

DESCRICAOMARCA AS descricao,

‘1’ AS ativo

FROM PRODUTOMARCAS

SELECT

‘09’ AS IDENTIFICADOR,

CODLISTA AS codigo,

’LISTA ’ || CODLISTA AS descricao,

‘1’ AS ativo,

AS codFilialUnidade

FROM LISTAPRE

GROUP BY CODLISTA

SELECT

‘13’ AS IDENTIFICADOR,

LISTAPRE.CODPRODUTO AS codProduto,

LISTAPRE.CODLISTA AS codListaPreco,

PRODUTO.UNIDADE AS unidade,

AS qtdeEmbalagem,

LISTAPRE.PRECOVENDA AS valor,

CASE WHEN LISTAPRE.DESCONTOMAX < 0

THEN 0 ELSE LISTAPRE.DESCONTOMAX END AS percDescontoMaximo,

AS permiteVendaFracionaria,

AS promocaoValor ,

AS promocaoDataInicio,

AS promocaoDataFim,

AS lancamentoAte,

AS multiplosPermitidosPorEmbalagem,

AS valorIpiPorUnidade,

AS opcoesDePrecoPreFixado,

AS precoTravado,

AS codCliente,

AS pesoBruto,

AS pesoLiquido,

AS cubagem

FROM LISTAPRE INNER JOIN PRODUTO ON

LISTAPRE.CODPRODUTO = PRODUTO.CODPRODUTO

SELECT

‘15’ AS IDENTIFICADOR,

PRODUTO.CODPRODUTO AS codigo,

(

SELECT FIRST 1 GRUPO.CODGRUPO FROM GRUPOSUB, GRUPO

WHERE GRUPOSUB.CODGRUPO = GRUPO.CODGRUPO AND GRUPOSUB.CODGRUPOSUB = PRODUTO.CODGRUPOSUB

) AS codGrupoProduto,

PRODUTO.CODMARCA AS codMarca,

PRODUTO.APRESENTACAO AS descricao,

’ ’ AS saldoEstoque,

PRODUTO.UNIDADE AS unidadeVenda,

’ ’ AS precoVenda,

’ ’ AS permiteDesconto,

’ ’ AS naoUtilizado,

’ ’ AS naoUtilizado,

’ ’ AS codTamanho,

’ ’ AS naoUtilizado,

’ ’ AS naoUtilizado,

’ ’ AS naoUtilizado,

’ ’ AS naoUtilizado,

’ ’ AS naoUtilizado,

’ ’ AS campoLivre1,

’ ’ AS campoLivre2,

’ ’ AS campoLivre3,

‘1’ AS ativo,

’ ’ AS quantidadeMinima,

’ ’ AS referencia,

’ ’ AS controlePorLote,

’ ’ AS codNCM,

’ ’ AS precoPauta,

’ ’ AS observacao,

’ ’ AS observacaoLojaVirtual,

’ ’ AS dataEstoque,

’ ’ AS segmentosRelacionados,

’ ’ AS codProdutoPrincipal,

’ ’ AS descProdutoPrincipal,

’ ’ AS codSegmentoGrade,

’ ’ AS codTipoGradeVariacao1,

’ ’ AS codTipoGradeVariacao2,

’ ’ AS codTipoGradeVariacao3,

’ ’ AS codTipoGradeVariacao4

FROM PRODUTO

SELECT

‘18’ AS IDENTIFICADOR,

CLIENTE.CODCLIENTE AS codigo,

CLIENTE.NUMEROCPF AS cpfCNPJ,

CLIENTE.CODCONDICAO AS codCondicaoPagamento,

AS codFormaPagamento,

AS codRegiao,

AS codVendedor,

CLIENTE.CODLISTAPRECO AS codListaPreco,

TABCIDADES.CODCIDADENFE AS codCidade,

AS codFilial,

CLIENTE.RAZAOSOCIAL AS nomeRazao,

CLIENTE.NOMECLIENTE AS nomeFantasia,

CLIENTE.PESSOA AS tipoPessoa,

AS intervaloVisitas,

AS rgIE,

AS telefone1,

AS telefone2,

AS emailComprador,

AS emailNfe,

AS emailFinanceiro,

AS contato,

CLIENTE.ENDERECO AS endereco,

CLIENTE.BAIRRO AS bairro,

CLIENTE.CODIGOPOSTAL AS cep,

CLIENTE.ESTADO AS uf,

CLIENTE.OBSERVACAO AS observacao,

AS ativo,

AS bloqueado,

CLIENTE.LOGNUMERO AS numero,

AS complemento,

AS latitude,

AS longitude,

AS bloqueiaFilialUnidade,

AS bloqueiaListaPreco,

AS bloqueiaCondPagamento,

AS bloqueiaFormaPagamento,

AS inscricaoEstadualPessoaFisica,

AS idCliente,

AS codTipoClienteTributario,

AS vendedoresRelacionados,

AS prospecto,

AS idAlteracaoERP,

AS percAcordoComercial,

AS codTransportadora,

AS codTransportadoraRedespacho,

AS dataNascimento,

AS segmentosRelacionados,

AS cro,

AS percentualDescontoMaximo

FROM CLIENTE LEFT JOIN TABCIDADES ON TABCIDADES.NOMECIDADE = CLIENTE.CIDADE

WHERE

CASE COALESCE(TRIM(CLIENTE.NUMEROCGCMF),*) || COALESCE(TRIM(CLIENTE.NUMEROCPF), *)

WHEN THEN 0

WHEN ‘0000000000000000000000000’ THEN 0

ELSE 1 END = 1

SELECT

‘19’ as Identificador,

MCLIRECB.CHAVENFPRESTACAO as codigo,

MCLIRECB.NUMPRESTACAO as numParcela,

COALESCE(TRIM(CLIENTE.NUMEROCGCMF),*) || COALESCE(TRIM(CLIENTE.NUMEROCPF), *) as cnpjcpf,

CAST((EXTRACT(YEAR FROM MCLIRECB.DATACOMPROVANTE) || ‘-’ || EXTRACT(MONTH FROM MCLIRECB.DATACOMPROVANTE) || ‘-’ || EXTRACT(DAY

FROM MCLIRECB.DATACOMPROVANTE)) AS VARCHAR(10)) AS dataEmissao,

CAST((EXTRACT(YEAR FROM MCLIRECB.DATAVENCIMENTO) || ‘-’ || EXTRACT(MONTH FROM MCLIRECB.DATAVENCIMENTO) || ‘-’ || EXTRACT(DAY

FROM MCLIRECB.DATAVENCIMENTO)) AS VARCHAR(10)) AS dataVencimento,

COALESCE(MCLIRECB.SERIE, *) || COALESCE(MCLIRECB.CODCOBRANCA, *) as tipoTitulo,

MCLIRECB.TOTPRESTACAO as valor,

‘0’ as quitado,

‘1’ as ativo,

as valorMultaJuros,

MCLIRECB.CODCLIENTE AS cliente

FROM MCLIRECB, CLIENTE

WHERE

MCLIRECB.CODCLIENTE = CLIENTE.CODCLIENTE AND

CASE COALESCE(TRIM(CLIENTE.NUMEROCGCMF),*) || COALESCE(TRIM(CLIENTE.NUMEROCPF), *)

WHEN THEN 0

WHEN ‘0000000000000000000000000’ THEN 0

ELSE 1 END = 1

Exclusão de Títulos (Enviar antes da tabela 19, para que os titulos sejam excluidos)

Section titled “Exclusão de Títulos (Enviar antes da tabela 19, para que os titulos sejam excluidos)”

SELECT FIRST 1 ‘Comando|19|Excluir|Todos|’ FROM VENDEDOR

SELECT

‘20’ AS IDENTIFICADOR,

CLIENTEROTA.CODROTEIRO AS codigo,

CLIENTE.CODVENDEDOR AS codVendedor,

ROTEIRO.CODROTEIRO AS descricao,

‘1’ AS ativo

FROM CLIENTEROTA INNER JOIN ROTEIRO ON ROTEIRO.CODROTEIRO = CLIENTEROTA.CODROTEIRO

INNER JOIN CLIENTE ON CLIENTE.CODCLIENTE = CLIENTEROTA.CODCLIENTE

WHERE

CASE COALESCE(TRIM(CLIENTE.NUMEROCGCMF),*) || COALESCE(TRIM(CLIENTE.NUMEROCPF), *)

WHEN THEN 0

WHEN ‘0000000000000000000000000’ THEN 0

ELSE 1 END = 1

SELECT

‘21’ AS IDENTIFICADOR,

CLIENTEROTA.CODROTEIRO AS codRota,

CLIENTE.NUMEROCPF AS cpfCNPJCliente,

CLIENTE.CODCLIENTE AS codCliente,

CLIENTEROTA.SEQUENCIAROTA AS posicao,

CLIENTE.CODVENDEDOR AS codVendedor,

‘1’ AS ativo

FROM CLIENTEROTA INNER JOIN ROTEIRO ON ROTEIRO.CODROTEIRO = CLIENTEROTA.CODROTEIRO

INNER JOIN CLIENTE ON CLIENTE.CODCLIENTE = CLIENTEROTA.CODCLIENTE

WHERE

CASE COALESCE(TRIM(CLIENTE.NUMEROCGCMF),*) || COALESCE(TRIM(CLIENTE.NUMEROCPF), *)

WHEN THEN 0

WHEN ‘0000000000000000000000000’ THEN 0

ELSE 1 END = 1