Tecnologia > Ferramentas de Apoio > LSP - Linguagem Senior de Programação > Funções > Específicas do Gerador de Relatórios > DeleteFieldSQL

DeleteFieldSQL

Esta função retira um campo do SELECT da seção passada como parâmetro. No gerador para facilitar na confecção e execução da maioria dos modelos, os campos chaves de todas as tabelas utilizadas nos relacionamentos das detalhes são adicionados no SELECT automaticamente.

Entretanto, para utilizar funções de agrupamento (GROUP BY) e outros tipos de relacionamentos, algumas vezes estes campos não são necessários ou não devem ser inseridos automaticamente. Para isto basta chamar esta função passando quais campos que não se deseja que sejam adicionados automaticamente.

Sintaxe: DeleteFieldSQL (Alfa SectionName, Alfa TableFieldName);

Parâmetros:

Nome Tipo Descrição
SectionName Alfa Nome da seção que contém o SELECT onde o campo será excluído
Campo Alfa Campo a ser excluído, sua descrição deve ser igual a que é feita pelo gerador, no padrão TABELA.CAMPO

Exemplos:

Remoção do campo NUMCAD (campo chave adicionado automaticamente na consulta), em um comando SELECT que obtenha o maior salário dos funcionários que estejam na mesma EMPRESA, e sejam do mesmo TIPO DE COLABORADOR. O agrupamento dos resultados deve ser por EMPRESA e TIPO DE COLABORADOR respectivamente:

InsClauSQLGroupBy ("Detalhe_1", "NUMEMP, TIPCOL");

InsClauSQLCampoDireto ("Detalhe_1", "Max(ValSal) ValorSal");

DeleteFieldSQL ("Detalhe_1", "R034FUN.NUMCAD");

Comando SELECT resultante:

SELECT
   R034FUN.NUMEMP R034FUNNUMEMP,
   R034FUN.TIPCOL R034FUNTIPCOL,
   MAX(VALSAL) VALORSAL
FROM
   R034FUN
GROUP BY
   NUMEMP,
   TIPCOL

Observação: O uso desta função não garante que o SELECT funcione, pois a usuário deve conhecer e verificar todos os campos que o SELECT irá conter para poder excluir adequadamente os campos.

Nota

Função disponível para os sistemas Gestão Empresarial PME | GO UP, Gestão Empresarial | ERP, Gestão de Pessoas | HCM e Ronda Senior.

Este artigo ajudou você?