Eu não uso o REPORT como objeto do FORMS.
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.