Scribe Online – Working with Hierarchical Data in Dynamics 365 CE


In the previous post, we saw how to create XML connection and using it as a source to create records in Dynamics 365 CE.

https://nishantrana.me/2019/01/11/scribe-online-xml-to-dynamics-365-ce/

In this post, we will see how to consume the hierarchical XML data as a source and create parent-child records in Dynamics 365 CE.

Suppose this is our source data with the following relationship

Contact à n Contract à n Asset à n Asset Line

As a first step we need to get the XSD for it, which we will use while defining the XML connection.

https://www.freeformatter.com/xsd-generator.html

Our XML connection

Similarly, add the CRM Connection.

This is how our final mapping will look like

For Query Contact Block (xml) à select Entity as Contact.

For the Include tab, we have selected all the child (tag) entities to be included.

For Create Contact (CRM) block we have mapped the first name and last name field

For For Each Child block select the relationship.

Followed by Create Contract block with following fields mapping.

Here we are setting the contact’s lookup in the contract entity using the Results from Contact Create steps.

Repeat the same steps for remaining child entities like Asset and Asset Line by selecting the relationship in for each child block and in the next create step setting the fields appropriately.

Validate and close the map and run the solution.

On successful run, we can see the records created in CRM

Hope it helps..

Gotcha! Does Library name really matter while registering event handler in Dynamics 365


Debajit's avatarDebajit's Dynamic CRM Blog

Registering an event handler for your form events or field events – Probably the most mundane stuffs that you would perform everyday if you a CRM consultant. But sometimes the simplest things have the greatest mysteries to unfold.

Now here I was in a training session emphasizing the importance of namespaces while you write your JavaScript files. And I was explaining how can putting the same method name in multiple files can actually lead to different event handler being called for your event instead of the desired event handler registered.

And then I get this question – “How is that possible? After all we specify the library name while specifying the event handler. Isn’t it?” Well the participants were pretty experienced in CRM and honestly I was also into split thought after I heard.

image

After all from the basic concept of the Javascript I know, the first function which matches…

View original post 311 more words

Scribe Online – XML to Dynamics 365 CE


Follow the earlier posts to create the Scribe Online trial and steps to create an integration solution.

Below is our sample XML file that holds the contact information that we want to create inside Dynamics 365 CE

For creating XML connection, we need the XSD file.

So let us generate the XSD file using the below tool

https://www.freeformatter.com/xsd-generator.html

The generated XSD –

Now install the XML Connector from the Marketplace.

Then create a new connection specifying the XML File and the XSD File.

Let us create the integration solution, go to Solution and click on create a new integration solution

Create a new integration map for the solution as shown below

Add the XML connection and the CRM Connection to the map and drag the Query block (XML Connection)

For Query Block select the contact entity.

The add the For Each Result block and insert the Create block (CRM) within it

For Create block, the select entity as Contact.

For the Fields tab, map the source fields to the target.

Click on ok to close the map editor and back in Solution, click on RUN to execute the solution.

After successful completion,

The success.xml created in the same folder where we had XML source file.

And also, we can see the records created in CRM.

In the next post, we will see how we can consume hierarchical XML data to create parent-child records in CRM.

Hope it helps..

Scribe Online: Working with Lookup block – Dynamics 365 CE


Let us continue with our previous post in which we created a solution to pull data from SQL On-Premise and create lead records in Dynamics 365.

Let us create a new table which will be our source here.

Table Name – Transaction

2 columns – ID and Brand.

Transaction and Brand have n -1 relationship i.e. Transaction record have a Brand lookup field in it.

The brand value will be used for two things here.

  • We’d set the Brand lookup field based on its text.
  • The brand record has another lookup field for the team, whose value we will pick and set it as owner for the current transaction record.

Login to https://app.scribesoft.com Scribe Online

Create a new solution and add a new integration map to it and add the SQL On-Premise Connection and CRM Connection to it and add the Query Block (SQL), For Each Result, Lookup and Create (CRM) to it as shown below.

Now let us set the properties for each of the blocks.

For Query Block, we have selected Transaction Table as Entity

For Lookup Block,

First, we have selected our custom entity Brand.

We want Brand Id and Fashion Team Brand lookup’s GUID from the Brand entity based on Brand name from our source transaction table.

For lookup criteria of Lookup Block select the Brand value of the Transaction source à

For Field List, we have selected Team GUID field and Brand GUID which will be used for creating the transaction record.

Now for the Create block.

We have selected the custom transaction header entity

For Fields, we have mapped Brand Id lookup field of Transaction Header with Brand GUID retrieved from Lookup.

And Owner Id field with Brand Team’s GUID and for OwnerIdType we have passed “Team” as a string value.

Now on running the integration, we can see 2 rows of the table processed.

Within CRM

We can see the Brand lookup set and also owner set to the team of the particular brand.

To see how to implement the same using KingswaySoft Dynamics 365 Integration Toolkit refer the below post

https://nishantrana.me/2018/05/22/using-lookup-transformation-and-cache-transformation-in-ssis-for-dynamics-365-using-kingswaysoft/

Hope it helps..

Working with OptionSet \ Picklist in Scribe Online


Scribe Online makes it very easy to work with OptionSets while writing Integration and Replication solutions.

While creating the Dynamics 365 CE connection we can check the Include Picklist Display Names checkbox.

Scribe generates a corresponding field schemaname_displayname that holds the label for the corresponding option set.

Within our Query Block inside an integration type solution, we can see the display name fields added for each corresponding option set field.

Go to the Preview tab

Here we can see leadqualitycode_displayname, leadsourcecode_displayname etc. field added.

Within our Filter criteria, we can directly refer the label as shown below.

We can get the label from the Preview tab itself by clicking on the information icon next to the field as shown below instead of opening CRM.

Hope it helps..

Using Scribe Online Replication Services (RS) to replicate Dynamics CE Data


Scribe Online provides Replication Services that makes it extremely easy to replicate the data, schedule it and also includes auto-detection of changes.

Follow previous posts to create a free trial of scribe online and create a connection for SQL Server On-Premise and Dynamics 365.

Here we will be creating a Solution of type Replication.

Login to Scribe Online

https://app.scribesoft.com

In the Dashboard, select create new Replication option for the Solution.

Here for simplicity, we will be replicating Lead data to our SQL On-Premise database.

Specify CRM Connection for Source Connection and SQL On-Premise Database for the Target Connection

In Select Entities dialog box, we will be selecting the Lead entity.

This is how our replication solution looks like

Click on RUN to start the execution

Once it completes successfully, we can see the records processed, the duration it took and records inserted per seconds in the execution history.

Back in our Database, we can see the table created and all the leads record inserted

Here for option set and status fields we can see the _displayname field added that holds the corresponding display name for the option set’s value. This is governed through the connection properties.

Now let us run the solution again immediately.

We’d see no records processed.

Now let us create a new lead inside CRM and run the solution again.

We can see that record processed.

Now let us delete records from CRM and run it again. Here we have deleted 250 records.

We will see the 250 records processed and deleted from our table in the database as well.

Now let us update one of the lead records and run the solution again. On successful completion we can see 1 record updated by the solution.

Thus the replication services makes very efficiently manages the replication of the data considering all the scenario like create, update, delete.

Hope it helps..

Nishant Rana's Weblog

Everything related to Microsoft .NET Technology

Skip to content ↓