Ability to run Reports on Media Download items... (Enhancement Request)

I would like to suggest that ABC consider enhancing the Reports section to allow users to run reports on the Media Download items.  I have a client that is interested in tracking their download activity of whitepapers and brochures off their website, and while you can go to each of the individual items and see the activity in a graph, this is limiting in a number of ways.
Activity is not able to be pulled into their own reporting system and they have to manually re-enter the numbers based on day, month, etc... to get the information. We should be able to export the information and have it pulled down via CSV like other statistics on the site.
It's cumbersome and time consuming to have to go to each individual item and look at the "Activity" one at a time. If this were added to the Reports section, users could go in and review the Media Downloads (in total) to see how many times information is being pulled off their site, but then use the sort/selection options to quickly jump to each of the individual Media Download items. As with #1, it would also be advisable to have this data exportable into a CSV file so that it can be used in Excel, then sorted that way.
It would also be good to add the Media Downloads as an option to the Custom Reports area, so that a client could save certain search options to pull specific sets Media Download items to see what's being downloaded from their site.
Hopefully this can get some traction in the ABC community, or if someone out there is aware of how to do this otherways, please let me know. I did chat with SBC support via Chat and they indicated that what I wanted to do was not possible at this time.
Thanks,
Eric

Eric-  While you are waiting for this feature to be added to reporting-- have you tried using Google Analytics Event Tracking to track the downloads?  You'll get an accurate representation of downloads if you hook that up.
For more information on Event Tracking see: https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide
You might, for instance, make sure all your Media Download links have a class of "media-download" and using javascript can track a "Download" event when those links are clicked.

Similar Messages

  • Uploaded file (via front-end) created as a Media Download item (Literature Item)?

    Is it possible to have an uploaded file (via a form or webapp edit form on the site front-end) to be stored/created as a Media Download item (Literature Item)? Or alternatively, is it possible to secure a file that has been uploaded on the front-end (by 'secure' I mean cannot be access outside of a secure zone)?
    My aim is to have customers upload files into their secure zone and maintain that security on the uploaded file so other cannot access them. I can't see that this will be possible but hopefully someone might have some creative ideas to get around it.

    Hi Adam,
    This can be implemented via web apps, please go through the web app tutorials here to know more about them - User manual
    You can set up a secure web app to take the submissions from the users and include file upload in that submission. Those submissions are visible to only the user who submits it, unless, you enable the option where every one can see/edit it.
    Note: Via the web apps, the files that are uploaded, they go into a folder with a random name which is directly accessible on the internet, even though, on the site, through the web app items, only the logged in users can see it. By this I mean that anyone who has the direct link to the file will be able to access it and it can also be indexed by search engines. So, when it comes to using the work around of web apps to implement this function on your site, make sure to take measure to block Google bots from indexing the files.
    Check this article to know more on how the GoogleBot works - Googlebot - Webmaster Tools Help
    Regards,
    Abhishek Maurya

  • Feature Request - Ability to organize content holder, media downloads, etc

    Are there any plans to add a feature to BC to allow admins/users to organize things like content holders, media downloads, news, etc? We would really like the ability to be able to tag these items (or something) and then search for these items in admin by using search and/or by checking tags to filter down the options. Some of our sites have accumulated a lot of these items over time and it gets a little difficult to find them as the list grows. Thanks!

    Eric-  While you are waiting for this feature to be added to reporting-- have you tried using Google Analytics Event Tracking to track the downloads?  You'll get an accurate representation of downloads if you hook that up.
    For more information on Event Tracking see: https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide
    You might, for instance, make sure all your Media Download links have a class of "media-download" and using javascript can track a "Download" event when those links are clicked.

  • Disappearing downloaded items

    I recently suffered a major drive crash. I sent Apple a message regarding recovering some of my downloaded items (specifically a season of a TV Show). It downloaded, but now I can't find it at all. It is not in its folder, and iTunes doesn't know where it is (the exclamation point comes up next to all the episodes). Now, I can't re-re-download it from iTunes because Apple restricts reporting problems/recovering downloaded items to one time.

    Did you do a search of your HD using Spotlight?
    MJ

  • File download dialog box -running report

    I am calling one report from my Oracle 9i Developer Suite Application. When i call one report using 'delimited' format, the run runs okay opening in a new Internet Explorer(IE) instance. But, when i call another report, the File download dialog box -running report opens which asks whether u want to open the file or save it in your computer. I hope, my doubt is clear.Please help me in this as it is very urgent.
    Regards.

    This is a duplicate post. Please followup on your previous posting.
    What is the URL you specify?

  • Run Report and download

    I am using 9IDS
    My requirement is
    1) To run report in character mode from form
    2) then download that file to user end.
    will somebody help me to solve this problem
    pls suggest me coding
    thanks in advance

    i am getting error
    unable to runreport
    my codes are
              f_name :='C:\file\file1.txt';
    --if upper(vc_runformat)<>'TXT' then
         rep_id:=find_report_object('SAL_REG_DEPT');               
         set_report_object_property(rep_id,REPORT_EXECUTION_MODE,BATCH);
         set_report_object_property(rep_id,REPORT_COMM_MODE,SYNCHRONOUS);
         set_report_object_property(rep_id,REPORT_DESTYPE,FILE);
         set_report_object_property(rep_id,REPORT_DESNAME,f_name);               
         set_report_object_property(rep_id,REPORT_DESFORMAT,vc_runformat);
    --set_report_object_property(rep_id,REPORT_MODE,'dflt');     
         set_report_object_property(rep_id,REPORT_SERVER,vc_reportserver);
         set_report_object_property(rep_id,REPORT_OTHER,'comp_code="'||:global.vc_comp_code||'" catg="'||catg||'" dept="'||dept||'" emp_code="'||emp||'" locat="'||:list_loc||'" month="'||mth||'" year="'||yr||'" note="'||note||'" note1="'||note1||'" Paramform=no');     
    vc_reportserverjob:=RUN_Report_Object(rep_id);
    vjob_id:=substr(vc_reportserverjob,length(vc_reportserver)+2,length(vc_reportserverjob));
    vc_rep_status :=REPORT_OBJECT_STATUS(vc_reportserverjob);
    when i have seen from reportserver trace file
    found this error
    [2005/5/9 10:39:5] Info 50132 (JobObject:reset): Get command line: REPORT=C:\Makess\Hrpay\Reports\sal_reg_dept.rdf USERID=HRPAY BATCH=YES DESTYPE=file DESNAME=C:\file\file1.txt DESFORMAT=TEXT comp_code="01" catg="C001" dept="" emp_code="" locat="D001" month="05" year="2005" note="" note1="" Paramform=no AUTHID=ANONYMOUS
    [2005/5/9 10:39:5] Debug 50103 (JobManager:findDuplicatedJob): Found no duplicated job for job 686
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Reserved
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Running
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Idle
    [2005/5/9 10:39:5] Debug 50103 (JobManager:runJobInEngine): Send job 686 to engine rwEng-0
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Running
    [2005/5/9 10:39:5] State 56016 (JobManager:updateJobStatus): Job 686 status is: Terminated with error:
    REP-1804: Unable to open printer definition file 'C:\Makess\Hrpay\Reports\sal_reg_dept.rdf'.
    [2005/5/9 10:39:5] Debug 50103 (JobManager:updateJobStatus): Notify master job 686
    [2005/5/9 10:39:5] State 56004 (EngineInfo:setState): Engine rwEng-0 state is: Ready
    [2005/5/9 10:39:5] Exception 1804 (): Unable to open printer definition file 'C:\Makess\Hrpay\Reports\sal_reg_dept.rdf'.
    exception oracle.reports.RWException {
    oracle.reports.RWError[] errorChain={struct oracle.reports.RWError {
    int errorCode=1804,
    java.lang.String errorString="Unable to open printer definition file 'C:\Makess\Hrpay\Reports\sal_reg_dept.rdf'.
    java.lang.String moduleName="REP"
    pls state me why it is asking printer and where to pass

  • Download items from Safari's Activity window DEAD OS X.7 Lion

    Downloading items from Safari's (5.1) Activity window DEAD- Mac OS X.7 Lion
    Aargghhh this was brilliant before for grabbing stuff and not working now,
    all i get is a massive amount of text showing up and no download anymore.
    Yup you can download an earlier version (5.0.6) but Lion will not swallow it
    tried pacifist to open the old package but even that fails.
    thought i could find it inside and run it.
    so....
    what now?
    is there a way round this?
    a third party plug in!
    something?
    anyone got any idea how to sort this out?
    so i can grab filmclips pictures etc...
    just like before.

    I thought I was the only person who was grieving the loss of this feature. I used it mostly for downloading PDFs as preview handles them so much better than shoddy propriety viewers, or even the "preview in safari" mode. During my degree it was invaluable to me as it also let me save these files into folders and keep them for referencing later.
    To further exlpain; it was one of the features which set Safari out from the rest. The activity window shows all the different elements of the website which are either being loaded or which have been downloaded. It will show elements of javascript, images, music, PDFs etc embedded in the page including videos and the like.
    Within that activity window, you can also see (and copy!) the DIRECT LINK address of each element of the page. ie: Where the actual media files are being hosted, downloaded or streamed from. Certain sites disable this feature for protected works, as they are entitled to do so, but the vast majority allow it.
    When we had a separate downloads window, instead of this overlay box in the Lion safari, it enabled the end user to copy the DIRECT LINK in the activity window using Ctrl + C and do the following:
    1) Either paste it into the address bar to watch/ listen to the media free from the other elements of the page which waste memory/ get in the way
    2) Paste it into the "Downloads" window (Using Ctrl + V) which would instantly start downloading the file, as if you had clicked a "Download file ABC Now" link on a web page.
    With the loss of the download window, only option 1 is available. This means that only images and certain formats of video/ audio will be viewable off the website in question ie: ones that quicktime can play. And the current version of quicktime embedded within safari doesn't give you the option to "Download a copy" or "Save as" like older versions used to.
    This may necessitate a revisiting of Firefox, which has a "Media browser" function.
    I wonder if there is perhaps a bookmarklet out there which forces a download of whatever is dragged onto it. Any ideas?

  • FRM-92101 error while running report from a button or menu

    Hi All,
    I am getting the error FRM-92101 while running report without parameter from a button or menu. I am using Developer Suit 10g. I get the error as it shows there has some configuration problem in my form. Will you please help me anyone how can i solve the problem. My previous forms running very well both with parameter and without parameter.
    Arif

    Hello Sir,
    Thanks for your cooperation. I have solved my problem by myself. The fact was that, when i tried with the following code which made my report---
    SELECT br.bid, br.bname, br.branchtxnstatus, dif.difference
    FROM branch br,
    (SELECT gladbrid branchid,
    SUM
    (CASE
    WHEN ga.gl_acc_categry IN ('L', 'I')
    THEN gd.gladbalance
    ELSE -1 * gd.gladbalance
    END
    ) AS difference
    FROM glaccount ga, glaccountdetail gd
    WHERE ga.glid = gd.gladglid
    GROUP BY gladbrid) dif
    WHERE dif.branchid = br.bid AND br.branchtxnstatus = :Br_Status
    and dif.difference!=0
    ORDER BY br.bid;
    and the code against the button or menu item is---
    DECLARE
    repid REPORT_OBJECT;
    v_rep VARCHAR2(100);
    rep_status VARCHAR2(20);
    BEGIN
    repid := FIND_REPORT_OBJECT('ASSET');
    v_rep := RUN_REPORT_OBJECT(repid);
    rep_status := REPORT_OBJECT_STATUS(v_rep);
    WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
    LOOP
    rep_status := report_object_status(v_rep);
    END LOOP;
    IF rep_status = 'FINISHED' THEN
    /*Display report in the browser*/
    WEB.SHOW_DOCUMENT('http://192.168.0.21:8889/reports/rwservlet/getjobid'||
    substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver90','_blank');
    ELSE
    message('Error when running report');
    END IF;
    Clear_message;
    END;
    Clear_message;
    which has shown the error FRM-92101 and didn't run the report.
    In that case I have changed the query to run the report. first of all i create a view following the query and build the report using a simple select query. that's etc. my report running fine now.
    It is mentioned that there had no error on my codes.
    Arif

  • CRM ONLINE 2013: On Approval Of Quotation, Run Report, Generate PDF and Send an Email With PDF as attachment

    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>

  • Running reports in Portal- URL vs RDF

    I've got a content area in portal 3.0.8 which contains two items-- a URL link to my report, and an Application Component which is the same report registered in portal as an RDF. The report runs fine with the URL link, but hangs when I try to run the RDF component.
    My URL link is defined as follows: http://greap004:7777/dev60cgi/rwcgi60?server=reportserver+report=reportname.rdf+destype=cache+desformat=htmlcss+userid=username/password@DBname+paramform=yes
    However, the registered RDF does not prompt for a DB login or bring up the parameter form. It just hangs for about 5 minutes and then returns the following error:
    Error: The requested URL was not found, or cannot be served at this time. Oracle Reports CGI - Report Job was cancelled upon user request.
    I want to be able to register reports as RDF's rather than using URL links.

    hello,
    you should take a look at our whitepapers in the Internet Deployment and Security section of our product area http://otn.oracle.com/products/reports
    there you find a walkthrough of the configuration for running registered reports in portal.
    regards,
    the oracle reports team

  • Problem running report with BI Publisher and Web Service

    Hello,
    I actually try to run a Bi Publisher report via the Web Service.
    I use the following documents:
    - http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/e10416/bip_webservice_101331.htm
    - "How to integrate Oracle BI Publisher via Web Services in Oracke Forms"
    Everything works fine. But when I try to copy it on local computer the file is 0 length. I use the "getReportBytes" method.
    Here is the code I tried with:
    String userName = “Administrator”;
    String passWord = “Administrator”;
    System.out.println(”calling ” + myPort.getEndpoint());
    System.out.println(myPort.validateLogin(userName,passWord));
    ReportRequest repReq = new ReportRequest();
    ReportResponse repRes = new ReportResponse();
    repReq.setAttributeFormat(”pdf”);
    repReq.setAttributeLocale(”en-US”);
    repReq.setAttributeTemplate(”World Sales”);
    repReq.setReportAbsolutePath(”/Sales Manager/World Sales/World Sales.xdo”);
    repRes = myPort.runReport(repReq,userName,passWord);
    System.out.println(repRes.getReportContentType());
    byte[] binaryBytes = repRes.getReportBytes();
    OutputStream out = new FileOutputStream(”D:
    out.pdf”);
    out.write(binaryBytes);
    out.close();
    System.out.println(”Success for Run Report”);
    Thanks in advance.

    Hi,
    I assume that you use 10.1.3.4. If not, my hint is not relevant for you ....
    There's a new parameter in the web service API to set the Chunk-Size. Unfortunaltely is the default value not so, that the behaviour is like in older releases (no chunk-size ... the whole document at once). If you set the chunk size to -1, you should get your document. So try to add
    repRequest.setSizeOfDataChunkDownload(-1);
    regards
    Rainer

  • Run report cause "The page cannot be displayed"  OR The connection with the

    Hello,
    1. Database oracle 10g R2 on windows 2003 server enterprise edition with SP2
    2. Application Server Oracle 10g R2 on Windows 2003 Server with SP2.
    Problem explanation
    one of our branch which is connected via leased line is unable to run some of the reports if the report have a little more
    data,
    one report i tried its size is almost 900k ( they are using the same line since last three month and they are
    able to run all reports before, bandwidth is 128k), if you run report browser search a little while
    for output then displayed "The page cannot be displayed" if you look at the report log it's finished successfully.
    I try to download the report rather opening in browser it reach to end of in downloading window at the end it display
    this message
    Internet explorer can not download getjobidxxx.xls from oracleaps.domain.com
    The connection with the server was reset.
    I want to mention one more thing there is a ISA server and firewall in between client and Server but its the same condition
    for
    head office client but they are able to run all report with out any error.
    any one have idea??
    Thanks and Regards,
    Khawar

    Hello,
    Thanks for reply, I have posted Service Request to Oracle Metalink and finally resolve the issue, they suggested me the following solution( a note has also been posted in Knowledge Base no. 871016.1 )
    Webcache KeepAlive timeout is reached. (The default value for KeepAlive timeout is 5 seconds)
    Increase the Keepalive time in webcache to a higher value
    **************EOF******************
    Thanks and Regards,
    Khawar

  • I cannot find a link to authorize my PC (running Windows 7) to download my ITunes purchases.

    I cannot seem to find the link to authorize my computer, which is running Windows 7, to download my previous ITunes purchases. The process is supposed to be opening teh Store link and clicking on "Authorize My Computer", but I can't find a link that says Authorize My Computer. Can anybody help me with this?

    Hello Mikevande,
    It osnds like you are unable to find the Store menu bar item to authorize your computer. By default the menu bar is hidden in iTunes. This article outlines how to make it show so you can sign in and authorize the computer:
    iTunes: Turning on iTunes menus in Windows 8 and 7
    http://support.apple.com/kb/HT5610
    To turn on iTunes menus in Windows 8 or 7, do one of the following:
    Press the Alt key.
    This will turn the menus on and off temporarily. This will change back to the default, the iTunes menus being turned off, when you next close iTunes.
    Or
    To keep the iTunes menus active, change the setting by selecting the Menu icon in the upper-left, and then selecting Show Menu Bar. Alternatively, you can press Control-B.
    Thank you for using Apple Support Communities.
    Cheers,
    Sterling

  • Report: passing values to item page

    on Apex 3.2
    Hi,
    I need help.
    Does anyone knows a way to pass values from a report to a page item?
    This is what i want: when i run a report i want to fill a page item with the value from an item report.
    Thanks,

    Hi Austin,
    Thank you for your reply.
    I've writen a query that gives me the accounting movements.
    In this query the user can pass the rownum because there are about 1million records in the partitioned table.
    But the diference between credit and debit must considered all the movements that are not closed.
    I'm using analitics functions to do that, so for each line the value is already calculated.
    With one report region: If i group and break the report it takes about 13 seconds to display the information.
    If two report regions: One for the movements other for the "Debit: Credit: and Total:". It takes about 6 seconds to display the info.
    Its more fast, but i have to run the query twice. The idea is to run only once.
    The values that i want to pass from report to page items, Debit: Credit: and Total:.
    Is there a way?
    Thanks,

  • 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

  • Not able to get the sound from my tv to come through my surround sound speakers

    I have a new Samsung 46" tv and a new yamaha receiver also a new Samsung blu-ray player.  I currently have an HDMI cable going from my tv to my receiver and a short HDMI cable going to my Blu-ray player and the old style red and white rca cables from

  • Schedule line

    Hi All, While writing an ABAP report which requires to identify the OPEN SALES ORDER SCHEDULE LINES. The requirement is to identify the Open Sales Order Schedule Lines for a particular month (user Processing month in the selection screen). Here the S

  • How to tell if RH working or hung up

    Quick facts: have RoboHelp 7, single CPU with ½-GB RAM, created Primo PDF from Word, no problemo, then graphic artist created .pdf with Mac InDesign and EPS graphics, tired to import into new RoboHelp project, tried converting graphics into JPG, GIF

  • Where is the profiles in Acrobat 9

    When I try to do a preflight on Acrobat 9, I cannot find the standard profiles that should be loaded with Acrobat. Path Example: Advance:Preflight:Profiles then blank dialog box where the profiles should be. Questions: 1. What happened?  It shows up

  • Security Preference Pane Not Allowing Changes(reverts back to old settings)

    I do not want my computer to "Log out after 120 minutes of inactivity" so I uncheck the box next to it. After a few minutes the box is rechecked. Even if I lock the pane. If I uncheck it again, close the pane, reopen the pane, it is rechecked. I have