Question

BA Execution Server - Schedule and Run on demand

  • 22 November 2019
  • 2 replies
  • 502 views

Userlevel 6
Badge +15

In BA System Parameters there are only three options for the BA_EXECUTION_SERVER_AVAILABLE: NO/FOR_ALL_INFO_SERVICES_REPORTS/ONLY_FOR_SCHEDULED_REPORTS

However this doesn’t really suit our needs as we want to run some through BAES and others direct.

For example Report A: Lets say Finance have a report they wish to run on demand (no schedule) and this should open up in their Excel using the BA Addin.

Report B: Now we have a wide range of “Cost Centre” reports which breaks down all of the invoices to various managers and they should be able to run these reports on demand also (no schedule) - we don’t want to have to install the BA addin to everyone's machines so want the BAES to handle this functionality and store the report back in the report archive as a standard Excel file.

 

 

Can anyone think of a way around this?

I first thought about creating schedules for the “Cost Centre” reports and giving the users the ability “Run” the report from the schedule reports screen - which I have tested does work partly (So the users can access the schedules created by other users - only the reports they actually have permission set access to) - However they cannot just “run” the schedule as the Check_Access___ procedure blocks the user from running the schedule if they didn’t create it.

So I then delved into triggering the report via a Custom Menu using BATCH_SCHEDULE_API.Run_Batch_Schedule__ (again blocked by Check_Access__) - I tried to get around this using FND_SESSION_API.Impersonate_Fnd_User (which is blocked because of IMPERSONATE_USER privilege which I don't want to permanently grant) - so I took this one step further and bypassed this check and used the FND_SESSION_UTLS_API.Set_Fnd_User___ but after all of this then the schedule didn’t trigger.

 

The only way I could get this to work is if the user created their own schedules and then can just “Run” it whenever they want - but certain users will have access to over 10 reports so will get messy very quickly

Thanks, Callum

 

(P.s. running Apps 9)


2 replies

Userlevel 6
Badge +15

Just had a thought, scheduling will not work as the report has parameters and I don’t want to keep updating them

 

Looks like I will have to go down the route of sending all reports through BAES and then send a stream/email when the report is ready to view from the archive (Or the user will have to manually enter their email address) so they can get a copy to their email

Userlevel 4
Badge +8

Hi Callum,

Yes, if the report needs to be executed with different parameters, scheduling BA reports won’t work with the current design. However, you can create an event to notify the users once the reports are completed executing.

Create an Event

xlr_system_parameter_api.Get_System_Parameter(‘IEE_LOCATION’);

Report_sys.Get_Report_Title(:NEW.REPORT_ID)

Create Even Action

User mail address should be setup here.

Example Message:

Hi,

The report &REPORT_TITLE was created on #NOW#.

Click on the following link to view the report.

&IEE_LOCATION?url=ifswin:Ifs.Application.InfoServices.ReportArchive?ACTION=get%26key1=&NEW:RESULT_KEY

Alternatively, open the Report Archive Window, select report key &OLD:RESULT_KEY, right click and then view the report.

Thank you

You will receive a mail once the background job finishes execution.

This was tested sometimes ago with apps9. Just check if this is useful for notifying users or let us know otherwise. 

Best Regards,

Nisansala

Reply