Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs_cross
SolucaoCrossTOTVS Backoffice

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoServiços

Módulo:

Modulos_cross_segmentos
ModulosCrossSegmentosTOTVS Backoffice (Linha Protheus) - Fiscal (SIGAFIS)

Função:MATA926.prw
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DSERFIS1-29536


02. SITUAÇÃO/REQUISITO

Situação 1: Query com Order By

De acordo com o levantamento realizado, temos mapeadas algumas queries com o uso da cláusula ORDER BY, na qual precisa analisar se está ocorrendo déficit de performance.

Image Added


Situação 2: Query com Select *

No fonte tem um ponto na qual executa um comando de query com o uso do " SELECT * " , onde pode ocasionar perda de performance.

Image Added

Essa query é executado sempre que alguma de tabela de complemento é acionada.


Situação 3: Débito Sonarqube com relação ao Acesso ao acesso direto ao SX3

Ao executar o Sonarqube foi identificado que a tabela SX3 estava sendo acessada diretamente, ocorrendo a seguinte mensagem:

Image Added

Abaixo um dos pontos no fonte com a evidência do uso de acesso direto ao SX3:

Image Added

Situação 4: Débito Sonarqube com relação ao Acesso acesso direto ao SX5.

Ao executar o Sonarqube foi identificado que a tabela SX5 estava sendo acessada diretamente, ocorrendo a seguinte mensagem:

Image Added

Abaixo um dos pontos no fonte com a evidência do uso de acesso direto ao SX5:

Image Added


Situação 5: Débito Sonarqube com relação ao Acesso direto ao SX6.

Ao executar o Sonarqube foi identificado que a tabela SX6 estava sendo acessada diretamente, ocorrendo a seguinte mensagem:

Image Added

Abaixo um dos pontos no fonte com a evidência do uso de acesso direto ao SX6:

Image Added

03. SOLUÇÃO

Situação 1 - Order BY

Foi analisado no plano de execução do SQL a questão do uso da clausula "ORDER BY" nas queries mapeadas e não foi necessário a retirada da clausula, pois as queries estavam sendo ordenadas por um índice já existente na tabela.

Situação 2 - Select *

Foi criado um laço FOR para ler os campos existentes no dicionário SX3 de acordo com o conteúdo passado no parâmetro cTabela. Após o mapeamento dos campos, o conteúdo foi armazenado em uma variavél cSelect para no fim ser aproveitada na montagem da query.

Image Added

Situação 3 - Acesso direto ao dicionário SX3

Nesse caso não houve solução pois a função FWSX3Util() não atende a todos os atributos necessários, exemplo o campo X3_VALID ou X3_F3.

Situação 4 - Acesso direto ao dicionário SX5

A solução foi substituir o acesso direto utilizando as funções do framework FWGetSx5().

Situação 5 - Acesso direto ao dicionário SX6

Nesse caso não houve solução pois não foi encontrada uma função eficiente para tratar a questão.Solução 1: 

04. DEMAIS INFORMAÇÕES

Não há.

05. ASSUNTOS RELACIONADOS

  • Não há.



Templatedocumentos

...