URL to run reports
What is an URL to run reports directly in the Browser without going to Report Manager? Also can I run a report and specify a format like PDF?
Thanks
http://msdn.microsoft.com/en-us/library/ms153586.aspx
This may also be interested for you
http://dimantdatabasesolutions.blogspot.co.il/2009/02/how-to-render-report-to-pdfexcel-format.html
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence
Similar Messages
-
Run XML Publisher Report via URL (like Oracle Reports)
Hi All,
Is it possible to run xml-publisher report via URL?
In Oracle Reports works this fine:
http://test:7777/reports/rwservlet?server=test_bihome1&report=test1.rdf&userid=test/testv@db&desformat=pdf&destype=cache
We need this for public reports without user login.
Thanks
ThomasThomas,
I was waiting to get home before Tim replied... He got the better of me this time :-)
You say you want to let your users run reports using XMLP just by clicking on an URL same way you do with reports and without having to login. If I got the question right and assuming that:
1.Your company is not overly concerned on who runs what reports
2.Who sees what data
3.Your XMLP installation is on your intranet and firewalled from the outside
What you can do is:
On the main page of your XMLP Enterprise installation you should see a folder called "Guest". Any report you create under this folder is run as user "guest" which means you don't have to authenticate yourself as you would normally do.
I have tested this on my home server and this is what I've done:
1.Logged in as admin or any other user you've created with admin privileges created a report under the "Guest" folder.
2.Copied the URL, on my server it is "http://samba.private.net:15101/xmlpserver/Guest/People/People.xdo"
4.Logged off as admin and pasted the URL to a new browser window
5.Hit return and Voila, my report runs without the need to login to XMLP.
Hope this helps. Let us know how you got on.
Cheers,
Joao
PS: If you want to see the report for yourself here's the URL from the outside: http://medeiros.homelinux.net:15101/xmlpserver/Guest/People/People.xdo
I'll keep the link alive for a couple of days. -
Run report with SSO/OAM by URL without prompt for uid/pwd?
Can I run a report by URL to a report engine protected by SSO/OAM without being prompted for credentials? Asking the same in another way, is there a way to pass the SSO/OAM credentials in the URL (or otherwise) to avoid being prompted for them? I find many references to how to do this for the database connection credentials, but I'm trying to pass the SSO/OAM credentials on the URL. My end game is to be able to run a report from VB.NET from a kiosk application in VB.NET where there is no attendant and client does not want to have to log into SSO/OAM at any time. My VB.NET code will submit the URL, grab the output and manage the work stream (print, save, store to doc repos, etc.) in the kiosk code.
Thanks in advance
Hank
12/29/2014
For the sake of those that come later with this same question:
It turns out there is a way to do this after all. I opened an SR with MOS and with a little trial and error we worked out that the following does work:
http://<theFormsReportsServer>:9002/reports/rwservlet?report=myTestReport.rdf&authid=myOAMUserId/mySSOPasswd&userid=dbUid/dbPwdK@DbTnsEntryName&destype=cache&desformat=html
Note that there are two necessary bits to this in addition to specifying the authid=SSO Credentials part. The first is that you must use the WLS_REPORTS port (9002 in our case), not the OHS port (8888 in our case). The other is that you must provide the database connection. I have done it overtly in this syntax by specifying userid=DbCredentials@Db, but it should also work to substitute the ssoconn functionality in order to hide the Db credentials. That is not an issue in our environment so i have not actually tested it.
Regards
HankHi;
It's been too long since I've done anything in Access. Have a look at this old sample, and see if it helps:
https://smpdl.sap-ag.de/~sapidp/012002523100006013432008E/rdc_vba.exe
Regards,
Jonathan -
OAS in Unix: URL not found when run report from Form???? please help
Hi,
We have succesfully install OAS with Form Server and Report Server in
Unix. We able to run Form and Report direct from browser. But we having
problem to run Report from direct Form within the browser. The message from
the browser was 'The requested URL was not found'. We use run_product to run
report from form. Below is the statement:-
Run_Product(REPORTS, 'A10001', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id,
NULL);
Does anyone have an idea??
Thanks in advance.
nullplease check env. variables
1. FORMS60_MAPPING
2. FORMS60_OUTOUT
FORMS60_MAPPING should point to vartual directory on your forms webserver
FORMS60_OUTPUT should point to physical
directory path of vartual directory
FORMS60_MAPPING
regards
Darshan
[email protected]
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by leong([email protected]):
Hi,
We have succesfully install OAS with Form Server and Report Server in
Unix. We able to run Form and Report direct from browser. But we having
problem to run Report from direct Form within the browser. The message from
the browser was 'The requested URL was not found'. We use run_product to run
report from form. Below is the statement:-
Run_Product(REPORTS, 'A10001', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id,
NULL);
Does anyone have an idea??
Thanks in advance.
<HR></BLOCKQUOTE>
null -
URL to run a report file that is not located in $ORACLE_HOME/reports dir
All,
I know very little about configuring reports on the web.
We have had a 10g App Server running for several years. All of our reports files so far have been located in the Middle Tier's $ORACLE_HOME/reports directory.
We now have a need to create sub-directories under the reports directory and run reports out of those sub-directories.
After poking around the documentation, I'm not seeing how to do this.
For example:
$ORACLE_HOME/reports (has some legacy reports files in it)
$ORACLE_HOME/reports/EI22 (new directory where we want to put EI22 related reports)
$ORACLE_HOME/reports/EI23 (new directory where we want to put EI32 related reports.....etc)
Normally, to run my reports in the $OH/reports directory, I use an URL like the following:
http://hostname.domainname/reports/rwservlet?report=reportfilename.rdf&userid=uname/pwd@dbname&desformat=html&destype=cache
How would I run a report file that now resides in the EI22 or EI23 directory?
Thanks in advance for your assistance.As far as I know there is only one SourceDir property, you can assign multiple folders to it ... then at runtime you do not specify anything else in the URL, the reports server will look into each directory in the SourceDir (in order) for the report that you're trying to execute...
If you have multiple versions of the same report located in the same server, then that's tricky because at runtime the reports server will execute the one from the directory where it finds it first.
I personally prefer setting the REPORTS_PATH and having multiple ENVID sections that way in the URL I directly specify the ENVID which where the report is to be executed from...
Here at work we used it for multiple applications with totally independent folders, so each application uses its own ENVID to invoke the reports.
If you do not care/want this type of structure then use the SourceDir property that Andreas has mentioned and you do not need to add anything to your URL. -
The URL to run a Report stored in the Server-VERY URGENT
Hi ,
I wanna to know the url to run the report stored in 9iDS.
e.g. in earlier version we need to use the CGI scripts to do the work e.g. http://hostname:port/srwcgi60/rwcgi.exe?report=test.rep ..somethin like this ..but in 9iDS i m not able to get the url..when i do http://hostname:port/reports/ the home page of reports come thats it ...but how to run it ...
please its VERY URGENT..
thanx a lot..
Bhavnahello bhavana,
how ru.
web.show_document('http://servername:port/dev60cgi/rwcgi60.exe?report=reportname&userid=username/password@databasename&server=reportservername&destype=cache&desformat=HTML');
put the above coding to a when-button-pressed trigger.
it will work.
http:\\servername:portname\dev60html\runrep.htm
this will give u the reports home page.
in that enter the report name and username and password.
this also will work.
looking forward to hear from u.
bye. take care.
natesh -
WIJ 20002 error on long running reports
When trying to run a long running report, an error message is received .
Quote:
*"The Web Intelligence Java Report Panel cannot connect to the server. Close
the report panel and try to connect again or see your BusinessObjects
administrator. (Error: WIJ 20002)"*
What happens next is you are advised to "close" (twice) and are then advised to close this window.
If you select Details on the first error message:
Server: https://test.i3access.iowa.gov:443/desktoplaunch/InfoView/CrystalEnterprise_Webi/cdzServlet?
java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 502 for URL: https://test.i3access.iowa.gov:443/desktoplaunch/InfoView/CrystalEnterprise_Webi/cdzServlet
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at com.businessobjects.wp.cpi.CPIConnection.postRequest(CPIConnection.java:437)
at com.businessobjects.wp.xml.XMLViaHttp.loadScript(XMLViaHttp.java:144)
at com.businessobjects.wp.xml.XMLViaHttp.getPromptList(XMLViaHttp.java:1284)
at com.businessobjects.wp.xml.XMLLoader.getPromptList(XMLLoader.java:279)
at com.businessobjects.wp.om.OMQuery.loadPromptsAndContexts(OMQuery.java:359)
at com.businessobjects.wp.om.OMQuery.getActiveContextCount(OMQuery.java:384)
at com.businessobjects.wp.tc.query.TCQueryPropertie.buildQueryContextFromUI(TCQueryPropertie.java:496)
at com.businessobjects.wp.tc.query.TCQueryTab.buildQueryContextFromUI(TCQueryTab.java:846)
at com.businessobjects.wp.tc.query.TCQueryTab.modifyQueryProperties(TCQueryTab.java:638)
at com.businessobjects.wp.tc.query.TCQueryTabManager.modifyQueryTabs(TCQueryTabManager.java:306)
at com.businessobjects.wp.tc.query.TCQueryPanel.modifyQueryTabs(TCQueryPanel.java:310)
at com.businessobjects.wp.tc.query.TCQueryPanel.load(TCQueryPanel.java:383)
at com.businessobjects.wp.tc.TCMainPanel.switchToQueryPanel(TCMainPanel.java:563)
at com.businessobjects.wp.tc.TCMainPanel.actionPerformed(TCMainPanel.java:506)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
at com.businessobjects.wp.cpi.CPIConnection.postRequest(CPIConnection.java:441)
at com.businessobjects.wp.xml.XMLViaHttp.loadScript(XMLViaHttp.java:144)
at com.businessobjects.wp.xml.XMLViaHttp.getPromptList(XMLViaHttp.java:1284)
at com.businessobjects.wp.xml.XMLLoader.getPromptList(XMLLoader.java:279)
at com.businessobjects.wp.om.OMQuery.loadPromptsAndContexts(OMQuery.java:359)
at com.businessobjects.wp.om.OMQuery.getActiveContextCount(OMQuery.java:384)
at com.businessobjects.wp.tc.query.TCQueryPropertie.buildQueryContextFromUI(TCQueryPropertie.java:496)
at com.businessobjects.wp.tc.query.TCQueryTab.buildQueryContextFromUI(TCQueryTab.java:846)
at com.businessobjects.wp.tc.query.TCQueryTab.modifyQueryProperties(TCQueryTab.java:638)
at com.businessobjects.wp.tc.query.TCQueryTabManager.modifyQueryTabs(TCQueryTabManager.java:306)
at com.businessobjects.wp.tc.query.TCQueryPanel.modifyQueryTabs(TCQueryPanel.java:310)
at com.businessobjects.wp.tc.query.TCQueryPanel.load(TCQueryPanel.java:383)
at com.businessobjects.wp.tc.TCMainPanel.switchToQueryPanel(TCMainPanel.java:563)
at com.businessobjects.wp.tc.TCMainPanel.actionPerformed(TCMainPanel.java:506)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at com.jidesoft.plaf.basic.BasicJideButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Please let me know what the solution is.Matt,
A namesake of yours is my client for this issue.
Coming to the problem, the customer says there is proxy configured between HTTP server and WebSphere. This proxy server times out for long running reports. If the HTTPServer is bypassed, things work fine.
A colleague of mine opened a case with BOBJ. I can get you the case# if you need it. We got this reply:
From: Takano, Hitomi
Sent: Tuesday, November 04, 2008 10:26 AM
Hi Matt,
I was away for the last two days, so I couldn't reply to you sooner.
Extending the timeout setting from Webi and Infoview in BOXI R2 will not
make the long running reports work as your proxy setting at the lower
layer than BOXI just allows 5 minutes and after that the connection will
be cancelled by the proxy. I'm not sure why this setting was effective
for https only or timeout out after 2 min. This is out of scope of BOXI
R2 and your network admin would be the best person to handle. You were
getting 502 error in Java Report Panel. I googled with "502 error and
ProxyTimeout", and I got the some articles returned which say when
backend doesn't answer on requests(because it timed out), it returns to
a client an error 502.
I'll close this thread as the n/w admin at the client are working things out.
Thanks for your support. -
Hi,
I am using CRM ONLINE 2013.
How to automate below process?
1. On Approval Of Quotation, Run Report.
2. Generate PDF.
3. Send an Email With PDF as attachment.
As i have gone through many forums for this topic, but creating a plugin code for generating Report PDF is not possible in CRM ONLINE.
So, What is the alternate way to do this..?
Thanks.This is my entire code mentioned below:-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
if (typeof (SDK) == "undefined")
{ SDK = { __namespace: true }; }
SDK.JScriptRESTDataOperations = {
_context: function () {
if (typeof GetGlobalContext != "undefined")
{ return GetGlobalContext(); }
else {
if (typeof Xrm != "undefined") {
return Xrm.Page.context;
else { return new Error("Context is not available."); }
_getServerUrl: function () {
var serverUrl = this._context().getServerUrl()
if (serverUrl.match(/\/$/)) {
serverUrl = serverUrl.substring(0, serverUrl.length - 1);
return serverUrl;
_ODataPath: function () {
return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
_errorHandler: function (req) {
return new Error("Error : " +
req.status + ": " +
req.statusText + ": " +
JSON.parse(req.responseText).error.message.value);
_dateReviver: function (key, value) {
var a;
if (typeof value === 'string') {
a = /Date\(([-+]?\d+)\)/.exec(value);
if (a) {
return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
return value;
Create: function (object, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 201) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send(JSON.stringify(object));
Retrieve: function (id, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 200) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
Update: function (id, object, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("X-HTTP-Method", "MERGE");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 204 || this.status == 1223) {
successCallback();
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send(JSON.stringify(object));
Delete: function (id, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("X-HTTP-Method", "DELETE");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 204 || this.status == 1223) {
successCallback();
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
if (filter != null) {
filter = "?" + filter;
else { filter = ""; }
var req = new XMLHttpRequest();
req.open("GET", this._ODataPath() + type + "Set" + filter, true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 200) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
__namespace: true
</script>
<script type="text/javascript">
//Create Email and link it with Order as Regarding field
var Xrm;
var email = new Object();
var ownerID = "";
var CustomerId = "";
if (window.opener) { Xrm = window.opener.Xrm; }
else if (window.parent) { Xrm = window.parent.Xrm; }
//Get ownerid who send email of quotation to customer
function GetOwnerID() {
var owner = Xrm.Page.getAttribute("ownerid").getValue();
ownerID = owner[0].id;
var ownerName = owner[0].name;
var entityType = owner[0].entityType;
GetToEmailGUID();
//Get customerid who receive email of quotation from owner
function GetToEmailGUID() {
var Customer = Xrm.Page.getAttribute('customerid').getValue();
CustomerId = Customer[0].id;
var CustomerName = Customer[0].name;
var entityType = Customer[0].entityType;
//if CustomerId is type of "Account" then get Primary Contact id of that account
if (entityType == "account") {
var contact = Xrm.Page.getAttribute("customerid").getValue();
if (contact === null) return;
var serverUrl = Xrm.Page.context.getClientUrl();
var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
var req = new XMLHttpRequest();
req.open("GET", oDataSelect, false);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
req.onreadystatechange = function () {
if (req.readyState === 4) {
if (req.status === 200) {
var retrieved = JSON.parse(req.responseText).d;
CustomerId = retrieved.PrimaryContactId.Id;
else {
alert(this.statusText);
req.send();
function CreateEmail() {
GetOwnerID();
email.Subject = "Email with Report Attachment";
//Set The current order as the Regarding object
email.RegardingObjectId = {
Id: Xrm.Page.data.entity.getId(), //Get the current entity Id , here OrderId
LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
//Create Email Activity
SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
// Email Call Back function
function EmailCallBack(result) {
email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
var activityPartyFrom = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyFrom.PartyId = {
Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
LogicalName: "contact"
// Set the "activity" of the ActivityParty
activityPartyFrom.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity).
activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
// Create the from ActivityParty for the email
SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
var activityPartyTo = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyTo.PartyId = {
Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
LogicalName: "systemuser"
// Set the "activity" of the ActivityParty
activityPartyTo.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity).
activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
// Create the from ActivityParty
SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
//ActivityParty From Callback
function ActivityPartyFromCallBack(result) {
//ActivityParty To Callback
function ActivityPartyToCallBack(result) {
GetReportId('ABM_Infotech_SalesQuote');
//Create attachment for the created email
function CreateEmailAttachment() {
//get reporting session and use the params to convert a report in PDF
var params = getReportingSession();
//Email attachment parameters
var activitymimeattachment = Object();
activitymimeattachment.ObjectId = Object();
activitymimeattachment.ObjectId.LogicalName = "email";
activitymimeattachment.ObjectId.Id = email.ActivityId;
activitymimeattachment.ObjectTypeCode = "email",
activitymimeattachment.Subject = "File Attachment";
activitymimeattachment.Body = encodePdf(params);
activitymimeattachment.FileName = "Report1.pdf";
activitymimeattachment.MimeType = "application/pdf";
//Attachment call
SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
//ActivityMimeAttachment CallBack function
function ActivityMimeAttachmentCallBack(result) {
var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
var width = "800px";
var height = "600px";
window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
// To open window which works in outlook and IE both
//openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width,
height, features);
//This method will get the reportId based on a report name that will be used in getReportingSession() function
function GetReportId(reportName) {
var oDataSetName = "ReportSet";
var columns = "ReportId";
var filter = "Name eq '" + reportName + "'";
retrieveMultiple(oDataSetName, columns, filter, onSuccess);
function retrieveMultiple(odataSetName, select, filter, successCallback) {
var serverUrl = Xrm.Page.context.getServerUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
if (select) {
odataUri += "$select=" + select + "&";
if (filter) {
odataUri += "$filter=" + filter;
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: odataUri,
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json");
success: function (data) {
if (successCallback) {
if (data && data.d && data.d.results) {
successCallback(data.d.results);
else if (data && data.d) {
successCallback(data.d);
else {
successCallback(data);
error: function (XmlHttpRequest, errorThrown) {
if (XmlHttpRequest && XmlHttpRequest.responseText) {
alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
function onSuccess(data) {
reportId = data[0].ReportId.replace('{', ").replace('}', ");
CreateEmailAttachment(); // Create Email Attachment
//Gets the report contents
function getReportingSession() {
var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
var retrieveEntityReq = new XMLHttpRequest();
var Id = Xrm.Page.data.entity.getId();
var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
quotationGUID = quotationGUID.replace('}', "");
var reportName = "ABM_Infotech_SalesQuote"; //set this to the report you are trying to download
var reportID = "751089AA-74B8-E211-B52F-D8D3855B253B"; //set this to the guid of the report you are trying to download
var rptPathString = ""; //set this to the CRMF_Filtered parameter
var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition
attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
retrieveEntityReq.open("POST", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName="
+
reportName + "&isScheduledReport=false&p:ABMFilteredQuote=" + strParameterXML;
//remove the part starting from &p:salesorderid if your report has no parameters
retrieveEntityReq.send(rptPathString);
var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
var ret = new Array();
ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
x = retrieveEntityReq.responseText.indexOf("ControlID=");
ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
return ret;
var bdy = new Array();
var bdyLen = 0;
function concat2Bdy(x) {
bdy[bdyLen] = x;
bdyLen++;
function encodePdf(params) {
bdy = new Array();
bdyLen = 0;
var retrieveEntityReq = new XMLHttpRequest();
var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
"&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
"&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
retrieveEntityReq.open("GET", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.send();
BinaryToArray(retrieveEntityReq.responseBody);
return encode64(bdy);
var StringMaker = function () {
this.parts = [];
this.length = 0;
this.append = function (s) {
this.parts.push(s);
this.length += s.length;
this.prepend = function (s) {
this.parts.unshift(s);
this.length += s.length;
this.toString = function () {
return this.parts.join('');
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(input) {
var output = new StringMaker();
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
while (i < input.length) {
chr1 = input[i++];
chr2 = input[i++];
chr3 = input[i++];
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
return output.toString();
</script>
<script type="text/vbscript">
Function BinaryToArray(Binary)
Dim i
ReDim byteArray(LenB(Binary))
For i = 1 To LenB(Binary)
byteArray(i-1) = AscB(MidB(Binary, i, 1))
concat2Bdy(AscB(MidB(Binary, i, 1)))
Next
BinaryToArray = byteArray
End Function
</script>
</head>
<body>
<input type="button" onclick="CreateEmail();" value="Attach Report" />
</body>
</html> -
Run Report from PL/SQL with branch to different page
I have an application in which, at various points, I run a PL/SQL procedure to perform an action, and then need to run a report while also navigating away from the current page. The actions are executed on a button click.
I have tried various method, but for the life of me cannot get the system to do both things (ie. run the report and branch to another page). I have tried putting in a branch to page 0 (to execute after processing on the button click), with a request line to print the report, followed by a branch to the other page (also to execute after processing on the button click) - and only the branch to page 0 actually executes. Also tried putting a branch to the other page only, with the print request in the Request parameter - but only runs the report, does not branch to the other page.
I have also tried to put the call to run the report into the PL/SQL code, using utl_http.start_request(url), but that came up with a "Bad Request" error. Also tried using the owa_util.redirect_url call, but also no luck.
I am pulling my hair out at the moment, mainly because I am under pressure to deliver the system in very short time.
Any suggestions would be appreciated.You can run Report queries from their URL ( f?p=&APP_ID.:0:&SESSION.:PRINT_REPORT=<REPORT NAME>)
So an approach would be to
On Button click, call a JS function that
<li>1. uses Ondemand/Callback process to do the workflow processing(check box selection records)
<li>2. opens the Report as a popup window(from your IR page)
<li>3. Redirect away from the IR page to another page?
Another approach:
<li>1. IR report submits the page
<li>2. In the PLSQL block you do the processing
<li>3. The branch redirects to a URL which would point to the Report URL.
OR
<li>3. Have an onload JS which runs only when the request was the BUTTON request and that opens up a page which points to the report.
Yet another way would be to use htp.p within the PLSQL block that does the workflow processing
So your PLSQL code would be
BEGIN
--Do the workflow processing here
--End workflow processing
htp.p('<script>');
htp.p(' window.open("f?p=&APP_ID.:0:&SESSION.:PRINT_REPORT=<REPORT NAME>"'); --opens up the PDF report
htp.p(' window.location.href= "f?p=&APP_ID.:<page number>:&SESSION."'); --to redirect to new page
htp.p('</script>');
END; -
Hi All,
We currently have users running a large number of reports on an AIX unix server and was struggling for a long while with memory usage when using rwclient.sh... During peak hours we would be getting approx. 100 requests every 5 minutes.
We have recently switch to call rwservlet to execute our reports, which has seems to resolve the memory issue. Since our reports are called through a Unix script, we have configured it to use wget to call the URL and run the reports.
However, we are now getting errors when executing reports in the dead of night... when no users are on and there are no other requests for reports except from our batches. Looking at the log files wget returns (which is the actual web page), it's usually empty which leads me to think that it is related to a "500 Internal Server Error". It doesn't make sense as neither the report server or the application server is shutdown during the night. Also, these are not long running reports, and sometimes the fail in quick successions. The rwserver.log doesn't report the failure either, which could possibly mean that the request never got to the report server.
I have searched every where but cannot seem to find anything that could help our situation.
We are currently running OAS 9.0.4, and have configured to run 8 report engines.
Can anyone suggest what we can do?
Here's a typical line of what the request would look like
wget -q "http://<server>:<port>/reports/rwservlet?SERVER=prod+authid=<authid>+userid=<userid>+report=<report_name>.rdf+DESTYPE=PRINTER+DESNAME=printerX+COPIES=1+<report_params>" -O -
Thanks in advanceHi
first of all enable tracing for report server by uncommenting the TRACE tag in report server configuration file found in OH/reports/conf.
As your batch program is sending reprots to printer so make sure that in OH/reports/cache there is any output created or not during that period.
Before sending to prrinter a copy will be saved in cache folder.
The errors reported in server trace can guide for further progress.
Thanks
Subodh -
Running reports from forms on the web
On forms and reports 6i we used the following code to run reports from forms.
We need to do the same on 9i forms and reports, we are running into problems.
Any help will be appreciated.
PROCEDURE web (inFileName VARCHAR2,
inRecordGroup RECORDGROUP) IS
outVirtualPath VARCHAR2(200) := '/forms90/f90servlet?p_url=/reports/rwservlet?'; outServer VARCHAR2(200) := 'server=rep_ora-app-4';
outReport VARCHAR2(200) := 'report='||inFileName;
outUserid VARCHAR2(200) :=
'userid='||GET_APPLICATION_PROPERTY(USERNAME)||'/'||GET_APPLICATION_PROPERTY(PAS
SWORD)||'@'||GET_APPLICATION_PROPERTY(CONNECT_STRING);
outDesType VARCHAR2(200) := 'DESTYPE=CACHE';
outDesFormat VARCHAR2(200) := 'DESFORMAT=PDF'; outUser VARCHAR2(2000);
outCount INTEGER;
error we are getting.
FRM-42017:Module name must be specified.S Hatch (guest) wrote:
: I'm thinking that you're going to have to install the Reports
: cartridge, create an entry in the keymap with any parameters
and
: call your report via the url.
: Dessislava Gantcheva (guest) wrote:
: : How do I call a report from a form on the web?
: : I have installed Windows NT Server 4.0 with SP 5, OAS4.0.7
EE
: : with patch 1, Developer 6.0 with patch 1. Developer server
and
: : forms server work fine in a non-cartridge implementation,
but
: I
: : cannot run a report within a form. I just have no any info
how
: : to do this.
I have entries in my keymap file and I can call my reports via
the url, but I cannot run a report WITHIN a form. I mean to call
a report by clicking on a button of a form on the web. The
RUN_PRODUCT built-in does not work (at leas it seems like this)
If any one has expiriense with it, please, give me a hint.
Thanks
null -
Error Running Reports as Portlet in Oracle AS 10g
#First, I create the report server using Reports Server Access Portlet (Administration> Oracle Reports Security Setting)
When defining the Server Name and Printers, I fill the fields like this:
Display Name : MY_REPORTS_SERVER
Reports Server Name : myserver
Oracle Reports Web Gateway URL for JSP reports : http://stts:7778/
Oracle Reports Web Gateway URL for RDF reports : http://stts:7778/reports/rwservlet
#Second, I create the report definition using Reports Definition File Access portlet
Display Name : myreport
Reports Servers : MY_REPORTS_SERVER
Oracle Reports File Name : test.rdf (default report sample)
Execute : via servlet
#The problem is.....
When I tried to run the report by clicking Run / Run as Portlet link, the report doesn't show up.
Then, I rightclick-View Page Source on the page
<iframe name="iFramePortlet"
src="http://sttsstts/reports/rwservlet?report=test.rdf&server=myserver&destype=Cach....
I found that the src tag is doubling my computername into sttsstts, it supposed to be stts only.
How come this happen???
I already tried to change server definition into
Oracle Reports Web Gateway URL for JSP reports : http://localhost/
Oracle Reports Web Gateway URL for RDF reports : http://localhost/reports/rwservlet
but the when tried to run the report again, the src still added by computername become:
src="http://localhoststts/reports/rwservlet?report=test.rdf&server=myserver&destype=Cach............
plaease help me...
Thanx before,
ChrisHi,
I found two Metalink Notes that could of use to you :-
Metalink Note:230544.1 :- How To Install And Configure OSA AS Portlets (Main Document)
Metalink Note:247595.1 :- Installing AS Portlets 1.0 with OFA or OSA Version 6.4
Regards,
Sandeep -
Running reports on web browser
We here in HCL Technologies are in the process of deploying Dev
2000 applications on Oracle Web Application Server 3.0 installed
on Window NT 4.0 Server.
I have couple of problems which i am reporting to you & i would
like to seek solution for the same.
1. I am able to create/configure report cartidge and to run
simple reports giving output file of size 20kb. The report is
running & getting displayed on the web browser.
But, if the report output is somewhere in the range of 500 or
more KB, than it is observed that full report output file is
generated in the cache directory, but it is not displayed on the
screen, instead a error "Internal error Try Again " is displayed.
Here are some specifications which might help you resolve this
problem
(A) We are using destype=cache, desformat=html
(B) Our NT Server is having a memory (RAM) of 96 MB.
2. Before running the report we want to display the parameter
form for our report, so that the user can input the required
variable parameters. But, instead it is allowing to pass the
parameters through our URL, which is not desirable.
Please, help us in resolving these problems at the earliest.
Awaiting your response.
Regards,
Navneet
nullNavneet,
I can't help with problem 1, but I cna help with problem 2. If
you are using html files with links to the reports, you can use
the form tag to create the equivalent of the parameter form.
Example:
<form action="http://mot.com/r30ows">
Select the Vendor for which you would like to see contacts for
<input type="hidden" name="server" value="repserver">
<input type="hidden" name="report" value="contact">
<input type="hidden" name="userid" value="">
<input type="hidden" name="destype" value="cache">
<input type="hidden" name="desformat" value="html">
<select name="v_id">
<option value="1">Computer Discount Warehouse</option>
<option value="2">Micro Warehouse</option>
<option value="3">CompUSA</option>
<option value="4">Oracle Corp.</option>
</select>
<input type="submit" value="Run Report">
</form>
V_id in this example is a user defined parameter.
Hope this has helped you.
Eric Laabs
Navneet (guest) wrote:
: We here in HCL Technologies are in the process of deploying Dev
: 2000 applications on Oracle Web Application Server 3.0
installed
: on Window NT 4.0 Server.
: I have couple of problems which i am reporting to you & i would
: like to seek solution for the same.
: 1. I am able to create/configure report cartidge and to run
: simple reports giving output file of size 20kb. The report is
: running & getting displayed on the web browser.
: But, if the report output is somewhere in the range of 500 or
: more KB, than it is observed that full report output file is
: generated in the cache directory, but it is not displayed on
the
: screen, instead a error "Internal error Try Again " is
displayed.
: Here are some specifications which might help you resolve this
: problem
: (A) We are using destype=cache, desformat=html
: (B) Our NT Server is having a memory (RAM) of 96 MB.
: 2. Before running the report we want to display the parameter
: form for our report, so that the user can input the required
: variable parameters. But, instead it is allowing to pass the
: parameters through our URL, which is not desirable.
: Please, help us in resolving these problems at the earliest.
: Awaiting your response.
: Regards,
: Navneet
null -
Timeout error while running Report
Hi
All,
Windows 2000
Oracle Report builder 10g
Oracle developer suite 10g
when I had OLD computer i was able to run report more than 10 minutes. Now, I got NEW computer and i am getting TIMEOUT error while running report more than 10 minutes.
Any clue?
Thanks,
VishalAs Fs says it depends on how you're running the report.
If you're running via a server then you need to make the change on that server or amend the URL you are using to run the report to add the enginereponsetimeout parameter.
You can amend this parameter on the server either by using the Application Server Control as I described in my last post or by directly editing the config file. This file will be called <reportservername>.conf and can be found in the oracle_home/reports/conf directory.
In this file look for the engine tag and see if the engineResponseTimeOut property is set.
E.g:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1" maxEngine="4" minEngine="1" engLife="50" maxIdle="20" callbackTimeOut="90000" engineResponseTimeOut="5">
</engine>
This value is in minutes so increase to a time larger than that it takes to run the report.
If instead you're running the report via Report Builder on your own PC then look for a file called rwbuilder.conf in the same location on your PC and make the same change as described above.
If this property isn't in the file then the engine isn't supposed to time out at all so the problem may well be something different. But to discount it try setting to a large value like 30. -
Running Reports with WEB.SHOW_DOCUMENT versus RUN_REPORT_OBJECT
Where I work I work alone on developing and delivering Oracle applications. I've found a way of running reports in 10g over the web using WEB.SHOW_DOCUMENT, I've embedded my own security in the BEFORE PARAMETER FORM trigger of the reports.
I don't have time to trawl through thousands of pages of documentation and I need to know whether there is a fundamental drawback of using WEB.SHOW_DOCUMENT over RUN_REPORT_OBJECT? I've got everything working OK in my test environment, but it's not clear reading the Oracle documentation whether there is a major drawback with this method, in particular I'm interested in any performance/load issues. I'm slightly worried because most people seem to use RUN_REPORT_OBJECT (which has all sorts of issues, such as parameter form incompatibility etc), I've found that WEB.SHOW_DOCUMENT is much easier to implement as it avoid the parameter form issue, displaying the user credentials in the source html and being able to type in any jobid in a url to receive other peoples reports.
I've read as much as I can including the Forms and Reports integration document and the Usability Matrix and can't find anything obvious. I would be very grateful for any comments.Good call .... I included some of the code from your linked document to create a forms library from which to run reports. This uses the inate ability of reports to generate HTML parameter forms at runtime. Very handy. Most of our reports that we upgaded recently took little or no effort.
Bradley
Maybe you are looking for
-
I just connected my iPhone 4S to iTunes and clicked "update". It downloaded the update (took about 10 minutes), and then reports: "The iPhone could not be updated. This device isn't eligible for the requested build." I thought the iPhone 4S was th
-
Disabling a digital signature in LiveCycle
I have a form that have a yes / no question with checkboxes. In some cases there should be multiple digital signatures, in others only 1. I want the digital signature line to be disabled if the "No" checkbox is selected. I would also like the spac
-
The iOS 8.0.2 has been downloading for an hour on my iPad, is that normal?
The iOS 8.0.2 has been downloading for an hour on my iPad, is that normal?
-
Xfinity TV not working on computer
had to have major clean-up done on computer yesterday and now, I cannot get TV shows to play on my computer. Any ideas?
-
Charges through computer and iPod Touch?
So here's the situation. My wife has an iPod Touch (and so did I till Friday), which uses our iTunes account. We do not sync her iPod often at all, but when we do, it is to my macbook, so we use the same account for apps, music, etc. She bought an al