Webi dynamic schedule with prompt

Hi All,

I have the following requirement in BI 4.0 SP5 environment.

A webi report needs to be scheduled with a prompt value and saved in a file server. The report has a prompt on a object named

[Fund #]

The object [Fund #] has 5 LOVs . So the report has to be run for all the the prompt values, that is 5 times and 5 copies should be saved as 5 separate PDF files in a file location.

The number of LOVs are not constants. It is possible at some point of time that [Fund #] will have 10 LOVs. In that case the same webi report needs to be run for all the prompt values that is 10 times and 10 PDF files should be saved in a file location.

How can this be automated ?

Using profile in publication is not an option, because the LOVs are not constant in number. Can this be achieved using a java script as a program object rather than using SDK directly ? Please let me know all the possibilities.

Thanks a lot for your attention.

Regards
Arijit


bobibwspecialist :india: (BOB member since 2012-01-27)

You can do what you describe using a publication with Dynamic Recipients.

Try this:

  1. Remove the prompt from the parent report. But make sure Fund # is included in the query as a result object. Let’s call this Report1.
  2. Create a new report. Select the Fund # object in Results, and give it any conditions that are appropriate. This is what will generate the list of values to filter the output with.
  3. Save the new report report with “Refresh on Open” set (this is a requirement in Xi3.1 to prevent failures when scheduling; it may not be necessary in BI4). Let’s call this ReportList.
  4. Create a new publication. Select Report1 as the source report.
  5. In the “Dynamic Recipients” tab, select ReportList. In the “Recipient Identifier” field, select the “Fund #” object.
  6. Make sure “Use entire list” is checked off.
  7. On the “Personalization” tab, under Local Profiles, under “Report Field”, select Fund #. Under Dynamic Recipient Mapping, also select Fund #. You’ll leave Enterprise Recipient Mapping as “Not Specified”, and you will ignore the “Global Profiles” section above. In this section, “Report Field” is the field that the condition will be applied to (from Report1), and Dynamic Recipient Mapping is the field that contains the values to use (from ReportList).
  8. On the Format tab, select the format you want for the generated files.
  9. On the Destinations tab, check off “File System”, then select “File System” from the drop-down box. Enter the directory for the generated files.
  10. Under “File Name”, select “Use specific name”, and enter “%SI_OWNER%.%EXT%”. The “%SI_OWNER%” will be replaced with each value from Fund #. You can change this field as needed. For example, “Report for %SI_OWNER%.%EXT%”
  11. Schedule the publication just as you would a report.

FYI, a Java program object is using the SDK. But to answer your question – yes, you could write a program to do this.

Joe


joepeters :us: (BOB member since 2002-08-29)

Hi Joe,

Thanks a LOT for your suggestions. I could achieve what I wanted by your suggestions.

I am new to this forum, so I do not know how to award points to you. If you could guide me, it would be nice.

Cheers
Arijit


bobibwspecialist :india: (BOB member since 2012-01-27)

Glad you found it helpful!

We don’t have individual points here on BOB, but there’s a star icon (look over to the right and down). You can click that to give this thread a point, to indicate to others that it’s helpful.

Joe


joepeters :us: (BOB member since 2002-08-29)

Hi, Am trying to schedule a report which has date as the prompt and this needs to be dynamic in nature. is there any possibility to pass this date logic to the prompt in the publication?

Report prompt comes from the universe: So this is undeniable.
Tried magic date concept of dave. but that dint work.

what is the criteria to create the second report? whether it should contain same objects as the original report?? along with the date logic or anything.

Iam using 3.1 and when i tried to put the date object in the new report and add it in the dynamic recp it says " Invalid report"

There fore not able to try ur suggestions completely.

Appreciate ur response.

Thanks
Shoaib


shaqeel.mohds (BOB member since 2012-08-25)

If the date is dynamic, how is it determined?


joepeters :us: (BOB member since 2002-08-29)

Original Report: Has a prompt from universe. Which is undeniable.
Report1: Created to include the date object.
I have included sysdate as an object in my report1.

So this sysdate should be passed to original report prompt so that report runs for SYSDATE.

Thanks
Shoaib


shaqeel.mohds (BOB member since 2012-08-25)

Why not just remove the prompt from the report, and add a predefined condition using SYSDATE?


joepeters :us: (BOB member since 2002-08-29)

As i said earlier, prompt comes from the universe context and is undeniable.

We cannot talk to this DB without date parameter.
it’s a huge database.

Appreciate ur responce.

Thanks
Shoaib


shaqeel.mohds (BOB member since 2012-08-25)

What do you mean by “undeniable”?

If you mean it can’t be removed from the report, then your proposed solution of using a second report that just returns a date should work.

Joe


joepeters :us: (BOB member since 2002-08-29)

Universe is designed in such a manner that any query generated will definitely have a prompt .


shaqeel.mohds (BOB member since 2012-08-25)

Hi joepeters,

The workaround you provided is not working as expected. Just it is getting failed without any error. Following steps followed, could you help me furher?

BOXI3.1 SP5
Apache2.2/Tomcat7

  1. Created the Report called “Dynamic_Group_Details” which has collection of required objects including “Group Name”.
  2. Created the another report called “Dynamic_Group_Input” which has “Group Name” object in report query.Selected “open on refresh”
  3. Created the new Publication, selected the source as “Dynamic_Group_Details”
  4. “Enterprise Recipients” -> Didn’t select anything
  5. In the “Dynamic Recipients” tab, select “Dynamic_Group_Input”. In the “Recipient Identifier” field, select the “Group Name” object. And unchecked “Use entire list”. There was list of group and selected those to “Selected” box.(Tried by selecting/ without selecting as well)
  6. On the “Personalization” tab, under Local Profiles, under “Report Field”, selected “Group Name”. Under Dynamic Recipient Mapping, also selected “Group Name”. I left Enterprise Recipient Mapping as “Not Specified”, and ignored the “Global Profiles” section above.
  7. On the Format tab, selected the format pdf file.
  8. On the Destinations tab, tried as file system and Email. Those just getting failed without any error message.

Could you please help me how to achieve it?

Thanks,
Oops.


Ooops (BOB member since 2010-10-27)

Did you check the log file?


joepeters :us: (BOB member since 2002-08-29)

Yes i did but no logs… It is empty


Ooops (BOB member since 2010-10-27)

No error and no logs? Did it complete in “Success” status?


joepeters :us: (BOB member since 2002-08-29)

We tried above but the report is not filtered as per the LOV. Could you help me to fix this issue.


Snazzy775 (BOB member since 2012-04-26)

Hi Joe,

Thanks for your detailed post. I have successfully implemented this logic and it is working fine for me. But have few doubts on this solution.

  1. Today I have 5 LOV’s on my Sub Report and I am Configuring the Publication. Will it work if the 6th LOV comes into DB tomorrow?
  2. Purging the Master Report and trying the publication resulting error --> no data to fetch in Prompts values. Is there anyway to handle this error?

Once again, thanks for your post.


yourajai :india: (BOB member since 2011-03-09)

I thought SI_OWNER placeholder was to display the user who scheduled the instance :blue:


NycPriya (BOB member since 2010-11-04)

As long as the sub report (the one used for the dynamic recipients) is set to refresh-on-open, then it should pick up the new value.

Not certain, but I think setting refresh-on-open may resolve this too.

Joe


joepeters :us: (BOB member since 2002-08-29)

Normally yes, but when dynamic recipients are used, this is replaced with the ID associated with the recipient.


joepeters :us: (BOB member since 2002-08-29)