Connection to MS CRM Online?

is it possible to connect to microsoft dynamics crm online so I can create crystal reports out of there? Thanks!
Denny

Hello Denny,
Please follow this information...
Microsoft's dynamics CRM online supports the CRM fetch protocol (XML based)
If we are to use Crystal Reports, we need support for this connector to be built into Crystal Reports.
This is the response from SAP support to this request:
"We do not have standard support for this proprietary connection type, BUT it looks like it can be quite straightforward to create a web service based on the fetch method and this can in turn be fed into Crystal Reports with its ability to consume XML and web services.
I suggest you post the request for support for Dynamics Online and the CRM Fetch connection type on our Idea Place at cw.sdn.sap.com/cw/community/ideas. We already have such support for salesforce.com; so, it has been done before and there seems to be a need in the market for support for Dynamics Online as well."
Look into this:  Is it possible to create crystal reports in mscrm 2011
Thanks,
DJ

Similar Messages

  • Connecting soap logger to dynamics crm online 2013

    using soap logger to connect to dynamics crm online its getting error.how to connect with soap logger and get that soap request and responses from using C#.
    This is my error pic.
    hsk srinivas

    i specified yes as well before. its throwing me error like this below is the screen shot.
    hsk srinivas
    Seems that you have to install
    Identity Foundation.
    Dynamics CRM MVP/ Technical Evangelist at
    SlickData LLC
    My blog

  • Not able to connect CRM Online to PowerBI

    Not able to connect CRM Online to PowerBI, Please let me know if you have an idea to resolve this issue.
    oops, something went wrong
    Failed to update model parameters
    Activity Id59a2a854-8e34-6636-0679-3d2e245d2241
    Request Id9b7fa606-324e-4ec8-495f-13f91d03bc54
    Error Code400
    TimeWed Mar 18 2015 21:24:18 GMT-0400 (Eastern Daylight Time)
    Version11.0.9165.945
    Cluster URIhttps://wabi-south-east-asia-redirect.analysis.windows.net

    Hi Kiran
    Please chcek the Note 1359600-MDM stopped communicating after upgrading to 7.1.03 from SAP NOTES.
    https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1359600
    SAP Note Description:
    Summary
    Symptom
    MDM components stopped communicating after upgrading to 7.1.03
    Other terms
    TCP ports, Firewall, connection, network, SP03, SP3, 7.1
    Reason and Prerequisites
    Starting from version 7.1.03 the MDM suite is using different TCP ports for its operations. The change was in order to be compliant with the Internet Authority for Numbering Assignment. Port numbers changed as follows:
    Application Old Port # New Port #
    MDS 20005 59950
    MDLS 20008 59650
    MDIS 20009 59750
    MDSS 20010 59850
    If firewalls were configured to allow MDM's communication throughout the landscape, they actually might prevent (depending on their rules table) the communication after an upgrade to MDM suite starting at version 7.1.03 and higher.
    Solution
    Revise the firewall rules such that they will allow the communication according to the changes described above.
    In order to check that the ports are allowed to pass trough the firewall a telnet test could be done like so:
    1) Open a terminal window (on UNIX) or a command window (on Windows) on the same machine which hosts the application which tries to connect, and issue the following command:
    telnet <MDM server host name or IP address> <TCP port to test>
    2) If no error response is received than it means that the TCP port is allowed to go trough.
    3) Repeat steps 1,2 for all the other ports need by the application.
    Thanks
    Sowseel
    Edited by: sowseel pasumarthi on Jan 18, 2011 6:36 AM

  • Communicate (CRUD) with CRM Online from SharePoint Online

    Hi,
    I'm working on an offer to a client where I'm considering if I'll recommend SharePoint Online.
    Most of the requirements from the client are out of the box SharePoint and doesn't affect the decision to go for SharePoint Online. However, the client has one requirement, which is that they need to be able to update Entities/records in their CRM Online
    solution from SharePoint. I'm not sure how those updates should be triggered, but my guess is it should be triggered when an item in a list/document library changes it's status (a status field). This would probably require custom development of some sort (Event
    Receiver? Workflow?) which uses the CRM web services.
    Is this even possible in SP Online?
    I've done a lot of searching for this in Google, but haven't found anything interesting yet. I come across solutions for integration the other way though (FROM CRM to SharePoint), but I need integration with CRM FROM SharePoint.
    Thanks!

    Hi,
    According to your post, my understanding is that you want to communicate SharePoint Online and CRM Online.
    We can use the Business Connectivity Services (BCS) to communicate SharePoint Online (SPO) to CRM Online.
    The following blog for your reference:
    http://blogs.msdn.com/b/girishr/archive/2013/05/13/connecting-sharepoint-online-and-crm-online-using-bcs-2013-edition.aspx
    Best Regards
    Dennis Guo
    TechNet Community Support

  • Migrating from CRM 2011 on-premises to CRM Online (Attachments)

    I need to move our CRM 2011 on-premises to CRM Online. I got my customizations into CRM Online. My next task is to get the data there. Some are easy but I am not sure how to handle
    1) Interconnected records. For instance a case is connected to an account, emails, products, etc. I figured I just will
        a) export and then import leads first as accounts are connected to leads
        b) export and then import emails and products
        c) export and then import cases
    However, how to I assure that all these records are still having the same connections (case 100 connected to email 501 and 502, etc)
    2) Some records have files associated with them. The biggest one is emails that have attachments. How can I get these emails into CRM Online including attachments?

    Thanks. Scribe is way too expensive. SSIS might be an option I need to explore more. Any opinion about Microsoft Dynamics CRM Instance Adapter? I am reading some articles about it and consider giving it a try. However, I can't even find the download despite
    a lot of searches.
    https://community.dynamics.com/crm/b/magnetismsolutionscrmblog/archive/2013/03/12/microsoft-dynamics-crm-2011-instance-adapter-part-1-downloads.aspx

  • How to buid integration with Dynamics CRM Online

    I have SQL Server 2014 OnPremise. How to use SSIS to fetch data automatically to Data Warehouse from Dynamics CRM Online?
    Kenny_I

    The easiest would be probably to use a commercial component, CozyRoc must do: http://www.cozyroc.com/ssis/dynamics-crm-connection
    Otherwise I can direct you to a blog post http://blogs.msdn.com/b/crm/archive/2008/05/07/integrating-crm-using-sql-integration-services-ssis.aspx which is quite updated.
    I remember somebody else who wanted to connect to MS Dynamics and he used http://www.kingswaysoft.com/products/ssis-integration-toolkit-for-microsoft-dynamics-crm solely.
    Arthur My Blog

  • 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>

  • Error while uploading report in Microsoft Dynamics CRM Online

    I have created a report using fetch-xml query for Microsoft Dynamics CRM Online. In this field, I have created a custom enity which has "Last Accessed Date Time" field of type "DateTime". This field stores the value in GTM. I am retrieving
    the value of this field using fetch-xml query. Also, I want to calculate the difference between the current DateTime and the value (in the locale and not in GMT) of this field in "Hours Minutes Seconds" format. I
    have written an expression for the same in reportas follows.
    (IIF(((INT((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value), DateTimeKind.Utc).ToLocalTime(), DateTime.Now))/60))>60), INT(((((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value),
    DateTimeKind.Utc).ToLocalTime(), DateTime.Now)))/60)) / 60), 0))
    & "Hours"&
    (IIF(((INT((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value), DateTimeKind.Utc).ToLocalTime(), DateTime.Now))/60))>60), INT((((DateDiff(DateInterval.Second,DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value),
    DateTimeKind.Utc).ToLocalTime(), DateTime.Now)))/60) Mod 60), INT((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value), DateTimeKind.Utc).ToLocalTime(), DateTime.Now))/60)))
    & "Minutes" &
    ((DateDiff(DateInterval.Second, DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value), 
    DateTimeKind.Utc).ToLocalTime(), DateTime.Now)) Mod 60)
    & "Seconds"
    This works fine in visual studio. But, when tried to upload the same report in CRM Online organization, it gives the following error.
    Any idea how to solve this issue?

    I have found the following useful link-
    - support.microsoft.com/.../en-us
    The error occurred because I have used some functions("Int", "DateTime.SpecifyKind(DateTime.Parse(Fields!new_lastaccesseddatetime.Value), DateTimeKind.Utc).ToLocalTime()") in my ssrs report which are not supported by CRM Online., though
    it works fine in visual studio.

  • Duplicate check for Connection Objects in CRM

    Hi,
    I want to implement a duplicate check for connection objects in CRM. The duplicate check shall use the address of the connection object and perhaps additonal attributes. I have found a duplicate check for business partners using the basis address service and TREX as index pool. However, I couldn't find a similar functionality for connection objects. Does somebody know:
    1) How to implement a duplicate check for connection objects which is based on the address of the connection object?
    2) Is there a way to use the TREX-based duplicate check which is integrated into the basis address service for connection objects?
    Thanks in advance!
    Best regards,
    Frank

    I also have a requirement to check for duplicate address at connection object level and we are using SAP data servies to validate the address. Can anyone share their experience.

  • Error in logical port while connecting to SAP CRM cloud

    Dear Members,
    I have created a logical port manually to connect to SAP CRM cloud system. But when I ping the web service I am getting below error. Please let me know how to solve this error.
    SRT Framework exception: Service Ping ERROR: Error when calling SOAP Runtime functions: SRT: Couldn't create Object: ("ICF Error when creating HTTP client object by Config for URL <WSDL URL>

    Hello Nihar,
    The error message indicates the HTTP client object cannot be created by the given URL. Please check if your URL is correct.
    You also need to check what protocol is used, HTTP or HTTPS, and ensure the protocol is active in your local ABAP system as well. You can check them by t-code SMICM->Goto->Services.
    Regards,
    Robert

  • Groupware Transaction is rejected in CRM Online

    Hello All,
    Appointments and Tasks are replicating fine from CRM to Groupware.
    But when I create an appointment in Groupware ( in our case Lotus ), I get an email from the CRMAdmin saying 'Transaction is rejected in CRM Online'
    Does anyone know how to solve this issue.
    Thanks.
    Pratima

    Hi Pratima,
    You can try activating the power user mode in admin tool and create an activity and check for the error logs.
    Error log may help you pointing towards the error.
    Else check if this has groupware role still assigned or not?
    You may also check the user id and password you have given in Lotus config tool is not locked.
    Regards...Arup

  • Appointment - Transaction is rejected in CRM online

    Hello,
    When creating an appointment in my CRM calendar i get an email from the admin account set for groupware connector with a link of the appointment. It does synchronise in my calendar successfully but i want to disable the email that i am getting. Sometime also i get an a message Transaction is rejected in CRM online .
    I have been looking for a while to disable this function but can't seem to find any informations regarding this issue.
    I noticed those messages appear in the Outbox of the groupware connector account in Exchange 2007. If anyone had a similar issue let me know how you resolved it. I want to be able to disable the message that are generated when i create an appointment in my CRM calendar.
    SAP CRM 7.0
    SAP Groupware Connector 2.1
    Exchange 2007 (Outlook 2007)
    Thank you,
    Martin

    for your issue "email from the admin account set for groupware connector with a link of the appointment. It does synchronize in my calendar successfully "
    you have go to CRM Middleware and Related Components>CRM Middleware and Related Components>Groupware Integration>Maintain General Groupware Settings
    set value         ACT HOSTNAME XXX.XXXX.COM (check SMICM for your CRM link.)
    you can also disable this function set value   ACT NO_BSP_URL            X
    for issue "Sometime also i get an a message Transaction is rejected in CRM online "
    This issue might got when you create Appointment in OUTLOOK , if you check middleware entry from GWCONNECTOR ID,
    yo will see Appointment transaction  type is missing for incoming entry .you can use BADI  "CMW_GW_ACT_IN" to set transaction type onte basis catagory "'CRM_ACT 301(Date)'".
    i hope your issue will resolved.
    regard ,
    vijay

  • JavaScript files are not being updated while updating managed solution over Dynamics CRM Online

    Hi Support,
    While I am updating a managed solution over Dynamics CRM 2013 Online, JavaScript files are not being updated and is showing the source as of the last version of the managed solution. 
    I tried the same versions of solution on my CRM 2013 on-premise install (test organization) and it updated successfully.
    This is a bit urgent issue. Please suggest how to resolve this.
    Online version of the CRM is
    Microsoft Dynamics® CRM Online Spring '14
    (6.1.1.1855) (DB 6.1.1.1847)
    blog: <a href="http://technologynotesforyou.wordpress.com">http://technologynotesforyou.wordpress.com</a> | skype: ali.net.pk

    Our technical team managed to find the immediate cause for the problem, and a solution.
    According to them there was a corruption on a speciffic OLAP file. By deleting it, they allowed it to be recreated on the next application processing. The file in question was found in \Microsoft SQL Server\MSSQL.2\OLAP\Data\UGF.0.db\<APPLICATION>.38.cub.xml
    Where <APPLICATION> is the name of the problematic cube.
    After that everything is working.

  • Hi been trying to  connect my xbox 360 online  and i am h...

     Hi been trying to  connect my xbox 360 online  and i am having major problems  my router is a WRT54GS v.6 i have the newest firmware also i also use a  linksys  wireless adapter for my pc  i am connecting my 360 to my pc and doing internet connection sharing  i can get a ip address this way but not a dns  if i have ics off i do not get a ip address i have tried everything  opening ports on my  router for the 360 and still nothen  i am about to  break my router and get a differnt one. me need helps.

    Yes, you have the ports connected backwards.
    The WAN port is labelled with the "circle of dots" icon, and must be connected to your DSL modem.
    The LAN port is labelled with the "double-headed arrow" icon, and that is where you connect ethernet cabled devices on your LAN.
    See Apple's article AirPort Base Station: About the WAN and LAN Ports
    What is surprising is that you haven't previously run into all sorts of problems with your existing setup. Once you cable things properly, you will likely have to power down your DSL modem and Base Station for a while (sometimes just an instant, sometimes overnight). After waiting, plug the modem into power and wait a minute. Then plug the base station into power and wait for it to restart.

  • Fetch-Xml based report (to count User Access in the last 6 months ) for Microsoft Dynamics CRM Online

    Hi,
    I have created a User Access report for CRM on-premise using SQl query in the following format. One row corresponds to one user in organization. Currently, I am using Microsoft Dynamics CRM Online trial version and have two users in my organization.
    I want to the same report for CRM Online environment. Only Fetch-Xml based custom reports are supported by CRM online environment hence this SQL query cannot be used.
    I have already written fetch-xml query to retrieve user access records ("audit" entity records) in "last-x-months" (where x = 1,2,3,4,5,6) as below.
    I am able to retrieve the records with "last-x-months" condition at a time, for example, the last-2-months  in my fetch-xml query only.
    For, example, when I retrieve the records in the last-2-months, it also includes the records in the last month. I want to count the records in the 2nd month only that is the difference between these two. The difference will be my 2nd column.
    Similarly, I want the other columns.  
    For the case in the above example, I have created the two separate datasets to get the record-count for the last month and last-2-months. But, I am not able to use the two datasets in the same table in my report and hence not able to calculate the difference.
    Is there any way to solve this problem?

    Hi,
    I have modified my Fetch-XML query to retrieve all the required User Access records and removed aggregation and counting and grouping from the query as well. Did grouping and counting in SSRS. Now the report works fine as shown in the above picture.

Maybe you are looking for

  • HT4972 i have an ipad version 5.1.1 and my ibooks no longer works. please help there are pdf docs i would like to read

    I have an ipad, version 5.1.1 and ibooks no longer works, i have followed advice re restarting etc but no joy.  is there a way i can send the contents somewhere and retieve them especially pdf's?  i have synced with itunes and they are not accessible

  • A bug in the serial nuimber validation???

    I have purchased the DVD version "Adobe Premiere + Photoshop Elements 12" last Saturday. After installing the programs and creating my account, I noticed it was in English. As I am Flemish Belgian I rather wanted the program language in Dutch. I unin

  • Manual order number

    Hi , Which exit can be used to set the quotation number programmatically in a quotation. I have the following scenario when the user creates a quotation with reference to a quotation , say 300, the revised quotation number must be 300R1, where can i

  • On installing Photoshop CC, I received an Installation Failed message (see below). What do I do now?

    After downloading and installing Photoshop CC for the first time on a 64-bit Windows 7.1 PC with 8GB of RAM, I received the message: "Installation Failed.Installation completed though some optional components failed to install correctly (6)."  What d

  • Shared Technologies failed to install

    I'm installing PSE 10 and it seems to be hanging after installing the Organizer. The status says "rolling back the installation of Adobe Photoshop Elements 10".  The buttons are grayed out. This is my 2nd time attempting to install. The first time I