tag:blogger.com,1999:blog-26144313799434008332024-03-25T19:36:02.380+05:30Microsoft Dynamics AX - Technical{ Blog on Dynamics 365 For Operations - By Vishal Tiwari }
Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.comBlogger120125tag:blogger.com,1999:blog-2614431379943400833.post-18475454180797898222023-06-27T19:38:00.002+05:302023-06-27T19:38:28.100+05:30Mastering SQL Performance in Dynamics 365 Finance: Essential Techniques for Optimal System Operations<p><span style="color: #385623;">When it comes to achieving peak
performance in Dynamics 365 Finance, optimizing SQL queries is crucial. SQL, or
Structured Query Language, serves as the backbone for interacting with the
underlying database that stores critical business data. In this article, we
will explore key techniques to enhance SQL performance, ensuring smooth user
experiences and maximizing overall system efficiency.</span></p><p><span style="color: #385623;"><br /></span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil8YAgkb3BVbE1PhnotYWl5grzhr5Tb8OOosNyV2XxLNbBGBa4_aRyx2rtf3q-ZeUG-YzbYdZ5NgqlyJPdvQk6PcPp48_b4VtjpT2Qm0OPPbmSWdymityOJY-bCgnWLBBmMa9IadmBhNQVABw3os4h2Znjnp4cGHexEH0Zy1MMXypLljGttQwpYp-hZncn/s811/sql%20perf1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="417" data-original-width="811" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil8YAgkb3BVbE1PhnotYWl5grzhr5Tb8OOosNyV2XxLNbBGBa4_aRyx2rtf3q-ZeUG-YzbYdZ5NgqlyJPdvQk6PcPp48_b4VtjpT2Qm0OPPbmSWdymityOJY-bCgnWLBBmMa9IadmBhNQVABw3os4h2Znjnp4cGHexEH0Zy1MMXypLljGttQwpYp-hZncn/s16000/sql%20perf1.jpg" /></a></div><br /><span style="color: #385623;"><br /></span><p></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#1 Indexing:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Accelerating
Query Execution Indexing plays a vital role in query performance by providing
quick access to specific columns or combinations of columns in a table. For
example, creating an index on the "CustomerID" column of the
"SalesOrder" table can significantly enhance query performance when
filtering or joining on that column.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#2 Query
Optimization:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Unleashing the Power of Efficient Queries Optimizing
queries involves analyzing their structure and execution plans to identify
areas for improvement. By rewriting queries to include only necessary columns
and reducing the number of joins, you can enhance performance and minimize
resource consumption.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#3 Execution
Plan:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Unlocking Insights into Query Execution The execution plan reveals how
SQL Server executes a query, offering valuable insights into the operations
performed and their order of execution. Analyzing the execution plan can
highlight areas for optimization, such as the need for additional or more
efficient indexes.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#4 Statistics
Time/IO:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Measuring Query Performance Enabling statistics time and IO allows you to
measure the time and input/output (I/O) resources consumed by a query. This
information aids in performance analysis, helping you identify areas that
require optimization. Use the SET STATISTICS TIME and SET STATISTICS IO options
to view and analyze these statistics.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#5 Spooling:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Streamlining
Intermediate Results Storage Spooling occurs when SQL Server needs to store
intermediate results during query execution. Excessive spooling in the
execution plan may indicate the need to optimize the query by rewriting joins
or modifying logic to reduce spooling operations, ultimately improving
performance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#6 Hashmatch:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Optimizing
Join Operations Hashmatch is a join algorithm employed by SQL Server that
involves building hash tables to match rows from different tables efficiently.
Optimizing queries involving hashmatch operations can include adding
appropriate indexes or considering alternative join strategies.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#7 Keylookup:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Minimizing
Additional Lookups Keylookup, also known as a bookmark lookup, occurs when SQL
Server needs to retrieve additional columns from an index. Minimizing
keylookups can involve adding covering indexes or modifying the query to avoid
the need for additional lookups, resulting in improved performance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#8 Bad
Views:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Streamlining Complex View Logic Views, which are virtual tables based on
queries, can impact query performance if they are poorly designed or contain
complex logic. Reviewing view definitions, simplifying complex logic,
eliminating unnecessary joins, or using indexed views can optimize performance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#9 Subqueries
Minimization:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Reducing Nesting Complexity Subqueries, or queries nested
within another query, can adversely affect performance if used excessively or
inefficiently. Minimizing subqueries can involve rewriting queries to use joins
or employing temporary tables or common table expressions (CTEs), resulting in
improved performance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#10 Partition
Elimination:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Leveraging Data Partitioning Partitioning involves
dividing large tables into smaller, manageable partitions based on a specific
column value, such as date. Optimizing queries to include date range filters
aligned with partition boundaries enables SQL Server to eliminate unnecessary partitions,
enhancing query performance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#11 Sargable
Query:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Enhancing Index Efficiency A sargable query is one that can effectively
leverage indexes, allowing SQL Server to efficiently search and retrieve data.
Writing queries that avoid functions or expressions in the WHERE clause, such
as using "WHERE CustomerID = 100" instead of "WHERE
YEAR(OrderDate) = 2023," can improve sargability and performance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#12 Index
Scan vs. Index Seek:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Transforming Query Performance Index scans involve
scanning the entire index, while index seeks perform direct seeks on specific
index values. Modifying queries or adding indexes to transform index scans into
index seeks can significantly improve query performance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">By implementing these techniques,
Dynamics 365 Finance users can unlock the full potential of their SQL queries,
leading to enhanced system performance and improved user experiences.
Understanding the importance of indexing, query optimization, execution plans,
and other key factors will empower you to streamline operations, maximize
efficiency, and stay ahead in the dynamic world of finance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Remember, continuous monitoring and
fine-tuning of SQL performance are essential for maintaining optimal system
operations and ensuring a seamless user experience.<o:p></o:p></span></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-7799909026425869902023-06-16T15:07:00.000+05:302023-06-16T15:07:10.207+05:30Unlocking Performance: Resolving Table Locking Challenges in D365 Finance<p></p><p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">In the fast-paced world of D365
Finance, where data processing and performance are paramount, encountering
table locking issues can bring operations to a halt. Recently, I came across a
challenging scenario where a critical batch process was causing table locking,
resulting in system freeze and delayed operations. Determined to find a
solution, I delved into the world of SQL Profiler and other tools to identify
the root cause and resolve the issue. In this blog post, I will share my
experiences and insights on tackling table locking and performance issues in
D365 Finance.<o:p></o:p></span></p><p class="MsoNormal" style="line-height: 150%;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvl5n259W5PfWo-KPVsZI3-YRWQblqv8KT_M1DTJcrg-kASLpko_XpxIp5uJuHIgWS2LTHen6jkuHuhQDaXcyCuUF65HqCp6UmJhi0IZKELTt9apJQ23CFjFVqxLcIxaOSm-jDLVw_faLIJTAPwrOkUO1yv7zQnjGm3Jx2QyEMs0M_rDKN1VHqu9yszg/s821/sql%20perf.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="508" data-original-width="821" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvl5n259W5PfWo-KPVsZI3-YRWQblqv8KT_M1DTJcrg-kASLpko_XpxIp5uJuHIgWS2LTHen6jkuHuhQDaXcyCuUF65HqCp6UmJhi0IZKELTt9apJQ23CFjFVqxLcIxaOSm-jDLVw_faLIJTAPwrOkUO1yv7zQnjGm3Jx2QyEMs0M_rDKN1VHqu9yszg/w640-h396/sql%20perf.jpg" width="640" /></a></div><br /><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span><p></p><p class="MsoNormal" style="line-height: 150%;"></p><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Understanding the Challenge: The
first step in addressing table locking issues is recognizing their impact on
system performance. In the case I encountered, a specific batch process was holding
a table under transaction scope, rendering it inaccessible to other operations.
This led to table locking, delayed processing, and a system freeze. It became
evident that a thorough investigation and effective resolution were necessary
to restore normal system functionality.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">Exploring
SQL Profiler:</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> To gain deeper insights into the locking behavior and
identify the root cause, I turned to SQL Profiler, a powerful tool for
monitoring and analyzing SQL Server activities. By setting up a trace and
capturing relevant events and data, I was able to track the locking and
blocking transactions. The SQL Profiler provided a wealth of information,
including the duration, resource type, and parties involved in the locking
scenarios.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">a) Lock:Timeout Event:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; text-indent: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Configure a
trace in SQL Server Profiler to capture the "Lock:Timeout" event.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">This event
records information when a lock request times out, indicating potential
blocking scenarios.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Analyze the
captured data to identify the queries or transactions causing timeouts and
optimize them accordingly.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">b) Lock:Deadlock Chain Event:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; text-indent: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Set up a trace
with the "Lock:Deadlock Chain" event selected in SQL Server Profiler.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; text-indent: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">This event
captures deadlock information, including the processes and resources involved.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Analyze the
captured data to understand the root cause of deadlocks and take necessary steps
to mitigate them.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">c) Lock:Acquired Event:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Configure a
trace in SQL Server Profiler to capture the "Lock:Acquired" event.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">This event
captures information when a lock is acquired by a process.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Analyze the
captured data to understand the locking behavior and identify potential
blocking transactions.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">Analyzing
Dynamic Management Views (DMVs):</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> In addition to SQL Profiler, leveraging Dynamic
Management Views (DMVs) proved instrumental in understanding the locking and
blocking situations. By querying system views such as sys.dm_exec_requests,
sys.dm_tran_locks, and sys.dm_os_waiting_tasks, I obtained valuable information
about active sessions, locks, and waiting tasks. This deeper level of analysis
enabled me to identify the specific queries and transactions causing the
blocking and take appropriate remedial actions.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">a) sys.dm_tran_locks:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Query the
sys.dm_tran_locks DMV to view information about active locks in the database.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Retrieve
details such as lock type, mode, associated session, and locked resource.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Analyze the
data to identify blocking transactions and take appropriate actions.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">b) sys.dm_exec_requests:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Use the
sys.dm_exec_requests DMV to identify blocking transactions by checking the
blocking_session_id column.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">This DMV
provides information about the currently executing requests, including the
session ID of the blocking process.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Analyze the
data to understand the blocking relationships and resolve the conflicts.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">c) sys.dm_os_waiting_tasks:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Query the
sys.dm_os_waiting_tasks DMV to identify tasks waiting for resources, including
locks.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Retrieve
details about the wait type, session ID, and associated blocking processes.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-left: 36pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Analyze the
data to pinpoint the source of blocking and take appropriate measures to
alleviate it.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 14pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">Utilizing
Querying System Tables</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">: Another valuable approach I employed was querying system
tables to gather insights into the locking and blocking scenarios. By utilizing
views like sys.dm_exec_sessions, sys.dm_tran_locks, and
sys.dm_os_waiting_tasks, I obtained detailed information about active sessions,
lock types, and waiting tasks. This additional layer of investigation enabled
me to pinpoint the sources of contention and focus on resolving them
efficiently.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p> </o:p></span></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 462.1pt;" valign="top" width="616">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">SELECT session_id, wait_duration_ms, wait_type,
blocking_session_id <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">FROM sys.dm_os_waiting_tasks <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">WHERE blocking_session_id <> 0<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0cm;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
</td>
</tr>
</tbody></table>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 462.1pt;" valign="top" width="616">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">SELECT<span style="mso-spacerun: yes;">
</span>session_id<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><span style="mso-spacerun: yes;"> </span>,blocking_session_id<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><span style="mso-spacerun: yes;"> </span>,wait_time<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><span style="mso-spacerun: yes;"> </span>,wait_type<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><span style="mso-spacerun: yes;"> </span>,last_wait_type<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><span style="mso-spacerun: yes;"> </span>,wait_resource<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><span style="mso-spacerun: yes;"> </span>,transaction_isolation_level<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><span style="mso-spacerun: yes;"> </span>,lock_timeout<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">FROM sys.dm_exec_requests<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #222222; font-family: "Courier New"; font-size: 9pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">WHERE blocking_session_id <> 0<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%; margin-bottom: 0cm;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
</td>
</tr>
</tbody></table>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Armed with the knowledge gained from
SQL Profiler, DMVs, and querying system tables, I took proactive measures to
address the table locking and performance issues. This involved optimizing the
batch process, revisiting transaction management, and fine-tuning database
configurations. By implementing these remedial actions, the table locking was
minimized, and the system performance significantly improved.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Table locking and performance issues
can severely impact the smooth operation of D365 Finance. However, with the
right tools and approaches, these challenges can be overcome. Through my
exploration of SQL Profiler, DMVs, and querying system tables, I successfully
identified and resolved a table locking issue that was causing system freeze.
By adopting a systematic approach and leveraging the available tools, it is
possible to ensure optimal performance and minimize disruptions caused by table
locking in D365 Finance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Stay tuned for more insights and
techniques to enhance the performance and stability of D365 Finance.<o:p></o:p></span></p><br /><p></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-44033837782331698132023-06-15T19:26:00.004+05:302023-06-15T19:26:34.969+05:30Performance Testing Tools for D365 Finance: Ensuring Optimal Application Performance<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7oQfx2O1uKr0httbPw1xwFd_pboPmIy39OVMAS2rhLFS2ElcUhsc3pz03l7FV7C0pp1tkdO3S8sA9128_4CSecxwGI6UEcprRJajaP1NwzUjzQSGyZphOUhULFMYtCd1iT-8aaxa3kKGC5M4TZv9ZbPOBQJO1jNYBP8ffWvdIOu6i3EPmdLUQdovNew/s2171/PERF%20TESTING.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1222" data-original-width="2171" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7oQfx2O1uKr0httbPw1xwFd_pboPmIy39OVMAS2rhLFS2ElcUhsc3pz03l7FV7C0pp1tkdO3S8sA9128_4CSecxwGI6UEcprRJajaP1NwzUjzQSGyZphOUhULFMYtCd1iT-8aaxa3kKGC5M4TZv9ZbPOBQJO1jNYBP8ffWvdIOu6i3EPmdLUQdovNew/w640-h360/PERF%20TESTING.jpg" width="640" /></a></div> <p></p><p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Introduction: When it comes to
testing the performance of D365 Finance applications, it is crucial to have the
right tools in place. Performance testing tools allow you to simulate user
load, measure system response times, and identify any bottlenecks or
performance issues. In this blog post, we will explore some popular tools that
can be used for performance testing in D365 Finance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#1</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">Apache JMeter</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">: Apache JMeter is a widely-used open-source tool
that provides extensive performance testing capabilities. With support for
various protocols such as HTTP, HTTPS, SOAP, JDBC, and more, JMeter enables you
to simulate multiple users and generate realistic load scenarios. Its
user-friendly interface and robust reporting make it a preferred choice for
performance testing in D365 Finance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#2</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">LoadRunner</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">: LoadRunner, offered by Micro Focus, is a
comprehensive performance testing tool that covers a wide range of protocols
and application types. It allows you to generate high loads, monitor system
resources, and analyze test results in detail. LoadRunner's advanced features
make it suitable for testing the performance and scalability of D365 Finance
applications.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#3</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">NeoLoad</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">: NeoLoad is a powerful performance testing tool
designed to simulate real-world scenarios and analyze system performance. It
offers load generation capabilities, distributed testing options, and
comprehensive reporting. NeoLoad's intuitive interface and efficient test
execution make it an excellent choice for measuring the performance of D365
Finance applications under different user loads.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#4</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">Visual Studio Load Testing</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">: For those already using
Microsoft's Visual Studio, the built-in load testing feature provides a
convenient option for performance testing D365 Finance applications. With
Visual Studio Load Testing, you can simulate user load, create test scenarios,
and analyze results using the integrated development environment. It offers a
seamless experience for developers familiar with Visual Studio.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">#5</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span><span style="color: #385623; font-size: 16.0pt; line-height: 150%; mso-themecolor: accent6; mso-themeshade: 128;">Gatling</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">: Gatling is an open-source load testing tool
written in Scala, specifically designed for testing web applications. With its
user-friendly DSL (Domain-Specific Language), Gatling allows you to create
complex test scenarios and simulate high loads. Its real-time monitoring
capabilities enable you to analyze system performance on the fly.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Choosing the Right Tool: Selecting
the appropriate performance testing tool for your D365 Finance applications
depends on various factors such as budget, specific requirements, and team
expertise. It is crucial to evaluate different tools based on features, ease of
use, scalability, and reporting capabilities. Consider conducting a
proof-of-concept or trial run to determine which tool best fits your needs.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Efficient performance testing is
essential to ensure optimal performance and user experience in D365 Finance
applications. The availability of various performance testing tools provides
flexibility and options for testing teams. By leveraging tools like Apache
JMeter, LoadRunner, NeoLoad, Visual Studio Load Testing, or Gatling, you can
confidently assess the performance and scalability of your D365 Finance
applications, identify potential bottlenecks, and optimize their overall
performance.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Remember, selecting the right
performance testing tool is a critical step towards delivering high-performing
and reliable D365 Finance applications to your users.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Disclaimer: The information provided
in this blog post is based on general knowledge and research as of the date of
writing. Please refer to the official documentation and conduct your own
evaluation before selecting a performance testing tool for your specific
requirements.<o:p></o:p></span></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-73944017944630294062023-06-14T18:52:00.001+05:302023-06-14T18:53:27.586+05:30Leveraging JWT Tokens(C# code) in Dynamics 365 Finance: A Comprehensive Guide<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Hello friends! Recently, I came
across an intriguing query in the developer community, revolving around the
generation of JWT tokens using C# and their utilization as a DLL in Dynamics
365 Finance. This topic sparked my curiosity, and I delved deep into the
subject to uncover the possibilities and benefits that JWT tokens can offer in
the realm of D365 Finance integration. In this blog post, we will explore the
ins and outs of JWT token generation, understand their significance in the
context of D365 Finance, and discover how we can leverage them effectively as a
DLL component.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623;"><br /></span></p><p class="MsoNormal"><span style="color: #385623;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRPtC3gqqr8RLD_HCwsvC4ZiLiUVruVnvexwh43aWY09PeeEMO585qqUx20S6Wp4w1aBnDobluOUa7O08I6CWywVEP_Hk3U9SfDFw1edj5aCApZ7jceI1tMqubvU4C2tcpmQ3--BkYIfbEABBCqSLIvGFofJeouOxcGEPXTac0VI5XlYYfgcGFfYdfEQ/s602/jwt2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="338" data-original-width="602" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRPtC3gqqr8RLD_HCwsvC4ZiLiUVruVnvexwh43aWY09PeeEMO585qqUx20S6Wp4w1aBnDobluOUa7O08I6CWywVEP_Hk3U9SfDFw1edj5aCApZ7jceI1tMqubvU4C2tcpmQ3--BkYIfbEABBCqSLIvGFofJeouOxcGEPXTac0VI5XlYYfgcGFfYdfEQ/w640-h360/jwt2.jpg" width="640" /></a></div><br /> <p></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">The Power of JWT Tokens: Before we
delve into the technical details, let's understand the concept of JWT tokens
and their significance in modern application development. JSON Web Tokens
(JWTs) are compact and self-contained tokens that securely transmit information
between two parties. They are commonly used for authentication, authorization,
and data exchange in distributed systems. With their ability to store claims
and ensure integrity, JWT tokens have become a popular choice for secure
communication between systems.<o:p></o:p></span></p><p class="MsoNormal">
</p><p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Generating JWT Tokens in C#: Now,
let's explore how we can generate JWT tokens using C# code. To kickstart the
process, we need to ensure we have the necessary dependencies and libraries in
place. In this scenario, we'll utilize the standard out-of-the-box referenced
DLLs in the AOS Service's BIN folder, along with a third-party library called
Bouncy Castle Cryptography. With these in place, we can proceed to write the
code for JWT token generation. Here's a sample code snippet to get you started:<o:p></o:p></span></p><p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span></p><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="background: rgb(34, 42, 53); border-collapse: collapse; border: none; mso-background-themecolor: text2; mso-background-themeshade: 128; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 462.1pt;" valign="top" width="616">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;">public string
GenerateJwtToken(string issuer, string privateKey, Dictionary<string,
object> additionalClaims = null)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;">{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> string jwt = string.Empty;</span><span style="color: white; font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> try<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> var header = new
Dictionary<string, object> { { "alg", "RS256" }, {
"typ", "jwt" } };<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> var currentTimeInSeconds =
DateTimeOffset.UtcNow.ToUnixTimeSeconds();<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> var payload = new JwtPayload<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> { "iss", issuer }<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> };</span><span style="color: white; font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> if (additionalClaims != null)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> foreach (var claim in
additionalClaims)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> payload.Add(claim.Key,
claim.Value);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> }<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> }</span><span style="color: white; font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> var privateKeyBytes =
Encoding.ASCII.GetBytes(privateKey);</span><span style="color: white; font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> var privateKey =
LoadPrivateKey(privateKeyBytes);</span><span style="color: white; font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> var rsa = RSA.Create();<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> rsa.ImportParameters(privateKey);</span><span style="color: white; font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> var header1 = new JwtHeader(new
SigningCredentials(<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> new RsaSecurityKey(rsa),<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> SecurityAlgorithms.RsaSha256));</span><span style="color: white; font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> var token = new
JwtSecurityToken(header1, payload);</span><span style="color: white; font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> var jwtHandler = new
JwtSecurityTokenHandler();<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> jwt = jwtHandler.WriteToken(token);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> }<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> catch (Exception ex)</span><span style="color: white; font-size: 10pt;"> </span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt;"> {</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> // Handle the exception here or log
the error message<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> // ErrorStr = ErrorStr.Length > 0
? ErrorStr += '\n' + ex.Message : ex.Message;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> }</span><span style="color: white; font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;"> return jwt;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: white; font-size: 10pt; mso-themecolor: background1;">}<o:p></o:p></span></p>
</td>
</tr>
</tbody></table><p class="MsoNormal"><span style="color: #385623;"><br /></span></p><p class="MsoNormal"></p><p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Leveraging JWT Tokens in Dynamics
365 Finance: With our JWT token generation code in place, we can now explore
how to leverage these tokens in the context of Dynamics 365 Finance. As a DLL
component, we can integrate JWT token-based authentication and authorization
mechanisms seamlessly into our D365 Finance implementation. This opens up a
world of possibilities, allowing us to secure APIs, authenticate users, and
authorize access to specific functionalities within the system. By leveraging
the power of JWT tokens, we can enhance the security and flexibility of our
D365 Finance solution.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">In this blog post, we
embarked on an exciting journey into the realm of JWT tokens and their
integration in Dynamics 365 Finance. We explored the basics of JWT token
generation using C# code, along with the necessary dependencies and libraries.
Additionally, we discussed the significance of JWT tokens in the context of
D365 Finance and the various use cases where they can be leveraged effectively.
By harnessing the power of JWT tokens, we can enhance the security and
efficiency of our Dynamics 365 Finance implementations.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">I hope this blog post has provided
you with valuable insights into the generation and utilization of JWT tokens in
Dynamics 365 Finance. Feel free to experiment with the code snippet provided and
explore the endless possibilities that JWT tokens offer in securing and
enhancing your D365 Finance solution. Happy coding!<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Stay tuned for more exciting content
on Dynamics 365 Finance and integration techniques. If you have any questions
or thoughts to share, please leave a comment below. Let's continue the
conversation and empower each other in our journey towards successful D365
Finance integration using JWT tokens as DLL components.</span></p><p></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com1tag:blogger.com,1999:blog-2614431379943400833.post-79950268229415307602023-06-12T14:25:00.001+05:302023-06-12T14:25:59.449+05:30Navigating the Implementation Journey: Roadmap and Steps for Dynamics 365 Finance Implementation Success!!<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkErMhMFnn7rgSe-P9lVgZEipz6o0aDTDS3EY6yY0ykr5SxKs68KOuRB1kBl_iO--TxLzbJxcD9WsBJmJgLbrGbLQTIxBLarx3iqGKFjZlrnI5vWvB_lkeYTByivSur8lIxJU3BFRF44FMP4mV-RTojthBbxbLg8rVmf2wuSVoYv_cMepxJDzKddejmQ/s1585/Implementations.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="681" data-original-width="1585" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkErMhMFnn7rgSe-P9lVgZEipz6o0aDTDS3EY6yY0ykr5SxKs68KOuRB1kBl_iO--TxLzbJxcD9WsBJmJgLbrGbLQTIxBLarx3iqGKFjZlrnI5vWvB_lkeYTByivSur8lIxJU3BFRF44FMP4mV-RTojthBbxbLg8rVmf2wuSVoYv_cMepxJDzKddejmQ/s16000/Implementations.png" /></a></div><br /><span style="color: #385623;"><br /></span><p></p><p><span style="color: #385623;">Embarking on a Dynamics 365 Finance implementation journey
can be both exciting and challenging. In this comprehensive blog post, I will
guide you through the roadmap and step-by-step implementation cycle to ensure a
successful deployment. Let's dive into the details and uncover the key stages
involved in implementing Dynamics 365 Finance.</span></p>
<p class="MsoNormal"><b><u><span style="color: #385623; font-size: 14.0pt; line-height: 107%; mso-themecolor: accent6; mso-themeshade: 128;">Section 1</span></u></b><span style="color: #385623; font-size: 14.0pt; line-height: 107%; mso-themecolor: accent6; mso-themeshade: 128;">: Pre-Implementation Phase<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#1 Define Project Objectives and Scope:<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Identify the specific goals and
outcomes you want to achieve with the implementation.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Clearly define the scope of the
project to manage expectations and resources effectively.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#2 Build the Project Team:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Assemble a skilled and
cross-functional project team that includes key stakeholders, subject matter
experts, and implementation consultants.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Assign roles and responsibilities to
ensure a collaborative and coordinated effort.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#3 Conduct a Current State Assessment:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Evaluate existing systems,
processes, and data to understand the current state of your finance operations.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Identify pain points,
inefficiencies, and areas for improvement to inform the future state design.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><u><span style="color: #385623; font-size: 14.0pt; line-height: 107%; mso-themecolor: accent6; mso-themeshade: 128;">Section 2:</span></u></b><span style="color: #385623; font-size: 14.0pt; line-height: 107%; mso-themecolor: accent6; mso-themeshade: 128;"> Implementation Cycle<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#1 Requirements Gathering and Analysis:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Engage stakeholders to gather
detailed business requirements and document them comprehensively.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Analyze the requirements to
determine if they can be met through configuration, customization, or a
combination of both.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#2 Solution Design and Configuration:<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Develop a solution design that
aligns with the identified requirements and best practices.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Leverage the capabilities of
Dynamics 365 Finance to configure the system to meet specific business needs.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#3 Development and Customization:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">If necessary, perform X++ development
or customizations to extend the functionality of Dynamics 365 Finance.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Ensure adherence to development best
practices, coding standards, and security guidelines.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#4 Data Migration and Integration:<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Plan and execute the migration of
data from legacy systems to Dynamics 365 Finance.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Establish integrations with other
systems, such as CRM, HR, or external data sources, to enable seamless data
exchange.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#5 Testing and Quality Assurance:<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Conduct thorough testing to validate
the configured solution and customizations.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Perform functional, integration, and
user acceptance testing to ensure system stability and accuracy.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#6 Training and User Adoption:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Develop a comprehensive training
plan to equip end-users with the necessary skills and knowledge.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Provide hands-on training,
documentation, and user support to promote successful adoption of the system.<o:p></o:p></span></p>
<p class="MsoNormal"><b><u><span style="color: #385623; font-size: 14.0pt; line-height: 107%; mso-themecolor: accent6; mso-themeshade: 128;">Section 3:</span></u></b><span style="color: #385623; font-size: 14.0pt; line-height: 107%; mso-themecolor: accent6; mso-themeshade: 128;"> Go-Live and Post-Implementation Phase<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#1 Deployment and Go-Live:<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Plan and execute a smooth go-live
transition, considering data cutover and user readiness.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Monitor the system closely during
the initial days to address any post-go-live issues promptly.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#2 Support and Continuous Improvement:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Establish a support mechanism to
address user queries, troubleshoot issues, and provide ongoing assistance.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left: 36.0pt;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Continuously review and refine the
system based on user feedback, changing business requirements, and emerging
best practices.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Implementing Dynamics 365 Finance requires careful
planning, collaboration, and adherence to a well-defined roadmap. By following
the detailed implementation cycle and addressing each phase with diligence,
organizations can successfully deploy Dynamics 365 Finance and empower their
finance operations.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Remember to adapt the roadmap and implementation cycle to
suit your specific organizational needs, and supplement the blog post with
relevant examples, visuals, and tips for a more engaging reading experience.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">With a clear roadmap and a focused approach, your Dynamics
365 Finance implementation will be set for success, driving improved financial
processes and delivering tangible business benefits.<o:p></o:p></span></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-84991534895989345552023-06-09T19:15:00.006+05:302023-06-09T19:15:51.707+05:30RESTful API integration in Dynamics 365 Finance [X++]<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span><span style="color: #385623;">🅡🅔🅢🅣🅕🅤🅛 🅐🅟🅘 🅘🅝🅣🅔🅖🅡🅐🅣🅘🅞🅝 🅘🅝 🅓🅨🅝🅐🅜🅘🅒🅢 ➌➏➎ 🅕🅘🅝🅐🅝🅒🅔 [🅧++]</span></p><p class="MsoNormal"><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">🛠️</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> In Dynamics 365 Finance, how would you use X++ to
integrate external data from a RESTful API into the system?<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig-Tbi99t5ZJAoI3NRQrjSENheqW_aSCPtmo3sZjs8rvUYbn-rBthB0-jnLtoKbRp_O9jkzDLjNzwYo7wReBzLP2QlwOuzdqEP2pRmK0jmW7MGWSfYOJ2-3ziE9MwqzJhqMVQAozomlVPrZw7vOjC7or-m-NWqrgW7lnrCnTToFTPaIg8_cAP5R1Wj5Q/s512/restfulAPI.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="274" data-original-width="512" height="342" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig-Tbi99t5ZJAoI3NRQrjSENheqW_aSCPtmo3sZjs8rvUYbn-rBthB0-jnLtoKbRp_O9jkzDLjNzwYo7wReBzLP2QlwOuzdqEP2pRmK0jmW7MGWSfYOJ2-3ziE9MwqzJhqMVQAozomlVPrZw7vOjC7or-m-NWqrgW7lnrCnTToFTPaIg8_cAP5R1Wj5Q/w640-h342/restfulAPI.png" width="640" /></a></div><br /><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span><p></p><p class="MsoNormal"><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">🔍</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Imagine you have a requirement to bring in data
from a RESTful API and seamlessly integrate it into your Dynamics 365 Finance
environment. This could involve retrieving real-time exchange rates, fetching
product details from a supplier's API, or synchronizing customer information
from an external system.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">💡</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> I want to know how you would tackle this
integration challenge using X++.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">📋</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span><b><span style="color: #385623; font-size: 14.0pt; line-height: 107%; mso-themecolor: accent6; mso-themeshade: 128;">Options</span></b><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">:<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">#1</span><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;"> : 💻</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Utilize the
HttpClient class in X++ to send HTTP requests and retrieve data from the
RESTful API. You can use methods like get, post, or send to interact with the
API endpoints and fetch the required data.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span></p><p class="MsoNormal"><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">#2</span><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;"> : 🗂️</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Leverage the
JSON support in X++ to parse and extract relevant data from the API response.
X++ provides built-in functions such as jsonDeserialize and jsonArray to work
with JSON data effectively.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span></p><p class="MsoNormal"><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">#3</span><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;"> : 📦</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Implement
custom X++ classes to encapsulate the API integration logic and ensure
reusability. By creating modular classes, you can separate the API
communication, data transformation, and integration steps, making your code
more maintainable and extensible.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span></p><p class="MsoNormal"><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">#4</span><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;"> : 🔄</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Explore the
use of X++ data entities to map and synchronize the external data with the
Dynamics 365 Finance data model. Data entities provide a standardized way to
define and import data from external sources, allowing you to leverage their
mapping capabilities for seamless integration.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span></p><p class="MsoNormal"><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">#5</span><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;"> : 📚</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Investigate the
availability of any specific X++ libraries or frameworks designed for RESTful
API integration in Dynamics 365 Finance. The community and Microsoft offer
various libraries and frameworks that provide pre-built functions and
components to simplify API integration tasks.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span></p><p>
<span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: EN-IN; mso-bidi-font-family: "Segoe UI Emoji"; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-themecolor: accent6; mso-themeshade: 128;">📝</span><span style="color: #385623; font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: EN-IN; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-themecolor: accent6; mso-themeshade: 128;">
Share your preferred approach and any additional insights you have regarding
integrating RESTful APIs using X++ in Dynamics 365 Finance. We look forward to
hearing your thoughts and experiences!</span></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-36625142399943193692023-06-08T16:41:00.001+05:302023-06-08T16:49:45.051+05:30Unleashing the Power of X++: Exploring Cutting-Edge Technologies in Dynamics 365 Finance<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtuX0muc2WPqpcotBQ3OeOwZ_haE48eQLCC_zgX8pDJST0TVKeDutAXrsTsc9W9OIHRDmMkPYChqjXgu_xhPpuD7ZanDqJRsH5-asGo5ujJFO_ZCYnS2yZVwrdA8ObDLujQrtro76TA6jGX1ZA5UfVPC0_OkSDtay_Hp-QqrLgpjZXKxsg8FG37wUxpw/s787/AI.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="471" data-original-width="787" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtuX0muc2WPqpcotBQ3OeOwZ_haE48eQLCC_zgX8pDJST0TVKeDutAXrsTsc9W9OIHRDmMkPYChqjXgu_xhPpuD7ZanDqJRsH5-asGo5ujJFO_ZCYnS2yZVwrdA8ObDLujQrtro76TA6jGX1ZA5UfVPC0_OkSDtay_Hp-QqrLgpjZXKxsg8FG37wUxpw/w640-h384/AI.png" width="640" /></a></div><br /><p></p><p><span style="color: #385623;">I'm back after a brief hiatus, and during my time away,
I've been on an exciting journey of research and exploration into the latest
technologies shaping the world of Dynamics 365 Finance. I've immersed myself in
countless articles, delved into deep discussions, and unearthed fascinating
insights.</span><span style="color: #385623;"> </span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Now, I'm thrilled to bring you a series of
thought-provoking questions that have been brewing in my mind. I'd love to hear
your perspectives and ignite a captivating conversation. So, without further
ado, let's dive into the world of possibilities:</span></p><p class="MsoNormal"><br /></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#1 : Quantum Computing and X++ in Dynamics 365 Finance: </span><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">🚀</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Quantum Leap:
How can X++ development leverage quantum computing to transform financial
decision-making in Dynamics 365 Finance?<o:p></o:p></span></p><p class="MsoListParagraph"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#2 : Artificial Intelligence and X++ in Dynamics 365
Finance: </span><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">💡</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> AI Revolution: Imagining the Future of Finance
through X++ and Artificial Intelligence Integration.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Imagine a world where AI algorithms seamlessly integrate
with X++ development in Dynamics 365 Finance. How do you envision this powerful
combination reshaping financial processes and enabling intelligent insights?
Share your thoughts on specific AI-driven use cases that can revolutionize the
finance landscape.</span><o:p></o:p></p><p class="MsoListParagraph"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#3 : Blockchain and X++ in Dynamics 365 Finance: </span><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">🔗</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Embracing
Trust: Unveiling the Potential of Blockchain-X++ Fusion in Financial Management.<o:p></o:p></span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Blockchain technology promises transparency, immutability,
and trust in financial operations. Now, picture the integration of blockchain
with X++ development in Dynamics 365 Finance. How do you foresee this
combination streamlining transactions, enhancing data security, and
revolutionizing financial management? Share your insights on potential use
cases that can leverage the power of blockchain.</span><o:p></o:p></p><p class="MsoListParagraph"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> </span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">#4 : Internet of Things (IoT) and X++ in Dynamics 365
Finance: </span><span style="color: #385623; font-family: "Segoe UI Emoji",sans-serif; mso-bidi-font-family: "Segoe UI Emoji"; mso-themecolor: accent6; mso-themeshade: 128;">🌐</span><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"> Connected Insights: Maximizing Financial Potential
with IoT and X++ Convergence.<o:p></o:p></span></p><p class="MsoNormal">
</p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">IoT devices generate vast amounts of real-time financial
data. Now, imagine the convergence of IoT and X++ in Dynamics 365 Finance. How
can X++ development harness IoT data to unlock deeper insights, automate
processes, and optimize financial operations? Share your visionary ideas on how
this combination can reshape the future of finance.</span><o:p></o:p></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><br /></span></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">I can't wait to read your responses and engage in a
captivating discussion! Your perspectives and unique insights will make this
journey even more enlightening and enriching. So, let's embark on this
adventure together. Share your thoughts in the comments below and let's explore
the exciting possibilities that lie ahead!<o:p></o:p></span></p><p class="MsoNormal">
</p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Welcome back to the world of Dynamics 365 Finance, where
imagination and innovation collide. Let's unleash the power of X++ and delve
into the frontiers of technology in finance!<o:p></o:p></span></p><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"></span><p></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-53398786646646154532023-06-08T16:08:00.006+05:302023-06-08T16:50:40.495+05:30Unlocking Customization Potential: X++ Development in Dynamics 365 Finance with Real-World Scenarios and Latest Technology<p></p><p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Welcome to my latest blog post, where we explore the
exciting world of X++ development in Dynamics 365 Finance. As businesses strive
to tailor their finance solutions to their unique needs, X++ offers a powerful
language for customization. In this article, we will dive into real-world
scenarios, incorporating the latest technology trends, to showcase the
versatility of X++ in Dynamics 365 Finance and provide practical examples that
inspire developers.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1LH91I30UHLc1ERQQUVUkYtgZiw7UDDjHBfBlc7EIWuZsDUjWPDEVh0O_Pe5JFJCm9zgSVc8ccerwh7lwzKRbSxW2CN7p4W6PO6KRgeEpC4eiYBqwWqjjWFLBIE-BE6YCZ7HBiGz2uba7xY4vcrFAiZ2et7ZnIOBrZG2Yzf5Ypo9wWPbt75ocLJCi9g/s551/Cloud.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="266" data-original-width="551" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1LH91I30UHLc1ERQQUVUkYtgZiw7UDDjHBfBlc7EIWuZsDUjWPDEVh0O_Pe5JFJCm9zgSVc8ccerwh7lwzKRbSxW2CN7p4W6PO6KRgeEpC4eiYBqwWqjjWFLBIE-BE6YCZ7HBiGz2uba7xY4vcrFAiZ2et7ZnIOBrZG2Yzf5Ypo9wWPbt75ocLJCi9g/w400-h193/Cloud.png" width="400" /></a></div><br /><p></p>
<p class="MsoListParagraphCxSpFirst" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="color: #385623; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-themecolor: accent6; mso-themeshade: 128;"><span style="mso-list: Ignore;">1.<span style="font: 7.0pt "Times New Roman";"> </span></span></span><!--[endif]--><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Real-Time Data
Processing with Event-driven Architecture: Imagine a scenario where a
manufacturing company requires real-time inventory updates in Dynamics 365
Finance as items are picked and packed in their warehouse. Explore how X++ can
leverage event-driven architecture, using technologies such as Azure Event Grid
and Azure Functions, to capture and process events instantly. Discuss the
implementation details, code snippets, and how X++ enables developers to create
event handlers that respond to specific events, providing a seamless real-time
experience.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="color: #385623; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-themecolor: accent6; mso-themeshade: 128;"><span style="mso-list: Ignore;">2.<span style="font: 7.0pt "Times New Roman";"> </span></span></span><!--[endif]--><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Intelligent
Automation with Machine Learning: Consider a scenario where a retail company
wants to automate the process of classifying expense transactions in Dynamics
365 Finance. Highlight the integration of X++ with Azure Machine Learning to
develop a custom model that intelligently categorizes transactions based on
patterns and historical data. Discuss how X++ can call Azure ML APIs, retrieve
predictions, and update transaction records accordingly. Present code examples
and visual representations to guide developers in implementing this intelligent
automation solution.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="color: #385623; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-themecolor: accent6; mso-themeshade: 128;"><span style="mso-list: Ignore;">3.<span style="font: 7.0pt "Times New Roman";"> </span></span></span><!--[endif]--><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Enhancing User
Experience with Power Apps Integration: Illustrate a scenario where a
professional services organization aims to provide a seamless project
management experience within Dynamics 365 Finance. Show how X++ can integrate
with Power Apps, enabling developers to create customized project management
apps that seamlessly interact with finance data. Explain the technical details
of integrating Power Apps with X++, utilizing the Power Platform connectors,
and showcase how to build interactive dashboards and forms to enhance the user
experience.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="color: #385623; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-themecolor: accent6; mso-themeshade: 128;"><span style="mso-list: Ignore;">4.<span style="font: 7.0pt "Times New Roman";"> </span></span></span><!--[endif]--><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Advanced
Reporting with Power BI Embedding: Explore a scenario where a global company
requires advanced financial reporting and analysis capabilities within Dynamics
365 Finance. Discuss how X++ can integrate with Power BI embedding, allowing
developers to embed Power BI reports and dashboards directly into finance forms
and workspaces. Showcase the technical aspects of embedding reports,
configuring filters, and enabling drill-through functionalities. Demonstrate
how X++ can leverage the latest advancements in Power BI to provide rich
visualizations and data exploration capabilities.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="color: #385623; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-themecolor: accent6; mso-themeshade: 128;"><span style="mso-list: Ignore;">5.<span style="font: 7.0pt "Times New Roman";"> </span></span></span><!--[endif]--><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Modernizing Workflows
with Microsoft Dataverse Integration: Imagine a scenario where a healthcare
organization wants to streamline its invoice approval process in Dynamics 365
Finance. Explain how X++ can integrate with Microsoft Dataverse, formerly known
as Common Data Service (CDS), to create a custom workflow that spans across
finance and other line-of-business applications. Provide code examples and
step-by-step instructions to demonstrate how X++ enables developers to design
and implement seamless workflows, leveraging the power of the unified data
platform.<o:p></o:p></span></p>
<p class="MsoNormal" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; margin-left: 18.0pt; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; white-space: pre-wrap; widows: 2; word-spacing: 0px;"><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><u><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">Conclusion</span></u></b><span style="color: #385623; mso-themecolor: accent6; mso-themeshade: 128;">: By incorporating real-world
scenarios and showcasing the latest technology trends, X++ development in
Dynamics 365 Finance becomes a gateway to unlocking limitless customization
possibilities. Through practical examples and clear explanations, developers
can harness the power of X++ to create innovative solutions that streamline
processes, enhance user experiences, and leverage cutting-edge technologies. Embrace
the potential of X++ and unleash your creativity in Dynamics 365 Finance!<o:p></o:p></span></p><br /><p></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-1221564518057453432021-06-24T15:28:00.005+05:302021-06-24T15:28:36.025+05:30D365 FO - Financial Dimensions Simplified*<p> </p><p class="MsoNormal"><span style="color: #002060;">Good day, everyone! Recently, I
had a requirement to sync the D635FO data to PowerApps (Dual write), which also
required sending financial dimensions.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #002060;">The financial dimension, on the
other hand, must be given as a single string text field. (i.e., all the
dimensions of the individual records must be combined)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #002060;">It was accomplished by adding an
unmapped field - a SQL query display method – as shown in the diagram below.</span></p><p class="MsoNormal"><span style="color: #002060;"><br /></span><span style="color: #002060;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFaP2WPM19QElKgItLXRcH0kGRwE_6gi5hF4kjWPcZL2MbPwJDPs6rrGiHQUXe3MEpETs-jmZfWAyHTGniGtWWx3ed0gdovagc9UcTZ1nIvwXXyOmtfoVn6jEPCUpSMCzUu3Tg8aRO4JQn/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="552" data-original-width="1086" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFaP2WPM19QElKgItLXRcH0kGRwE_6gi5hF4kjWPcZL2MbPwJDPs6rrGiHQUXe3MEpETs-jmZfWAyHTGniGtWWx3ed0gdovagc9UcTZ1nIvwXXyOmtfoVn6jEPCUpSMCzUu3Tg8aRO4JQn/s16000/2021-06-11_21-11-53.png" /></a></div><br /><o:p></o:p><p></p><p class="MsoNormal"><span style="color: #002060;"><br /></span></p><p class="MsoNormal"><span style="color: #002060;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1qG9sLTp56l_P5xVzl9UGqnW5zLfoGnzgc6wIt_TUW3PTfpnCN0p-U-7w73i77zZSpMffhX6MJbkMbxe3mhFBvehhvPNnC2ROzo4ORixPL1g_IU6wActRB213ZJn_uRjzmgGdgReONR1H/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="570" data-original-width="1604" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1qG9sLTp56l_P5xVzl9UGqnW5zLfoGnzgc6wIt_TUW3PTfpnCN0p-U-7w73i77zZSpMffhX6MJbkMbxe3mhFBvehhvPNnC2ROzo4ORixPL1g_IU6wActRB213ZJn_uRjzmgGdgReONR1H/s16000/2021-06-11_21-14-11.png" /></a></div><br /><br /><p></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com2tag:blogger.com,1999:blog-2614431379943400833.post-33756015255896855352021-06-16T21:31:00.002+05:302021-06-16T21:31:12.548+05:30D365 FO - New document type in Print Management setup <p><span style="color: #1f4e79;">Hello everyone, today we'll look at how to add a document type to
the print management configuration in Dynamics 365 Finance.</span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpS0Fv50o5sNBnBUYopnbRb580HpGDyyGWDbt6tAyUTxkhD5JALZdIpAwIhx0Mflof5OzIpWLo3bJL9RlU4iHwsZv87G6RAZk4d7ngdUvjrx62rdpOyrdK3owEXj-DoqCsQ-Yw39c6RfHy/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="515" data-original-width="477" height="403" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpS0Fv50o5sNBnBUYopnbRb580HpGDyyGWDbt6tAyUTxkhD5JALZdIpAwIhx0Mflof5OzIpWLo3bJL9RlU4iHwsZv87G6RAZk4d7ngdUvjrx62rdpOyrdK3owEXj-DoqCsQ-Yw39c6RfHy/w373-h403/2021-06-11_20-59-04.png" width="373" /></a></div><br /><br /><p></p>
<p class="MsoNormal"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">The first step should be to extend the base enum print management
document type [<b>PrintMgmtDocumentType</b>] and add a new element there. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">The second step should be to extend the <b>PrintMgmtNode</b> class
based on the module where you want to add the custom document. We will add a
document to the accounts receivable print management configuration as an
example.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 450.8pt;" valign="top" width="601">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">[ExtensionOf(classStr(PrintMgmtNode_Sales))]<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">final class
PrintMgmtNode_Sales_Extension<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>public List getDocumentTypes()<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>List documentTypes;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>documentTypes = new
List(Types::Enum);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>documentTypes = next
getDocumentTypes();<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>documentTypes.addEnd(PrintMgmtDocumentType::CustomDocument);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-tab-count: 2;"> </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>return documentTypes;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">}<o:p></o:p></span></p>
</td>
</tr>
</tbody></table>
<p class="MsoNormal"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">Subscribe to the NotifyPopulate function of the PrintMgmtReportFormatPublisher
class to insert a default report into a custom document.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 450.8pt;" valign="top" width="601">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">public class
PrintMgmtReportFormatPublisherUtil<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;">
</span>[SubscribesTo(classstr(PrintMgmtReportFormatPublisher), <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;">
</span>delegatestr(PrintMgmtReportFormatPublisher, notifyPopulate))]<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>public static void notifyPopulate()<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>#PrintMgmtSetup<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>void addFormat(PrintMgmtDocumentType
_type, PrintMgmtReportFormatName _name, <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;">
</span>PrintMgmtReportFormatCountryRegionId _countryRegionId =
#NoCountryRegionId)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>PrintMgmtReportFormatPublisherUtil::addPrintMgmtReportFormat(_type,
_name, _name, <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>_countryRegionId);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;">
</span>addFormat(PrintMgmtDocumentType::CustomDocument, <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;">
</span>ssrsReportStr(CustomReport, Report));<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>private static void
addPrintMgmtReportFormat(<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>PrintMgmtDocumentType _type,<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>PrintMgmtReportFormatName _name,<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>PrintMgmtReportFormatDescription
_description,<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>PrintMgmtReportFormatCountryRegionId
_countryRegionId,<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>PrintMgmtReportFormatSystem _system =
false,<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>PrintMgmtSSRS _ssrs =
PrintMgmtSSRS::SSRS)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>PrintMgmtReportFormat
printMgmtReportFormat;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>select firstonly printMgmtReportFormat<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>where
printMgmtReportFormat.DocumentType == _type<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>&&
printMgmtReportFormat.Description == _description<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>&&
printMgmtReportFormat.CountryRegionId == _countryRegionId;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>if (!printMgmtReportFormat)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>// Add the new format<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>printMgmtReportFormat.clear();<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;">
</span>printMgmtReportFormat.DocumentType = _type;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>printMgmtReportFormat.Name =
_name;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>printMgmtReportFormat.Description
= _description;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;">
</span>printMgmtReportFormat.CountryRegionId = _countryRegionId;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>printMgmtReportFormat.System =
_system;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>printMgmtReportFormat.ssrs =
_ssrs;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>printMgmtReportFormat.insert();<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">}<o:p></o:p></span></p>
</td>
</tr>
</tbody></table>
<p class="MsoNormal"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">To get the default report, subscribe the delegate
getDefaultReportFormatDelegate and getQueryTableIdDelegate of class
PrintMgmtDocType.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 450.8pt;" valign="top" width="601">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">public class
PrintMgmtDocTypeEventHandler<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;">{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;">
</span>[SubscribesTo(classStr(PrintMgmtDocType),
delegateStr(PrintMgmtDocType, <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;">
</span>getDefaultReportFormatDelegate))]<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>public static void
getDefaultReportFormat(PrintMgmtDocumentType _docType, EventHandlerResult <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>_result)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>switch (_docType)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>case
PrintMgmtDocumentType::CustomDocument:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;">
</span>_result.result(ssrsReportStr(CustomReport, Report));<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>break;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>[SubscribesTo(classStr(PrintMgmtDocType),
delegateStr(PrintMgmtDocType, <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"> getQueryTableIdDelegate))]<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>public static void
PrintMgmtDocType_getQueryTableIdDelegate(PrintMgmtDocumentType _docType, <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;">
</span>EventHandlerResult _result)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>TableId tableId;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span><span style="color: #1f4e79;"> </span><span style="color: #1f4e79;">switch (_docType)</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>case
PrintMgmtDocumentType::CustomDocument:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>tableId =
tableNum(CustomReportTemp);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>_result.result(tableId);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>break;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span><span style="color: #1f4e79;">}</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #1f4e79; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #1F4E79; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent5; mso-themecolor: accent5; mso-themeshade: 128;"><o:p> </o:p></span></p>
</td>
</tr>
</tbody></table>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com1tag:blogger.com,1999:blog-2614431379943400833.post-73466003664714064072021-06-07T15:29:00.003+05:302021-06-07T15:38:51.415+05:30D365 Finance - Performance optimizations [Tools and Techniques]<iframe src="https://onedrive.live.com/embed?cid=FFF56DFCA49BAFE0&resid=FFF56DFCA49BAFE0%212015&authkey=AHUPOQMqwB6V_sI&em=2&wdAr=1.7777777777777777" width="962px" height="565px" frameborder="0">This is an embedded <a target="_blank" href="https://office.com">Microsoft Office</a> presentation, powered by <a target="_blank" href="https://office.com/webapps">Office</a>.</iframe>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibpAtBz7cz13beLZK03sH4lVpJ5ZxCA2Ptz_xUWx6KSQOpd166gfzzfOhliYpY4S_kK6B0UjsfwBnhkjJn5Wi4F8YaZinayOJXdaN1tyxS_dvSBaLmXUU_2gjVtidPkUQN9wBLnaLbIeLe/s746/DBPerfPic.png" style="display: block; padding: 1em 0; text-align: center; clear: left; float: left;"><img alt="" border="0" width="600" data-original-height="514" data-original-width="746" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibpAtBz7cz13beLZK03sH4lVpJ5ZxCA2Ptz_xUWx6KSQOpd166gfzzfOhliYpY4S_kK6B0UjsfwBnhkjJn5Wi4F8YaZinayOJXdaN1tyxS_dvSBaLmXUU_2gjVtidPkUQN9wBLnaLbIeLe/s600/DBPerfPic.png"/></a></div>
Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-37786656749827912762020-11-05T20:37:00.004+05:302020-11-05T20:38:32.589+05:30D365 Finance - #PowerCommunityEvents : Binary data & its Integration!! <p><span face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;">Interested in learning 'How binary data works in the D365 finance system'? Explore more & Acquire skill!! Useful classes, Bytes, Stream, etc. and Integration with 3rd party application - Combination of X++ and C#!!</span></p><span face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;"><b>Need your <a href="https://events.powercommunity.com/sessions/importance-of-binary-data-in-terms-of-integration-sending-merging-reports-attachments-etc/" target="_blank">VOTE to LIVE</a> this session!!</b></span><div><span color="rgba(0, 0, 0, 0.9)" face="-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Fira Sans", Ubuntu, Oxygen, "Oxygen Sans", Cantarell, "Droid Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Lucida Grande", Helvetica, Arial, sans-serif" style="background-color: white; font-size: 14px;"><br /></span></div><div><span style="background-color: white; font-size: 14px;"><span color="rgba(0, 0, 0, 0.901960784313726)" face="-apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Fira Sans, Ubuntu, Oxygen, Oxygen Sans, Cantarell, Droid Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Lucida Grande, Helvetica, Arial, sans-serif">https://events.powercommunity.com/sessions/importance-of-binary-data-in-terms-of-integration-sending-merging-reports-attachments-etc/</span></span></div><div><span style="background-color: white; font-size: 14px;"><span color="rgba(0, 0, 0, 0.901960784313726)" face="-apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Fira Sans, Ubuntu, Oxygen, Oxygen Sans, Cantarell, Droid Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Lucida Grande, Helvetica, Arial, sans-serif"><br /></span></span></div><div><span style="background-color: white; font-size: 14px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://events.powercommunity.com/sessions/importance-of-binary-data-in-terms-of-integration-sending-merging-reports-attachments-etc/" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="690" data-original-width="1036" height="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFXEn9yVe1Wmp-e2FURsQLn5MPAEyXx1yudvGO9EusSR0D_GaPfVLe7BTGYbCxK8ppBrJmTK_fC3mA7fZX5wU4oRqYgXKFz8EiWjdEobSVc71Zx_X8jHwrXQYYzOoAKOQl-aV7r4nHJD67/w640-h426/2020-11-05_20-30-06.png" width="640" /></a></div><br /><span color="rgba(0, 0, 0, 0.901960784313726)" face="-apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Fira Sans, Ubuntu, Oxygen, Oxygen Sans, Cantarell, Droid Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Lucida Grande, Helvetica, Arial, sans-serif"><br /></span></span></div><div><span style="background-color: white; font-size: 14px;"><span color="rgba(0, 0, 0, 0.901960784313726)" face="-apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Fira Sans, Ubuntu, Oxygen, Oxygen Sans, Cantarell, Droid Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Lucida Grande, Helvetica, Arial, sans-serif"><br /></span></span></div><div><span style="background-color: white; font-size: 14px;"><span color="rgba(0, 0, 0, 0.901960784313726)" face="-apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Fira Sans, Ubuntu, Oxygen, Oxygen Sans, Cantarell, Droid Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Lucida Grande, Helvetica, Arial, sans-serif"><br /></span></span></div>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com10tag:blogger.com,1999:blog-2614431379943400833.post-3654565172831438252020-10-21T16:49:00.005+05:302020-10-21T21:27:30.946+05:30D365 Finance – Integration Strategy: Lessons Learned!! <p></p><p class="MsoNormal"><span style="color: #002060; font-size: 10.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Good Morning Folks, <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Today I am going to talk about the integration
strategy and a few lessons which we have learned while performing the integration
– Either Inbound (Or) Outbound. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">So before commencing any </span><b><i><span style="color: #002060; font-size: 16.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Integration,</span></i></b><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> I would recommend having a kind of a </span><u><span style="color: #002060; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Book or Integration Register</span></u><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> which would help us to
determine what is/are the next steps…!! <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">So, I am mainly focusing on what you need when you
have the integration work to be performed ...??<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Below are the snapshots – which can be incorporated under
the smartsheet to determine various methods/protocols you’re going to utilize in
the Integration: <o:p></o:p></span></p><p class="MsoNormal"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><br /></span></p><p class="MsoNormal"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuJh5Vz-TbHIJ74mUW-rBw7YSEF-y51YzRSJg1ZSQD3h1lW9pHxXyZ7j8U8L1aMvWWlAceDPn-N4IHWUvXhEf1BeKk-6z1AovvQ4EmEo5TO60TyBYbOqpFtshkzEvO8WPRTSLD7d3ppcdF/s873/Picture1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="581" data-original-width="873" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuJh5Vz-TbHIJ74mUW-rBw7YSEF-y51YzRSJg1ZSQD3h1lW9pHxXyZ7j8U8L1aMvWWlAceDPn-N4IHWUvXhEf1BeKk-6z1AovvQ4EmEo5TO60TyBYbOqpFtshkzEvO8WPRTSLD7d3ppcdF/s16000/Picture1.png" /></a></p><p><br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p class="MsoListParagraphCxSpFirst" style="text-align: left; text-indent: -36pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span>i.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Finding the source system <o:p></o:p></span></p><p class="MsoListParagraphCxSpMiddle" style="text-align: left; text-indent: -36pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span>ii.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Finding the target system <o:p></o:p></span></p><p class="MsoListParagraphCxSpMiddle" style="text-align: left; text-indent: -36pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span>iii.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Determining the source format of
the file <o:p></o:p></span></p><p class="MsoListParagraphCxSpMiddle" style="text-align: left; text-indent: -36pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span>iv.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Determining the target format of
the file <o:p></o:p></span></p><p class="MsoListParagraphCxSpMiddle" style="text-align: left; text-indent: -36pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span>v.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">The mode of integration – Sync or
Async?<o:p></o:p></span></p><p class="MsoListParagraphCxSpMiddle" style="text-align: left; text-indent: -36pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span>vi.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Peak hour volume?<o:p></o:p></span></p><p class="MsoListParagraphCxSpMiddle" style="text-align: left; text-indent: -36pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span>vii.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Frequency per hour? <o:p></o:p></span></p><p class="MsoListParagraphCxSpLast" style="text-align: left; text-indent: -36pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span>viii.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Integration type</span></p></blockquote><p>
</p><p class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; mso-text-indent-alt: -18.0pt; text-indent: -36.0pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><br /></span></p><p class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; mso-text-indent-alt: -18.0pt; text-indent: -36.0pt;"><span style="color: #002060; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> <o:p></o:p></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0JtanSDrhNXT_Zgud8LoOpE3bvKlB66a1f8c6kN1dsCnrE82EA270y9sauHigyAm8QJNo5p-vHzmy_fyM9StqXQNE5JGTLvgXCxx44XH97bb3_O9A6Ar81mHmsWwqkdKJ1z_j07VHeBUD/s1274/Picture2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="501" data-original-width="1274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0JtanSDrhNXT_Zgud8LoOpE3bvKlB66a1f8c6kN1dsCnrE82EA270y9sauHigyAm8QJNo5p-vHzmy_fyM9StqXQNE5JGTLvgXCxx44XH97bb3_O9A6Ar81mHmsWwqkdKJ1z_j07VHeBUD/s16000/Picture2.png" /></a></div><div><br /></div><div><br /></div><div><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br />Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com7tag:blogger.com,1999:blog-2614431379943400833.post-22119499939169790642020-10-17T01:02:00.005+05:302020-10-17T01:02:53.424+05:30D365 Finance: AI, Power Apps, Power Automate Mix!!<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSHWNsCnkoKSOj0Y-SAlwOmre2MWpIIfVAVSPSk4DBfANUqPVCehzw_DwNv4tLUYcZTJFOUPdX732cxj6ZdjtPQ3D9YEOjogapiJa2X6QXGFN4eyUGsS4GF2FSzUVQWQPF69bGNTpKMVWC/s858/Main.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="393" data-original-width="858" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSHWNsCnkoKSOj0Y-SAlwOmre2MWpIIfVAVSPSk4DBfANUqPVCehzw_DwNv4tLUYcZTJFOUPdX732cxj6ZdjtPQ3D9YEOjogapiJa2X6QXGFN4eyUGsS4GF2FSzUVQWQPF69bGNTpKMVWC/w640-h294/Main.png" width="640" /></a></div> <p></p><p class="MsoNormal"><span style="color: #002060;">Hello folks, Today I am going to
showcase how I have used AI builder via PowerApps to create the record in D365
Finance. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #002060;">I just scanned a simple report (Based
on your scenario) and built the model under PowerApps > AI builder and
trained it. Below is the screenshot:</span></p><p class="MsoNormal"><span style="color: #002060;"><br /></span><span style="color: #002060;"><o:p></o:p></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfrd4xGDMfKNegQcj0Oa7agedCiuO_5fn4TJyuyM0ElowBhDsLrIaRuCwkg2WQBVJNRKXv4_EeoY0NyLnITDMfRI8ItsuF1kMfxc840HbNCUaZ467ubKc1DkMAAadb3lS5rKpdtNTWu0H_/s1919/2020-10-16_18-48-07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="823" data-original-width="1919" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfrd4xGDMfKNegQcj0Oa7agedCiuO_5fn4TJyuyM0ElowBhDsLrIaRuCwkg2WQBVJNRKXv4_EeoY0NyLnITDMfRI8ItsuF1kMfxc840HbNCUaZ467ubKc1DkMAAadb3lS5rKpdtNTWu0H_/s16000/2020-10-16_18-48-07.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p class="MsoNormal"><span style="color: #002060;">To understand more about building and training the models under AI – Read the <a href="https://docs.microsoft.com/en-us/ai-builder/create-form-processing-model" target="_blank">article</a>.</span></p><p class="MsoNormal"><span style="color: #002060;">Once that’s been developed, created a very simple canvas app including AI – Form processor, shown below:</span></p><p class="MsoNormal"><span style="color: #002060;"><br /></span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_uiXs3vJo5IOCrZuqcUtfzPOz0aM65dCCdPpoZCH6ZOviv_rNOQWBpIZl4l9dQM3WfhyX-sa7IfpfGFPOovj0UCCz2rhC4bA0vFmczT_QFWN1potwECJuRFUlpSuiDVugyuaRKqfH9WnD/s1874/2020-10-16_01-19-02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="859" data-original-width="1874" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_uiXs3vJo5IOCrZuqcUtfzPOz0aM65dCCdPpoZCH6ZOviv_rNOQWBpIZl4l9dQM3WfhyX-sa7IfpfGFPOovj0UCCz2rhC4bA0vFmczT_QFWN1potwECJuRFUlpSuiDVugyuaRKqfH9WnD/s16000/2020-10-16_01-19-02.png" /></a></div><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghVM3W8kRu3lwP7n2OyMiHI7zMejiWaJi54mgEt7M-vUhiBTPrsh84oIEHZ6-Rl-r_zTzASjTiqN1ZpnJfRGH9rItAyKi5YHEsfbDBm5QLnLUR7i_bGitXeZLHWOmfGQP1Ox9T5bXPcYsH/s1210/2020-10-16_01-16-58.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="967" data-original-width="1210" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghVM3W8kRu3lwP7n2OyMiHI7zMejiWaJi54mgEt7M-vUhiBTPrsh84oIEHZ6-Rl-r_zTzASjTiqN1ZpnJfRGH9rItAyKi5YHEsfbDBm5QLnLUR7i_bGitXeZLHWOmfGQP1Ox9T5bXPcYsH/w640-h512/2020-10-16_01-16-58.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjc1xbsVtrk0EwFHnhm2BzOhTAEmp0xjvroBkwmWRU7W7HHIY6NXCgNM-gXCI20k7X7ro7q19mqMupvLy7pp4fyLLUyshREuiNjqNIzes1bQEgWRzwOEHcEF5LbGd3eGRTif67FmmfvgIO/s1716/2020-10-16_01-17-36.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="899" data-original-width="1716" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjc1xbsVtrk0EwFHnhm2BzOhTAEmp0xjvroBkwmWRU7W7HHIY6NXCgNM-gXCI20k7X7ro7q19mqMupvLy7pp4fyLLUyshREuiNjqNIzes1bQEgWRzwOEHcEF5LbGd3eGRTif67FmmfvgIO/s16000/2020-10-16_01-17-36.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEwWfSMzLcGf38zJa14yMargyh3o47BowMsNk6RpjKGR0tBam1VB-cye8bVxz2psNJgWeE24fO8sHkpsnCA9Z5TiU0fsRUP4zIjJPMZAJOM0rIj0D0COus4mHtieVrDrlEJ-SEao5jh4ch/s1367/2020-10-16_01-18-17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="745" data-original-width="1367" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEwWfSMzLcGf38zJa14yMargyh3o47BowMsNk6RpjKGR0tBam1VB-cye8bVxz2psNJgWeE24fO8sHkpsnCA9Z5TiU0fsRUP4zIjJPMZAJOM0rIj0D0COus4mHtieVrDrlEJ-SEao5jh4ch/s16000/2020-10-16_01-18-17.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div><br /></div><div><br /></div><div><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbUGiDnOhjtB0dZyCss170g5GzQd1-3_ltjT3NSNRSRElkks5hg9rX010y61oV9M5c1Eg48XCaj8N9tgl67J7zzPNLogkj_3VAa6FOQFGvPUqCBfYl9SYhqJZaBmbMpUVvYN1RTglgImvm/s1877/2020-10-16_01-20-28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="843" data-original-width="1877" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbUGiDnOhjtB0dZyCss170g5GzQd1-3_ltjT3NSNRSRElkks5hg9rX010y61oV9M5c1Eg48XCaj8N9tgl67J7zzPNLogkj_3VAa6FOQFGvPUqCBfYl9SYhqJZaBmbMpUVvYN1RTglgImvm/s16000/2020-10-16_01-20-28.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXuisTF96tL_mHciBHpPUAWvqERxGHayIjpE0T2Zc2r_ohx8s_yfMShtIIcZSl0fABL7BHmCePTVFpmM4_DgCFSCAgsmsizHj_Gn4D8p5_lV95HmSieM5TxECgB3mxtbc02XKBGnmuVoHY/s1860/2020-10-16_01-21-09.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="890" data-original-width="1860" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXuisTF96tL_mHciBHpPUAWvqERxGHayIjpE0T2Zc2r_ohx8s_yfMShtIIcZSl0fABL7BHmCePTVFpmM4_DgCFSCAgsmsizHj_Gn4D8p5_lV95HmSieM5TxECgB3mxtbc02XKBGnmuVoHY/s16000/2020-10-16_01-21-09.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKUA6Yb8Tw5gNKVPL4XCjyBHOibNRFS247DOvAJDAcTPYF7fzDQGoBbG_7RTs2tXboq4h1JMO5GZ8f4LBsWtiuUQXR-p-XdCTWHjf01lyEFVdeCVcsgLnC-xjKUY-LrivtJ7pb24z2zCOx/s1854/2020-10-16_01-21-41.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="881" data-original-width="1854" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKUA6Yb8Tw5gNKVPL4XCjyBHOibNRFS247DOvAJDAcTPYF7fzDQGoBbG_7RTs2tXboq4h1JMO5GZ8f4LBsWtiuUQXR-p-XdCTWHjf01lyEFVdeCVcsgLnC-xjKUY-LrivtJ7pb24z2zCOx/s16000/2020-10-16_01-21-41.png" /></a></div><br /><br /><p class="MsoNormal"><br /></p>
<p class="MsoNormal"><span style="color: #002060;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color: #002060;">Crux – Once you click on <u>Analyze</u>
button and select the file – AI uses the intelligence to recognize the text’s
in the document and fill in the required text boxes in the PowerApps. Thereafter,
Power automate would read those variables/texts to process the data entities as
per the scenario. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: #002060;">Here, I tried creating a </span><span style="color: #002060;">record (Sales
Line) in F&O using the Power Apps, and AI Builder by capturing the text from
the scanned object (document).</span></p>
<p class="MsoNormal"><span style="color: #002060;">Thank you! </span><span style="color: #002060; font-family: "Segoe UI Emoji",sans-serif; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol-ext; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: "Segoe UI Emoji";">😊</span><span style="color: #002060;"> <o:p></o:p></span></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com7tag:blogger.com,1999:blog-2614431379943400833.post-4808915287662658422020-09-25T16:55:00.004+05:302020-09-25T16:55:37.310+05:30Upcoming Sessions at Dynamic Communities Summit North America 2020 [October 5th – 9th, 2020]<p></p><div class="separator" style="clear: both; text-align: center;"><p class="MsoNormal" style="margin-left: 1em; margin-right: 1em;"></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://www.dynamiccommunities.com/events/community-summit-north-america/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="736" data-original-width="1104" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8zR_efk-MGB9yFpVn4lxfv3Rgw-5VBH3rVxMvviwnYV9y_MXp8xBAOW9rOquMnRmBYlKUu2iBE7jayO_da8Di6-RBy27wIrfp4KC2gcz8xt7jJv1zvjtyFV8pKUcleJpfSoY1TwqFvMBk/s16000/Social+Graphic+-+LinkedIn.jpg" /></a></div><br /><br /><p></p><p class="MsoNormal"><span style="background: white; color: #002060; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Hello
Folks, We are less than a week away to start of the Summit conference - <b><a href="https://www.dynamiccommunities.com/events/community-summit-north-america/" target="_blank"><span style="color: #002060; text-decoration: none; text-underline: none;">Dynamic Communities Summit North America</span><span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; widows: 2; word-spacing: 0px;"> [October 5th –
9th, 2020]</span></a></b></span><span style="background: white; color: #002060; font-size: 14.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: white; color: #002060; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">I am
super excited to share with you all - about testing the OData services in D365
Finance using a very common third-party tool called POSTMAN!</span></p>
<p class="MsoNormal"><span style="background: white; color: #002060; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Make
sure to get registered and I can't wait to (virtually) see you all there!</span><o:p></o:p></p>
<p class="MsoNormal"><span style="background: white; color: #002060; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Ensure to
get registered, awaiting to see you all there! </span><span style="background: white; color: #002060; font-family: "Segoe UI Emoji",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-char-type: symbol-ext; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: "Segoe UI Emoji";">😊</span><span style="background: white; color: #002060; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> <o:p></o:p></span></p><p class="MsoNormal"><span style="background: white; color: #002060; font-family: "Segoe UI Emoji",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-char-type: symbol-ext; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: "Segoe UI Emoji";"><br /></span></p><img border="0" data-original-height="917" data-original-width="1451" height="405" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioePejAx90kpcMebmL_JreaRUHlxCHTSRDDgqPipjXh6q_XUlT9gucP71BAiPRDIjHh7SU2cCbAHUIjLZrT0i0HSCRIhyphenhyphen48FnVxu40QoBZ-tc4rvQQWzcHfNMp1NPXQpSmHtlGFWVwzko4/w640-h405/Me+at+summit.png" width="640" /><p></p></div><p class="MsoNormal"></p><p></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com2tag:blogger.com,1999:blog-2614431379943400833.post-403004459468100902020-08-13T21:27:00.006+05:302020-08-14T00:23:52.392+05:30D365 FO: Business Event (Error/Issue - "The underlying connection was closed: An unexpected error occurred on a send") <p> <img border="0" data-original-height="840" data-original-width="1023" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEgiuFcUG2x7YeSx92fxmHP3Qj-HdL9KeDUlSpvhVeyV_fA0QWzHt6aN04Nj71M0ok0hB6VEjcaKKSHUI3hk_nRXN2TIHFagi1KslAgG7JuQXP2DOpD2J-XNJ7V0x42KZiEueJUweFPoKi/s640/2020-08-11_21-49-09.png" width="640" /></p><p><br /></p><p>Hello folks, While working a few days back with the <b>Business Event</b> in one of the virtual machine of dynamics 365 connection operations I had
encountered an <b><i><span style="color: red; font-size: 14pt; line-height: 107%;">Issue</span></i></b><span style="color: red;"> </span>and I'm sure most of you have had this kind of issue
before with your business event system.</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">My business event was simple and straight – Using OOB
business event when someone posts the customer payment, I need to get the email
trigger. That’s all!! <span face="" style="font-family: "segoe ui emoji", sans-serif; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol-ext; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: "Segoe UI Emoji";">😊</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; tab-stops: 36.0pt; text-autospace: none;">But when
I activated the specific business event, supplying power automate artifacts(GUID),
and upon posting the AR payment – I received an error – “<span style="color: red;">The underlying connection was closed: An unexpected error
occurred on a send.</span>”<o:p></o:p></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; tab-stops: 36.0pt; text-autospace: none;"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA-M34g9uaZeSlJzTWMoRrHGLf3GlAPquSb3G0O9yz9nRpa4m2AOdEMRfMcaNqJ6KAriOxTIanLKY7lcr_cCvAzTHeA0fgbzvdAWfXe1v6aKjQJgxfyM4hy7rGwNEP10oDZ5Mg9-0GjXOm/s1517/2020-08-13_19-29-45.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="392" data-original-width="1517" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA-M34g9uaZeSlJzTWMoRrHGLf3GlAPquSb3G0O9yz9nRpa4m2AOdEMRfMcaNqJ6KAriOxTIanLKY7lcr_cCvAzTHeA0fgbzvdAWfXe1v6aKjQJgxfyM4hy7rGwNEP10oDZ5Mg9-0GjXOm/s640/2020-08-13_19-29-45.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; tab-stops: 36.0pt; text-autospace: none;"><br /></p>
<p class="MsoNormal"><o:p> </o:p>We all know it must be something to do with .Net version or
sometimes few protocols/certificate issues. And we write the below piece of code
to get rid of the error:</p><p class="MsoNormal"><o:p></o:p></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTable15Grid6ColorfulAccent6" style="border-collapse: collapse; border: none; mso-border-alt: solid #A8D08D .5pt; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr style="mso-yfti-firstrow: yes; mso-yfti-irow: -1; mso-yfti-lastfirstrow: yes; mso-yfti-lastrow: yes;">
<td style="border: 1pt solid rgb(168, 208, 141); mso-border-alt: solid #A8D08D .5pt; mso-border-bottom-alt: solid #A8D08D 1.5pt; mso-border-bottom-themecolor: accent6; mso-border-bottom-themetint: 153; mso-border-themecolor: accent6; mso-border-themetint: 153; padding: 0cm 5.4pt; width: 450.8pt;" valign="top" width="601">
<p class="MsoNormal" style="line-height: 107%; margin-bottom: 8pt; mso-yfti-cnfc: 5;"><b><span style="font-size: 10pt; line-height: 107%;">ServicePointManager.SecurityProtocol
= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;</span><span style="color: #538135; mso-themecolor: accent6; mso-themeshade: 191;"><o:p></o:p></span></b></p>
</td>
</tr>
</tbody></table>
<p class="MsoNormal"><span style="mso-spacerun: yes;"> </span>However, we CAN’T write this line in our situation here. So,
what NEXT!</p><p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Below is what I did to <b><i><span style="color: #00b050; font-size: 14pt; line-height: 107%;">Resolve</span></i></b><span style="color: #00b050;">
</span>in my VM (*I know it's not great to use the Regedit – and you may loose
your application if you mistype/incorrect entries.) <o:p></o:p></p>
<p class="MsoNormal">Set the SchUseStrongCrypto registry key as follows, save
below code to forceTLS1.2.reg and run it:<o:p></o:p></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTable15Grid6ColorfulAccent6" style="border-collapse: collapse; border: none; mso-border-alt: solid #A8D08D .5pt; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr style="height: 24.55pt; mso-yfti-firstrow: yes; mso-yfti-irow: -1; mso-yfti-lastfirstrow: yes;">
<td style="border: 1pt solid rgb(168, 208, 141); height: 24.55pt; mso-border-alt: solid #A8D08D .5pt; mso-border-bottom-alt: solid #A8D08D 1.5pt; mso-border-bottom-themecolor: accent6; mso-border-bottom-themetint: 153; mso-border-themecolor: accent6; mso-border-themetint: 153; padding: 0cm 5.4pt; width: 450.8pt;" valign="top" width="601">
<p align="center" class="MsoNormal" style="line-height: 107%; margin-bottom: 8pt; mso-yfti-cnfc: 5; text-align: center;">Windows Registry Editor Version 5.00<span style="color: #538135; mso-themecolor: accent6; mso-themeshade: 191;"> (WIN+R – RegEdit)</span><o:p></o:p></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 5;"><b><span style="color: #538135; mso-themecolor: accent6; mso-themeshade: 191;"><o:p> </o:p></span></b></p>
</td>
</tr>
<tr style="mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="background: rgb(226, 239, 217); border: 1pt solid rgb(168, 208, 141); mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid #A8D08D .5pt; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt; width: 450.8pt;" valign="top" width="601">
<p class="MsoNormal" style="line-height: 107%; margin-bottom: 8pt; mso-yfti-cnfc: 68;"><b><span style="color: black; font-size: 10pt; line-height: 107%; mso-color-alt: windowtext;">[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]</span></b><b><span style="font-size: 10pt; line-height: 107%;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: 107%; margin-bottom: 8pt; mso-yfti-cnfc: 68;"><b><span style="color: black; font-size: 10pt; line-height: 107%; mso-color-alt: windowtext;">"SchUseStrongCrypto"=dword:00000001</span></b><b><span style="font-size: 10pt; line-height: 107%;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: 107%; margin-bottom: 8pt; mso-yfti-cnfc: 68;"><b><span style="color: black; font-size: 10pt; line-height: 107%; mso-color-alt: windowtext;">[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]</span></b><b><span style="font-size: 10pt; line-height: 107%;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: 107%; margin-bottom: 8pt; mso-yfti-cnfc: 68;"><b><span style="color: black; font-size: 10pt; line-height: 107%; mso-color-alt: windowtext;">"SchUseStrongCrypto"=dword:00000001</span></b><b><span style="font-size: 10pt; line-height: 107%;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-yfti-cnfc: 68;"><b><span style="color: #538135; mso-themecolor: accent6; mso-themeshade: 191;"><o:p> </o:p></span></b></p>
</td>
</tr>
</tbody></table>
<p class="MsoNormal"><o:p> </o:p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtxUQ1-S9vvZJ_WCEH3iiyXYjhAQmK9O11EqadFdMbDNO7XQWiHrj9b6VL9HjE6UBSrS2JoXhGG_GpI68r53h5kj-H9SzIfUXmKRKgREXA2P_es3Zoh920_eb8tBcp3jcmJgoz8ikBLDyM/s916/2020-08-13_21-24-16.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="916" data-original-width="460" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtxUQ1-S9vvZJ_WCEH3iiyXYjhAQmK9O11EqadFdMbDNO7XQWiHrj9b6VL9HjE6UBSrS2JoXhGG_GpI68r53h5kj-H9SzIfUXmKRKgREXA2P_es3Zoh920_eb8tBcp3jcmJgoz8ikBLDyM/s640/2020-08-13_21-24-16.png" /></a></div><p></p><p class="MsoNormal">Good Day! <span face="" style="font-family: "segoe ui emoji", sans-serif;">😊</span> </p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com5tag:blogger.com,1999:blog-2614431379943400833.post-87224066131383402322020-08-03T17:52:00.008+05:302020-08-03T17:54:42.866+05:30D365 FO: Odata authentication (OAuth) via Code<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiITrLGSJyAoARBo-aXSFHua5kf5VGuXIEJOhk_uFswgZO8ywernLy2O2Y51DFyCiKPg_YVsM61j3lXEIBzC5bKp-H1X5KmvuwUflL-bc1iPxPfrkcKYlSLvbwo-BcX2EtaRvEr_JVY3ev/s932/odata.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="338" data-original-width="932" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiITrLGSJyAoARBo-aXSFHua5kf5VGuXIEJOhk_uFswgZO8ywernLy2O2Y51DFyCiKPg_YVsM61j3lXEIBzC5bKp-H1X5KmvuwUflL-bc1iPxPfrkcKYlSLvbwo-BcX2EtaRvEr_JVY3ev/s640/odata.jpg" width="640" /></a></div><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><br /></span><p></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><br /></span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> System;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> Microsoft.Azure.Storage.Blob;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> Microsoft.IdentityModel.Clients.ActiveDirectory;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> Newtonsoft.Json;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> Newtonsoft.Json.Linq;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> System.IO;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> System.Net.Http;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> System.Net.Http.Headers;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> System.Text;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> System.Threading;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">using</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> System.Threading.Tasks;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">namespace</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> FO_AuthTest<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">internal</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">class</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">
</span><span style="color: #2b91af; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">DMFManager</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">static</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">string</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> downloadUrl = </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">string</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">.Empty;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">static</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">string</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> aadTenant = </span><span style="color: #a31515; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">"https://login.windows.net/test.com”;</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">static</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">string</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> aadResource = </span><span style="color: #a31515; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">"https://test-aos.cloudax.dynamics.com"</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">static</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">string</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> aadClientAppId = </span><span style="color: #a31515; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">"7671rt11-tggg-4287-b3a2-b67rt21123dd"</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">static</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">string</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> aadClientAppSecret = </span><span style="color: #a31515; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">"sfdsfsdfdsgfdsgfdsgfdg9LMrpVs4jWwRwpbOAs="</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> public</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">static</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">void</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">
Main(</span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">string</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">[] args)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> processTask();<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10pt;"> }</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: grey; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> ///</span><span style="color: green; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: grey; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><summary></span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: grey; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> ///</span><span style="color: green; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> Retrieves an authentication header from the service.</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: grey; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> ///</span><span style="color: green; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: grey; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"></summary></span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10pt;"> /</span><span style="color: grey; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">//</span><span style="color: green; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: grey; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><returns></span><span style="color: green; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">The authentication header for the Web API call.</span><span style="color: grey; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"></returns></span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> private</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">static</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">string</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> GetAuthenticationHeader()</span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10pt;"> {</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="font-size: 10pt;">AuthenticationContext
authenticationContext = </span><span style="color: blue; font-size: 10pt;">new</span><span style="font-size: 10pt;"> AuthenticationContext(aadTenant);</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">var</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> credential = </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">new</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> ClientCredential(aadClientAppId, aadClientAppSecret);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>AuthenticationResult authenticationResult
= authenticationContext.AcquireTokenAsync(aadResource, <span> </span><span> </span><span> </span><span> </span><span> </span>credential).Result;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">return</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> authenticationResult.AccessToken;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> }<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p> </o:p></span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: blue; font-size: 10pt;"> private</span><span style="font-size: 10pt;"> static void processTask()</span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10pt;"> {</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">string</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> authHeader = GetAuthenticationHeader(); //Get bearer token<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>HttpClient client = </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">new</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> HttpClient();<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;"> </span>client.BaseAddress = </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">new</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> Uri(aadResource);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;">
</span>client.DefaultRequestHeaders.Clear();<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-spacerun: yes;">
</span>client.DefaultRequestHeaders.Authorization = </span><span style="color: blue; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">new</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> <span style="mso-spacerun: yes;"> </span>AuthenticationHeaderValue(</span><span style="color: #a31515; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">"Bearer"</span><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">,
authHeader);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> ……..<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="color: black; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> ……………<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 13.3333px;"> }</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p> </o:p></span></p><br />Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com1tag:blogger.com,1999:blog-2614431379943400833.post-46128157893127949922020-06-27T00:13:00.006+05:302020-06-27T00:18:53.953+05:30Microsoft Azure: Azure storage apps & Azure blob storage<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"></p><p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><b></b></p><div class="separator" style="clear: both; text-align: center;"><b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnahaCco-TVf7-gGh2P9GoUK6Z8tvEngndy4YdcIRcgenyjYC0Z_DsdT9irnaA8v_xbR6LCvzDm6NU3xsiNETFduYW2Z1SCGqMVFgDgEeUc2CjeXTUsN51tUpUPRJehuYjwnB1Y0xtMq5x/s588/Azurelogic.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="289" data-original-width="588" height="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnahaCco-TVf7-gGh2P9GoUK6Z8tvEngndy4YdcIRcgenyjYC0Z_DsdT9irnaA8v_xbR6LCvzDm6NU3xsiNETFduYW2Z1SCGqMVFgDgEeUc2CjeXTUsN51tUpUPRJehuYjwnB1Y0xtMq5x/w500-h245/Azurelogic.jpg" width="500" /></a></b></div><b><span style="color: #002060; font-size: 14pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;"><br /></span></b><p></p><p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><b><span style="color: #002060; font-size: 14pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;"><br /></span></b></p><p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><b><span style="color: #002060; font-size: 14pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">What is Azure Logic
App?<o:p></o:p></span></b></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Azure Logic App is a cloud service.
Using Logic Apps defines the workflow at ease consuming a range of APIs exposed
as Connectors. These Logic App connectors will perform the sequence of actions
defined in the workflow whenever the trigger gets fired.<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Below are various types of triggers
available for Azure Functions:<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpFirst" style="background: white; line-height: normal; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt; vertical-align: baseline;"><!--[if !supportLists]--><span style="color: #002060; font-family: symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-fareast-language: EN-IN;"><span style="mso-list: Ignore;">·<span style="font: 7pt "times new roman";"> </span></span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Queue Trigger<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="background: white; line-height: normal; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt; vertical-align: baseline;"><!--[if !supportLists]--><span style="color: #002060; font-family: symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-fareast-language: EN-IN;"><span style="mso-list: Ignore;">·<span style="font: 7pt "times new roman";"> </span></span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Timer Trigger<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="background: white; line-height: normal; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt; vertical-align: baseline;"><!--[if !supportLists]--><span style="color: #002060; font-family: symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-fareast-language: EN-IN;"><span style="mso-list: Ignore;">·<span style="font: 7pt "times new roman";"> </span></span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Event Trigger<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="background: white; line-height: normal; mso-add-space: auto; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: -18pt; vertical-align: baseline;"><!--[if !supportLists]--><span style="color: #002060; font-family: symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-fareast-language: EN-IN;"><span style="mso-list: Ignore;">·<span style="font: 7pt "times new roman";"> </span></span></span><!--[endif]--><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Http Trigger<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><b><span style="border: 1pt none; color: #002060; font-size: 14pt; mso-bidi-font-family: "Times New Roman"; mso-border-alt: none windowtext 0cm; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; padding: 0cm;">Azure Logic App pricing:</span></b><span style="color: #002060; font-size: 14pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Azure Logic App Pricing is completely
based on executions of triggers, actions, and connectors.<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Actions – $0.000025/ Exec<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Standard Connector – $0.000125/ Exec<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Enterprise Connector – $0.001/ Exec<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">For the Integration Service
Environment (ISE), the pricing counts on the base unit and scale unit. For
Integration account with Logic App B2B, the pricing will vary based on the
tiers<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Basic – $0.42/ Hr<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Standard – $1.37/ Hr<o:p></o:p></span></p><p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><font color="#002060">Learn more... </font></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060;"><a href="https://azure.microsoft.com/en-in/pricing/details/logic-apps/" target="_blank"><span style="background: white; border: 1pt none; color: #002060; mso-border-alt: none windowtext 0cm; padding: 0cm;">https://azure.microsoft.com/en-in/pricing/details/logic-apps/</span></a></span><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;"><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><b><span style="color: #002060; font-size: 14pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;"><br /></span></b></p><p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><b><span style="color: #002060; font-size: 14pt; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Azure Blob Storage
& Pricing:</span></b></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; line-height: normal; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">Block blob storage is used for
streaming and storing documents, videos, pictures, backups, and other
unstructured text or binary data.</span><br style="box-sizing: inherit; color: rgba(0, 0, 0, 0.9); line-height: inherit;" />
<br style="box-sizing: inherit; color: rgba(0, 0, 0, 0.9); line-height: inherit;" /></p><p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; line-height: normal; vertical-align: baseline;"><span style="color: #002060; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN;">The total cost of block blob storage
depends on:</span></p><p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; line-height: normal; vertical-align: baseline;"><span style="color: #002060;">The volume of data stored per month.</span></p><p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; line-height: normal; vertical-align: baseline;"><span style="color: #002060; font-family: calibri, sans-serif; font-size: 11pt; line-height: 107%; mso-ansi-language: EN-IN; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-hansi-theme-font: minor-latin;">Quantity and types of operations performed, along with any data transfer
costs.</span></p><p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; line-height: normal; vertical-align: baseline;"><span style="color: #002060;">Data redundancy option selected.</span></p><p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span style="color: #002060;">Learn more... </span></p>
<p class="MsoNormal" style="background: white; line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; vertical-align: baseline;"><span class="MsoHyperlink"><span style="background: white; border: 1pt none; color: #002060; mso-border-alt: none windowtext 0cm; padding: 0cm;"><a href="https://azure.microsoft.com/en-us/pricing/details/storage/blobs/"><span style="color: #002060;">https://azure.microsoft.com/en-us/pricing/details/storage/blobs/</span></a><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color: #002060;"><o:p> </o:p></span></p><br /><p></p>Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-29894837535891798992020-06-26T18:43:00.002+05:302020-06-27T00:17:54.444+05:30Welcome Folks!! Join My AX/D365 F&O User Group <div class="separator" style="clear: both; text-align: center;"><a href="https://www.linkedin.com/groups/13880013/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"><img border="0" data-original-height="438" data-original-width="972" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLzHvRXAt8ns5IjzqefU2RKpL3JHYtXnHZUUPeX1ipVyafsmkGLxtWU0SuA5XQJTilQjJZCXBJ0hvaSBdrZ7Rf4gV1WICuaNHEWnPq4cCngGJSSkYdeBOLwqeZiBo3mJXpA5XI4WA56pGQ/w625-h281/LinkedInUserPic.jpg" width="625" /></a></div> https://www.linkedin.com/groups/13880013/
Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com0tag:blogger.com,1999:blog-2614431379943400833.post-91301313024758264652020-04-29T20:22:00.001+05:302020-04-29T20:24:11.815+05:30D365 F&O: Change Theme/Color Per Legal Entity/Company<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpMsPrplqKv3xeswJs9l8WEdB8CCEeHa_hdVGDFzrkfD3i9QDtjkAeLuKCD-9vIXgPiqQBMP3MSXipl2zUHF9F7T7tGZ4aq9U16pQvSCGTxZaTMuQlBrH7EEP2DkJiUGOkEHW9Z0c6qBZY/s1600/7.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="555" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpMsPrplqKv3xeswJs9l8WEdB8CCEeHa_hdVGDFzrkfD3i9QDtjkAeLuKCD-9vIXgPiqQBMP3MSXipl2zUHF9F7T7tGZ4aq9U16pQvSCGTxZaTMuQlBrH7EEP2DkJiUGOkEHW9Z0c6qBZY/s1600/7.png" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpMsPrplqKv3xeswJs9l8WEdB8CCEeHa_hdVGDFzrkfD3i9QDtjkAeLuKCD-9vIXgPiqQBMP3MSXipl2zUHF9F7T7tGZ4aq9U16pQvSCGTxZaTMuQlBrH7EEP2DkJiUGOkEHW9Z0c6qBZY/s1600/7.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpMsPrplqKv3xeswJs9l8WEdB8CCEeHa_hdVGDFzrkfD3i9QDtjkAeLuKCD-9vIXgPiqQBMP3MSXipl2zUHF9F7T7tGZ4aq9U16pQvSCGTxZaTMuQlBrH7EEP2DkJiUGOkEHW9Z0c6qBZY/s1600/7.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864;">Folks, I am going to discuss a beautiful feature out there in
standard F&O – where you can change the Colour/Theme of the Forms/UI as per
your choice. (Options (Top right gear icon) >> User options)</span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<div class="MsoNormal">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEQMoySvMj2ms2GYxSNOvQzY7w3OLM0G_4MG82aPwtxixMgk6yrMDDQmbVURcd65IZuOj6ICA8o3I9zinVX58U4UZFk4FBoFAtV6D7PAJu-6n_-JK6nRDFO1wf-KkjvoSJydlao7kOTt2B/s1600/1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="564" data-original-width="1044" height="345" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEQMoySvMj2ms2GYxSNOvQzY7w3OLM0G_4MG82aPwtxixMgk6yrMDDQmbVURcd65IZuOj6ICA8o3I9zinVX58U4UZFk4FBoFAtV6D7PAJu-6n_-JK6nRDFO1wf-KkjvoSJydlao7kOTt2B/s640/1.png" width="640" /></a><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><br /></span></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
H<span style="color: #203864;">ave you ever thought if you can change the Theme as per company/Legal
entity? </span><span style="color: #203864; font-size: 14pt; line-height: 107%;">Yes</span><span style="color: #203864;">, that too possible with
few code/objects enhancement/tweaking under Forms/Tables/Classes.</span><br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;">I would provide you with very simple steps to incorporate that in your
VS – X++ objects/Codes – <o:p></o:p></span></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
</div>
<ul style="text-align: left;">
<li><span style="color: #203864; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span></span><!--[endif]--><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;">Colours/Theme applied is one of the values from </span><b><span style="color: #203864; font-size: 12.0pt; line-height: 107%;">SysUserInfoTheme</span></b><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"> Base Enum. <o:p></o:p></span></li>
<li><span style="color: #203864; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span></span><!--[endif]--><b><span style="color: #203864; font-size: 14.0pt; line-height: 107%;">appl</span></b><span style="color: #203864; font-size: 14.0pt; line-height: 107%;">.<b>setTheme</b></span><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"> is the crux – it will handle the application colour theme. <o:p></o:p></span></li>
<li><span style="color: #203864; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span></span><!--[endif]--><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;">Subscribe to the </span><b><span style="color: #203864; font-size: 12.0pt; line-height: 107%;">onSetDefaultCompany</span></b><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"> delegate of Application
class. <o:p></o:p></span></li>
<li><span style="color: #203864; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span></span><!--[endif]--><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;">Update the Theme value to CompanyInfo new field: <o:p></o:p></span></li>
<li><span style="color: #203864; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";">
</span></span></span><!--[endif]--><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;">Below code will help implement the functionality <o:p></o:p></span></li>
</ul>
<div>
<span style="color: #203864;"><br /></span></div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9iErQugdK8GPlygxSA_tAhiD_-Zt2YcBP8i2C2hSDa1DZfJn48PlFgM8EthFOXQExR_k-0em6Do1HaslcJPaj8tceyHPIRMeSrduz-Ipax9h4zPAcY8VBzOjQPWKap0eiokAFA_prlvGC/s1600/3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="499" data-original-width="1265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9iErQugdK8GPlygxSA_tAhiD_-Zt2YcBP8i2C2hSDa1DZfJn48PlFgM8EthFOXQExR_k-0em6Do1HaslcJPaj8tceyHPIRMeSrduz-Ipax9h4zPAcY8VBzOjQPWKap0eiokAFA_prlvGC/s1600/3.png" /></a><span style="color: #203864;"><br /></span></div>
<div>
<span style="color: #203864;"><br /></span></div>
<!--[if !supportLists]--><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcUGpFUkDh7RERxfoepLHx1P_eX3gvEw2oRoLToY8xQe_6H-n1jVhGQugVJyFxQ6BPM2fDJKxZh_V2Zff7Jhzs-Mv7wOS3etd5zOcMm7Tw-Ngourm6a7UpWyURzWAgXwo9EKWPGwfWHL2T/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="605" data-original-width="782" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcUGpFUkDh7RERxfoepLHx1P_eX3gvEw2oRoLToY8xQe_6H-n1jVhGQugVJyFxQ6BPM2fDJKxZh_V2Zff7Jhzs-Mv7wOS3etd5zOcMm7Tw-Ngourm6a7UpWyURzWAgXwo9EKWPGwfWHL2T/s1600/2.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuOE0ygBNgINfL4OgTIHoE-pyvPhe9hzUtsQP2mLEgVNr-h-enuLtn-_OkA_ArgiaarE_F8mBtjwnxm7sxsaWcyMQgy468OwviNr7IeFmtXhbCqSad9R4IFD0N_ItMBUJEnqIT7sCxLuPJ/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="689" data-original-width="1600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuOE0ygBNgINfL4OgTIHoE-pyvPhe9hzUtsQP2mLEgVNr-h-enuLtn-_OkA_ArgiaarE_F8mBtjwnxm7sxsaWcyMQgy468OwviNr7IeFmtXhbCqSad9R4IFD0N_ItMBUJEnqIT7sCxLuPJ/s1600/5.png" /></a></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--><span style="color: #203864; mso-ascii-font-family: Calibri; mso-bidi-font-family: Calibri; mso-fareast-font-family: Calibri; mso-hansi-font-family: Calibri; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><span style="mso-list: Ignore;">-<span style="font: 7.0pt "Times New Roman";"> </span></span></span></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><o:p><br /></o:p></span></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<br /></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: double #5B9BD5 1.5pt; mso-border-themecolor: accent5; padding: 0cm 5.4pt 0cm 5.4pt; width: 450.8pt;" valign="top" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">class</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> VTOMLegalEntityEventHandlers<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>[</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">SubscribesTo</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(</span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">classStr</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">Application</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">), </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">delegateStr</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">Application</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">, onSetDefaultCompany))]<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">public</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">static</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">void</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> Application_onSetDefaultCompany()<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>appl.setTheme(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">CompanyInfo</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">::find().VTCompanyTheme);<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>[</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">FormControlEventHandler</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(</span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">formControlStr</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">OMLegalEntity</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">, CompanyThemeControl), </span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">FormControlEventType</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">::SelectionChanged)]<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">public</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">static</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">void</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> CompanyThemeControl_OnSelectionChanged(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">FormControl</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> sender, </span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">FormControlEventArgs</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> e)<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">FormListBoxControl</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> listBox =
sender;<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">FormRun</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> fr = sender.formRun();<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">FormDataSource</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> companyInfo_ds =
fr.dataSource(</span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">formDataSourceStr</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">OMLegalEntity</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">, CompanyInfo));<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>companyInfo_ds.write();<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>appl.setTheme(listBox.selection());<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;">}</span><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<br />
<br />
<div class="MsoNormal">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFoU8xQ6dVUl1Cd_k6d0OLbg3eqADPoNciLO302XX2euH_l3OTxkOqLx0A4Mb1kL0mQUw6OD5kxHvdnGSsLyF9ICmqyvHcj2bkEDv_rBrF93SrOIq6nrREi5x2RjPlVO2Psfyi1oEpD3jW/s1600/8.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="525" data-original-width="1133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFoU8xQ6dVUl1Cd_k6d0OLbg3eqADPoNciLO302XX2euH_l3OTxkOqLx0A4Mb1kL0mQUw6OD5kxHvdnGSsLyF9ICmqyvHcj2bkEDv_rBrF93SrOIq6nrREi5x2RjPlVO2Psfyi1oEpD3jW/s1600/8.png" /></a><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><o:p> </o:p></span></div>
<div class="MsoNormal">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-vWVIiWGyGIMmHekyIluO4BB_MsAjaf2_b0Khgyb-oHTaG6mbuEdBXhDnkmuOWBMfoFXPG_UTzazRCE9E41N93Hdq_Bk-j_gRJSsaVn58kgD8kJgQKmhgHSqBvyA48l_Pjeh_kft3dzWM/s1600/9.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="562" data-original-width="1109" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-vWVIiWGyGIMmHekyIluO4BB_MsAjaf2_b0Khgyb-oHTaG6mbuEdBXhDnkmuOWBMfoFXPG_UTzazRCE9E41N93Hdq_Bk-j_gRJSsaVn58kgD8kJgQKmhgHSqBvyA48l_Pjeh_kft3dzWM/s1600/9.png" /></a><span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><o:p> </o:p></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><o:p><br /></o:p></span></div>
<div class="MsoNormal">
<span style="color: #203864; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #203864; mso-style-textfill-fill-colortransforms: lumm=50000; mso-style-textfill-fill-themecolor: accent1; mso-themecolor: accent1; mso-themeshade: 128;"><o:p><br /></o:p></span></div>
<br /></div>
Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com9tag:blogger.com,1999:blog-2614431379943400833.post-80808785651491219942020-04-13T22:59:00.002+05:302020-04-13T22:59:58.405+05:30D365 F&O: Action Message – Latest feature <div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal">
<span style="color: #002060;">Hey Folks, </span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">I know many of us were waiting
for this cool feature where we could go land to the action (main form/details)
page of the message – which gets notify during your work process in the
notification area. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Yes, with this you can link the
info messages to a menu item and finally navigate to the corresponding records.
<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">It’s possible via API –
“Message”. The <b>Message()</b> API gives you more control over the
lifecycle of a message by allowing you to explicitly add and remove messages. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkuZLcqsFu1Pww0uXVLMgPlKCJD-j_fmF4MBT8aFhcBcgqAEIe9ke3D5ch-dBL2GEZH_wVeMDfDTkGXJzy754Elmxgjji4plP_B5fYxgbHVmRIjnatjvrBMElsEkLpPjTlYu1KIoeEjv9t/s1600/ActionMessage4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="375" data-original-width="1224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkuZLcqsFu1Pww0uXVLMgPlKCJD-j_fmF4MBT8aFhcBcgqAEIe9ke3D5ch-dBL2GEZH_wVeMDfDTkGXJzy754Elmxgjji4plP_B5fYxgbHVmRIjnatjvrBMElsEkLpPjTlYu1KIoeEjv9t/s1600/ActionMessage4.png" /></a></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<br />
<br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 450.8pt;" valign="top" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">public</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">static</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">void</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> main(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">Args</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> _args)<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>VendTable
vendTable = VendTable::find(</span><span style="color: darkred; font-family: "consolas"; font-size: 9.5pt;">'1001'</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">MenuItemMessageAction</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> actionData =
</span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">new</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">MenuItemMessageAction</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">();<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>actionData.MenuItemName(</span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">menuItemDisplayStr</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(VendTable));<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>actionData.TableName(</span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">tableStr</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(VendTable));<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>actionData.RecId(vendTable.RecId);<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">str</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> jsonData = </span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">FormJsonSerializer</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">::serializeClass(actionData);<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">int64</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> messageId = </span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">Message</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">::AddAction(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">MessageSeverity</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">::Informational,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: darkred; font-family: "consolas"; font-size: 9.5pt;">"Vendor information"</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>vendTable.name(),
</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">MessageActionType</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">::DisplayMenuItem,
jsonData);<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><o:p></o:p></div>
</td>
</tr>
</tbody></table>
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPNaihk0hUgjDiWQcbh77ertkvjHWMfXZHJ_sz8NEWq5eEFIBV6tshpsBwPMxMCbKRvrqcEDsSF_Lm2oCBatzXZ4NGdr1vgjpFaR-5vMoWr5wxu9pse5f0ohju2YbyUXZY6Eua52tqrl7d/s1600/ActionMessage2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="265" data-original-width="1121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPNaihk0hUgjDiWQcbh77ertkvjHWMfXZHJ_sz8NEWq5eEFIBV6tshpsBwPMxMCbKRvrqcEDsSF_Lm2oCBatzXZ4NGdr1vgjpFaR-5vMoWr5wxu9pse5f0ohju2YbyUXZY6Eua52tqrl7d/s1600/ActionMessage2.png" /></a></div>
<br />
<br />
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Also, did you ever ponder – how can
you remove the Infolog in D365 F&O ?</span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Using traditional way – Infolog.clear(…)?
This sometimes won’t work as expected. </span><span style="color: #002060;">Hence, you can use the
MessageId(Int64) field to be captured and removed using the message API.</span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<b><span style="color: #002060; font-size: 14.0pt; line-height: 107%;">Message::Remove(messageId)<o:p></o:p></span></b></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #002060;">Sample code:</span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
</table>
<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;">[</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">ExtensionOf</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(</span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">formStr</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">VendTable</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">))]<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">final</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">class</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> VLSVendTableForm_Extension<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">public</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">static</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">RefRecId</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> messageId;<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">public</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> </span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">void</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> init()<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span style="color: dodgerblue; font-family: "consolas"; font-size: 9.5pt;">next</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;"> init();<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>messageId = </span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">Message</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">::Add(</span><span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">MessageSeverity</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">::Warning, </span><span style="color: darkred; font-family: "consolas"; font-size: 9.5pt;">"Extension of vendor form"</span><span style="color: black; font-family: "consolas"; font-size: 9.5pt;">);<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: black; font-family: "consolas"; font-size: 9.5pt;"><br /></span></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;"></table>
<div class="MsoNormal">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjn6wx-NmIvfNU7mj8PGbqI6MmHo5JHJT_tGWxj9W05ulrP7Qa7eqSU7VHK1emd1QLrKklPnzl3_UXniNF2tSH_RKAlGvN-3JMSySs2z7LYYeLn-PPbrsX6KOAVy4V33qT8mdl8ADEf4iK/s1600/ActionMessage3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="494" data-original-width="963" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjn6wx-NmIvfNU7mj8PGbqI6MmHo5JHJT_tGWxj9W05ulrP7Qa7eqSU7VHK1emd1QLrKklPnzl3_UXniNF2tSH_RKAlGvN-3JMSySs2z7LYYeLn-PPbrsX6KOAVy4V33qT8mdl8ADEf4iK/s1600/ActionMessage3.png" /></a><o:p> </o:p></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 450.8pt;" valign="top" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<span style="color: darkcyan; font-family: "consolas"; font-size: 9.5pt;">Message</span><span style="font-family: "consolas"; font-size: 9.5pt;">::Remove(messageId);</span><o:p></o:p></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<br /></div>
<br /></div>
Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com1tag:blogger.com,1999:blog-2614431379943400833.post-56128075000940808432020-04-07T23:27:00.003+05:302020-04-07T23:27:38.382+05:30D365 F&O: Saved views (Feature management) <div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLmv78UjOxqn-koUH_-YKrokGRPE_uwH7UQfNvYbjaqXj5Uf6pxJuInLIZupSy-C_qJp5_MjLF3mnonuR5zlLdIUrGtEFViGCsfs4ILmtyJC1xZh72onuLtsNuLF8RInrmoDkF3FGD9lQC/s1600/Saved+views1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="575" data-original-width="1217" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLmv78UjOxqn-koUH_-YKrokGRPE_uwH7UQfNvYbjaqXj5Uf6pxJuInLIZupSy-C_qJp5_MjLF3mnonuR5zlLdIUrGtEFViGCsfs4ILmtyJC1xZh72onuLtsNuLF8RInrmoDkF3FGD9lQC/s640/Saved+views1.png" width="640" /></a></div>
<br />
<br />
<div class="MsoNormal">
<span style="color: #002060;">Hello Folks,<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Here I’m with a new feature in D365
FinOps – Feature Management: Saved Views<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;">What’s Saved Views... ?? <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<i><span lang="EN-US" style="color: #002060; font-size: 14.0pt; line-height: 107%; mso-ansi-language: EN-US;">Extensions of the form
personalization capabilities </span></i><i><span style="color: #002060; font-size: 14.0pt; line-height: 107%;"><o:p></o:p></span></i></div>
<div class="MsoNormal">
<i><span lang="EN-US" style="color: #002060; font-size: 14.0pt; line-height: 107%; mso-ansi-language: EN-US;"><br /></span></i></div>
<div class="MsoNormal">
<span style="color: #002060;">I’m sure most of us do the
personalization on the pages – like on the forms or grids and you will be able
to Hide, Add, or Move fields on a form. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5C79euPWoxUBBHP9J5RgDmfDRNsmc7r_-aCvHVLIjkXikX4oL3np4GvtWvK5yQZOptaGtOtLlQgV1ATNtKF4rEtR_DHZ5m25KxAWiIx7Kn2MFwdZy3mYIbkle87lTAhzF-RfJw6PK0Hrz/s1600/SavedViewed2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="390" data-original-width="1597" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5C79euPWoxUBBHP9J5RgDmfDRNsmc7r_-aCvHVLIjkXikX4oL3np4GvtWvK5yQZOptaGtOtLlQgV1ATNtKF4rEtR_DHZ5m25KxAWiIx7Kn2MFwdZy3mYIbkle87lTAhzF-RfJw6PK0Hrz/s1600/SavedViewed2.png" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF_NJqxxeHRjY2uVhuBKKFkeU57xkyWz1_R9YIhniFK906bEn-BpiLMUiHWBCT3uEmW3WWRgOC8l3fEaZhjWFMOIZea2nDd8jInyEObrqggY6yjqO5Nc6w3t1bY3TvbBNVPkaFGG8tZ3Nf/s1600/SavedViewed3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="611" data-original-width="1334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF_NJqxxeHRjY2uVhuBKKFkeU57xkyWz1_R9YIhniFK906bEn-BpiLMUiHWBCT3uEmW3WWRgOC8l3fEaZhjWFMOIZea2nDd8jInyEObrqggY6yjqO5Nc6w3t1bY3TvbBNVPkaFGG8tZ3Nf/s1600/SavedViewed3.png" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxA_AmabgD8EHa3Zu4DC0kbrAX-3iYAfYmbaann2AxWB3V1mZaUs1t9dDisW4qz5zQ9ZSed9QsvBc97G02Bl6UH_gIjXufGbkELKhkMFHjS0zKhAxjs0-yxSkZRtJZyT9aEsqNFwxKa-st/s1600/SavedViewed4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="561" data-original-width="1450" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxA_AmabgD8EHa3Zu4DC0kbrAX-3iYAfYmbaann2AxWB3V1mZaUs1t9dDisW4qz5zQ9ZSed9QsvBc97G02Bl6UH_gIjXufGbkELKhkMFHjS0zKhAxjs0-yxSkZRtJZyT9aEsqNFwxKa-st/s1600/SavedViewed4.png" /></a></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">But have your thought if you can
save that personalization in AX or If you can create a multiple personalization
for a single form and then toggle whenever as per client need??<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Well, with the help of saved
views feature, you could easily achieve this... <span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><span style="mso-spacerun: yes;"><br /></span></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Now, to enable this feature –
navigate to SysAdmin >> Feature management and you can search Saved views
and hit Enable. – that’s ALL <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Now when you go back to your
forms – Sales order, Customer, Vendors or All Projects – you would be able to
view the new feature embed. There you go – Screenshot shows how views can be
stored and then be published. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6PWE9esVFEBN3d_XlJCLNFqERDaHiPBIYAo_fPQtl44uSq88XIM4sp8C1crOE4eRAmV-_8rcY-BEE3QAXgguoSHpyxRLTpfWuV9vfEFAKEC-GjHFSZHEdQRWDSpPQV6-ETkFbl1fdxBr_/s1600/SavedViewed5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="518" data-original-width="1420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6PWE9esVFEBN3d_XlJCLNFqERDaHiPBIYAo_fPQtl44uSq88XIM4sp8C1crOE4eRAmV-_8rcY-BEE3QAXgguoSHpyxRLTpfWuV9vfEFAKEC-GjHFSZHEdQRWDSpPQV6-ETkFbl1fdxBr_/s1600/SavedViewed5.png" /></a></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">The best part of the saved views
is – it can also be published and shared with the user and role level as shown
in the screenshot. </span><span style="color: #002060;"> </span></div>
<br /></div>
Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com2tag:blogger.com,1999:blog-2614431379943400833.post-24039202733570766352020-03-16T18:12:00.001+05:302020-03-16T18:12:51.274+05:30D365 F&O: App checker (Build your code as per MS standards)<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUBZ-voIbHO-uOubs3gSCyw03OROMy_F40CNfqQQeULvJbTonPoSYefT31cOKV_IiLLrOs5s5gfZGSUvhEg9mAZdeFlqKYMaTJntXdLEyMcWT_sFA1cMJN3rzHY5ZkcIbc5f6mPQyj_e75/s1600/App+checker2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="450" data-original-width="800" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUBZ-voIbHO-uOubs3gSCyw03OROMy_F40CNfqQQeULvJbTonPoSYefT31cOKV_IiLLrOs5s5gfZGSUvhEg9mAZdeFlqKYMaTJntXdLEyMcWT_sFA1cMJN3rzHY5ZkcIbc5f6mPQyj_e75/s640/App+checker2.png" width="640" /></a><span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Folks, Today I would like to
shed some light on D365 Fin Ops – App checker (checkbox) under the build model
dialog form in Visual studio [>></span><i style="color: #002060;">Only for Developers</i><span style="color: #002060;"><<]</span></div>
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #002060;">Dynamics 365 -> Build Models
-> Options tab -> Run App Checks<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLY8EkXhjsHAHCWnzqfirYlHavx5QHuvBHLHvU5nHBHgGCZEX0b2XwSDpJt7k5cuzLy9xqtegWtbMQFzS9DzIiKmDvWp3Lqgc-4Wq8EBIi4dVV-8mgbwGqpDhBSPGNR2fye3wP9OS3xJt/s1600/appchek.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="260" data-original-width="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQLY8EkXhjsHAHCWnzqfirYlHavx5QHuvBHLHvU5nHBHgGCZEX0b2XwSDpJt7k5cuzLy9xqtegWtbMQFzS9DzIiKmDvWp3Lqgc-4Wq8EBIi4dVV-8mgbwGqpDhBSPGNR2fye3wP9OS3xJt/s1600/appchek.png" /></a></div>
<br />
<div class="MsoNormal">
<span style="color: #002060;">What does ‘Run app checks” do?
Yes, you are thinking it right </span><span style="color: #002060; font-family: "Segoe UI Emoji",sans-serif; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol-ext; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: "Segoe UI Emoji";">😊</span><span style="color: #002060;"> – When you mark ‘Run app checks’ flag to true during the
build process of the selected model - System will do the analysis over the
custom code to check if it meets Microsoft coding standard and provide you the
list of errors/warnings if it doesn’t pass all the standards. Isn’t that
interesting? <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;">So, finally, we can say - <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;">** </span><i><span style="color: #002060; font-size: 12.0pt; line-height: 107%;">If you do not meet the
coding standards your solution will not build</span></i><span style="color: #002060;"> ** <o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #002060;">However, you need to have
mandatory installation of BaseX to utilize App checker functionality.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Below table will provide you
more insights.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTable15Grid4Accent6" style="border-collapse: collapse; border: none; mso-border-alt: solid #A8D08D .5pt; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="background: #70AD47; border-right: none; border: solid #70AD47 1.0pt; mso-background-themecolor: accent6; mso-border-bottom-alt: solid #70AD47 .5pt; mso-border-bottom-themecolor: accent6; mso-border-left-alt: solid #70AD47 .5pt; mso-border-left-themecolor: accent6; mso-border-themecolor: accent6; mso-border-top-alt: solid #70AD47 .5pt; mso-border-top-themecolor: accent6; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 5; text-align: center;">
<b><span style="color: #002060;">Topics<o:p></o:p></span></b></div>
</td>
<td style="background: #70AD47; border-left: none; border: solid #70AD47 1.0pt; mso-background-themecolor: accent6; mso-border-bottom-alt: solid #70AD47 .5pt; mso-border-bottom-themecolor: accent6; mso-border-right-alt: solid #70AD47 .5pt; mso-border-right-themecolor: accent6; mso-border-themecolor: accent6; mso-border-top-alt: solid #70AD47 .5pt; mso-border-top-themecolor: accent6; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 1; text-align: center;">
<b><span style="color: #002060;">URL<o:p></o:p></span></b></div>
</td>
</tr>
<tr>
<td style="background: #E2EFD9; border-top: none; border: solid #A8D08D 1.0pt; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid #A8D08D .5pt; mso-border-themecolor: accent6; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: 107%; margin-bottom: 8.0pt; mso-yfti-cnfc: 68;">
<b><span style="color: #002060;">Install BaseX for Application Checker<o:p></o:p></span></b></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 68;">
<br /></div>
</td>
<td style="background: #E2EFD9; border-bottom: solid #A8D08D 1.0pt; border-left: none; border-right: solid #A8D08D 1.0pt; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid #A8D08D .5pt; mso-border-bottom-themecolor: accent6; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #A8D08D .5pt; mso-border-left-themecolor: accent6; mso-border-left-themetint: 153; mso-border-right-themecolor: accent6; mso-border-right-themetint: 153; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 64;">
<span style="color: #002060;"><a href="https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-tools/install-basex?tabs=admin">https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-tools/install-basex?tabs=admin<o:p></o:p></a></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 64;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid #A8D08D 1.0pt; mso-border-alt: solid #A8D08D .5pt; mso-border-themecolor: accent6; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 4;">
<br /></div>
</td>
<td style="border-bottom: solid #A8D08D 1.0pt; border-left: none; border-right: solid #A8D08D 1.0pt; border-top: none; mso-border-alt: solid #A8D08D .5pt; mso-border-bottom-themecolor: accent6; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #A8D08D .5pt; mso-border-left-themecolor: accent6; mso-border-left-themetint: 153; mso-border-right-themecolor: accent6; mso-border-right-themetint: 153; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<br /></div>
</td>
</tr>
<tr>
<td style="background: #E2EFD9; border-top: none; border: solid #A8D08D 1.0pt; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid #A8D08D .5pt; mso-border-themecolor: accent6; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 68;">
<b><span style="color: #002060;">BaseX download<o:p></o:p></span></b></div>
</td>
<td style="background: #E2EFD9; border-bottom: solid #A8D08D 1.0pt; border-left: none; border-right: solid #A8D08D 1.0pt; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid #A8D08D .5pt; mso-border-bottom-themecolor: accent6; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #A8D08D .5pt; mso-border-left-themecolor: accent6; mso-border-left-themetint: 153; mso-border-right-themecolor: accent6; mso-border-right-themetint: 153; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 64;">
<a href="http://basex.org/download/">http://basex.org/download/</a><span style="color: #002060;"><o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid #A8D08D 1.0pt; mso-border-alt: solid #A8D08D .5pt; mso-border-themecolor: accent6; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 4;">
<br /></div>
</td>
<td style="border-bottom: solid #A8D08D 1.0pt; border-left: none; border-right: solid #A8D08D 1.0pt; border-top: none; mso-border-alt: solid #A8D08D .5pt; mso-border-bottom-themecolor: accent6; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #A8D08D .5pt; mso-border-left-themecolor: accent6; mso-border-left-themetint: 153; mso-border-right-themecolor: accent6; mso-border-right-themetint: 153; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<br /></div>
</td>
</tr>
<tr>
<td style="background: #E2EFD9; border-top: none; border: solid #A8D08D 1.0pt; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid #A8D08D .5pt; mso-border-themecolor: accent6; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 68;">
<b><span style="color: #002060;">Repository supporting
the D365 F&O app checker <o:p></o:p></span></b></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 68;">
<br /></div>
</td>
<td style="background: #E2EFD9; border-bottom: solid #A8D08D 1.0pt; border-left: none; border-right: solid #A8D08D 1.0pt; border-top: none; mso-background-themecolor: accent6; mso-background-themetint: 51; mso-border-alt: solid #A8D08D .5pt; mso-border-bottom-themecolor: accent6; mso-border-bottom-themetint: 153; mso-border-left-alt: solid #A8D08D .5pt; mso-border-left-themecolor: accent6; mso-border-left-themetint: 153; mso-border-right-themecolor: accent6; mso-border-right-themetint: 153; mso-border-themecolor: accent6; mso-border-themetint: 153; mso-border-top-alt: solid #A8D08D .5pt; mso-border-top-themecolor: accent6; mso-border-top-themetint: 153; padding: 0cm 5.4pt 0cm 5.4pt; width: 225.4pt;" valign="top" width="301">
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-yfti-cnfc: 64;">
<a href="https://github.com/microsoft/Dynamics365FO-AppChecker">https://github.com/microsoft/Dynamics365FO-AppChecker</a><span style="color: #002060;"><o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
Keep D365Ing <span style="font-family: "Segoe UI Emoji",sans-serif; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol-ext; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: "Segoe UI Emoji";">😊</span> <o:p></o:p></div>
</div>
Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com1tag:blogger.com,1999:blog-2614431379943400833.post-47256438225805765112020-03-12T12:49:00.000+05:302020-03-12T12:49:12.357+05:30D365 F&O: Cleanup routines (Periodic tasks in F&O)<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvaY_ajVnKMq6UporlvN_7wv8jl1AwF3BGF_B_byblGXJV9FiewHs4Pri0yRgluIxvL9EFmbkBsVTso-f2Qe-DiG4p3e0T9F-Q6npRl5Ge_KdaUHLqcAwhLbPIOe8P8vRzCHP8f4Ww21Dj/s1600/Cleanup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="291" data-original-width="745" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvaY_ajVnKMq6UporlvN_7wv8jl1AwF3BGF_B_byblGXJV9FiewHs4Pri0yRgluIxvL9EFmbkBsVTso-f2Qe-DiG4p3e0T9F-Q6npRl5Ge_KdaUHLqcAwhLbPIOe8P8vRzCHP8f4Ww21Dj/s640/Cleanup.png" width="640" /></a></div>
<br />
<div class="MsoNormal" style="line-height: 30.0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;">
</div>
<div class="MsoNormal" style="line-height: 30.0pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 3;">
<span style="background-color: white; color: #002060; font-size: 10pt;"><br /></span>
<span style="background-color: white; color: #002060; font-size: 10pt;">In Dynamics 365 for Finance and Operations cleanup
routines are available across various modules within the product. </span><b style="background-color: white; color: #002060; font-size: 10pt;">It is
important to note that these cleanup routines should be only executed after
detailed analysis and confirmation from the business this data is no longer
needed. Also always test each routine first in a test environment prior to executing
it in production.</b><span style="background-color: white; color: #002060; font-size: 10pt;"> This article provides an overview of what is
available today.</span></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<b><span style="color: #002060; font-size: 10.0pt;">System administration</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #E1E1E1; mso-cellspacing: 0cm; mso-padding-alt: 1.25pt 1.25pt 1.25pt 1.25pt; mso-yfti-tbllook: 1184; width: 100%px;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Module</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Path</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Description</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">System administration<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Notification clean up<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to periodically delete records from tables EventInbox and
EventInboxData. Recommendation would also be if you don’t use Alert
functionality to disable Alert from Batch job.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">System administration<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Batch job history clean-up<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">The regular version of batch job history clean-up allows you to
quickly clean all history entries older than a specified timeframe (in days).
Any entry that was created prior to – will be deleted from
the BatchJobHistory table, as well as from linked tables with related
records (BatchHistory and BatchConstraintsHistory). This form has
improved performance optimization because it doesn’t have to execute any
filtering.<br style="mso-special-character: line-break;" />
<!--[if !supportLineBreakNewLine]--><br style="mso-special-character: line-break;" />
<!--[endif]--><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">System administration<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Batch job history clean-up (custom)<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">The custom batch job clean-up form should be used only when specific
entries need to be deleted. This form allows you to clean up selected types
of batch job history records, based on criteria such as status, job
description, company, or user. Other criteria can be added using
the Filter button.<br style="mso-special-character: line-break;" />
<!--[if !supportLineBreakNewLine]--><br style="mso-special-character: line-break;" />
<!--[endif]--><o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<b><span style="color: #002060; font-size: 10.0pt;">Data management</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #E1E1E1; mso-cellspacing: 0cm; mso-padding-alt: 1.25pt 1.25pt 1.25pt 1.25pt; mso-yfti-tbllook: 1184; width: 100%px;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Module</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Path</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Description</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Data management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Data management workspace > “Staging cleanup” tile<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Data management framework makes us of staging tables when running data
migration. Once data migration is completed then this data can be deleted
using "Staging cleanup" tile.<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<b><span style="color: #002060; font-size: 10.0pt;">Warehouse management</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #E1E1E1; mso-cellspacing: 0cm; mso-padding-alt: 1.25pt 1.25pt 1.25pt 1.25pt; mso-yfti-tbllook: 1184; width: 100%px;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 114.65pt;" valign="top" width="153"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Module</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 140.1pt;" valign="top" width="187"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Path</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Description</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 114.65pt;" valign="top" width="153"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Warehouse management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 140.1pt;" valign="top" width="187"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Work creation history purge<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to delete work creation history records from
WHSWorkCreateHistory table based on number of days to keep the history
provided on dialog.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 114.65pt;" valign="top" width="153"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Warehouse management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 140.1pt;" valign="top" width="187"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Containerization history purge<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to delete containerization history from
WHSContainerizationHistory table based on number of days to keep the history
provided on dialog.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">
<br /></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 114.65pt;" valign="top" width="153"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Warehouse management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 140.1pt;" valign="top" width="187"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Wave batch cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to clean up batch job history records related to Wave
processing batch group.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 114.65pt;" valign="top" width="153"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Warehouse management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 140.1pt;" valign="top" width="187"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Cycle count plan cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to clean up batch job history records related to Cycle
count plan configurations.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 5;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 114.65pt;" valign="top" width="153"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Warehouse management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 140.1pt;" valign="top" width="187"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Mobile device activity log cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to delete mobile device activity log records from
WHSMobileDeviceActivityLog table based on number of days to keep the history
provided on dialog.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 6; mso-yfti-lastrow: yes;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 114.65pt;" valign="top" width="153"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Warehouse management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 140.1pt;" valign="top" width="187"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Work user session log cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to delete work user session records from
WHSWorkUserSessionLog table based on number of hours to keep provided on
dialog.<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<b><span style="color: #002060; font-size: 10.0pt;">Inventory management</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #E1E1E1; mso-cellspacing: 0cm; mso-padding-alt: 1.25pt 1.25pt 1.25pt 1.25pt; mso-yfti-tbllook: 1184; width: 100%px;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Module</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Path</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Description</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Calculation of location load<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">WMSLocationLoad table is used in tracking weight and volume of items
and pallets. Summation of load adjustments job can be run to reduce the
number of records in the WMSLocationLoad table and improve performance.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Inventory journals cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It is used to delete posted inventory journals.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Inventory settlements cleanup<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<br /></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It is used to group closed inventory transactions or delete canceled
inventory settlements. Cleaning up closed or deleted inventory settlements
can help free system resources.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Do not group or delete inventory settlements too close to the current
date or fiscal year, because part of the transaction information for the
settlements is lost.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Closed inventory transactions cannot be changed after they have been
grouped, because the transaction information for the settlements is lost.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Canceled inventory settlements cannot be reconciled with finance
transactions if canceled inventory settlements are deleted.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Inventory dimensions cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to maintain the InventDim table. To maintain the table,
delete unused inventory dimension combination records that are not referenced
by any transaction or master data. The records are deleted regardless of
whether the transaction is open or closed.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory dimension combination record that is still referenced cannot
be deleted because when an InventDim record is deleted, related transactions
cannot be reopened.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 5;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Dimension inconsistency cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to resolve dimension inconsistencies on inventory
transactions that have been financially updated and closed. Inconsistencies
might be introduced when the multisite functionality was activated during or
before the upgrade process. Use this batch job only to clean up the
transactions that were closed before the multisite functionality was
activated. <b>Do not use this batch job periodically.</b><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 6;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > On-hand entries cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to delete closed and unused entries for on-hand inventory
that is assigned to one or more tracking dimensions. Closed transactions
contain the value of zero for all quantities and cost values, and are marked
as closed. Deleting these transactions can improve the performance of queries
for on-hand inventory. Transactions will not be deleted for on-hand inventory
that is not assigned to tracking dimensions.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 7;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Warehouse management on-hand entries
cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Deletes records in the InventSum and WHSInventReserve tables. These
tables are used to store on-hand information for items enabled for warehouse
management processing (WHS items). Cleaning up these records can lead to
significant improvements of the on-hand calculations.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 8;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > On-hand entries aggregation by
financial dimensions<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Tool to aggregate InventSum rows with zero quantities.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is basically extending the previously mentioned cleanup tool by
also cleaning up records which have field Closed set to True!<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">The reason why this is needed is basically because in certain
scenarios, you might have no more quantities in InventSum for a certain
combination of inventory dimensions, but there is still a value. In some
cases, these values will disappear, but current design does allow values to
remain from time to time.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">If you for example use Batch numbers, each batch number (and the
combined site, warehouse, etc.) creates a new record in InventSum. When the
batch number is sold, you will see quantity fields are set to 0. In most
cases, the Financial/Physical value field is also set to 0, but in Standard
cost revaluation or other scenarios, the value field may show some amount
still. This is valid, and is the way Dynamics 365 for Finance and Operations
handles the costs on Financial inventory level, e.g. site level.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory value is determined in Dynamics 365 for Finance and
Operations by records in InventSum, and in some cases Inventory transactions
(InventTrans) when reporting inventory values in the past. In the above
scenario, this means that when you run inventory value reports, Dynamics 365
for Finance and Operations looks (initially) at InventSum and aggregates all
records to Site level, and reports the value for the item per site. The data
from the individual records on Batch number level are never used. The tool
therefore goes through all InventSum records, finds the ones where there is
no more quantity (No open quantities field is True). There is no reason to
keep these records, so Dynamics 365 for Finance and Operations finds the
record in InventSum for the same item which has the same Site, copies the
values from the Batch number level to the Site level, and deletes the record.
When you now run inventory value reports, Dynamics 365 for Finance and
Operations still finds the same correct values. This reduced number of
InventSum records significantly in some cases, and can have a positive impact
on performance of any function which queries this table. <o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 9; mso-yfti-lastrow: yes;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Inventory management<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Cost calculation details<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Used to clean up cost calculation details.<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<b><span style="color: #002060; font-size: 10.0pt;">General ledger</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #E1E1E1; mso-cellspacing: 0cm; mso-padding-alt: 1.25pt 1.25pt 1.25pt 1.25pt; mso-yfti-tbllook: 1184; width: 100%px;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Module</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Path</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Description</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1; mso-yfti-lastrow: yes;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">General ledger<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up ledger journals<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It deletes general ledger, accounts receivable, and accounts payable
journals that have been posted. When you delete a posted ledger journal, all
information that’s related to the original transaction is removed. You should
delete this information only if you’re sure that you won’t have to reverse
the ledger journal transactions.<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<b><span style="color: #002060; font-size: 10.0pt;">Sales and marketing</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #E1E1E1; mso-cellspacing: 0cm; mso-padding-alt: 1.25pt 1.25pt 1.25pt 1.25pt; mso-yfti-tbllook: 1184; width: 100%px;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Module</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Path</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Description</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Sales and marketing<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Delete sales orders<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It deletes selected sales orders.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Sales and marketing<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Delete quotations<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It deletes selected quotations.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Sales and marketing<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Delete return orders<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It deletes selected return orders.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Sales and marketing<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Sales update history cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It deletes old update history transactions. All updates of
confirmations, picking lists, packing slips, and invoices generate update
history transactions. These transactions ca be viewed in the History on
update form.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 5; mso-yfti-lastrow: yes;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Sales and marketing<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Order events cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Cleanup job for order events. Next step is to remove the not needed
order events check-boxes from Order event setup form.<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<b><span style="color: #002060; font-size: 10.0pt;">Production control</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #E1E1E1; mso-cellspacing: 0cm; mso-padding-alt: 1.25pt 1.25pt 1.25pt 1.25pt; mso-yfti-tbllook: 1184; width: 100%px;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Module</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Path</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Description</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Production control<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Production journals cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It is used to delete unused journals.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Production control<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Production orders cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It is used to delete production orders that are ended.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Production control<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Clean up registrations<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It is recommended to clean up registrations periodically. The clean-up
function does not delete data that is not processed. Make sure that you do
not delete registrations that may be required later for documentation
purposes.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Production control<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 142.25pt;" valign="top" width="190"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Archive future registrations<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 195.75pt;" valign="top" width="261"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It is used to remove future registrations from the raw registrations
table.<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<br /></div>
<div class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 11.25pt;">
<b><span style="color: #002060; font-size: 10.0pt;">Procurement and sourcing</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
<table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="background: #E1E1E1; mso-cellspacing: 0cm; mso-padding-alt: 1.25pt 1.25pt 1.25pt 1.25pt; mso-yfti-tbllook: 1184; width: 100%px;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt; width: 112.5pt;" valign="top" width="150"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Module</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Path</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div align="center" class="MsoNormal" style="line-height: normal; margin: 3.75pt; text-align: center;">
<b><span style="color: #002060; font-size: 10.0pt;">Description</span></b><span style="color: #002060; font-size: 10.0pt;"><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Procurement and sourcing<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Purchase update history cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">This is used to delete all updates of confirmations, picking lists,
product receipts, and invoices generate update history transactions.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Procurement and sourcing<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Delete requests for quotations<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It is used to delete requests for quotation (RFQs) and RFQ
replies. <b>The corresponding RFQ journals are not deleted, but remain
in the system.</b><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes;">
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Procurement and sourcing<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">Periodic tasks > Clean up > Draft consignment replenishment
order journal cleanup<o:p></o:p></span></div>
</td>
<td style="border: solid gray 1.0pt; mso-border-alt: solid gray .75pt; padding: 1.25pt 1.25pt 1.25pt 1.25pt;" valign="top"><div class="MsoNormal" style="line-height: normal; margin: 3.75pt;">
<span style="color: #002060; font-size: 10.0pt;">It is used to cleanup draft consignment replenishment order journals.<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<br />
<br /></div>
Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com3tag:blogger.com,1999:blog-2614431379943400833.post-60250769278728355842020-03-05T23:46:00.001+05:302020-03-05T23:54:16.746+05:30D365 F&O: AddIns/Context Development (Developer Tool) Part I<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal">
<span style="color: #002060;">Hello Folks<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;">I know many of you would have worked
customizing AddIns in AX2009/2012... Yes! I’m talking about the context addIns
and writing your own classes/functions to trigger and very useful for a
developer to save their time during development like Creations of labels, Simple
form creation when right-clicking the table(with the data source and design),
privileges etc.. <o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgElw2f74UCfml6hcHI-1BzrxyNJg2OAci1MXRTg_RZvEXfx3a6aWnuIB9wfAPaVzWag66jvrzZeDi-ZllJHeTov4-GiOF_rALuiHcu9beW0DBpXnJUFFy8AqTdk0NUro2gPBfG0TaZEwwI/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="313" data-original-width="297" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgElw2f74UCfml6hcHI-1BzrxyNJg2OAci1MXRTg_RZvEXfx3a6aWnuIB9wfAPaVzWag66jvrzZeDi-ZllJHeTov4-GiOF_rALuiHcu9beW0DBpXnJUFFy8AqTdk0NUro2gPBfG0TaZEwwI/s400/2.png" width="379" /></a></div>
<br />
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #002060;">Great so far!! Now, Did you ever
think how you can customize AddIns in D365 F&O Visual Studio; <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Today, I would like to focus on
the context menu (Or) Addins development. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;">A lot of great tools have been
added to Microsoft Visual Studio to support development. To make it easier to
create your own add-ins, you can select the </span><b>Dynamics Developer
Tools Add-in</b> project type when you create a new project in Visual
Studio. This project type has the infrastructure that is required to implement
an add-in. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilATdBiMtv2eN-Bytojd9CCEolNvNUhkWS22JTzhssXNtU0mSh2OQ2bvvEsIBdpgPXHmPl0GC9MyaKwpkzjhNjlrnzfZt-zdrQNSsno19s8ZHn2MEnO5VC0kN0ew6Z30w_YSZsi_rebOlu/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="488" data-original-width="821" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilATdBiMtv2eN-Bytojd9CCEolNvNUhkWS22JTzhssXNtU0mSh2OQ2bvvEsIBdpgPXHmPl0GC9MyaKwpkzjhNjlrnzfZt-zdrQNSsno19s8ZHn2MEnO5VC0kN0ew6Z30w_YSZsi_rebOlu/s640/1.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #002060;"><o:p><br /></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;">One of a good example provided
by MS - <a href="https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/user-interface/form-pattern-add-ins" target="_blank">Visual Studio add-ins that support form patterns</a><o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #002060;">You can visit GitHub to explore more
on AddIns development and artifacts to be customized. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;">However, I would love to
showcase an example wherein you can connect with labels reflection classes/metadata
DLL's to trigger the label creation with your own context/addIns tools for
tables, forms, etc. – and that’s all in Part I </span><span style="color: #002060; font-family: "segoe ui emoji" , sans-serif; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol-ext; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: "Segoe UI Emoji";">😊</span><span style="color: #002060;"> <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060; font-family: "segoe ui emoji" , sans-serif; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol-ext; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: "Segoe UI Emoji";"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpTC8Q9iA6wyZlE2ECxOYVdFoCHzWeTDxXsyx2QY348tt4JZwM3z3VqPpYqAfuJmCdb6oNjk3fQjOMxQTjBg8WT9F7d4dOOR9EvSItVigKYpbVYIGq1FCVNc7V-1FdAlAfcS-kscGvSnor/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="471" data-original-width="750" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpTC8Q9iA6wyZlE2ECxOYVdFoCHzWeTDxXsyx2QY348tt4JZwM3z3VqPpYqAfuJmCdb6oNjk3fQjOMxQTjBg8WT9F7d4dOOR9EvSItVigKYpbVYIGq1FCVNc7V-1FdAlAfcS-kscGvSnor/s640/3.png" width="640" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Keep in touch for Part II<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #002060;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #002060;">Happy Daxing!</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<br /></div>
Vishal Tiwarihttp://www.blogger.com/profile/12167496844955377165noreply@blogger.com7