Tempo aproximado para leitura: 00:01:02 min
Ocorrência
Ao executar a rotina apresenta a mensagem (14675) SYSTEM ERROR: Attempt to define too many indexes.(40).
Ambiente
Framework - Framework (Linha Datasul) – Progress OpenEdge – Todas as versões
Causa
Definições de variáveis e temp-tables que não possuam o parâmetro NO-UNDO.
Solução
Informamos que deverá ser verificado nesse programa, definições de variáveis e temp-tables que não possuam o parâmetro NO-UNDO. Esse parâmetro faz com que não seja gerado dbi, ou seja, before image local. Não há parametrização no banco para evitar essa mensagem, necessário analisar o programa.
É possível utilizar a categoria Temp-tables no parâmetro -logentrytypes para identificar os programas que estão criando temp-tables sem a cláusula NO-UNDO. Ao habilitar essa opção, tanto o ClientLog quanto o log do Agent do PASOE passarão a registrar a criação de cada temp-table, detalhando o programa responsável, se a cláusula NO-UNDO foi utilizada e a área de índices, conforme o exemplo a seguir:
Created TEMP-TABLE mytt (ID:29 Indexes:3) myTables.p
Created TEMP-TABLE ttCustNoUndo (ID:34 NO-UNDO Indexes:5) myTables.p
Created TEMP-TABLE BeforeOrderNoUndo (ID:37 NO-UNDO Indexes:1) myTables.p
Created TEMP-TABLE ttCustDyn (ID:40 DYNAMIC NO-UNDO Indexes:1) myTables.p @ 41
Emptied TEMP-TABLE ttCustDyn (ID:40) myTables.p @ 50
Deleted TEMP-TABLE ttCustDyn (ID:40 DYNAMIC) myTables.p @ 59
Deleted TEMP-TABLE BeforeOrderNoUndo (ID:37) myTables.p @ 60
Deleted TEMP-TABLE ttCustNoUndo (ID:34) myTables.p @ 60
Deleted TEMP-TABLE mytt (ID:29) myTables.p @ 60
Saiba mais
Informações adicionais sobre a mensagem consulte o kbase AppServer SYSTEM ERROR: Attempt to define too many indexes for area 6 database DBI (40)
Informação complementar sobre o parâmetro Temp-tables: Log Entry Types (-logentrytypes) e Temp-table logging.
0 Comentários