Tempo aproximado para leitura: 00:02:30 min
Ocorrência
Na utilização do Datasul for THF com banco de dados Oracle o menu não é carregado corretamente. Ao clicar em um dos itens do menu, o processo de carga se inicia e não termina.
Ambiente
Framework - Framework (Linha Datasul) - Oracle - Todas as versões
Causa
Alguns registros utilizados por este processo podem estar com o campo PROGRESS_RECID vazio. Com isto, a camada 4GL pode não encontrá-los. Estes registros foram inseridos através de conexão JDBC pelo Jboss durante a utilização da versão anterior do Framework do produto Datasul. Por este motivo, estes campos não tiveram seus valores inseridos quando novos registros foram criados pelo Jboss. Já o Dataserver Oracle, na camada 4GL, insere dados automaticamente nesse campo para cada registro que é inserido.
Solução
Será necessário criar os valores corretos para cada registro que apresentar o campo PROGRESS_RECID com valor vazio. Este valor é obtido através de uma sequência que existe para cada uma das tabelas no banco Oracle. O comando a ser executado é semelhante ao listado abaixo:
update TABELA set PROGRESS_RECID = TABELA_SEQ.NEXTVAL;
É recomendável que o procedimento seja executado para todas as tabelas do banco emsfnd. Para automatizar o processo para todas as tabelas disponibilizamos o código SQL abaixo, o qual deverá ser executado com o usuário emsfnd.
DECLARE
no_such_sequence EXCEPTION;
PRAGMA EXCEPTION_INIT(no_such_sequence, -2289);
BEGIN
FOR TABELA IN ( SELECT TABLE_NAME FROM USER_TABLES )
LOOP
BEGIN
EXECUTE IMMEDIATE 'update ' || TABELA.TABLE_NAME || ' set PROGRESS_RECID = ' || TABELA.TABLE_NAME || '_SEQ.NEXTVAL WHERE PROGRESS_RECID IS NULL' ;
EXCEPTION
WHEN no_such_sequence
THEN CONTINUE;
END;
END LOOP;
END;
/
Este código irá obter o nome de todas as tabelas do usuário emsfnd através da view user_tables e executará o comando update no campo PROGRESS_RECID para todas as tabelas que encontrar para este usuário.
Glossário
4GL - Fourth-generation programming language
JDBC - Java Database Connectivity
SQL - Structured Query Language
0 Comentários