"Where Used" as simple as you can get it

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.

Multilanguage Tools - findfunc

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.

findfunc - syntax

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:

Parameter

Meaning

text

function or text string in the code that you want to search for; note: findfunc is case sensitive!

source

source file to be searched in; typically this will be a file containing all (relevant) NAV objects in text format

target

target file, i.e. the result of the search, containing a list of code strings where text appears, including the object where it occurs

Example - CALCDATE

To show the power of findfunc I took an example 'where used' situation, being:

  • an object.txt file of approx. 280 MB big
  • searched for all occurrences of the NAV system function CALCDATE

Results

  • findfunc: 38 seconds
  • NDT: 3m03s

So findfunc was roughly 5 times faster and not a lot needed to get the tool up and running.

Notes

Where to get the ML tools

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.

Machine Set-up

The example test was run on a DELL Latitude E6500/Windows7/4GB RAM/2.80 GHz dual CPU.

Anonymous
  • 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:

    [Content]

    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.

    :-(

Related
Recommended