[oracle_br] Lock de Registros em Forms

2007-05-02 Por tôpico Alexsandro Pereira
Prezados amigos,




me deparei com um problema
interessante.  

Banco: Oracle8i Enterprise Edition Release 8.1.7.4.0
Forms: Forms [32 Bit] Version 6.0.8.26.0 (Production)



Eu tenho um forms com um bloco base table. A propriedade Locking Mode deste 
bloco está setada para Immediate. Ou seja, tão logo um usuário altere um 
valor em item base table e saia deste com um Enter, este registro sofre um lock 
nesta sessão. Assim seria na teoria.

Pois bem,
fiz o seguinte teste:




Criei um form com apenas um bloco. (em modo Immediate)





Rodei ele duas vezes (ou seja, duas sessões diferentes em duas máquinas 
diferentes com dois users diferentes também).


Na sessão A, alterei uma linha e NÃO GRAVEI.


Na sessão B, alterei a mesma linha, e ele permitiu alterar! Dei commit e este 
funcionou!

Gravei a sessão A. PERMITIU GRAVAR E ficou valendo o valor do último COMMIT 
(Sessão A).


Fiz a mesma coisa trocando a propriedade para Delayed e nada mudou. Ele não 
deveria dar uma mensagem de erro assim: Could not reserve record. Keep trying 
?




Como faço para forçar o Lock no bloco? Será que isto não é problema
de configuração ou de versão de banco ou forms? 
Alguém poderia me ajudar neste problema?




Atenciosamente.
  
!--
google_ad_client = pub-8964513116661040;
google_ad_width = 728;
google_ad_height = 15;
google_ad_format = 728x15_0ads_al_s;
//2006-10-10: Peq_01
google_ad_channel =0628952018;
google_color_border = FF;
google_color_bg = f4f4f4;
google_color_link = 445395;
google_color_text = 00;
google_color_url = 008000;
//--


   
_
Alexsandro Soares Pereira


__
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Lock de Registros em Forms

2007-05-02 Por tôpico Rafael Alexandre Schmitt
Segundo o help do forms você deveria usar a opção Automatic pois a opção 
Immediate existe ainda apenas para
compatibilidade com aplicações pré-existentes. Sempre deixo na opção Automatic 
e funciona.

Refaça seu teste com a opção Automatic e veja se funciona.

--
Rafael Alexandre Schmitt
[EMAIL PROTECTED]  ||  www.hbtec.com.br
Blumenau - Santa Catarina


  - Original Message - 
  From: Alexsandro Pereira 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, May 02, 2007 3:56 PM
  Subject: [oracle_br] Lock de Registros em Forms


  Prezados amigos,

  me deparei com um problema
  interessante. 

  Banco: Oracle8i Enterprise Edition Release 8.1.7.4.0
  Forms: Forms [32 Bit] Version 6.0.8.26.0 (Production)

  Eu tenho um forms com um bloco base table. A propriedade Locking Mode deste 
bloco está setada para Immediate. Ou seja, tão logo um usuário altere um 
valor em item base table e saia deste com um Enter, este registro sofre um lock 
nesta sessão. Assim seria na teoria.

  Pois bem,
  fiz o seguinte teste:

  Criei um form com apenas um bloco. (em modo Immediate)

  Rodei ele duas vezes (ou seja, duas sessões diferentes em duas máquinas 
diferentes com dois users diferentes também).

  Na sessão A, alterei uma linha e NÃO GRAVEI.

  Na sessão B, alterei a mesma linha, e ele permitiu alterar! Dei commit e este 
funcionou!

  Gravei a sessão A. PERMITIU GRAVAR E ficou valendo o valor do último COMMIT 
(Sessão A).

  Fiz a mesma coisa trocando a propriedade para Delayed e nada mudou. Ele não 
deveria dar uma mensagem de erro assim: Could not reserve record. Keep trying 
?

  Como faço para forçar o Lock no bloco? Será que isto não é problema
  de configuração ou de versão de banco ou forms? 
  Alguém poderia me ajudar neste problema?

  Atenciosamente.

  !--
  google_ad_client = pub-8964513116661040;
  google_ad_width = 728;
  google_ad_height = 15;
  google_ad_format = 728x15_0ads_al_s;
  //2006-10-10: Peq_01
  google_ad_channel =0628952018;
  google_color_border = FF;
  google_color_bg = f4f4f4;
  google_color_link = 445395;
  google_color_text = 00;
  google_color_url = 008000;
  //--

  _
  Alexsandro Soares Pereira

  __
  Fale com seus amigos de graça com o novo Yahoo! Messenger 
  http://br.messenger.yahoo.com/ 

  [As partes desta mensagem que não continham texto foram removidas]



   


--
  Esta mensagem foi verificada pelo E-mail Protegido Terra.
  Scan engine: McAfee VirusScan / Atualizado em 02/05/2007 / Versão: 5.1.00/5022
  Proteja o seu e-mail Terra: http://mail.terra.com.br/ 



[As partes desta mensagem que não continham texto foram removidas]