<img src="https://secure.leadforensics.com/133892.png" alt="" style="display:none;">

Learn how you can easily use Dynamics 365 business logic to manage modifications. 

Let's put aside for a moment the whole debate around whether making a modification makes more or less sense than amending the business processes. I’d like to focus on how to conduct those modifications properly.

Here are a few things I’d keep in mind while contemplating a modification:

  • What are your goals for introducing a new logic into the system?
  • What are your goals for changing the existing one?
  • What user roles will be affected by this change, directly and indirectly? 
  • What is the total reduction of cost of activities performed by those users because of the modification (if any), plus the total economic benefit of the implementation (if any) – versus the total cost of implementing the change and supporting it throughout the life of the system?

Once those questions have been answered, the next step is functional designing. It's important to remember that:

  • Dynamics 365 has a high degree of using the same business logic for different purposes. The functional designer must make it clear whether the change needs to work for certain processes only (sales or purchasing in our case) – or all of them. It may be that while the new logic is applicable to all business processes, it has nuances for every one of them (for example, quantity in purchasing usually has positive sign, while sales is a negative one) – this needs to be described too.
  • Some processes have a “twin” that works in reverse. Sales order shipping is usually paired with return. The modification must have provisions for that reverse process too – or there needs to be a note indicating that the logic only works for one of the two processes.
  • Users don’t always enter the information exactly as intended by the designer. It's necessary to have validation of user input, in order to avoid sending the system into an unknown state. Clear info messages explaining to the user what exactly was entered incorrectly are also helpful.
  • In general, it's a good practice to include in the logic provisions for all possible scenarios, no matter how likely or unlikely they are – or at least make a note in the document about why certain scenarios were excluded.
  • The logic may require additional security elements, which need to be described for the technical designer, who will in turn have to think about security privileges, duties and roles needed.

The technical design phase starts with determining where to place the modification in the application. Because any change now must be re-validated upon every new release done by Microsoft as well as independent software vendors (ISVs) involved, it's strongly advised to architecture the modification as a stand-alone, not touching any existing objects.

If that's not possible, then every effort must be made to use the existing logic (X++ class/table/form methods and external code libraries) as building blocks. New ones should only be created in the absence of any good snippet of code suitable for the purposes of the modification. System performance should also be considered at this point.

An important part of design process – which is sadly often omitted – is preparation of test scripts. They must include both the “happy path” and any scenarios that could take place in the event of things going not exactly as planned. Each test script must include:

  • Prerequisites: what data needs to be set up in order to conduct the test
  • What security privileges, duties and/or roles must the user have in order to perform testing
  • Steps that should be taken in accordance with the functional specification and each scenario
  • Expected result at each step and at the end of the process

Regression tests and stress tests should be included, especially for changes of fairly large scale.

I hope this blog will help your change implementation process be smooth and stress-free. 

Unlock your company's potential with D365 design modifications

Discuss this post

Recommended posts

Wouldn't it be great if a single solution could manage all your manufacturing processes—from design, to production management, to logistics?
You’re undoubtedly aware of the constant stream of new features and release updates from Microsoft for your Dynamics GP solution. And you’ve probably seen a fair share as well on presentations, articles and social media conversations about the need to upgrade. But how does that affect you?
Is upgrading to Dynamics 365 a priority element of your digital strategy, but you're unsure if now is the right time to do it? Moving to any new technology can be an intimidating decision for an organization because it includes additional costs, infrastructure, working hours and other resources. These common roadblocks do not necessarily apply to the transition to cloud ERP.
It’s no secret that ransomware attacks are increasing. In fact, a business is hit with ransomware every 40 seconds. If ransomware does get a hold of your data, you can pay a large amount of money hoping that you will get your data back. The alternative is to not pay anything and begin your recovery process. Whether you pay the ransom or not, your enterprise loses time and resources dealing with the aftermath.
Manufacturing companies face complex challenges when managing their supply chain processes. Dynamics GP can address most of your industry- and process-specific needs. Have you been able to thoroughly leverage Dynamics GP Manufacturing modules? If you are new to GP or feel like you should be getting more from it, these GPUG classes are for you.
right-arrow share search phone phone-filled menu filter envelope envelope-filled close checkmark caret-down arrow-up arrow-right arrow-left arrow-down