Olá,
De forma bem resumida, temos o seguinte:
1) Erro Arquivo Temporário Exemplo de Comando - _cArqCOM := CriaTrab(_aStru) dbUseArea(.T.,__LocalDriver,_cArqCOM,_cAlias)
2) Função GETMV
- A função
GetMV
não tem restrição de uso, porém o SonarQube verifica a utilização dentro de loop, se você sempre busca o mesmo valor dentro do mesmo grupo de empresas e filial, coloque esse GetMV
fora do loop e seu retorno em uma variável para melhor performance, caso mude o contexto e retorno do GetMV
, não há o que fazer, pois o SonarQube não chegar nesse detalhe, siga os passos necessários para finalizar esse problema na ferramenta sem alteração de código.
3) Função USRFULLNAME(__CUSERID)
e RetCodUsr()
- Mesma situação acima, essas funções retornam valores que costumam ser sempre os mesmos, se for o caso, coloque o seu retorno em uma variável e tire do loop, caso contrário, siga o processamento de informar ao SonarQube que está certo sem a necessidade de alterar o código.
4) Cópia de Arquivo Exemplo de Comando - Invalid use of driver CTREECDX/LocalDriver in __dbCopy("RESAPL.XLS",{},,,,,.F.,
- Não compreendi bem o que você deseja fazer utilizando a
__dbCopy
para um arquivo XLS, se você deseja apenas fazer uma cópia do arquivo, verifique a utilização de outras funções como FRename
e as de prefixo Cpy, existem outras, veja mais nessa árvore de documentação: https://tdn.totvs.com/pages/viewpage.action?pageId=6063692
As respostas acima são genéricas, onde na maioria dos casos, elas resolvem o problema, mas cada código tem suas particularidades e precisam ser vistos de formas distintas, como não tenho os códigos em mãos, é difícil dar uma resposta precisa para cada cenário.
O SonarQube verifica o seu código não somente a nível de migração para o dicionário no banco de dados, mas também tenta verificar possíveis problemas de performance etc. As correções as vezes não são apenas uma substituição simples de código e sim, uma refatoração de um código antigo, incorreto e/ou sem performance.