We use an image command to start a batch file:
Image (toolbar) "test.bmp" start="disp.bat [ID_SAP]=&F[FunctLocation]"
But only the string [ID_SAP] is passed to the .bat file.
Why are the "=" sign and the functional location missing?

This is a problem of the DOS command interpreter. When you issue the MS DOS command

disp.bat xxx=yyyy

where the file "disp.bat" contains the 2 lines

Echo %1


it displays xxx, and not xxx=yyy as one would expect. You have to use

disp.bat "xxx=yyyy"

and this works as expected: xxx=yyy. So, for your application please use "" within the string:

Image (toolbar) "test.bmp" start="disp.bat ""[ID_SAP]=&F[FunctLocation]"""