The ampersand is a metacharacter. When placed at the end of a line, it tells the shell to run the command in the background, ie: do not wait for the command to complete before continuing.
The line:
mean to pipe the output of the ftp command to the command &, but & is not a command. That's why you're getting command not found error when you escape the &.
Try:
if you want to run the ftp in the background or simply leave out the ampersand and wait for the ftp to complete before continuing on to the next line of code.
NOTE: The shell uses all uppercase for it's var names. To prevent confusion, you should try a different naming convention for you script var such as what you've defined for your ftp vars.