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