GUID in CRM Online for Objects in ISA b2c Application

Hi All
   I am trying to find GUID for Some Objects Like Saved Basket Entries in CRM Online throgh Internet Sales 4.0
<b>Scenario b2c</b>.
Can Anybody Guide !!!!!!
Thanks & Regards
   Ravi Sah

<i>Hi Roman 
Thank you for your attention.
I needed to Find where Exactly Saved Basket( In Shopping Basket Module: <b><b>Save Basket as</b> Functionality</b>) is Stored in CRM . So I tried with Logging & Tracing to get the Function Module( which in turn contain the export tables ) needed to save those type of Basket Only.
But coudnt find Exact One as it wasnot relavent.
So by Stephen's Help i could know the Function Module as <b>CRM_ISA_BASKET_SAVE</b> but the Export Parametrs which it corrosponds , even there i could not find where those Basket Object is saved.
So Last Option i had that if by some means , if i can get some method to get the GUID of the Entity of Saved Basket. We can Search the Exact Location  .
So I need ur Help in these Context can u help me !!!!!
Thanks & regards
  Ravi Sah</i>

Similar Messages

  • Installing CRM Online for Outlook with multiple profiles

    For a number of reasons I have had to create multiple profiles in Outlook. I also have a Microsoft CRM account. Up to this point I have been able to successfully install and use CRM for Outlook on my previous profiles. However, when the last profile was
    created the CRM for Outlook functionality did not install. / transfer. I have tried uninstalling the CRM for Outlook and reinstalling. No luck it only crashed an old profile which appears now to be inoperable. It is essential that I get the latest Profile
    working the CRM for Outlook  Any suggestions?

    Hi,
    As per the description, I understand that it's an issue about CRM Online for Outlook.
    This is the forum to discuss questions and feedback for Microsoft Office client. To get better assistance, I would suggest you to post in
    Microsoft Dynamics CRM Forum, where you can get more experienced responses:
    https://community.dynamics.com/crm/f/117.aspx
    The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
    Regards,
    Ethan Hua
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.

  • ABAP debugging in CRM ISA B2C application

    Hi gurus !
    I need to debug FM 'CRM_ISA_BASKET_ORDER' to monitor some values in a CRM ISA 4.0 B2C application. The FM is stateful and I have set the necessary parameters in modification-config.xml file. However, when running the CRM ISA 4.0 B2C application from a remote client, I do not get the SAPGUI popping up as given in the SAP_ISA4DevExtG10.pdf documentation. Have I missed any setting ? Is there anything else that I need to complete to get the SAPGUI to popup to debug the FM ?
    Cheers,
    Ashok.

    - Did you set an external break point or just a session break point?
    - Did you set the RFC-user in SAPGUI as debug user? Utilities -> Settings -> ABAP Editor -> Debugging -> External Debugging: Here should be the RFC user of the B2C application.
    Florian

  • Help for Calling RFC in B2C application.

    hi,
    We had written one RFC and all java classes related to that.
    we are able to call RFC in b2c application.we are calling RFC on loading of JSP.
    now my requirement is to call same RFC in other JSP but muliple times(in a for loop).But how can i do that?
    one thing is sure we cannot calll this RFC on loading of new jsp page.we have to call inside jsp page(in a loop).
    there is any way?
    please help me out.
    thanks in advance.
    jayesh talreja

    Two things I would like to say here:
    1) Calling RFCs directly from JSP is not supported so we need to use interfaces and backend classes.
    2) Calling an rfc is java code and in jsp we write java code along with html to make it dynamic...so dynamic
    call is also possible.
    ie. suppose we want to call our rfc for fetching some data from the backend based on the data entered at item level once the user clicks on update button on order creation page.So we can write the code like below
                                  <%--   messages --%>
                                       <%@ include file="/b2b/itemErrMsg.inc.jsp"%>
                                       <% } %>
                                       <%-- ui.showItemDetailButton() --%>
                                       <% } %>
                                       <%-- ui.isBOMSubItemToBeSuppressed() --%>
                                       <%--Start of addition by Arshid --%>
                        <!-- From here our custom rfc call is starting-->
                        <%
                             String arg1[]= {"crm~isa~isacore~resources_en"};
                             if((JspUtil.removeNull(item.getProduct()).length()) !=0 && !(JspUtil.removeNull(item.getNetValue()).equals(WebUtil.translate(pageContext,"yourcompany.order.minimumValue",arg1))) )
                                  String baseUOM = "";
                                  int enteredQuan= 0;
                                  double minOrderQuan = 0.00;
                                  double roundingValue = 0.00;
                                  BusinessObjectManager isaBOM = (BusinessObjectManager)userSessionData.getBOM(BusinessObjectManager.ISACORE_BOM);
                                  User user = (User)isaBOM.getUser();
                                  Shop shop = (Shop)isaBOM.getShop();
                                  String distrChannel = shop.getDistributionChannel();
                                  String sod = shop.getSalesOrganisation();
                                  Z_CustomBusinessObjectManager customBOM = (Z_CustomBusinessObjectManager)userSessionData.getBOM(Z_CustomBusinessObjectManager.CUSTOM_BOM);
    //Z_prodInfoValue is a bo that will hold the data returned from rfc call
                                  Z_prodInfoValue z_prodinfo = customBOM.getZ_prodInfobo().getProdInfo(Zeropadding.productInfoNoPadding(item.getProduct()), sod, distrChannel);
    <!-- Call ends here and this piece of code is called for every item on clicking on update buton -->
    Although this is not a good code design as instead of making multiple calls to the backend we can get the above thing done in a single call also.I wrote this code just to give an example .
    This clearky proves we can have dynamic calls to the backend through jsps also.
    But Jayesh, your question is not very clear to me.
    If its about for loop, where you want to call the backend for multiple times with different set of values than i would rather suggest you to create lists of these different datasets and send these in a single call to the backend and fetch the data similarily in tables in a single call.
    Regards,
    Arshi

  • I tRounding the Total Scores for Objectives and Competencies in Application

    Hello
    Where does one change the format of the total scores for the Overall Ratings and Comments - Objectives and Competencies in the front end /application?
    Currently the total scores are in the format Objectives: Total Score 3.375
    Competencies Total Score 2.69230769230769
    HR want to show the Total Scores as rounded to 2 decimal places in the application so 3.375 becomes 3.38 and
    2.69230769230769 becomes 2.70
    Now i know how to do this in Toad using a select on the TOTAL_SCORE column in the hr.per_assessments table, but this is not i want to do here. Here i want to change the format in the FRONT END, not in the back end.
    I tried the fast formulas but they dont seem to work unless i am missing something
    Edited by: iandekoker on Apr 2, 2009 2:53 PM

    in case anyone wondered you use the package called apps.hr_appraisals_util_ss. Inside the package you can add round(,2) to obtain the result

  • Rounding the Total Scores for Objectives and Competencies in application

    Hello
    Where does one change the format of the total scores for the Overall Ratings and Comments in the front end /application?
    Currently the total scores are in the format Objectives: Total Score 3.375
    Competencies Total Score 2.69230769230769
    HR want to show the Total Scores as rounded to 2 decimal places in the application so 3.375 becomes 3.38 and
    2.69230769230769 becomes 2.70

    in case anyone wondered you use the package called apps.hr_appraisals_util_ss. Inside the package you can add round(,2) to obtain the result

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

  • Tracking status in CRM-online of MUP in error for MSA clients

    Hi,
    We are using the Upgrade console to distribute MSA application updates via the middleware.
    When these are in error, a status entry and log file errors are put back into the CRM-online tables SMOGSYSMP and SMOGSYSMON.
    Has anyone written any ABAP's to interpret these tables into a more readable format?
    Thanks,
    Graham

    Hi Simran08,
    According to your description, you fail to add your report to CRM due to the custom code. Right?
    In this scenario, based on my knowledge, I find two issues in your custom code.
    You pass the array Items as argument to the function. This array is from the LookupSet() function. However, it returns an concatenated string with commas. When you convert it into decimal, it will throw error.
    In your For Each loop part, we should follow the format below:
    For Each element In group
    [statements]
    [Exit For]
    [statements]
    Next [element]
    It seems you miss Item after Next.
    If you still have any question, please feel free to ask.
    Best Regards,
    Simon Hou

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

  • Custom code in SSRS gives error when uploaded to report in CRM online

    Hi All;
    Below is my custom code 
    Function SumLookup(ByVal items As Object()) As Decimal
    If items Is Nothing Then
    Return Nothing
    End If
    Dim suma As Decimal = New Decimal()
    Dim ct as Integer = New Integer()
    suma = 0
    ct = 0
    For Each item As Object In items
    suma += Convert.ToDecimal(item)
    ct += 1
    Next
    If (ct = 0) Then return 0 else return suma
    End Function
    and this code is used in 
    =Code.SumLookup(LookupSet(Fields!new_mainprogrammeid.Value & "," &
    Fields!new_subprogrammeid.Value & "," &
    Fields!new_outputs.Value & "," &
    Fields!new_claimmonthid.Value,
    Fields!new_mainprogrammeid.Value & "," &
    Fields!new_subprogrammeid.Value & "," &
    Fields!new_outputs.Value & "," &
    Fields!new_claimmonthid.Value,
    Fields!new_fte.Value, "JobOutcome"))
    when this code is uploaded in CRM online report it gives an error 
    below is the error from the log file 
    Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: An error occurred while trying to add the report to Microsoft Dynamics CRM. Try adding the report again. If this problem persists, contact your system administrator.Detail:
    <OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
    <ErrorCode>-2147188072</ErrorCode>
    <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
    <Message>An error occurred while trying to add the report to Microsoft Dynamics CRM. Try adding the report again. If this problem persists, contact your system administrator.</Message>
    <Timestamp>2014-10-07T14:21:25.5823821Z</Timestamp>
    <InnerFault i:nil="true" />
    <TraceText i:nil="true" />
    </OrganizationServiceFault>
    but when i remove the custom code and upload the lookup as below i dont get any error
    =(LookupSet(Fields!new_mainprogrammeid.Value & "," &
    Fields!new_subprogrammeid.Value & "," &
    Fields!new_outputs.Value & "," &
    Fields!new_claimmonthid.Value,
    Fields!new_mainprogrammeid.Value & "," &
    Fields!new_subprogrammeid.Value & "," &
    Fields!new_outputs.Value & "," &
    Fields!new_claimmonthid.Value,
    Fields!new_fte.Value, "JobOutcome"))
    I need to calculate the sum of fte hence needed the custom code
    Any help on this much appreciated
    Thanks
    Pradnya07

    Hi Simran08,
    According to your description, you fail to add your report to CRM due to the custom code. Right?
    In this scenario, based on my knowledge, I find two issues in your custom code.
    You pass the array Items as argument to the function. This array is from the LookupSet() function. However, it returns an concatenated string with commas. When you convert it into decimal, it will throw error.
    In your For Each loop part, we should follow the format below:
    For Each element In group
    [statements]
    [Exit For]
    [statements]
    Next [element]
    It seems you miss Item after Next.
    If you still have any question, please feel free to ask.
    Best Regards,
    Simon Hou

  • What is the use of guid in CRM?

    Hi ,
    what is the use of guid in crm.
    there is nothing like this in r/3.if the data is to flow in from r/3 to crm or crm - r/3 is do we verify the guid.partner guid or product guid.
    please make me understand this.
    thank you,
    hun

    GUIDs are system generated unique keys which identifies CRM objects (campaigns, sales documents, business partners, products etc.). CRM & MSA works on GUIDs. Most of the table relationships are defined on GUIDs.
    Important CRM tables:
    COMM_PRODUCT : Products
    CRMC_T077D : customer account groups
    CRMD_ORDERADM_H (for header) CRMD_ORDERADM_I (Item data)
    CRMD_ORDERADM_H Business Transactions CRM
    CRMD_ACTIVITY_H Activity
    CRMD_OPPORT_H Opportunity
    BUTOO : Customer details
    BUT001 BP: General data II
    BUT100 BP: Roles
    BUT150 BP relationship: Attribute table (test
    different
    BUT_HIER_TREE Business Partner Group Hierarchy
    CDBC_T_PRODUCTID Mapping: Product Id
    CDBD_ORGMAN Business transaction - organizational unit -
    set
    COMC_PRODUCT General Product Settings
    COMC_R3_FIELDS Assignment of R/3 material master fields to
    CFOP
    COMM_CATEGORY Category
    COMM_CFGMAT Basic Data for Materials
    COMM_HIERARCHY Category Hierarchy
    COMP_TYPES Hierarchy Tool: Comparison Type Check
    Table
    CRMC_CPRICPROC Customer Pricing Procedures
    SMOKVBEZ15 Assignment employees to positions
    All transactions are uniquely identified by their guids internally
    Transaction numbers are not unique
    System calls a function module GUID_CREATE to create a unique GUID everytime you create a transaction.
    Whenever you are creating some transaction programatically you will have to first create a unique GUID for the transaction by calling GUID_CREATE.
    Look at What is GUID in CRM & its significance please? maybe it helps
    <b>Please, Reward Points.....</b>

  • Migration questionaire for ICSS n ISA

    Good morning,
    I wanted to gear up myself with some questions to ask the implementers of a proj. so that I can better understand the kinda implementation that has done.
    I am looking specifically for ICSS and ISA question.
    Please post some if you guys/ gals are aware or if u think of any..
    Thanks in advance and anticipation.
    ave a good day.
    Clive

    Here are some which I feel might help you. These are based on my past support proj exp.
    ICSS (Internet Customer Self Service) / ISA (Internet Sales)
    Basic Installation/Development
    Version of ICSS implemented and Service Pack     
    Version of ISA implemented and Service Pack.     
    Scenario Implemented      
         ICSS      B2B       B2C
         ISA      B2B       B2C
    Version Controlling Implemented?     Yes      No
    If above is Yes then what tool and please document the process for the same     
    Solution Database installed for the FAQ?     0 Yes      0 No
    IDE used?     
    Is TREX engine configured, if yes then name of the RFC destination     0 Yes      0 No
    Search Server Relation name.(To publish CRM Products)     
    Internet User Management/Roles and Authorization
    User type created at the backend     0
    SU01
    0
    SU01
    0
    SU01 & SU05
    User created using web user interface? If no then How?     
    Country Settings for internet Users? Country and date format.     
    Super User facility given to the customer     
    Name the reference user used for creating the B2C users     
    Reference user used for creating the B2B users     
    Roles assigned for B2B users     
         ICSS     
         ISA     
    Roles assigned for B2C users     
         ICSS     
         ISA     
    ICSS
    XCM Configuration
    Name the default configuration used?     
    JCO connection to the backend system     
    FAQ Enabled      0 Yes      0 No
    Solution Search Enabled
    0 Yes      0 No
    Transactions Enabled     0 Yes      0 No
    Installed Base Enabled     0 Yes      0 No
    Product Registration Enabled     0 Yes      0 No
    FAQ enabled for portal     0 Yes      0 No
    Solution Search enabled for portal     0 Yes      0 No
    Installed Base Enabled for portal     0 Yes      0 No
    Product Registration Enabled for portal     0 Yes      0 No
    Transaction Enabled for portal     0 Yes      0 No
    File Attachment size     
    Live Web Collaboration component Enabled     0 Yes      0 No
    General
    Object Family used and to which product type it is assigned?     
    Name Installed Base used for creation of CSR?     
    Partner functions used in the partner Determination Procedure used for service order creation.     
    Object category used for individual objects being created when you register products as part of an E-Commerce Internet Customer Self-Service process?     
    FAQ enabled for customers? If Yes, then what is the Category ID used for FAQ product     
    Is warranty enabled for products? If yes, list down the warranties used for the corresponding type of product     
    Catalog type used for the service product     
    Partner functions used for the product registration     
    Transaction type used for transaction     
    Transaction type used for complaint processing     
    Technical
    How ICSS is accessed?     
    ICSS standard code has been modified?     
    Name custom package created for developing/enhancing Standard SAP code     
    Any new mime object used apart from the Standard SAP, if yes then for what?     
    Any XML files been modified manually, if yes then for what reason and name the files      
    Any custom RFC module created at the backend, for what reason     
    Any standard RFC Module or standard SAP code modified     
    Any call back function created for business transaction     
    Is there any custom Workflow attached to the service order creation, or complaint creation     
    Please name the Badi’s implemented and for what reason     
    Any SMARTFORM has been enhanced or created, If yes please name them     
    Julius

  • 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

  • Field value(s) for object S_SERVICE were not entered

    Hi
    Whenever I try to generate a profile in PFCG I get an error, that is saying;
    ... field value(s) for object S_SERVICE were not entered
    Number of values could be different but message text is always the same.
    The problem is in CRM2007 IDES.
    It is regardless if I try to generate for existing role (like SAP_CRM_UIU_MKT_PROFESSIONAL) or for own role
    Does anybody know how to solve such issue ?
    regards
    Rafal

    Dear Rafal,
    kindly check documentation of customizing node
      SAP Customizing Implementation Guide
        Customer Relationship Management
          UI Framework
           Business Roles
             Define Authorization Role
    "Make sure that the authorization object S_SERVICE is set to inactive.
    An active authorization object S_SERVICE could interrupt the profile
    generation."
    You have to deactivate the S_SERVICE authorization object in PFCG to
    solve the error.
    Hope this helps,
    Gerhard

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

Maybe you are looking for