Improve fetch xml performance by using latematerialize option.

If you have been working on dynamics projects, I bet fetch xml is your best friend as it’s really an easiest way to query and execute in order to get required results. Along with that, constructing it in advanced find is super easy too.

Don’t forget about amazing XRM toolboxes which helps you creating even complex fetch xml queries.

It all sounds fun and easy till your fetch XML becomes really heavy with so many joins or you have a requirement where you need to make many joins.

A Quick tip!

You can have a maximum of 10 joins in fetch xml for dynamics CE.

You will notice that retrieval from dynamics is getting slower and slower as fetch xml becomes complicated. I have faced something similar multiple times. What I did?

well, there are multiple options one of which I want to cover today as using this option, there are no extra efforts.

latematerialize to the rescue!

All you got to do is add latematerialize=”true” in fetch xml properties like below and test is to see the magic.

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" latematerialize="true">
  <entity name="account">
    <attribute name="emailaddress1" />
    <attribute name="statecode" />
    <attribute name="statuscode" />
    <attribute name="ownerid" />
    <attribute name="accountnumber" />
    <link-entity name="contact" from="contactid" to="primarycontactid">
      <attribute name="birthdate" />
      <attribute name="createdon" />
      <attribute name="contactid" />
      <attribute name="parentcustomerid" />
    </link-entity>
  </entity>
</fetch>

There are many internal technicalities as to how it works but to summarize, It breaks the data into multiple smaller segments which makes the retrieval of data faster unlike normal fetch xml which tries to query every at once.

if you are looking for official documentation on the same, please go here: Improve FetchXML request performance – Power Apps | Microsoft Docs

Advertisement

No “Change Tracking” option available under entity definition?

No change tracking available under entity definition.

To be able to add an entity to data export service, you would need to make sure the change tracking option is enabled on the entity definition.

we generally go to Settings – > solution or customize the system -> look for the entity and under “Data services” option, you should see the change tracking option. However it’s not the case anymore.


The option has disappeared from classic UI entity definition.

So where is this setting now? Well, you will find it in https://make.powerapps.com portal now. In order to see it, go to powerapps portal or click on above url.


1. Make sure you in the right environment from top right corner.
2. Click on solutions from the left menu:

3. Select the solution in which entity is there or default solution.
4. Navigate to the tables and click on the desired table and click on edit.


5. Again click on “edit table properties”

6. Expand advanced option section and select the “Track Changes” Option:

And that it! you should be good to go after publishing.

MB2-877 MICROSOFT DYNAMICS 365 FOR FIELD SERVICE MODULE 1 TOPIC – Integrate other tools with Field Service

This is the 6th blog of this series, before this I have created a blog on the topic “Configure additional options”  from Module 1 which you can check here : MB2-877 MICROSOFT DYNAMICS 365 FOR FIELD SERVICE MODULE 1 TOPIC – CONFIGURE ADDITIONAL OPTION

In this blog we will cover up the last topic from the module 1 “Integrate other tools with Field Service

  1. Automate processes by using Microsoft Flows
    In Your field service you can very well take advantage of powerful Microsoft flows which takes traditional workflows to the next level and allows you to automate processes that span multiple systems. Here are some main points:

    a. Build process automation that span systems
    b. Visual designer to compose automations
    c. Connect to services to access data
    d. Built on top of Microsoft Azure Logic Apps
    e. Can be on demand from PowerApps or triggered by event

    To know more about them : https://flow.microsoft.com/en-us/

  2. Build flows using Visual Designer
    You will have a visual designer which you use when designing a flow, in the example below you can utilize a flow for sending an exchange email when a new file is added in drobox to anyone:

    Apart from it , you get many predefined flow templates that you can use such as an approval process template , getting text messages on work order processes etc.

    You can create a flow or utilising existing ones either from the main entity bar:

    Or direcly by going to microsoft flows app by clicking on the main 365 navigation and by clicking on ‘Flows‘:

  3. Identify uses for the Twilio solution

    Twilio is an API that allows developers to make phone calls means make and receive phone calls programmatically.  It also has an interface that you can use to send and receive text messages using web service APIs. You can have the same capability using Microsoft Flow because Microsoft Flow does interact with the Twilio APIs as well to send SMS messages using Flow, but there is also a Twilio solution that can be downloaded and installed into your Dynamics 365 organization.

    So main points are:
    a. Allows software developers to programmatically make and receive phone calls and send and receive text messages using its web service APIs.

    b. Twilio has a Dynamics 365 Solution that can be installed into an organization (Requires a Twilio Account)

    Download Solution Link:

    https://www.microsoft.com/en-us/download/details.aspx?id=53586

  4. Identify opportunities to integrate Glympse with the Connected Field Service solution.
    The Glympse solution is available through App Source.  If you go into the Dynamics 365 marketplace, you can download and configure the solution. Its integration that enhances Microsoft Dynamics 365 Field Service experiences with live map technician view and appointment ETA.

    The Main points are :

    • Provide real-time notification to techs & customers
    • Notification sent through SMS or email
    • Uses GPS location in Field Service mobile application
    • Can be configured for voice messages
    • Available through App Source

How how these journey would like on the phone:

So, this is the last blog of the Module 1 – “Set Up & Configure Field Service” Which covers 15-20% of the certification.  We have come                  pretty much far but we have long way to go 🙂

I will see you in the next blog with new interesting module : Manage Work Order.

Cheers!

MB2-877 MICROSOFT DYNAMICS 365 FOR FIELD SERVICE MODULE 1 TOPIC – Configure additional options

This is the 5th blog of this series, before this I have created a blog on the topic “Configure bookable resources”  from Module 1 which you can check here :MB2-877 MICROSOFT DYNAMICS 365 FOR FIELD SERVICE MODULE 1 TOPIC – CONFIGURE BOOKABLE RESOURCES

In this blog we will cover up the topic from the module 1 “Configure additional options

  1. Configure territories and organizational units
    You can create territories for your resources in field service.Now, remember that traditionally when you’re using territories with Dynamics 365, you’re really just dealing with one territory per resource.  But in this situation, a resource might service multiple territories.  So I do have the capabilities to add multiple territories in here based upon my specific situation. To add a territory go from field service > Field Service Settings  > Territory :
    Click on “Add new territory” and fill out below information such as “name” and manager which is optional:

    Once you save and close this territory now you can go and assign this to your resource by following below steps. Open Resource and click on “Related” Tab and select “Resource territory.” Finally say add a new resource territory which will help you to use the recently created territory:

    Save and close:

    Organizational Units.
    Below are the main points on organization units before we configure them:
    a. They are Different from Business Units

    b. Organizational units represent how your consulting company categorizes its different businesses.

    c. Each Organizational Unit can have Latitude and Longitude define to assist in the scheduling process.

    To Configure an orgnizational units go from field service > Resource Scheduling >  Organization Units and click on add new organization unit:

    Add below information and save and close. Later you associated this with a resource:




  2. Identify skills types
    Now when you are setting up your resource you might want a placeholder to say this resource has this skill i,e a consultant or technician etc.  To Define a skill or characteristic for a resource  go From Field Service > Resource Scheduling > Resource Skill and click on New > Add required field such as name of the skill and select the type as “Skill” > click on save and close:

    Post this this, it will be available to be associated to the resource. from your resource click on ” Field Service” Tab and in the “Resource Characterstics” Subgrid , click on New. Look for the skill that we have created and click on Save:

  3. Configure characteristics and skills & Configure proficiency models below are useful points about characteristics/Skill:
    a. Skills / Characteristics are used to define areas in which resources are proficient

    Can be broken into two types:

    • Skill
    • Certification

     b. Used with proficiency models to denote a specific skill level in an area.

     c. Proficiency model is look up to additional values can be added or removed.

    Configuration:
    Before configuring Characteristics and skills we will first have to define a proficiency model as this is linked to a skill. You can configure a new one but i am going to use standard out of the box rating model by going to field service > Resource Scheduling > Proficiency Model:

    Open the default existing model and you will field like min and max rating and also a sub grid below which actually tells the rating:

    Now if you want to lets say customize it and would like to add a new rating ‘Expert’ what you will have to do is first make the max rating to ‘4’ so that 4 rating can be added. To that and save the record and what it does it add 4 options to the  grid and ask you to enter the names for 4 rating:

    select each rating and edit the label and we are ready to go and configure a characteristic to do this follow the steps given in the 2nd step above ‘Identify a skill type’ wherein i have added a characteristic as ‘Technical Consultant’.  Now if you go to resource and add characteristic for it you will add the skill as ‘technical consultant’ and rating value as well which we defined.

    One Important Point : We have been talking about Characteristic & Skill alot but on the grounds these two are exactly the same so dont get confused.

  4. Implement resource roles and categories
    This option allows you to define what specific roles that a particular resource is going to play inside your organization.  few points:

    a. Define the role that a resource can play within an organizationb. Can be used for filtering on the Schedule Board

    c. Often used with Project Service Automation to define generic place holders for needed resources on projects

    To add a Resource Role/Category, go from field service > Resource Scheduling >  click on Resource Roles:

    add below information such as name, I have taken as ‘trainee‘ and other details such as utilization and Billing Type etc and click on save &  close:

    Now you will be able to associate this to a resource.

    One Important Point : We have been talking about Roles & Category alot but on the grounds these two are exactly the same so dont get confused.

  5. Explain differences between organizational units and business units They are very much different. The major difference between them is that a traditional business unit drives the security structure of you dynamics crm however an organizational unit is just a placeholder for categorization  of your business.
    That’s it for this blog, I will see in the last topic of this module in the next blog.

    —————————————————————————————–

MB2-877 Microsoft Dynamics 365 for Field Service Module 1 Topic – Configure product and service pricing

This is the 3rd blog of this series, before this I have created a blog on the first topic “Perform initial configuration steps”  from Module 1 which you can check here : MB2-877 Microsoft Dynamics 365 for Field Service Module 1 Topic – Perform initial configuration steps

In this blog we will cover up the second Topic from the module 1 “Configure product and service pricing

NOTE : Before we start the module I would strongly suggest you to understand product catalogue in dynamics crm as we will be using price lists, products, unit groups etc alot :   https://docs.microsoft.com/en-us/dynamics365/customer-engagement/sales-enterprise/set-up-product-catalog-walkthrough   and if you have the knowledge already lets begin:

 

  1. Configure product and service pricing features including minimum charge amount, minimum charge duration, and the flat fee option
    You can add default “Standard” Price List to your Product in field service, however when you think about “Service” you might want to handle its price list slightly different. In Field service to accomplish this “Field Service Price List” has been added to dynamics CRM:
    Once you have configured a price list , you then navigate to “Related” option and click on “Field Service Price List Items”.

    ( Note that My field service is in Unified Interface so don’t get confused, I am intentionally using field service application – Once you have created a dynamics CRM trial for yourself which should include field service module too, you will see the field service app which you can access :

    So, Once your default price list – navigate to the related Field service price list and click on “Add new field service price list”

    If you see above I have set Flat Fee, Min Charge Amount & Minimum Charge Duration. Let’s understand what these options are:

    Flat Fee – If enabled then the pricing of this item will be not be multiplied by the quantity  and also Let’s you decide if a fixed fee for this service applies.

    Minimum Charge Duration–  If this field has a value , The Min charge will first apply to the minimum duration and beyond the min duration the standard charges will apply in short it will make some amount of time service free.

    Minimum Charge Amount –  As name suggest these are minimum charges for this service which correlates to the min charge duration. 

    lets do some math, assume my training per hour charge is 20,000 INR.
    now if  I apply above field service price list. The requirement is for 5 hours of training. then the math goes like this:

    Minimum Charge Duration defined by me is 1 hour. The requirement is 5 hour which means the bill will be for 4 hour which is 4*20,000= 80,000 INR then on this my minimum charge amount will be added which is 10,000 INR. So the final bill will be 90,000 INR.

     

  2. Add Products & Services to Incidents

    To this, simply navigate to Field service > Incident Type and add incident type. Once you do that; Now When you creating a work order and select incident there – it creates an incident for you which will have the product or service associated. so on a work order you can add product or services via incident.

  3. Determine when a Product has default Price List and a work order price list.

    Here are some quick points to cover up this topic. As we know Price List can be associated to following entities:

    • Account
    • Work Order
    • Agreement
    • product or service

    There there can be a clash in which price list to be used when they combine such as what if work order has a price list & also associated product has a price list too, in that scenario we’ll consider below:

    a. The Work Order Price List is used if a product has a different default price list than the Work Order

    b. The price of the product will come from the list price on the product if an Item is not on the Work Order Price List


  4. Associate Products & Services to Price Lists.

    Its Quiet easy and straight forward to associated a product or service to a price list. To do this go from Field service navigation > Field service navigation then click on an existing price list or create new as needed.



    Open an existing price list or create new one and click on “Price List Items” & click on “+Add New Price List Item”:



    Add the Product to it in my case I have added as “Exam preparation” and its Unit in “Hour” which is all defined on the product level and click on Save and Close.



  5. Define tax code.
    You can define tax code within your dynamics CRM field service. Remember you can have different scenarios/requirement to have different – different tax codes.

    To define a tax code, click on the dynamics 365 navigation from within field service app and click on field service setting and then on “Tax Codes“:

    Click on “Add new tax code”:

    Few important points on Tax Codes:  
    a. Used to define how tax on Work Order charged
    b. Tax options for products,
    agreements, and services
    c. Can be individually defined
    for each taxable item
    d. A tax code can contain
    multiple child tax codes and hence the total tax is defined by the sum of all the children.

 

MB2-877 Microsoft Dynamics 365 for Field Service Exam Overview

I have been planning for this certification since quiet a while now. I am very much attracted towards the field service addition to dynamics CRM hence I decided to finally schedule the exam.

So will be preparing for this exam for next couple of weeks & as I go, I will be creating blogs on my study for this exam. I will try to put as much as details and explanation to understand the concepts.

The blog series will be fully aligned with the exam pattern given on the Microsoft learning page:

1.png

Visit this page here :  https://www.microsoft.com/en-us/learning/exam-mb2-877.aspx & familiarize yourself with this exam.

What will you get out of this exam?

Well, I should have wrote this question in the beginning of this blog but it is not too late to talk about this now!
If you have a client which very much customer oriented and does a lot field work such as proving services as at home such as Instillation, uninstallation, fix/repair/service of the products that company offers,  The field service module of dynamics CRM is perfect for them. Hence you have to have knowledge on this module of dynamics CRM.

I am very much excited to start the series and hope so are you.
In the next and very first blog, We will go through the the first main topic “Perform Initial Configuration Steps”  from Set up and Configure Field service module.

2.png

So, I will see you in the next blog shortly! Make sure you subscribe to my blogs to get notified on next blogs!

How to use Configuration Migration / Data Migration Utility in Dynamics CRM

Explore Dynamics CRM

In this blog i will detail on using Configuration Migration/ Data Migration utility. This can be used to move the configuration data from one CRM environment to other. generally Configuration data is used to defines custom functionality in CRM, which is typically stored in custom entities.

Often we need to migrate configuration data from one CRM environment to other, especially test data, master data setup etc. Microsoft provided an excellent tool for doing this.

Following are the benefits of using this tool,

  1. allows you to select entity and fields from where you want to export the configuration data.
  2. large amount of data from multiple entities can be moved from one crm environment to other.
  3. Data can be imported using the same GUID’s as that of the source system, hence lookup references to imported records will be valid.
  4. Schema file can be reused to export data from different source environments.

Below…

View original post 718 more words

Error While Connecting To CRM Online Using Kingsway SSIS Connector

Issue:

I have recently got this error when i was preparing an SSIS package for Dynamics CRM 365 Online and used Kingsway SSIS connector.

Kingsway1

Resolution:

After digging in further this error is mainly caused by the request and reponse timings,So, when i checked i found out my system time was somehow 5 minutes ahead of the current time, hence the request going to CRM server was of a future time and hence this error showed up.

All i had to do is fix my system time. Sometimes even if your system time is fine, you might still get the error, In that scenario too try to change the time as 5 minutes less.

 

Once i did that -my organisation name popped up without any issue.
kingsway2.png

 

Hope this helps!

Cheers!

 

An unsecured or incorrectly secured fault was received from the other party

Issue :

Recently i have encountered this error when i was trying to connect to Dynamics CRM 365 online.

error1.PNG

 

I digged in further and found a post where couple of suggestions were mentioned :

https://community.dynamics.com/crm/f/117/t/204264

Solution : It was to do with my system settings(Time) – my system time was ahead of the server time. which means the request was going to server with a future time. 

hence i have changed the time in my system clock to be 5 minutes less. Which indeed worked.

 

I hope this helps!