Latest Microsoft Dynamics 365 Blogs | CloudFronts - Page 31

SSO configuration for CRM Portal

Posted On November 11, 2016 by Admin Posted in

Prerequisite Internet facing Domain controller (if it’s an On-Prem DC) Setup the ADFS Role in our Domain Controller [Which will act as a IdP] Dynamic CRM online 2016 and CRM Portal Setting Up ADFS Open the ADFS Management in the server manager [Tool > AD FS Management] In AD FS Management tool, select Service > Claim Descriptions. SSO configuration for CRM Portal Step 1: Add Claim Description Click on Add Claim Description Add Display name as “Persistent Identifier” Add Claim Identifier as “urn:oasis:names:tc:SAML:2.0:nameid-format:persistent” Check the “Publish this claim description in federation metadata as a claim type that this Federation Service can accept” Check then “Publish this claim description in federation metadata as a claim type that this Federation Service can send” Click on Save. Step 2: Add Relying Party trust Go to Trust Relationships >Relying Party Trust Click on Add Relying Party Trust Click on Start Select “Enter data about the relying party manually” and then Click Next Enter “Display Name” then Click Next Select “AD FS Profile” then Click Next In configure Setup Leave the setting as it is and just click Next. In Configure URL Select “Enable support for the SAML 2.0 WebSSO protocol” and add URL https://YourPrortalURL/Signin-saml2 [Append the “Signin-saml2” to your portal URL it’s an CRM portal internal URL which will internally manage the SAML Authorization]. In Configure Multifactor Authentication Just click Next as here we are not focused on multifactor authentication. In Choose Issuance Authorization Rules, select “Permit all users to access this relying party”, click Next In Ready to Add Trust, Click Next. Finally Click Close. When we close it open another dialog for setup the claim rule. Click On “Add Rule” In claim rule template select “Transform an incoming Claim” Select Incoming Claim Type as “Window Account Name” Select Outgoing Claim Type as “Name ID” Select Outgoing Name ID format “Persistent Identifier” [ created in 1st step] Select “Pass through all Claim Values” Then click on Finish. Setting in CRM Portal (Site Setting) Login to CRM Using admin OR Customizer role, then go to Portal Site setting as Shown below, In site setting add below 4 records to enable SSO using AD FS, before that make sure Authentication/Registration/ExternalLoginEnabled is set to “True”. Add New Site setting as “Authentication/SAML2/ADFS/MetadataAddress” where value of this setting will be https://adfs_domain/FederationMetadata/2007-06/FederationMetadata.xml Just append the “FederationMetadata/2007-06/FederationMetadata.xml” to your AD FS domain name also make sure your AD FS has “Https” “Authentication/SAML2/ADFS/AuthenticationType” where value of this setting will be https://adfs_domain/adfs/services/trust Just append the “adfs/services/trust” to your AD FS domain name “Authentication/SAML2/ADFS/ServiceProviderRealm” where the value will be your portal URL. “Authentication/SAML2/ADFS/AssertionConsumerServiceUrl” where value will be “https://portalURL/signin-saml2” After this setting just restart you CRM Portal, then you can use SSO in Your Portal.

Share Story :

Dynamics CRM- Rollup with Custom Hierarchies

Posted On October 26, 2016 by Admin Posted in

CRM Custom hierarchies are very useful feature for maintaining hierarchy among records and also provide nice visualization of the Hierarchies. With rollup fields and custom hierarchies have become even more useful to derive and visualize meaningful data in the hierarchy. In this blog, we will use how to leverage Rollup fields and Custom hierarchies to get proper data and avoid redundancy and custom calculations. Problem statement: Suppose you have a custom hierarchy of campaign, so a campaign can have multiple child campaigns. Each campaign has leads associated to it. The requirement is to get the count of all the leads of the related child campaigns and also itself. Solution: If you want count of leads on the campaign, we can easily create a rollup field on Campaign to get the count of leads on Campaign. The rollup field will look like below: You can see the count of leads using the above rollup below on the campaign form: Get total lead count of child campaigns on Parent Campaign Without hierarchy to achieve this, we would need to write a custom plugin or JavaScript to get the lead count of all the child campaigns and set it on the parent campaign. With rollup using hierarchy, we can get this done without any calculations. See below the rollup definition for this. Note that we have now enabled “Use Hierarchy” in the rollup definition. This will get us the count of all leads including Child campaign as well. See the form now with the updated rollup definition, the lead count is now “8” which is the sum of lead count of all child campaigns. Conclusion: Leveraging Calculated fields, rollup fields and custom hierarchies we can easily build good and simple solutions, avoid custom calculations and redundant fields.  

Share Story :

How to remove business process flows from existing records?

Posted On October 13, 2016 by Admin Posted in

Problem Statement Many times we come to a scenario where clients ask to remove business process flows from the production environments. In such scenarios, there are chances that on the existing records, the business process flows are already set on the records. Hence even if we deactivate the business processes, we still see a yellow ribbon as per below screenshot: So, how to fix this issue? Solution First of all, we should not directly delete the business processes as clients might ask to reactivate the same and we don’t want to rework on the complex logic we have already implemented. So, to remove above issue while keeping backup of the business process, we will have to follow below steps: Go to Setting > Processes Select the business process flow and deactivate it. Open Business process flow and click on the Save As option from the top ribbon. Delete the old business process flow. After following above steps, you should be able to see that, business process section from existing records is removed and no warnings are shown at the same time, we have backup of the process which we can reactivate in future if needed.  

Share Story :

Business Process Flows in CRM

Posted On September 30, 2016 by Admin Posted in

Business Process Flows are role based process flows that guides user to navigate between entities as per the requirements. i.e. they guide users to have a step by step process divided in different stages and each stage contains different set of fields where user can enter data. Business Process Flow can also be enhanced with branching using “If-Else Logic” and “Logical Expressions” (AND or OR) Operators. Also Branching Rule can only contain AND or OR Operator but not both operators together. NOTE: Each Business Process Flow can contain no more than 30 stages. In Multi Entity Process, max 5 entities can be selected. Below is the example which we tried implementing for a Pharmaceutical Manufacturing Company to enhance their productivity with streamlined user experience. Here we created the Business Process Flow which guides user to create Inquiries, Sample Request Form, Document Request and Invoices based on different branching logic. Pre-Requisites In the backend, for custom entities, Business Process needs to be enabled on Entity Level.   To enable Business Process Flow for certain users, it can be done as shown in below image.   Example: Marketing Team creates Inquiry (Opportunity) with required details and once it is created, Marketing Team proceeds to create Quotations for Products for the Inquiry was raised by clicking on Next Stage. Once Quotations are created, based on branching logic of whether Samples or Documents is needed, the stage alters. So If Quote Accepted = Yes and Sample Required= Yes, the next stage is Sampling Stage. Or if Quote Accepted= Yes and Sample Request = Yes and Document Request = Yes, the next stages are Sampling and Regulatory Stage. Or if Quote Accepted = Yes and Document Request = Yes, then there is no Sampling Stage as the next stage. So as seen above, we can see how based on different criteria and conditions the stages changes. These conditions can be defined as per the user’s Business Logic. Conclusion: Thus by using Business Process Flow we can guide user to navigate between different entities and complete the streamlined process and improve the productivity of the company.  

Share Story :

Integrating Data to Multiple Dynamics AX7 Legal Entities using TIBCO Cloud Integration

Posted On September 7, 2016 by Admin Posted in

Introduction: A single Microsoft Dynamics AX7 database can contain multiple individual company accounts. Each company account in an application uses the same application logic, but has its own set of data for tables. Data that is stored in one company account cannot be accessed from other companies. So, for Integrating data into these multiple individual company accounts, some procedures need to be followed. In this article, we will integrate Customers from Microsoft Dynamics CRM Online to multiple legal entities (companies) in Dynamics AX7, using the TIBCO Cloud Integration as an integration tool. Prerequisite: Microsoft Dynamics CRM Online. Dynamics AX7. TIBCO Cloud Integration Subscription. Purpose of the Setup: Our goal is to integrate Data from Microsoft Dynamics CRM Online to Multiple Companies which are setup in Dynamics AX7 through Batched Process. (It can be done in Real time as well). Steps: Configure a connection for your Microsoft Dynamics CRM Online by providing the required information. Configure a connection for your Dynamics AX7 by providing the required information. In the Company Name field of the connector: You can specify any legal entity name which is present in Dynamics AX7. Or You can specify your company name. We will consider two scenarios: Steps for creating records in multiple companies in Dynamics AX7:Scenario 1: We will create a Customer in CRM Online and integrate it to “DAT” Company of Dynamics AX7. Create a new Solution and specify the Solution name and the Agent. Note: Here, we are using a Cloud Agent. Now create an Advance Map for integrating Customers from CRM Online to Dynamics AX7. Source: Microsoft Dynamics CRM Online Target: Dynamics AX7 While mapping the fields, in dataAreaId field of Dynamics AX specify the legal entity name of AX7 for which the customers should be integrated. Note: In Dynamics AX7 table, the legal entity name for each record is stored in dataAreaId field. Test the Map by creating a Customer in CRM Online and then run the above Solution in TIBCO Cloud Integration. Now go into Dynamics AX7(DAT Company), you can see the customer has been integrated from CRM. Conclusion: If a dataAreaId field is specified, then records will be created in AX7 for that company (irrelevant to the company name specified in the TIBCO Cloud Integration AX Connector) If a dataAreaId field of AX is not specified, then the records will be created in AX for the company specified in the TIBCO Cloud Integration AX Connector. If company name in TIBCO Cloud Integration AX Connector is not present in Dynamics AX7, no records will be created and Scribe will give the following error: Steps for fetching records from multiple companies in Dynamics AX7:Scenario: We will create two Customers in Dynamics AX7 for two different companies (DAT and USMF) and integrate it to CRM Online. Create a new Advance Maps and specify Source and Target Connection. Source: Dynamics AX7. Target: Microsoft Dynamics CRM Online. In the Query block, mention filter criteria as: dataAreaId = “dat “ or dataAreaId =” usmf” Create Customers in Dynamics AX7; one customer in “DAT” company and another in “USMF”. Run the above Map from Scribe. Now go into CRM, you can see the customer has been integrated from Dynamics AX7. Conclusion: If a dataAreaId is not specified, records are fetched from AX7 of the company which is specified in the TIBCO Cloud Integration AX Connector. If a dataAreaId is specified, records are fetched from AX7 of the company which is specified in dataAreaId field. (irrelevant to the company name specified in the TIBCO Cloud Integration AX Connector or User Company Name)  

Share Story :

Download SharePoint file programmatically without sharing it – Dynamics CRM and ADX portal or custom portal

Posted On August 18, 2016 by Admin Posted in

This blog intends to able to download a SharePoint file without sharing it using Dynamics CRM and (optionally on-prem ADX portal since we can use below approach in custom portal as well). Many times we come across scenarios where we want to share SharePoint documents with end users on web portals without give them sharing access from SharePoint. Prerequisite CRM online SharePoint online Web portal code access (ADX on-prem or custom portal). Step 1: Enable SharePoint integration with CRM. Step 2: Custom code to access SharePoint document. Add the following code on the page where you want to show list of SharePoint documents to the end user. CS file code: DataTable dt = new DataTable(); var password = new SecureString(); foreach (var c in “yourpassword”.ToCharArray()) password.AppendChar(c); ClientContext cxt = new ClientContext(“https://yourdomain.sharepoint.com/Site1”); cxt.Credentials = new SharePointOnlineCredentials(“Username”, password); List list = cxt.Web.Lists.GetByTitle(“Document Sharing”); cxt.Load(list); cxt.Load(list.RootFolder); cxt.Load(list.RootFolder.Folders); cxt.Load(list.RootFolder.Files); cxt.ExecuteQuery(); FolderCollection fcol = list.RootFolder.Folders; List<string> lstFile = new List<string>(); DataRow dr; foreach (Folder f in fcol) { if (f.Name == relativeURL) //relative url of the file. { cxt.Load(f.Files); cxt.ExecuteQuery(); FileCollection fileCol = f.Files; foreach (File file in fileCol) { dr = dt.NewRow(); lstFile.Add(file.Name); dr[“fileName”] = file.Name.ToString(); dr[“createdOn”] = file.TimeCreated.ToShortDateString(); dr[“fileURL”] = @”javascript:downLoadFile(‘” + file.ServerRelativeUrl.ToString() + “‘)”; //Append Javascript function to the row. dt.Rows.Add(dr); } } } GridView2.DataSource = dt; //GridView2 being a grid added on your .aspx page. GridView2.DataBind(); GridView2.DataSource = dt; //GridView2 being a grid added on your .aspx page. GridView2.DataBind(); GridView2 in .aspx page: //Javascript function <script type=”text/javascript”> function downLoadFile(link) { window.open(“DownloadFile?url=” + link, “_blank”); } </script> //GridView Code <asp:GridView ID=”GridView2″ runat=”server” Visible=”true” AutoGenerateColumns=”False” BorderWidth=”1px” BackColor=”White” GridLines=”Vertical” CellPadding=”4″ BorderStyle=”None” BorderColor=”#DEDFDE” ForeColor=”Black”> <FooterStyle BackColor=”#CCCC99″> <PagerStyle ForeColor=”Black” HorizontalAlign=”Right” BackColor=”#F7F7DE”> <HeaderStyle ForeColor=”White” Font-Bold=”True” BackColor=”#6B696B”> <AlternatingRowStyle BackColor=”White”></asp:BoundField> <asp:TemplateField HeaderText=”File Name” HeaderStyle-Width=”10%” ItemStyle-Width=”10%” FooterStyle-Width=”10%”> <ItemTemplate> <%# Eval(“fileName”) %> </ItemTemplate> </asp:TemplateField> <asp:BoundField HeaderText=”Created On” DataField=”createdOn” HeaderStyle-Width=”5%” ItemStyle-Width=”5%” FooterStyle-Width=”5%”></asp:BoundField> </Columns> <SelectedRowStyle ForeColor=”White” Font-Bold=”True” BackColor=”#CE5D5A”></SelectedRowStyle> <RowStyle BackColor=”#F7F7DE”></RowStyle> </asp:GridView>   Download File: Add a new blank .aspx page to the portal named ‘DownloadFile.aspx’. This page will act as bridge for portal to connect to SharePoint and authenticate for being able to download the file. This file will contain code to authenticate the SharePoint connection for the portal to be able to download the file. DownloadFile.aspx.cs protected void Page_Load(object sender, EventArgs e) { string partialURL = “”; partialURL = Convert.ToString(Request.QueryString[“url”]); downloadFile(partialURL); } private void downloadFile(string relativeURL) { ClientContext cxt = new ClientContext(“https://yourdomain.sharepoint.com/Site1”); var password = new SecureString(); foreach (var c in “password”.ToCharArray()) password.AppendChar(c); cxt.Credentials = new SharePointOnlineCredentials(“username”, password); int pos = relativeURL.LastIndexOf(“/”) + 1; var fileRef = relativeURL; var fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(cxt, fileRef); var fileName = relativeURL.Substring(pos, relativeURL.Length – pos); using (var fileStream = new System.IO.MemoryStream()) { int extpos = fileName.LastIndexOf(“.”) + 1; fileInfo.Stream.CopyTo(fileStream); StreamToFileAttachment(fileStream, fileName); } } void StreamToFileAttachment(Stream str, string fileName) { byte[] byteBuffer = new byte[str.Length]; str.Position = 0; Response.AddHeader(“Content-Disposition”, “attachment; filename=\”” + fileName + “\””); Response.AddHeader(“Content-Length”, str.Length.ToString()); Response.ContentType = “application/octet-stream”; int len = 0; while ((len = str.Read(byteBuffer, 0, byteBuffer.Length)) > 0) { { Response.BinaryWrite(byteBuffer); } Response.Flush(); } } Conclusion Using above code we can download SharePoint Document without actually sharing document with the end user.

Share Story :

Contractor access in PM Solution

Posted On July 11, 2016 by Admin Posted in

Summary This feature enables administrator to provide access to contractor using Project Management solution.  User (contractor) should be able to see only assigned projects, tasks, billing codes and easily be able to enter time against project. User will not able to see any value in money fields present on project/task/billing code. If User want to see any money related field, then administrator have ability to customize this requirement according to business need. Only system administrator and manager will able to view all fields value present on project, project task and billing code. Pre- Requisites 1. User with system administrator role in CRM 2. Project Management solution should be installed. If you don’t have solution, please contact support@cloudfronts.com or navigate to for more information. Steps 1. Create user in Office 365 and assigned CRM licenced. (e.g. CRM Essential) 2. Assigned PSM Core role and PSM Project Team Member to user. 3. We will go through two different scenarios in Project Management solution When Contractor logged into the CRM When Manager/Administrator logged into the CRM Scenario 1:  When Contractor logged into the CRM In current scenario user mihir kadam(contractor) is logged in to the CRM. Mihir kadam will able to see only limited entities and web resources based on security permission. We can customize this as per requirement.   Click on Project Entity to see what all details are visible to the user. Mihir kadam is able to view only one project because he has added as team member to only one project by project manager (Kuldeep Gupta). In project entity view, following fields are empty because user does not have enough permission to view this fields. 1. Actual revenue 2. Total budget   If Mihir kadam want to do time entry for any project, then he has to navigate to Timesheet from project management navigation menu.   Scenario 2: When Manager/Administrator logged into the CRM In current scenario user Kuldeep Gupta(Manager) is logged in to the CRM. Kuldeep Gupta will able to see all entities and web resources based on security permission.   Click on Project Entity to see what all details are visible to the user. Kuldeep Gupta is able to view only all projects but modification is allowed only for owned project. Open record to view more details about project. If you notice Kuldeep Gupta is able to read all information including Total budget and actual revenue. Conclusion By using Contractor access in Project management solution any outside consultant can do time entry for ongoing project without knowing company’s actual revenue/ budget/ rate.

Share Story :

Salesforce → CRM real-time Integration

Introduction This article is 2nd part of the blog published earlier on CRM and Salesforce integration. In earlier blog, we have seen how we can do real-time integration from Dynamics CRM to Salesforce. In this blog we will see how to do real-time integration from Salesforce to Dynamics CRM. Requirements Let’s assume a real world example. Contoso company tracks their Accounts and Contact details in Salesforce and customer care in Dynamics CRM. So they want allow creation of Accounts and Contacts in Salesforce and those should get created in Dynamics CRM in real-time. Also, they want to handle any Account/Contact update to be reflected in Dynamics CRM. Implementation Approach Below are the steps we will follow to do this integration for an Account entity. To trigger integration from Salesforce, we will implement a workflow rule in Salesforce on an Account object. We will configure this workflow to get triggered on Account creation or update. Add an Outbound Message as an action in above workflow rule to pass the data to integration service which will actually do the integration. The integration service will be hosted on either azure environment or externally accessible web server (e.g. IIS). Once we configure outbound message, we will use the WSDL generated by outbound message and create a web service which will perform below operations: Consume the outbound message Connect to Dynamics CRM Create/update record in Dynamics CRM as per outbound message. Log integration details. In this way, we can achieve real-time integration from Salesforce to CRM without modifying any Salesforce object or without having need to understand Salesforce query language. Implementation Steps Login to Salesforce environment. Create Workflow Rule as per below screenshot (More about workflow rules). Name: Give any rule name which is easy to understand purpose of the workflow rule. Object: Select Account object as we are doing integration for Account create/update. Select Evaluation Criteria as ‘Evaluate the rule when a record is created, and every time it’s edited. In Rule Criteria section, Select Run this rule if the following as ‘formula evaluates to true’. In formula, put 1 = 1 and click on Save. We are putting this condition to allow all records and not filter any. Add an outbound message as an action as per below screenshot in the workflow rule. Name: Give any name which is easy to understand purpose of the message. Object: Select Account. Endpoint URL: <hosted web service URL with asmx extension at the end> Select Send Session ID checkbox. Select All Columns. Once created, you need to create a web service project. Use below link to do the same. https://developer.salesforce.com/page/Creating_an_Outbound_Messaging_Notification_Service_with_CSharp_and_.Net_Framework_2.0 Once you are ready with above ASMX web service, write C# code to connect to CRM and consume the Outbound message as shown in above blog.   Functional Flow chart  

Share Story :

Interactive Service Hub

What is Interactive Service Hub? Interactive Service Dashboard is a single place where Customer Service Manager/Customer Service Representative can perform all customer service related activities. This feature is introduced in CRM Online 2016 Update and is available on CRM 2016 On Premise as well. What is not supported by Interactive Service Hub? This feature is available only on Web Browser and is not available on clients like CRM for Outlook, CRM for Phones and CRM for Tablets. Right to Left (RTL) languages are not supported. e.g. Hebrew and Arabic Third party accessibility aids such as Screen readers are not supported. Keyboard navigation is also not possible in Interactive Service Dashboard. How to access Interactive Service Hub? Below are the 3 ways in which you can access Interactive Service Hub: From CRM Notifications ribbon   From Settings -> Interactive Service Hub   From putting URL in browser CRM Online Environments: https://<CRM Server>.crm#.dynamics.com/engagementhub.aspx CRM On Premise Environments: <your CRM Server>/<orgname>/engagementhub.aspx Internet Facing Deployed (IFD) Environments: https://< hostname[:port]>/engagementhub.apsx. Manage Different Record Types Interactive Service Hub can be enabled for any entity. By default, it is enabled for below entities: Accounts Contacts Cases Activities: Email, Task, Appointment, Phone Call, Social Activity Queue Items Dashboards Social Profiles Entities which are enabled for mobile are also available for use in the interactive service hub, but these records are read-only. Interactive Service Hub Navigation Menu Note: Navigation bar of Interactive Service Hub is different than that of CRM. In Interactive Service Hub navigation, only those entities are shown that are enabled for Interactive Experience. Like CRM Navigation, we can go to any interactive experience enabled entity from top Menu as shown in below screenshot. When you open any record in Interactive Service Hub, you can navigate between records of the view (from where record is opened) using arrow Keys. You can also see recent records similar to CRM as shown in below screenshot Or You can create records using ‘+’ sign in navigation bar. You can use Search option to search records in Interactive Experience Enabled entities. Understand new form layouts in Interactive Service Hub Business Processes In interactive service hub, business processes are shown as a process bar on forms on top. By default, the process bar is collapsed and when user clicks on any state, its fields are popup as fly out. Default collapsed view: When user clicks on stage: Entity Forms Unlike CRM forms, in interactive service hub, tabs on forms are placed horizontally as shown in below screenshot. Entity Card For interactive service hub, new form type is introduced as Card. Card is shown as a tile in interactive service hub with most important details of the record in shorter area. Below screenshot shows how cards are shown in interactive service hub. Timeline In interactive service hub, on case record, the timeline section is added to help users in tracking all case history right within the same page without navigating to multiple places. You can create any new activity, search or filter activities in Timeline section. You can also perform quick actions on the activities right from Timeline section. You can navigate to respective activity by clicking title of an activity. Related section on entity record We can see list of related records in same page of entity record form. For cases, user can directly see knowledge articles. Dashboards My knowledge dashboard This dashboard is designed to provide an overview of knowledge base articles, e.g. number of knowledge articles and their status, etc. This helps knowledge manager in knowing about expiry month of articles, number of articles to review, etc. Stream shows data from views/ queues. In knowledge dashboard, the stream shows the active articles assigned to the author. Charts provide a count of relevant records in the streams, such as articles by status reason, articles by owner, etc. Charts can be drilled down to see details. Tiles give authors numerical values to get an idea about the status of knowledge data. We can perform actions directly from dashboards without opening record. e.g. if we want to close a case without, we can directly do so from dashboard as shown in below screenshot: Customize Interactive Service Hub Forms Supported Entities Below are the only out of box entities which are allowed for interactive service hub and are by default enabled: Account Contact Case Out-of-the-box activities (phone, task, email, appointment, and social activity) Social Profile Queue Item Knowledge Article Custom entities can be enabled for interactive experience. Entity Form Types Main – Interactive experience Only used in interactive service hub. This is the main form to which is shown when user access any entity record in interactive service hub. Card Form Only used in interactive service hub. This is the form which is shown in dashboard stream areas. Quick Create This form is shared between Dynamics CRM and Interactive Service Hub. This form is used to quickly add records and is rendered vertically at the right side of the screen in interactive service hub. Quick View This form is shared between Dynamics CRM and Interactive Service Hub. This form is used to show related information of any lookup field. Reference Link How to create/design interactive forms: https://technet.microsoft.com/library/b6df6d11-9272-4c68-b516-e12c6e701622.aspx How to customize interactive service hub: https://technet.microsoft.com/library/d1446a95-14bf-4b15-a905-72fce07f4c76.aspx Work with interactive service hub form components: https://technet.microsoft.com/en-us/library/mt622060.aspx  

Share Story :

Migration of Invoices from Microsoft Dynamics CRM to Microsoft Dynamics NAV

Posted On May 4, 2016 by Admin Posted in

Consider a scenario where we want the Invoice generated in Microsoft Dynamics CRM to be saved in an ERP. In this article, we will migrate the invoice that is generated in CRM to Dynamics NAV using TIBCO Cloud Integration as Integration Tool. Prerequisite: CRM Online environment Dynamics NAV TIBCO Cloud Integration subscription TIBCO Cloud Integration On-Premise Agent on the server where Dynamics NAV is installed Step 1: Login to TIBCO Cloud Integration Login to TIBCO Cloud Integration (https://online.scribesoft.com/) in the server where Dynamics NAV is installed Go to Agents and create Agent from NEW option Install On-Premise Agent and copy the Agent key as well After installation, you can provide the name for the agent Step 2: Creation of Source and Target connection. Creating a new connection for CRM environment: Select ‘Microsoft Dynamics CRM’ as the Type. Provide the connection details and select ‘Cloud Agent’ for CRM Online environment as shown in screenshot below. Fig. Connection for Dynamics CRM   Creating a connection for Dynamics NAV: Select Microsoft Dynamics NAV as the Type. Provide the connection details and select the On-Premise Agent which is installed on the server where Dynamics NAV is installed. Refer below screenshot for the same. Fig. Connection for Dynamics NAV   Step 3: Creating solutions for maps Create a new solution. Select the On-Premise Agent. Create Advanced Map.Note: There will be two Advanced Maps in the solution. One for ‘Account’ entity migration from CRM to NAV and one for ‘Invoice’ entity migration from CRM to NAV. In the Map for Account migration: Select source connection as the CRM connection In the Query block select ‘Account’ entity Select the target connection as the Dynamics NAV connection In the Create block of the target connection select ‘NAVCustomer’ entity In ‘Create’ block map the required fields. Also we need to use the ‘Update’ block to update the ‘No’ field generated for a Customer in NAV to the ‘accountnumber’ field in CRM. We use the ‘accountid’ field as the matching criteria in the update block. Fig. TIBCO Cloud Integration Map for Account migration   In the Map for Invoice Migration: Select source connection as the CRM connection Select ‘Invoice’ entity in the query block Add invoicedetail as ‘Related entity’ in the Query block Select the target connection as Dynamics NAV connection The flow for creating the Invoice and its related invoice product is as follows: Fig. TIBCO Cloud Integration Map for Invoice migration Step 1: Lookup on account entity in the source and fetch its accountnumber field (which will contain the No that we have updated in the Account migration map). Step 2: Lookup on ‘NAVCustomer’ entity by using the accountnumber fetched in Step 1 as matching criteria and fetch its Name. Step 3: Use ‘Create’ block to create the Invoice entity in NAV. Select ‘NAVInvoice’ entity in the create block. Map the fields required. Fig. Mapping for Create block in NAVInvoice   Step 4: Use ‘For each child’ block for fetching the products present on that particular invoice. Step 5: Use create block in the ‘for each child’ block and select ‘NAVInvoiceSalesLines’ entity. Fig. Mapping for Create block in NAVInvoiceSalesLines   Step 5:Execution of maps for account and invoice entities. Account is updated in CRM. Fig. Before execution of CRM account Fig. After execution the AccountNumber is populated with the No that is generated in NAV   Customer is created in NAV. Fig. Customer in Dynamics NAV   Create an invoice with this customer in CRM and Run the Map. Fig. Invoice in Dynamics NAV   An invoice is created with that customer in NAV.  

Share Story :

SEARCH BLOGS:

FOLLOW CLOUDFRONTS BLOG :


Secured By miniOrange