Botão para chamar relatório REP

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
leo_analista
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 24
Registrado em: Qua, 23 Mar 2016 9:45 am

Hey experts!!!

Já tentei todas as soluções aqui do forum é de outros sites.
Fiz um sistema em Forms e gostaria de colocar um botão em um bloco que chamasse um relatório que fiz (REP) no PL/SQL.
Tem algum jeito?

Já tentei:

Selecionar tudo

BEGIN 
Run_Product(REPORTS, 'teste', SYNCHRONOUS, RUNTIME, 
FILESYSTEM, 'NULL', NULL); 
END;
--------------------------------------------------------------------

Selecionar tudo

DECLARE 
repid REPORT_OBJECT; 
v_rep VARCHAR2(100); 
rep_status varchar2(20); 
BEGIN 
repid := find_report_object('teste'); 
v_rep := RUN_REPORT_OBJECT(repid); 
END;

Se alguém puder me ajudar.

Valeu!!!
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Boa tarde Leo,

Eu não uso o REPORT como objeto do FORMS.

Eu chamo assim:

Selecionar tudo

Procedure P_Imprime  Is
  --
  P_Copies         Varchar2(20);
  --
  List_Param       Paramlist;
  List_Param_Name  Varchar2(10) := 'List_Temp' ;
  --
Begin
  -- Criar lista de parametros
  List_Param := Get_Parameter_List(List_Param_Name);
  --
  If Not Id_Null(List_Param)  Then
      Destroy_Parameter_List(List_Param);
  End If;
  --
  P_Copies := Nvl(P_Qt_Copia,1);
  --
  List_Param := Create_Parameter_List(List_Param_Name);
  --
  If P_Cd_Tipo_Impr = 'P' Then --PDF
     Add_Parameter(List_Param, 'Destype'  , Text_Parameter , 'File');
     Add_Parameter(List_Param, 'Desname'  , Text_Parameter , P_Nm_Arqu);
     Add_Parameter(List_Param, 'Desformat', Text_Parameter , 'Pdf');
  Elsif P_Cd_Tipo_Impr = 'H' Then -- HTML
     Add_Parameter(List_Param, 'Destype'  , Text_Parameter , 'File');
     Add_Parameter(List_Param, 'Desname'  , Text_Parameter , P_Nm_Arqu);
     Add_Parameter(List_Param, 'Desformat', Text_Parameter , 'Htmlcss');
  Elsif P_Cd_Tipo_Impr = 'W' Then --WORD
     Add_Parameter(List_Param, 'Destype'  , Text_Parameter , 'File');
     Add_Parameter(List_Param, 'Desname'  , Text_Parameter , P_Nm_Arqu);
     Add_Parameter(List_Param, 'Desformat', Text_Parameter , 'Rtf');
  Elsif P_Cd_Tipo_Impr = 'I' Then -- IMPRESSORA
     Add_Parameter(List_Param, 'Destype'  , Text_Parameter , 'Printer');
  Elsif P_Cd_Tipo_Impr = 'T' Then -- TELA
     Add_Parameter(List_Param, 'Destype'  , Text_Parameter , 'Preview');
     Add_Parameter(List_Param, 'Paramform'  , Text_Parameter , 'NO');
  End If;
  --
  Add_Parameter(List_Param,'Oracle_Shutdown',Text_Parameter,'Yes');
  Add_Parameter(List_Param, 'Copies' , Text_Parameter , P_Copies);
  --
  -- Parâmetros do report
  --
  Add_Parameter(List_Param, 'P_Cd_Estb_Tpte'          ,Text_Parameter, To_Char(P_Cd_Estb_Tpte));
  --
  If P_Cd_Tipo_Impr = 'T' Then
     Run_Product(Reports, 'Fatr0145' , Synchronous , Runtime , Filesystem ,List_Param , Null);
  Else
     Run_Product(Reports, 'Fatr0145' , Synchronous , Batch , Filesystem ,List_Param , Null);
  End If;
  --
End;

Veja se ajuda.
leo_analista
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 24
Registrado em: Qua, 23 Mar 2016 9:45 am

Prezado spernega desculpe minha ignorância...
No meu projeto tenho um botão, coloco toda essa procedure nesse botão?

No aguardo, valeu!!!

Léo
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Leo,

Se você quiser colocar na trigger, tem que trocar Procedure P_Imprime Is por Declare.

Você tem que dar uma adaptada para o seu reports.
Tem parâmetros nela que você não deve ter, tipo P_Cd_Tipo_Impr.
Teria quer criar.
Seria o tipo de impressão (Tela, PDF, Impressora, Word, ...).

Precisa checar se você passa parâmetros para o report, Add_Parameter(List_Param

O que eu postei é mais ou menos uma base pra você montar.
leo_analista
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 24
Registrado em: Qua, 23 Mar 2016 9:45 am

Valeu mesmo cara, vou tentar adaptar aqui.

Qualquer coisa te grito...kkkkk
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

boa sorte,

só não esquece que esse procedimento é pra chamar um reports externo.
Responder
  • Informação
  • Quem está online

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