Skip to main content

Notifications

Small and medium business | Business Central, N...
Suggested answer

NAV 2018 Code Change Listing

Posted on by 5

I have a client running NAVision, that needs to show a "system generated listing of changes to code" made through through the Development Module inside NAV. Not data mods (Change Log has that covered), but customized tables, fields, calculations, etc.
- Does such a report exist?
- If not, what is the best way to address/provide this?

Thanks in advance,

  • Suggested answer
    RE: NAV 2018 Code Change Listing

    I see.

    NAV won't keep track of those changes for you. It only knows about the current executing object - not any former version of it, who changed it, when and why. So you won't find such report, simply because the data to create it does not exist.

    The only solution i see to meet your registration requirement is to setup a SCM (source control management system) like DevOps or Jira etc. And then prevent everyone from deploying code without following strict guidelines in these systems.

    Code deployment should be automated or semiautomated using build pipelines - both for test and development systems. Then you know for sure that no code will go into test or production without passing through the SCM, and the SCM will keep track of what was changed, by whom and when. And - provided they provide good commit messages - also why it was changed...

    Hopefully this can point you into the right direction, but be aware that putting a SCM system into place with strict rules and build pipelines can be a complete project on its own... And it won't tell who change stuff in the past, it will only be able to tell who changed what going forward.

  • Don Mapes Profile Picture
    Don Mapes 5 on at
    RE: NAV 2018 Code Change Listing

    Hi Gert, 

    The request I am asked to provide is a system generated report that shows each time someone has made a change (and all affected items) over a given time period (our fiscal year).  I am beginning to lose hope that such a report exists in Dynamics.  The process you describe, that should certainly show me what has changed, but appears geared to show en masse.

    • - will it show who changed it and when changed (see next item; it would if changed only once)
    • - if an object was changed multiple times during the time period examined, will this show each change/ who and when? 

    The purpose of the exercise is to tie out the changes to authorized tickets: the reason it has to start with production is that hackers don't turn in tickets, and neither do people who make mistakes (particularly if they don't realize they just pushed a change to prod and not dev).

    I suppose if what you describe was done each time a change was made, it would show exactly what changed, and starting with comparing code from the last authorized change to the current version before the new change would prove no changes occurred in between?  If so, this may be what we are forced to do.

    • First Change: Base Code  >>>  make change >>> Code V1
    • Second Change:  Compare current code to Code V1, If match, Make change, compare Code V2 to Code V1 to show what changed.
    • Unauthorized change made
    • Third Change:  Compare current code to Code V2, won't match because of unauthorized change, research and find out who promoted change without approval and correct, etc..

  • Suggested answer
    RE: NAV 2018 Code Change Listing

    In short:

    Do a complete code compare.

    You can do this from powershell using the NAV tools, or you could use a (free) 3rd party compare tool like KDiff3 (https://kdiff3.en.softonic.com/ / https://invent.kde.org/sdk/kdiff3)

    Longer explanation:

    You'll need to identify the SOURCE version of the source code - i.e. the base objects without modifications. You'll need the exact version/CU/build of them.

    Then you do a complete export of the MODIFIED version - i.e. the version you are currently running.

    You should split them with one object per file.

    The merge tool will then identify all changed files and the exact changes within the file.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Community AMA December 12th

Join us as we continue to demystify the Dynamics 365 Contact Center

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,240 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,149 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans