cancel
Showing results for 
Search instead for 
Did you mean: 

Passing dynamic prompt values.

0 Kudos

Hello,

I have around 250 Webi reports that i need to schedule to run on a monthly basis, and using the scheduled month/year as prompt value.

What is the best way i can accomplish this?

If i set an individual report to run recurrently every month, it will always use the prompt's default values or the values i set manually at the CMC, but that doesnt work for me because i need the prompts to be different each time they run..

I cant use the magic date solution because 99% of the reports use UserResponse() for year and month on table headers and similar.

Is this possible with coding? Can i code a script and schedule it to run every month, that will run through my list of reports to pass them the correct prompt and refresh them?

What is the recommended way to achieve something like this?

I already have a VB script that schedules an individual report to run immediatly, but i cant pass the prompts..

Thank you for your patience

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

I was able to wrap this up with the Java SDK and a lot of reading, thanks for the help!

Former Member
0 Kudos

Hi Fernando,

Can you explain little more about this Java SDK solution? I'm in the same situation with a large source webi documents scheduled monthly that needs to be changed same prompts values every month.

Thank you

0 Kudos

Hi Oscar,

I have attached a JSP file (renamed to .txt) with the code i used to fill the prompts dynamically with date variables (year, month, full date, etc).

You will need some libs. You should copy another web application deployed on the bo server tomcat and use that folder or read the SDK manual for the exact necessary libs - sorry, I have read this list somewhere but i cant remember where.

This code is not exactly great, far from it, but it has some comments and should give you a helpful start. I wish I had this when i needed it.

You need to know a bit of java to understand it.

After you have this working you just need to call the JSP to schedule the reports. We used a vbscript scheduled on the Windows Task Scheduler to call this every month. Each JSP schedules an entire folder full of reports.

Cheers, and good luck.

Fernando

Former Member
0 Kudos

Thank you so much Fernando for your help.

I will have a look the code and I will keep it in consideration if finally we decide the sdk solution.

many tahnks

Answers (1)

Answers (1)

Former Member
0 Kudos

We use the magic date solution with an extra data provider.

For instance, consider a report with a single data provider with a prompt using the magic date for "last month" as the result. That data provider returns the proper rows required for the report.

Now add a second data provider that returns the calendar information, and include the same prompt. You do have a calendar table, right? This data provider will ideally return exactly one row, with month or other date information, based on the prompt that also shares the magic date. You can use the min() or max() function on this single row to create a measure object which can then be used in headers or other cells as needed.

0 Kudos

That's a well thought out solution, thanks. I'll try not to forget it to my next BO project

However, at this stage, we are pretty much just searching for a way to schedule the reports passing the prompts with coding instead of going back and changing the Universes/report queries again, there's no time to update all the reports.

So right now what i'm looking for is the most practical solution to pass current month/year to a large list of Webi reports which will be scheduled to run on a monthly basis. I'm guessing i have two alternatives, the .NET SDK or the Java SDK.

Which one should yield the best results and be easier to implement? Anyone here been in this position before?

Thank you in advance!