Salvar registro da grid automáticamente

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
CPA
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Ter, 05 Nov 2013 4:48 pm

Boa Tarde a todos!
Estou desenvolvendo um formulário que possui um canvases, com dois blocos de dados, sendo que, possui um bloco form, e o bloco filho é uma grid (bloco de dados tabular). Não estou conseguindo fazer com que, ao inserir um registro na grid o mesmo dê o commit automaticamente. Ex.: Inseri um registro na grid, ao clicar ou mudar para a próxima linha da grid o registro anterior seja salvo.
Se alguém puder me ajudar!
Desde já, Obrigado.
tora34
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 108
Registrado em: Qua, 12 Nov 2008 6:01 pm
Localização: Campo Mourão PR
Renato Pasquini
Oracle Developer

Bom dia,
não existe uma propriedade do bloco ou forms que determina para cada registro gerado no bloco seja commitado no banco. Para realizar isto você precisa incluir o comando commit diretamente no código do seu programa. Para realizar isto é necessário levar em consideração o funcionamento de seu bloco multirecord.
--
Você pode, por exemplo, incluir o comando commit na trigger when-new-record-instance do seu bloco multirecord. Assim, cada vez que a engine do forms instanciar um novo registro ele grava o registro no banco. Lembrando todos os dados pendentes são gravados, até os de outros blocos. Para não apresentar a mensagem de gravação concluído você pode utilizar o seguinte código:
trigger de bloco: when-new-record-instance

Selecionar tudo

decode
  va_message_level number:=:system.message_level;
begin
  :system.message_level := 5;
  commit;
  :system.message_level := va_message_level;
end;
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 15 visitantes