CRM Online Security with Data Classified as HBI

I have an old CRM solution hosting on an CRM 4.0 On-Premise environment in a domain network. I am planning to migrate it to the latest CRM Online 2015. However, since the data is classified as HBI, does anyone know if CRM Online will encrypt all data in
the cloud database? Does CRM Online has any security policy to allow us and secure to put the HBI data on the cloud? Thanks.

Hello,
We have a CRM 2013 instance and planning to move to CRM 2015 online.
Wanted to understand if CRM 2015 online is recommended only for LBI & MBI data or it's good for HBI data as well.
Thanks
Tarun
Tarun

Similar Messages

  • Online Security with "best attempts" set for certificate verification

    As many others, I've had some security issues with both webkit browsers and the iTunes store after upgrading to 10.4.8 and running the late-November security update. Basically it was impossible to access https sites as well as the iTunes store without changing my certificate verification settings in Keychain.
    After switching Keychain preferences for certificates to "best attempt" for both OCSP and CRL, things are working fine again. But now my concern is about security. Basically, how insecure are such settings? Is Apple working at all on a fix for this or should I basically wait to upgrade to Leopard before expecting a solution?
    Thanks in advance.

    Hi Shadya10,
    Those are some pretty big questions! I'm not saying that your company can't become a CA because obviously there are companies that have, but this is almost something that happens at the state level if your not already intimate with PKI. Just from the tenor of your questions I'd suggest you contract with a reputable, existing CA to provide your PKI infrastructure. I could explain key management and how revocation checking works, but really if you're asking in an Adobe forum this is way more than you want to be dealing with.
    If you're really interested you need to start with reading RFC 5280.
    Steve

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

  • How can I pre-populate a web app input form with data from a webform in the CRM?

    Scenario:
    A customer fills a registration webform. The customers data is stored in BC CRM as usual. This step provides a lead to marketing unit and the team makes a follow up. Upon completion of internal processes. The workflow initiated by this customer filling the registration form is approved.
    Th user is sent a 3rd-party notification with a url to enable the user complete the registration process by entering the information into a web app.
    The Issue:
    The client is requesting that he doesn't want the the customer to re-enter some of the  information that  has been captured in the registration form again since it will be laborious for the user to do this. He wants the system to store this customer data already in the CRM and pre-fill the web app form so that the user just submit the data, so that the item can be in the appropriate web app as web app item.
    Question: Is this possible? Can this be achieved via js. How should I go about it.
    Your assistance will be appreciated.
    Thanks.

    For each option you would need to only have a custom text field for that item. This is where the otpion for each gets populated with javasript.
    Each option is your own html that is a select with options as web app items. A list layout of your web app items is just a select with text and value of that item.
    Your tricky thing is to setup the matrix of rules to define what shows and when. You can do that with data source association between web apps if it is a 1-1 relationship but if it is 1 to many you need to form script matrix to define what happens on each change.
    It depends on the details but thats the core of it.

  • 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

  • Data level Security with Oracle Apps as Source

    Hi all
    I am implementing Data level Security with Apps as Source(OLTP) on Single Sign On.(Oracle has provided the Vanila rpd & we are working on that)
    I need to Filter data based on Business Group, Users are created in Apps and they are registered with some Responsibilities.
    (for eg, OBI User CHINA is a Responsibility; Now he will get only Business Group ID for China)
    I have created Groups in rpd with same name as the responsibility in Apps.
    I have created Initialization Blocks from which I m getting only 1 business group ID for every :USER.(I tried the code in TOAD & I m getting the correct BG ID)
    I have created Group in WEB with the same name as the Group name in rpd.
    If I say show all Users and Groups in WEB, I m getting the APPS Users.
    I hv Reloaded the server metadata files and restarted the BI Server/WEB Server also...
    But in the Report, I m getting all the Business Group Ids,
    Plz advice if I m doing something wrong.
    ThanQ
    Anand

    You need to be creating your "business groups" as a group in the RPD, init blocks to retrieve the user business group at login. Filters in the Logical table sources to restrict data to relevant business groups only.
    Presentation 'Web Cat' groups with the same name as the RPD groups so a user inherits membership automatically.
    I'd suggest sourcing a vanilla OBIA rpd to see how it is implemented out of the box.

  • 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

  • How to extract data from CRM with Data Service?

    Hi all,
                 I'll try to explain briefly the main issue; We need to read or extract data from SAP CRM with Data Service tool, then we'll show the data with webi, but now I would like to know if there are some standard tool as a rapid mart (i mean that it doesn't exists) but if some one knows how it works and if it's possible, it could be very helpful for us.
    BW option doesn't ok because the client needs a lot of queries for a report and the standard tool in our project is Data Service.
    Thanks in advance, and ask all u need if it can be a help for answer the question.
    Best Regards.
    Edited by: Cantabria on Jun 7, 2011 1:14 PM

    Hi,
    Your very familiar with LO data source even though your getting doubts on it.
    LBWE/SM13 belongs to only LO Data sources.
    CRM data sources also have delta settings based on data source.
    You can search on google about CRM data sources by using data source names.You may get some useful information.
    Before using CRM Data sources, CRM functional team need to set proper configurations at CRM system. those also you can easily get form google.
    use search term as " CRM - BW Adapter settings".
    Like other standard data sources for crm also,
    we need to activate from RAS5 and do the modification at RSA6.
    test at RSA3 and replicate into BW. Do the rest of the flow at bw system.
    Thanks

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

  • EEWB : in CRM 4.0 adding  field with data element = table type

    Hi,
    Do you have experience in CRM4.0 to add a customer field with data element that is a table type ?

    Marie,
    I don't believe it is possible in CRM 4.0.  Another drawback of the EEWB is that you can't add currency or quantity fields using the EEWB tool.
    Good Luck,
    Stephen

  • Migrate SQL 2008 Analysis database to 2012 AS database along with data level security defined in current production cube

    I want to migrate Analysis Services 2008 database to 2012 AS database along with data level security defined in current production cube
    Note: Only Production environment have security, while no security is defined in development environment
    Potential Approach:
    1 - Using Synchronization Wizard: Gives me error : "The OLAP element at line1 can not appear under envelope......" and this is because Synchrinzation works only for same version
    and in my case, there are different versions of SQL (SQL 2008 and 2012)
    2 - Using Visual studio conversion wizard - Convert SQL 2008 AS project to 2012 and then process cube, so I can get the cube working but then how can I get data level security since 100's of data level security is defined in production Cube, so how can I
    migrate that across
    3 - Script out XMLA and deploy cube - But then again having issues with how can i script SSAS security
    4 - Would taking backup of SSAS 2008 database and restore to SSAS 2012 will help ?
    Any suggestions would be appreciated
    Thanks,
    Mihir

    Hi Mihir,
    According to your description, you want to migrate the SQL Server Analysis Services (SSAS) 2008 database which have some security setting with it to SSAS 2012, right? We can migrate existing Analysis Services databases either during Setup, by upgrading an
    existing instance of Analysis Services, or after Setup, by running the Migration Wizard. Generally, when migrating a database to another server, all the setting will be migrated. So in your scenario, you can refer to the steps on the links below to migrate
    your SSAS database.
    How to: Migrate Analysis Services Databases
    Migrating Existing Analysis Services Databases
    Regards,
    Charlie Liao
    TechNet Community Support

  • Prospective Account Sales Area Data on CRM Online

    Hi Experts,
    I am using CRM2007 SP4, and i am trying to assign Sales Area Data to a Prospective Account on CRM Online. However, unlike a reqular Sold-to account (CRM000) there does not seem to be a Sales Area Data Button where the Sales Area can be maintained for a Prospective account.
    The BP Role for the Prospective account is BUP002.
    It only seems possible to maintain this through the Web Client. Is there anyway which the Sales Area can be assigned to a Prospective Account through CRM Online.
    Any assistance would be appreciated.
    Thanks,
    Jonathan

    Hi Sasha,
    I've been checking it in our system (CRM 6.0). The field Price group (cust) from ECC (KNVV-KONDA) gets standard replicated to field Price Group (Cust) on the billing tab of customer data (BP).
    No additional customizing or development is needed.
    The field is stored in: CRMM_BUT_SET0030-PRICE_GROUP
    regards,
    Wim

  • SSL/TLS security certificate data match with XML Payload in SAP PI

    Hi,
    We are working on a solution where we would want to use SSL/TLS or WS Security with client server mutual authentication using client server certificates.
    But, once the sender is authenticated using the certificates, can the XML payload be matched for the correctness with the certificate information? Is this available to PI integration engine at any time? Like Sender A autheticated as A using certificates, must be stopped if his XML payload is saying that he is sender B (which is most unlikely if we trust the senders but did not want to leave a loophole).
    Any ideas here?
    Thanks and Regards,
    Vijay

    Hi Wolfgang,
    Cross-posting is discouraged and against the forum rules, because it is misused and makes a mess of the search due to distributed discussions and answers.
    I will move it to the PI forum and add a watch on it as it is security forum related.
    Unfortunately, the forum software does not have the option to "mirror" threads.
    Cheers,
    Julius
    Edited by: Julius Bussche on Sep 14, 2009 9:50 PM

  • Sap CRM 2007 Security related issue

    Hi All,
    I am working on SAP CRM 2007 security.
    I have scenario, which we are trying to fix.
    There are two users A and B.
    A is assigned to role X
    B is assigned to role y
    Business Partner 123 is created for user A
    Business Partner 456 is created for user B
    These Business Partners are assigned to Authorization Groups.
    See below:
    1)Authorization Group (LK01) is assigned to Business Partner --123.
    2) Authorization Group (LK02) is assigned to Business Partner --456
    3) Authorization groups LK01 is assigin to user A in PFCG role X
    4) Authorization groups LK02 is assigin to user B in PFCG role Y
    a) User A assigned with PFCG role X>Authorization Group (LK01)>BP 123.
    b) User B assigned with PFCG role Y>Authorization Group (LK02)>BP 456.
    Note:
    1) Authorization Groups are assigned to BPs under the Control tab.
    2) These Auth Groups are assigned in Authorization Object in PFCG role.
    Now, USER 'A' should not be able to work under the BP 456 as this BP is assigned to authorization group LK02.
    The issue is when we open the WEB UI and login with user A role X, He can search for the BP 456 assigned to Auth Group LK02.
    User A can open the Interaction History and edit the Service Order created using the BP 456.
    He can Edit the following in Service Order details:
    1) General Data Status (from created to complete), Contact person, Sale Rep name.
    2) Organization Data like Sales Office, Sales Org Unit, Distribution Channel
    3) Business Partner.
    However, one good thing is he cannot edit the Account details like Account ID, House No, Employee Resposible, the message he get is "No authorization to change partner with authorization group"  which is a
    good thing.
    I have tried to be precise, please let me know if you require more information.
    Regards,
    Dave.

    I suggest the following:
    Please, check whether the system works if you activate the implementation BUPA_F4_AUGRP.
    In addition check the notes 559662, 674869 and 782927. Maybe the notes are already implemented but you can try then the implementation of the BADI (SE19). It should resolve your issue.
    I have implemented this Badi solution before, and after activation; the search help ; nor search result list did NOT show any Business partners anymore that had an authorization group I was not allowed to see.
    kind regards
    Davy Pelssers
    SAP CRM/Security consultant

  • 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

Maybe you are looking for