chamando procedure de banco atraves do forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

Amigos , preciso de uma ajuda.
Criei um botão no forms e gostaria de que quando fosse pressionado atraves da trigger when-button-pressed , que executasse uma procedure que está definida a nível de banco.
Como faça para chamar, passando parametros ???

ex:

Selecionar tudo

begin
     procedureXXX('DataInicial','DataFinal');
end;
obrigado,
Marlon
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Isso mesmo,

se você tiver uma com o mesmo nome, ele irá chamar a do FOrms, :D
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

É cara, não tem nenhum mistério, chama ela assim como se ela tivesse no forms, so presta atenção se o usuario que tu ta usando pra compilar o e executar o forms tem permissões para acessar a procedure e se ele consegue enxergala.

As permissões tu da atraves do grant com o owner da procedure, e pra enxergar ela tu cria um sinonimo ou passa o nome do owner na frente da procedure.

e como o diego flow vê se não tem nada no forms com o mesmo nome.
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

beleza galera. Só mais uma coisa por gentileza.
Tem como saber se a procedure executou com sucesso ? Pois executei uma aqui passando os parametros e deveria gerar um arquivo txt no banco, mas não gerou nada.

obrigado,
Marlon
SergioLBJr
Rank: Oracle Guru
Rank: Oracle Guru
Mensagens: 448
Registrado em: Ter, 16 Jun 2009 3:07 pm
Localização: Parobé - RS
Sérgio Luiz Bonemberger Junior
Programador Junior
Parobé RS

[]s

Coloca um parâmetro varchar2 do tipo out.

dae coloca no fim dela algo tipo :

Selecionar tudo

exception 
   when others then
        p_out := 'deu erro'||SQLERRM;
e depois de chamar a procedure no forms tu testa o campo que tu passou neste parâmetro do tipo out, se ele for nulo não deu erro nenhum.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

Chama ela direto pelo pl/sql e passa os mesmos parametros.

aí coloca

Selecionar tudo

dbms_output.put_line('teste');
e vê se sai, ai você pode debugar tamb´m
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

beleza.
Funcionou.
obrigado à todos.

Marlon
Responder
  • Informação
  • Quem está online

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