commit linha a linha

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Filipe_Geissler
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 08 Fev 2006 9:17 am
Localização: Canoas - RS

E aí pessoal!!

Seguinte, tenho um programa aqui, tenho um bloco normal, e um bloco Tabular detalhe dele, no qual eu preciso dar um commit linha a linha pelo seguinte, nesse bloco detalhe eu tenho 2 campos, dois valores. O motivo pelo qual eu preciso dar um commit a cada linha é por que eu tenho que verificar se o valor que esta sendo inserido não está no intervalo do registro anterior.

Por exemplo:

1- 10 e 20
2- 21 e 30
3- 25 e 40 --> erro no item com valor 25, por que esta entre o intervalo da linha 2! Na valdiade_item de cada campo eu faço essa busca no banco para verificar isso.

Alguém tem alguma dica?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Não precisa dar COMMIT, um POST apenas já basta.
O POST grava as informações no banco, mas não comita! (ou seja, manda tudo que tem no forms pro banco)...

Após toda operação estar ok, você dá um commit.

A não ser que várias pessoas estarão trabalhando nesses períodos ao mesmo tempo. Daí, creio que o commit é necessário.
Filipe_Geissler
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 08 Fev 2006 9:17 am
Localização: Canoas - RS

Ok, mas onde eu coloco esse POST?? Tanto o post quanto o commit, se eu coloco no when-validate-record dá erro!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Tenta por nã WHEN-NEW-RECORD-INSTANCE.

:-o
Filipe_Geissler
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 08 Fev 2006 9:17 am
Localização: Canoas - RS

Valeu dr_gori, funcionou beleza!!

Agora eu tenho uma outra situação! Nesses mesmos bloco que eu citei anteriormente, esse bloco que eu salvo linha a linha, é detalhe de outro bloco Tabular! Então eu vou inserindo no bloco detalhe e salvando linha a linha perfeito, no WHEN-NEW-RECORD-INSTANCE. Até aí tudo bem, só que quando eu estou no ultimo registro desse bloco detalhe e pulo direto para o segundo item do bloco master, ele dá aquela msg "Você quer salvar as alterações...?", isso por que quando eu pulei direto para o bloco master, em outro registro ele não executa a WHEN-NEW-RECORD-INSTANCE, nãso salvando o registro. Se antes de ir para o bloco master eu clico no em outro registro do detalhe ele executa a WHEN-NEW-RECORD-INSTANCE e funciona, mais não posso deixar assim!

Como eu faço para salvar, quando ele muda de bloco?? Alguém tem uma idéia??

Obrigado!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Assim como existe a WHEN-NEW-RECORD-INSTANCE, também existe a WHEN-NEW-BLOCK-INSTANCE, e também WHEN-NEW-ITEM-INSTANCE. (e várias outras que talvez possam ser aplicadas pra essa função)

Sugiro que você dê uma olhada em todas triggers do forms e teste-as com as mais variadas situações. O Help do forms é bem produtivo com relação a isso. E é claro, o povo aqui do forum tb pode te dar uma dica, quando possível !

:-o
Filipe_Geissler
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 08 Fev 2006 9:17 am
Localização: Canoas - RS

e aí dr_gori!!

Eu já usei todas essas triggers... o problema é que ele dá essa mensagem antes de executar essas triggers do bloco master!! eu queria salvar antes para isso não acontecer!!

Vou ver se acho algo no help!!
Responder
  • Informação
  • Quem está online

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