Ever needed a quick and easy way to determine where a specific function is being used? Or a even a specific object? And not wanting to go through the hassle of setting up the Navision Developer's Toolkit (NDT) or IDYN's Object Manager?
Well, consider to use the findfunc line command tool.
Ages ago it seems, when NAV got multilanguage (ML) enabled and a whole bunch of (line command) tools had been created for that. Ages ago that I had been studying and using these. Time runs fast! Having to deal with some ML-enabling issues on a current project I was reminded of these simple and efficient tools, so I searched for them to find them still there in the NAV 2009 Upgrade Toolkit! While playing about with the findfunc tool I had to think of the various forum post where the question was raised how to determine where a specific field in NAV was referred, i.e. how to get "where used" information on the field.
On the command line findfunc should be called with three parameters, i.e.
findfunc text source target
The next table explains the meaning of each parameter:
function or text string in the code that you want to search for; note: findfunc is case sensitive!
source file to be searched in; typically this will be a file containing all (relevant) NAV objects in text format
target file, i.e. the result of the search, containing a list of code strings where text appears, including the object where it occurs
To show the power of findfunc I took an example 'where used' situation, being:
searched for all occurrences of the NAV system function CALCDATE
So findfunc was roughly 5 times faster and not a lot needed to get the tool up and running.
For those that have access to Partner Source you will be able to down load the Upgrade Toolkit from there. For those who haven't could take the Dynamics NAV W1 5.0 Upgrade Toolkit from mibuso. I did not check the binaries, but I assume these tools haven't changed since they were first release by Navision a/s in 2001. So the version is probably not important.
The example test was run on a DELL Latitude E6500/Windows7/4GB RAM/2.80 GHz dual CPU.
True, but I am using it on a XP mode virtual pc, which is helping me out so that I can still run it :-)
The problem is with findfunc:
The version of this file is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.