You've declared a nice scalar variable called @FName. You've then used a table variable called @FName. This confused SQL Server, because it couldn't find a table variable called @Fname. I realise that the error message is misleading. It should be '@fname used as a table variable when defined as a scalar.
Try:
DECLARE @fName VARCHAR(16)
SET @fName = 'customer'
SELECT [customer]= @fName