I think the quotes are not present in your final query ie you execute :
Select * From Document Where LName = abcd
Instead of :
Select * From Document Where LName = 'abcd'
In the first case, abcd is considered to be a column of the Document table, whereas you want to compare to the static string 'abcd'. Unfortunately I don't know what character to use in order to say that ' is in the string.
@LName varchar (25) = '\'abcd\''
(all simple quotes, no double quote). Or
@LName varchar (25) = '''abcd'''
(three simple quotes).
Please let me know if one or both work. I know much more about Oracle than SQL Server, but I'm interested in how the latter works.