2017-12-19 17 views
1

웹 서비스를 통해 BI Publisher에서 보고서를 예약하려고합니다. 보고서를 자동으로 한 번씩 한 번씩 열어보고 싶습니다. 주파수를 통과시키기 위해 반복 간격을 사용하고 있습니다. 하지만 문제는 밀리 초 단위로 값을 허용한다는 것입니다. 그래서 한 달 동안, 나는 큰 가치를 전달할 수 없습니다. 그것을 해결할 다른 방법이 있습니까?웹 서비스 및 반복 간격을 통한 BIP 예약

어떤 사람들이 나를 도울 수 있습니다. 사전에 감사합니다. 아래 코드를 첨부했습니다.

package BIP; 

import BIPschedule.ArrayOfEMailDeliveryOption; 
import BIPschedule.DeliveryChannels; 
import BIPschedule.EMailDeliveryOption; 
import BIPschedule.ReportRequest; 
import BIPschedule.ScheduleRequest; 

public class ScheduleServiceClient 
{ 
     public static void main(String [] args) throws Exception 
     { 
     try 
     { 
      ScheduleService_Service scheduleService_Service = new ScheduleService_Service(); 
      ScheduleService scheduleService = scheduleService_Service.getScheduleService(); 

      // Testing runReport 
      System.out.println("Testing runReport Service"); 


      ReportRequest req = new ReportRequest(); 
      req.setAttributeCalendar("Gregorian"); 
      req.setAttributeTimezone("GMT+5:30"); 
      req.setAttributeFormat("pdf"); //type of the report 
      req.setAttributeLocale("en-US"); //Language 
      req.setAttributeTemplate("Simple"); //Template type 
      req.setReportAbsolutePath("/~weblogic/Customer Details.xdo"); //Absolute path of the report from BIP Catalog. 
      req.setSizeOfDataChunkDownload(-1); //to download all 

      ScheduleRequest sreq = new ScheduleRequest(); 
      sreq.setReportRequest(req); //Set ReportRequest 
      sreq.setSaveDataOption(true); 
      sreq.setDataModelUrl("/~weblogic/Customer_details.xdm"); 
      sreq.setBookBindingOutputOption(false); 
      sreq.setJobTZ("GMT+5:30"); 
      sreq.setStartDate("2017-12-18T14:01:00"); 
      sreq.setEndDate("2017-12-18T14:30:01"); 
      sreq.setSaveOutputOption(true); 
      sreq.setMergeOutputOption(true); 
      sreq.setNotifyWhenFailed(false); 
      sreq.setNotifyWhenSuccess(false); 
      sreq.setNotifyWhenWarning(false); 
      sreq.setRepeatCount(5);              
      sreq.setUseUTF8Option(true); 
      sreq.setScheduleBurstringOption(false); 
      sreq.setSchedulePublicOption(true); 
      sreq.setUserJobName("Month"); 
      sreq.setRepeatInterval("3600000"); 


       String job_id = scheduleService.scheduleReport(sreq,"weblogic","weblogic123"); 
       System.out.println("job_id:"+ job_id); 

     }catch (Exception ex){ 
     ex.printStackTrace(); 
     } 

     } 
} 

답변

0

반복 표현식은 cron 표현식을 사용하여 작성됩니다. 오라클에는 지원 식별자가있는 경우 예를 들어 지원 문서가 있습니다. https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm

를 : 오라클 지원 문서 1537293.1는 참조 또한

(어떻게 BI 제작사 웹 서비스 ScheduleService의 WSDL을 사용하여 반복 작업을 예약)