Chamar Classe Java do Forms.

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
  

Mensagemem Seg, 21 Jul 2008 9:57 am

PessoALL, beleza?

Fiz uns testes aqui, jogando um código java (uma classe) no banco e, realizando a chamada da classe via procedure e function.
Até ai tudo bem, funcionou normalmente, desde que eu não utilizasse recursos gráficos do java, como o Swing.

Nota importante: Manjo nada de JAVA!

Mas, tenho uma dúvida: Tem como, via FORMS (6i - Version 6.0.8.27.0), eu chamar uma classe java que está no meu sistema operacional, e não no banco?

Caso positivo, se tiverem algum exemplo ou indicação de link, agradeço mesmo.

Muito obrigado.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Qui, 24 Jul 2008 5:34 pm

Cara eu desenvolvo em Java e tenho o mesmo problema seu.

No meu caso eu nem preciso que o Java fique incorporado ao Forms ou ao Report, ele precisa apenas chamar meu app Java passando parâmetros.

Mas não encontrei nada que funcionasse.
pyro
Localização: Barala - TT

Mensagemem Qua, 06 Ago 2008 4:05 pm

Olá pessoal,

Não sei se é isso que o trevisolli está falando, mas existe o comando host no FORMS que você pode executar qualquer linha de comando do Windows e como um arquivo java é executado via linha de comando acho que pode ser resolvido assim.

HOST('comando do windows')

Exemplo:
Código: Selecionar todos
HOST('java c:\projetos\classe1.class')


Só não sei se o comando para chamar o arquivo java está correto.

Espero poder ter ajudado.

Abraços.
rafaellomba
Localização: Rio de Janeiro - RJ

Rafael Lomba

Mensagemem Qui, 07 Ago 2008 2:36 pm

Cara, eu também estou precisando desse recurso, eu tinha pensado em alguma coisa como um build-in, mas esse comando já vai ajudar um bocado.
Só uma dúvida: esse comando também funciona no reports? Pois tenho um relatório que preciso chamar um gráfico a partir dele.

Outra coisa, para chamar corretamente um app Java o ideal é que esse app esteja com build no formato .jar e para chama-lo faz isso:
Código: Selecionar todos
java -jar meuAppJava.jar


Se alguém precisar de mais ajuda em Java é só me procurar.

vlw.
pyro
Localização: Barala - TT

Mensagemem Qui, 07 Ago 2008 3:03 pm

Fala Pyro, beleza brother?

Então, pro Forms, não sei se já ouviu falar...
Eu já ouvi, mas, não utilizei, um tipo de item "BEAN AREA".

Creio que seja para se trabalhar com Classe Java no Forms.

Se alguém já utilizou desta forma e puder nos orientar.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Qui, 07 Ago 2008 3:11 pm

Já tentei utilizar ela, mas não funcionou de jeito nenhum. :-o
pyro
Localização: Barala - TT

Mensagemem Sex, 08 Ago 2008 2:45 pm

Testei o comando host() aqui mas somente pisca uma tela e não chama a minha aplicação.
Alguém tem alguma dica?
pyro
Localização: Barala - TT

Mensagemem Sex, 08 Ago 2008 2:51 pm

Completando o post anterior, ao piscar na tela aparece escrito
Código: Selecionar todos
unable to java archive

Testei e tanto os caminhos como a JVM estão corretos na máquina, alguém sabe se o host() apresenta alguma restrição?
pyro
Localização: Barala - TT

Mensagemem Sex, 08 Ago 2008 3:22 pm

Brother, uma dica seria usar neste exemplo do prórprio Forms (do Help dele) o FORM_SUCESS.

Veja o retorno do erro apresentado se é omesmo informado anteriormente:
Código: Selecionar todos

** built-in:  HOST
** Example:   Execute an operating system command in a
**            subprocess or subshell. Uses the
**            'Get_Connect_Info' procedure from the
**            GET_APPLICATION_PROPERTY example.
*/
PROCEDURE Mail_Warning( send_to VARCHAR2) IS
  the_username VARCHAR2(40);
  the_password VARCHAR2(40);
  the_connect  VARCHAR2(40);
  the_command  VARCHAR2(2000);
BEGIN
  /*
  ** Get Username, Password, Connect information
  */
  Get_Connect_Info(the_username,the_password,the_connect);
  /*
  ** Concatenate together the static text and values of
  ** local variables to prepare the operating system command
  ** string.
  */
  the_command := 'orasend '||
      ' to='||send_to||
      ' std_warn.txt '||
      ' subject="## LATE PAYMENT ##"'||
      ' user='||the_username||
      ' password='||the_password||
      ' connect='||the_connect;

  Message('Sending Message...', NO_ACKNOWLEDGE);
  Synchronize;
  /*
  ** Execute the command string as an O/S command The
  ** NO_SCREEN option tells forms not to clear the screen
  ** while we do our work at the O/S level "silently".
  */
  Host( the_command, NO_SCREEN );
  /*
  ** Check whether the command succeeded or not
  */
  IF NOT Form_Success THEN
    Message('Error -- Message not sent.');
  ELSE
    Message('Message Sent.');
  END IF;
END;


Faz umas adaptações ai e, qualquer coisa manda pra gente.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Sex, 08 Ago 2008 3:40 pm

cara, como estou utilizando o Windows Vista aqui o Forms Builder está muito instável.
Foi só reiniciar o PC que funcionou.

Vlw.
pyro
Localização: Barala - TT

Mensagemem Sex, 08 Ago 2008 4:01 pm

beleza brother.

Só para deixar aqui para que os demais também saibam, caso necessitem:

-Você realizou a chamada somente com HOST?

Valeu mesmo.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Sex, 08 Ago 2008 4:18 pm

sim, foi somente utilizando host e ficou da seguinte forma:
Código: Selecionar todos
host('java -jar \\meu_caminho\meu_app.jar')

Foi somente isso.

Não ficou build-in como eu queria mas está rodando, é melhor do que nada.
pyro
Localização: Barala - TT

Mensagemem Seg, 01 Set 2008 2:37 pm

Use o Java Bean Area ..

Pesquise mais na web sobre isso
alfredofonseca
Localização: Goiânia

NM Alfredo Fonseca
Analista de sistemas
62 84740311

Mensagemem Qui, 04 Set 2008 12:35 pm

Já pesquisei e testei mas não funcionou a contento, por isso adotei outra solução mesmo.
pyro
Localização: Barala - TT


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


Voltar para Forms

Quem está online

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