Ola!
Preciso enviar parametros para o forms (para atualizar uma barra de progresso) durante a execução de uma procedure de bnco.
Tem como?
Obrigadinha
Enviar dados para o forms no meio da execução de uma package
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Qua, 17 Set 2008 3:25 pm
- Localização: Araraquara - SP
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Tem sim Fabi... (tudo jóia? rs.. quanto tempo...)
Eu devo ter um exemplo aqui de barra de progresso, utilizando SET_ITEM_PROPERTY, vou ver se localizo aqui pra te enviar.
Eu devo ter um exemplo aqui de barra de progresso, utilizando SET_ITEM_PROPERTY, vou ver se localizo aqui pra te enviar.
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Ah, à propósito, aqui mesmo no fórum tem um exemplo.
Dá uma olhadinha neste link:
http://www.glufke.net/oracle/viewtopic. ... t=progress
Qualquer coisa, manda pra gente.
Dá uma olhadinha neste link:
http://www.glufke.net/oracle/viewtopic. ... t=progress
Qualquer coisa, manda pra gente.
-
- Rank: Analista Júnior
- Mensagens: 88
- Registrado em: Sex, 22 Fev 2008 8:24 am
- Localização: Floripa - SC
não sei se dá para postar aqui mesmo.
é que eu fiquei com uma dúvida
essa barra de progresso é usada quando se costuma fazer uma consulta ou procedimento demorado e para que o usuário não pense que o sistema travou você fica exibindo o registro que está sendo executado, é isso?
e para usar no meu forms seria só colocar para o meu forms e selecionar o canvas?
é que eu fiquei com uma dúvida
essa barra de progresso é usada quando se costuma fazer uma consulta ou procedimento demorado e para que o usuário não pense que o sistema travou você fica exibindo o registro que está sendo executado, é isso?
e para usar no meu forms seria só colocar para o meu forms e selecionar o canvas?
- dr_gori
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Mas tem uma coisa:
* essa barra é usada baseado em informações de um bloco. (exemplo, vai popular cada linha de um bloco)... alguma coisa que o FORMS tenha controle de contar e executar linha a linha.
Não é disparar uma procedure no BANCO e ela fica atualizando a barra no forms. Isso porque o forms funciona da seguinte forma:
* quando algo é disparado no banco, o forms PARA, CONGELA, TRANCA até que a "execução" volte pra ele... Não tem o que fazer...
Uma forma de se fazer isso é assim:
* disparar a procedure em uma outra sessão. (exemplo, disparar ela via um JOB, daí a execução passa pra outra sessão e "libera" instantaneamente o controle ao forms. Enquanto a procedure executa no banco).
* fazer com que essa procedure fique gravando numa tabela em que pé anda a execução.
* o forms fica fazendo refresh dessa informação para o usuário.
É bem diferente do exemplo passado de progress-bar...
* essa barra é usada baseado em informações de um bloco. (exemplo, vai popular cada linha de um bloco)... alguma coisa que o FORMS tenha controle de contar e executar linha a linha.
Não é disparar uma procedure no BANCO e ela fica atualizando a barra no forms. Isso porque o forms funciona da seguinte forma:
* quando algo é disparado no banco, o forms PARA, CONGELA, TRANCA até que a "execução" volte pra ele... Não tem o que fazer...
Uma forma de se fazer isso é assim:
* disparar a procedure em uma outra sessão. (exemplo, disparar ela via um JOB, daí a execução passa pra outra sessão e "libera" instantaneamente o controle ao forms. Enquanto a procedure executa no banco).
* fazer com que essa procedure fique gravando numa tabela em que pé anda a execução.
* o forms fica fazendo refresh dessa informação para o usuário.
É bem diferente do exemplo passado de progress-bar...
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Qua, 17 Set 2008 3:25 pm
- Localização: Araraquara - SP
Mas o processo não esta no forms, esta no banco...
O botao chama o processo, ai vai mudando a barrinha de progresso, so que quando ele começa executar o processo, (q esta no banco, e q demora +/- 20 minutos) ele não atualiza mais a barrinha, so quando acaba a execucao.... Mas eu preciso que atualize durante o processo do banco... ai surge a pergunta, como eu atualizo o forms não meio do processo do banco?
Ps: Trevis!!!! hauahuaha
saudades de você tb!
bjus
O botao chama o processo, ai vai mudando a barrinha de progresso, so que quando ele começa executar o processo, (q esta no banco, e q demora +/- 20 minutos) ele não atualiza mais a barrinha, so quando acaba a execucao.... Mas eu preciso que atualize durante o processo do banco... ai surge a pergunta, como eu atualizo o forms não meio do processo do banco?
Ps: Trevis!!!! hauahuaha
saudades de você tb!
bjus
- dr_gori
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
É exatamente o que eu respondi acima.
A ***única**** forma é executar paralelo !!! (exemplo: via job)
Pois o forms PARA a execução enquanto está rodando coisas no banco!!!
A ***única**** forma é executar paralelo !!! (exemplo: via job)
Pois o forms PARA a execução enquanto está rodando coisas no banco!!!
-
- Rank: Analista Júnior
- Mensagens: 96
- Registrado em: Qua, 21 Jun 2006 11:33 pm
- Localização: Canoas RS
O banco não consegue enviar informações para o forms, só o retorno final do procedimento!
O ideal é manter algum controle pelo forms, como por exemplo:
O ideal é manter algum controle pelo forms, como por exemplo:
...
FOR registro IN cursor LOOP
procedure_banco(parametro1, parametro2);
:bloco.item := total + anamento; -- Cálculo do percentual
SYNCHRONIZE;
END LOOP;
...
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes