how to save a report in the local system in Oracle 12c

265 Views Asked by At

how to save a report in the local system in Oracle Forms 12c. Like in Forms 6i, we are using the run_product() procedure to save a report in the local system

pl_id := create_parameter_list('us00300p');
    add_parameter(pl_id,'paramform',text_parameter,'no');
    add_parameter(pl_id,'xiposl',text_parameter,sl_no); 
    and so on       

run_product(reports,filepath&filename,synchronous,runtime,filesystem,pl_id,null);

how to replace this procedure in Forms 12c insead of using to save file in the local system.This is Forms 6i code how to write like this in Forms 12c

select ora_12c,report_server,rep_str into m_12c,vc_reportserver,mrep_str from single_row; if m_12c = 1 then

    v_report_id := find_report_object('rat');
    
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,SYNCHRONOUS);
 
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,CACHE);
    
    SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_DESFORMAT,'pdf');

    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,vc_reportserver);

    SET_REPORT_OBJECT_PROPERTY(report_id,report_filename,Filepath&FileName);
    
    v_ReportServerJob := run_report_object(report_id,pl_id);

    vjob_id := substr(ReportServerJob,instr(ReportServerJob,'_',-1)+1);

    vc_rep_status := REPORT_OBJECT_STATUS(ReportServerJob);
    
    IF  vc_rep_status = 'FINISHED' THEN
    
      --WEB.SHOW_DOCUMENT (serverURL,Servername,Jobid,'_blank');
           How to replace this save a report in the local system without opening browser
1

There are 1 best solutions below

0
Veera mani On

Here, the answer is there please check it.

select ora_12c,report_server,rep_str into m_12c,vc_reportserver,mrep_str from table_name;
if m_12c = 1 then
    v_report_id := find_report_object('rat');

     SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,SYNCHRONOUS);
     SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,CACHE);
     SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_DESFORMAT,'pdf');
     SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,vc_reportserver);
     SET_REPORT_OBJECT_PROPERTY(report_id,report_filename,Filepath&FileName);
     v_ReportServerJob := run_report_object(report_id,pl_id);
     vjob_id := substr(ReportServerJob,instr(ReportServerJob,'_',-1)+1);
     vc_rep_status := REPORT_OBJECT_STATUS(ReportServerJob);
       
IF  vc_rep_status = 'FINISHED' THEN
      --> Save a report in the local system without opening the browser <--
      COPY_REPORT_OBJECT_OUTPUT(v_ReportServerJob,'c:\mylocaldir\file.pdf');
    --&* This is the answer to my question. Hope, it would be helpful for someone *&--
end if;