cancel
Showing results for 
Search instead for 
Did you mean: 

How to retrieve complete scheduling information for all recurring schedules using Enterprise SDK or RESTful API

Former Member
0 Kudos

Hi All,

We want to retrieve complete scheduling information for all recurring schedules :-

  • Name of the Schedule
  • Schedule Frequency
  • Recipients
  • Report Owner Name
  • Schedule Owner Name
  • Format of the report (pdf/xls)

We tried using RESTFul API but we are not getting the schedule owner information.

We used the below RESTFul API URL of Raylight:-

http://<server>:6405/biprws/raylight/v1/documents/101788/schedules/146544

The ids shown are specific to our environment. Please let us know if thr is a way to do it using RESTFul API or Java Enterprise SDK.

Environment Details:

Server OS : Windows 2012

BO           : BI 4.1 SP07

Came across a SAP Note (SAP Note 2055164 - How to get Schedule Details using RESTful Web Service APIs.pdf) which mentions "The webi raylight XSD is not designed to get detailed information about the scheduled instance." It also says to refer to BusinessObjects Enterprise Java SDK for more schedule details.

With a lot of APIs being deprecated, is their a way in BI 4.1 SP07 currently to get the complete schedule details?

We basically want all the info which is present in the screen which comes up when you click on Recurring link in History of the report.

Regards,

Kashif

Accepted Solutions (1)

Accepted Solutions (1)

DellSC
Active Contributor
0 Kudos

You can get all of this information - the report owner comes straight from IInfoObject and, like said, most of the rest of the info comes from the ISchedulingInfo that's part of the IInfoObject.  However, there are no "getters" for some of this information, so you'll have to use the .Properties of ISchedulingInfo to get the data.

-Dell

mgrackin
Contributor
0 Kudos

There actually are some "getter" functions deeper down the chain.  Former Member is correct there are no detail "getters" on the ISchedulingInfo object itself but if you pull the IDestinations object out and then pull each IDestination object and copy the destination to the correct IDestinationPlugin, such as SMTP for an email destination, AND THEN pull out the ISMTPOptions, you then have a lot of "getters" to use.  There are quite a few object levels to go through but it eventually gets you to the "getters".

Former Member
0 Kudos

Thanks a lot and for the quick and valuable input. Will check that and let you know.

Regards,

Kashif

Former Member
0 Kudos

Hi Michael and Dell,

We are struggling to get the recurrence Type for a weekly schedule.

We have used the below functions :-

ISchedulingInfo schedInfo = infoObject.getSchedulingInfo();

System.out.println("schedInfo-recurrence--"+schedInfo.getIntervalDays() +"--"+schedInfo.getIntervalHours()+"--"+schedInfo.getIntervalMinutes()+"--"+schedInfo.getIntervalMonths()+"--"+schedInfo.getIntervalNthDay()+" -- ");


We do not see any function for getting the Weekly schedule details.


Any suggestion?


Regards,

Kashif



Former Member
0 Kudos

We got the data for weekly schedules using Rest API.

-<weekly retriesAllowed="0" retryIntervalInSeconds="1800">

<startdate>2016-02-22T06:14:00.000-05:00</startdate>

<enddate>2025-03-24T06:44:00.000-04:00</enddate>

<monday>monday</monday>

<friday>friday</friday>

</weekly>

Regards,

Kashif

mgrackin
Contributor
0 Kudos

Kashif,  I have not taken the time to dissect the Interval values to figure out the real schedule of any of the document schedules.  Sorry I cannot help you with this.

My suggestion is to dig deeper into the SI_RUN_ON_TEMPLATE property on the ISchedulingInfo object.  When a schedule is a weekly schedule, the properties for what day of the week to run are located in this property.  Unfortunately there are no getters for this property so you will need to dig through it using ".properties" function.

~ Mickey

DellSC
Active Contributor
0 Kudos

I have a Java program that I've written that pulls all sorts of data out of the CMS.  For schedules, I have created a class called ScheduleInfo.  In the code below, the top section is part of the code in the constructor and schedType, intervalType, and interval are properties of the class.

ISchedulingInfo si = o.getSchedulingInfo();

loadSchedType(si.getType());

if (!intervalType.isEmpty()){

  loadInterval(si);

}

private void loadSchedType(int iType) {

  switch (iType){

  case 0:

  schedType = "Once";

  case 1:

  schedType = "Hourly";

  intervalType = "Hours";

  break;

  case 2:

  schedType = "Daily";

  intervalType = "Days";

  break;

  case 3:

  schedType = "Weekly";

  break;

  case 4:

  schedType = "Monthly";

  intervalType = "Months";

  break;

  case 5:

  schedType = "Nth Day of Month";

  intervalType = "Nth Day";

  break;

  case 6:

  schedType = "First Monday of Month";

  break;

  case 7:

  schedType = "Last Day of Month";

  break;

  case 8:

  schedType = "Calendar";

  break;

  case 9:

  schedType = "Calendar Template";

  break;

  default:

  schedType = "Unknown";

  break;

  }

}

private void loadInterval(ISchedulingInfo si){

  if (intervalType.equals("Hours")){

  interval = si.getIntervalHours();

  } else if (intervalType.equals("Days")){

  interval = si.getIntervalDays();

  } else if (intervalType.equals("Months")){

  interval = si.getIntervalMonths();

  } else if (intervalType.equals("Nth Day")){

  interval = si.getIntervalNthDay();

  }

}

-Dell

Answers (1)

Answers (1)

mgrackin
Contributor
0 Kudos

Kashif,

We have BOB4.1, SP6 and we are using the Java API to access the information on recurring schedules.  I am able to get all the information you are looking for (EXCEPT for the Report Owner Name) from the Scheduling Information (SI_SCHEDLUEINFO).  Check the Java API.