7187 - Erro 'List Index Out of Bounds (-1)' em várias rotinas do ERP Senior
Problema: Descrição do Problema: a mensagem de erro List Index Out of Bounds (-1) é gerada na execução de alguns processos do ERP Senior.
Exemplos de situação onde o erro é retornado:
1) Retorno da execução de um WebService em Modo Local ou Modo Síncrono (seja via MCDebug, via SoapUI ou solicitação de sistema externo)
2) Ao realizar processos em várias telas do ERP Senior
3) Ao efetuar integração via SeniorSID (ou chamado do SID via regra do ERP)
4) Ao ser acionado um processo automático pelo Middleware (neste caso, geralmente será gerada a mensagem no padrão Erro na execução do processo automático: Regra 3: List index out of bounds (48) no Log do Processo Agendado (tela F000LPA)
Quando ocorre / onde se aplica: em várias rotinas do ERP Senior
Solução: Solução 7187: este erro List Index Out of Bounds (-1) está ligado à regras customizadas utilizadas pelas diversas rotinas. A situação pode ocorrer com regras por evento vinculadas às telas do sistema, como também com regras ligadas á identificadores de regras.
Seguem informações que auxiliam na verificação da situação:
1) Situação ocorrendo no processamento de telas:
Verificar as regras por eventos cadastradas na tela que apresenta o erro.
Sugere-se depurar as regras para verificar se há alguma inconsistência que esteja causando o erro. Neste caso, a regra deverá ser ajustada.
Caso não haja regras na tela onde o erro ocorre, a orientação é recompilar todas as regras (procedimento de recompilação de todas as regras está descrito no tópico 2). Desta forma o erro não deverá ocorrer mais.
2) Situação ocorrendo no processamento de WebServices / SeniorSID
Neste caso, indica-se a recompilação de todas as regras através do Editor de Regras (menu Recursos > Implementações > Regras > Editar).
Ao abrir o Editor de Regras, selecionar o menu Regra > Compilar Todos (Ctrl + F9).
Todos os arquivos de regras serão compilados novamento, gerando um novo arquivo binário.
Em seguida, deve-se reiniciar o Middleware Senior (este processo é obrigatório).
Após isso, poderá ser efetuada a requisição ao WebService/SID novamente.
Caso mesmo assim ocorra a situação, será necessário avaliar as regras que podem estar causando o problema.
Para isso, será necessário depurar as regras utilizadas pelas instâncias do Middleware no momento da requisição ser processada.
Pode-se fazer a depuração de duas formas:
2.1) Via MCDebug: neste caso, deve-se colocar as regras para Depurar (através do Editor de Regras) e efetuar a requisição do WebService via MCDebug em modo Local. As regras utilizadas pela rotina serão chamadas na tela.
2.2) Via solicitação externa (WebService/SID): neste caso, deve-se seguir orientações presentes na solução 6977 para colocar as instâncias do Middleware para rodarem como aplicação e não como serviço. Após seguir o procedimento, poderá ser efetuada a solicitação ao Middleware (via WebServices ou SID). As regras serão acionadas pelos executáveis sapiens.exe ou sapienssvr.exe e serão mostradas na tela, onde poderão ser depuradas.
3) Situação ocorrendo no processamento de processos agendados:
A mensagem no padrão Erro na execução do processo automático: Regra 3: List index out of bounds (48) poderá ocorrer quando uma regra utilizada pelo processo agendado retorne uma mensagem ao usuário em tela. Neste caso, deve-se verificar a regra que está sendo utilizada, alterando-a para que não haja utilização de funções que retornam mensagens em tela ao usuário.
Exemplos de situação onde o erro é retornado:
1) Retorno da execução de um WebService em Modo Local ou Modo Síncrono (seja via MCDebug, via SoapUI ou solicitação de sistema externo)
2) Ao realizar processos em várias telas do ERP Senior
3) Ao efetuar integração via SeniorSID (ou chamado do SID via regra do ERP)
4) Ao ser acionado um processo automático pelo Middleware (neste caso, geralmente será gerada a mensagem no padrão Erro na execução do processo automático: Regra 3: List index out of bounds (48) no Log do Processo Agendado (tela F000LPA)
Quando ocorre / onde se aplica: em várias rotinas do ERP Senior
Solução: Solução 7187: este erro List Index Out of Bounds (-1) está ligado à regras customizadas utilizadas pelas diversas rotinas. A situação pode ocorrer com regras por evento vinculadas às telas do sistema, como também com regras ligadas á identificadores de regras.
Seguem informações que auxiliam na verificação da situação:
1) Situação ocorrendo no processamento de telas:
Verificar as regras por eventos cadastradas na tela que apresenta o erro.
Sugere-se depurar as regras para verificar se há alguma inconsistência que esteja causando o erro. Neste caso, a regra deverá ser ajustada.
Caso não haja regras na tela onde o erro ocorre, a orientação é recompilar todas as regras (procedimento de recompilação de todas as regras está descrito no tópico 2). Desta forma o erro não deverá ocorrer mais.
2) Situação ocorrendo no processamento de WebServices / SeniorSID
Neste caso, indica-se a recompilação de todas as regras através do Editor de Regras (menu Recursos > Implementações > Regras > Editar).
Ao abrir o Editor de Regras, selecionar o menu Regra > Compilar Todos (Ctrl + F9).
Todos os arquivos de regras serão compilados novamento, gerando um novo arquivo binário.
Em seguida, deve-se reiniciar o Middleware Senior (este processo é obrigatório).
Após isso, poderá ser efetuada a requisição ao WebService/SID novamente.
Caso mesmo assim ocorra a situação, será necessário avaliar as regras que podem estar causando o problema.
Para isso, será necessário depurar as regras utilizadas pelas instâncias do Middleware no momento da requisição ser processada.
Pode-se fazer a depuração de duas formas:
2.1) Via MCDebug: neste caso, deve-se colocar as regras para Depurar (através do Editor de Regras) e efetuar a requisição do WebService via MCDebug em modo Local. As regras utilizadas pela rotina serão chamadas na tela.
2.2) Via solicitação externa (WebService/SID): neste caso, deve-se seguir orientações presentes na solução 6977 para colocar as instâncias do Middleware para rodarem como aplicação e não como serviço. Após seguir o procedimento, poderá ser efetuada a solicitação ao Middleware (via WebServices ou SID). As regras serão acionadas pelos executáveis sapiens.exe ou sapienssvr.exe e serão mostradas na tela, onde poderão ser depuradas.
3) Situação ocorrendo no processamento de processos agendados:
A mensagem no padrão Erro na execução do processo automático: Regra 3: List index out of bounds (48) poderá ocorrer quando uma regra utilizada pelo processo agendado retorne uma mensagem ao usuário em tela. Neste caso, deve-se verificar a regra que está sendo utilizada, alterando-a para que não haja utilização de funções que retornam mensagens em tela ao usuário.