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,
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.
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.
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.
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.
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,240 Super User 2024 Season 2
Martin Dráb 230,149 Most Valuable Professional
nmaenpaa 101,156