Páginas filhas
  • 20837481 DFRM1-36427 DT Não conformidade no consumo das APIs GenericList ou GenericQuery com o alias SET


01. DADOS GERAIS

Produto:

TOTVS Framework

Linha de Produto:

Linha Protheus 

Segmento:

Framework 

Módulo:CONFIGURADOR (SIGACFG)
Função:API REST
Ticket:20837481
Requisito/Story/Issue (informe o requisito relacionado) :DFRM1-36427


02. 
SITUAÇÃO/REQUISITO

Ao consumir as APIs GenericList ou GenericQuery com o alias SET, é gerada um erro na query, resultando em exceção no serviço com retorno de erro 500 no REST.

03. SOLUÇÃO

Foi verificado que ambas as APIs, GenericQuery e GenericList tem como comportamento, gerar um alias para a tabela na query com base no alias, logo a SA1T10 acaba recebendo o alias SA1.

Porém algumas tabelas do Protheus acabam gerando alias que são palavras reservadas da linguagem SQL, como a tabela SET.

Para a correção, foi necessário alterar o comportamento das APIs GenericQuery e GenericList, para que quando um alias for uma palavra reservadas do SQL, ele recebe o sufixo PFW, logo o alias SET passa a receber o alias SETPFW durante a query.

Abaixo a lista de alias que recebem esse tratamento:

  • ADD
  • ALL
  • AND
  • ANY
  • ASC
  • AVG
  • DEC
  • END
  • FOR
  • INT
  • KEY
  • NOT
  • ROW
  • SET
  • SUM


04. DEMAIS INFORMAÇÕES

Não se aplica

05. ASSUNTOS RELACIONADOS

        Não se aplica