Árvore de páginas


Correções

Incidente: Escrever a query no SQLBlock não inseria o registro corretamente.

Solução: O conteúdo de query era convertido para caixa alta, gerando falha de pesquisa e afetando resultado da query. Para que a correção ocorra, é obrigatório RECOMPILAR o fonte.

Referente ao chamado: DTAPPSRV-6826

Incidente: No retorno de variáveis sem o correto tratamento, é exibido a mensagem Function CALL ERROR: invalid typecast

Solução: O tratamento especificamente com erro era de atribuição de Arrays, foi realizado o tratamento correto para a exibição mais clara do erro: invalid number of returning values

Referente ao chamado: DTAPPSRV-5922

Incidente: Ao traduzir uma query preparada com símbolos de porcentagens, nativas do SQLServer como: sys.fn_physLocFormatter(tabelas.%%physloc%%), a tradução não era feita corretamente.

Solução: Suporte ao carácter %

Referente ao chamado: DTAPPSRV-6666

Incidente: Ao executar o programa MAN10538 ocorre o seguinte erro:

[FATAL][SERVER] 05/10/2022 12:23:54[Thread 8296] [THROW] Assert at file C:\bamboo\xml-data\build-dir\TP11-R2H-TECXWIN64\lib_base\stringz.hpp line 1258

Problema ocorre apenas em banco ORACLE e ocorre com um SQL que faz filtro where com uma variável usada no filtro de uma coluna CHAR que contem o valor 'item'.

Solução: Erro ocorria devido a falta de captura do erro na manipulação do campo CLOB, que ao retornar o registro, estava apresentando erro na aplicação e nao estava sendo tratado.

Referente ao chamado: DTAPPSRV-6740

Incidente: Ao realizar a compilação de muitos arquivos ao mesmo tempo, o processo usa muita memória e ocasionalmente apresenta o erro na alocação de memória.

Solução: Foi alterado o Application Server Command Line para realizar a compilação em blocos de até 1000 arquivos sequencialmente.

Referente ao chamado: DTAPPSRV-6665

Incidente: Nas criação de tabelas temporárias durante uma transação, estava mostrando mensagem de warnings com a chave FGLSQLREPLAY desativada.

Solução: Agora as mensagens de warnings só aparecerão caso a flag FGLSQLREPLAY esteja ativa.

Referente ao chamado: DTAPPSRV-6746

Incidente: Access Violation no uso do método HasProperty com parâmetro incorreto.

Solução: Foram realizadas correções no método HasProperty para que exista uma proteção mesmo informando o para incorreto.

Referente ao chamado: DTAPPSRV-6751

Incidente: A função findObject() continha restrições quando a busca dentro de arquivos compilados no RPO.

Solução: Agora o findObject() passa a funcionar sem restrições da mesma forma que o Inspetor de Objetos.

Referente ao chamado: DTAPPSRV-6753

Incidente: LockServer deixa de ser necessário e obrigatário em Application Server Linux.

Melhoria: Alteradas as configurações e comportamentos padrã do Application Server configurado como Balance de assumir o papel de LockServer automaticamente, e não será mostrada nenhuma mensagem de advertência adicional recomendando a configuração de um LockServer.

Referente ao chamado: DTAPPSRV-6757

Incidente: Ao acessar o Monitor durante a execução de programas em 4GL o Connection Type estava incorreto.

Solução: Agora o Connection Type é igual tanto para programas em Advpl / 4GL ou Tlpp.

Referente ao chamado: DTAPPSRV-6789

Incidente: Acessando a posição inválida de um char, a mensagem não condizia com o incidente.

Solução: Corrigida a mensagem para maior entendimento do problema.

Referente ao chamado: DTAPPSRV-6790

Incidente: FUNCTION 0000007A6E13FA90 (<NULL>) DELETED WHILE RUNNING, seguido pela queda do serviço do Application Server, durante uso do RPO auxiliar da folha de pagamento.

Solução: Proteger a compilação no RPO Auxiliar, para não permitir compilar quando um fonte do próprio RPO auxiliar está em uso / sendo executado.

Referente ao chamado: DTAPPSRV-6813

Incidente: Recepção de e-mail com anexos (e Integração EAI) estava criando um grande número de arquivos na pasta do AppServer no ambiente Linux.

Solução: Os arquivos estavam sendo criados 2 vezes, uma vez com nome contendo letras maiúsculas, e outra vez com todas as letras em minúsculas. O arquivo com nome contendo letras maiúsculas não estava sendo removido. Esta situação foi corrigida.

Referente ao chamado: DTAPPSRV-6823

Incidente: Ao realizar o debug, sempre que ocorre a entrada de uma nova função, o debugger leva em consideração a primeira linha fonte.

Solução: Correção no comando implícito interno que gera esse comportamento que causa confusão durante o debug, indo para primeira linha em todo momento da entrada de uma nova função.

Referente ao chamado: DTAPPSRV-6831

Incidente: Ao extrair fontes de dois RPOs distintos sem chave de compilação (ex: default e custom) e gerar um patch o Application Server era derrubado.

Solução: Adicionado uma nova proteção para evitar este tipo de queda.

Referente ao chamado: DTAPPSRV-6836

Incidente: Função HTTPSSLClient estava falhando ao definir as configurações dos certificados em tempo de execução.

Solução: A camada SSL foi readaptada, e o problema foi sanado.

Referente ao chamado: DTAPPSRV-6768

Incidente: Problema ao executar requisições APL em um Application Server configurado como servidor de Http.

Solução: Corrigido as requisições impedindo a queda do Application Server e também o aumento de Threads desnecessária.

Referente ao chamado: DTAPPSRV-6773

Incidente: Após realizar uma compilação, serviços como de REST ou Monitor param de funcionar, até a reinicialização do Appserver.

Solução: Foi tratado a checagem do serviço no ar para que o mesmo não seja interrompido durante uma compilação. 

Referente ao chamado: DTAPPSRV-6821

Incidente: Console.log e SHIFT+F6 apresentando informação incorreta (Windows Server 2016) no Windows Server 2019 e Windows Server 2022.

Solução: Adicionada novas regras para identificar o Windows Server 2019 e Windows Server 2022.

Referente ao chamado: DTAPPSRV-6833

Incidente: Ao gerar uma impressão TReport (tNewMSPrinter) pelo client WebApp (navegador), se atualizar/sair da página da prévia da impressão, o AppServer é encerrado.

Solução: Feita uma proteção para que o AppServer entenda que deve ser encerrada apenas a conexão com o Client e não o servidor.

Referente ao chamado: DTAPPSRV-6822

Incidente: mesmo com a chave ConsoleLog desabilitada, se a chave AsyncConsoleLog estava habilitada então o console.log estava sendo gravado.

Solução : se chave ConsoleLog está desabilitada então também desabilita a chave AsynConsoleLog.

Referente ao chamado: DTAPPSRV-6848

Melhorias

Incidente: Necessidade de mostrar a versão do Smartclient na visualização das threads pelo Monitor

Melhoria: Adicionamos a informação com a versão do Smartclient na coluna "Connection type"

Referente ao chamado: DTAPPSRV-6832

Novas Implementações

Solução: Inclusão da função CRCCalc para cálculo de CRC. Algoritmos disponíves vide documentação: CRCCalc 


Referente ao chamado: DTAPPSRV-6674