Olá pessoal,
Estou com um problema em uma tela onde quando dou um CTRL+E (maximizo), na tela um lock é gerado na tabela (lock de linha, até aí td bem).
Isso é muito comum na aplicação, os usuários abrem a tela e abrem o text item para ter um visualização melhor.
O problema é que, se eles não fizerem nenhuma alteração, mesmo que saiam da tela o lock continua.
Mesmo que a consulta seja re-executada, o lock não é liberado.
O lock só é desfeito se a tela for fechada.
Como o lock é de linha, de começo isso não é problema, mas com algum tempo aberto, outros usuários começam a ser afetados.
Alguém já teve algum problema semelhante?
vlw.
Lock Table quando maximizo um text item
-
- Rank: Programador Pleno
- Mensagens: 43
- Registrado em: Ter, 20 Mar 2012 11:37 am
- Localização: Campinas
Leandro L. Miranda
-
- Rank: Programador Pleno
- Mensagens: 43
- Registrado em: Ter, 20 Mar 2012 11:37 am
- Localização: Campinas
Leandro L. Miranda
Olá pessoal,
Pesquisei um pouco sobre isso e o atalho CTRL+E é uma chamada para a trigger KEY-EDIT.
Esse comportamento de gerar o lock é normal para o forms, dependendo de duas propriedades.
1 - No Data Block a propriedade LOCKING MODE, no meu caso esta setado como AUTOMATIC. Isso faz com que, quando o CTRL E é pressionado o lock é gerado. (e realmente, tem q ser assim no meu caso).
Uma possibilidade é setar como DELAYED, nesse caso o lock só será enviado ao banco em caso de commit. Para mim isso não é interessante, pois se tiver mais de um usuário alterando o mesmo registro, certamente terei sobreposição.
2 - No Item a propriedade LOCK RECORD (YES/NO). Essa propriedade é invalidada dependendo da propriedade do data block.
Vi algumas coisas sobre o Key Mapping e encontrei isso, https://kr.forums.oracle.com/forums/thr ... ID=1056788
O problema é que, não encontrei nada falando como desabilitar isso e também não consegui fazer :'(
Um meio que ainda está em avaliação é utilizar a trigger KEY-EDIT com corpo NULL, estamos avaliado se isso afeta a nossa aplicação ou não. (aparentemente não).
Como meu problema é que alguns dos usuários do sistema pressionam o CTRL E para melhorar a visualização, isso resolve.
Agora, se ele começar a alterar algo e não salvar, terei o mesmo problema.. rsrs
Pesquisei um pouco sobre criar um temporizador, para que, com determinado tempo sem utilização do sistema a sessão seja finalizada (vou ver isso posteriormente).
De qualquer forma, alguém conhece algo sobre os Key-Maps?? já precisaram desabilitar algo e tiveram sucesso?
Obrigado,
Pesquisei um pouco sobre isso e o atalho CTRL+E é uma chamada para a trigger KEY-EDIT.
Esse comportamento de gerar o lock é normal para o forms, dependendo de duas propriedades.
1 - No Data Block a propriedade LOCKING MODE, no meu caso esta setado como AUTOMATIC. Isso faz com que, quando o CTRL E é pressionado o lock é gerado. (e realmente, tem q ser assim no meu caso).
Uma possibilidade é setar como DELAYED, nesse caso o lock só será enviado ao banco em caso de commit. Para mim isso não é interessante, pois se tiver mais de um usuário alterando o mesmo registro, certamente terei sobreposição.
2 - No Item a propriedade LOCK RECORD (YES/NO). Essa propriedade é invalidada dependendo da propriedade do data block.
Vi algumas coisas sobre o Key Mapping e encontrei isso, https://kr.forums.oracle.com/forums/thr ... ID=1056788
O problema é que, não encontrei nada falando como desabilitar isso e também não consegui fazer :'(
Um meio que ainda está em avaliação é utilizar a trigger KEY-EDIT com corpo NULL, estamos avaliado se isso afeta a nossa aplicação ou não. (aparentemente não).
Como meu problema é que alguns dos usuários do sistema pressionam o CTRL E para melhorar a visualização, isso resolve.
Agora, se ele começar a alterar algo e não salvar, terei o mesmo problema.. rsrs
Pesquisei um pouco sobre criar um temporizador, para que, com determinado tempo sem utilização do sistema a sessão seja finalizada (vou ver isso posteriormente).
De qualquer forma, alguém conhece algo sobre os Key-Maps?? já precisaram desabilitar algo e tiveram sucesso?
Obrigado,
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes