SQL e Banco de Dados

SQL no ADVPL para consultas, joins, filtros e integração com banco de dados no Protheus.

Obtendo o Último Registro de um Alias / Tabela com LastRec em ADVPL

Obtendo o Último Registro de um Alias / Tabela com LastRec em ADVPL

2 minutos A função LastRec em ADVPL obtém o último registro de um alias / tabela atual. Ela também é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.  Sintaxe: LastRec()   Parâmetro(s): Nenhum.   Retorno:     Observações: Caso não haja área de trabalho aberta, o programa será encerrado com ocorrência de erro recuperável “Work area not in use“; LastRec substitui as funções RecCount e RecC, as quais se tornaram obsoletas. Exemplo da função LastRec em ADVPL: Na tela acima podemos Continue lendo

Executando Queries SQL com PLSQuery em ADVPL

Executando Queries SQL com PLSQuery em ADVPL

1 minuto A função PLSQuery em ADVPL executa queries/instruções SQL no banco de dados. Ela  é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.  Sintaxe: PLSQuery(cSQL,cAlias)   Parâmetro(s): Nenhum Retorno: Nil     Exemplo da função PLSQuery em ADVPL:   É isso aí, finalizamos aqui mais um post no Blog ProtheusAdvpl. Caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço e fica com Deus. Link(s) Continue lendo

Obtendo o Nome de uma Tabela no Banco com RetSQLName em ADVPL

Obtendo o Nome de uma Tabela no Banco com RetSQLName em ADVPL

2 minutos A função RetSQLName em ADVPL obtém o nome da tabela/alias( exe.:”SA2″) passado como parâmetro no banco de dados. Ela  é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.  Sintaxe: RetSQLName(cAlias)   Parâmetro(s): Nenhum Retorno:     Exemplo da função RetSQLName em ADVPL:   É isso aí, finalizamos aqui mais um post no Blog ProtheusAdvpl. Caso tenha ficado alguma dúvida deixe seu comentário ou nos envie um e-mail para adiliocosta@protheusadvpl.com.br, até um próximo post, grande abraço Continue lendo

Destravando um Registro de um Alias/Tabela com MsUnLock em ADVPL

Destravando um Registro de um Alias/Tabela com MsUnLock em ADVPL

2 minutos A função MsUnLock em ADVPL destrava um registro que foi travado para inclusão ou alteração com RecLock. Ela também é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.      Sintaxe: MsUnLock()   Parâmetro(s): Nenhum. Observações: Para inserir um novo registro ou alterar o conteúdo dos campos de um registro de um arquivo de dados, é necessário travar (reservar) o registro. Para isso, utiliza-se a função RecLock. Após a atualização, é necessário chamar a função Continue lendo

Deslocando um Registro de um Alias/Tabela com DBSkip em ADVPL

Deslocando um Registro de um Alias/Tabela com DBSkip em ADVPL

2 minutos A função DBSkip em ADVPL desloca/move um registro de uma alias/tabela corrente para o próximo registro ou anterior, dependendo do valor do parâmetro informado. Ela também é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.      Sintaxe: DBSkip(nReg)   Parâmetro(s): Nenhum Retorno:     Observações: Essa função é utilizada para deslocar o ponteiro de registro da tabela para outro registro a partir do registro atual. O deslocamento é lógico, ou seja, leva em consideração Continue lendo

Posicionando em Registro de um Alias/Tabela com DBGoTo em ADVPL

Posicionando em Registro de um Alias/Tabela com DBGoTo em ADVPL

1 minuto A função DBGoTo em ADVPL posiciona em um determinado registro de um Alias(tabela corrente), conforme a ordem física (sequência sobre o recno). Ela é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.      Sintaxe: DBGoTo(nRecno)   Parâmetro(s):   Retorno: Nil Observações: A sequência lógica depende da ordem e do filtro ativo na tabela corrente. Exemplo da função DBGoTo em ADVPL:     É isso aí, finalizamos aqui mais um post no Blog ProtheusAdvpl. Caso Continue lendo

Count To em ADVPL — Como Contar Registros e Queries SQL

Count To em ADVPL — Como Contar Registros e Queries SQL

5 minutos No desenvolvimento de rotinas no ERP Protheus, saber a volumetria de dados processados é essencial para o controle de loops, geração de logs e validação de regras de negócio. Muitas vezes, precisamos saber quantos registros uma consulta retornou antes de iniciar um processamento pesado. O comando Count To em ADVPL é a ferramenta nativa projetada para contabilizar registros de uma tabela ativa ou de uma consulta SQL, sendo um conceito vital dentro de ADVPL no Protheus: Dados e Estrutura.   Neste guia Continue lendo

Recuperando o Resultado da Última Operação de Busca com Found em ADVPL

Recuperando o Resultado da Última Operação de Busca com Found em ADVPL

1 minuto A função Found em ADVPL indica se a última operação de busca de um registro realizada(Exemplo, utilizando a função DBSeek) foi encontrada, retornando verdadeiro(.T.) ou não, retornando falso(.F.). Essa função é muito útil em situações onde queremos saber se algum registro foi encontrado para fazermos umas validações. Ela é uma das Funções de Acesso a Banco de Dados/SQL no Protheus em ADVPL.    Sintaxe: Found()   Parâmetro(s): Nenhum. Retorno: Exemplo da função Found em ADVPL:     É isso aí, finalizamos aqui Continue lendo

UPDATE em campo MEMO no Protheus — Como Fazer via SQL

UPDATE em campo MEMO no Protheus — Como Fazer via SQL

4 minutos No dia a dia de um Analista Protheus, deparamo-nos com situações onde a manipulação de dados via interface ou rotinas padrão não é suficiente ou performática o bastante. Um dos desafios mais técnicos e cercados de dúvidas é a manutenção de campos do tipo MEMO. Diferente de campos de texto comuns, os campos MEMO no Protheus, quando hospedados em bancos de dados como o Microsoft SQL Server, são armazenados de forma especial. Tentar executar um UPDATE em campo MEMO de maneira convencional Continue lendo

Pesquisando um Registro de um Alias/Tabela com DBSeek em ADVPL

Pesquisando um Registro de um Alias/Tabela com DBSeek em ADVPL

2 minutos A função DBSeek em ADVPL pesquisa um registro de um alias/tabela ativo, com as informações especificadas na chave de busca, fornecendo um retorno lógico indicando se a pesquisa foi efetuada com sucesso, ou seja, se a informação especificada na chave de busca foi localizada na área de trabalho. Ela é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.    Sintaxe: DBSeek(cExpr,lPos)   Parâmetro(s): Retorno:     Exemplo da função DBSeek em ADVPL:     É Continue lendo

DBSelectArea em ADVPL — Como Posicionar Áreas de Trabalho

DBSelectArea em ADVPL — Como Posicionar Áreas de Trabalho

5 minutos No desenvolvimento de rotinas customizadas no ERP Protheus, a manipulação de múltiplas tabelas simultaneamente é uma constante. Seja para realizar um join manual, validar dados entre diferentes módulos ou gerar relatórios complexos, o desenvolvedor precisa saber exatamente em qual “gaveta” de dados está operando. A função DBSelectArea em ADVPL é o comando fundamental responsável por alternar o foco da thread entre as diversas áreas de trabalho abertas, sendo um conceito vital dentro de ADVPL no Protheus: Dados e Estrutura.   Neste guia Continue lendo

DBGoTop em ADVPL — Como Posicionar no Primeiro Registro

DBGoTop em ADVPL — Como Posicionar no Primeiro Registro

4 minutos No desenvolvimento de rotinas no ERP Protheus, o controle preciso sobre o ponteiro das tabelas é o que diferencia um código estável de um sistema propenso a erros. Muitas vezes, após realizar filtros ou contagens, o ponteiro da tabela acaba no final do arquivo (EOF), e é necessário retornar ao início para processar os dados. A função DBGoTop em ADVPL é o comando nativo responsável por esse reposicionamento lógico, sendo um conceito vital dentro de ADVPL no Protheus: Dados e Estrutura. Neste Continue lendo

Select em ADVPL — Como Verificar se um Alias está Aberto

Select em ADVPL — Como Verificar se um Alias está Aberto

2 minutos A função Select em ADVPL verifica de um alias/tabela está aberto para uso. Se tiver ela retorna um número que pode variar de 0(zero) a 250. Se não for especificado, é retornado o número do Alias/Tabela corrente. Caso seja especificado e o alias não existir, Select retorna zero. Ela também é uma das Funções de Acesso a Banco de Dados / SQL no Protheus em ADVPL.    Sintaxe: Select(cAlias)   Parâmetro(s): Retorno:   Observações: Essa função é muito útil em situações onde Continue lendo