Security Structure in D365
Sélection ultérieure
Client Workspace
Data Types in X++
Two new Microsoft data center regions in Norway will support Azure, Office 365, Dynamics 365
Dynamics 365 for Finance and Operations – What information and data to provide when logging a performance case with Support
There are several ways to approach troubleshooting performance, and the aim of this blog post is to give Customers and Partners some guidance on what information and data to provide when you need help trying to establish why something is “slow”.
QUESTIONS
The sorts of questions we would typically ask include the following:
1) What kind of environment is the performance issue occurring on?
This is relevant because the tools and processes vary depending on whether the issue is occurring on PROD, UAT, or DEV. For the purposes of this blog post, I will assume that we are talking about PROD environments.
2) Is the problem happening now or is it a problem that you experienced in the past?
This is obviously important to know from a severity and business impact perspective. For historical issues, we may need to perform a Root Cause Analysis (where applicable) and that process is different to troubleshooting a live performance issue.
3) What information and data to you have already?
One of the main tools available to both Customers and Partners is LCS. If you are a Customer then you may find that your Partner is able to provide you with useful insights into a performance issue based on their own analysis of the problem using LCS. If you are a Partner, providing LCS data will help the Microsoft Support Engineer to progress the case quicker.
You may also be able to provide either SESSION INFORMATION for an affected user or an AX TRACE that was captured when the problem was occurring. This kind of data can be used to establish the scenario more quickly, and can lead to faster problem resolution.
4) Can you describe what the issue is and can you provide detailed repro steps?
Finally, one of the most important things to establish is of course what the actual problem is and how it might be reproduced. You can speed up time to resolution by clearly documenting what the issue is and providing detailed information about what the affected users are doing (include screenshots!). I realize that it can sometimes be difficult to get a clear picture from the users of what the actual issue is, but even if the only input you can provide is “everything is slow”, it is useful if you can provide a tangible scenario that illustrates such a wide problem definiton,
e.g.
“It takes 30 seconds to open the All Customers form – CustTableListPage – under ‘Accounts receivable > Customers > All customers’ in company USMF”.
You can add other details that may be relevant,
e.g.
Is this always happening or is it intermittent?
Are all users seeing this issue or just some users?
Are you seeing an increase in SQL utilization in LCS when the issues is occurring?
Are you seeing long running queries in LCS when the issues is occurring?
Are you seeing blocking in LCS when the issues is occurring?
Does this issue appear to be related to the location of the user?
Does this issue appear to be related to the browser the user is running?
Does this issue appear to be related to the network the user is on?
DATA COLLECTION
As mentioned above, you can collect SESSION INFORMATION and/or AX TRACES from a system where you are experiencing or you have experienced performance issues.
—————————————————————————————————————
AX TRACING
1. Click on the SETTINGS COG WHEEL in the top right corner then click on Trace
NOTE: As usual, keep tracing as short as possible
—————————————————————————————————————
SESSION INFORMATION
1. Click on the FEEDBACK SMILEY in top right corner
NOTE: Do this immediately before you start to reproduce the issue so the timestamp is accurate
2. Copy and paste the SESSION INFORMATION as TEXT into an E-MAIL
e.g.
SESSION INFORMATION
71abe991-64b1-47b8-aef5-?????????????
2018-01-12T12: ?????????????
demo-1-dafb8907-0bde-4866-b803?????????????
{D73B29C0-C336-4DA3-88?????????????}
IIS:DEMO-1
—————————————————————————————————————
FURTHER READING
Please see this blog post for details on troubleshooting using LCS
https://blogs.msdn.microsoft.com/axsa/2018/06/05/how-to-use-environment-monitoring-view-raw-logs/
Collaborate with Peers and Experts at AXUG Summit Phoenix (now $400 off)
Get away from your desk to connect in-person with peers, friends, and experts in a lively, engaged environment at AXUG Summit Phoenix, October 15-18. AXUG Summit is your place to share product insights, trouble-shoot your toughest challenges, and walk away with lifelong friends and more new knowledge than you thought possible.
Early Bird Pricing Ends June 28
You’re running out of time to save big on your AXUG Summit registration. There’s only 14 days left to SAVE $400 before the price increases after June 28. Don’t miss this discount. Register now.
Hear From Peers in Summit 2017 Video
Learn why Summit attendees keep coming back year after year. This video containing interviews and footage from Summit 2017 showcases the energy and knowledge exchange that happens at Summit. Said one of your peers: “The biggest value of attending Summit for me is the collaboration. I really love the aspect of getting together with people who do the same thing I do - their pains, their struggles, their successes - and try to share some of my experiences to help them.”
(Please visit the site to view this video)
Need Approval to Attend?
Build your business case with the digital kit, Convince Your Boss. This easily customizable kit contains helpful materials such as a projected expense worksheet and letter describing the value of the event. Download now to start.
AXUG Summit is all about peer-to-peer learning and networking and it can’t happen without you! Register now and get Early Bird pricing through June 28:
Register Now
If you're not yet a user group member and plan on attending, bundle your registration with a membership and receive an additional $400 off registration fees, per registrant. Membership pays for itself!
Blog originally posted on www.d365ug.com/news.
Moving to Extensions is Changing Your Mindset
Now, I'm not talking about technology or code but rather DESIGN of customizations. As I've stated before, the extension paradigms in AX7 weren't invented for the sake of new technology, but as an enabler to get to quicker and easier updates and upgrades. What's largely overlooked in discussions is that in many cases this requires not just using extensions in your code, but also to design your customization to allow for easy updates. And as a result, this means that some customizations cannot be ported from over-layering into extensions just like that. But that doesn't mean you can't give the user the easy button she was asking for.
Now that our version 8.0 of the Application is released, the era of NO over-layering is upon us. And to illustrate the points from above, I'd like to share an example of a customization I dealt with at a customer who came from AX2012 with plenty of existing code, and much of it "intrusive" (as in, not-easily-upgradable because it changes existing code). When the platform packages were originally sealed in Platform Update 2, this particular customization posed a problem for this customer. As opposed to being just one customer asking for a specific hook point (delegates, etc.) they need for one customization, we went back to the drawing board to discuss the original requirement and see if we could reimplement it in a "softer" way.
Here's the customization. The customer in question sometimes has large purchase orders and department heads need to approve specific lines that apply to their departments. They typically filter the lines to check what applies to them, and then just want to approve the whole lot with a click of a button as opposed to each line individually. They want to do this straight from the purchase order screen where they're reviewing all the details. In AX2012, a customization was made to the workflow framework (red flag) that adds an option to the approval ribbon. Instead of just cancel/reject/approve, a new option was added: approve all lines. It would then approve all the lines in this P.O. assigned to the user approving. The framework is locked in platform, so this change could not stay and couldn't be done with extensions...
Although perhaps not as nice as the original, the solution was relatively simple. Instead of changing the framework itself, we made a customization on the approval step. When the user approves a line, we can prompt her that there are other lines and ask if she wants to approve all. This has several clear advantages: no more framework change (which may have to be merged/changed on next upgrade), plus we use the superficial public API to approve an item (as opposed to adding logic inside the approvals itself). So when the framework changes its logic or adds new features, our customizations will just use advantage of those automatically.
This goes back to a principle I always like to adhere to in AX customizations as much as possible: don't change the process, but automate existing processes. When a request comes in, I like to ask the simple question: how would you do this manually, regardless of how convoluted that process would be? For example, the customer needs an extra financial transaction to happen somehow somewhere in existing logic. Question: how would you do this manually? It makes them think about the process. Typically they would create some journal somewhere with references to the original transaction. Ok, so can we now just automate creating/posting that journal and make sure it can be tied back? This opposed to creating an individual extra ledger transactions inside the original process, which would be very intrusive, error-prone and would have to be reviewed with each upgrade to make sure we're in line with the original code or changes to the transactions frameworks.
I realize there will be examples where even this doesn't apply. But I challenge you to ask the question whether that means the customization is really a good idea at all, and how it would be impacted if the Application Suite changed some of the details of the implementation. Customers upgrading from previous releases will face these dilemmas for sure, but now is the time to rethink the design, or perhaps even question the existence of the customization entirely.
In other cases, some of these intrusive customizations are done to correct strange or incorrect behavior in the application. Most of us have been there: some XPO sitting on a local share which you can re-use at every customer. And therein lies another mindset change: please file support requests! Don't ask for hookpoints so you can correct wrong behavior, rather ask Microsoft to fix the behavior! I realize and know from experience that the "by design" answer gets very tiring very quickly, but things are changing rapidly and this is one way everyone can improve the product and reduce friction. Your fellow AX users will thank you, and your organizations/customers will thank you on the next upgrade.
AMC-Consult A/S is proud to announce we have expanded across the Atlantic!
Security Authorization and Access Control in D365
An investment in the future: Microsoft MVPs and the need for mentorship
Time to Geek Out - AXUG Summit Phoenix Session Line-up Released
There’s only one week left to save $400 on your AXUG Summit Phoenix registration. Don’t wait to register and miss the lowest price offered - the price increases after Thursday, June 28. Register Now.
Why attend AXUG Summit, October 15 -18?
AXUG Summit is an unbeatable way to get answers to your burning questions that will boost your ability to succeed in your job every day. What you learn at AXUG Summit will fuel your company for years to come.
Content line-up released
At AXUG Summit, “content is king and networking is queen!” With over 650 sessions to choose from across all user groups, you can geek out with your peers and problem solve your toughest challenges. One user shared their thoughts about Summit content and said: "My most valuable experiences at Summit are always the sessions. You get the opportunity to ask questions in a room full of people with varying degrees of experience. The conversations that take place in those rooms save me hours upon hours of work and frustration.”
Check out the AXUG Summit schedule here.
AXUG Summit content is unique. Here’s why.
AXUG Summit is the only place where content is created, chosen, and led by users. There is a Call for Proposals in the spring and anyone in the community can submit session topics. This year there were over 1,100 submissions across all user groups and our user-led volunteer committees chose the most relevant and useful session topics.
AXUG Summit is for users, by users; for all job roles. Come to experience the energy and powerhouse of knowledge-sharing for yourself.
Register now through June 28 to save $400.
If you're not yet a user group member and plan on attending, bundle your registration with a membership and receive an additional $400 off registration fees, per registrant. Membership pays for itself!
Blog originally posted on www.axug.com/news.
Using Microsoft Dynamics 365 Finance and Operations (PU14 and above) and yet to leverage PowerApps?
Why Attend Dynamics Communities Summit AXUG/CRMUG/D365UG
Menu items permission properties in D365
MSDYN365FO: Automate repetitive tasks – the easy way
Here the other day, I got the task of posting a few thousand Retail Kit orders / BOM-Journals because they failed at the first time. I started, and managed to manually post 50 journals before my fingers got cramps and I started to feel dizzy. I could not multiselect the journals and post them, so I had to manually click “post” on each journal.
I surely sent a SR to Microsoft explaining that this should be easier in standard, and that SR is in process. But it will probably end up as a “As-Designed” state, or “post it to ideas.microsoft.com”.
But there is an easier low-tech way to solving this. Just install a Mouse-ghost app, and it will repeat the task for you. So I used the app “Mouse Recorder Premium” to post all the 1300 journals, and it went smoothly. Just record the clicks and then repeat for a 1000 times.
To make sure I did not “lock” my PC while this was performing, I started the task in a Hyper-V VM, and then it can run in the background.
That’s today’s small trick to get rid of repetitive tasks
Microsoft Dynamics Partner Roundup: Gold competencies; Licensing deal; Shipping solution: Workplace award
From the Microsoft Dynamics 365/AX Blogs: Logging performance case; Extensions; Pricing digits; SQL on BI servers
Weird behaviour after moving a form to another package
I recently had to move a form to another package, because we decided to extract some functionality to its own independent package. I moved files, built both packages and everything looked fine, so I started making changes for a new requirement.
But later I noticed something strange in the form. When I opened the form, it didn’t look right. Some new controls (added after the move) were missing and other parts behaved incorrectly (I won’t go into details here). Everything went back to normal when I refreshed the page, but the problem appeared again when I opened the form from menu. Using the refresh button inside the form (beside buttons Open in Microsoft Office and attachments) end up with an error and the application froze.
After making sure that everything is built correctly and restarting everything, I duplicated the form and tried the copy. It worked flawlessly, proving that the form itself was implemented correctly. Therefore, I suspected that the environment somehow used a cached design of the form as it was defined in the old package. Building the packages with and without Build Pre-Compiled Form didn’t make any difference, so I tried one more thing.
I searched the packages directory for the name of my form and I did find something suspicious. There was a file in WebContent subfolder of the original package:
[…]\PackagesLocalDirectory\MyOriginalPackage\WebContent\Forms\myform.json
Just deleting the file didn’t fix the problem, but restarting the server after that did. It would be likely sufficient to restart IIS; I turned the whole machine off because I went home and tried the result the next day.
I wanted to write this down because others might run into the same problem. And it looks like a bug in Microsoft tools, therefore they should look at it and fix it.
Self-Service Analytics: Exploring Your ERP Data for Maximum Insights
In the era of digital transformation, our jobs are overflowing with data like never before. And that’s a good thing! Because more data improves decision making.
But it’s also intimidating, because our systems (and our lives) can become so saturated that the data is difficult to manage.
Many professionals get overwhelmed spending too much time manually building reports or digging up insights while trying to keep up with day-to-day tasks.
It does not have to be that way.
Microsoft Power BI connects hundreds of data sources, including your ERP database, into a single solution that makes it easy to design refreshable reports, ad-hoc analysis and impressive visualizations.
With Power BI, anyone can access the data they need, anytime they need it.
Learn how Power BI enables organizations to access their data and drive efficiency in our recorded webinar »
Integrates with virtually any ERP database
While Power BI is obviously compatible with Microsoft solutions and applications, it also integrates with virtually any database powering non-Microsoft ERP applications like Quickbooks, Netsuite, SAP and more.
Connect ALL your data sources
With your data in one place and always up-to-date, you can start viewing your data on-demand. In addition to connecting your data from critical business systems like ERP, Power BI connects to hundreds of other data sources like Google Analytics, Excel, SharePoint lists, MailChimp and much more.
Design interactive, sharable, all-in-one dashboards with ease
Present data in ways your ERP reporting tools can't. Beyond any chart or graph format, Power BI provides interactive and engaging data visualizations, and even animates your data over timelines, such as month-over-month, and other data ranges.
Visualize your data anywhere, on any glass
With Power BI Mobile, your critical data can be accessed anywhere, anytime, allowing you to always be in the know and to quickly respond to trends that need attention.
Leader in BI for 11 years running
Gartner has rated Microsoft as the leader in self-service analytics for 11 years running and ranks top place for “Completeness of Vision”. Pricing, ease of use and visual appeal, product differentiators and outstanding business benefits are all features that place Power BI ahead of the curve.
There are many reasons to choose Power BI for self-service analytics:
- Natively connects to hundreds of different data sources
- Ease-of-use for non-experts
- Scalable and adaptable with data governance features
- Data for everyone – from the C-Suite to the shop floor
Are you ready to break free from your data silos?
Persuade any decision-maker on the benefits of Power BI with this free guide.
Learn more! Have a discovery conversation with Turnkey Technologies »
By Turnkey Technologies, Inc. - Microsoft Gold Partner based in St. Louis, Missouri.