<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Rakesh Darge's Blog]]></title><description><![CDATA[Lifelong Learner | Blogger | YouTuber | Community Speaker | Exploring | Twitter: @DargeRakesh]]></description><link>https://d365cliffsnotes.com</link><generator>RSS for Node</generator><lastBuildDate>Tue, 12 May 2026 07:04:08 GMT</lastBuildDate><atom:link href="https://d365cliffsnotes.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA["Fix ‘This is Not a Unified Environment’ Error in D365 FO – Why Metadata Download Fails in Visual Studio"]]></title><description><![CDATA[🚨 “This is not a unified environment…” - A Story Every Dynamics 365 Finance & Operations Developer Should Hear
Let me start with a real story from one of my recent engagements.
A few weeks ago, I was]]></description><link>https://d365cliffsnotes.com/fix-this-is-not-a-unified-environment-error-in-d365-fo-why-metadata-download-fails-in-visual-studio</link><guid isPermaLink="true">https://d365cliffsnotes.com/fix-this-is-not-a-unified-environment-error-in-d365-fo-why-metadata-download-fails-in-visual-studio</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[ude]]></category><category><![CDATA[ppc]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Tue, 31 Mar 2026 11:39:08 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/b2279f05-3044-4078-87fa-a3f908473807.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>🚨 “This is not a unified environment…” - A Story Every Dynamics 365 Finance &amp; Operations Developer Should Hear</strong></p>
<p>Let me start with a real story from one of my recent engagements.</p>
<p>A few weeks ago, I was working with a customer who had just embraced the new <strong>PPAC-based deployment model</strong> for Dynamics 365 Finance &amp; Operations. Everything looked perfect on paper.</p>
<p>They had:</p>
<ul>
<li><p>Successfully deployed a <strong>Dynamics 365 FO environment</strong></p>
</li>
<li><p>Completed initial configurations</p>
</li>
<li><p>Got their functional team up and running</p>
</li>
</ul>
<p>Then came the developer.</p>
<p>He logged into <strong>Visual Studio</strong>, tried to download Dynamics 365 FinOps assets… and boom <em>💥</em></p>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/cd20d14b-fa0a-43a1-930e-a0d275971cc6.png" alt="" style="display:block;margin:0 auto" />

<p><em>“DownloadAssets - Early Exit as</em> <a href="http://AAA"><em>https://XXXXXXX.api.crm.dynamics.com/XRMServices/2011/Organization.svc/web?SDKClientVersion=9.2.49.14828</em></a> <em>is not a Unified Dev environment.”</em></p>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/fef667b9-64ce-49d9-a454-25660e461cf3.png" alt="" style="display:block;margin:0 auto" />

<p>He tried again. Same error. No dialog to download the assets… and that’s your first clue that you’re not working in a development-enabled environment or not having sufficient disk space.</p>
<p>Checked permissions. Reinstalled tools. Still no luck.</p>
<p>That’s when I got the call.</p>
<p><strong>The Investigation Begins…</strong></p>
<p>My first question was simple:</p>
<p>👉 “How did you deploy this environment?”</p>
<p>The answer:</p>
<p>“Using PPAC… selected the Finance template.”</p>
<p>And right there… everything clicked.</p>
<p><strong>Where Do You Actually See This Error?</strong></p>
<p>Before jumping to conclusions, let’s understand where this shows up.</p>
<p><strong>On Cloud AVD / 🖥️ Local Dev Machine/Laptop</strong></p>
<p>If you're troubleshooting deeper:</p>
<p>📍 Check log location:</p>
<p><em>C:\Users\\AppData\Local\Microsoft\Dynamics365\Logs</em></p>
<p><em>Note:</em> Your AVD setup may use a different drive configuration.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/596ca0d3-5a50-44a5-a985-cfbf12403b02.png" alt="" style="display:block;margin:0 auto" />

<p>You may find: • Metadata sync logs • Model management logs But here’s the truth… 👉 Logs won’t fix this issue. Understanding will.</p>
<p><strong>The Real Reason (The “Aha” Moment)</strong></p>
<p>That environment was deployed using:</p>
<p>• Finance template</p>
<p>• (or SCM template)</p>
<p>Which means… 👉 It’s a Unified Environment (U<strong>nified Sandbox Environment</strong>) NOT a development environment.</p>
<p><strong>What PPAC Actually Deploys</strong></p>
<p>When you choose Finance/SCM templates, you get:</p>
<ol>
<li><p>Business-ready application</p>
</li>
<li><p>Dataverse integration</p>
</li>
<li><p>Unified experience</p>
</li>
<li><p>Contoso demo data</p>
</li>
</ol>
<p>But NOT:</p>
<p>• X++ developer tools</p>
<p>• Metadata access</p>
<p>So when Visual Studio tries to connect…</p>
<p>💥 It throws:</p>
<blockquote>
<p>“DownloadAssets - Early Exit as <a href="https://XXXXXXX.api.crm.dynamics.com/XRMServices/2011/Organization.svc/web?SDKClientVersion=9.2.49.14828">https://XXXXXXX.api.crm.dynamics.com/XRMServices/2011/Organization.svc/web?SDKClientVersion=9.2.49.14828</a> is not a Unified Dev environment.”</p>
</blockquote>
<p><strong>Why This Feels Confusing</strong></p>
<p>In the earlier LCS world, we were used to Cloud-hosted environments &amp; Standard Acceptance Test:</p>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/70e032ed-efb5-418f-aaaf-7b1bc272119f.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/6ded6cae-652f-4bed-a9bb-6cb80ffe558a.png" alt="" style="display:block;margin:0 auto" />

<p>But now with PPAC:</p>
<p>👉 Microsoft has clearly separated responsibilities.</p>
<table style="min-width:75px"><colgroup><col style="min-width:25px"></col><col style="min-width:25px"></col><col style="min-width:25px"></col></colgroup><tbody><tr><td><p><strong>Environment</strong></p></td><td><p><strong>Purpose</strong></p></td><td><p><strong>Dev Tools</strong></p></td></tr><tr><td><p>Unified Sandbox Environment (Finance/SCM)</p></td><td><p>Business usage</p></td><td><p> No</p></td></tr><tr><td><p>Developer Environment</p></td><td><p>Development</p></td><td><p>Yes</p></td></tr></tbody></table>

<p><strong>What Should You Do Instead?</strong></p>
<p>If you hit this error, follow this approach:</p>
<p><strong>Step 1: Identify your environment type</strong></p>
<p>If deployed via Finance/SCM → it’s UDE</p>
<p><strong>Step 2: Don’t waste time debugging Visual Studio</strong></p>
<p>Your setup is likely fine</p>
<p><strong>Step 3: Deploy a proper Dev environment</strong></p>
<p><strong>Now - The Real Reason Behind the Error</strong></p>
<p>Here’s the catch most people miss 👇</p>
<p>If you deployed your environment using <strong>PPAC</strong> with templates like:</p>
<ul>
<li><p><strong>Finance</strong></p>
</li>
<li><p><strong>Supply Chain Management (SCM)</strong></p>
</li>
</ul>
<p>Then…</p>
<p><strong>👉 You deployed a Unified Sandbox Environment (USE)</strong></p>
<p>And NOT a development environment.</p>
<p><strong>Want the Full Picture?</strong></p>
<p>I’ve already written a detailed blog post covering:</p>
<ul>
<li><p>End-to-end PPAC deployment</p>
</li>
<li><p>Demo data vs non-demo data environments</p>
</li>
<li><p>When to use which environment</p>
</li>
</ul>
<p><em>👉</em> I highly recommend going through that post-it will save you hours during your next implementation.</p>
<p><a href="https://d365cliffsnotes.com/ppac-unlocked-deploying-dynamics-365-erp-environments-with-and-without-demo-data">https://d365cliffsnotes.com/ppac-unlocked-deploying-dynamics-365-erp-environments-with-and-without-demo-data</a></p>
<h1><strong>Final Thoughts</strong></h1>
<p>When I explained this to the customer, there was a moment of silence… and then:</p>
<p>“Oh… so nothing is broken?”</p>
<p>Exactly.</p>
<p>This error isn’t a failure.</p>
<p>It’s simply the system telling you:</p>
<p>“You’re trying to do development in a business environment.”</p>
<p>Once you understand that…</p>
<p>👉 You stop troubleshooting… and start architecting correctly.</p>
<p>If you’ve faced this before, trust me - you’re not alone.<br />And if you haven’t yet… now you’re already ahead of the curve. <em>🚀</em></p>
<h1>Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[PPAC Unlocked: Deploying Dynamics 365 ERP Environments with and without Demo Data]]></title><description><![CDATA[Let me start with a story…
A few months ago, I was working with a customer who was planning to implement Dynamics 365 ERP. Their approach was structured, predictable, and heavily dependent on LCS (Lif]]></description><link>https://d365cliffsnotes.com/ppac-unlocked-deploying-dynamics-365-erp-environments-with-and-without-demo-data</link><guid isPermaLink="true">https://d365cliffsnotes.com/ppac-unlocked-deploying-dynamics-365-erp-environments-with-and-without-demo-data</guid><category><![CDATA[PPAC]]></category><category><![CDATA[dynamics365fo]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Mon, 30 Mar 2026 12:20:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/b9073aa3-87be-4ee1-90de-cc9f5c20c77d.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Let me start with a story…</p>
<p>A few months ago, I was working with a customer who was planning to implement Dynamics 365 ERP. Their approach was structured, predictable, and heavily dependent on LCS (Lifecycle Services). Every environment - DEV, Config, Data migration, SIT, UAT, PROD- was planning to deploy with muscle memory.</p>
<p>Then came the shift.</p>
<p>Microsoft introduced the <strong>Power Platform Admin Center (PPAC)</strong> as the new control plane for managing environments. And suddenly, the familiar LCS-driven deployment approach started fading away.</p>
<p>The customer asked me a simple question:</p>
<p><em>“Rakesh, how do we now deploy environments the right way using PPAC with and without demo data?”</em></p>
<p><strong>Understanding the New World: PPAC-based Deployment</strong></p>
<p>With PPAC, environment provisioning is:</p>
<ul>
<li><p>More <strong>unified</strong> across Power Platform + ERP</p>
</li>
<li><p>More <strong>governed</strong></p>
</li>
<li><p>More aligned with <strong>low-code/no-code extensibility</strong></p>
</li>
<li><p>Less dependent on traditional LCS workflows</p>
</li>
</ul>
<p>However, for Dynamics 365 Finance &amp; Operations (F&amp;O), we still need to carefully plan environment topology.</p>
<p><strong>Typical Environment Strategy in D365 ERP Implementation</strong></p>
<p>Before jumping into steps, let’s define the environments and their purpose:</p>
<table style="min-width:75px"><colgroup><col style="min-width:25px"></col><col style="min-width:25px"></col><col style="min-width:25px"></col></colgroup><tbody><tr><td><p><strong>Environment</strong></p></td><td><p><strong>Purpose</strong></p></td><td><p><strong>Demo Data Required</strong></p></td></tr><tr><td><p>DEV</p></td><td><p>Development &amp; Unit Testing</p></td><td><p> Yes</p></td></tr><tr><td><p>Config</p></td><td><p>Functional configuration</p></td><td><p>  No</p></td></tr><tr><td><p>Data Migration</p></td><td><p>Data validation &amp; migration</p></td><td><p>  No</p></td></tr><tr><td><p>SIT</p></td><td><p>System Integration Testing</p></td><td><p>  No</p></td></tr><tr><td><p>UAT</p></td><td><p>Business validation</p></td><td><p>  No</p></td></tr><tr><td><p>Production</p></td><td><p>Live operations</p></td><td><p>  No</p></td></tr></tbody></table>

<p><strong>Step-by-Step Guide to Deploy Environments via PPAC</strong></p>
<p><strong>Step 1: Access Power Platform Admin Center</strong></p>
<p>Navigate to:<br /><a href="https://admin.powerplatform.microsoft.com">https://admin.powerplatform.microsoft.com</a></p>
<ul>
<li><p>Login using admin credentials</p>
</li>
<li><p>Ensure you have <strong>Environment Admin</strong> or <strong>Global Admin</strong> role</p>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/f89ebcd0-b158-474c-a3ee-eba2c3ff1ae0.png" alt="" style="display:block;margin:0 auto" /></li>
</ul>
<p><strong>Step 2: Create a New Environment</strong></p>
<p>• Navigate to Left side menu pane and click on “Manage”</p>
<p>• Go to <strong>Environments → + New</strong></p>
<p>• Provide:</p>
<ol>
<li><p>Name</p>
</li>
<li><p>Make this a Managed Environment -&gt; Yes (optional)</p>
</li>
<li><p>Group -&gt; None</p>
</li>
<li><p>Region</p>
</li>
<li><p>Type (Sandbox / Production)</p>
</li>
<li><p>Enable <strong>“Add a Dataverse data store?</strong>” (Yes - required)</p>
</li>
<li><p>Pay-as-you-go with Azure? (In case Azure subscription is being) Optional</p>
</li>
<li><p>Click on Next</p>
</li>
</ol>
<p>Tip:</p>
<p>• Use Sandbox for DEV, SIT, UAT, Config, Data migration etc.</p>
<p>• Use Production only for PROD</p>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/51bbf6bc-0777-4359-9e52-03208809df64.png" alt="" />

<p>Step 3: Add Dataverse</p>
<p>• Provide:</p>
<ol>
<li><p>Security group - &gt; None (This setting varies based on Customer Security guidelines)</p>
</li>
<li><p>Enable Dynamics 365 apps? - &gt; Yes</p>
</li>
<li><p>Automatically deploy these apps -&gt; <strong>None</strong></p>
</li>
<li><p>Click on Save</p>
</li>
</ol>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/ae1cd272-2496-4a3e-85c2-1d06a4e5b0c2.png" alt="" />

<p>After environment creation:</p>
<ul>
<li><p>Select the newly created environment</p>
</li>
<li><p>Navigate to <strong>Resources → Dynamics 365 apps</strong></p>
</li>
<li><p>Click <strong>Install App</strong></p>
</li>
<li><p>Select <strong>“Dynamics 365 Finance and Operations Platform Tools”</strong> &amp; click Next</p>
</li>
<li><p>Click <strong>Install</strong></p>
</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/1398c8e0-f50a-48cf-a2aa-483e9405d793.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/9fb3b51e-b306-4863-b27d-a6c42cec8c00.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/5fef6ff3-50b4-47e3-931e-c684a22ec84f.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/ce9b3812-026d-414c-99b6-9a578b4de203.png" alt="" style="display:block;margin:0 auto" />

<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/2a760183-6640-44a4-9f00-ee853f56e550.png" alt="" style="display:block;margin:0 auto" />

<p><strong>Step 4: Install “Dynamics 365 Finance and Operations Provisioning Ap” (With or Without Demo Data)</strong></p>
<p>This is a <strong>critical decision point</strong>.</p>
<p><strong>Option 1: Deploy WITH Demo Data (Contoso)</strong></p>
<p>Used for:</p>
<ul>
<li>DEV</li>
</ul>
<p>Benefits:</p>
<ul>
<li><p>Pre-configured legal entities</p>
</li>
<li><p>Sample business processes</p>
</li>
<li><p>Faster onboarding for developers &amp; testers</p>
</li>
</ul>
<p>After Platform tools installation:</p>
<ul>
<li><p>Navigate to <strong>Resources → Dynamics 365 apps</strong></p>
</li>
<li><p>Click <strong>Install App</strong></p>
</li>
<li><p>Select <strong>“Dynamics 365 Finance and Operations Provisioning App”</strong> and click Next</p>
</li>
<li><p>Click <strong>Ok</strong></p>
</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/3dd68877-e4b8-492d-93dc-7eada2cc4178.png" alt="" />

<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/f38cebd4-80e8-4714-bb29-cb131086b8d0.png" alt="" />

<p>It will redirect to another page:</p>
<ul>
<li><p>Select “<strong>Enable Developer tools for Finance and Operations”</strong> ( In case of Developer Environment)</p>
</li>
<li><p>Select <strong>“Enable Demo Data for Finance and Operations”</strong></p>
</li>
<li><p>Select the version of the product</p>
</li>
<li><p>Select “I agree to the terms of service”</p>
</li>
<li><p>Click on <strong>Install</strong></p>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/55b9c79f-358e-4f4e-9a0f-3a769454520b.png" alt="" style="display:block;margin:0 auto" /></li>
</ul>
<p><strong>Option 2: Deploy WITHOUT Demo Data</strong></p>
<p>Used for:</p>
<ul>
<li><p>Config</p>
</li>
<li><p>Data Migration</p>
</li>
<li><p>SIT</p>
</li>
<li><p>UAT</p>
</li>
<li><p>Production</p>
</li>
</ul>
<p>Benefits:</p>
<ul>
<li><p>Clean environment</p>
</li>
<li><p>Real business data setup</p>
</li>
<li><p>Avoids contamination from sample data</p>
</li>
</ul>
<p>It will redirect to another page:</p>
<ul>
<li><p>Select “<strong>Enable Developer tools for Finance and Operations”</strong> (In case of Developer Environment)</p>
</li>
<li><p>Deselect <strong>“Enable Demo Data for Finance and Operations”</strong></p>
</li>
<li><p>Select the version of the product</p>
</li>
<li><p>Select “I agree to the terms of service”</p>
</li>
<li><p>Click on <strong>Install</strong></p>
</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6154a77b414f78089df3d420/99feec55-760f-4ffa-b778-237c9d834fa9.png" alt="" style="display:block;margin:0 auto" />

<p><strong>Key Considerations (Lessons Learned) From real implementations:</strong></p>
<ol>
<li><p>Avoid Overusing Demo Data Demo data is helpful-but: • Can confuse business users • Adds unnecessary cleanup effort</p>
</li>
<li><p>Separate Config &amp; Data Migration Many projects combine them-this is risky. 👉 Keep them separate for: • Better control • Easier rollback</p>
</li>
<li><p>Governance via Security Groups Always:</p>
<p>• Assign environments to security groups</p>
<p>• Control access centrally</p>
</li>
<li><p>Naming Convention Matters Example: • D365-DEV • D365-CONFIG • D365-UAT • D365-PROD</p>
</li>
</ol>
<h1>Final Thoughts</h1>
<p>The move from LCS to PPAC is not just a tool change- it’s a mindset shift.</p>
<p>As Solution Architects, we must:</p>
<p>• Rethink environment strategy</p>
<p>• Align with Power Platform governance</p>
<p>• Design environments for scalability and clarity</p>
<p>Because in the end…</p>
<p>A well-planned environment strategy is the backbone of a successful Dynamics 365 ERP implementation!</p>
<h1>Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[My Experience with AB-100: Earning the Microsoft Certified AI Business Solutions Architect Badge]]></title><description><![CDATA[The AI space is evolving rapidly, but very few certifications truly reflect how AI is designed, governed, and delivered in real business environments.
That’s exactly why clearing AB-100: Microsoft Certified – Agentic AI Business Solutions Architect f...]]></description><link>https://d365cliffsnotes.com/my-experience-with-ab-100-earning-the-microsoft-certified-ai-business-solutions-architect-badge</link><guid isPermaLink="true">https://d365cliffsnotes.com/my-experience-with-ab-100-earning-the-microsoft-certified-ai-business-solutions-architect-badge</guid><category><![CDATA[agentic AI]]></category><category><![CDATA[Microsoft]]></category><category><![CDATA[solutionarchitect]]></category><category><![CDATA[AI Architect Certification Cost]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Sat, 07 Feb 2026 19:46:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1770493429020/01cc76f9-011e-4bd9-8a1e-d01c9c655c68.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The AI space is evolving rapidly, but very few certifications truly reflect how AI is <strong>designed, governed, and delivered in real business environments</strong>.</p>
<p>That’s exactly why clearing <strong>AB-100: Microsoft Certified – Agentic AI Business Solutions Architect</strong> felt different and deeply rewarding. What made this journey even more special is that I took the exam after it went live. There were no playbooks, no prior exam experiences to rely on- just architectural thinking, real-world experience, Microsoft Learn material, and business judgment.</p>
<p><strong>Important note:</strong></p>
<p>To qualify for the Microsoft Certified: Agentic AI Business Solutions Architect credential, you must first obtain at least one required prerequisite certification:</p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/credentials/certifications/agentic-ai-business-solutions-architect/?practice-assessment-type=certification">https://learn.microsoft.com/en-us/credentials/certifications/agentic-ai-business-solutions-architect/?practice-assessment-type=certification</a></p>
<h1 id="heading-why-ab-100-is-not-a-typical-ai-certification"><strong>Why AB-100 Is Not a Typical AI Certification</strong></h1>
<p>AB-100 is <strong>not about memorizing tools, prompts, or APIs</strong>.</p>
<p>Instead, it validates how well you can think like a <strong>Business Solutions Architect</strong>:</p>
<ul>
<li><p>Can you translate business challenges into AI-enabled solutions?</p>
</li>
<li><p>Can you recommend the <em>right</em> AI approach-not the most complex one?</p>
</li>
<li><p>Can you balance autonomy, governance, security, and cost?</p>
</li>
<li><p>Can you clearly articulate <strong>business value and ROI</strong>?</p>
</li>
<li><p>Can you clearly suggest correct tools for right business scenarios?</p>
</li>
</ul>
<p>If you’ve spent time with customers, leadership teams, and delivery stakeholders, this exam will feel surprisingly familiar.</p>
<h1 id="heading-core-areas-covered-in-ab-100"><strong>Core Areas Covered in AB-100</strong></h1>
<p>From my exam experience, the key focus areas include:</p>
<ul>
<li><p>Core understandings about Generative AI and agents</p>
</li>
<li><p>A fundamental of large language model and small language model</p>
</li>
<li><p>Architecture guidance for Agentic AI solutions</p>
</li>
<li><p>Custom engine agents for Microsoft 365</p>
</li>
<li><p>M365 Copilot &amp; Agents</p>
</li>
<li><p>Microsoft 365 Copilot APIs</p>
</li>
<li><p>Azure foundation for enterprise AI workloads</p>
</li>
<li><p>Copilot Studio and agent orchestration</p>
</li>
<li><p>Dynamics 365 AI across ERP (Finance &amp; Operations)</p>
</li>
<li><p>Dynamics 365 CE applications</p>
</li>
<li><p>Deep understanding of <strong>LLMs vs SLMs</strong></p>
</li>
<li><p>Real-world <strong>case studies and scenario-based decisions</strong></p>
</li>
</ul>
<p>The exam consistently tests <strong>decision-making</strong>, not configuration knowledge.</p>
<h1 id="heading-ab-100-exam-readiness-checklist-architects-view"><strong>AB-100 Exam Readiness Checklist (Architect’s View)</strong></h1>
<p>Before diving into preparation, I strongly recommend using the checklist below as a self-assessment.<br />If most of these resonate with you, you’re on the right track.</p>
<p><strong>1️⃣ Architecture Mindset</strong></p>
<ul>
<li><p>Can you translate business problems into AI architectures?</p>
</li>
<li><p>Do you prefer scalable, governed solutions over over-engineered designs?</p>
</li>
<li><p>Can you balance autonomy with human-in-the-loop controls?</p>
</li>
<li><p>Can you suggest good application lifecycle management (ALM) strategy for agentic-first solutions?</p>
</li>
</ul>
<p>AB-100 rewards architectural judgment-not feature recall.</p>
<p><strong>2️⃣ Azure Foundation for AI</strong></p>
<ul>
<li><p>Do you understand how AI workloads fit into enterprise Azure architecture?</p>
</li>
<li><p>Can you reason about security, compliance, and cost predictability?</p>
</li>
<li><p>Do you know when to reuse platform capabilities instead of adding complexity?</p>
</li>
</ul>
<p>You don’t need deep infrastructure expertise-<strong>conceptual clarity matters most</strong>.</p>
<p><strong>3️⃣ Copilot Studio &amp; Agent Orchestration</strong></p>
<ul>
<li><p>When should you use Copilot vs autonomous agents?</p>
</li>
<li><p>How does knowledge grounding impact trust and accuracy?</p>
</li>
<li><p>Where is human oversight mandatory?</p>
</li>
</ul>
<p>Expect scenario-based questions that test governance and scale.</p>
<p><strong>4️⃣ Dynamics 365 AI – ERP Perspective</strong></p>
<ul>
<li><p>Can you identify AI use cases across Finance and Operations?</p>
</li>
<li><p>Do you focus on exception handling instead of blanket automation?</p>
</li>
<li><p>Can you explain how AI augments ERP users’ decisions?</p>
</li>
</ul>
<p>Business impact outweighs feature depth here.</p>
<p><strong>5️⃣ Dynamics 365 CE Apps</strong></p>
<ul>
<li><p>Can you reason about AI in Sales, Service, and Marketing?</p>
</li>
<li><p>Do you differentiate customer-facing copilots from internal productivity AI?</p>
</li>
<li><p>Can you link AI improvements to customer experience and ROI?</p>
</li>
</ul>
<p><strong>6️⃣ LLM vs SLM Decision-Making</strong></p>
<ul>
<li><p>Do you understand when LLMs are necessary—- when they’re not?</p>
</li>
<li><p>Can you justify model choices based on cost, latency, privacy, and accuracy?</p>
</li>
<li><p>Are you comfortable explaining these trade-offs to business leaders?</p>
</li>
<li><p>No math, no training-<strong>only decision logic</strong></p>
</li>
</ul>
<p><strong>7️⃣ Case Studies &amp; ROI Thinking</strong></p>
<ul>
<li><p>Can you choose the best answer when multiple options seem correct?</p>
</li>
<li><p>Do you naturally consider long-term impact and technical debt?</p>
</li>
<li><p>Can you confidently defend your recommendation to a CIO or CFO?</p>
</li>
</ul>
<p>This is where real-world experience shines.</p>
<h1 id="heading-why-i-truly-enjoyed-the-exam"><strong>Why I Truly Enjoyed the Exam?</strong></h1>
<p>What I enjoyed most about AB-100 is its <strong>practicality</strong>.</p>
<p>The exam reflects real customer conversations:</p>
<ul>
<li><p>How to shape an AI strategy</p>
</li>
<li><p>How to adopt AI responsibly</p>
</li>
<li><p>How to move from experimentation to <strong>measurable value</strong></p>
</li>
</ul>
<p>It reinforces the role of a <strong>Business Solutions Architect</strong> as someone who:</p>
<ul>
<li><p>Connects AI to outcomes</p>
</li>
<li><p>Builds trust across stakeholders</p>
</li>
<li><p>Helps organizations realize <strong>ROI from AI investments</strong></p>
</li>
</ul>
<h1 id="heading-who-should-consider-ab-100"><strong>Who Should Consider AB-100?</strong></h1>
<p>I highly recommend this certification if you are:</p>
<ul>
<li><p>A Business or Solutions Architect</p>
</li>
<li><p>Working with Copilot, Dynamics 365, or enterprise AI</p>
</li>
<li><p>Involved in AI roadmap or strategy discussions</p>
</li>
<li><p>Focused on value, governance, and outcomes—not hype</p>
</li>
</ul>
<p>If you’re looking for a purely technical AI exam, this may not be the right fit.<br />If you want an exam that mirrors <strong>real-world AI architecture decisions</strong>, AB-100 is an excellent choice.</p>
<p>Here is the list of learning resources that <strong>I referred to pass this exam.</strong></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Sr.no</strong></td><td><strong>Topics</strong></td><td><strong>Learning URL</strong></td></tr>
</thead>
<tbody>
<tr>
<td>1.</td><td>Core understandings about Generative AI and agents</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/training/modules/fundamentals-generative-ai/?WT.mc_id=academic-105485-koreyst">https://learn.microsoft.com/en-us/training/modules/fundamentals-generative-ai/?WT.mc_id=academic-105485-koreyst</a></td></tr>
<tr>
<td>2.</td><td>LLM &amp; SLM</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/training/modules/introduction-large-language-models/">https://learn.microsoft.com/en-us/training/modules/introduction-large-language-models/</a></td></tr>
<tr>
<td>3.</td><td>Custom engine agents for Microsoft 365</td><td><a target="_blank" href="https://microsoft.github.io/mcscatblog/">https://microsoft.github.io/mcscatblog/</a></td></tr>
<tr>
<td>4.</td><td>M365 Copilot &amp; Agents</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/agents-overview">https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/agents-overview</a></td></tr>
<tr>
<td>5.</td><td>Microsoft 365 Copilot APIs</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/copilot-apis-overview">https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/copilot-apis-overview</a></td></tr>
<tr>
<td>6.</td><td>Azure AI Foundry</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/azure/ai-foundry/what-is-foundry?view=foundry-classic">https://learn.microsoft.com/en-us/azure/ai-foundry/what-is-foundry?view=foundry-classic</a></td></tr>
<tr>
<td>7.</td><td>Microsoft Copilot Studio</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/training/modules/power-virtual-agents-bots/">https://learn.microsoft.com/en-us/training/modules/power-virtual-agents-bots/</a></td></tr>
<tr>
<td>8.</td><td>Agent-powered business process automation</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/training/modules/get-started-flows/">https://learn.microsoft.com/en-us/training/modules/get-started-flows/</a></td></tr>
<tr>
<td>9.</td><td>Dynamics 365 contact center</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/customer-service/administer/overview-bots">https://learn.microsoft.com/en-us/dynamics365/customer-service/administer/overview-bots</a></td></tr>
<tr>
<td>10.</td><td>Dynamics 365 ERP</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/supply-chain/procurement/supplier-com-agent-overview">https://learn.microsoft.com/en-us/dynamics365/supply-chain/procurement/supplier-com-agent-overview</a></td></tr>
<tr>
<td>11.</td><td>Dynamics 365 CE Apps</td><td><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/customer-service/administer/overview-bots">https://learn.microsoft.com/en-us/dynamics365/customer-service/administer/overview-bots</a></td></tr>
</tbody>
</table>
</div><h1 id="heading-final-thoughts"><strong>Final Thoughts</strong></h1>
<p><strong>AI success is not about models or prompts-it’s about architecture, strategy, and ROI.</strong></p>
<p>Clearing AB-100 reinforced my belief that the future belongs to architects who can bridge <strong>technology and business outcomes</strong>.</p>
<p>In the coming days, I’ll be sharing <strong>more detailed learnings, preparation strategies, and real-world mappings</strong> from this journey - so stay tuned.</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[Demystifying the Copilot Sidecar Architecture in Dynamics 365 Finance and Operations ERP: A Solution Architect’s Guide]]></title><description><![CDATA[Welcome to the future of enterprise resource planning! If you're exploring the world of Dynamics 365 Finance and Operations (F&O), you've likely come across the buzz around Copilot – Microsoft's generative AI assistant. But what does Copilot actually...]]></description><link>https://d365cliffsnotes.com/demystifying-the-copilot-sidecar-architecture-in-dynamics-365-finance-and-operations-erp-a-solution-architects-guide</link><guid isPermaLink="true">https://d365cliffsnotes.com/demystifying-the-copilot-sidecar-architecture-in-dynamics-365-finance-and-operations-erp-a-solution-architects-guide</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[generative ai]]></category><category><![CDATA[copilot]]></category><category><![CDATA[copilotstudio]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Tue, 15 Apr 2025 17:43:51 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1744738528379/990b7be4-af47-4138-867f-554c921441bd.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the future of enterprise resource planning! If you're exploring the world of <strong>Dynamics 365 Finance and Operations (F&amp;O)</strong>, you've likely come across the buzz around <strong>Copilot</strong> – Microsoft's generative AI assistant. But what does Copilot actually do? How is it wired into Dynamics 365 FO? And what makes it work behind the scenes?</p>
<p>In this post, I’ll walk you through the <strong>Copilot architecture</strong>, translating technical blocks into business-friendly insights and helping both new users and seasoned consultants understand the nuts and bolts of this powerful Generative AI engine.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1744738595625/14252cc5-562b-4fc1-aadc-20c78713f72b.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-what-is-the-copilot-experience-in-dynamics-365-finance-amp-operations-and-why-is-it-called-copilot-sidecar">What is the Copilot experience in Dynamics 365 Finance &amp; Operations and why is it called Copilot Sidecar?</h1>
<p>From what I know, a <strong>sidecar</strong> in tech often refers to a separate component that runs alongside the main application to provide additional services without being tightly integrated. So, the sidecar Copilot runs alongside the main Dynamics 365 FO User Interface, offering AI assistance without being embedded within the core ERP UI.</p>
<p>You may consider it's a design pattern where Copilot operates in a separate pane or window, allowing users to interact with AI assistance while keeping the main application untouched. This would mean the architecture is more modular, using APIs and services to communicate between the sidecar and the main app. i.e. Dynamics 365 FO</p>
<p>The sidecar version has more about extensibility and customization. The user always interested in how it's decoupled, perhaps for flexibility or to support different user interfaces.</p>
<h1 id="heading-why-copilot-in-dynamics-365-finance-and-operations">Why Copilot in Dynamics 365 Finance and Operations?</h1>
<p>Dynamics 365 FO business users are often bogged down with data-heavy tasks, repetitive processes, and long turnaround cycles for decisions. <strong>Copilot</strong> is Microsoft’s answer to bringing <strong>context-aware intelligence</strong> directly into business processes — not just answering questions, but proactively assisting users by drafting content, analyzing data, suggesting actions, and automating workflows.</p>
<p>Let’s dive into how this experience is architected and what each component does</p>
<h3 id="heading-1-finance-and-operations-apps-the-front-door-default-enabled"><strong>1. Finance and Operations Apps – The Front Door (Default Enabled)</strong></h3>
<p>At the very top of the architecture is where users interact — the <strong>Dynamics 365</strong> <strong>Finance and Operations applications</strong>. This includes modules like Accounts Payable, General Ledger, Procurement &amp; Sourcing, and more.</p>
<p>Here’s what’s happening under the hood:</p>
<p><strong>Copilot Sidecar</strong></p>
<p>Think of the <strong>Copilot Sidecar</strong> as a companion panel or window that lives inside your F&amp;O interface. It provides <strong>context-aware experiences</strong> like:</p>
<ul>
<li><p>Answering natural language questions (e.g., "What are my top overdue vendors?")</p>
</li>
<li><p>Offering suggestions based on the data you're working with</p>
</li>
<li><p>Drafting business documents like emails, invoices, or reports</p>
</li>
</ul>
<p>This sidecar doesn’t interrupt your workflow. Instead, it intelligently appears where it can add value — making AI a <strong>seamless part of daily operations</strong> rather than an extra tool to open.</p>
<p><strong>Power Platform Integration</strong></p>
<p>This enables Dynamics 365 FO to <strong>connect with Power Platform components</strong> like Power Automate, Power Apps, and especially <strong>Dataverse</strong> (we’ll cover that next).</p>
<p>Microsoft Power Platform integration ensures that data, workflows, and business rules can flow between F&amp;O and other Microsoft apps — making it a flexible, scalable foundation for automation.</p>
<p><strong>Important Note:</strong> This integration and the Copilot Sidecar are <strong>enabled by default</strong> — you don’t need to install anything separately to get started.</p>
<h3 id="heading-2-dataverse-the-heart-of-the-integration"><strong>2. Dataverse – The Heart of the Integration</strong></h3>
<p>Sitting just below the Dynamics 365 FO apps is <strong>Dataverse</strong>, Microsoft's low-code data platform that brings all your business data together in a structured, secure environment.</p>
<p><strong>Copilot Solutions (Automatically Deployed)</strong></p>
<p>When you enable Copilot, <strong>pre-built solutions</strong> are automatically pushed into Dataverse. These include:</p>
<ul>
<li><p>Data models to structure AI input and output</p>
</li>
<li><p>Connectors that link data between F&amp;O and other systems</p>
</li>
<li><p>Security roles and permissions to control access</p>
</li>
</ul>
<p>This automatic deployment is a big win — you don’t need a technical team to manually configure it. Microsoft does the heavy lifting, so you can focus on <strong>using</strong> the AI instead of <strong>building</strong> it.</p>
<p>Dataverse also ensures your data is centralized and can be leveraged across the Microsoft ecosystem, enabling <strong>cross-application intelligence</strong>.</p>
<h3 id="heading-3-copilot-studio-your-bot-building-playground"><strong>3. Copilot Studio – Your Bot-Building Playground</strong></h3>
<p>This is where the magic happens for makers and developers.</p>
<p><strong>Copilot Studio</strong> is Microsoft’s low-code AI builder, previously known as Power Virtual Agents. Here, you can create, manage, and publish <strong>AI-powered bots</strong> that integrate directly into Dynamics 365 FO.</p>
<p><strong>Bot for Copilot for Dynamics 365 Finance and Operations</strong></p>
<p>You can create bots that serve a range of finance-specific scenarios:</p>
<ul>
<li><p>“What’s our current cash forecast?”</p>
</li>
<li><p>“Summarize the aging report by customer segment.”</p>
</li>
<li><p>“Create a vendor request for approval.”</p>
</li>
</ul>
<p>These bots can be configured to answer questions, trigger workflows, or even interact with external systems.</p>
<p><strong>Bing Search and Generative Answers</strong></p>
<p>When building bots, you can enhance them with <strong>external intelligence</strong> like Bing Search or <strong>Generative AI Answers</strong>. These bots don’t just return static responses — they <strong>craft human-like responses</strong> based on a mixture of internal data and external context.</p>
<p>This is incredibly useful for frontline finance users who need answers fast without clicking through reports.</p>
<p><strong>AI Publishing in PPAC</strong></p>
<p>In the <strong>Power Platform Admin Center (PPAC)</strong>, administrators can <strong>enable Generative AI features</strong>. Once enabled, you can publish bots with AI capabilities — making them smarter, more responsive, and capable of handling nuanced business requests.</p>
<h3 id="heading-4-microsoft-azure-open-ai-the-brain-behind-the-bot"><strong>4. Microsoft Azure Open AI – The Brain Behind the Bot</strong></h3>
<p>All of Copilot’s intelligent responses — whether it's a summary, a draft, or a prediction — are powered by <strong>Microsoft Azure Open AI</strong> services.</p>
<p><strong>Large Language Model (LLM)</strong></p>
<p>This is the same underlying technology as Chat GPT — a <strong>generative AI engine trained on vast amounts of data</strong> that can understand, generate, and reason with human language.</p>
<p>When your Dynamics 365 FO user asks a question like, “Why are our costs increasing this quarter?”, the LLM parses the intent, accesses your data, and generates a coherent, business-friendly answer.</p>
<p><strong>Load Balancing and Responsible AI</strong></p>
<p>Microsoft’s implementation includes:</p>
<ul>
<li><p><strong>Load balancing</strong> to ensure performance and scalability</p>
</li>
<li><p><strong>Responsible AI</strong> practices — ensuring fairness, privacy, and data security</p>
</li>
</ul>
<p>Microsoft takes ethical AI seriously, with built-in filters and governance to ensure AI remains a <strong>trusted advisor</strong>, not a liability.</p>
<p><strong>Region Must Be Supported!</strong></p>
<p><strong>A quick but important note:</strong> Not all Azure regions support Open AI yet. Before rolling out Copilot features, check that your <strong>Azure geography is supported</strong>, or the AI components may not function.</p>
<h1 id="heading-putting-it-all-together">Putting It All Together</h1>
<p>Let’s simplify the entire architecture into one thought:</p>
<p><strong>Copilot in Dynamics 365 FO is like hiring a digital analyst who works in the background, connects with all your systems, understands natural language, and is always ready to help — all without leaving your ERP screen.</strong></p>
<p>The experience is modular, secure, and scalable — thanks to a well-designed architecture that combines:</p>
<ul>
<li><p><strong>F&amp;O apps</strong> (where users work)</p>
</li>
<li><p><strong>Dataverse</strong> (where data lives and solutions are deployed)</p>
</li>
<li><p><strong>Copilot Studio</strong> (where bots are built)</p>
</li>
<li><p><strong>Azure Open AI</strong> (where intelligence is generated)</p>
</li>
</ul>
<h1 id="heading-conclusion-the-future-of-erp-is-intelligent-and-its-here">Conclusion: <strong>The Future of ERP is Intelligent, and It’s Here</strong></h1>
<p>Whether you're a finance controller, a supply chain manager, or a solution architect, <strong>Copilot is here to elevate your ERP experience</strong>. This architecture ensures that every interaction is smart, contextual, and productive — without requiring heavy setup or technical complexity.</p>
<p>If you're just getting started with Dynamics 365 FO, adopt this AI-driven journey. And if you're already deep in the ecosystem, now’s the time to <strong>design smarter processes</strong>, <strong>build intelligent bots</strong>, and <strong>let Copilot amplify business users potential</strong>.</p>
<p>Next, I’ll prepare the follow-up blog post covering <strong>real-world Copilot use cases</strong> in Dynamics 365 Finance and Operations.</p>
<p>Hope you found this post helpful!</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[Accelerate Your Development with Dynamics 365 FO Custom Batch Framework Templates]]></title><description><![CDATA[No matter the complexity of Dynamics 365 FO implementation, developing custom batch jobs is always necessary to accommodate tailored business processes.
As a Dynamics 365 Finance & Operations (D365 FO) developer, working with custom batch jobs is a r...]]></description><link>https://d365cliffsnotes.com/accelerate-your-development-with-dynamics-365-fo-custom-batch-framework-templates</link><guid isPermaLink="true">https://d365cliffsnotes.com/accelerate-your-development-with-dynamics-365-fo-custom-batch-framework-templates</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[Batch Processing]]></category><category><![CDATA[framework]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Wed, 19 Mar 2025 04:30:13 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742303015906/c8220809-2c67-4e2d-8ec9-ef2c2a3cbe28.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong><em>No matter the complexity of Dynamics 365 FO implementation, developing custom batch jobs is always necessary to accommodate tailored business processes.</em></strong></p>
<p>As a Dynamics 365 Finance &amp; Operations (D365 FO) developer, working with custom batch jobs is a routine yet critical task. Efficiency, accuracy, and productivity are key factors when designing batch processes, but setting up a robust batch framework from scratch can be time-consuming. To address this, I’ve created a <strong>GitHub repository</strong> with pre-built <strong>D365 FO Batch Framework Templates</strong>, designed to simplify and standardize batch job development.</p>
<h1 id="heading-why-use-these-templates">Why Use These Templates?</h1>
<ol>
<li><p><strong>Speed Up Development</strong> – Instead of writing custom batch job logic from the ground up, these templates provide a structured starting point, reducing repetitive coding efforts.</p>
</li>
<li><p><strong>Ensure Accuracy</strong> – The templates follow best practices, minimizing errors and ensuring batch jobs execute smoothly.</p>
</li>
<li><p><strong>Boost Productivity</strong> – With predefined patterns, developers can focus on business logic rather than boilerplate setup, leading to faster delivery cycles.</p>
</li>
</ol>
<p>These templates are particularly useful for tasks like data processing, automated reports, and scheduled operations in D365 FO. Whether you're a beginner or an experienced developer, they serve as a <strong>valuable resource to enhance efficiency and maintain consistency</strong> in your projects.</p>
<h1 id="heading-the-list-of-developed-use-cases">The list of developed use cases</h1>
<ol>
<li><p><strong>Empowering</strong> Multithreaded Batch Template Classes</p>
</li>
<li><p><strong>Dynamic</strong> Batch Classes with Dependent Tasks</p>
</li>
<li><p><strong>Innovative</strong> Single-Threaded Batch Classes with Contract and UI builder</p>
</li>
<li><p><strong>Purposeful</strong> Single-Threaded Batch Classes with Contract (No UI builder)</p>
</li>
<li><p><strong>Streamlined</strong> Single-Threaded Batch Classes Without UI builder and Contract</p>
</li>
</ol>
<p><strong>Open for Contributions!</strong></p>
<p>This repository is open-source and welcomes contributions from the <strong>Dynamics 365 community</strong>. Whether you want to improve existing templates, add new use cases, or help fellow developers, your contributions will make a difference!</p>
<p>Let’s collaborate to build a <strong>stronger, more efficient</strong> Dynamics 365 FO development ecosystem.</p>
<p>Check out the repository, use the templates, and contribute to help others! 🚀</p>
<p>GitHub Repository Link : <a target="_blank" href="https://github.com/rakesh-darge/D365FinanceandOperations">https://github.com/rakesh-darge/D365FinanceandOperations</a></p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[Improve Dynamics 365 FO Non-continuous Number sequence Performance: Tips and Strategies for Success!]]></title><description><![CDATA[Navigating performance issues in Dynamics 365 FO can be quite a challenge. There are numerous factors and considerations to take into account to ensure optimal performance in a production environment. It’s a puzzle that requires careful attention and...]]></description><link>https://d365cliffsnotes.com/improve-dynamics-365-fo-non-continuous-number-sequence-performance-tips-and-strategies-for-success</link><guid isPermaLink="true">https://d365cliffsnotes.com/improve-dynamics-365-fo-non-continuous-number-sequence-performance-tips-and-strategies-for-success</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[Performance Optimization]]></category><category><![CDATA[performance]]></category><category><![CDATA[dynamics 365 finance]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Tue, 18 Mar 2025 08:32:11 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742285150000/27083d29-e152-478e-99bf-a142c9aab240.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Navigating performance issues in <strong>Dynamics 365 FO</strong> can be quite a challenge. There are numerous factors and considerations to take into account to ensure optimal performance in a production environment. It’s a puzzle that requires careful attention and strategy to solve!</p>
<p>While diving into the performance issues of our Dynamics 365 FO production system, I always make it a priority to examine the number sequences. Whether they’re standard or custom, this crucial step in the configuration process can make all the difference.</p>
<p>It's amazing how such a small detail can have a significant impact on overall performance!</p>
<h1 id="heading-what-are-the-different-types-of-number-sequences">What are the different types of number sequences?</h1>
<p>As you may be aware, Dynamics 365 FO offers an exciting feature with its two types of number sequences! These allow for greater flexibility and control in managing your data. Let’s dive into how these can enhance your experience!</p>
<ol>
<li><p>Continuous</p>
</li>
<li><p>Non-Continuous</p>
</li>
</ol>
<p>I won’t dive into the specifics, as each and every consultant from Dynamics 365 ERP is already well aware of the situation. Instead, let's focus on how we can move forward together!</p>
<p>For anyone just embarking on their journey in Dynamics 365 Finance and Operations, it's essential to familiarize yourself with number sequences! Continuous number sequences are crucial in scenarios where legal regulations require a seamless, gapless flow of transaction numbering. On the other hand, non-continuous number sequences offer the flexibility of having gaps. Understanding these concepts will provide a solid foundation for your career in this dynamic field!</p>
<p>In this blog post, I’m excited to share some valuable tips and tricks that I’ve learned along the way for correctly defining <strong>FetchAheadQty</strong> when dealing with non-continuous number sequences.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742285907351/08037530-8bb0-4d1f-b4bc-07b22a55f7f9.png" alt class="image--center mx-auto" /></p>
<p>Before we dive into the details, let's explore the various business scenarios where this can truly make an impact!</p>
<h1 id="heading-a-common-business-scenario">A common business scenario:</h1>
<p>Think about evaluating the average number of lines for transactions that utilize the number sequence.</p>
<h1 id="heading-what-should-and-should-not-be-enabled">What Should and Should Not Be Enabled?</h1>
<p>Enabling non-continuous numbers can be a great feature, but if you skip pre-allocation, you might run into some real challenges.</p>
<p>Firstly, you’ll face an increased number of database lookups, which can slow things down.</p>
<p>Secondly, you could encounter potential contentions on the <strong>NumberSequenceTable</strong>, complicating operations.</p>
<p>Lastly, by not leveraging the caching capabilities available on AOS, you’re missing out on a performance boost.</p>
<p>Make sure to consider these aspects to keep your system running smoothly!</p>
<p>Throughout my performance reviews, I've often noticed that the numbers specified in the Preallocation section of the <strong>Performance FastTab</strong> on the Number Sequences page don't quite hit the mark. It's a common theme that these values can be misdefined or just not suitable for our needs.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742286440054/7b3bcf81-b0ff-40c7-9640-c4a2681f3326.png" alt class="image--center mx-auto" /></p>
<p><strong>Let’s explore ways to address this issue!</strong></p>
<p>Here are the suggestions/recommendations</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Quantity of numbers</strong></td><td><strong>Avg. number of transactions</strong></td><td><strong>Frequency</strong></td></tr>
</thead>
<tbody>
<tr>
<td>~100</td><td>75000+</td><td>Each Day</td></tr>
<tr>
<td>~20-50</td><td>25000+</td><td>Each Day</td></tr>
<tr>
<td>~10</td><td>10000+</td><td>Each Day</td></tr>
</tbody>
</table>
</div><p><strong>Note :</strong> When the number sequence is set to non-continuous but the fetch ahead quantity isn’t specified, it leads to the creation of a separate database for each number sequence that’s retrieved. This can result in a fragmented approach that may impact efficiency. Let’s ensure we’re setting everything up correctly for seamless data management and production workloads.</p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>Using <strong>Preallocation</strong> can significantly enhance performance. As you embark on your next implementation project, embrace these steps to elevate the performance of non-continuous number sequences!</p>
<p>Hope you found this post helpful!</p>
<p>Happy performance issue triage!</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[How do we analyze Dynamics 365 FO Golden Copy configurations across the environments?]]></title><description><![CDATA[In the ever-evolving Dynamics 365 FO ecosystem, maintaining Golden Copy configurations remains one of the most discussed and reimagined aspects of Data migration process. While popular tools robust solutions, there's significant value in understandin...]]></description><link>https://d365cliffsnotes.com/how-do-we-analyze-dynamics-365-fo-golden-copy-configurations-across-the-environments</link><guid isPermaLink="true">https://d365cliffsnotes.com/how-do-we-analyze-dynamics-365-fo-golden-copy-configurations-across-the-environments</guid><category><![CDATA[mismatch]]></category><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[datamigration]]></category><category><![CDATA[excel]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Mon, 17 Mar 2025 12:54:07 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1742212496510/de722f88-ddf7-445d-a62d-0269f7d718ee.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the ever-evolving Dynamics 365 FO ecosystem, maintaining Golden Copy configurations remains one of the most discussed and reimagined aspects of Data migration process. While popular tools robust solutions, there's significant value in understanding how to build your own state data management strategy. This article explores the why and how do we analyze Dynamics 365 FO Golden Copy configurations across the environments, empowering you with knowledge that goes beyond simply using Microsoft Excel Inquire the next trending tool.</p>
<p>In this blog post, I will share my learning on how to compare two Dynamics 365 FO environments config data and prepare dashboard summary out of it and present it to the business users.</p>
<h1 id="heading-what-is-golden-copy-config-environment">What is Golden Copy Config environment?</h1>
<p>Well, In my own words, it refers to a dedicated environment designed to standardize pre-configured parameters or configurations. This serves as a <strong>single source of truth</strong> for all configuration data across multiple implementations, rollouts, legal entities, and shared masters. It is essential for organizations aiming to ensure consistency, minimize manual effort, and speed up rollouts.</p>
<h1 id="heading-why-is-the-golden-copy-important">Why is the Golden Copy Important?</h1>
<ol>
<li><p>Global Rollouts: Ensures all subsidiaries follow the same business processes and financial structures.</p>
</li>
<li><p>Consistency &amp; Data Integrity: Reduces inconsistencies caused by manual setups.</p>
</li>
<li><p>Faster Deployments: Saves time in implementing Dynamics 365 FO across multiple entities.</p>
</li>
<li><p>Lower Risk: Helps prevent configuration-related issues during go-lives.</p>
</li>
</ol>
<h1 id="heading-what-does-this-data-mismatch-issue-occur">What does this data mismatch issue occur?</h1>
<ol>
<li><p>Manual Configuration Changes</p>
</li>
<li><p>Incorrect Data Migration</p>
</li>
<li><p>System Updates and Hotfixes</p>
</li>
<li><p>Data Synchronization Issues</p>
</li>
<li><p>Customizations and Extensions</p>
</li>
<li><p>Security &amp; User Role Differences</p>
</li>
</ol>
<h1 id="heading-how-to-identify-amp-fix-mismatches">How to Identify &amp; Fix Mismatches?</h1>
<p>There are multiple approaches to identify and fix the mismatches as mentioned below. However, in this blog post we are going to discuss <strong>How Microsoft Excel can help to identify</strong> and fix this issue of data mismatch.</p>
<p>Some popular options but effective approaches:</p>
<ol>
<li><p>Export data via DMF and compare with production.</p>
</li>
<li><p>Run SQL queries or Power BI reports to identify missing/inconsistent records.</p>
</li>
</ol>
<p>Use LCS Data Task Automation (DTA) for validation.</p>
<h1 id="heading-how-to-use-microsoft-excel-inquire-add-ins">How to use Microsoft Excel Inquire Add-ins?</h1>
<p>You may need to activate the Spreadsheet Inquire add-in, which makes the Workbook Analysis command available.</p>
<ol>
<li><p>Click <strong>File &gt; Options &gt; Add-Ins</strong>.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215511676/7e85023d-ce28-422f-9632-d14975d31e32.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Make sure <strong>COM Add-ins</strong> is selected in the <strong>Manage</strong> box and click <strong>Go</strong>.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215527110/0a265d15-be8d-4670-843c-6d254f251bbc.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>In the COM Add-Ins dialog, check the box next to Inquire Add-in. This will make the Inquire tab visible in Excel.</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215544582/ea41cc13-82d2-4632-98d4-abb86c0bdc1e.png" alt class="image--center mx-auto" /></p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215603271/548f9961-a6a0-409f-b325-ff1bd775af40.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Export the respective data from Dynamics 365 FO Source and Target environment for the comparison</p>
</li>
</ol>
<p><strong>Golden Copy Configuration – Environment (Specimen Data)</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215627771/8f1271d2-8445-4ec1-b343-5e36e875395b.png" alt class="image--center mx-auto" /></p>
<p><strong>System Integration Testing – Environment (Specimen Data)</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215648038/0e75c957-d8ae-440a-8bb4-110ae4f8bcf2.png" alt class="image--center mx-auto" /></p>
<ol start="5">
<li><p>Open both the Excel spreadsheet for comparison</p>
</li>
<li><p>Navigate to <strong>Microsoft</strong> <strong>Excel Inquire</strong> Tab of one of the opened Microsoft Excel spreadsheets</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215673311/f9b09887-a2fb-42cf-9286-aaefabc5a444.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Click on Compare Files option</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215690713/4b32370e-9097-4711-b0eb-23d0a053396c.png" alt class="image--center mx-auto" /></p>
<p> Select the <strong>Microsoft Excel spreadsheet</strong> that you wish to compare (In my case, I have chosen Golden Copy to System Integration Testing environment) And Click on <strong>Compare.</strong></p>
</li>
<li><p>Post Compare option, it will show case below mentioned view with detailed comparison of mismatch records</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215715731/7e3a9d38-ef7c-4041-acce-a3f6eb325e00.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Click on <strong>Export Results</strong> to prepare a summary</p>
<p> <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215743788/dd0e5242-cd1c-462e-ae36-bc74d746a5a5.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>Provide a meaningful name to the exported file and save the file</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215774333/bda5f274-f94b-44ba-a495-7bf12ae3f536.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>A Configuration data mismatch summary report</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1742215806365/0d2d171f-bd9c-46d7-a90b-6e12c01159f1.png" alt class="image--center mx-auto" /></p>
</li>
</ol>
<h1 id="heading-conclusion">Conclusion</h1>
<p>With the help of the <strong>Microsoft Excel Inquire Add-in</strong>, you can compare the Dynamics 365 FO Golden Copy Configuration mismatch issue. So when you work on your next Implementation project, try using these steps to improve your data mismatch analysis and troubleshooting experience!</p>
<p>Hope you found this post helpful!</p>
<p>Happy data mismatch analyzing!</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[My Top 10 Learning of Copilot for Dynamics 365 Finance & Supply Chain Management]]></title><description><![CDATA[Hey Learners, 👏
It seems that Microsoft Copilot, the AI-powered assistant, is gaining popularity worldwide. Customers and partners are trying to understand the various features of Copilot to align them with their specific needs and set expectations ...]]></description><link>https://d365cliffsnotes.com/my-top-10-learning-of-copilot-for-dynamics-365-finance-supply-chain-management</link><guid isPermaLink="true">https://d365cliffsnotes.com/my-top-10-learning-of-copilot-for-dynamics-365-finance-supply-chain-management</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[copilot]]></category><category><![CDATA[copilot AI]]></category><category><![CDATA[dynamics365fo]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Wed, 14 Feb 2024 18:23:49 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1707934999845/2ed2a8f5-93a6-4096-bf27-0ef847386330.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey Learners, 👏</p>
<p>It seems that Microsoft Copilot, the AI-powered assistant, is gaining popularity worldwide. Customers and partners are trying to understand the various features of Copilot to align them with their specific needs and set expectations for their business and IT strategies.</p>
<p>While trying to understand Copilot's architecture, learners like me are also exploring its pricing model and extensions to incorporate custom business processes.</p>
<p>To enable Copilot, there are numerous dependent components involved.</p>
<ul>
<li><p>Availability of Azure Open AI service in specific region</p>
</li>
<li><p>Microsoft Power Platform integration in Microsoft Dynamics Lifecycle Services</p>
</li>
<li><p>Microsoft Power Apps solution for Copilot from AppSource</p>
</li>
<li><p>Dynamics 365 FO platform compatible version</p>
</li>
<li><p>Dynamics 365 FO Feature management (User Experience for Copilot in Finance &amp; Operations Apps) specially for Sidecar functionality</p>
</li>
</ul>
<p>Here is a list of links that will help you learn about features and availability in your area.</p>
<p><strong>1) Copilot International Availability</strong></p>
<p><a target="_blank" href="https://dynamics.microsoft.com/en-us/availability-reports/copilotreport/">https://dynamics.microsoft.com/en-us/availability-reports/copilotreport/</a></p>
<p><strong>2) Installation &amp; compatible version of Dynamics 365 finance and operations apps</strong></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/copilot/enable-copilot#countryregion-and-language-availability">https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/copilot/enable-copilot#countryregion-and-language-availability</a></p>
<p><strong>3) Microsoft AppSource (Preview Apps)</strong></p>
<p><a target="_blank" href="https://appsource.microsoft.com/en-US/product/dynamics-365/mscrm.d365-financeai-preview?flightCodes=9b882e82e59c4f35a1b0a5368d42ea92">https://appsource.microsoft.com/en-US/product/dynamics-365/mscrm.d365-financeai-preview?flightCodes=9b882e82e59c4f35a1b0a5368d42ea92</a></p>
<p><a target="_blank" href="https://appsource.microsoft.com/product/dynamics-365/mscrm.dynamicsscmai-preview?flightCodes=f42a7338c806438f8fca820c4ed82b7c&amp;tab=Overview">https://appsource.microsoft.com/product/dynamics-365/mscrm.dynamicsscmai-preview?flightCodes=f42a7338c806438f8fca820c4ed82b7c&amp;tab=Overview</a></p>
<p><strong>4) Architecture of Copilot in finance and operations apps &amp; <em>large language models</em> (LLMs)</strong></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/copilot/copilot-architecture">https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/copilot/copilot-architecture</a></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/training/modules/fundamentals-generative-ai/3-language%20models">https://learn.microsoft.com/en-us/training/modules/fundamentals-generative-ai/3-language%20models</a></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/m365-copilot/copilot-data-entities?source=recommendations">https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/m365-copilot/copilot-data-entities?source=recommendations</a></p>
<p><strong>5) Overview of Copilot capabilities in finance and operations apps</strong></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/copilot/copilot-for-finance-operations">https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/copilot/copilot-for-finance-operations</a></p>
<p><strong>6) Enable generative help and guidance with Copilot (preview)</strong></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/copilot/enable-copliot-generative-help">https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/copilot/enable-copliot-generative-help</a></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/copilot/copliot-generative-help">https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/fin-ops/copilot/copliot-generative-help</a></p>
<p><strong>7) Dynamics 365 Finance - Collection Coordinator Summary</strong></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/finance/accounts-receivable/collectionscoordinatorsummary">https://learn.microsoft.com/en-us/dynamics365/finance/accounts-receivable/collectionscoordinatorsummary</a></p>
<p><strong>8) Dynamics 365 Supply Chain Management - Review and accept changes to confirmed purchase orders</strong></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/supply-chain/procurement/purchase-order-changes-after-confirmation">https://learn.microsoft.com/en-us/dynamics365/supply-chain/procurement/purchase-order-changes-after-confirmation</a></p>
<p><strong>9) Extend Copilot capabilities in finance and operations apps</strong></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/copilot/extend-copilot?source=recommendations">https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/copilot/extend-copilot?source=recommendations</a></p>
<p><strong>10) Microsoft 365 Copilot for Dynamics 365 Finance and Operations data (preview)</strong></p>
<p><a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/m365-copilot/faq-for-chat-with-fno-data-on-m365copilot">https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/m365-copilot/faq-for-chat-with-fno-data-on-m365copilot</a></p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[6 Prompts for resolving Tier 1 ERP table mapping challenges with Dynamics 365 Finance 
& Supply chain]]></title><description><![CDATA[Wouldn't it be great if we could simplify a few complex tasks to boost Dynamics 365 FO implementation productivity?
There have been a number of you who have reached out to me and said you'd like to overcome more about common learning challenges Dynam...]]></description><link>https://d365cliffsnotes.com/6-prompts-for-resolving-tier-1-erp-table-mapping-challenges-with-dynamics-365-finance-supply-chain</link><guid isPermaLink="true">https://d365cliffsnotes.com/6-prompts-for-resolving-tier-1-erp-table-mapping-challenges-with-dynamics-365-finance-supply-chain</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[GPT 3]]></category><category><![CDATA[dynamics]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Tue, 13 Feb 2024 19:03:59 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1707849931321/5c0be576-a0b8-4aec-aaf0-5a7d0ec8c98a.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Wouldn't it be great if we could simplify a few complex tasks to boost Dynamics 365 FO implementation productivity?</p>
<p>There have been a number of you who have reached out to me and said you'd like to overcome more about common learning challenges Dynamics 365 FO functional &amp; technical consultants face when there is an ERP transformation. </p>
<p>SAP or Oracle consultants are experts in SAP or Oracle, while Dynamics 365 FO consultants are experts in Dynamics 365. Due to this, it is nearly impossible for Dynamics 365 consultants to learn how to integrate ERP functionality across different companies. </p>
<p>In today's blog post, we will discuss how gen AI can simplify this task, aka Table mapping Tier-1 or Tier-2 ERP tables with Dynamics 365 Finance and SCM.</p>
<p>Generally, Tier 1 software is large scale and capable of facilitating high levels of functionality such as SAP and Oracle </p>
<p>SAP Table references used: <a target="_blank" href="https://www.se80.co.uk/training-education/sap-tables/">https://www.se80.co.uk/training-education/sap-tables/</a></p>
<p>Here are a few SAP tables that will demonstrate that the 6 prompts mentioned below really are helping Dynamics 365 consultants.</p>
<h1 id="heading-prompt-1-action">Prompt 1 - Action</h1>
<p>Can you please provide a mapping of SAP table with Dynamics 365 Finance? Table name of SAP is BKPF - Accounting document header</p>
<h1 id="heading-prompt-1-output">Prompt 1 - Output</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707850056094/9659bfb8-e4df-4857-9018-92449b7ecb4d.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-prompt-2-action">Prompt 2 - Action</h1>
<p>Can you please provide a mapping of SAP table with Dynamics 365 Finance? Table name of SAP is BSEG - Accounting Document Segment</p>
<h1 id="heading-prompt-2-output">Prompt 2 - Output</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707850081372/53e0f126-8ade-48a5-bcf4-0c85db1f462c.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-prompt-3-action">Prompt 3 - Action</h1>
<p>Can you please provide a mapping of SAP table with Dynamics 365 Finance? Table name of SAP is EKKO - purchasing document header Show me list of all the fields of SAP AND Dynamics 365 Finance</p>
<h1 id="heading-prompt-3-output">Prompt 3 - Output</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707850127870/37b400d0-5c51-4399-8ec3-c169a28506a1.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-prompt-4-action">Prompt 4 - Action</h1>
<p>Can you please provide a mapping of SAP table with Dynamics 365 Finance? Table name of SAP is EKKO - purchasing document header Show me the mapping of EKORG and WKURS fields of SAP AND Dynamics 365 Finance</p>
<h1 id="heading-prompt-4-output">Prompt 4 - Output</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707850176901/9d13401e-89e8-4a9e-bb00-420734234d40.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-prompt-5-action">Prompt 5 - Action</h1>
<p>Can you please provide a mapping of SAP table with Dynamics 365 Finance? Table name of SAP is EKKO - purchasing document header Show me the mapping of all fields of SAP AND Dynamics 365 Finance with relationships between the two</p>
<h1 id="heading-prompt-5-output">Prompt 5 - Output</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707850236302/e6d541c5-cc7f-467b-b4c1-5f8d138de7fa.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-prompt-6-action">Prompt 6 - Action</h1>
<p>Can you please provide a mapping of SAP table with Dynamics 365 Finance? Table name of SAP is EKKO - purchasing document header Show me the mapping of all fields of SAP AND Dynamics 365 Finance with relationships between the two, mandatory fields in SAP and Dynamics 365 Finance, field business description</p>
<h1 id="heading-prompt-6-output">Prompt 6 - Output</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707850276112/7b7223bc-db42-427d-a3b1-8661648fd4e0.png" alt class="image--center mx-auto" /></p>
<p><strong>Note:</strong> As of 13-Feb-2024, I have received the following response from the <strong>GPT 3.5</strong> model. You should be aware, however, that these LLM models are <strong>non-deterministic</strong>. As a result, your results may differ.</p>
<p>If you want to learn more about LLM, please refer to MS Learn article: https://learn.microsoft.com/en-us/training/modules/fundamentals-generative-ai/3-language%20models</p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>To conclude, In generative AI applications, large language models (LLMs) are used to perform natural language processing (NLP), which is a specialized type of machine learning.</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[Architecting For File Security : Solution Design Approaches to Encrypting and Decrypting File Data in Dynamics 365 Finance - Part I]]></title><description><![CDATA[The security of data is one of the most pressing concerns in the digital age. Whether you're sharing sensitive information over the internet, protecting your files, or storing sensitive information, encryption is critical.
This series of posts will f...]]></description><link>https://d365cliffsnotes.com/architecting-for-file-security-solution-design-approaches-to-encrypting-and-decrypting-file-data-in-dynamics-365-finance-part-i</link><guid isPermaLink="true">https://d365cliffsnotes.com/architecting-for-file-security-solution-design-approaches-to-encrypting-and-decrypting-file-data-in-dynamics-365-finance-part-i</guid><category><![CDATA[dynamics365finance]]></category><category><![CDATA[#dynamics365]]></category><category><![CDATA[Dynamics 365]]></category><category><![CDATA[Security]]></category><category><![CDATA[encryption]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Tue, 13 Feb 2024 01:39:24 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1707788138310/8efcf87f-c443-4764-ae1c-222aaf81e505.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The security of data is one of the most pressing concerns in the digital age. Whether you're sharing sensitive information over the internet, protecting your files, or storing sensitive information, encryption is critical.</p>
<p>This series of posts will focus on encryption and decryption concepts, common frameworks, solution design approaches, and step-by-step implementation in Dynamics 365 Finance.</p>
<p>In this article, we will be looking at the core concepts and design principles of file encryption and how to go about it.</p>
<p>Every Dynamics 365 Finance implementation especially when the business is focused on Finance processes has a use case that involves 3rd party file integration, such as banks, contractors &amp; partners.</p>
<p>Let's first understand the common use cases of file data encryption and decryption before diving into the core concepts.</p>
<h1 id="heading-what-are-the-common-use-cases">What are the common use cases?</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707765385832/fb011241-921b-476f-b26c-5106e43ea22f.png" alt class="image--center mx-auto" /></p>
<p>These are the list of scenarios that we used in the file integration where we need to encrypt and decrypt the file data before it is sent to third party or received from a third party.</p>
<p>One of the common scenarios is bank integration and any Dynamics 365 Finance transformation implementation project without this scenario is incomplete.</p>
<p>As we are all aware any finance application, we interact with banks for various purposes such as sending a payment collection request or receiving the payment details, acknowledgment of those payments, and electronic statements. So when there is involvement of financial data and those need to be transmitted via files there is a possibility of getting changed or altered. And to prevent that bank or customer recommends that all the communications happen via secure format so that there should not be a trade-off with security.</p>
<p>There can be other scenarios in 3rd party integrations such as contractors, business partners, collectively working with customers. for ex. customer used to send a file via SFTP and the contractor was managing the logistics. And they were processing the logistics based on the request sent via file.</p>
<h1 id="heading-when-to-encrypt">When to Encrypt?</h1>
<p>Whenever you have sensitive data that shouldn't be shared with the general public, such as bank files, you should encrypt it.</p>
<h1 id="heading-what-is-encryption-amp-decryption">What is encryption &amp; decryption?</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707787755125/e98d40d6-59e5-4d39-9bb9-8306e9d31ea3.png" alt class="image--center mx-auto" /></p>
<p>There are two types of encryptions Symmetric &amp; Asymmetric. In the case of Symmetric, only a single key will be used for encryption or decryption. However, in the Asymmetric type encryption will happen in one pattern and decryption will follow another pattern.</p>
<h1 id="heading-key-core-concepts">Key core concepts</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707787786662/9411d313-9f14-4722-b274-402afb11721c.png" alt class="image--center mx-auto" /></p>
<p>Let's understand the core concepts</p>
<p>A private key is a key private for the primary party and is used only for decryption and not encrypting the data. The public key used to encrypt the data before sharing it with another party. This public key can be shared with among multiple parties such as banks.</p>
<p>Normally bank provides the public key so that we can use their public key and encrypt the data and send it back to them.</p>
<p>The bank uses its own private key to decrypt the data. The public is also used for signing the information, consider the scenario where information or files are encrypted and shared with another party but another party will not know whether the information received from any channel is authenticated or not.</p>
<p>So, they will validate with a signature and that signature will be used through a public key, if that signature is valid then only one party can process the data.</p>
<p>However, in the case of ASCII Armor, when encrypting the data there is possibility that information is converting into binary format and binary format cannot be transmitted over the email or other channel such as SFTP.</p>
<p>So, it is advisable that that information will be converted into ASCII format so it can be easily transmitted to over various channel.</p>
<p>As we understand earlier, when we transmit the information to any party, another party has to validate the information whether it is received from the correct source or not. so, the receiver can validate the signature</p>
<p>for e.g. when we work with the bank and the bank has provided the public key so that we can encrypt the data and share it with bank. but before we share with bank, we will sign the data with the public key provided by bank and information will be transmitted to the bank. the bank will validate the signature with the public key and if it is valid then it will receive information and process it.</p>
<h1 id="heading-common-framework-pretty-good-privacy">Common framework - Pretty Good Privacy</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707787845075/ebe47d66-6b55-4635-adb3-4cdc8425a43c.png" alt class="image--center mx-auto" /></p>
<p>PGP stands for Pretty Good Privacy. It is one of the common frameworks and industry-wide accepted with various supported algorithms.</p>
<h1 id="heading-solution-design-approaches">Solution design approaches</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707787878872/ac6fff68-46ba-41ef-95ff-24f916ec79b0.png" alt class="image--center mx-auto" /></p>
<p>There are multiple approaches that can be considered while designing the file encryption solution.</p>
<p>In the first approach, where we can leverage the D365 Finance App via an extension. But it has high dependency and less control over IT Pros in case of failure or telemetry support as well as less maintainable. For e.g. change in encryption approach from the bank.</p>
<p>The second approach is hosting a dedicated Cloud VM by using Windows Service. On the one side, you are getting dedicated computing and storage resources. However, high operational cost &amp; no centralized telemetry is involved.</p>
<p>In the third approach, leverage Azure serverless computing such as Azure Functions. One of the biggest advantages is lightweight and serverless computing as well as low operational cost. Another benefit of this approach is end-to-end telemetry and low operational cost.</p>
<p>The last approach is Container Instances, let's take one example where a bank uses a dedicated application before the file is sent for encryption and decryption via a specific channel. In this approach, we can create the software or package and deploy it to the Cloud. It will have a very low operational cost compared to a dedicated Virtual machine.</p>
<h1 id="heading-reference-solution-architecture-amp-how-it-works">Reference Solution Architecture &amp; How it works?</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1707766408298/2388805e-3207-4e68-80e4-9c27a8ea761a.png" alt class="image--center mx-auto" /></p>
<p>Let's understand how encryption and decryption work using Azure Function. </p>
<p>Let's assume payment files are being generated through Dynamics 365 Finance and sent to Azure Storage and middleware (Logic Apps or Power Automate) will encrypt the file and send it to banks. What it means is that Azure Function is being called to encrypt the file data and goes with decryption as well.</p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>To conclude, encryption &amp; decryption is an important element of data authentication and privacy. Let's deep drive practicality of Azure Function in next blog.</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Thank you for reading this piece. If you enjoyed it, please let others know. Hit the subscribe button to read more posts from this blog. <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[Should You Learn CDS vs. Standard public data entities implementation approach First?]]></title><description><![CDATA[Let's look at some stats.
So you want to get into integration between Dynamics 365 CE or Custom Power Apps and Dynamics 365 FO. The question is, which type of Public Data entities are to be used from Dynamics365 FO?
As someone who's working on a list...]]></description><link>https://d365cliffsnotes.com/should-you-learn-cds-vs-standard-public-data-entities-implementation-approach-first</link><guid isPermaLink="true">https://d365cliffsnotes.com/should-you-learn-cds-vs-standard-public-data-entities-implementation-approach-first</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[dualwrite]]></category><category><![CDATA[#dataentities]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Thu, 11 May 2023 18:19:19 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1683828463589/1f67bc2a-0269-4915-bd9b-b20aaa939341.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Let's look at some stats.</p>
<p>So you want to get into integration between Dynamics 365 CE or Custom Power Apps and Dynamics 365 FO. The question is, which type of Public Data entities are to be used from Dynamics365 FO?</p>
<p>As someone who's working on a list of integration approaches such as</p>
<p>1. Dual-write<br />2. Data integrator<br />3. Connector<br />4. API</p>
<h1 id="heading-should-i-use-customers-v2-customers-v3-or-sales-quotation-header-cds-entity-what-is-the-difference-between-these-entities-and-tables">Should I use Customers V2, Customers V3, or Sales Quotation Header CDS entity? What is the difference between these entities and tables?</h1>
<p>It is always tricky to make decisions about which data entity to be used for the above-mentioned integration approaches, read on and I'll give you my thoughts.</p>
<p>If you deep dive more into available Dynamics 365 FO Data entities whether named with CDS or not under the hood it is connected with business transactions or master tables such as custtable, salesline etc.</p>
<p>As the world becomes increasingly reliant on digital platforms, it is more important than ever to ensure that application integration plays a vital role.</p>
<p>Integration technology is a vital component of Dynamics 365 FO and Dataverse (Dynamics 365 CE &amp; Power Apps) such as Data connector, API, Dual-write and VirtuEntity.</p>
<h1 id="heading-there-isnt-a-right-answer-but-there-is-a-better-one">There isn't a right answer, but there is a better one</h1>
<p>Let's deep dive into CDS vs Non- CDS data entities artifacts and understand the purpose build business logic and metadata changes</p>
<p>1. SalesQuotationHeaderCDSEntity: The standard function/method "<strong>updatePrices</strong>" is used to invoke Odata actions via Dual-write</p>
<p>2. smmContactPersonCDSV2Entity: It has additional fields in comparison with standard public Data entities such as <strong>AssociatedContactNumber</strong> &amp; <strong>AssociatedContactType</strong></p>
<p>After learning the CDS data entities, one might say that it is not recommended to use CDS Data entities when there is no Dual-write infrastructure used and a possible reason may be</p>
<ol>
<li><p>Use standard public data entities (non-CDS) as it is</p>
</li>
<li><p>Extend standard public data entities (non-CDS)</p>
</li>
<li><p>Build custom public data entities for tailored-made business processes</p>
</li>
</ol>
<p>A CDS entities are lightweight, performance-optimized entity specially designed to integrate with Dataverse - it need not be done through Dual-write but can be done through other methods such as using Data Integrator or custom integration.</p>
<p>In a nutshell, There is no general best practice that recommends you use CDS vs Non-CDS entities, right? Nevertheless, you may choose the following option based on the fit/gap analysis for each interface:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1683830503305/c71d28ab-1171-4b66-b4fb-700258bd1fa1.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>It is important to note that the performance and effort required for each of these options will vary. Therefore, each entity's decision should be made based on business requirements by the project team.</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[Learn How To Troubleshoot Company Records Issue In Dual-write]]></title><description><![CDATA[Ever been configuring and validating Dual-write health checks and then notice that one of your colleagues set up a new legal entity in Dynamics 365 FO and failed to sync company records moving to Dataverse and refreshing the Dual-write maps as a last...]]></description><link>https://d365cliffsnotes.com/learn-how-to-troubleshoot-company-records-issue-in-dual-write</link><guid isPermaLink="true">https://d365cliffsnotes.com/learn-how-to-troubleshoot-company-records-issue-in-dual-write</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[dualwrite]]></category><category><![CDATA[error handling]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Sat, 22 Apr 2023 17:03:26 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1682181912991/185976da-7bf9-4b1b-a38e-65e20a01de50.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ever been configuring and validating Dual-write health checks and then notice that one of your colleagues set up a new legal entity in Dynamics 365 FO and failed to sync company records moving to Dataverse and refreshing the Dual-write maps as a last option but nothing is working?</p>
<p>On checking the error or behavior using the Plug-in registration tool, you see an observation that reads Company records are not to Dataverse.</p>
<p>In this blog post, I will share my learning on how to troubleshoot company records sync issues with Dataverse when you have Dual-write infrastructure.</p>
<h1 id="heading-what-is-a-legal-entity-or-company-record-sync-issue">What is a Legal entity or company record sync issue?</h1>
<p>Well, when you enable Dual-write infrastructure for your business processes to sync data between Dynamics 365 CE (CRM) and Dynamics 365 FO (ERP). Sometimes your Dynamics 365 FO record which is tagged to a company (<strong>dataareaid</strong>) is not synchronizing correctly.</p>
<p>My video explains how company records are moved to Dataverse based on table relationships.</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://youtu.be/yNyKslb2-Vc">https://youtu.be/yNyKslb2-Vc</a></div>
<p> </p>
<h1 id="heading-is-this-really-necessary-for-us-to-know">Is this really necessary for us to know?</h1>
<p>Quite reasonable. Due to its importance for record identification and its prevalence in the Dual-write infrastructure.</p>
<h1 id="heading-why-does-this-issue-occur">Why does this issue occur?</h1>
<p>There could be three main reasons for such types of issues.</p>
<p>1. New legal entity is not set up for Dual-write using the <strong>"environment details"</strong> option</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682182072139/e5a45f3a-8db3-42de-ab32-7156af0a8339.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682182088472/c43a6bcd-20e5-47d7-a96d-852a13b5828b.png" alt class="image--center mx-auto" /></p>
<p>2. Orphaned legal entity records left in the below tables while unlinking the Dynamics 365 FO &amp; Dataverse environment</p>
<p><strong>DualWriteProjectConfiguration</strong></p>
<p><strong>DualWriteProjectFieldConfiguration</strong></p>
<p><strong>BusinessEventsDefinition</strong></p>
<p>3. Forgot to check the <strong>"Force reset option"</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682182215713/297cf7d9-682e-4b86-a341-c30be4352cf9.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682182226201/014d49f8-a179-447a-bbbf-84d567ca852c.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-troubleshooting-steps">Troubleshooting steps</h1>
<p><em>A. Validate Company Records</em></p>
<p>1. Head over to <a target="_blank" href="http://make.powerapps.com">make.powerapps.com</a> &amp; Dataverse environment</p>
<p>2. Look up for <strong>“company”</strong> table in Dataverse</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682182288084/31ebf468-44cc-4400-950c-c73c2e3fd36e.png" alt class="image--center mx-auto" /></p>
<p>3. Select open and then open in the new tab option to browse the table records</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682182350714/c4cfe11d-a48c-4f49-9952-5d81f44f9ebf.png" alt class="image--center mx-auto" /></p>
<p>4. Add new columns <strong>"Is Enabled for Dual write" &amp; "Default owning team"</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682182403037/6ea83159-b2bf-452d-8856-29102c796b91.png" alt class="image--center mx-auto" /></p>
<p>4. Verify the missing legal entity records</p>
<p>5. If the record exists then verify the value set as YES in column <strong>"Is Enabled for Dual write"</strong> or not</p>
<p>6. Verify the data value for the Default owning team exists or not</p>
<p><em>B. Environment details</em></p>
<p>1. Validate environment details for in Dynamics 365 FO and add newly created Legal entity</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1682182473734/cd8ab6e0-fd10-4df1-bae4-1a7de026a879.png" alt class="image--center mx-auto" /></p>
<p>2. Navigate to Dataverse and validate the newly created legal entity/company records</p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>With troubleshooting steps, you can ensure your company records issue of Dual-write is easy to understand. If you're working on your next Dual-write project, make sure you follow these steps to make troubleshooting easier!</p>
<p>Hope you found this post helpful and that you'll find a perfect guide to troubleshooting company record issues in Dual-write infrastructure!</p>
<p>Happy troubleshooting!</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[How Do I Deploy a Dynamics 365 Integrated Trial Environment? – Step -by-Step Guide]]></title><description><![CDATA[The challenge is: what is it?
Keeping up-to-date with the latest & greatest features of Dynamics 365 family products is essential in today's fast-paced technological landscape.
The other day, I revisited my programming journal, only to discover sever...]]></description><link>https://d365cliffsnotes.com/how-do-i-deploy-a-dynamics-365-integrated-trial-environment-step-by-step-guide</link><guid isPermaLink="true">https://d365cliffsnotes.com/how-do-i-deploy-a-dynamics-365-integrated-trial-environment-step-by-step-guide</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[dualwrite]]></category><category><![CDATA[Environment]]></category><category><![CDATA[#trial]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Wed, 19 Apr 2023 05:00:39 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1681823242722/0b833527-956d-43e2-a984-210b18d85b4f.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-the-challenge-is-what-is-it">The challenge is: what is it?</h1>
<p>Keeping up-to-date with the latest &amp; greatest features of Dynamics 365 family products is essential in today's fast-paced technological landscape.</p>
<p>The other day, I revisited my programming journal, only to discover several new features, updates, and changes I hadn't seen before. Simply to stay current, I had to revisit new features of Dynamics 365 Project Operations and some features of Dynamics 365 FO.</p>
<p>At work, I am often required to use new frameworks or features. Although I concentrate on learning new Dynamics 365 Project Operations features, I might still feel that I am missing the full picture of Dynamics 365 Finance business processes. In some cases, it's frustrating not to have a dedicated, managed or trial-integrated Dynamics 365 Project Operations or any apps of Dynamics 365 and Dynamics 365 FO environment, so you can see how everything works together.</p>
<p>What is the most effective way to deploy your learning environment for 1-month? </p>
<p>Here are the steps we need to take</p>
<h1 id="heading-step-1-search-for-the-right-url">Step 1: Search for the right URL</h1>
<p>You can easily find the Dynamics 365 Project Operations trial link by searching the below keyword using <a target="_blank" href="http://BING.com">BING.com</a></p>
<p>OR</p>
<p>Navigate to <a target="_blank" href="https://learn.microsoft.com/en-us/dynamics365/project-operations/environment/admin-trials">https://learn.microsoft.com/en-us/dynamics365/project-operations/environment/admin-trials</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681821645822/431c6e5b-8b25-4dcc-8929-e317c04b61d9.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-2-sign-up-for-project-operations-trial">Step 2: Sign up for Project Operations Trial</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681821732378/972c83df-cae7-4593-9bb7-4a4059174bfc.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681821767017/5c9926be-e7f8-4819-b3bf-cdcfb6063610.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-3-lets-get-you-started">Step 3: Let's get you started</h1>
<p>Fill out the email address</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681821843768/d4394fe1-5cfa-4854-81ba-049c8a2f3022.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681821872589/47d23363-eb17-40fa-9bce-f4f68c89168d.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-4-tell-us-about-yourself">Step 4: Tell us about yourself</h1>
<p>Fill out the required fields</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681821935687/4534ca72-1dd8-46b7-84ac-02525db8b41a.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681821979838/22daea90-b3a6-4819-8c2e-586f84b9a6a3.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-5-sign-in-information">Step 5: Sign-in Information</h1>
<p>Enter the domain name and click on Next</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822023011/c090b0b6-f01d-42fa-a6ed-f599e5dd4c48.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822045808/4a1e898f-f1df-4ec0-8960-e03a99efb430.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-6-confirm-the-details-before-getting-started">Step 6: Confirm the details, before getting started</h1>
<p>Click on Get started</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822076284/6939a752-e27a-4131-8ee9-90d425138183.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-7-select-the-project-operations-scope">Step 7: Select the Project Operations Scope</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822167332/1c3e4e60-9601-4811-8b4e-94f250f6e874.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-8-select-the-option-to-deploy-project-operations">Step 8: Select the option to deploy Project Operations</h1>
<p>In my case, I would like to utilize end-to-end project management and accounting capabilities but in your case, it might be lite deployment or resource/non-stock scenarios</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822206440/5d3610b1-e19e-4f8d-a4ed-3b090b4fcfd4.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-9-getting-things-ready-for-you">Step 9: Getting things ready for you</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822275983/251cb7a8-694c-4d8e-bc21-753dc08ceceb.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822306232/2e06d5fe-756c-4a77-84d8-7cd1ae8416f5.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-10-validate-deployed-environments">Step 10: Validate deployed environments</h1>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822358953/e70a929b-dd43-43fc-bc91-010c0a1148a0.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822419782/b146cb0d-1062-474a-a887-d6d6edb70b11.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-11-install-dynamics-365-project-operations-apps">Step 11: Install Dynamics 365 Project Operations Apps</h1>
<p>Navigate to Power Platform Admin center -&gt; Select resource -&gt; Dynamics 365 Apps -&gt; Install apps</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681822978099/75f3b395-932e-4040-a80d-d536d5ff2932.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681823000890/74b5466c-afc9-44c0-9a5f-af08aa2ea8d1.png" alt class="image--center mx-auto" /></p>
<p>Select Microsoft Dynamics 365 Project Operations and click on Next</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681823013264/9cc1012c-1951-4014-8c8a-265b131eaa47.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681823054367/0cf3cdc8-cb7d-4ccb-8faf-1e31291de444.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-step-12-verify-and-apply-the-dual-write-maps-solution">Step 12: Verify and apply the Dual-write maps solution</h1>
<p>Navigate to the Data management workspace</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681823086669/e94d1974-583a-403a-a021-1ba2fe1f5a65.png" alt class="image--center mx-auto" /></p>
<p>Click on Dual write Tile</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681823118871/6151f8b3-1bb1-4acd-be88-d6c1de223897.png" alt class="image--center mx-auto" /></p>
<p>Click on Apply solution</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681823154186/de8397f0-bac5-4a80-a7d7-0222376ef90e.png" alt class="image--center mx-auto" /></p>
<p>Select the respective solution to enable the Data sync and Click on Apply</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681823186140/629af49c-4474-4c31-bb35-d3205049c7ef.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681823198844/4a9979e2-b82a-4055-a2e9-457ba9505bfc.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>By using this Dynamics 365 app and Dynamics 365 FO Trial environment, you can learn endlessly.</p>
<p>Thanks for reading! I hope this can help get you started exploring this One Dynamics One Platform! Feel free to like and share this article if it helps! Cheers!</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[How to Deal With Missing Fields on Dual-write Table Custom Maps]]></title><description><![CDATA[Dual-write Custom entity Maps: I bet, You're probably missing something.
Roughly a year ago I had to create a complex Dual-write table map and I couldn't decide the approach to start with Dataverse first or Dynamics 365 FO. However, I knew I wanted t...]]></description><link>https://d365cliffsnotes.com/how-to-deal-with-missing-fields-on-dual-write-table-custom-maps</link><guid isPermaLink="true">https://d365cliffsnotes.com/how-to-deal-with-missing-fields-on-dual-write-table-custom-maps</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[dualwrite]]></category><category><![CDATA[integration]]></category><category><![CDATA[troubleshooting]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Fri, 14 Apr 2023 08:57:27 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1681462386069/55b37e57-0906-48a4-bdcd-d6c37765a6cf.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Dual-write Custom entity Maps: I bet, You're probably missing something.</p>
<p>Roughly a year ago I had to create a complex Dual-write table map and I couldn't decide the approach to start with Dataverse first or Dynamics 365 FO. However, I knew I wanted to use a custom data entity with a custom table of Dataverse to complete the data mapping. So I began a process of table mapping using Dual-write. I could able to complete the data fields mapping process and try to start the map to initiate the data sync. However, it failed in testing due to some missing fields or columns.</p>
<p>I had almost no experience with Dual-write troubleshooting to resolve the issue. The only option left with me was to step-by-step approach right from Dynamics 365 FO Data entity to Dataverse table fields.</p>
<p>Real-world Dual-write custom table maps are very messy and, in many cases, they have many missing fields. Similar to the above business scenario.</p>
<p>Often, missing fields are one of the most problems that Developers are likely to deal with day to day, and it is not straightforward to know the right strategy.</p>
<p>There are many ways to deal with missing table map fields, but there is no one-fit strategy. The right strategy depends on the Data entity, its company-specific property or number of fields you have, the count of missing fields in a concerned scenario, what can be tolerated, and so on.</p>
<p>Choosing the best strategy will help us to provide accurate insights, and avoid us from communicating wrong information. It can also save us time that we would spend tuning the table maps, from the fact that good table maps come from good (and clean) data fields.</p>
<p>There are many solutions to handle missing fields, but basically, everything we can do falls into the following:</p>
<p>In this article, I will walk through the common ways to handle missing table map fields.</p>
<h1 id="heading-in-dynamics-365-fo-are-there-any-fields-missing">In Dynamics 365 FO, are there any fields missing?</h1>
<p>If the answer to the above question is YES then</p>
<p>a. Validate Data entity metadata configuration is not up to date or not</p>
<p>b. Navigation path if DMF parameters to refresh the metadata</p>
<p><strong>System Administration -&gt; Data management -&gt; Framework parameters -&gt; Entity settings -&gt; Refresh entity list</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681461854543/d7d87ad9-f9d6-408c-b816-04a5c8fb2714.png" alt class="image--center mx-auto" /></p>
<p><strong>Precaution:</strong> Data Import &amp; Export should be stopped during metadata refresh activity</p>
<p>c. Check whether fields are available or not by navigating to modify target mapping</p>
<p><strong>System Administration -&gt; Data management -&gt; Data entities -&gt; Select respective data entity -&gt; Click on Modify target mapping</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681461939454/f6ec99bb-f45c-4802-819d-41f69490cdd7.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-in-dataverse-are-there-any-fields-missing">In Dataverse, are there any fields missing?</h1>
<p>If the answer to the above question is YES then</p>
<p>a. Navigate to Dual-write mapping and click on "Refresh" option</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681462039044/f6c36801-d99c-488a-a93a-8daa99a65afd.png" alt class="image--center mx-auto" /></p>
<p>This step makes the Odata call to Dataverse to pick up the latest table fields from Dataverse.</p>
<p>Before manipulating, I highly recommend considering these finding for missing columns on the Dual-write custom entity map.</p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>If you are working with Dual-write already it highly recommends you check out fee basic validation checks. The learning curve is not that high, just a focus on basic steps with Dual-write can probably be achieved within a few weeks.</p>
<p>If you have questions feel free to reach out to me! I'm happy to help.</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[Dual-write: Types of Errors and How to Fix them]]></title><description><![CDATA[Oops…there’s an Error! :) 😬
While using Dual-write infrastructure we encounter a wide variety of different types of errors. Often, these errors leave us scratching our heads. Nevertheless, we can learn what those errors mean by understanding why we ...]]></description><link>https://d365cliffsnotes.com/dual-write-types-of-errors-and-how-to-fix-them</link><guid isPermaLink="true">https://d365cliffsnotes.com/dual-write-types-of-errors-and-how-to-fix-them</guid><category><![CDATA[#dynamics365]]></category><category><![CDATA[dualwrite]]></category><category><![CDATA[error handling]]></category><category><![CDATA[alert]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Wed, 12 Apr 2023 08:37:24 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1681287901862/ea0575fb-e691-49d7-8533-600112f40aa7.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Oops…there’s an Error! :) 😬</p>
<p>While using Dual-write infrastructure we encounter a wide variety of different types of errors. Often, these errors leave us scratching our heads. Nevertheless, we can learn what those errors mean by understanding why we get them. Our life will be a lot easier if we know how to solve or avoid them!</p>
<p>With the Dual-write Alert capability feature, we can set up an error of type to happen in minute(s) and hour(s) for all the table maps.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681286494330/6b2563b8-81d5-4963-99ec-98d28a39be2c.png" alt class="image--center mx-auto" /></p>
<p>In today's blog, let's understand what the 'Types of Error' are. Why do we get those errors? And how are we supposed to avoid them?</p>
<h1 id="heading-what-is-an-error">What is an error?</h1>
<p>Errors that prevent your data sync operation from performing smoothly.  Whether it is uni-directional or bi-directional using Dual-write infrastructure. There are eight main types of errors that can occur while running Dual-write infrastructure in your environment:</p>
<ul>
<li><p>502 Bad Gateway: This error occurs when the target application is not ready to handle the incoming request</p>
</li>
<li><p>401 Unauthorized &amp; 403 Forbidden: This error occurs when there is a permission issue</p>
</li>
<li><p>503 Service Unavailable: This error occurs when the application is down</p>
</li>
<li><p>400 Bad Request: This error occurs when Dynamics 365 FO is restarting </p>
</li>
<li><p>429 Too Many Requests: This error occurs when there is throttling</p>
</li>
<li><p>Application Error: This error occurs when there is a Data validation error happening in the background</p>
</li>
<li><p>Any other HTTP Error: Any other errors related to the HTTP tagged to this type of error category</p>
</li>
</ul>
<h1 id="heading-let-us-explore-the-types-of-errors">Let us explore the types of errors:</h1>
<ul>
<li><p>502 Bad Gateway</p>
<p>  A. This is the most common error that occurred </p>
<p>  B. This error is received only in the scenario when the target application is not ready to handle the request for something unexpected </p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681288251024/660f7035-e108-470e-91ba-331aec845cfe.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>401 Unauthorized &amp; 403 Forbidden</p>
<p>  A. The most common error is this one</p>
<p>  B. This error occurs when there is a permission issue</p>
<p>  C. It might be a permission issue in Dataverse or either in Dynamics 365 FO </p>
<p>  D. Such as permission of the application user or user roles missing or the user being disabled</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681288306585/7e600564-224e-4266-80d8-61b453197349.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>503 Service Unavailable </p>
<p>  A. This is not a common error, but rather an extremely rare one </p>
<p>  B. Whenever there is planned or unplanned maintenance that requires application downtime </p>
<p>  C. Also, this error is received when a few applications outage scenarios </p>
<p>  D. OR Application crash scenarios </p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681288332513/edcb4a22-adba-4a1d-a42f-eb8c06d3f198.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>400 Bad Requests</p>
<p>  A. This is the most common error that occurred </p>
<p>  B. OR any other error while Dual write making data calls between both the systems can be failing</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681288349626/4705bf00-ee87-4e6b-b337-07931757a16b.png" alt class="image--center mx-auto" /></p>
</li>
<li><p>429 Too Many Request </p>
<p>  A. This is the most common error that occurred </p>
<p>  B. If there is an extraordinary request to the client application</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681288362666/b2e21b82-3b1a-4ec1-a7aa-4e2256f3aaa6.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>Application Error </p>
<p>  A. This is the most common error that occurred </p>
<p>  B. If there are some missing mandatory fields </p>
<p>  C. OR there are bad data inputs for the field</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681288377761/a58f0dd0-06da-42ef-ac43-381d95f5fe18.png" alt class="image--center mx-auto" /></p>
<ul>
<li><p>Any other HTTP Error</p>
<p>  <img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681288388691/10078a70-73f1-4256-bdf7-75ea95602c1d.png" alt class="image--center mx-auto" /></p>
</li>
</ul>
<h1 id="heading-a-few-ways-to-avoid-common-errors-include">A few ways to avoid common errors include:</h1>
<ul>
<li><p>Proper Dual-write Health check </p>
</li>
<li><p>Proper Dual-write application user authentication &amp; configuration </p>
</li>
<li><p>Proper data field mapping in custom table maps </p>
</li>
<li><p>Proper design considerations such as data frequency, data volume &amp; data sync directions</p>
</li>
<li><p>Proper coordination between the teams</p>
</li>
</ul>
<h1 id="heading-summary">Summary</h1>
<p>As we work on Dual-write, we will undoubtedly encounter errors. Our best strategy is to figure out what causes these errors and avoid them, if possible. With this knowledge and awareness, you will be able to spend less time searching for solutions online and wasting less time looking for solutions.</p>
<p>Now that you understand these errors, I hope you can take action to correct them. Please share your feedback about the blog in the comments. Enjoy your day!</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[Chat GPT was asked to build a Daily Tracker application in Canvas Power Apps — Does this mean we have a replacement?]]></title><description><![CDATA[In light of everyone's buzz over Open AI's ChatGPT, I reached out to OpenAI Chat to ask to build Daily tracker apps for Canvas PowerApps and use Dataverse as a back-end and the response was amazing.
If you remember, GitHub Co-pilot was released in Oc...]]></description><link>https://d365cliffsnotes.com/chat-gpt-was-asked-to-build-a-daily-tracker-application-in-canvas-power-apps-does-this-mean-we-have-a-replacement</link><guid isPermaLink="true">https://d365cliffsnotes.com/chat-gpt-was-asked-to-build-a-daily-tracker-application-in-canvas-power-apps-does-this-mean-we-have-a-replacement</guid><category><![CDATA[powerapps]]></category><category><![CDATA[AI]]></category><category><![CDATA[Developer]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Fri, 16 Dec 2022 18:28:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1671214278476/neaPYxJlD.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In light of everyone's buzz over Open AI's ChatGPT, I reached out to OpenAI Chat to ask to build Daily tracker apps for Canvas PowerApps and use Dataverse as a back-end and the response was amazing.</p>
<p>If you remember, GitHub Co-pilot was released in October 2021, and the entire developer community loved it.</p>
<p>Others, like myself, thought that while the tool was interesting, it was so far from replacing humans. Certainly, it could improve a process, but it wasn't capable of creating apps from scratch.</p>
<p>Let's understand.</p>
<h2 id="heading-what-is-open-ais-chatgpt">What is Open AI's ChatGPT?</h2>
<p>By using the GPT-3.5 language model, the AI research group OpenAI has released a beta version of ChatGPT.</p>
<p>Basically, ChatGPT is a chatbot that answers questions based on artificial intelligence.</p>
<p>In order to produce text similar to that of a human, this chatbot uses deep learning.</p>
<h2 id="heading-how-to-use-chatgpt">How to use ChatGPT?</h2>
<p>Launch the website <a target="_blank" href="https://chat.openai.com">https://chat.openai.com</a></p>
<p>If you are a member of OpenAI, log in to your account by clicking the "Log in" option.</p>
<p>Here's what happened.</p>
<p><strong>Ask to Bot:</strong> Could you please provide me with the code to create a daily activity tracker app that allows me to edit items and store them in a database? Dataverse should be used for the database and Canvas Power Apps for the UI?</p>
<p>Since humans could easily understand this question, I purposely asked it in a complex &amp; ambiguous form to ensure that AI keeps track of what's being discussed.</p>
<p><strong>Please watch the full video:</strong> <a target="_blank" href="https://youtu.be/R8IKxPRGdRw">Daily Activity Tracker app in Canvas Power Apps</a></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1671214038743/f1LwVa1dp.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-what-do-you-think-of-this-outcome"><strong>What do you think of this outcome?</strong></h1>
<p>My initial impression is that the results are excellent, I wasn't expecting such a detailed analysis.</p>
<p>But when it came to building the app, I found a couple of issues that highlight the weaknesses of this bot.</p>
<p><strong>Problem #1: It is not understanding a list of fields.</strong> I know, we put lots of thought processes to design the wireframe and solution approach. but field datatypes and solution design principles were missing.</p>
<p><strong>Problem #2: Code is not generated as per the best practices.</strong> I know, we apply common and enhanced best practices while writing code as well as consider optimization aspects.</p>
<p>I was impressed with the bot's knowledge of my query, and the code was, in fact, compatible with Canvas PowerApps, So I was able to get started right away.</p>
<p>It's awesome to play Chat GPT, no doubt about it. But there are some flaws with Chat GPT.</p>
<p>At the same time, it is fascinating to see how technology is helping humans to save time in day-to-day activities. so that humans can focus more on decision-making tasks.</p>
<p>But developers aren't being replaced.</p>
<p><strong>Why?</strong> The reasons I outlined above are due to two problems. If you haven't noticed, the bot simply divides content from articles it has been trained on.</p>
<p>In other words, it's not creating code from scratch, which should be flawless, but displaying what other authors have written.</p>
<p>As things stand, Chat GPT will only be useful as long as the content it is trained on is verified and updated.</p>
<h1 id="heading-in-what-ways-will-it-benefit-the-developer-community">In what ways will it benefit the developer community?</h1>
<p>In my view, this tool might come in handy to everyone in day-to-day work regularly.</p>
<p>In most cases, you land on Google when you enter an issue.</p>
<p>You can now ask a question directly on Chat GPT and it will most likely give you the best-ranked answer from some high-ranked article.</p>
<p>Should we thoughtlessly trust Chat GPT's code?</p>
<p>In my view, the straightforward answer is <strong>No</strong> because you still have to think.</p>
<p>However, it will provide you with a quick start. You'll be able to find answers to your questions much faster if you simplify your search process.</p>
<p>According to Chat GPT's algorithm, all it can do at this point is perform a faster Google search.</p>
<h1 id="heading-conclusion"><strong>Conclusion</strong></h1>
<p>Developers can benefit greatly from this bot.</p>
<p>I hope this article was a good read for you. Do share it with your friends and other peers.</p>
<p>Thank you so much!</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[The magical option to refresh virtual table relationships in Dataverse]]></title><description><![CDATA[My goal in this blog post will be to provide you with steps that will help you to auto-refresh Virtual table relationships when changes are made to the Data entity relationships in Dynamics 365 FO.
Business scenario:
Consider the scenario where you h...]]></description><link>https://d365cliffsnotes.com/the-magical-option-to-refresh-virtual-table-relationships-in-dataverse</link><guid isPermaLink="true">https://d365cliffsnotes.com/the-magical-option-to-refresh-virtual-table-relationships-in-dataverse</guid><category><![CDATA[#dataverse, #dynamics365, #learning #dynamics365fo]]></category><category><![CDATA[#virtualtables]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Wed, 14 Dec 2022 03:40:58 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988672563/ZzAfuWBN4.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My goal in this blog post will be to provide you with steps that will help you to auto-refresh Virtual table relationships when changes are made to the Data entity relationships in Dynamics 365 FO.</p>
<h1 id="heading-business-scenario">Business scenario:</h1>
<p>Consider the scenario where you have modified &amp; developed several standard and custom data entities and defined the relationships required by the business.</p>
<p>As a result of the discussion with the business SME, it was discovered that Power Apps or Dynamics 365 CE require a few additional relationships between the data fields.</p>
<h1 id="heading-lets-deep-dive-and-understand-the-steps">Let’s deep dive and understand the steps</h1>
<p>I have chosen **PurchPurchaseOrderHeaderV2Entity (**Public Collection Name: PurchaseOrderHeadersV2) as an example.</p>
<p><strong>Assumption:</strong> <strong>PurchPurchaseOrderHeaderV2Entity</strong> is already enabled as a Virtual table in the Dataverse.</p>
<p>In some situations, it is not necessary to enable all data entities as virtual tables within the main entity relationship.</p>
<p>As part of my scenario, I have enabled two existing relationships between data entities.</p>
<p>Do you know? A relationship on a data entity is primarily used to automate lookups in Power Apps or Dynamics 365 CE. Isn’t a cool low code option. 😎</p>
<p>Refer to my YouTube videos if you would like to learn more about virtual entities and Dynamics 365 Cross apps.</p>
<p><a target="_blank" href="https://www.youtube.com/playlist?list=PLYmwjudBLRo4GcJLnSsgVBnlp-kLzgWkU">Cross Apps Learning</a></p>
<p>The standard data entity of <strong>PurchPurchaseOrderHeaderV2Entity</strong> has two relationships (DimensionDimensionSet &amp; Project), and the view Dataverse shows the same relationship, as indicated in the snapshot below.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988104473/rjXTq2FY0.png" alt /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988163845/cwNVaXiV5.png" alt /></p>
<p>Based on the business scenario, I will add new relationships on Vendor Account Number and perform the steps to enable the same in Dataverse with a single button click.</p>
<p>1. Navigate to Visual Studio and head over to Solution and create an extension of OOB <strong>PurchPurchaseOrderHeaderV2Entity</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988216064/DrH8Ktp0N.png" alt class="image--center mx-auto" /></p>
<p>2. Build the VS solution</p>
<p>3. Navigate to System Administration module -&gt; select Data management workspace -&gt; Framework parameters -&gt; Entity settings tab -&gt; Refresh entity list</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988255595/v0UHnUPqx.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988266140/qbsx8B8tb.png" alt class="image--center mx-auto" /></p>
<p>4. Depending on your Tier-1 box configuration, step 3 may take longer to complete, please wait until it does</p>
<p>5. Navigate to the Advanced setting option in the maker portal of Power Apps (<a target="_blank" href="https://make.powerapps.com/">https://make.powerapps.com/</a>)</p>
<p>6. Select the Advanced settings and lookup for the <strong>PurchPurchaseOrderHeaderV2Entity</strong> virtual table using advanced filter option</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988336068/J8eByIBXN.png" alt class="image--center mx-auto" /></p>
<p>7. Select the magical "Refresh" option to restore Data entity relationships of <strong>PurchPurchaseOrderHeaderV2Entity</strong>  in the Virtual table of Dataverse</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988378246/W3cqcWOOE.png" alt class="image--center mx-auto" /></p>
<p>8. Click on Save or Save &amp; Close option</p>
<p>9. Navigate to the Power Apps maker portal and select your Dataverse environment</p>
<p>10. From the Left pane, select Dataverse and then Tables</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988420296/Riz6WTRYg.png" alt class="image--center mx-auto" /></p>
<p>11. To filter the virtual entities, choose <strong>"mserp"</strong> as the prefix and select <strong>“All”</strong> to show all virtual and physical tables</p>
<p>12. The selected Virtual tables were automatically created as part of the virtual table's <strong>"Visible"</strong> option. Please refer to the assumption section.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988469121/G2L5SX19U.png" alt class="image--center mx-auto" /></p>
<p>13. Navigate to the relationships schema to validate the newly created Data entity relationships</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988494956/BT6CXuK90.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1670988503886/q_hgGgv21.png" alt class="image--center mx-auto" /></p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>Developers and code reviewers can benefit greatly from even the simplest observations.</p>
<p>I hope this article was a good read for you. Do share it with your friends and other peers.</p>
<p>Thank you so much!</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>, <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a></p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[What Must Be Done To Create An Entity Relationship Diagram in Dynamics 365 Finance & Operations]]></title><description><![CDATA[This blog post walks you through the process of creating ERD diagrams and unpacking them with information about Dynamics 365 Finance & Operations.
Problem statement
The customer IT team is expecting the implementation team to generate an ERD diagram ...]]></description><link>https://d365cliffsnotes.com/what-must-be-done-to-create-an-entity-relationship-diagram-in-dynamics-365-finance-operations</link><guid isPermaLink="true">https://d365cliffsnotes.com/what-must-be-done-to-create-an-entity-relationship-diagram-in-dynamics-365-finance-operations</guid><category><![CDATA[#ERD]]></category><category><![CDATA[learning]]></category><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Wed, 09 Nov 2022 18:37:55 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1668018511270/TeJVY2KhO.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This blog post walks you through the process of creating ERD diagrams and unpacking them with information about Dynamics 365 Finance &amp; Operations.</p>
<h1 id="heading-problem-statement">Problem statement</h1>
<p>The customer IT team is expecting the implementation team to generate an ERD diagram for custom or standard tables to understand Dynamics 365 FO table relationships.</p>
<p>There are a few situations in the discovery and design phase of Dynamics 365 FO implementation where ERD really simplifies everyone's life.</p>
<h1 id="heading-why-is-it-so-critical">Why is it so critical?</h1>
<p>By creating ERDs, business analysts and users can clarify business terms, understand business domains, and connect concepts to databases.</p>
<h1 id="heading-what-is-an-erd-entity-relationship-diagram">What is an ERD (Entity Relationship Diagram)?</h1>
<p>It describes the relationship between entities or concepts in a data model. It is therefore necessary to distinguish between those two concepts.</p>
<p>An ERD is really about showing logically how concepts relate to one another and what key data elements business users need to know about a concept. The purpose of the tool is to help communicate how information is stored and how the business views relationships.</p>
<p>Using an example, what might be a business concept?</p>
<p>It could be a sales order, and I think it's a good one. Is it possible for a customer to place more than one order, and is it possible for an order to have more than one customer? It is usually not the case. Customers often place multiple orders.</p>
<p>Yes, that's great, but most orders have just one, and only one, customer. That's what a relationship is all about.</p>
<p>As far as data goes—let’s talk about it for just a moment—it isn’t the way most business analysts want to make them—but it’s going to show you, every detail, all the tables in the database, and how those tables are related to one another. It's the same idea I just spoke about: one-to-many, one-to-one, many-to-many.</p>
<h1 id="heading-how-do-those-tables-relate-to-one-another-and-what-are-all-the-fields-they-contain">How do those tables relate to one another, and what are all the fields they contain?</h1>
<p>My goal is to walk you through some of the key examples using the visual model we showed you earlier. Let's begin with entities. An entity is a thing, a concept. The box you're looking at is on this model. It's a concept in business jargon. As far as relational databases are concerned, it is the table.</p>
<p>Then, there are the relationships. It's the relationships between the boxes that make them connected. In this diagram, we can see how the entities relate to one another, which is where the real insight lies. A relationship is actually a verb or a numerical relationship that connects two nouns. </p>
<p>Lastly, we have attributes. An entity can have more than one attribute. Attributes provide details about the entity. Information about the concept is provided in detail.</p>
<p>That model helped us get over that intellectual hurdle, and it was a business-focused ERD, as well as an ERD that helped us overcome this huge problem on the project.</p>
<p>Let's jump in and understand the Visual Studio extension &amp; dbdiagram.io tool features and see how it generates DBML.</p>
<p>Navigate to the GitHub repository of Paul.</p>
<p>GitHub link : https://github.com/noakesey/d365fo-entity-schema</p>
<p>As described, this tool is a visual studio extension to generate an entity relation schema using Database Markup Language (DBML)</p>
<p>Post generation of entity relation schema, an online tool such as dbdiagram.io can be used to render the resulting DBML.</p>
<p>Thank you Paul for your valuable contribution to the community.</p>
<p>Steps to follow to generate the ERD</p>
<ol>
<li>Download the Visual Studio extension from GitHub</li>
<li>Install on your Cloud Hosted Dynamics 365 FO VM as per the guidelines </li>
<li>Navigate to Visual Studio -&gt; Extensions -&gt; Dynamics 365 -&gt; Addins -&gt; Generate entity relation schema
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1668018295514/8cqCBZ-ck.png" alt="image.png" /></li>
<li>Input the required table name in the text box</li>
<li>Click on Add button
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1668018313178/0FBJa2nBm.png" alt="image.png" /></li>
<li>Repeat steps 4 &amp; 5 for an additional table, if required</li>
<li>Alternatively, you can use Add outward relations or add inward relations options for your scenario.</li>
<li>Click on Generate DBML
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1668018330050/7ZTevzN-Q.png" alt="image.png" /></li>
<li>Table relationship schema will be available in Visual Studio</li>
<li>Navigate to https://dbdiagram.io</li>
<li>Remove sample content
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1668018345113/vMG2xXF3C.png" alt="image.png" /></li>
<li>Copy table relationships schema content from Visual Studio and paste the same to the editor of dbdigram.io
<img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1668018358403/fjWYVnpi3.png" alt="image.png" /></li>
</ol>
<p>Isn't it simple and elegant to generate DBML?</p>
<h1 id="heading-conclusion">Conclusion</h1>
<p>A faster time to implement business processes with correct business entity relationships.</p>
<p>I hope this article was a good read for you. Do share it with your friends and other peers.</p>
<p>Thank you, Shabbir for inspiring me to write this blog and exchange thoughts.</p>
<p>Thank you so much! </p>
]]></content:encoded></item><item><title><![CDATA[How Do I Resolve the Parent Child Lookup Issue in Dataverse for Dynamics 365 Finance & Operations]]></title><description><![CDATA[What makes it so important to remember?
Simply put, it keeps you and your project execution happy and in a healthy state ☺️.
Business scenario:
Think about the scenario where you and your team have designed & developed several custom data entities as...]]></description><link>https://d365cliffsnotes.com/how-do-i-resolve-the-parent-child-lookup-issue-in-dataverse-for-dynamics-365-finance-operations</link><guid isPermaLink="true">https://d365cliffsnotes.com/how-do-i-resolve-the-parent-child-lookup-issue-in-dataverse-for-dynamics-365-finance-operations</guid><category><![CDATA[learning]]></category><category><![CDATA[Dataverse]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[#dynamics365]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Fri, 07 Oct 2022 17:13:35 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1665158423357/pvMUhSWl-.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-what-makes-it-so-important-to-remember">What makes it so important to remember?</h1>
<p>Simply put, it keeps you and your project execution happy and in a healthy state ☺️.</p>
<p><strong>Business scenario:</strong></p>
<p>Think about the scenario where you and your team have designed &amp; developed several custom data entities as the parent-child relationship for customized business processes.</p>
<p>Integration requires sending both records such as retail, and business documents (Sales order, Purchase order) together. The sales order or purchase order document and its associated order lines are created in the same transaction scope. However, you found that you often had issues with lookups.</p>
<p><strong>Error description</strong>  </p>
<pre><code>Unable to write data to an entity. Unable to lookup <span class="hljs-keyword">with</span> values {DC00...}. Unable to look up salestable <span class="hljs-keyword">with</span> values {DC00...}. Writes to failed <span class="hljs-keyword">with</span> error message Exception message: The remote server returned an error: (<span class="hljs-number">400</span>) Bad Request.
</code></pre><p>This error gets when Live-sync happens from Dynamics 365 FO to Dataverse.</p>
<p>For any transaction, Dynamics 365 FO creates data in a batch and sends it as a batch to Dataverse. If two records are created as part of the same transaction, and they reference each other, you might receive an error message that resembles as described in the above example.</p>
<p>Such as sales order header and line or custom entities having header and child records.</p>
<p>Date entity relationship with Dynamics 365 FO to indicate the dual-write platform that the two entities are linked and some relationships exist between the two records within the same transaction.</p>
<p>Dual-write batching depends on entity relationships explicitly defined on related entities. If a Dynamics 365 FO business process involves a multitude of entities and has to be enabled as a batch mode for Dataverse, it expects the relationships to be identified and defined on the entity.</p>
<h1 id="heading-how-it-works">How it works?</h1>
<p>As a result, the sales line record gets inserted without finding the sales order record that corresponds to it. i.e., parent sales order and that is basically because on the entity, you might be missing a relationship.</p>
<p>One of the examples in a standard entity is SalesOrderLineV2Entity and if you see here, we have a relationship to the SalesOrderHeaderV2Entity.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1665158486197/ljKslyfr9.png" alt="image.png" /></p>
<p><strong>Therefore, in this scenario, both records go into a single transaction scope, and they are executed sequentially.</strong></p>
<p>Hence, we no longer have any lookup-related issues since sales order records come first, followed by sales order lines.</p>
<h1 id="heading-special-tips">Special tips: 💪</h1>
<p>The same approach can also be applied to Virtual entities. However you need to perform additional step to enable the related Virtual entity in Dataverse.</p>
<p>Isn't it interesting how something so simple can be so important?</p>
<p>I hope this article was a good read for you. Do share it with your friends and other peers.</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on  <a target="_blank" href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>,  <a target="_blank" href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a target="_blank" href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a> </p>
<p>Stay tuned!</p>
]]></content:encoded></item><item><title><![CDATA[How To Design Data Entity For Dual-write in Dynamics 365 Finance & Operations]]></title><description><![CDATA[Testing The Waters Is Better Than Drowning in the Pool! isn't it so? 🏊‍♀️
Long story short, there are two sets of Data entities in Dynamics 365 FO.

Standard data entities
Dual-write specific data entities (Postfix as CDSEntity)

The core purpose of...]]></description><link>https://d365cliffsnotes.com/how-to-design-data-entity-for-dual-write-in-dynamics-365-finance-operations</link><guid isPermaLink="true">https://d365cliffsnotes.com/how-to-design-data-entity-for-dual-write-in-dynamics-365-finance-operations</guid><category><![CDATA[learning]]></category><category><![CDATA[Dataverse]]></category><category><![CDATA[#dynamics365]]></category><category><![CDATA[dynamics365fo]]></category><category><![CDATA[dualwrite]]></category><dc:creator><![CDATA[Rakesh Darge]]></dc:creator><pubDate>Sat, 01 Oct 2022 13:52:22 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1664632092356/ihQJ6PlPS.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1 id="heading-testing-the-waters-is-better-than-drowning-in-the-pool-isnt-it-so">Testing The Waters Is Better Than Drowning in the Pool! isn't it so? 🏊‍♀️</h1>
<p>Long story short, there are two sets of Data entities in Dynamics 365 FO.</p>
<ol>
<li>Standard data entities</li>
<li>Dual-write specific data entities (Postfix as CDSEntity)</li>
</ol>
<p>The core purpose of having these categorizations is to manage, simplify &amp; better control ALM, CE &amp; ERP-related business scenarios, External party integration, or some processes that required some additional logic to be called to handshake with other downstream processes.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1664631818532/A7ATs64QT.png" alt="image.png" /></p>
<h1 id="heading-how-does-it-work-under-the-hood">How Does It Work Under The Hood?</h1>
<p>This is more about how data entities are designed in Dynamics 365 FO.</p>
<p>Dynamics 365 FO data entities are more complex since they encompass a wide range of data sources.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1664631851772/xVna3em4h.png" alt="image.png" />
Furthermore, each data source could result in multiple tables. During a transaction, most processes should be performed within the context of the table, not within individual data entities.</p>
<p>A dual-write identifies whether a certain table is affected by a change on a certain form, for example, the customer form. When changing the customer form, changes are made to the customer table, addresses, and retail account tables.</p>
<p>As a matter of fact, it does not use the data entity, but rather it changes the table. Due to dual-write, this process recognizes that these two or three tables that have changed during the process relate to the <strong>CustCustomerV3Entity </strong>entity, and that they have all been modified to correspond to records in the CustTable entity.</p>
<p>In order to do this, it tries to find out table relations and determine what all final entities' records have been affected. In other words, the more maps or cross-data sources you have, such as <strong>DirPartyBaseEntity </strong>etc. In other words, databases are hitting the same type of record multiple times for different types of data.</p>
<p>Therefore, editing one global address book record could result in editing more than one entity, causing more than one entity on the Dataverse to be affected.</p>
<p>Thus, it is always recommended to create data entities as thin as possible from a Dual-write perspective.</p>
<p>It is worthwhile to use newly released light weight Data entities in the context of above scenario i.e., <strong>CustCustomerBaseEntity </strong>(Customer definitions), <strong>CustCustomerDetailV2Entity </strong>(Customer details V2)</p>
<h1 id="heading-what-to-consider-while-designing-dual-write-data-entities">What To Consider While Designing Dual-write Data Entities?</h1>
<ol>
<li>Create a custom data entity with only the required data sources (tables) and enabled the required fields</li>
<li>Remodel the Data entity in Dynamics 365 FO to remove unused data sources and tables or implement <strong>getEntityRecordIdsImpactedByTableChange </strong>to optimize the runtime queries</li>
<li>Avoid using the same table which is being tracked by multiple data entities because any change to the table will trigger a Dual-write evaluation for the linked Data Entities</li>
<li>In the event that point no. 3 is unavoidable due to business processes, you should consider simplifying the entity or evaluating query optimizations for data entities</li>
<li>Read-only and outer join data sources should be removed since they cannot be tracked</li>
<li>Data sources without any fields mapped should be removed, as these will not be tracked</li>
<li>Data sources (tables) that are mapped must be registered with business events</li>
</ol>
<h1 id="heading-additional-tips">Additional tips: 💪</h1>
<p>Dynamics 365 FO will trigger the changes only if the fields mapped to the records were modified. However, Dynamics 365 CE and Power Apps trigger all field modifications in Dual-write.</p>
<p>I hope this article was a good read for you. Do share it with your friends and other peers.</p>
<h1 id="heading-thank-you-for-reading-lets-connect">Thank you for Reading - Let's Connect!</h1>
<p>Enjoy my blog? For more such awesome blog articles - follow, subscribe and let's connect on  <a href="https://www.linkedin.com/in/rakeshdarge/">LinkedIn</a>,  <a href="https://twitter.com/DargeRakesh?s=08">Twitter</a>, <a href="https://www.youtube.com/user/rakeshdarge/videos">YouTube</a> </p>
<p>Stay tuned!</p>
]]></content:encoded></item></channel></rss>