Get dynamically eMails from Oracle Database to send Reports

Hello together,

actually I am working on a solution to get the eMail adress from each recipient from a Oracle database to send them the (error) reports via the scheduler. I didn’t make it to find any providing solution in the manual or elsewhere, so I am asking here.

For you to understand:
On importing some datas into Oracle from many XML files there may be some errors which will be noticed by Business Object. After this procedure, it will create error reports and store them in the system.

To send the reports to all according recipients I want to fetch the eMail right out of the Database Table if it’s stored there (some recipients might not have an email, but thats insignificant) and send the error reports via the scheduler.

So my really question is: Is there any way to get the eMail out of any table of any database for using it to send the reports?

On WebIntelligence’s Scheduler I saw the option to send the report via eMail, but as far as I know, I have to create an User (Group) with an eMail Adress containing. Thats not my will, so if anybody knows how to answer my problem, I would appreciate it.


pbauer4 (BOB member since 2009-10-01)

Hi and welcome to BOB

Could you please let us know if you are running Xir2 or Xi3.x?

Thanks

Of course, sorry that I forgot the most important thing :slight_smile:

We are using Xi 3.x. Hopefully that means there’s a solution.

Best regards
Patrick


pbauer4 (BOB member since 2009-10-01)

Look at using publications in XI R3.1. Do research on Dynamic recipients.


Steve Krandel :us: (BOB member since 2002-06-25)

Acutally I am doing the research, but I can’t find the correct publication. Could you name the document that I have to look at? Hopefully I can find the documentation on this website: http://help.sap.com/businessobjects/

Thanks and best regards
Patrick


pbauer4 (BOB member since 2009-10-01)

I’m not suggesting you read a publication. I’m suggesting you use the publication functionality within BO. It’s pretty easy.


Steve Krandel :us: (BOB member since 2002-06-25)

Ah of course, I misread the sentence. As soon as I have more questions, I will post them here.

Thanks for helping me out :slight_smile:


pbauer4 (BOB member since 2009-10-01)

As I expected I have one more question:

As far as I understood, I have to create an Web Intelligence/Desktop Intelligence document containing all relevant information which I need to send the eMail ergo the report needs to be filled with the recipients.

Now I’ll try to explain the situation I am confused with right now:

The scheduler shall send all error reports from the database at the specified time BUT after it sends the report via eMail all the errors in the first report should not be accounted in the next report.

Is there any way in BOXI to check if one error has already been send without accessing the database after sending one report and setting some flags like the current date or so?

Actually I think after sending a first report and with regenerating the second report the next time, all the “old” errors from the first report will be in the second report too.


pbauer4 (BOB member since 2009-10-01)

Include a flag in the error table to indicate whether the error has been sent.

Propagate a default N on insert to this table.

After a successful publication use a batch file to run an update to the DB setting all flags to Y, only include rows marked N in the publication.


Damocles :uk: (BOB member since 2006-10-05)

I see, there’s no way arround accessing the database.
In the table there’s a column called valid_from in date format. My consideration is to use this date, which will be filled automatically by importing the xml files.

I think in the scheduler there’s a way to send only reports which are exactly “current date - 1 day” old, so is my consideration correct or do I mismatch something?


pbauer4 (BOB member since 2009-10-01)

That’d work but if your publication fails would you mind that day’s errors not being sent at all?


Damocles :uk: (BOB member since 2006-10-05)

Ah that’s the hint. Thanks, I really didn’t think about ist.
As far for now, I am trying to set the dynamic recipients with a web intelligence document. But it seems that InfoView is not able to read the eMail adresses from the document I just created.

Can you explain what task I have to do to set dynamic recipients?
I did not find any explaining documentation on http://sap.help.com how to set up the report to use it for a dynamic recipients list.

Actually for now the web intelligence document contains only the eMail adresses from the database, but in the dynamic recipients window it shows me something like “Keine Elemente verfügbar” as in english it must be: “missing parameter values”. I am using the german version so I try to explain it as far as I can.


pbauer4 (BOB member since 2009-10-01)

See here: scheduling a report..


Damocles :uk: (BOB member since 2006-10-05)

Thanks so much Damocles, but finally I get an ‘submitReport’-API error.

For your information:

  1. Web Intelligence document “E-Mail List” contains one query object to gather the adresses from the database and one query filter to sort out these adresses which shall not appear on the report.

  2. Web Intelligence document "TestIntelligence " contains all of the required queries to show these informations on the report. The object eMail from the “e-Mail List” Report ist set here as a query filter.

If I try to run the scheduled publication, it fails saying the error I mentioned above:

Now I am a little confused, knowing not knowing how to solve this problem. This is definitly not a problem of any servers running in CMC, which we have set up right now. Sending normal reports is no problem, but those who normally shall be dynamically generated and sent.

I’m sorry for posting the error message in German. Searching this board showed no results to help me out.


pbauer4 (BOB member since 2009-10-01)