01. DADOS GERAIS
Produto: | TOTVS Manufatura TOTVS Backoffice
|
---|---|
Linha de Produto: | Linha Logix |
Segmento: | Tecnologia |
Módulo: | Framework |
Função: | Zoom Metadado - LZoomMetadata |
Ticket: | 10150772 |
Requisito/Story/Issue (informe o requisito relacionado) : | DFWKTOOLS-3487 |
02. SITUAÇÃO/REQUISITO
Ao acionar o programa FIN10019 (Configurador de arquivos digitais de cobrança padrão CNAB), quando usuário aciona o zoom da coluna Conteúdo, ao exibir os dados no zoom e tentar reordenar os dados apresentados, ocorre a seguinte falha:
array out of bounds on ARRAYSORT(ARRAY.PRW) line : 82
03. SOLUÇÃO
Após análise do problema, foi identificado que a origem real do problema está no zoom metadado zoom_cre_cobr_escrit_conteudo que utiliza a funcionalidade de carga de dados do zoom utilizando a função fin10019_carrega_zoom_conteudo(). No entanto, esta função está retornando a contagem total de linhas do array com 81 linhas, sendo que o array está com 80 linhas.
A situação foi reportada para análise na rotina do FIN10019, no entanto foi implementada uma melhoria no Framework no componente LZoomMetadata e também nas funções utilitárias para variáveis do tipo array (ArraySort) para que a contagem de linhas seja ajustada automaticamente e desta forma não gerar mais a inconsistência reportada acima.
Desta forma, quando um zoom metadado, que faça uso da função de carga de dados, registrar número de linhas inválida, além de fazer o ajuste automático para o total correto de linhas, será registrado no LOG do AppServer uma mensagem de erro para alertar sobre a falha de contagem de linhas. Assim, ao menos existirá uma forma registrar uma falha que deve ser analisada na função de carga de zoom. A mensagem de erro registrada no LOG do Appserver será:
Exemplo da mensagem de erro registrada no LOG do AppServer
[LOGIX] ERRO: [LZOOMMETADATA] Função de carga fin10019_carrega_zoom_conteudo() registrou número de linhas para o zoom incorreto. (COUNT registrado = 81 / LEN array zoom = 80 )
Por fim, o zoom será carregado e poderá ser reordenado normalmente, sem que tenha os dados afetados e nem tampouco interrompido por mensagem de erro em caso de tentativa de reordenação dos dados, pois o metadado fez ajuste automático do total de linhas incorreto, sendo no caso do FIN10019, para 80 linhas.
Disponível a partir do pacote oficial 12.1.32 ou Framework Fix 12.1.29.(fix02)IMPORTANTE!