I have seen several questions around accessing a report via a URL for the XMLP Enterprise release, some of you have teased apart the mechanism and gotten it working, heres the 101 for the rest of you. Now Im assuming that you are trying to call a report via a URL from another application, that might be from a portal or maybe an APEX application.
As you know the reports are placed in folders and those folders are then secured to a role and a role assigned to a user. So first off you're going to need to ensure that a user actually has access to a report in the first place and if they do then you'll need to call XMLP to render it. There are two options.
1. Use the Guest folder - this can be enabled via the server configuration file, any report in this folder is open for all to see and run. Not the best solution but if the report is not sensitive then it will work no problem.
2. Use SSO - you can hook the XMLP server up to an SSO server as a partner application to the calling application and use LDAP for both application to minimize the user maintenance. This way you call any report via a URL and as long as the user has rights to see/run the report then XMLP will render it without the need for the user to log in. Setting up LDAP and SSO are covered in the user guide now available on OTN.
Building the URL
So the basic URL for a report is as follows:
This will render the complete report inside the XMLP page with all the report controls. The default template, output and parameters will be used to render the report.
If you want some more control then we need to start adding some name/value pairs to the URL. The easiest way to generate the URLs is too just export the report, the URL generated will look similar to the basic URL but the name/value pairs will be added. For example:
http://xdopf.us.oracle.com/xmlpserver/Private/Salary Report/Salary Report.xdo?_xpf=&_xpt=1&_xdo=%2FPrivate%2Fkfabian%2FSalary+Report%2FSalary+Report.xdo&dep=10&_xt=Standard&_xf=html
Lets ignore the first part of the URL, its the same as before, so we have:?_xpf=&_xpt=1&_xdo=%2FPrivate%2Fkfabian%2FSalary+Report%2FSalary+Report.xdo&dept=10&_xt=Standard&_xf=html
Breaking this string up we have the following parameters on the URL:
Of course you'll need the obligatory '?' for the first parameter and '&' for the subsequent ones. So you can now create a URL to point to the required report and pass parameter values, output format and template.